summaryrefslogtreecommitdiffstats
path: root/vendor/rustc-semver/cov.sh
blob: e3b42c7e8e919c5ca8dbeda589c671dcfbc2cdf9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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