aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Tomi Ollila <tomi.ollila@iki.fi>2013-09-08 18:53:30 +0300
committerGravatar David Bremner <bremner@debian.org>2013-09-08 22:40:57 -0300
commit11a38054641b7b0e927bf574369d4d8dfc7b4742 (patch)
treef148ae976066c9298aa597dd1622d3898fa39172 /test
parent5c19eb46a906819744a022463ee3fd7cdfaabbb9 (diff)
test: exit with nonzero value when not all tests completed successfully
If any of the tests in our test system is not passing the execution of the test suite completes with nonzero exit value. It is better to rely on the exit value of the test system instead of some arbitrary strings in test output (or use both).
Diffstat (limited to 'test')
-rwxr-xr-xtest/aggregate-results.sh9
-rwxr-xr-xtest/notmuch-test3
2 files changed, 12 insertions, 0 deletions
diff --git a/test/aggregate-results.sh b/test/aggregate-results.sh
index 732d6ca7..b016edb9 100755
--- a/test/aggregate-results.sh
+++ b/test/aggregate-results.sh
@@ -1,5 +1,7 @@
#!/usr/bin/env bash
+set -eu
+
fixed=0
success=0
failed=0
@@ -79,3 +81,10 @@ if [ "$skipped" != "0" ]; then
tests=$(pluralize "test" $skipped)
echo "$skipped $tests skipped."
fi
+
+if [ $success -gt 0 -a $fixed -eq 0 -a $failed -eq 0 -a $skipped -eq 0 ]
+then
+ exit 0
+else
+ exit 1
+fi
diff --git a/test/notmuch-test b/test/notmuch-test
index 6db79795..aa28bb05 100755
--- a/test/notmuch-test
+++ b/test/notmuch-test
@@ -97,6 +97,9 @@ trap - HUP INT TERM
# Report results
./aggregate-results.sh test-results/*
+ev=$?
# Clean up
rm -rf test-results corpus.mail
+
+exit $ev