From: George Joseph Date: Sat, 17 Nov 2018 19:07:32 +0000 (-0700) Subject: CI: Pass work directory to runTestsuite X-Git-Tag: 13.24.0-rc1~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a335f4c9adb0a00211345634f61917bdf5b412c2;p=thirdparty%2Fasterisk.git CI: Pass work directory to runTestsuite The testsuite can now use a user-specified work directory for all it's temp files. This allows the docker containers to use a tmpfs backed directory for the temp files instead of it's own write-layer image. * runTestsuite.sh now accepts a --work-dir command line argument that gets exported as AST_WORK_DIR before running the testsuite. * gates.jenkinsfile now specifies --work-dir to be /astroot. Since the Asterisk CI docker hosts now mount /srv/jenkins/workspace on a tmpfs, asterisk should be compiled and the testsuite run all in memory. Change-Id: If5ee905a15821296c355bb84cda38950ad8edc45 --- diff --git a/tests/CI/gates.jenkinsfile b/tests/CI/gates.jenkinsfile index 983564760f..7be576861b 100644 --- a/tests/CI/gates.jenkinsfile +++ b/tests/CI/gates.jenkinsfile @@ -197,7 +197,7 @@ pipeline { ] } - sh "sudo tests/CI/runTestsuite.sh --testsuite-dir='${groupDir}' --testsuite-command='${groupTestcmd}'" + sh "sudo tests/CI/runTestsuite.sh --work-dir='${groupDir}/astroot' --testsuite-dir='${groupDir}' --testsuite-command='${groupTestcmd}'" archiveArtifacts allowEmptyArchive: true, defaultExcludes: false, fingerprint: true, artifacts: "${groupDir}/asterisk-test-suite-report.xml, ${groupDir}/logs/**, ${groupDir}/core*.txt" diff --git a/tests/CI/runTestsuite.sh b/tests/CI/runTestsuite.sh index 9ee7718338..466991a44c 100755 --- a/tests/CI/runTestsuite.sh +++ b/tests/CI/runTestsuite.sh @@ -5,6 +5,11 @@ TEST_TIMEOUT=600 source $CIDIR/ci.functions ASTETCDIR=$DESTDIR/etc/asterisk +if [ x"$WORK_DIR" != x ] ; then + export AST_WORK_DIR="$(readlink -f $WORK_DIR)" + mkdir -p "$AST_WORK_DIR" +fi + pushd $TESTSUITE_DIR ./cleanup-test-remnants.sh @@ -14,7 +19,7 @@ if [ $REALTIME -eq 1 ] ; then fi export PYTHONPATH=./lib/python/ -echo "Running tests ${TESTSUITE_COMMAND}" +echo "Running tests ${TESTSUITE_COMMAND} ${AST_WORK_DIR:+with work directory ${AST_WORK_DIR}}" ./runtests.py --cleanup --timeout=${TEST_TIMEOUT} ${TESTSUITE_COMMAND} | contrib/scripts/pretty_print --no-color --no-timer --term-width=120 --show-errors || : if [ $REALTIME -eq 1 ] ; then