[ "$res" -ne "0" ]
}
+function cleanup
+{
+ timedatectl set-ntp true
+ # The false dates used in the tests are far in the past
+ # and it may take some time for the ntp update to actually
+ # happen.
+ # If the date is still in the past, it is possible that
+ # subsequent steps will fail (eg. TLS certificates cannot
+ # be validated).
+ while [[ "$(date +%Y)" -lt "2024" ]] ; do
+ sleep 1
+ done
+}
+
+trap cleanup EXIT SIGINT SIGTERM
+
lttng_version="$1"
failed_tests=0
-if [[ "$lttng_version" == "master" ]]; then
- make --keep-going check || failed_tests=1
- # TODO: remove when root regression tests are merged with make check or
- # in another make command.
- if [ -f "./tests/long_regression" ]; then
- cd "./tests" || exit 1
- prove --nocolor --verbose --merge --exec '' - < root_regression || failed_tests=1
- cd ..
- fi
-elif vergte "$lttng_version" "2.13"; then
- # All root regression are now part of the make check
- # *destructive* tests are now part of the `make`-based test suites.
- export LTTNG_ENABLE_DESTRUCTIVE_TESTS="will-break-my-system"
- make --keep-going check || failed_tests=1
-else
- make --keep-going check || failed_tests=1
- cd "./tests" || exit 1
- prove --nocolor --verbose --merge --exec '' - < root_regression || failed_tests=1
- cd ..
-fi
+export LTTNG_ENABLE_DESTRUCTIVE_TESTS="will-break-my-system"
+timedatectl set-ntp false
-exit $failed_tests
+# When make check is interrupted, the default test driver
+# (`config/test-driver`) will still delete the log and trs
+# files for the currently running test.
+#
+timeout 90m make --keep-going check || failed_tests=1
+if [ -f "./tests/root_regression" ]; then
+ cd "./tests" || exit 1
+ prove --nocolor --verbose --merge --exec '' - < root_regression || failed_tests=2
+ cd ..
+fi
+# This script doesn't exist in master anymore, but compatibility with old branches
+# should be retained until lttng-tools 2.13 is no longer supported
+if [ -f "./tests/root_destructive_tests" ]; then
+ cd "./tests" || exit 1
+ prove --nocolor --verbose --merge --exec '' - < root_destructive_tests || failed_tests=3
+ cd ..
+else
+ echo 'root_destructive_tests not found'
+fi
+if [[ "${failed_tests}" != "0" ]] ; then
+ find tests/ -iname '*.trs' -print0 -or -iname '*.log' -print0 | tar czf /tmp/coredump/logs.tgz --null -T -
+fi
+
+exit $failed_tests