diff --git a/scripts/dendrite_sytest.sh b/scripts/dendrite_sytest.sh index 20c89c333..cbe674033 100755 --- a/scripts/dendrite_sytest.sh +++ b/scripts/dendrite_sytest.sh @@ -45,7 +45,13 @@ TEST_STATUS=0 mkdir -p /logs ./run-tests.pl -I Dendrite::Monolith -d $GOBIN -W /src/sytest-whitelist -O tap --all \ --work-directory="/work" --exclude-deprecated \ - "$@" > /logs/results.tap || TEST_STATUS=$? + "$@" > /logs/results.tap & +pid=$! + +# make sure that we kill the test runner on SIGTERM, SIGINT, etc +trap 'kill $pid' TERM INT +wait $pid || TEST_STATUS=$? +trap - TERM INT if [ $TEST_STATUS -ne 0 ]; then echo >&2 -e "run-tests \e[31mFAILED\e[0m: exit code $TEST_STATUS" diff --git a/scripts/synapse_sytest.sh b/scripts/synapse_sytest.sh index d0088d6bd..8db7c477a 100755 --- a/scripts/synapse_sytest.sh +++ b/scripts/synapse_sytest.sh @@ -177,7 +177,13 @@ fi mkdir -p /logs TEST_STATUS=0 -"${RUN_TESTS[@]}" "$@" >/logs/results.tap || TEST_STATUS=$? +"${RUN_TESTS[@]}" "$@" >/logs/results.tap & +pid=$! + +# make sure that we kill the test runner on SIGTERM, SIGINT, etc +trap 'kill $pid' TERM INT +wait $pid || TEST_STATUS=$? +trap - TERM INT if [ $TEST_STATUS -ne 0 ]; then echo >&2 -e "run-tests \e[31mFAILED\e[0m: exit code $TEST_STATUS"