In order for the unit tests to be effective, they must cover as much of the codebase as possible. For this reason, Passgen includes some tooling that can be used to compute how much of the codebase is executed by the unit tests. This data is important for writing comprehensive tests.
In order to quickly compute coverage, the root makefile in the repository has
coverage target that creates a temporary build folder with coverage reporting
enabled and runs the unit tests.
The output of this command will tell you where the generated coverage report is located.
Enabling test coverage requires either the GCC or Clang compilers and having
the LLVM coverage tools installed (
Enabling it is done by setting
CODE_COVERAGE to a true value.
This enables the
ccov-passgen-test target, which runs tests and generates a
test coverage report.
cmake -DCODE_COVERAGE=YES .. make ccov-passgen-test
The resulting coverage is placed in
ccov/passgen-test/index.html in the build