Use kcov from official Ubuntu 20.04 repository (#25385)
* Ubuntu 20.04 provides kcov, so don't build from source * Use two undocumented options for kcov v3.8
This commit is contained in:

committed by
GitHub

parent
350372e3bf
commit
10695f1ed3
@@ -9,4 +9,7 @@ if [ -z "$SPACK_ROOT" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
kcov "$SPACK_ROOT/coverage" "$@"
|
||||
# Using a -- to separate the script to be tested from kcov is not documented
|
||||
# as of v38, but seems to work. The same is true for the "--debug-force-bash-stderr"
|
||||
# option, see https://github.com/SimonKagstrom/kcov/issues/61
|
||||
kcov --debug-force-bash-stderr "$SPACK_ROOT/coverage" -- "$@"
|
||||
|
@@ -38,8 +38,8 @@ cd "$SPACK_ROOT"
|
||||
# Run bash tests with coverage enabled, but pipe output to /dev/null
|
||||
# because it seems that kcov seems to undo the script's redirection
|
||||
if [ "$COVERAGE" = true ]; then
|
||||
"$QA_DIR/bashcov" "$QA_DIR/setup-env-test.sh" &> /dev/null
|
||||
"$QA_DIR/bashcov" "$QA_DIR/completion-test.sh" &> /dev/null
|
||||
kcov "$SPACK_ROOT/coverage" "$QA_DIR/setup-env-test.sh" &> /dev/null
|
||||
kcov "$SPACK_ROOT/coverage" "$QA_DIR/completion-test.sh" &> /dev/null
|
||||
else
|
||||
bash "$QA_DIR/setup-env-test.sh"
|
||||
bash "$QA_DIR/completion-test.sh"
|
||||
|
@@ -31,10 +31,10 @@ if [[ "$COVERAGE" == "true" ]]; then
|
||||
bashcov=$(realpath ${QA_DIR}/bashcov)
|
||||
|
||||
# instrument scripts requiring shell coverage
|
||||
sed -i~ "s@#\!/bin/bash@#\!${bashcov}@" "$SPACK_ROOT/lib/spack/env/cc"
|
||||
sed -i "s@#\!/bin/bash@#\!${bashcov}@" "$SPACK_ROOT/lib/spack/env/cc"
|
||||
if [ "$(uname -o)" != "Darwin" ]; then
|
||||
# On darwin, #! interpreters must be binaries, so no sbang for bashcov
|
||||
sed -i~ "s@#\!/bin/sh@#\!${bashcov}@" "$SPACK_ROOT/bin/sbang"
|
||||
sed -i "s@#\!/bin/sh@#\!${bashcov}@" "$SPACK_ROOT/bin/sbang"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
Reference in New Issue
Block a user