rustc/vendor/rustc-semver/cov.sh
2021-04-15 16:25:26 +02:00

35 lines
952 B
Bash

cargo clean
rm -rf cov/rustc-semver/
rm -rf cov/*
RUSTFLAGS="-Zinstrument-coverage" \
LLVM_PROFILE_FILE="$(pwd)/cov/rustc-semver%m.profraw" \
cargo +nightly test
llvm-profdata merge -sparse cov/rustc-semver*.profraw -o cov/rustc-semver.profdata
case $1 in
"--json")
llvm-cov export \
--instr-profile=cov/rustc-semver.profdata \
--summary-only \
--format=text \
$(find target/debug/deps -executable -type f) | python3 -m json.tool > cov.json
;;
"--html")
cargo install rustfilt
llvm-cov show \
--instr-profile=cov/rustc-semver.profdata \
--Xdemangler=rustfilt \
--show-line-counts-or-regions \
--output-dir=cov/rustc-semver \
--format=html \
$(find target/debug/deps -executable -type f)
;;
*)
echo "Use with either --html or --json"
exit 1
;;
esac