diff --git a/src/Models/Result/CodacyReport.cs b/src/Models/Result/CodacyReport.cs index 9abcb5e..2521602 100644 --- a/src/Models/Result/CodacyReport.cs +++ b/src/Models/Result/CodacyReport.cs @@ -25,7 +25,7 @@ public CodacyReport(IEnumerable fileReports) .Aggregate((Covered: 0, Total: 0), (t, n) => t = (Covered: t.Covered + n.Covered, Total: t.Total + n.Total)); - Total = Convert.ToInt32(Math.Round((double) totalTuple.Covered / totalTuple.Total * 100)); + Total = Convert.ToInt32((totalTuple.Total == 0) ? 0.0 : Math.Round((double) totalTuple.Covered / totalTuple.Total * 100)); FileReports = fileReports; } diff --git a/src/Parsing/Processors/DotCoverProcessor.cs b/src/Parsing/Processors/DotCoverProcessor.cs index 5dfb5c2..4b028f7 100644 --- a/src/Parsing/Processors/DotCoverProcessor.cs +++ b/src/Parsing/Processors/DotCoverProcessor.cs @@ -26,6 +26,10 @@ public Report Parse(string file) modules.Elements("File")) }; + if (report.FilesList.Count == 0) { + Console.WriteLine ("Warning: Got a report without File elements. Consider report dotCover with --ReportType=DetailedXML"); + } + foreach (var module in namespaces) { var classes = module.Elements("Type"); diff --git a/test/CSharpCoverage.Tests/packages.lock.json b/test/CSharpCoverage.Tests/packages.lock.json index 6a7ee1a..632c5de 100644 --- a/test/CSharpCoverage.Tests/packages.lock.json +++ b/test/CSharpCoverage.Tests/packages.lock.json @@ -875,7 +875,7 @@ "xunit.extensibility.core": "[2.4.1]" } }, - "codacy.csharpcoverage": { + "Codacy.CSharpCoverage": { "type": "Project", "dependencies": { "CommandLineParser": "2.5.0",