test: Break on test script (or other) error
authorMichal Sojka <sojkam1@fel.cvut.cz>
Sun, 14 Nov 2010 21:54:30 +0000 (22:54 +0100)
committerCarl Worth <cworth@cworth.org>
Tue, 16 Nov 2010 19:28:06 +0000 (11:28 -0800)
Break notmuch-test whenever a test script returns non-zero status.
This happens either when some test from the script fails or when there
is an error in the script.

This is especially useful in the latter case since the error may not
appear in the final aggregated results.

test/notmuch-test

index b51045a7f278ef30567901c9b82b147a340d25a4..055467f45988556a4a53d569bddbda6e4bf99745 100755 (executable)
@@ -14,12 +14,20 @@ if [ ${BASH_VERSINFO[0]} -lt 4 ]; then
     exit 1
 fi
 
+set -e
+
+die () {
+    echo >&2 "Unexpected failure"
+}
+
+trap 'die' 0
+
 cd $(dirname "$0")
 
 TESTS="basic new search json thread-naming raw reply dump-restore uuencode thread-order author-order from-guessing long-id encoding emacs maildir-sync"
 
 # Clean up any results from a previous run
-rm -r test-results >/dev/null 2>/dev/null
+rm -rf test-results >/dev/null 2>/dev/null
 
 # Run the tests
 for test in $TESTS; do
@@ -31,3 +39,5 @@ done
 
 # Clean up
 rm -r test-results corpus.mail
+
+trap '' 0