]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
[ng] news: update w.r.t. recent changes in testsuite harnesses (TESTS based)
authorStefano Lattarini <stefano.lattarini@gmail.com>
Wed, 23 May 2012 09:33:25 +0000 (11:33 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Wed, 23 May 2012 09:33:25 +0000 (11:33 +0200)
* 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 <stefano.lattarini@gmail.com>
NG-NEWS

diff --git a/NG-NEWS b/NG-NEWS
index c67a580330534cec4cb6f4de7cdefadb0c3e70ab..1334438b75ab6d6f369094d5d4b90ce5ce0e850b 100644 (file)
--- 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.