Terminate individual tests after 10 minutes
authorSimon McVittie <smcv@debian.org>
Thu, 1 Dec 2016 11:25:33 +0000 (11:25 +0000)
committerSimon McVittie <smcv@debian.org>
Thu, 1 Dec 2016 12:38:54 +0000 (12:38 +0000)
While using the Automake parallel test harness, if a test hangs for
long enough for an external watchdog to kill the entire build process
(as happens in Debian sbuild after 150 minutes with no activity on
stdout/stderr), the logs will not be shown. If we make an individual
test time out sooner, logs are more likely to be shown.

We use SIGABRT so that the process(es) under test will dump core,
allowing the point at which ostree is blocking to be analyzed.
After 1 minute, if any have not died, we kill them again with SIGKILL.

Signed-off-by: Simon McVittie <smcv@debian.org>
Forwarded: https://github.com/ostreedev/ostree/pull/607

Gbp-Pq: Name Terminate-individual-tests-after-10-minutes.patch

buildutil/tap-test

index c8da31e7418665d0642c67e9d7bcce6602d9eb34..4adee45c04e4879d50fed94a3464fe1de8fd0967 100755 (executable)
@@ -19,7 +19,7 @@ function skip_cleanup() {
     echo "Skipping cleanup of ${tempdir}"
 }
 cd ${tempdir}
-${srcd}/${bn} -k --tap
+timeout --kill-after=60 --signal=ABRT 600 ${srcd}/${bn} -k --tap
 rc=$?
 case "${TEST_SKIP_CLEANUP:-}" in
     no|"") cleanup ;;