diff --git a/vars/helper.groovy b/vars/helper.groovy index 7a9b0937a88e9f4b4935aa37ef6a2032b36c5de0..78b9a36c1539ac8c527380261ff9d34a1d4cf0e1 100644 --- a/vars/helper.groovy +++ b/vars/helper.groovy @@ -167,15 +167,10 @@ def doBuild(String label, String buildType) { sudo -H -E -u msk_jenkins mkdir -p /scratch/install cd /scratch/build-${JOB_NAME} # We might run only part of the project from a sub-directory. If it is empty the trailing / does not confuse cmake - if [ -z "\${RUN_FROM_SUBDIR}" ]; then - SUBDIR="" - else - SUBDIR="${env.RUN_FROM_SUBDIR}" - fi for VAR in ${env.JOB_VARIABLES}; do export `eval echo \${VAR}` done - sudo -H -E -u msk_jenkins cmake /scratch/source/\${SUBDIR} -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=${buildType} -DSUPPRESS_AUTO_DOC_BUILD=true \${CMAKE_EXTRA_ARGS} + sudo -H -E -u msk_jenkins cmake /scratch/source/\${RUN_FROM_SUBDIR} -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=${buildType} -DSUPPRESS_AUTO_DOC_BUILD=true \${CMAKE_EXTRA_ARGS} sudo -H -E -u msk_jenkins make ${env.MAKEOPTS} """ } @@ -196,6 +191,7 @@ def doTest(String label, String buildType) { // Prefix test names with label and buildType, so we can distinguish them later // Copy test results files to the workspace, otherwise they are not available to the xunit plugin sh """ + cat > /scratch/script <<EOF cd /scratch/build-${JOB_NAME} if [ -z "\${CTESTOPTS}" ]; then CTESTOPTS="${env.MAKEOPTS}" @@ -203,9 +199,12 @@ def doTest(String label, String buildType) { for VAR in ${env.JOB_VARIABLES} \${TEST_VARIABLES}; do export `eval echo \${VAR}` done - sudo -H -E -u msk_jenkins ctest --no-compress-output \${CTESTOPTS} -T Test -V || true - sudo -H -E -u msk_jenkins sed -i Testing/*/Test.xml -e 's_\\(^[[:space:]]*<Name>\\)\\(.*\\)\\(</Name>\\)\$_\\1${label}.${buildType}.\\2\\3_' - sudo -H -E -u msk_jenkins cp -r /scratch/build-${JOB_NAME}/Testing "${WORKSPACE}" + ctest --no-compress-output \${CTESTOPTS} -T Test -V || true + sed -i Testing/*/Test.xml -e 's_\\(^[[:space:]]*<Name>\\)\\(.*\\)\\(</Name>\\)\$_\\1${label}.${buildType}.\\2\\3_' + cp -r /scratch/build-${JOB_NAME}/Testing "${WORKSPACE}" +EOF + chmod +x /scratch/script + sudo -H -E -u msk_jenkins /scratch/script """ // Publish test result directly (works properly even with multiple publications from parallel branches)