1 个不稳定版本
0.1.0 | 2021年1月1日 |
---|
#259 在 性能分析
15KB
353 代码行
cargo-llvm-codecov-converter
从 llvm-cov 格式转换为 codecov 格式
安装:cargo install cargo-llvm-codecov-converter
通过 Stdin
和 Stdout
将来自 llvm-cov 导出工具 的 llvm-cov json 格式输出转换为 codecov 自定义覆盖率格式
例如,计算 Rust 代码的覆盖率
export LLVM_PROFILE_FILE="target/debug/coverage/<my-crate>-%m.profraw"
# build the test binary with coverage instrumentation
executables=$(RUSTFLAGS="-Zinstrument-coverage" cargo test --tests --no-run --message-format=json | jq -r "select(.profile.test == true) | .executable")
# run instrumented tests
$executables
# combine profraw files
cargo profdata -- merge -sparse target/debug/coverage/<my-crate>-*.profraw -o target/debug/coverage/<my-crate>.profdata
# collect coverage
cargo cov -- export $executables \
--instr-profile=target/debug/coverage/<my-crate>.profdata \
--ignore-filename-regex="(.*\.cargo/registry/.*)|(.*\.rustup/.*)|(.*test.*)" \
--skip-functions \
| cargo llvm-codecov-converter > target/debug/coverage/<my-crate>.json
注意将管道符号引入 cargo llvm-codecov-converter
依赖项
~1.9–2.8MB
~59K SLoC