A few modules show up twice when running dotCover from the command line

Answered

I integrated dotCover into our CI build. I did so using the command line runner with an xml file as input. The results show two assemblies twice. Each duplication shows different results e.g.

  • Common 6%
  • HardwareManager 9%
  • HardwareManager 73%
  • Common 81%

When running coverage within Visual Studio the results are the same for all components. The only problem is that the two duplicates with a low coverage shouldn't be there.

I checked if the run includes duplicate dll's but it doesn't. Each dll specified as argument to vstest.console.exe is unique.

I also filter out certain assemblies because their code coverage target is 0%. It might have something to do with the filters but I can't see what it could be. I pasted the filter definition below just in case.

I cannot think of any other reason why these results are displayed differently so I hope someone here can help.

<ExcludeFilters>
<FilterEntry>
<ClassMask>Chart.*</ClassMask>
</FilterEntry>
<FilterEntry>
<ClassMask>DataStorage.*</ClassMask>
</FilterEntry>
<FilterEntry>
<ClassMask>DataModel.*</ClassMask>
</FilterEntry>
<FilterEntry>
<ClassMask>Common.UI.*</ClassMask>
</FilterEntry>
<FilterEntry>
<ModuleMask>MahApps.Metro</ModuleMask>
</FilterEntry>
<FilterEntry>
<ModuleMask>FluentCommandLineParser</ModuleMask>
</FilterEntry>
<FilterEntry>
<ModuleMask>*.Test</ModuleMask>
</FilterEntry>
<FilterEntry>
<ModuleMask>TestHelpers</ModuleMask>
</FilterEntry>
<FilterEntry>
<ModuleMask>OcrHelper</ModuleMask>
</FilterEntry>
</ExcludeFilters>

0
8 comments
Avatar
Alexander Mikhailov

Hello Avanputten,

could you please send us:

1) Full XML configuration file

2) Coverage snapshot which shows above problem?

0
Avatar
Permanently deleted user

Hi Alexander,

Sure, where can I send it?

0
Avatar
Alexander Mikhailov

Send it to support ticket I just created.

0
Avatar
Permanently deleted user

Hi Alexander, the files are added. Thanks for the help!

0
Avatar
Alexander Mikhailov

Hello Avanputten,

I can see that mentioned duplicate assemblies have different versions.They are also loaded from different locations and have different MVIDs. So from our point of view - they are different assemblies.

0
Avatar
Permanently deleted user

Thanks for the quick answer! Where can I find the information on the versions for the assemblies? It would help me figure out why my build gets into this situation.

0
Avatar
Alexander Mikhailov

Unfortunately this information is only available in our internal tools. I've created an issue to address this:

https://youtrack.jetbrains.com/issue/DCVR-8820

 

For now I can tell you the source of evil in your case: all assembly duplicates with smaller version (so I assume this is not intended) are loaded from ...Reporter.Test... path

 

0
Avatar
Permanently deleted user

Thanks, this is really valuable information :)

0

Please sign in to leave a comment.