diff options
author | Carl Worth <cworth@cworth.org> | 2010-04-15 15:18:30 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-04-15 15:18:30 -0700 |
commit | cddeaa59ab9c85ae4a09cae769b8677fd60141b8 (patch) | |
tree | 4e25d73b39e5156911c18e7dcc5bb94c42406e29 | |
parent | 004ed3362f7cbc46a118faf6c380da1bc5bd3f78 (diff) |
make test: Actually count and report on failures.
Hurrah---no more manual verification of that PASS column.
This means that "make test" can actually be a useful part of the
release process now, (since it will exit with non-zero status if there
are any failures).
-rwxr-xr-x | test/notmuch-test | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/test/notmuch-test b/test/notmuch-test index 2a2c2e5..53ee189 100755 --- a/test/notmuch-test +++ b/test/notmuch-test @@ -154,17 +154,23 @@ add_message () $NOTMUCH new > /dev/null } +tests=0 +test_failures=0 + pass_if_equal () { output=$1 expected=$2 + tests=$((tests + 1)) + if [ "$output" = "$expected" ]; then echo " PASS" else echo " FAIL" echo " Expected output: $expected" echo " Actual output: $output" + test_failures=$((test_failures + 1)) fi } @@ -623,9 +629,17 @@ printf " Searching returns all three messages in one thread..." output=$($NOTMUCH search foo | notmuch_search_sanitize) pass_if_equal "$output" "thread:XXX 2000-01-01 [3/3] Notmuch Test Suite; brokenthreadtest (inbox unread)" -cat <<EOF -Notmuch test suite complete. +echo "" +echo "Notmuch test suite complete." -Intermediate state can be examined in: - ${TEST_DIR} -EOF +if [ "$test_failures" = "0" ]; then + echo "All $tests tests passed." + rm -rf ${TEST_DIR} +else + echo "$test_failures/$tests tests failed. The failures can be investigated in:" + echo "${TEST_DIR}" +fi + +echo "" + +exit $test_failures |