summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Lehmann <Jens.Lehmann@web.de>2011-07-24 13:35:54 (GMT)
committerJunio C Hamano <gitster@pobox.com>2011-07-24 18:55:14 (GMT)
commit2579e1d2936ad4e385ef21e5c346d9853d7faa01 (patch)
tree1fdf14944bf939bb34885d52d411badb61d70f74
parentb421812b487da44b01773ef38789db1122bec61a (diff)
downloadgit-2579e1d2936ad4e385ef21e5c346d9853d7faa01.zip
git-2579e1d2936ad4e385ef21e5c346d9853d7faa01.tar.gz
git-2579e1d2936ad4e385ef21e5c346d9853d7faa01.tar.bz2
tests: print failed test numbers at the end of the test run
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>
-rwxr-xr-xt/aggregate-results.sh14
1 files changed, 13 insertions, 1 deletions
diff --git a/t/aggregate-results.sh b/t/aggregate-results.sh
index d206b7c..7913e20 100755
--- a/t/aggregate-results.sh
+++ b/t/aggregate-results.sh
@@ -1,5 +1,6 @@
#!/bin/sh
+failed_tests=
fixed=0
success=0
failed=0
@@ -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)
@@ -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