name: check-rust-coverage description: 检查哪些Rust行未被Rust测试覆盖。
检查Rust覆盖率
确定哪些Rust行未被Rust测试覆盖。
参数
<path>: Rust crate的路径。<path 1> <path 2>: 多个crate路径。
如果路径不包含src/,则假定它在src/redisearch_rs目录中。例如,numeric_range_tree变为src/redisearch_rs/numeric_range_tree。
如果路径指向一个目录,则考虑该目录中的所有Rust crates。
指令
运行
cargo llvm-cov test --manifest-path <crate_directory>/Cargo.toml --quiet --json 2>/dev/null | jq -r '"Uncovered Lines:",
(.data[0].files[] |
select(.summary.lines.percent < 100) |
.filename as $f |
[.segments[] | select(.[2] == 0 and .[4] == true) | .[0]] |
unique |
if length > 0 then "\($f): \(join(", "))" else empty end
)'
以获取目标crate中每个文件的未覆盖行列表。