parallel-tests: optimize 'recheck' target for speed
authorStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 26 Apr 2012 20:25:35 +0000 (22:25 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Mon, 30 Apr 2012 15:45:22 +0000 (17:45 +0200)
commitf5733aabe7c186a04f288214cb840a423d5b821b
tree88653eeab7898ae12f87a639932f65d66102e15f
parent6e5b444165b420ba757fed2f3973da37d6df6ffe
parallel-tests: optimize 'recheck' target for speed

With this change, the time required to execute the test case
'testsuite-recheck-speed.sh' has dropped as follows:

  + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM,
    GNU make 3.81:
      - 1 run: 6 minutes => 40 seconds

  + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM,
    Solaris CCS make:
      - 4 runs: 3 minutes => 1 minute

  + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM,
    GNU make 3.82:
      - 5 runs: 4 minutes => 1 minute 30 seconds

* lib/am/check.am (recheck): Optimize for speed, by avoiding lots of
forks with the help of ...
(am__list_recheck_tests): ... this new internal variable, basically
defining a proper awk program, and ...
(am__recheck_rx): ... this other new internal variable, used by the
one above.
* t/test-trs-recover2.sh: Relax by not checking for a very corner
case ('.log' and '.trs' files both unreadable) that we don't handle
anymore.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
lib/am/check.am
t/test-trs-recover2.sh