- AC_CONFIG_TESTDIR will automatically pass EXEEXT to a testsuite (via
the atconfig file).
+- AT_TESTED arguments can use variable or command substitutions, including
+ in particular $EXEEXT
* Noteworthy changes in release 2.69 (2012-04-24) [stable]
the test suite itself, or its occasional misuses. It is a good idea to
also subscribe foreign programs you depend upon, to avoid incompatible
diagnostics.
+
+@var{executables} is implicitly wrapped in shell double quotes, but it
+will still use shell variable expansion (@samp{$}), command substitution
+(@samp{`}), and backslash escaping (@samp{\}). In particular, the
+@env{EXEEXT} variable is available if it is passed to the testsuite
+via @file{atlocal} or @file{atconfig}.
@end defmac
@sp 1
} >&AS_MESSAGE_LOG_FD
# Report what programs are being tested.
-for at_program in : $at_tested
+for at_program in : `eval echo $at_tested`
do
test "$at_program" = : && continue
case $at_program in
# must correspond to the version of the package. PATH should be
# already preset so the proper executable will be selected.
m4_define([AT_TESTED],
-[m4_append_uniq_w([AT_tested], [$1])])
+[m4_append_uniq_w([AT_tested], ["$1"])])
# AT_COPYRIGHT(TEXT, [FILTER = m4_newline])
AT_SETUP([C unit tests])
AT_KEYWORDS([AC_@&t@CONFIG_TESTDIR])
+AT_KEYWORDS([AT_@&t@TESTED])
mkdir t
AT_DATA([configure.ac], [[AC_INIT
AT_CHECK_AT_PREP([suite],
[[AT_INIT([suite to check C programs])
+AT_TESTED([testprog$EXEEXT])
AT_SETUP([my only test])
AT_CHECK([testprog$EXEEXT foo], [0])
AT_CHECK([testprog$EXEEXT], [1])
AT_SETUP([C unit tests (EXEEXT)])
AT_KEYWORDS([AC_@&t@CONFIG_TESTDIR])
+AT_KEYWORDS([AT_@&t@TESTED])
mkdir t
AT_DATA([configure.ac], [[AC_INIT
AT_CHECK_AT_PREP([suite],
[[AT_INIT([suite to check C programs])
+AT_TESTED([testprog$EXEEXT])
AT_SETUP([my only test])
AT_CHECK([testprog$EXEEXT foo], [0])
AT_CHECK([testprog$EXEEXT], [1])