Advanced code coverage analysis
Johan Engelen
j at j.nl
Tue Dec 5 12:39:53 UTC 2017
On Monday, 4 December 2017 at 20:33:56 UTC, thinwybk wrote:
> Hi everyone,
>
> as far as I know there is a statement coverage analyzer built
> into DMD https://dlang.org/code_coverage.html . Are there code
> coverage analyzers for D which support branch coverage and
> other more advanced coverage metrics
> https://en.wikipedia.org/wiki/Code_coverage ?
LDC's PGO output can be used for that. See [1]. Except that LDC
does not yet output full source mappings for the counters
(`-fcoverage-mapping`).
Because the DMD frontend rewrites code besides semantic analysis,
it is problematic to create correct source mappings, and I have
thusfar refrained from implementing that.
(For folks interested in contributing to LDC: it'd be a nice
project to work on, with nice incremental steps. It's quite
possible that there is already enough info in the IR for IR-based
(instead of current PGO instrumentation) instrumentation/mapping
to work well)
-Johan
[1] https://clang.llvm.org/docs/SourceBasedCodeCoverage.html
More information about the Digitalmars-d
mailing list