-#!/bin/sh
+#!/bin/bash
# Run tests
#
#
# 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
+
+set -e
+
+die () {
+ echo >&2 "Unexpected failure"
+}
+
+trap 'die' 0
+
cd $(dirname "$0")
+TESTS="basic new search search-output 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 t[0-9][0-9][0-9][0-9]*.sh; do
- ./"$test"
+for test in $TESTS; do
+ ./$test "$@"
done
# Report results
-./aggregate-results.sh test-results/t*-*
+./aggregate-results.sh test-results/*
# Clean up
-rm -r test-results
+rm -r test-results corpus.mail
+
+trap '' 0