Skip to content

Commit

Permalink
travis-ci: only print test failures if there are test results available
Browse files Browse the repository at this point in the history
When a build job running the test suite fails, our
'ci/print-test-failures.sh' script scans all 't/test-results/*.exit'
files to find failed tests and prints their verbose output.  However,
if a build job were to fail before it ever gets to run the test suite,
then there will be no files to match the above pattern and the shell
will take the pattern literally, resulting in errors like this in the
trace log:

  cat: t/test-results/*.exit: No such file or directory
  ------------------------------------------------------------------------
  t/test-results/*.out...
  ------------------------------------------------------------------------
  cat: t/test-results/*.out: No such file or directory

Check upfront and proceed only if there are any such files present.

Signed-off-by: SZEDER Gábor <[email protected]>
Reviewed-by: Lars Schneider <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
szeder authored and gitster committed Dec 27, 2017
1 parent 7e72cfc commit 677c707
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions ci/print-test-failures.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
# Tracing executed commands would produce too much noise in the loop below.
set +x

if ! ls t/test-results/*.exit >/dev/null 2>/dev/null
then
echo "Build job failed before the tests could have been run"
exit
fi

for TEST_EXIT in t/test-results/*.exit
do
if [ "$(cat "$TEST_EXIT")" != "0" ]
Expand Down

0 comments on commit 677c707

Please sign in to comment.