From: David Bremner <bremner@debian.org>
Date: Sat, 28 May 2011 09:50:11 +0000 (-0300)
Subject: tests: Add optional use of timeout utility, if present.
X-Git-Tag: debian/0.6_254~21
X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=114eb1c52095487caed1de8746f2741da7a3ead1;p=obsolete%2Fnotmuch-old

tests: Add optional use of timeout utility, if present.

Each top level test (basic, corpus, etc...) is run with a fixed
timeout of 2 minutes.

The goal here is to treat a hung test as a failure. The emacs test for
sending mail is known to be problematic on the Debian
autobuilders. This is both a bandaid fix for that, and a sensible long
term feature.
(cherry picked from commit 5f99c80e02736c90495558d9b88008a768876b29)
---

diff --git a/test/notmuch-test b/test/notmuch-test
index 9f58c129..83f284d9 100755
--- a/test/notmuch-test
+++ b/test/notmuch-test
@@ -46,9 +46,17 @@ TESTS=${NOTMUCH_TESTS:=$TESTS}
 # Clean up any results from a previous run
 rm -r test-results >/dev/null 2>/dev/null
 
+# test for timeout utility
+if command -v timeout >/dev/null; then
+    TEST_TIMEOUT_CMD="timeout 2m "
+    echo "INFO: using 2 minute timeout for tests"
+else
+    TEST_TIMEOUT_CMD=""
+fi
+
 # Run the tests
 for test in $TESTS; do
-	./$test "$@"
+    $TEST_TIMEOUT_CMD ./$test "$@"
 done
 
 # Report results