Skip to content

Commit

Permalink
ci: Fix Rust coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
chfast committed Feb 1, 2021
1 parent e671b0d commit 6a20b10
Showing 1 changed file with 20 additions and 9 deletions.
29 changes: 20 additions & 9 deletions circle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -663,18 +663,29 @@ jobs:
- run:
name: Collect coverage data (Rust)
command: |
cargo profdata -- merge -sparse fizzy-*.profraw -o default.profdata
mkdir -p coverage
cargo cov -- report -use-color -instr-profile default.profdata -Xdemangler rustfilt $OBJECT_ARGS
cargo cov -- report -instr-profile default.profdata -Xdemangler rustfilt $OBJECT_ARGS > coverage/report.txt
cargo cov -- show -format=html -instr-profile default.profdata -Xdemangler rustfilt -region-coverage-lt=100 $OBJECT_ARGS > coverage/missing.html
cargo cov -- show -format=html -instr-profile default.profdata -Xdemangler rustfilt $OBJECT_ARGS > coverage/full.html
cargo cov -- export -instr-profile default.profdata -format=lcov $OBJECT_ARGS > coverage.lcov
# Coverage from integration-test is ignored.
cargo profdata -- merge bindings/rust/fizzy-*.profraw -o default.profdata
# Guess the cargo test executable name.
OBJECT=$(find target/x86_64-unknown-linux-gnu/debug/deps -executable -name 'fizzy-*')
cargo cov -- report -use-color -instr-profile default.profdata -ignore-filename-regex='cargo/registry' -Xdemangler rustfilt $OBJECT
cargo cov -- report -instr-profile default.profdata -ignore-filename-regex='cargo/registry' -Xdemangler rustfilt $OBJECT > coverage/report.txt
cargo cov -- show -format=html -instr-profile default.profdata -ignore-filename-regex='cargo/registry' -Xdemangler rustfilt -region-coverage-lt=100 $OBJECT > coverage/missing.html
cargo cov -- show -format=html -instr-profile default.profdata -ignore-filename-regex='cargo/registry' -Xdemangler rustfilt $OBJECT > coverage/full.html
cargo cov -- export -instr-profile default.profdata -ignore-filename-regex='cargo/registry' -format=lcov $OBJECT > coverage.lcov
- store_artifacts:
path: ~/build/coverage
path: coverage
destination: rust-coverage-unittests
- upload_coverage:
flags: unittests
- run:
name: "Upload to Codecov"
command: |
# Convert to relative paths
sed -i 's|$(pwd)/||' coverage.lcov
bash <(curl -s https://codecov.io/bash) -F rust -Z -f coverage.lcov -X gcov
workflows:
version: 2
Expand Down

0 comments on commit 6a20b10

Please sign in to comment.