diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-07-06 12:24:33 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-07-06 21:24:19 +0200 |
commit | b6e6409a68595fec2c9bf484b36f0a498bd18d87 (patch) | |
tree | 614a7798855827fd5b2c6d96db939e855750d4e0 /Makefile.am | |
parent | 3e4f53df611d0592a9f8d7b154a48573b2b29ae6 (diff) | |
download | automake-b6e6409a68595fec2c9bf484b36f0a498bd18d87.tar.gz |
tests init: don't automatically re-execute tests with a POSIX shell
I've unwittingly broken support for that feature *again* in some of
my recent testsuite tweaking. In this case, the re-execution code
works correctly when the tests are executed with a POSIX shells, but
breaks when they are invoked by an old-style Bourne shells (e.g.,
/bin/sh on Solaris).
It's time to face it: that feature is too much brittle, and too seldom
used (because the Makefile takes care of running the tests with the
correct shell anyway, so that a breakage is only experienced when
running the tests by hand). It just don't remain working for long, not
when we often touch the testsuite setup (which we are going to do again
when we'll try to move part of our testsuite framework to Gnulib, or a
similar project).
So, instead of trying to be extra-smart and automatically re-execute the
tests with the correct shell, we now offer a simple wrapper script that
the user can employ to run the test scripts with the proper shell. And
while we are at it, we write this wrapper to also deal with TAP tests in
a better way, running them through the prove(1) utility, so that their
results are correctly recognized and reported.
* t/ax/test-runner.in: New file; the wrapper script we were talking about.
* configure.ac (AC_CONFIG_FILES): Process it into 't/ax/test-runner'.
* .gitignore: Add 't/ax/test-runner'.
* defs: Remove code for automatic re-execution of the scripts with the
correct shell. This file now just a very thin layer around 'defs-static'
and 't/ax/test-init.sh'.
* t/README: Adjust, and remove or fix some imprecise or outdated text in
the process (like "... test scripts are written with portability in mind,
so that they should run with any decent Bourne-compatible shell ..." ).
* Makefile.am (AM_TESTS_ENVIRONMENT): No need to export 'AM_TESTS_REEXEC'
to "no" anymore.
* t/self-check-explicit-skips.sh: Likewise.
* t/self-check-exit.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-reexec.tap: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/Makefile.am b/Makefile.am index b74572133..f55f6fbbd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -345,11 +345,6 @@ AM_TESTS_ENVIRONMENT = \ ; do \ eval test x"\$${$$v}" = x || unset $$v; \ done; -# The 'AM_TESTS_REEXEC=no' setting tells the tests not to needlessly -# re-execute themselves with the shell detected at configure time, since -# we are already running them under it explicitly in our setup (see e.g. -# the definition of TEST_LOG_COMPILER above). -AM_TESTS_ENVIRONMENT += AM_TESTS_REEXEC=no; export AM_TESTS_REEXEC; # We want warning messages and explanations for skipped tests to go to # the console if possible, so set up 'stderr_fileno_' properly. AM_TESTS_FD_REDIRECT = 9>&2 |