Skip to content

Commit

Permalink
tests: print failed test numbers at the end of the test run
Browse files Browse the repository at this point in the history
On modern multi-core processors "make test" is often run in multiple jobs.
If one of them fails the test run does stop, but the concurrently running
tests finish their run. It is rather easy to find out which test failed by
doing a "ls -d t/trash*". But that only works when you don't use the "-i"
option to "make test" because you want to get an overview of all failing
tests. In that case all thrash directories are deleted end and the
information which tests failed is lost.

If one or more tests failed, print a list of them before the test summary:

failed test(s): t1000 t6500

fixed   0
success 7638
failed  3
broken  49
total   7723

This makes it possible to just run the test suite with -i and collect all
failed test scripts at the end for further examination.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
jlehmann authored and gitster committed Jul 24, 2011
1 parent b421812 commit 2579e1d
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion t/aggregate-results.sh
@@ -1,5 +1,6 @@
#!/bin/sh

failed_tests=
fixed=0
success=0
failed=0
Expand All @@ -18,7 +19,13 @@ do
success)
success=$(($success + $value)) ;;
failed)
failed=$(($failed + $value)) ;;
failed=$(($failed + $value))
if test $value != 0
then
testnum=$(expr "$file" : 'test-results/\(t[0-9]*\)-')
failed_tests="$failed_tests $testnum"
fi
;;
broken)
broken=$(($broken + $value)) ;;
total)
Expand All @@ -27,6 +34,11 @@ do
done <"$file"
done

if test -n "$failed_tests"
then
printf "\nfailed test(s):$failed_tests\n\n"
fi

printf "%-8s%d\n" fixed $fixed
printf "%-8s%d\n" success $success
printf "%-8s%d\n" failed $failed
Expand Down

0 comments on commit 2579e1d

Please sign in to comment.