commit 416bfa63ac27d3b538bcb5daf21f30bee2bc996a
parent a502db721f7e87e6ca7ce5fa15b4345e1015cd10
Author: triesap <tyson@radroots.org>
Date: Sat, 6 Jun 2026 14:52:30 -0700
release: wire coverage tool paths
- export llvm-cov and llvm-profdata paths when coverage tools are on PATH
- let Nix development shells run the coverage script directly
- extend the coverage gate test for the tool path exports
- confirm coverage now reaches the real line-coverage threshold
Diffstat:
2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/crates/tangle/tests/coverage_gate.rs b/crates/tangle/tests/coverage_gate.rs
@@ -8,6 +8,8 @@ fn coverage_script_requires_workspace_full_line_coverage() {
let script = read("scripts/coverage.sh");
assert!(script.contains("cargo llvm-cov --version"));
+ assert!(script.contains("LLVM_COV=\"$(command -v llvm-cov)\""));
+ assert!(script.contains("LLVM_PROFDATA=\"$(command -v llvm-profdata)\""));
assert!(script.contains("cargo llvm-cov clean --workspace"));
assert!(script.contains("cargo llvm-cov --workspace --all-targets"));
assert!(script.contains("--show-missing-lines"));
diff --git a/scripts/coverage.sh b/scripts/coverage.sh
@@ -6,5 +6,12 @@ if ! cargo llvm-cov --version >/dev/null 2>&1; then
exit 1
fi
+if command -v llvm-cov >/dev/null 2>&1 && command -v llvm-profdata >/dev/null 2>&1; then
+ LLVM_COV="$(command -v llvm-cov)"
+ LLVM_PROFDATA="$(command -v llvm-profdata)"
+ export LLVM_COV
+ export LLVM_PROFDATA
+fi
+
cargo llvm-cov clean --workspace
cargo llvm-cov --workspace --all-targets --show-missing-lines --fail-under-lines 100 --fail-uncovered-lines 0