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)
This commit is contained in:
David Bremner 2011-05-28 06:50:11 -03:00
parent c39b492c19
commit 114eb1c520

View file

@ -46,9 +46,17 @@ TESTS=${NOTMUCH_TESTS:=$TESTS}
# Clean up any results from a previous run # Clean up any results from a previous run
rm -r test-results >/dev/null 2>/dev/null 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 # Run the tests
for test in $TESTS; do for test in $TESTS; do
./$test "$@" $TEST_TIMEOUT_CMD ./$test "$@"
done done
# Report results # Report results