summaryrefslogtreecommitdiff
path: root/share/spack/qa/setup.sh
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2018-12-29 12:26:16 -0800
committerTodd Gamblin <tgamblin@llnl.gov>2018-12-29 23:47:29 -0800
commit19b7b1592947c5a74fbb159c0a0820cc5013a077 (patch)
tree32783afd434630bebef0e24ab8a1e029236a664f /share/spack/qa/setup.sh
parent51cbc278aa7759b4b52c6fd9862564cbe5f4a75c (diff)
downloadspack-19b7b1592947c5a74fbb159c0a0820cc5013a077.tar.gz
spack-19b7b1592947c5a74fbb159c0a0820cc5013a077.tar.bz2
spack-19b7b1592947c5a74fbb159c0a0820cc5013a077.tar.xz
spack-19b7b1592947c5a74fbb159c0a0820cc5013a077.zip
coverage: use kcov to get coverage for our cc script
Diffstat (limited to 'share/spack/qa/setup.sh')
-rwxr-xr-xshare/spack/qa/setup.sh15
1 files changed, 14 insertions, 1 deletions
diff --git a/share/spack/qa/setup.sh b/share/spack/qa/setup.sh
index 4f40904433..4592c7ea85 100755
--- a/share/spack/qa/setup.sh
+++ b/share/spack/qa/setup.sh
@@ -11,15 +11,28 @@
#
QA_DIR="$(dirname ${BASH_SOURCE[0]})"
-SPACK_ROOT="$QA_DIR/../../.."
+export SPACK_ROOT=$(realpath "$QA_DIR/../../..")
# Source the setup script
. "$SPACK_ROOT/share/spack/setup-env.sh"
# Set up some variables for running coverage tests.
if [[ "$TEST_SUITE" == "unit" || "$TEST_SUITE" == "build" ]]; then
+ # these set up coverage for Python
coverage=coverage
coverage_run="coverage run"
+
+ # make a coverage directory for kcov, and patch cc to use our bashcov
+ # script instead of plain bash
+ if [[ $TEST_SUITE == unit && # kcov segfaults for the MPICH build test
+ $TRAVIS_OS_NAME == linux &&
+ $TRAVIS_PYTHON_VERSION != 2.6 ]];
+ then
+ mkdir -p coverage
+ cc_script="$SPACK_ROOT/lib/spack/env/cc"
+ bashcov=$(realpath ${QA_DIR}/bashcov)
+ sed -i~ "s@#\!/bin/bash@#\!${bashcov}@" "$cc_script"
+ fi
else
coverage=""
coverage_run=""