automake-ng
[Top][All Lists]
Advanced

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

[Automake-NG] [PATCH 19/17] [ng] doc: update w.r.t. recent changes in te


From: Stefano Lattarini
Subject: [Automake-NG] [PATCH 19/17] [ng] doc: update w.r.t. recent changes in testsuite harnesses (TESTS-based)
Date: Wed, 23 May 2012 11:01:50 +0200

* doc/automake-ng.texi (EXEEXT): $(TESTS) and $(XFAIL_TESTS) are not
anymore rewritten for $(EXEEXT) appending, even when the 'serial-tests'
option is in use.
(Parallel Tests Harness): The content of $(TEST_EXTENSIONS) is more
liberally accepted now (any dot-starting string is accepted), and if it
turns out any entry is invalid, an error about that will be reported at
make runtime, not at automake runtime.
* t/test-extensions-funny-chars.sh: Enhance to verify that we can actually
have test extension composed by digits (as is implied by the manual).

Signed-off-by: Stefano Lattarini <address@hidden>
---
 doc/automake-ng.texi             |   19 ++++++++-----------
 t/test-extensions-funny-chars.sh |   17 +++++++++++++----
 2 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/doc/automake-ng.texi b/doc/automake-ng.texi
index b68015e..55a1288 100644
--- a/doc/automake-ng.texi
+++ b/doc/automake-ng.texi
@@ -6896,12 +6896,6 @@ bin_PROGRAMS = liver$(EXEEXT)
 The targets Automake generates are likewise given the @samp{$(EXEEXT)}
 extension.
 
-When the @option{parallel-tests} option is in use, the variables
address@hidden and @code{XFAIL_TESTS} (@pxref{Simple Tests}) are also
-rewritten if they contain filenames that have been declared as
-programs in the same @file{Makefile}.  (This is mostly useful when some
-programs from @code{check_PROGRAMS} are listed in @code{TESTS}.)
-
 However, Automake cannot apply this rewriting to @command{configure}
 substitutions.  This means that if you are conditionally building a
 program using such a substitution, then your @file{configure.ac} must
@@ -8981,11 +8975,14 @@ the @emph{read-only} variable @code{TEST_LOGS}, and 
defaults to
 as well as any suffix listed in @code{TEST_EXTENSIONS} removed, and
 @file{.log} appended.  @code{TEST_EXTENSIONS} defaults to @file{.test};
 it can be overridden by the user, in which case any extension listed
-in it must be constituted by a dot, followed by a non-digit alphabetic
-character, followed by any number of alphabetic characters.
address@hidden Keep in sync with test-extensions.sh
-For example, @samp{.sh}, @samp{.T} and @samp{.t1} are valid extensions,
-while @samp{.x-y}, @samp{.6c} and @samp{.t.1} are not.
+in it must start with a dot (the generated Makefile will check at
+runtime that this is the case, and error out if it's not).  While
address@hidden entries could in theory support ``funny
+characters'' (like @samp{@@} or @samp{!}), their use might cause
+unexpected problems for the underlying GNU make implementation, so
+you're advised to limit to the use of alphanumeric characters, plus
+eventually the underscore @samp{_}, the dot @samp{.}, the dash
address@hidden characters.
 
 @vindex _LOG_COMPILE
 @vindex _LOG_COMPILER
diff --git a/t/test-extensions-funny-chars.sh b/t/test-extensions-funny-chars.sh
index d189bfe..e016112 100755
--- a/t/test-extensions-funny-chars.sh
+++ b/t/test-extensions-funny-chars.sh
@@ -24,10 +24,11 @@ fetch_tap_driver
 echo AC_OUTPUT >> configure.ac
 
 cat >> Makefile.am <<'END'
-TEST_EXTENSIONS = .@ .f-o-o .l!Nu.x
-TESTS = foo.@ bar.f-o-o zardoz.l!Nu.x
+TEST_EXTENSIONS = .@ .2 .f-o-o .l!Nu.x
+TESTS = foo.@ bar.f-o-o baz.2 zardoz.l!Nu.x
 XFAIL_TESTS = zardoz.l!Nu.x
 @_LOG_COMPILER = $(SHELL)
+2_LOG_COMPILER = $(SHELL)
 F-O-O_LOG_DRIVER = $(srcdir)/tap-driver
 L!NU.X_LOG_COMPILER = false
 EXTRA_DIST = $(TESTS) tap-driver
@@ -42,7 +43,10 @@ cat > foo.@ << 'END'
 echo @K @K @K
 exit 0
 END
-chmod a-x foo.@ # We don't want it to be executable, either.
+cp foo.@ baz.2
+# We don't want them to be executable, either.  So do this for
+# extra safety.
+chmod a-x foo.@ baz.2
 
 cat > bar.f-o-o << 'END'
 #! /bin/sh
@@ -63,8 +67,9 @@ chmod a+x zardoz.l!Nu.x
 
 count_all ()
 {
-  count_test_results total=6 pass=3 fail=0 skip=1 xfail=2 xpass=0 error=0
+  count_test_results total=7 pass=4 fail=0 skip=1 xfail=2 xpass=0 error=0
   grep '^PASS: address@hidden'                 stdout
+  grep '^PASS: baz\.2$'                 stdout
   grep '^XFAIL: zardoz.l!Nu\.x$'        stdout
   grep '^PASS: bar\.f-o-o 1 - good'     stdout
   grep '^SKIP: bar\.f-o-o 2 # SKIP'     stdout
@@ -84,6 +89,8 @@ ls -l
 cat test-suite.log
 cat foo.log
 grep '@K @K @K' foo.log
+cat baz.log
+grep '@K @K @K' baz.log
 cat bar.log
 cat zardoz.log
 grep 'Hello Zardoz' zardoz.log && Exit 1
@@ -94,6 +101,7 @@ $MAKE clean
 test ! -f test-suite.log
 test ! -f foo.log
 test ! -f bar.log
+test ! -f baz.log
 test ! -f zardoz.log
 
 st=0
@@ -103,6 +111,7 @@ count_test_results total=1 pass=0 fail=0 skip=0 xfail=0 
xpass=1 error=0
 cat test-suite.log
 test ! -f foo.log
 test ! -f bar.log
+test ! -f baz.log
 cat zardoz.log
 grep 'Hello Zardoz' zardoz.log
 test $st -gt 0 || Exit 1
-- 
1.7.9.5




reply via email to

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