about summary refs log tree commit diff homepage
path: root/scripts/build/run-coverage.sh
diff options
context:
space:
mode:
authorMartin Nowack <m.nowack@imperial.ac.uk>2018-07-10 13:59:27 +0100
committerCristian Cadar <c.cadar@imperial.ac.uk>2018-07-12 15:28:01 +0100
commit3eece12c6c5832dce7148a4c8a9c0d4e5ac37f38 (patch)
tree4d21ba7f7a0fba87120f6ecbd80dd2c240c876fa /scripts/build/run-coverage.sh
parent1b07577005478f26a106d8636e5b3c4aabf7e8d6 (diff)
downloadklee-3eece12c6c5832dce7148a4c8a9c0d4e5ac37f38.tar.gz
Fix uploading of coverage information from inside of docker
Diffstat (limited to 'scripts/build/run-coverage.sh')
-rwxr-xr-xscripts/build/run-coverage.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/scripts/build/run-coverage.sh b/scripts/build/run-coverage.sh
new file mode 100755
index 00000000..816b1467
--- /dev/null
+++ b/scripts/build/run-coverage.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+set -e
+
+# We are going to build docker containers
+export DOCKER_BUILD=1
+
+# All scripts are located relative to this one
+DIR="$(cd "$(dirname "$0")" && pwd)"
+source "${DIR}/common-defaults.sh"
+
+if [[ "a$COVERAGE" != "a1" ]]; then
+  exit 0
+fi
+
+function upload_coverage() {
+  tags=$1
+  codecov_suffix=(${tags// /})
+  ci_env=$(bash <(curl -s https://codecov.io/env))
+  docker run ${ci_env} -ti ${REPOSITORY}/klee:${LLVM_VERSION_SHORT}${LLVM_SUFFIX}${SOLVER_SUFFIX}${DEPS_SUFFIX} /bin/bash -c "cd /home/klee/klee_src && bash <(curl -s https://codecov.io/bash) -X gcov -y /home/klee/klee_src/.codecov.yml -f /home/klee/klee_build/coverage_all.info.${codecov_suffix} -F $tags"
+}
+
+upload_coverage systemtests
+upload_coverage unittests