+2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ check: rename AM_TESTS_SETUP -> AM_TESTS_ENVIRONMENT
+ The AM_TESTS_SETUP naming was not a good one after all. It may
+ be technically more correct than AM_TESTS_ENVIRONMENT, but the
+ latter is a better one simply because it is easier to remember,
+ and even if you've never heard of it and only know the semantics
+ of TESTS_ENVIRONMENT, you can have a straightforward way to
+ figure out how AM_TESTS_ENVIRONMENT would work.
+ * tests/check.am (am__check_pre): Update.
+ * doc/automake.in (Simple Tests using parallel-tests): Update.
+ * tests/parallel-tests-am_tests_setup.test: Renamed ...
+ * tests/parallel-tests-am_tests_environment.test: ... to this,
+ and updated.
+ * tests/Makefile.am (TESTS): Update.
+ Suggestion and motivation by Ralf Wildenhues.
+
2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
check: new developer-reserved AM_TESTS_SETUP variable
the @code{check_*} variables are honored, and the environment variable
@env{srcdir} is set during test execution. Also, @code{TESTS_ENVIRONMENT}
is still honored, but is complemented by a new developer-reserved variable
-@code{AM_TESTS_SETUP} (described below).
+@code{AM_TESTS_ENVIRONMENT} (described below).
This test driver is still experimental and may undergo changes in order
to satisfy additional portability requirements.
@samp{TESTS_ENVIRONMENT} variable is still expanded before the driver,
but should be reserved for the user.
-@vindex AM_TESTS_SETUP
-The @code{AM_TESTS_SETUP} variable can be used to run initialization code
-and set environment variables for the tests' runs. The user can still
-employ the @code{TESTS_ENVIRONMENT} variable to override settings from
-@code{AM_TESTS_SETUP}. Note that, for implementation reasons, if the
-@code{AM_TESTS_SETUP} variable is set, its contents @emph{must} be
-terminated by a semicolon.
-
-@example
-# The tests below are expected to use the file descriptor passed
-# in the environment variable 'warn_fileno' to print warnings
-# (e.g., about skipped and failed tests). If this variable were
-# to be set to `2' (i.e. default stderr), the warnings would be
-# redirected by the automake parallel-tests driver into the .log
-# files. But the AM_TESTS_SETUP definition below will cause the
-# reasons for skip/failure to be printed to the console instead.
-# The user can still override this by setting TESTS_ENVIRONMENT
-# to e.g. `warn_fileno=2' at make runtime, which will cause the
-# warnings to be sent to the .log files again.
+@vindex AM_TESTS_ENVIRONMENT
+The @code{AM_TESTS_ENVIRONMENT} variable can be used to run initialization
+code and set environment variables for the tests' runs. The user can
+still employ the @code{TESTS_ENVIRONMENT} variable to override settings
+from @code{AM_TESTS_ENVIRONMENT}. Note that, for implementation reasons,
+if the @code{AM_TESTS_ENVIRONMENT} variable is set, its contents
+@emph{must} be terminated by a semicolon.
+
+@example
+# The tests below are expected to use the file descriptor passed in
+# the environment variable 'warn_fileno' to print warnings (e.g.,
+# about skipped and failed tests). If this variable were to be set
+# to `2' (i.e. default stderr), the warnings would be redirected by
+# the automake parallel-tests driver into the .log files. But the
+# AM_TESTS_ENVIRONMENT definition below will cause the reasons for
+# skip/failure to be printed to the console instead. The user
+# can still override this by setting TESTS_ENVIRONMENT to e.g.
+# `warn_fileno=2' at make runtime, which will cause the warnings
+# to be sent to the .log files again.
TESTS = test1.sh test2.sh ...
-AM_TESTS_SETUP = exec 9>&2; warn_fileno=9; export warn_fileno;
+AM_TESTS_ENVIRONMENT = exec 9>&2; warn_fileno=9; export warn_fileno;
@end example
@trindex mostlyclean
# To be inserted before the command running the test. Creates the
# directory for the log if needed. Stores in $dir the directory
# containing $f, in $tst the test, in $log the log. Executes the
-# developer- defined test setup AM_TESTS_SETUP (if any), and passes
-# TESTS_ENVIRONMENT. Saves and restores TERM around uses of
-# TESTS_ENVIRONMENT and AM_TESTS_SETUP, in case any of them unsets
-# it.
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Saves and restores TERM around uses of
+# TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT, in case any of them
+# unsets it.
am__check_pre = \
$(am__sh_e_setup); \
$(am__vpath_adj_setup) $(am__vpath_adj) \
elif test -f "$$f"; then dir=; \
else dir="$(srcdir)/"; fi; \
tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \
-$(AM_TESTS_SETUP) \
+$(AM_TESTS_ENVIRONMENT) \
$(TESTS_ENVIRONMENT)
# To be appended to the command running the test. Handle the stdout
# and stderr redirection, and catch the exit status.
# To be inserted before the command running the test. Creates the
# directory for the log if needed. Stores in $dir the directory
# containing $f, in $tst the test, in $log the log. Executes the
-# developer- defined test setup AM_TESTS_SETUP (if any), and passes
-# TESTS_ENVIRONMENT. Saves and restores TERM around uses of
-# TESTS_ENVIRONMENT and AM_TESTS_SETUP, in case any of them unsets
-# it.
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Saves and restores TERM around uses of
+# TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT, in case any of them
+# unsets it.
am__check_pre = \
$(am__sh_e_setup); \
$(am__vpath_adj_setup) $(am__vpath_adj) \
elif test -f "$$f"; then dir=; \
else dir="$(srcdir)/"; fi; \
tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \
-$(AM_TESTS_SETUP) \
+$(AM_TESTS_ENVIRONMENT) \
$(TESTS_ENVIRONMENT)
# To be appended to the command running the test. Handle the stdout
parallel-tests8.test \
parallel-tests9.test \
parallel-tests10.test \
-parallel-tests-am_tests_setup.test \
+parallel-tests-am_tests_environment.test \
parallel-tests-unreadable-log.test \
parallel-tests-subdir.test \
parse.test \
# To be inserted before the command running the test. Creates the
# directory for the log if needed. Stores in $dir the directory
# containing $f, in $tst the test, in $log the log. Executes the
-# developer- defined test setup AM_TESTS_SETUP (if any), and passes
-# TESTS_ENVIRONMENT. Saves and restores TERM around uses of
-# TESTS_ENVIRONMENT and AM_TESTS_SETUP, in case any of them unsets
-# it.
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Saves and restores TERM around uses of
+# TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT, in case any of them
+# unsets it.
am__check_pre = \
$(am__sh_e_setup); \
$(am__vpath_adj_setup) $(am__vpath_adj) \
elif test -f "$$f"; then dir=; \
else dir="$(srcdir)/"; fi; \
tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \
-$(AM_TESTS_SETUP) \
+$(AM_TESTS_ENVIRONMENT) \
$(TESTS_ENVIRONMENT)
# To be appended to the command running the test. Handle the stdout
# and stderr redirection, and catch the exit status.
parallel-tests8.test \
parallel-tests9.test \
parallel-tests10.test \
-parallel-tests-am_tests_setup.test \
+parallel-tests-am_tests_environment.test \
parallel-tests-unreadable-log.test \
parallel-tests-subdir.test \
parse.test \
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# parallel-tests: check AM_TESTS_SETUP support, and its interaction
-# with TESTS_ENVIRONMENT.
+# parallel-tests: check AM_TESTS_ENVIRONMENT support, and its
+# interactions with TESTS_ENVIRONMENT.
parallel_tests=yes
. ./defs || Exit 1
TEST_EXTENSIONS = .sh .test
TESTS = foo.test bar.sh
SH_LOG_COMPILER = sh
-AM_TESTS_SETUP = $(MKDIR_P) quux.dir; exec 9>&2; fd=9; export fd;
+AM_TESTS_ENVIRONMENT = $(MKDIR_P) quux.dir; exec 9>&2; fd=9; export fd;
EXTRA_DIST = $(TESTS)
END