Currently, this repository uses tarpaulin to calculate code coverage. The default engine is used (Ptrace).
Some alternative approaches are available:
Using the LLVM code coverage approach described in the documentation directly. This method has been tested in #147 and, as of March 2023 has various disadvantages. See the comments on #147 for more about this decision.
Using the cargo-llvm-cov tool. This tool simplifies the setup and calls of the LLVM code coverage approach described in the documentation. However, it does not fix the most serious problem of the LLVM approach. The unit tests are still evaluated for code coverage as sources.
The LLVM native code coverage has been released in Rust 1.60, around one year ago. Being such a new feature of the rustc compiler we expect this functionality to be improved in the near future.
This issue should keep track of notable changes in the code-coverage tools for Rust.
Currently, this repository uses tarpaulin to calculate code coverage. The default engine is used (Ptrace). Some alternative approaches are available:
The LLVM native code coverage has been released in Rust 1.60, around one year ago. Being such a new feature of the
rustc
compiler we expect this functionality to be improved in the near future. This issue should keep track of notable changes in the code-coverage tools for Rust.