From b7b71b31d333f66161cb8a5eb2f798e48fea260f Mon Sep 17 00:00:00 2001 From: Ryo Onodera Date: Thu, 17 Oct 2019 08:53:07 +0900 Subject: [PATCH] Magically improve coverage (#6345) automerge --- ci/test-coverage.sh | 4 ++++ scripts/coverage.sh | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ci/test-coverage.sh b/ci/test-coverage.sh index 46f36e880..1fbdc4907 100755 --- a/ci/test-coverage.sh +++ b/ci/test-coverage.sh @@ -29,6 +29,10 @@ scripts/coverage.sh report=coverage-"${CI_COMMIT:0:9}".tar.gz mv target/cov/report.tar.gz "$report" upload-ci-artifact "$report" + +gzip target/cov/coverage-stderr.log +upload-ci-artifact target/cov/coverage-stderr.log.gz + annotate --style success --context lcov-report \ "lcov report: $report" diff --git a/scripts/coverage.sh b/scripts/coverage.sh index d0c8435e2..0b0259274 100755 --- a/scripts/coverage.sh +++ b/scripts/coverage.sh @@ -14,13 +14,14 @@ reportName="lcov-${CI_COMMIT:0:9}" if [[ -n $1 ]]; then crate="--package $1" + shift else crate="--all --exclude solana-local-cluster" fi coverageFlags=(-Zprofile) # Enable coverage coverageFlags+=("-Clink-dead-code") # Dead code should appear red in the report -coverageFlags+=("-Ccodegen-units=1") # Disable ThinLTO which corrupts debuginfo (see [rustc issue #45511]). +coverageFlags+=("-Ccodegen-units=1") # Disable code generation parallelism which is unsupported under -Zprofile (see [rustc issue #51705]). coverageFlags+=("-Cinline-threshold=0") # Disable inlining, which complicates control flow. coverageFlags+=("-Coverflow-checks=off") # Disable overflow checks, which create unnecessary branches. @@ -37,7 +38,9 @@ rm -rf target/cov/$reportName source ci/rust-version.sh nightly # shellcheck disable=SC2086 # -_ cargo +$rust_nightly test --target-dir target/cov --lib $crate +RUST_LOG=solana=trace _ cargo +$rust_nightly test --target-dir target/cov --lib --no-run $crate "$@" +# shellcheck disable=SC2086 # +RUST_LOG=solana=trace _ cargo +$rust_nightly test --target-dir target/cov --lib $crate "$@" 2> target/cov/coverage-stderr.log echo "--- grcov"