summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
86b657d)
In certain cases of test suite failure, the summary report was not
being printed. In particular, any failure on the parallel test suite,
and any aborted test in the serialized test suite would end up hiding
the summary.
It's better to always show the summary where we can (while preserving
the return code). If we do abort due to this high-level failure,
though, we should also announce to the user that we're doing so as
close to the end of the process as possible, to make it easier to find
the problem.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
fi
trap 'e=$?; kill $!; exit $e' HUP INT TERM
fi
trap 'e=$?; kill $!; exit $e' HUP INT TERM
# Run the tests
if test -z "$NOTMUCH_TEST_SERIALIZE" && command -v parallel >/dev/null ; then
test -t 1 && export COLORS_WITHOUT_TTY=t || :
# Run the tests
if test -z "$NOTMUCH_TEST_SERIALIZE" && command -v parallel >/dev/null ; then
test -t 1 && export COLORS_WITHOUT_TTY=t || :
fi
RES=$?
if [[ $RES != 0 ]]; then
fi
RES=$?
if [[ $RES != 0 ]]; then
- echo "parallel test suite returned error code $RES"
- exit $RES
+ META_FAILURE="parallel test suite returned error code $RES"
fi
else
for test in $TESTS; do
fi
else
for test in $TESTS; do
RES=$?
testname=$(basename $test .sh)
if [[ $RES != 0 && ! -e "$NOTMUCH_BUILDDIR/test/test-results/$testname" ]]; then
RES=$?
testname=$(basename $test .sh)
if [[ $RES != 0 && ! -e "$NOTMUCH_BUILDDIR/test/test-results/$testname" ]]; then
+ META_FAILURE="Aborting on $testname (returned $RES)"
+ break
echo
$NOTMUCH_SRCDIR/test/aggregate-results.sh $NOTMUCH_BUILDDIR/test/test-results/*
ev=$?
echo
$NOTMUCH_SRCDIR/test/aggregate-results.sh $NOTMUCH_BUILDDIR/test/test-results/*
ev=$?
+if [ -n "$META_FAILURE" ]; then
+ printf 'ERROR: %s\n' "$META_FAILURE"
+ if [ $ev = 0 ]; then
+ ev=$RES
+ fi
+fi
# Clean up
rm -rf $NOTMUCH_BUILDDIR/test/test-results
# Clean up
rm -rf $NOTMUCH_BUILDDIR/test/test-results