mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
6dec2af55b
All test files, except for the recently added Emacs tests, do not have ".sh" extension. So remove it from the new test files for consistency.
83 lines
1.6 KiB
Bash
Executable file
83 lines
1.6 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# Run tests
|
|
#
|
|
# Copyright (c) 2005 Junio C Hamano
|
|
#
|
|
# 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
|
|
help-test
|
|
new
|
|
count
|
|
search
|
|
search-output
|
|
search-by-folder
|
|
search-position-overlap-bug
|
|
search-insufficient-from-quoting
|
|
search-limiting
|
|
tagging
|
|
json
|
|
multipart
|
|
thread-naming
|
|
raw
|
|
reply
|
|
reply-to-sender
|
|
dump-restore
|
|
uuencode
|
|
thread-order
|
|
author-order
|
|
from-guessing
|
|
long-id
|
|
encoding
|
|
emacs
|
|
emacs-large-search-buffer
|
|
emacs-subject-to-filename
|
|
maildir-sync
|
|
crypto
|
|
symbol-hiding
|
|
search-folder-coherence
|
|
atomicity
|
|
python
|
|
hooks
|
|
argument-parsing
|
|
emacs-test-functions
|
|
emacs-address-cleaning
|
|
"
|
|
TESTS=${NOTMUCH_TESTS:=$TESTS}
|
|
|
|
# Clean up any results from a previous run
|
|
rm -r test-results >/dev/null 2>/dev/null
|
|
|
|
# test for timeout utility
|
|
if command -v timeout >/dev/null; then
|
|
TEST_TIMEOUT_CMD="timeout 2m "
|
|
echo "INFO: using 2 minute timeout for tests"
|
|
else
|
|
TEST_TIMEOUT_CMD=""
|
|
fi
|
|
|
|
trap 'e=$?; kill $!; exit $e' HUP INT TERM
|
|
# Run the tests
|
|
for test in $TESTS; do
|
|
$TEST_TIMEOUT_CMD ./$test "$@" &
|
|
wait $!
|
|
done
|
|
trap - HUP INT TERM
|
|
|
|
# Report results
|
|
./aggregate-results.sh test-results/*
|
|
|
|
# Clean up
|
|
rm -rf test-results corpus.mail
|