notmuch/test/notmuch-test
Vladimir Panteleev 4d44976135 test: Update extant references to corpus.mail
971cdc72cd renamed corpus.mail to
corpora.mail. Although 971cdc72cd
updated some of the remaining corpus.mail references, two remained,
causing the test suite to leave behind an unignored corpora.mail
directory.
2017-08-18 19:42:19 -03:00

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