From: Stefano Lattarini Date: Wed, 23 May 2012 09:33:25 +0000 (+0200) Subject: [ng] news: update w.r.t. recent changes in testsuite harnesses (TESTS based) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0f20e59411bcd1713ac5ac9989863b5f6b20e034;p=thirdparty%2Fautomake.git [ng] news: update w.r.t. recent changes in testsuite harnesses (TESTS based) * NG-NEWS (Parallel testsuite harness): The 'test-driver' auxiliary script is always distributed when the TESTS variable is seen, even if it is not strictly required. Conditional and dynamic (even computed at make runtime) content of TEST_EXTENSIONS is supported. We are more liberal in accepting TEST_EXTENSIONS entries (it's enough that they start with a dot), and if any of them is invalid, an error is given at make runtime, not at automake runtime. Adjust some existing text to be more clear, thanks to a better use of separating vertical and horizontal space. Signed-off-by: Stefano Lattarini --- diff --git a/NG-NEWS b/NG-NEWS index c67a58033..1334438b7 100644 --- a/NG-NEWS +++ b/NG-NEWS @@ -86,20 +86,18 @@ Parallel testsuite harness thanks to a careful use of pattern rules. * The new implementation of the parallel-tests harness tries to defer - as much as possible processing on the $(TESTS) variable at make, - rather than doing it at automake time. This as some positive effects - (described below), but also entails a minor annoyance. When automake - runs, it cannot know anymore whether $(TESTS) contains or not any - entry with no recognized test suffix; as a consequence, it always - need the '$(LOG_DRIVER)' variable to be defined. If it's not, - automake will define it to a proper invocation of the 'test-driver' - auxiliary script, and require that script to be present in the - config-aux directory (or bring it in if "--add-missing" is in use). - If you know you package won't make use of suffix-less tests (thus, in - particular, no use of compiled programs in $(TESTS)), you can avoid - requiring the 'test-driver' script by adding this line to your - configure.ac: - AC_SUBST([LOG_DRIVER], ['unused but required by automake']) + as much as possible processing on the $(TESTS), $(XFAIL_TESTS) and + $(TEST_EXTENSIONS) variable at make runtime, rather than doing it at + automake time. This has several positive effects (described below), + but also entails a minor annoyance: due to implementation reasons, the + 'test-driver' auxiliary script is now always required and distributed, + even if no test script actually uses it as its LOG_DRIVER script. + This is not a big deal in practice, since as of today, all the real + world packages out there actually use 'test-driver' for most (if not + all) of their tests (the introduction of TAP support in mainstream + automake being too recent for those packages to have had time to phase + out their protocol-less tests, assuming they wanted to -- which is + usually not the case either). * The parallel testsuite harness realizes whether an entry of $(TESTS) start with $(srcdir) (as in "TESTS = $(srcdir)/foo.test"), and manages @@ -111,7 +109,28 @@ Parallel testsuite harness advanced features (like specific builtins or user-defined functions) in the definition of $(TESTS); for example, the following should now work as expected: - TESTS = $(wildcard $(srcdir)/t[0-9][0-9]*.sh) + + TESTS = $(wildcard $(srcdir)/t[0-9][0-9]*.sh) + +* The contents of $(TEST_EXTENSIONS) are mostly analyzed at make runtime + rather than at automake runtime, so that it is now possible to use + Automake conditionals and GNU make advanced features in the definition + of $(TEST_EXTENSIONS); for example, the following should now work as + expected: + + TEST_EXTENSIONS = $(sort $(suffix $(TESTS))) + if SUPPORT_SHELL_TESTS + TEST_EXTENSIONS += .sh + endif + +* We are more liberal and lenient in accepting TEST_EXTENSIONS entries: + it's enough that they start with a dot to be considered valid. However, + using overly "funny" characters (like '!' or '@') could cause problems, + so the user is still advised to limit himself to the use of alphanumeric + characters, plus eventually '.', '-', and '_'. + +* Errors about invalid content of $(TEST_EXTENSIONS) are reported at + make runtime, not auto Automake runtime. * It is not anymore possible to override TEST_LOGS at make runtime as a mean to redefine the list of tests to be run.