[ci] Add the collect-coverage tag for use on Jenkins. (#4912)
authorvkargov <kargov@gmail.com>
Mon, 22 May 2017 12:43:28 +0000 (05:43 -0700)
committerAlexander Köplinger <alex.koeplinger@outlook.com>
Mon, 22 May 2017 12:43:28 +0000 (14:43 +0200)
* [ci] Add the collect-coverage tag for use on Jenkins.

* Move collect-coverage up so we don't set different values for -O

scripts/ci/run-jenkins.sh

index e87ea8838ebd3797c40b857fd8c0667b4c7d1f98..a308f1b252b528b0c4c2ce34e8d0f042641c2136 100755 (executable)
@@ -5,7 +5,13 @@ export TESTCMD=${MONO_REPO_ROOT}/scripts/ci/run-step.sh
 
 export TEST_HARNESS_VERBOSE=1
 
-if [[ ${label} == w* ]]; then
+if [[ $CI_TAGS == *'collect-coverage'* ]]; then
+    # Collect coverage for further use by lcov and similar tools.
+    # Coverage must be collected with -O0 and debug information.
+    export CFLAGS="-ggdb3 --coverage -O0"
+    # Collect coverage on all optimizations
+    export MONO_ENV_OPTIONS="$MONO_ENV_OPTIONS -O=all"
+elif [[ ${label} == w* ]]; then
     # Passing -ggdb3 on Cygwin breaks linking against libmonosgen-x.y.dll
     export CFLAGS="-g -O2"
 else