diff --git a/src/coverlet.core/Coverage.cs b/src/coverlet.core/Coverage.cs index fef3bd60e..2869c67a6 100644 --- a/src/coverlet.core/Coverage.cs +++ b/src/coverlet.core/Coverage.cs @@ -93,6 +93,7 @@ private void CalculateCoverage() { foreach (var result in _results) { + if (!File.Exists(result.HitsFilePath)) { continue; } var lines = File.ReadAllLines(result.HitsFilePath); for (int i = 0; i < lines.Length; i++) { diff --git a/src/coverlet.core/CoverageSummary.cs b/src/coverlet.core/CoverageSummary.cs index f6e73ce27..9d427cbfc 100644 --- a/src/coverlet.core/CoverageSummary.cs +++ b/src/coverlet.core/CoverageSummary.cs @@ -12,6 +12,8 @@ public CoverageSummary(CoverageResult result) public CoverageSummaryResult CalculateSummary() { CoverageSummaryResult result = new CoverageSummaryResult(); + int totalModuleLines = 0, moduleLinesCovered = 0; + foreach (var mod in _result.Modules) { int totalLines = 0, linesCovered = 0; @@ -30,10 +32,11 @@ public CoverageSummaryResult CalculateSummary() } } } - + totalModuleLines += totalLines; + moduleLinesCovered += linesCovered; result.Add(System.IO.Path.GetFileNameWithoutExtension(mod.Key), (linesCovered * 100) / totalLines); } - + result.Add("Covered", (moduleLinesCovered * 100) / totalModuleLines); return result; } }