automake-ng
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-NG] [PATCH 20/17] [ng] news: update w.r.t. recent changes in t


From: Stefano Lattarini
Subject: [Automake-NG] [PATCH 20/17] [ng] news: update w.r.t. recent changes in testsuite harnesses (TESTS based)
Date: Wed, 23 May 2012 11:34:15 +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 <address@hidden>
---
 NG-NEWS |   49 ++++++++++++++++++++++++++++++++++---------------
 1 file changed, 34 insertions(+), 15 deletions(-)

diff --git a/NG-NEWS b/NG-NEWS
index c67a580..1334438 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.
-- 
1.7.9.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]