Skip to content

dotnet-coverage merge drops hit counts, sets them all to 1 #16

Open

Description

Description

The merge command produces coverage data with hits="1" hard-coded for all covered lines.

Steps to reproduce

I have multiple cobertura coverage reports that I want to use dotnet-coverage merge to merge into one.

Consider these coverage files:
TestResults.zip

dotnet-coverage merge TestResults\*xml -r -o merged.cobertura.xml -f cobertura

Expected behavior

I expect the merged report to reflect the hit counts for each line.
In particular, the merged product should report that the {reporoot}\test\Library.Tests\Calculator.cs file's line 17 was hit 3 times.

I get the expected result when merging with the dotnet-reportgenerator-globaltool dotnet CLI tool.

Actual behavior

Every line reported in the merged .xml file reports hits="1".

merged outputs.zip contains outputs from both tools so you can compare.

Activity

  1. jakubch1 commented on Sep 14, 2022

    @jakubch1
    Member

    Andrew Arnott (@AArnott) our tooling supports only hits=1 or hits=0 for both collecting and merging. It is due to performance reasons.

  2. AArnott commented on Sep 15, 2022

    @AArnott
    MemberAuthor

    Well, if this is by design, feel free to close. It seems odd that perf reasons come into play during a merge operation. And I'm surprised that tracking a bool is really that much faster than tracking and adding int, which ought to be roughly just as fast.

  3. jakubch1 commented on Sep 15, 2022

    @jakubch1
    Member

    We are considering adding possibility to collect number of hits. So let's keep this open and see if more people wants that. You are right that in case of merging this will not make it slower.

  4. MattKotsenas commented on Sep 23, 2022

    @MattKotsenas
    Member

    +1 to wanting counts. We use this today to help find "hotspots" where we have duplicate tests (or duplicative test setup) that we can should clean up.

  5. nbalu2 commented on Mar 2, 2023

    @nbalu2

    +1 just run into the same issue 🙄

  6. tonyhallett commented on Mar 21, 2024

    @tonyhallett

    This behaviour is also present when exporting from the Code Coverage Results window

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions