summaryrefslogtreecommitdiff
path: root/NG-NEWS
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-04-15 14:00:52 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-05-16 10:04:57 +0200
commit12711fcc0f3dc914b7e63345a25a186b8d4e401f (patch)
treeceea61d77f41389b173c18e16d74d245c1b6d6d4 /NG-NEWS
parente77e1977451fff101bb91b71ff363b94b813fb64 (diff)
downloadautomake-12711fcc0f3dc914b7e63345a25a186b8d4e401f.tar.gz
[ng] check: big refactoring with semantic changes in parallel-tests support
In this change, we move some further processing related to the parallel testsuite harness support from Automake runtime to make runtime. A welcome collateral effect of this is that we are now able to cope with test scripts whose name ends with several concatenated suffixes. Another (less welcome) collateral effect of the present change is that the user now cannot override TEST_LOGS at make runtime anymore: # This won't work anymore! make check TESTS_LOGS="foo.log bar.log baz.log" This admittedly is a small(ish) regression. But it's not a real problem, since we now explicitly allow *and document* that TESTS can be overridden at runtime without bothering to add the test suffixes to its entries: # This will work even if complete names of the tests are (say) # "foo.test", "bar.test$(EXEEXT)" and "baz$(EXEEXT)". make check TESTS="foo bar baz" With such usage, the user don't have to bother knowing which the exact extensions of each tests are -- which was precisely the only advantage of overriding TEST_LOGS instead of TESTS. * NG-NEWS: Update. * doc/automake.texi: Likewise. * lib/am/header-vars.am (am__strip_suffixes_0, am__strip_suffixes): New internal macros ... * t/internals.tap: ... covered by new checks in this test, and used ... * lib/am/check.am (am__xfail_test_bases): ... to define this new internal variable in term of $(am__cooked_xfail_tests) (and thus eventually of $(XFAIL_TESTS)), and to ... (am__TEST_BASES): ... (re)define this pre-existing internal variable in terms of $(am__cooked_tests) (and thus eventually of $(TESTS)), rather than in terms of $(TEST_LOGS) as was done before. (am__TEST_RESULTS, am__TEST_LOGS): Define in terms of $(am__TEST_BASES). (TEST_LOGS): Define to $(am__TEST_LOGS), for backward-compatibility. ($(TEST_SUITE_LOG)): Depend on $(am__TEST_RESULTS) rather than on $(TEST_LOGS). (am__check_pre): Use $(am__xfail_test_bases) and new temporary shell variable $f2, instead of $(am__cooked_xfail_tests) and $f, to decide whether a test is expected to fail or not. Fix some imprecise or botched comments since we are at it. (check-TESTS, recheck): When re-invoking make recursively, override am__TEST_BASES rather than TEST_LOGS. Relate tweaks. * automke.in (handle_tests): Pass new transform %HANDLE-EXEEXT% when including check.am (used for the definitions of am__xfail_test_bases and am__TEST_BASES). Don't define the TEST_LOGS make variable, nor the auxiliary make variables am__test_logs1, am__test_logs2, etc. Put $(am__TEST_LOGS) and $(am__TEST_RESULTS) among the "mostlyclean" files (rather than "$(TEST_LOGS)" and "$(TEST_LOGS:.log=.trs)" as before). * t/parallel-tests-concatenated-suffix.sh: New test. * t/nodeps.sh: Delete, it was causing too much spurious failures. * t/color2.sh: Avoid a spurious failure by not calling make with the '-e' flag. * t/parallel-tests-exeext.sh: Extended to check the user is not forced to specify the test suffixes nor the $(EXEEXT) suffix when overriding TESTS on the command line. * t/check-concurrency-bug9245.sh: Adjust to the new semantics of "no TEST_LOGS overriding from the command line". * t/parallel-tests-cmdline-override.sh: Likewise. * t/parallel-tests-dynamic.sh: Likewise. * t/parallel-tests-fork-bomb.sh: Likewise. * t/parallel-tests-log-override-2.sh: Likewise. * t/tap-basic.sh: Likewise. * t/test-driver-custom-multitest-recheck2.sh: Likewise. * t/test-missing.sh: Likewise. * t/test-trs-basic.sh: Likewise. * t/test-trs-recover.sh: Likewise. * t/parallel-tests-empty-tests.sh: Likewise, and extended to check that an empty TESTS produces am__cooked_tests, am__TEST_RESULTS, am__TEST_BASES and am__TEST_LOGS that are empty as well. * t/parallel-tests.sh: Adjust to the new semantics of "no TEST_LOGS overriding from the command line". Remove a workaround required only by HP-UX make. Make some "FIXME"-style comments stick out. * t/serial-tests.sh: Adjust some checks that grep the Automake generated Makefile.in. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 'NG-NEWS')
-rw-r--r--NG-NEWS14
1 files changed, 14 insertions, 0 deletions
diff --git a/NG-NEWS b/NG-NEWS
index 49c16ea34..1f638b6db 100644
--- a/NG-NEWS
+++ b/NG-NEWS
@@ -99,6 +99,20 @@ Parallel testsuite harness
work as expected:
TESTS = $(wildcard $(srcdir)/t[0-9][0-9]*.sh)
+* It is not anymore possible to override TEST_LOGS at make runtime as a
+ mean to redefine the list of tests to be run.
+
+ # This won't work anymore!
+ make check TESTS_LOGS="foo.log bar.log baz.log"
+
+ But it's still possible do so overriding TESTS at make runtime; and
+ in this case (as was the case for TEST_LOGS overriding), it is not
+ necessary to specify the extensions of the tests to be run:
+
+ # This will work even if complete names of the tests are (say)
+ # "foo.test", "bar.test$(EXEEXT)" and "baz$(EXEEXT)".
+ make check TESTS="foo bar baz"
+
Pattern rules and suffix rules
==============================