X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2Fnotmuch-test;h=b58fd3b36f942a91fbe0ac9708d53aef9fdf4e1e;hp=8e483383f79d67aa7d87c04949e51407ddb7542d;hb=4b1a8fd18364a6e1f1a6e987c64aae760505999e;hpb=3563079be37737aab084e957b494070eaea9c2f6 diff --git a/test/notmuch-test b/test/notmuch-test index 8e483383..b58fd3b3 100755 --- a/test/notmuch-test +++ b/test/notmuch-test @@ -33,13 +33,20 @@ rm -rf $NOTMUCH_BUILDDIR/test/test-results # Test for timeout utility if command -v timeout >/dev/null; then TEST_TIMEOUT=${NOTMUCH_TEST_TIMEOUT:-2m} - TEST_TIMEOUT_CMD="timeout $TEST_TIMEOUT" - echo "INFO: using $TEST_TIMEOUT timeout for tests" + if [ "$TEST_TIMEOUT" = 0 ]; then + TEST_TIMEOUT_CMD="" + echo "INFO: timeout disabled" + else + TEST_TIMEOUT_CMD="timeout $TEST_TIMEOUT" + echo "INFO: using $TEST_TIMEOUT timeout for tests" + fi else TEST_TIMEOUT_CMD="" fi trap 'e=$?; kill $!; exit $e' HUP INT TERM + +META_FAILURE= # Run the tests if test -z "$NOTMUCH_TEST_SERIALIZE" && command -v parallel >/dev/null ; then test -t 1 && export COLORS_WITHOUT_TTY=t || : @@ -52,8 +59,7 @@ if test -z "$NOTMUCH_TEST_SERIALIZE" && command -v parallel >/dev/null ; then fi RES=$? if [[ $RES != 0 ]]; then - echo "parallel test suite returned error code $RES" - exit $RES + META_FAILURE="parallel test suite returned error code $RES" fi else for test in $TESTS; do @@ -64,7 +70,8 @@ else RES=$? testname=$(basename $test .sh) if [[ $RES != 0 && ! -e "$NOTMUCH_BUILDDIR/test/test-results/$testname" ]]; then - exit $RES + META_FAILURE="Aborting on $testname (returned $RES)" + break fi done fi @@ -74,6 +81,12 @@ trap - HUP INT TERM echo $NOTMUCH_SRCDIR/test/aggregate-results.sh $NOTMUCH_BUILDDIR/test/test-results/* ev=$? +if [ -n "$META_FAILURE" ]; then + printf 'ERROR: %s\n' "$META_FAILURE" + if [ $ev = 0 ]; then + ev=$RES + fi +fi # Clean up rm -rf $NOTMUCH_BUILDDIR/test/test-results