cargo-llvm-cov vs gcovr
cargo-llvm-cov
github.comgcovr
gcovr.comSide by side
| Figure | cargo-llvm-cov | gcovr |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · Test Coverage Tools | 8.1 (#8) | 7.6 (#13) |
| Coverage types | It generates line and region coverage, while branch coverage is optional and currently requires nightly Rust. | Its branch coverage reports are based on GCC's -fprofile-arcs control-flow graph data. |
| Installation | It can be installed from source with Cargo, as a prebuilt release binary, through GitHub Actions, Homebrew, Scoop, cargo-binstall, pacman, or FreeBSD ports. | gcovr is distributed as a Python package installable with pip, with development versions installable from GitHub. |
| License | The project is available under either the Apache License 2.0 or the MIT License, at the user's option. | gcovr is available under the BSD 3-Clause License. |
| Purpose | cargo-llvm-cov is a Cargo subcommand that wraps rustc’s LLVM source-based code coverage instrumentation. | gcovr manages GNU gcov and generates summarized code coverage results. |
| Report formats | Coverage reports can be generated as text, HTML, JSON, LCOV, Cobertura XML, or Codecov Custom Coverage format. | It generates text, HTML, CSV, JSON, Markdown, Clover, Cobertura, Coveralls, JaCoCo, LCOV and SonarQube reports. |
Plans
In their own words
cargo-llvm-cov
cargo-llvm-cov is a Cargo subcommand that uses rustc’s LLVM source-based instrumentation to generate code coverage reports. It works with cargo test, cargo run, and cargo nextest through a Cargo-compatible command-line interface, and supports proc-macro UI tests. Line and region coverage are available; branch coverage is optional and requires nightly Rust. Doc-test coverage is also optional and requires nightly features. Reports can be generated as text, HTML, JSON, LCOV, Cobertura XML, or Codecov Custom Coverage format. The project provides GitHub Actions examples for uploading reports to Codecov and a GitLab CI example using Cobertura output. LCOV results can be viewed in VS Code with the Coverage Gutters extension. With compatible Clang and LLVM tools configured, the tool can include C and C++ code linked to a Rust library or binary. It supports Linux, macOS, and Windows, and is licensed under either Apache-2.0 or MIT at the user's choice. Installation requires rustc 1.87 or newer, while running it requires Cargo 1.60 or newer. Branch and doc-test coverage are unstable and have known issues, respectively.