cargo-cov: Source coverage for Rust
cargo-cov is a cargo subcommand which performs source coverage collection and reporting for Rust crates.
utilizes LLVM's gcov-compatible profile generation pass, and supports a lot of platforms.
- ✓ FreeBSD, Linux, macOS, Windows (MSVC only)
- ✓ x86_64, x86
Usage: for Local Testing on nightly Rust
You may install
cargo install cargo-cov
The typical workflow is like this:
# clean up previous coverage result cargo cov clean # test the code cargo cov test # open the coverage report cargo cov report --open
Usage: for Testing on stable Rust (1.19+)
We strongly recommend you use nightly Rust since only the nightly toolchain has built-in instrumented profiling support
If you must use a stable toolchain, you may try the following:
Install the compiler-rt profile library.
Target Instruction Ubuntu, Debian Install
libclang-common-7-dev, or simply install
Windows (MSVC) Install Clang for Windows Pre-Built Binary from LLVM macOS, iOS Provided by the Xcode command line tools Android Provided by Android NDK
Execute the doc-test separately from the normal tests. Run the doc-test before the normal tests.
# Run --doc tests before other things before 1.19 cargo cov test --doc cargo cov test --lib
We do not guarantee that a correct coverage profile will be generated using this method.