Where does the integrated dotCover expect to find source code?

I have two separate TeamCity build configurations: one that builds a number of assemblies and a second dependent build configuration for testing one of those assemblies in NUnit (picked up as an atrifact of the first).

I've turned on dotCover for the NUnit build configuration and it's showing the coverage okay, but when I drill down to a class I get "Source code is not available".

Where do I need to check out the source to in order for dotCover to find it? I've tried various options, but none of them seem to work.

Thanks,
Matthew

3 comments
Comment actions Permalink

Hi Mattew

Thank you for feedback, we created a request in our tracker at TW-18231. You can vote for it and subscribe to updates.
PDB-files contain absolute path to sources, and these paths differ in build and test configurations.
As Eugene suggested in issue comments, as workaround you can add a configuration parameter that re-maps these paths.

Michael

0
Comment actions Permalink

Hi Michael,

Thank you for your reply. Unfortunately I have not been able to get the workaround mentioned in TW-18231 working, despite trying several variations of it.

If I add
name: dotNetCoverage.dotCover.source.mapping
value: %dep.bt102.teamcity.build.checkoutDir%=>%teamcity.build.checkoutDir%
[where 102 is the build type id of configuration A]

then TeamCity asks me to fill in the values for dep.bt102.teamcity.build.checkoutDir as a new configuration parameter. Setting this explicitly with a value of %teamcity.build.checkoutDir% allows me to build, but it still can't find the sources.

Is there some way for me to see the full path that dotCover is looking in for the sources? I think it would then be straightforward for me to introduce a mapping that works.

Many thanks,
Matthew

0
Comment actions Permalink

Matthew,

You're right, the workaround we suggested does not work correctly. We've created a separate issue TW-18715 for that.

Please look at alternate solution in a parallel forum thread.

We understand, the solution is not ideal, and it could work out of the box, so we're going to fix both the issues in future releases.

Thanks
Michael

-1

Please sign in to leave a comment.