Skip to content

Display code coverage

doe300 requested to merge doe300/jucipp:code_coverage into master

Something I whipped up the last few days, feel free to comment and critique :)

Currently, C/C++ coverage via gcov and Rust coverage via tarpaulin is supported, but additional coverage provider should be easy to add. The side-bar/gutter provides general fully covered/partially covered/not covered information while more detailed (e.g. branch coverage) information is contained in the gutter tooltip.

Limitations of the current implementation:

  • Requires a compile_commands.json file to determine the object file path.
  • Only works with C/C++ source files, not with headers (unless they have an object-file entry in the compile_commands.json)
  • If a C/C++ source file is part of multiple targets, only the first entry in compile_commands.json is used.

Support for header files/files included in multiple targets could be achieved by parsing and merging the results for all related object-files.

Here is an example on how it looks: coverage_example

And for a simple Rust example: coverage_example_rust

Edited by doe300

Merge request reports