testsuite: Make check-parallel return non-zero if a test failed
authorSimon Marchi <simon.marchi@ericsson.com>
Mon, 18 Jan 2016 19:07:10 +0000 (14:07 -0500)
committerSimon Marchi <simon.marchi@ericsson.com>
Tue, 19 Jan 2016 15:45:57 +0000 (10:45 -0500)
commitbef95aacb8501edb086381b3d413485d732f00f3
treec08c6bfd9e5649fd92590ad0a364337aaf54ae2b
parenta6e69c1f1de84549d99792031dd05d5ba70bd8a5
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.
gdb/testsuite/Makefile.in