aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-03-07 03:25:57 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-03-07 03:25:57 +0000
commit265d52abcb4181e06cf5a60465b0a9514ecc4be9 (patch)
tree9c4c35e0dd670733d1f4b13c21d48e05b51c97ca /Makefile
parentconformtest: split up running of tests from makefile. (diff)
downloadglibc-265d52abcb4181e06cf5a60465b0a9514ecc4be9.tar.gz
glibc-265d52abcb4181e06cf5a60465b0a9514ecc4be9.tar.bz2
glibc-265d52abcb4181e06cf5a60465b0a9514ecc4be9.zip
Generate overall summary of test results.
This patch, an updated version of <https://sourceware.org/ml/libc-alpha/2014-01/msg00197.html>, makes testsuite runs generate an overall summary of test results. A new script merge-test-results.sh deals both with collecting results within a directory to a file with all the results from that directory, and collecting the results from subdirectories into a single overall file (there's not much in common between the two modes of operation of the script, but it seemed silly to have two separate scripts for this). Within a directory, missing results produce UNRESOLVED lines; at top level, missing results for a whole directory produce an ERROR line (since toplevel can't identify what the specific missing tests are in this case). Note that this does not change the rules for when "make" considers there has been an error, or terminates, so unexpected failures will still cause make to terminate, or, with -k, mean the commands for "tests" don't get run because of failure of a dependency. Tested x86_64, including that the summary does in fact reflect all the tests with .test-result files. * scripts/merge-test-results.sh: New file. * Makefile (tests-special-notdir): New variable. (tests): Run merge-test-results.sh. (xtests): Likewise. * Rules (tests-special-notdir): New variable. (xtests-special-notdir): Likewise. (tests): Run merge-test-results.sh (xtests): Likewise.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile11
1 files changed, 11 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index aee88e1e3e..8214dda840 100644
--- a/Makefile
+++ b/Makefile
@@ -316,7 +316,18 @@ $(objpfx)begin-end-check.out: scripts/begin-end-check.pl
$(evaluate-test)
endif
+tests-special-notdir = $(patsubst $(objpfx)%, %, $(tests-special))
tests: $(tests-special)
+ $(..)scripts/merge-test-results.sh -s $(objpfx) "" \
+ $(sort $(tests-special-notdir:.out=)) \
+ > $(objpfx)subdir-tests.sum
+ $(..)scripts/merge-test-results.sh -t $(objpfx) subdir-tests.sum \
+ $(sort $(subdirs) .) \
+ > $(objpfx)tests.sum
+xtests:
+ $(..)scripts/merge-test-results.sh -t $(objpfx) subdir-xtests.sum \
+ $(sort $(subdirs)) \
+ > $(objpfx)xtests.sum
# The realclean target is just like distclean for the parent, but we want
# the subdirs to know the difference in case they care.