summaryrefslogtreecommitdiff
blob: f66a1249732022387d9a0b6b9bfb28a4a90a50c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
From c1f05bfb791e82776f5759e38c758cedd7e6190f Mon Sep 17 00:00:00 2001
From: Tomi Ollila <tomi.ollila@iki.fi>
Date: Sun, 8 Sep 2013 18:53:30 +0300
Subject: [PATCH] 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).
---
 test/aggregate-results.sh | 9 +++++++++
 test/notmuch-test         | 3 +++
 2 files changed, 12 insertions(+)

diff --git a/test/aggregate-results.sh b/test/aggregate-results.sh
index 732d6ca..b016edb 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 6db7979..aa28bb0 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
-- 
1.8.3.2