Generate coverage with Rust nightly

Fixes #177

Thanks @marco-c!
This commit is contained in:
Greg Fitzgerald 2018-06-18 16:36:37 -07:00 committed by Greg Fitzgerald
parent b2accd1c2a
commit 7f53ea3bf3
4 changed files with 17 additions and 17 deletions

View File

@ -234,12 +234,21 @@ $ cargo +nightly bench --features="unstable"
Code coverage
---
To generate code coverage statistics, run kcov via Docker:
To generate code coverage statistics, install cargo-cov. Note: the tool currently only works
in Rust nightly.
```bash
$ ./ci/coverage.sh
$ cargo +nightly install cargo-cov
```
The coverage report will be written to `./target/cov/index.html`
Run cargo-cov and generate a report:
```bash
$ cargo +nightly cov test
$ cargo +nightly cov report --open
```
The coverage report will be written to `./target/cov/report/index.html`
Why coverage? While most see coverage as a code quality metric, we see it primarily as a developer

View File

@ -3,13 +3,6 @@ steps:
name: "stable [public]"
timeout_in_minutes: 20
- wait
- command: "ci/coverage.sh"
name: "coverage [public]"
timeout_in_minutes: 20
retry:
automatic:
- exit_status: "*"
limit: 2
- command: "ci/docker-run.sh rustlang/rust:nightly ci/test-nightly.sh"
name: "nightly [public]"
timeout_in_minutes: 20

View File

@ -2,15 +2,12 @@
cd "$(dirname "$0")/.."
ci/docker-run.sh evilmachines/rust-cargo-kcov \
bash -exc "\
export RUST_BACKTRACE=1; \
cargo build --verbose; \
cargo kcov --lib --verbose; \
"
cargo install cargo-cov
cargo cov test
cargo cov report
echo Coverage report:
ls -l target/cov/index.html
ls -l target/cov/report/index.html
if [[ -z "$CODECOV_TOKEN" ]]; then
echo CODECOV_TOKEN undefined

View File

@ -10,5 +10,6 @@ rustup component add rustfmt-preview
cargo build --verbose --features unstable
cargo test --verbose --features unstable
cargo bench --verbose --features unstable
ci/coverage.sh
exit 0