]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
CI: use Python3 virtual environment
authorMike Bradeen <mbradeen@sangoma.com>
Thu, 11 Aug 2022 18:39:06 +0000 (12:39 -0600)
committerMichael Bradeen <mbradeen@sangoma.com>
Tue, 30 Aug 2022 16:38:00 +0000 (11:38 -0500)
Requires Python3 testsuite changes

ASTERISK-26826

Change-Id: I92ec7dec751ad455503a584d6e860db88c56d6bc

tests/CI/runTestsuite.sh

index 466991a44c53f9caef6615db8c06e770472828f0..230834956b81b9541c1007b193540da8bfb00bc1 100755 (executable)
@@ -4,6 +4,7 @@ REALTIME=0
 TEST_TIMEOUT=600
 source $CIDIR/ci.functions
 ASTETCDIR=$DESTDIR/etc/asterisk
+SETUPVENV=$TESTSUITE_DIR/setupVenv.sh
 
 if [ x"$WORK_DIR" != x ] ; then
        export AST_WORK_DIR="$(readlink -f $WORK_DIR)"
@@ -11,16 +12,23 @@ if [ x"$WORK_DIR" != x ] ; then
 fi
 
 pushd $TESTSUITE_DIR
-
 ./cleanup-test-remnants.sh
 
 if [ $REALTIME -eq 1 ] ; then
        $CIDIR/setupRealtime.sh --initialize-db=${INITIALIZE_DB:?0}
 fi
 
-export PYTHONPATH=./lib/python/
+# check to see if venv scripts exist so we can use them
+if [ -f "$SETUPVENV" ] ; then
+       # explicitly invoking setupVenv to capture output in case of failure
+       ./setupVenv.sh
+       VENVPREFIX="runInVenv.sh python "
+else
+       export PYTHONPATH=./lib/python/
+fi
+
 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 || :
+./${VENVPREFIX}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
        $CIDIR/teardownRealtime.sh --cleanup-db=${CLEANUP_DB:?0}