]> git.ipfire.org Git - thirdparty/automake.git/commit
parallel-tests: add auxiliary script 'test-driver', refactor
authorStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 10 May 2011 09:30:05 +0000 (11:30 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 21 Jun 2011 20:27:25 +0000 (22:27 +0200)
commita27c9c4956fd1643cc3a0b3a553ce40039867680
treedde849e8bb65b870009c4d6a8316ef09c777335b
parent555ce8b7686c798b0cc599b218955147b0d4c5ea
parallel-tests: add auxiliary script 'test-driver', refactor

This refactoring should cause no API of functionality change,
and is meant only to simplify the future implementation of TAP
and SubUnit testsuite drivers.  More precisely, our roadmap is
to move most of the "testsuite driving" features out of the
Automake-generated Makefiles, and into external scripts with
well-defined interfaces.  This will allow the user to define
its own personalized testsuite drivers, and will also offer us
a framework upon which to implement our new TAP and SubUnit
drivers, all in a very unobtrusive way and retaining an high
degree of code reuse and backward-compatibility.

* lib/test-driver: New auxiliary script.
* lib/Makefile.am (dist_SCRIPT_DATA): Add it.
* automake.in (handle_tests): Require the new auxiliary script
`test-driver', and define a new internal makefile variable
`$(am__test_driver)', used to call it.  Perform new substitution
on `DRIVER' when processing the `check2.am' file.
* lib/check.am (am__tty_colors): Define new shell variable
`$am__color_tests'.
(am__rst_section): Removed, its role taken over by the new
`test-driver' script.
(am__test_driver_flags): New variable, contains the command
line options passed to `test-driver'.
(am__check_pre): Do not deal with temporary files and exit
traps anymore, as the `test-driver' script takes care of that
now.  Define shell variable `$am__enable_hard_errors', used by
`$(am__test_driver_flags)'.  Reorder so that we don't need to
save and restore the value of the `TERM' environment variable
anymore.
Other related adjustments.
(am__check_post): Remove, as its role has been completely taken
over by the `test-driver' script.
* am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
?!GENERIC?%OBJ%): Call the test script through the Automake
substituted `%DRIVER%', and honor the command-line options
in `$(am__test_driver_flags)'.  Do not call the obsoleted
`$(am__check_post)' anymore.
* doc/automake.texi (Auxiliary Programs): Mention the new
`test-driver' script.
(Optional): Mention `test-driver' in AC_CONFIG_AUX_DIR.
Since we are at it, break the list of auxiliary scripts by
placing one per line, to simplify potential future additions
of new scripts.
* tests/check.test: Adjust.
* tests/check2.test : Likewise.
* tests/check3.test : Likewise.
* tests/check4.test : Likewise.
* tests/check10.test: Likewise.
* tests/color.test: Likewise.
* tests/color2.test: Likewise.
* tests/comment9.test: Likewise.
* tests/dejagnu.test: Likewise.
* tests/exeext4.test: Likewise.
* tests/maken3.test: Likewise.
* tests/maken4.test: Likewise.
* tests/parallel-tests-interrupt.test: Likewise.
* tests/posixsubst-tests.test: Likewise.
* tests/repeated-options.test: Likewise.
* tests/check-no-test-driver.test: New test.
* tests/parallel-test-driver-install.test: Likewise.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
29 files changed:
ChangeLog
NEWS
automake.in
doc/automake.texi
lib/Automake/tests/Makefile.in
lib/Makefile.am
lib/Makefile.in
lib/am/check.am
lib/am/check2.am
lib/test-driver [new file with mode: 0755]
tests/Makefile.am
tests/Makefile.in
tests/check-no-test-driver.test [new file with mode: 0755]
tests/check.test
tests/check10.test
tests/check2.test
tests/check3.test
tests/check4.test
tests/color.test
tests/color2.test
tests/comment9.test
tests/dejagnu.test
tests/exeext4.test
tests/maken3.test
tests/maken4.test
tests/parallel-test-driver-install.test [new file with mode: 0755]
tests/parallel-tests-interrupt.test
tests/posixsubst-tests.test
tests/repeated-options.test