mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-16 23:31:07 +00:00
27 lines
724 B
Bash
Executable File
27 lines
724 B
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Usage:
|
|
# ./coverage
|
|
#
|
|
# Run kcov on the tests, and merge the results.
|
|
#
|
|
# Environment variables:
|
|
# TRAVIS_JOB_ID - id for coveralls, defaults to none
|
|
# KCOV - path to kcov, defaults to 'kcov'
|
|
|
|
[ -n "$TRAVIS_JOB_ID" ] && COVERALLS_ID="--coveralls-id=$TRAVIS_JOB_ID"
|
|
[ -z "$KCOV" ] && KCOV=kcov
|
|
|
|
# Rebuild tests with dead code included, and get a list of the filenames.
|
|
export RUSTFLAGS="-C link-dead-code"
|
|
TEST_FILES=$(cargo test 2>&1 >/dev/null | awk '/^ Running target\/debug\// { print $2 }')
|
|
|
|
KCOV_OPTS="--verify --exclude-pattern=/.cargo"
|
|
OUT_DIR=target/kcov
|
|
|
|
for f in $TEST_FILES; do
|
|
"$KCOV" $KCOV_OPTS "$OUT_DIR" $f
|
|
done
|
|
"$KCOV" --merge $KCOV_OPTS $COVERALLS_ID "$OUT_DIR" "$OUT_DIR"
|
|
|