mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 10:58:10 +01:00
4d44976135
971cdc72cd
renamed corpus.mail to corpora.mail. Although971cdc72cd
updated some of the remaining corpus.mail references, two remained, causing the test suite to leave behind an unignored corpora.mail directory.
55 lines
1.3 KiB
Bash
Executable file
55 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# Run tests
|
|
#
|
|
# Copyright (c) 2005 Junio C Hamano
|
|
# Copyright (c) 2010 Notmuch Developers
|
|
#
|
|
# 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=${NOTMUCH_TESTS:-T[0-9][0-9][0-9]-*.sh}
|
|
|
|
# Clean up any results from a previous run
|
|
rm -rf test-results
|
|
|
|
# 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 $!
|
|
# If the test failed without producing results, then it aborted,
|
|
# so we should abort, too.
|
|
RES=$?
|
|
if [[ $RES != 0 && ! -e "test-results/${test%.sh}" ]]; then
|
|
exit $RES
|
|
fi
|
|
done
|
|
trap - HUP INT TERM
|
|
|
|
# Report results
|
|
echo
|
|
./aggregate-results.sh test-results/*
|
|
ev=$?
|
|
|
|
# Clean up
|
|
rm -rf test-results corpora.mail
|
|
|
|
exit $ev
|