From e44e65b0c436a682a91b523ee3784400c652ef87 Mon Sep 17 00:00:00 2001 From: Bert Date: Tue, 6 Aug 2024 08:58:35 +0200 Subject: [PATCH] proposed fix of issue #1679 --- src/coverlet.core/Coverage.cs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/coverlet.core/Coverage.cs b/src/coverlet.core/Coverage.cs index 07c0297f..e3957cb7 100644 --- a/src/coverlet.core/Coverage.cs +++ b/src/coverlet.core/Coverage.cs @@ -108,7 +108,7 @@ public CoveragePrepareResult PrepareModules() _parameters.IncludeFilters = _parameters.IncludeFilters?.Where(f => _instrumentationHelper.IsValidFilterExpression(f)).ToArray(); IReadOnlyList validModules = _instrumentationHelper.SelectModules(modules, _parameters.IncludeFilters, _parameters.ExcludeFilters).ToList(); - foreach (var excludedModule in modules.Except(validModules)) + foreach (string excludedModule in modules.Except(validModules)) { _logger.LogVerbose($"Excluded module: '{excludedModule}'"); } @@ -365,16 +365,6 @@ private void CalculateCoverage() { foreach (InstrumenterResult result in _results) { - if (!_fileSystem.Exists(result.HitsFilePath)) - { - // Hits file could be missed mainly for two reason - // 1) Issue during module Unload() - // 2) Instrumented module is never loaded or used so we don't have any hit to register and - // module tracker is never used - _logger.LogVerbose($"Hits file:'{result.HitsFilePath}' not found for module: '{result.Module}'"); - continue; - } - var documents = result.Documents.Values.ToList(); if (_parameters.UseSourceLink && result.SourceLink != null) { @@ -386,6 +376,16 @@ private void CalculateCoverage() } } + if (!_fileSystem.Exists(result.HitsFilePath)) + { + // Hits file could be missed mainly for two reason + // 1) Issue during module Unload() + // 2) Instrumented module is never loaded or used so we don't have any hit to register and + // module tracker is never used + _logger.LogVerbose($"Hits file:'{result.HitsFilePath}' not found for module: '{result.Module}'"); + continue; + } + // Calculate lines to skip for every hits start/end candidate // Nested ranges win on outermost one foreach (HitCandidate hitCandidate in result.HitCandidates)