coverlet: InstrumentationHelper.HasPdb always returns false for deterministic source paths
When /p:DeterministicSourcePaths=true is set, InstrumentationHelper.HasPdb looks for PDB files in the wrong location. These files are never found, so instrumentation is not performed.
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 1
- Comments: 43 (17 by maintainers)
Commits related to this issue
- Fixed $(SolutionDir) and removed PathMap since it doesn't work. See https://github.com/tonerdo/coverlet/issues/363#issuecomment-557861534 — committed to CK-Build/CKli by olivier-spinelli 4 years ago
- Disable CI build for tests as coverlet doesn't work https://github.com/tonerdo/coverlet/issues/363 — committed to reactiveui/refit by clairernovotny 4 years ago
- Disable ContinusousIntegrationBuild for tests See https://github.com/tonerdo/coverlet/issues/363 — committed to dotnet/reactive by clairernovotny 4 years ago
- Build again without deterministic paths due to https://github.com/tonerdo/coverlet/issues/363 — committed to dotnet/reactive by clairernovotny 4 years ago
- Working around https://github.com/tonerdo/coverlet/issues/363 — committed to blowdart/idunno.Authentication by blowdart 4 years ago
FWIW, I think it could be okay to keep drivers at the same version long as what’s in each is documented somewhere. If they all tend to rely on an underlying core library, then that could be what drives the main version. Totally up to you though of course.
Plan
Proposal:
In both cases, build tools that need to read this data can open the PathMap file and do the translation needed.
Thoughts?
@MarcoRossignoli Here’s a repro case:
.\Build.cmd -rebuild /p:DeterministicSourcePaths=true.\Test.cmd /p:Coverage=TrueExpected results:
Coverage files in artifacts\coverage have coverage information.
Actual results:
Coverage files are empty.
Part of this fixed in https://github.com/tonerdo/coverlet/pull/367/files