Code Metric Macros¶
blt_add_code_coverage_target( NAME <Created Target Name> RUNNER <The command to run the tests> SOURCE_DIRECTORIES [dir1 [dir2 ...]] )
Creates a new build target for generating a code coverage report.
- Name of created build target
- The command used to run the tests, e.g.,
- The directories containing the source code whose test coverage is to be evaluated
Code coverage is the degree to which the tests for a piece of software “cover” functions
and/or individual lines of code. It can be used to identify gaps in testing, namely, code
that is not tested. GCC’s
gcov tool is used to generate the coverage data, and its accompanying
lcov tool is used to generate an HTML report containing coverage percentage information and
highlighted source code that indicates which code was or was not executed as part of the test suite.
Coverage analysis is only supported by GNU/Clang compilers.
This functionality requires that BLT’s
ENABLE_COVERAGE option is enabled and that
genhtml are present on your system. To use a specific version of one of these tools, you can set
GENHTML_EXECUTABLE to point at the desired version(s).
ENABLE_COVERAGE option will add compiler flags that instrument your code (and slow it down).
The option should never be enabled by default in a project for performance reasons.