diff options
author | Simon Marchi <simon.marchi@ericsson.com> | 2016-01-18 14:07:10 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@ericsson.com> | 2016-01-19 10:45:57 -0500 |
commit | bef95aacb8501edb086381b3d413485d732f00f3 (patch) | |
tree | c08c6bfd9e5649fd92590ad0a364337aaf54ae2b /gdb/testsuite | |
parent | a6e69c1f1de84549d99792031dd05d5ba70bd8a5 (diff) | |
download | gdb-bef95aacb8501edb086381b3d413485d732f00f3.zip gdb-bef95aacb8501edb086381b3d413485d732f00f3.tar.gz gdb-bef95aacb8501edb086381b3d413485d732f00f3.tar.bz2 |
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.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/Makefile.in | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gdb/testsuite/Makefile.in b/gdb/testsuite/Makefile.in index fb0d8e5..6e5b1e9 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 |