The targets Automake generates are likewise given the @samp{$(EXEEXT)}
extension.
-When the @option{parallel-tests} option is in use, the variables
-@code{TESTS} 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
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.
-@c 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
+@code{TEST_EXTENSIONS} 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
+@samp{-} characters.
@vindex _LOG_COMPILE
@vindex _LOG_COMPILER
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
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
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: foo\.@$' 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
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
test ! -f test-suite.log
test ! -f foo.log
test ! -f bar.log
+test ! -f baz.log
test ! -f zardoz.log
st=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