grcov collects and aggregates code coverage information for multiple source files.
- Download grcov from https://github.com/marco-c/grcov/releases.
- Run grcov:
Usage: grcov DIRECTORY[...] [-t OUTPUT_TYPE] [-s SOURCE_ROOT] [--token COVERALLS_REPO_TOKEN]
You can specify one or more directories, separated by a space.
OUTPUT_TYPE can be one of:
- (DEFAULT) ade for the ActiveData-ETL specific format;
- lcov for the lcov INFO format;
- coveralls for the Coveralls specific format.
SOURCE_ROOT is the root directory of the source files, required for the 'coveralls' format.
REPO_TOKEN is the repository token from Coveralls, required for the 'coveralls' format.
Let's see a few examples, assuming the source directory is ~/Documenti/mozilla-central and the build directory is ~/Documenti/mozilla-central/build.
grcov ~/Documenti/mozilla-central/build -t lcov > lcov.infoAs the LCOV output is compatible with lcov, genhtml can be used to generate a HTML summary of the code coverage:
genhtml -o report/ --show-details --highlight --ignore-errors source --legend lcov.infogrcov ~/Documenti/FD/mozilla-central/build -t coveralls -s ~/Documenti/FD/mozilla-central --token YOUR_COVERALLS_TOKEN > coveralls.jsoncargo build
# By default, the binary is generated in ./target/debug/grcov
To test the binary:
cargo test
- GCC 4.9 or higher is required.