tests: environment variable to specify that tests should be serialized

If NOTMUCH_TEST_SERIALIZE is non-null all tests will be run in series,
rather than in parallel.
This commit is contained in:
Jameson Graef Rollins 2019-05-06 04:44:09 +00:00 committed by David Bremner
parent 908d930d22
commit eeff431996
2 changed files with 7 additions and 3 deletions

View file

@ -43,7 +43,6 @@ these system tools. Most often the tests are written, reviewed and
tested on Linux system so such portability issues arise from time to
time.
Running Tests
-------------
The easiest way to run tests is to say "make test", (or simply run the
@ -105,9 +104,14 @@ to with emacs, e.g.
make test TEST_CC=gcc TEST_CFLAGS="-g -O2"
Parallel Execution
------------------
If either the moreutils or GNU "parallel" utility is available all
tests will be run in parallel. If the NOTMUCH_TEST_SERIALIZE variable
is non-null all tests will be executed sequentially.
Quiet Execution
---------------
Normally, when new script starts and when test PASSes you get a message
printed on screen. This printing can be disabled by setting the
NOTMUCH_TEST_QUIET variable to a non-null value. Message on test

View file

@ -40,7 +40,7 @@ fi
trap 'e=$?; kill $!; exit $e' HUP INT TERM
# Run the tests
if command -v parallel >/dev/null ; then
if test -z "$NOTMUCH_TEST_SERIALIZE" && command -v parallel >/dev/null ; then
if parallel -h | grep -q GNU ; then
echo "INFO: running tests with GNU parallel"
printf '%s\n' $TESTS | $TEST_TIMEOUT_CMD parallel