aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/notmuch-test
diff options
context:
space:
mode:
authorGravatar Carl Worth <cworth@cworth.org>2010-10-28 12:07:42 -0700
committerGravatar Carl Worth <cworth@cworth.org>2010-10-28 12:07:42 -0700
commit20018a0c094f576589ea82d5ca5116dfd3c0ea55 (patch)
treec3fbadba2f961d2448c3019520936e2c945c7454 /test/notmuch-test
parent4884f5496caa2cdc8749c5eefbdc264373403f22 (diff)
test: Emit a friendly error message if run with bash < 4.0.
The bash code in the test suite is using associative arrays which were only added to bash as of release 4.0. If the test suite is run with an older bash, we now immediately error out and explain the situation, (instead of emitting confusing error messages and failing dozens of tests, which is what happened before this change).
Diffstat (limited to 'test/notmuch-test')
-rwxr-xr-xtest/notmuch-test10
1 files changed, 9 insertions, 1 deletions
diff --git a/test/notmuch-test b/test/notmuch-test
index 7feb5bdf..60c3ecbc 100755
--- a/test/notmuch-test
+++ b/test/notmuch-test
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# Run tests
#
@@ -6,6 +6,14 @@
#
# Adapted from a Makefile to a shell script by Carl Worth (2010)
+if [ ${BASH_VERSINFO[0]} -lt 4 ]; then
+ echo "Error: The notmuch test suite requires a bash version >= 4.0"
+ echo "due to use of associative arrays within the test suite."
+ echo "Please try again with a newer bash (or help us fix the"
+ echo "test suite to be more portable). Thanks."
+ exit 1
+fi
+
cd $(dirname "$0")
TESTS="basic new search json thread-naming reply dump-restore uuencode thread-order author-order from-guessing long-id encoding emacs"