mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 12:28:09 +01:00
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).
This commit is contained in:
parent
4884f5496c
commit
20018a0c09
2 changed files with 17 additions and 1 deletions
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
# Run tests
|
# Run tests
|
||||||
#
|
#
|
||||||
|
@ -6,6 +6,14 @@
|
||||||
#
|
#
|
||||||
# Adapted from a Makefile to a shell script by Carl Worth (2010)
|
# 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")
|
cd $(dirname "$0")
|
||||||
|
|
||||||
TESTS="basic new search json thread-naming reply dump-restore uuencode thread-order author-order from-guessing long-id encoding emacs"
|
TESTS="basic new search json thread-naming reply dump-restore uuencode thread-order author-order from-guessing long-id encoding emacs"
|
||||||
|
|
|
@ -15,6 +15,14 @@
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see http://www.gnu.org/licenses/ .
|
# along with this program. If not, see http://www.gnu.org/licenses/ .
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
# if --tee was passed, write the output not only to the terminal, but
|
# if --tee was passed, write the output not only to the terminal, but
|
||||||
# additionally to the file test-results/$BASENAME.out, too.
|
# additionally to the file test-results/$BASENAME.out, too.
|
||||||
case "$GIT_TEST_TEE_STARTED, $* " in
|
case "$GIT_TEST_TEE_STARTED, $* " in
|
||||||
|
|
Loading…
Reference in a new issue