From: Simon Marchi Date: Mon, 18 Jan 2016 19:07:10 +0000 (-0500) Subject: testsuite: Make check-parallel return non-zero if a test failed X-Git-Tag: gdb-7.11-branchpoint~193 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bef95aacb8501edb086381b3d413485d732f00f3;p=thirdparty%2Fbinutils-gdb.git testsuite: Make check-parallel return non-zero if a test failed When using the check-parallel target, the return code of make is always 0, regardless of test results. This patch makes it return the same code as the "make do-check-parallel" sub-command. So if there is a FAIL somewhere, non-zero will be returned by make. For the sake of example, I introduced a failure in gdb.base/break.exp. $ make check-single TESTS="gdb.base/break.exp gdb.python/py-value.exp" && echo 'Success :D' || echo 'Fail :(' ... FAIL: gdb.base/break.exp: allo ... Fail :( I think the parallel run should do the same. Currently: $ make check-parallel TESTS="gdb.base/break.exp gdb.python/py-value.exp" && echo 'Success :D' || echo 'Fail :(' ... FAIL: gdb.base/break.exp: allo ... Success :D And with the patch (no big surprises there): $ make check-parallel TESTS="gdb.base/break.exp gdb.python/py-value.exp" && echo 'Success :D' || echo 'Fail :(' ... FAIL: gdb.base/break.exp: allo ... Fail :( What do you think? gdb/testsuite/ChangeLog: * Makefile.in (check-parallel): Propagate return code from make do-check-parallel. --- diff --git a/gdb/testsuite/Makefile.in b/gdb/testsuite/Makefile.in index fb0d8e5c98e..6e5b1e994f2 100644 --- a/gdb/testsuite/Makefile.in +++ b/gdb/testsuite/Makefile.in @@ -198,11 +198,13 @@ check-single: check-parallel: -rm -rf cache outputs temp $(MAKE) -k do-check-parallel; \ + result=$$?; \ $(SHELL) $(srcdir)/dg-extract-results.sh \ `find outputs -name gdb.sum -print` > gdb.sum; \ $(SHELL) $(srcdir)/dg-extract-results.sh -L \ - `find outputs -name gdb.log -print` > gdb.log - @sed -n '/=== gdb Summary ===/,$$ p' gdb.sum + `find outputs -name gdb.log -print` > gdb.log; \ + sed -n '/=== gdb Summary ===/,$$ p' gdb.sum; \ + exit $$result # Turn a list of .exp files into "check/" targets. Only examine .exp # files appearing in a gdb.* directory -- we don't want to pick up