From 3cc4fc6d2f124b5425e75dff557e7456c4264d95 Mon Sep 17 00:00:00 2001 From: George Joseph Date: Mon, 16 Jul 2018 09:49:54 -0600 Subject: [PATCH] CI: Add realtime checks to dailies Change-Id: I6dc8ab1679b3505c6dde1d47e1b9276df47814f8 --- tests/CI/periodic-dailyTestGroups.json | 6 ++ tests/CI/periodics-daily.jenkinsfile | 3 +- tests/CI/runTestsuite.sh | 6 ++ tests/CI/setupRealtime.sh | 121 +++++++++++++++++++++++++ 4 files changed, 135 insertions(+), 1 deletion(-) create mode 100755 tests/CI/setupRealtime.sh diff --git a/tests/CI/periodic-dailyTestGroups.json b/tests/CI/periodic-dailyTestGroups.json index b8c8e9b8ef..01f51d1169 100644 --- a/tests/CI/periodic-dailyTestGroups.json +++ b/tests/CI/periodic-dailyTestGroups.json @@ -28,5 +28,11 @@ "name": "othr", "dir": "tests/CI/output/other", "testcmd": " -T tests/(apps|agi|blind-transfer-parkingtimeout|rest_api|channels|realtime|example|skeleton_test|remote-test)" + }, + { + "name": "real", + "dir": "tests/CI/output/realtime", + "runTestsuiteOptions": "--realtime", + "testcmd": " -t tests/channels/pjsip -G realtime-incompatible" } ] diff --git a/tests/CI/periodics-daily.jenkinsfile b/tests/CI/periodics-daily.jenkinsfile index fd9fa6b355..c8790404c3 100644 --- a/tests/CI/periodics-daily.jenkinsfile +++ b/tests/CI/periodics-daily.jenkinsfile @@ -65,6 +65,7 @@ pipeline { def groupName = testGroup.name def groupDir = testGroup.dir def groupTestcmd = testGroup.testcmd + def groupRunTestsuiteOptions = testGroup.runTestsuiteOptions def testsuiteUrl = env.GIT_URL.replaceAll(/\/(Security-)?[^\/]+$/, "/\$1testsuite") parallelTasks[groupName] = { @@ -92,7 +93,7 @@ pipeline { userRemoteConfigs: [[url: testsuiteUrl]] ] - sh "sudo tests/CI/runTestsuite.sh --testsuite-dir='${groupDir}' --test-command='${groupTestcmd}'" + sh "sudo tests/CI/runTestsuite.sh ${groupRunTestsuiteOptions} --testsuite-dir='${groupDir}' --test-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 d295421a0e..35f4d58948 100755 --- a/tests/CI/runTestsuite.sh +++ b/tests/CI/runTestsuite.sh @@ -1,11 +1,17 @@ #!/usr/bin/env bash CIDIR=$(dirname $(readlink -fn $0)) +REALTIME=0 source $CIDIR/ci.functions ASTETCDIR=$DESTDIR/etc/asterisk pushd $TESTSUITE_DIR ./cleanup-test-remnants.sh + +if [ $REALTIME -eq 0 ] ; then + $CIDIR/setupRealtime.sh +fi + export PYTHONPATH=./lib/python/ echo "Running tests ${TEST_COMMAND}" ./runtests.py --cleanup ${TEST_COMMAND} | contrib/scripts/pretty_print --no-color --no-timer --term-width=120 --show-errors || : diff --git a/tests/CI/setupRealtime.sh b/tests/CI/setupRealtime.sh new file mode 100755 index 0000000000..01593a1060 --- /dev/null +++ b/tests/CI/setupRealtime.sh @@ -0,0 +1,121 @@ +#!/usr/bin/env bash +CIDIR=$(dirname $(readlink -fn $0)) +source $CIDIR/ci.functions + +set -e + +cat >test-config.yaml </tmp/config.ini <<-EOF + [alembic] + script_location = config + sqlalchemy.url = postgresql://asterisk@localhost/asterisk + + [loggers] + keys = root,sqlalchemy,alembic + + [handlers] + keys = console + + [formatters] + keys = generic + + [logger_root] + level = WARN + handlers = console + qualname = + + [logger_sqlalchemy] + level = WARN + handlers = + qualname = sqlalchemy.engine + + [logger_alembic] + level = INFO + handlers = + qualname = alembic + + [handler_console] + class = StreamHandler + args = (sys.stderr,) + level = NOTSET + formatter = generic + + [formatter_generic] + format = %(levelname)-5.5s [%(name)s] %(message)s + datefmt = %H:%M:%S +EOF + +pushd $ASTTOP/contrib/ast-db-manage +if [ -x /usr/local/bin/postgresql-start ] ; then + /usr/local/bin/postgresql-start +fi +psql --username=asterisk --host=localhost --db=asterisk --command='DROP OWNED BY asterisk CASCADE' +alembic -c /tmp/config.ini upgrade head +rm -rf /tmp/config.ini || : +popd -- 2.47.2