danielpalme / ReportGenerator

ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into human readable reports in various formats.
https://reportgenerator.io
Apache License 2.0
2.63k stars 283 forks source link

5.1.8 breaks generation of report when including historic reports #522

Closed jon-armen closed 2 years ago

jon-armen commented 2 years ago

Describe the bug As of 5.1.7, this was working correctly. 5.1.8 breaks.

Tool 'dotnet-reportgenerator-globaltool' (version '5.1.8') was successfully installed. Entry is added to the manifest file /home/vsts/work/1/s/.config/dotnet-tools.json. 2022-05-18T15:22:48: Arguments 2022-05-18T15:22:48: -reports:/home/vsts/work/1/s/coverage/repo/Chrome */lcov.info 2022-05-18T15:22:48: -targetdir:/home/vsts/work/1/s/coverage-report 2022-05-18T15:22:48: -historydir:/home/vsts/work/1/s/coverage-report-history 2022-05-18T15:22:48: -reporttypes:HtmlInlineAzurePipelines;Cobertura;Badges 2022-05-18T15:22:48: -tag:20220518.8 2022-05-18T15:22:48: Reading historic reports 2022-05-18T15:22:48: An item with the same key has already been added. Key: Default+form-input-component.ts 2022-05-18T15:22:48: at System.Collections.Generic.Dictionary2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at System.Collections.Generic.Dictionary2.Add(TKey key, TValue value) at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable1 source, Func2 keySelector, Func2 elementSelector, IEqualityComparer1 comparer) at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable1 source, Func2 keySelector, Func2 elementSelector) at Palmmedia.ReportGenerator.Core.Reporting.History.HistoryParser.ApplyHistoricCoverage(IEnumerable1 assemblies, List`1 overallHistoricCoverages) in //src/ReportGenerator.Core/Reporting/History/HistoryParser.cs:line 89 at Palmmedia.ReportGenerator.Core.Generator.GenerateReport(IReportConfiguration reportConfiguration, Settings settings, RiskHotspotsAnalysisThresholds riskHotspotsAnalysisThresholds, ParserResult parserResult) in //src/ReportGenerator.Core/Generator.cs:line 242 at Palmmedia.ReportGenerator.Core.Generator.GenerateReport(IReportConfiguration reportConfiguration, Settings settings, RiskHotspotsAnalysisThresholds riskHotspotsAnalysisThresholds) in //src/ReportGenerator.Core/Generator.cs:line 139

danielpalme commented 2 years ago

Thanks for reporting this problem. Version 5.1.9 will fix this (will be available in a few minutes).