The previous implementation could eat all memory if the given list was
really huge -- but this function will be needed to operate on potentially
huge lists! (i.e., list of tests or files which can exceed the command-line
length limit of the system).
As a drawback, the function cannot recursively invoke itself anymore (not
even indirectly), but this is an acceptable limitation for its intended
uses.
* lib/am/header-vars.am (am.xargs-map): Reimplemented.
(am.max-cmdline-args): Redefine, as its semantics have changed.
(am.max-cmdline-args+1): Remove, no more needed.
It will be useful in future changes, to help us to fend of errors
about "exceeded command line length" in our recipes.
* lib/am/header-vars.am (am.xargs-map): New internal function.
(am.max-cmdline-args, am.max-cmdline-args+1): New internal
auxiliary make variables.
* t/am-xargs-map.sh: New test.
[ng] coverage: cleaning rules with lots of files to clean
* t/clean-many.sh: New test, try cleaning ~ 130 thousands files.
Currently fails on some systems (e.g., NetBSD 5.1).
* t/clean-many2.sh: New test, check that our cleaning rules do not
hit errors due to an exceeded command line length when there are
many files to clean; it does so by faking a very low command line
length limit for 'rm' (max 50 arguments). Currently failing.
[ng] recheck: improve the fix for bug#11791 to use more GNU make features
* lib/am/parallel-tests.am: Here, and to generally have a "look and feel"
more in the Automake-NG style. Also, improve comments while we are at it.
* Makefile.am (XFAIL_TESTS): Remove 't/test-missing.sh', as the changes in
'parallel-tests.am' have restored some semantics that had been messed up
in the previous merge (where 't/test-missing.sh' started failing).
This merge fixes automake bug#11791 for Automake-NG as well.
* master:
tests: don't trust the exit status of "make -k" for non-GNU makes
parallel-tests: reimplement fix for bug#11791
tests setup: unset CDPATH
tests setup: more namespace safeness
tests setup: remove an unused variable
tests setup: less hard-coding of the test subdirectory
+ Extra non-trivial edits:
* lib/am/parallel-tests.am: Manually merge the new implementation of the
fix for the bug#11791, as implemented by commit 'v1.12.1-95-gd5443e4' of
mainline Automake.
* Makefile.am (XFAIL_TESTS): Remove 't/parallel-tests-recheck-pr11791.sh'.
Add 't/test-missing.sh', which is slightly broken by this patch. A later
patch will restore the lost behaviour.
* maint:
tests: don't trust the exit status of "make -k" for non-GNU makes
parallel-tests: reimplement fix for bug#11791
tests setup: unset CDPATH
tests setup: more namespace safeness
tests setup: remove an unused variable
tests setup: less hard-coding of the test subdirectory
* lib/am/check.am: Here. The new implementation is shorter, slightly
more efficient (requiring less forks), less brittle in the face of
signals or unexpected interruptions in the make process, and should
also be easier to merge in the 'ng/master' branch (as of now, due to
the difficulties in merging our previous version of the fix in the
'ng/master' codebase, Automake-NG still lacks a fix for bug#11791).
* master:
parallel-tests: silence an overly verbose recipe
tests: fix some uses of 'Exit', where 'exit' should now be used instead
maintcheck: test scripts should be executable, check for that
parallel-tests: recipes for "check" and "recheck" are separated again
tests: prefer "test ! -e FILE" to check that a file doesn't exist
parallel-tests: "recheck" behaves better in case of compilation failures
scripts: quote 'like this', not `like this'
+ Extra non-trivial edits:
* lib/am/parallel-tests.am: Add a FIXME comment about automake bug#11791,
stating that we should fix that someday. This is required because the
changes introduced in mainline automake commit 'v1.12.1-64-g2a3e45d',
which fixed automake bug#11791 there, couldn't be merged correctly in
Automake-NG by the present commit, due to great divergences in the
affected parts of the codebase.
* Makefile.am (XFAIL_TESTS): Add 't/parallel-tests-recheck-pr11791.sh'.
tests setup: less hard-coding of the test subdirectory
* t/ax/tests-init.sh: Make the code creating the temporary
test subdirectory smart enough to automatically create it
in the same subdirectory of the test that is being run.
* defs-static.in ($MKDIR_P, $am_rel_srcdir): New variables,
AC_SUBST'd from @MKDIR_P@ and @srcdir@ respectively, and
used in the new 'tests-init.sh' code.
* maint:
parallel-tests: silence an overly verbose recipe
tests: fix some uses of 'Exit', where 'exit' should now be used instead
maintcheck: test scripts should be executable, check for that
maintcheck: test scripts should be executable, check for that
* syntax-checks.mk (sc_tests_executable): Here, in this new check.
(syntax_check_rules): Add it.
* Makefile.am (dist-hook): Drop, no need to make test cases executable
anymore.
Its tests are hopelessly failing now, it is complex to debug (and I'm
too ignorant about its aims and its implementation to do so), and anyway
it should probably be rewritten to take better advantage of GNU make and
Automake-NG features. So let's drop it for now, to avoid slowing down
the Automake-NG development. Anyone interested in the 'multilib' will
send patches re-implementing it after out first Automake-NG beta is out.
Probably several months from now.
[ng] warns: fix checks against typos in vars (e.g., _LDADD and _SOURCES)
After commit v1.12.1-302-g67d6102 of 2012-06-05, "[ng] warns: typos in
_SOURCES etc. reported at make runtime", the checks against typos in use
of few special variables (like 'bar_SOURCES' or 'libfoo_a_LIBADD') are
done at make runtime rather than at automake runtime.
Such checks have so far been running unconditionally every time make was
invoked, thus creating a noticeable performance degradation in null or
almost-null builds of packages that, like GNU coreutils, have a lot of
programs and/or use several recursive make invocations.
What is worse, such checks have been unable to interact well with the
Makefile automatic remake rules. Say that a user encounters a failure
in those checks; he then fixes his 'Makefile.am' accordingly, and re-run
"make", expecting the situation to be sorted out by the automatic remake
rules (as was the case for mainline Automake). But that doesn't happen,
because those same checks will run again *before* giving the remake rules
a chance to kick in -- thus "make" would fail again, exactly as before,
because the Makefile hasn't been rebuilt, and thus hasn't changed.
So the user would forced to re-run automake and config.status *by hand* to
get back a consistent, correct status in its build system! Such situation
is utterly unacceptable.
The present change takes care at once of both of the performance and the
correctness problems.
On the performance side, after this change, the time for a null build
on GNU coreutils (bootstrapped with Automake-NG) has gone down from ~8
seconds to ~2 seconds. Not bad!
* automake.in (generate_makefile): Pass the '%MAKEFILE%' transform
when processing 'check-typos.am'.
* lib/am/check-typos.am: Take advantage of the GNU make automatic restart
capabilities to re-implement the existing check in a more "lazy" way:
they should be re-run only when Makefile has changes, and only after the
automatic remake rules has rebuilt it (if it needs to be rebuilt).
* lib/am/header-vars.am (.am/nil): New do-nothing target, for now used
only by 'check-typos.am'.
* t/am-dir.sh: Adjust.
* t/maken.sh: Likewise.
* t/output6.sh: Likewise.
* t/spell.sh: Likewise.
* t/spell2.sh: Likewise.
* t/vartypos-whitelist.sh: Likewise.
* t/vartypos.sh: Likewise.
[ng] perf: disable GNU make builtin rules, for performance reasons
* lib/am/header-vars (MAKEFLAGS): Append '--no-builtin-rules'. This
enhance performance by removing GNU make builtin rules that would be
rather irrelevant (e.g., rules to automatically check out files from
from RCS or SCCS repositories), or overridden by Automake (e.g., rules
to compile C or C++ files). With this simple tweak, the null-build
time on GNU coreutils on an aging Debian system goes down from ~ 20
seconds to ~ 9 seconds.
parallel-tests: recipes for "check" and "recheck" are separated again
* lib/am/check.am: Here. They have distinctly diverged recently, and
the reduction in code duplication obtained keeping their recipes united
is not anymore worth the extra complications.
* master:
texi: clean after Texinfo manuals in $(SUBDIRS) directories correctly
coverage: regression in texinfo "make mostlyclean" with $(SUBDIRS)
tests: fix a spurious failure
configure: fix detection of POSIX shell to work in a VPATH build
tests: prefer "test ! -e FILE" to check that a file doesn't exist
configure: move a misplaced "section" comment
configure: clump check for ${var%...} and ${var#...} expansion together
cosmetics: improve wording of a couple of configure messages
configure: the testsuite shell must support 'test -e' and 'test ! -e'
tests: remove stale workarounds for Solaris /bin/sh
coverage: regression in texinfo "make mostlyclean" with $(SUBDIRS)
After commit v1.12.1-91-g205c757 of 2012-06-20, "texi: require
Texinfo >= 4.9, related enhancements", the presence of a Texinfo manual
'manual.texi' in a subdir (say 'doc/') of a package using a recursive
make setup would cause "make distcheck" to fail, due to the presence of
the 'manual.t2d/' directory created by texi2dvi. That directory would
not be correctly removed because the 'mostlyclean' rule would run, from
within the 'doc/' sub-directory, "rm -rf doc/manual.t2d", instead of
the expected (and correct) "rm -rf manual.t2d".
Reported by Jim Meyering:
<http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00203.html>
* t/txinfo21.sh: Enhance to expose the issue.
* t/txinfo-no-clutter.sh: Likewise, and other miscellaneous improvements.
* maint:
tests: fix a spurious failure
configure: fix detection of POSIX shell to work in a VPATH build
tests: prefer "test ! -e FILE" to check that a file doesn't exist
configure: fix detection of POSIX shell to work in a VPATH build
* configure.ac: When checking whether "test -e" works, use 'config.log',
not 'configure', as the witness file, because the latter does not exist
in the current directory during a VPATH build.
tests: prefer "test ! -e FILE" to check that a file doesn't exist
Once, for the sake of (at least) Solaris 10 /bin/sh, we had to use
"test ! -f FILE" or "test ! -r FILE" or "test ! -d FILE" instead,
because the that shell's 'test' built-in didn't grok the '-e' option.
Note however that we still can't use "test ! -e" in the Makefile recipes
used in the test cases; that is because those recipes are run with the
shell detected by 'configure', and Autoconf-generated configure scripts
do no guarantee to find or provide a POSIX-compatible shell.
* Several tests: Adjust.
* t/yacc-clean-cxx: Adjust, and remove a couple of useless commands.
* t/parallel-tests-dry-run-2.sh: Adjust, and add invocation to
"make -n" forgotten in previous versions of the test.
* t/txinfo26.sh: Adjust, and don't bother to skip the test when it's
run in a directory whose absolute path contain whitespace: that setup
is not supported anyway.
* t/maken3.sh: Adjust, and fix a typo that could cause a minor false
negative.
* t/test-trs-recover2.sh: Prefer using 'skip_' with a suitable error
message over a bare 'exit 77'.
* maint:
configure: move a misplaced "section" comment
configure: clump check for ${var%...} and ${var#...} expansion together
cosmetics: improve wording of a couple of configure messages
configure: the testsuite shell must support 'test -e' and 'test ! -e'
tests: remove stale workarounds for Solaris /bin/sh
configure: clump check for ${var%...} and ${var#...} expansion together
And together with those for the ${var%%...} and ${var##...} expansions.
After all, it is basically impossible to find a shell that support one
of them but not the others.
* master:
tests init: don't bother allowing '$me' to be overridable
tests init: typofixes in comments
tests: one test was not executable, make it so
readme: fix typo in t/README: s/$((...)/$((...))/
tests: don't skip if $(abs_builddir) or $(abs_srcdir) contain whitespace
tests: avoid spurious maintainer-check failures
tests: remove obsolete hacks around maintainer-check false positives
tests init: don't bother allowing '$me' to be overridable
We once used that feature in our wrapper tests; but now (and probably
even since commit 'v1.11-1308-g375f23d' of 2011-09-08, "testsuite:
revamp generation of autogenerated tests") it is not needed anymore.
By removing it we can simplify our growingly complex testsuite framework
a little.
* t/ax/test-inist.sh ($me): Do not initialize it here (and only if not
already set), instead ...
* defs-static.in ($me): ... initialize it here unconditionally.
Do not check anymore that $me doesn't come from the environment: that
wouldn't cause any problem now.
Now that '$me' is defined early, prefer it over 'argv0' in early error
messages, both here ...
* defs: ... and here.
* Makefile.am (AM_TESTS_ENVIRONMENT): Do not bother "nullifying" $me
anymore.
* t/self-check-env-sanitize.tap: Adjust.
* t/self-check-me.tap: Likewise.
* maint:
tests: one test was not executable, make it so
readme: fix typo in t/README: s/$((...)/$((...))/
tests: don't skip if $(abs_builddir) or $(abs_srcdir) contain whitespace
tests: avoid spurious maintainer-check failures
tests: remove obsolete hacks around maintainer-check false positives
[ng] tests: more uses of $(...) over `...` for command substitution
Caught by the 'sc_tests_command_subst' maintainer check.
* Several tests: Adjust. Also ...
* t/memoize.tap: ... use $((...)) instead of `expr ...` here,
and ...
* t/parallel-tests-dynamic.sh: ... add a missing quote here.
tests: don't skip if $(abs_builddir) or $(abs_srcdir) contain whitespace
We used to explicitly skip libtool and gettext tests if the absolute
path of the builddir or of the srcdir which Automake was configured
with contained any whitespace (or other metacharacters).
But several other tests would spuriously fail in such an unholy setup.
To be precise, it would cause 61 'FAIL's and 42 'ERROR's in the whole
Automake testsuite.
The fact that, as of today, nobody has reported any failure of this kind
means that (thankfully) nobody is building automake with $(abs_srcdir)
or $(abs_builddir) mangled by whitespace. So, instead of trying to cater
to such a broken setup consistently, we just drop the extra check in the
libtool/gettext tests.
In case someone will ever reports a failure due to extra whitespace in
either $(abs_srcdir) or or $(abs_builddir), we will simply enhance our
'configure.ac' to bail out flatly and loudly at such a setup.
* master:
cosmetics: remove trailing whitespace in some files
coverage: enhance tests in 'missing' script a little
coverage: tests AM_MISSING_PROG usage
docs: document AM_MISSING_PROG
tests: fix a spurious failure with Solaris make
tests: simpler workaround for shells losing the exit status in exit trap
tests: avoid several spurious failures on Solaris
tests: avoid a spurious failure on NetBSD
+ Extra non-trivial edits:
* Several tests: Adjusted to use 'exit' rather than 'Exit'.
Now that AM_MISSING_PROG is documented, we want to make sure it
works as expected when used in third-party code.
* t/am-missing-prog.sh: New test.
* t/ammissing: Rename ...
* t/am-macro-not-found.sh: ... like this, to avoid confusion (this
test has nothing to do with the 'missing' script nor with the
'AM_MISSING_PROG' macro).
* t/list-of-tests.mk: Adjust.
Eric Blake [Wed, 27 Jun 2012 21:55:14 +0000 (15:55 -0600)]
docs: document AM_MISSING_PROG
Addresses automake bug#11793.
This macro has been present for a long time, and coreutils has been
relying on it despite no documentation, which argues that it is stable
enough to be worth documenting.
Furthermore, since we are hoping to change our preferred invocation
from 'missing --run program' to 'missing program' in a future version
of automake, we need a way for packages to consistently get the
preferred invocation form rather than open-coding a call to 'missing'.
In particular, the Autoconf manual would love to recommend this macro
when discussing how to integrate an autotest suite with automake.
* ng/cleanup-revamp:
[ng] cleanup: merge '%compile_clean_files' in '%clean_files'
[ng] clean: drop minor DOS-related cruft in libtool support
[ng] cleanup: remove 'clean-hdr.am'
[ng] check: keep cleaning of '.log' and '.trs' files near other rules
[ng] cleanup: remove 'libtool.am'
[ng] refactor: prefer '&file_contents' over '&file_contents_internals'
[ng] cleanup: merge '%compile_clean_files' in '%clean_files'
[ng] refactoring: no "cleaning" rules in compile.am
[ng] clean: don't remove object files in '.' unconditionally
[ng] cleanup: remove 'depend.am'
[ng] refactoring: move definition of $(am__mv) in depend2.am
[ng] automake: new global variable '%clean_dirs'
[ng] clean: do not ignore errors while removing files
[ng] clean: revamp recipes and APIs to extend cleaning rules
[ng] clean: simplify cleaning of compiled objects
[ng] deptrack: clean depdirs using *clean-am targets
[ng] deptrack: remove an obsolete comment
parallel-tests: "recheck" behaves better in case of compilation failures
With this change, the "recheck" target behaves better in the face of build
failures related to previously failed tests. For example, if a test is a
compiled program that must be rerun by "make recheck", and its compilation
fails, that test will still be rerun by further "make recheck" invocations.
Previously, its '.log' and '.trs' would have both been lost, so that the
test would have not been re-run.
This change fixes automake bug#11791.
* NEWS: Update.
* lib/am/check.am (recheck, check-TESTS): Adjust to cater to scenario
described above.
* t/parallel-tests-recheck-pr11791.sh: New test.
* t/list-of-tests.mk: Add it.
[ng] missing: no need to suggest GNU make explicitly
* lib/missing (give_advice): Here. In mainstream Automake, possible use
of GNU make was suggested as a remedy against useless remake of '.info'
files triggered by some buggy vendor make implementations.
Eric Blake [Tue, 26 Jun 2012 16:40:39 +0000 (10:40 -0600)]
missing: --run is supported again (as a no-op) for use by older automake
Commit v1.12.1-87-ga22717d of 2012-06-21 ("missing: do not touch
timestamps; only warn for out-of-date files") has removed the '--run'
option, since our new preferred calling conventions now imply it; but
if a newer 'missing' is mixed with an already built project that used
an older Automake version (this happened in practice for GNU m4; see:
<http://lists.gnu.org/archive/html/bug-m4/2012-06/msg00001.html>), then
the 'Makefile' in that project will fail due to passing the '--run'
option when trying to bring the project up-to-date.
missing: don't cater to 'configure.in' in our advice
The use of 'configure.in' as autoconf input now deprecated the development
versions of both Automake and Autoconf, and we'd like to speed up its
demise.
* missing: In the advice displayed in case some autotools are detected to
be missing, refer to 'configure.ac' unconditionally, instead of referring
to 'configure.in' when that file exists in the current directory (and no
'configure.ac' does).
tests: simpler workaround for shells losing the exit status in exit trap
Now that we can assume our tests are run by a decent POSIX shell, we
can simplify our workaround aimed at having the exit status propagated
correctly to the code in the exit trap. Unfortunately, we cannot
dispense with such a workaround altogether, because it's still required
by some shells we need to support (at least Solaris 10 /bin/ksh and
/usr/xpg4/bin/sh).
For more information about the need of that workaround, see the entry
about 'trap' in the section "Limitations of Shell Builtins" in the
Autoconf manual:
<http://www.gnu.org/software/autoconf/manual/autoconf.html#trap>
The new workaround has been tested successfully with the following
shells:
- Bash 4.1
- Bash 3.2
- Bash 3.0
- Bash 2.05b
- dash 0.5.5.1
- dash 0.5.2
- AT&T Ksh 93u (from official Debian package)
- MirBSD Korn Shell 40.2 (from official Debian package)
- Solaris 9, 10 and 11 /bin/ksh
- Solaris 9, 10 and 11 /usr/xpg4/bin/sh
- NetBSD 5.1 /bin/sh
- NetBSD 5.1 /bin/ksh
* t/ax/test-init.sh (Exit): Rename ...
(_am_exit): ... like this.
(exit): New alias for '_am_exit'. We cannot simply redefine 'exit'
as a shell function, because some shells (dash 0.5.5.1, Solaris 10
/bin/ksh and /usr/xpg4/bin/sh) do not allow it.
(_am_exit, trap): Add extra escaping for 'exit' calls, to ensure we
really invoke the 'exit' builtin and not our alias with the same
name.
* configure.ac: Check that the shell selected to run our testsuite
supports aliases named like shell builtins.
* t/REAMDE: Adjust.
* All tests: Adjust, by simply using 'exit' instead of 'Exit'.
* t/self-check-explicit-skips.sh: Adjust: the first usage of 'exit'
after it has been redefined as an alias must be on a new line w.r.t.
that where the alias is defined, in order for the redefinition to be
honored.
* syntax-checks.mk (sc_tests_Exit_not_exit): Delete.
(sc_tests_exit_not_Exit): New.
(syntax_check_rules): Adjust.
(sc_tests_automake_fails): Simplify the recipe a little.
* Several tests: Remove now useless spurious quoting once required
to placate the 'sc_tests_Exit_not_exit' maintainer check.
* gen-testsuite-part: Likewise. Also, avoid uses of 'Exit' in the
generated scripts.
* t/ax/is_newest: Rewrite to be Bourne-compatible, for /bin/sh shells like
Solaris' that are not POSIX-conforming. The script is so small that such
a rewrite is easier than going through the hoops that would be required to
ensure this script is always executed with a POSIX shell.
* t/ax/is: Add a comment stating that this script is to be kept Bourne
compatible as well.
* master:
tests: fix automatic re-execution of tests with Zsh
tests: drop support for older Zsh shells
tests: allow AM_TEST_RUNNER_SHELL to be overridden
tests: fix setup for older Zsh
missing: do not touch timestamps; only warn for out-of-date files
* maint:
tests: fix automatic re-execution of tests with Zsh
tests: drop support for older Zsh shells
tests: allow AM_TEST_RUNNER_SHELL to be overridden
tests: fix setup for older Zsh
tests: fix automatic re-execution of tests with Zsh
* defs: Use '$argv0' instead of '$0'. With Zsh not started right
away in Bourne-compatibility mode, the latter will be the path not
of the test script itself, but of the file it's currently sourcing
-- i.e., in our case, './defs'. This would cause the automatic
re-execution code to execute './defs' (basically a no-op) rather
than re-run the test correctly.
* defs-static.in: Here. The fact that such support has been broken for
almost a year (only fixed by today's commit 'v1.12.1-57-gf1e0300'),
causing no bug reports from anyone, shows that such support is not truly
warranted. And it will get in the way of future improvements in the
handling of the exit trap (because bugs in older Zsh versions will
prevent some of our planned improvements). So just drop it.
* t/README: Remove obsolete advice for working around bugs in older
versions of Zsh; instead, indicate version 4.3 is the oldest Zsh now
supported.
tests: allow AM_TEST_RUNNER_SHELL to be overridden
* defs-static.in: Here. This will make it easier for the maintainer
to run some self checks (like those in 't/self-check-exit.tap') with
different shells, to look for possible portability problems. Fix a
typo (doubled "the") while we are at it.
* defs-static.in: After the addition of TAP-based tests and our renaming
of "simple" test scripts from 'tests/foo.test' to 't/foo.sh', a test name
is valid if it matches the wildcard "*.sh" or "*.tap", not the wildcard
"*.test". Adjust accordingly.
* lib/missing: Try to point the user to the home page of such tools
where possible. Also, make clear that some tools (e.g., aclocal or
autoheader) are distributed as part of bigger projects (resp. automake
and autoconf, in those cases). While at it, refactor and re-format
the existing code heavily, in particular introducing
(give_advice): ... this new function in the process.
* master:
tests: avoid one last `...` command substitution in 'test-init.sh'
maintcheck: guard against `...` for command substitution in test cases
tests: more uses of $(...) over `...` for command substitution
cosmetics: quote `like this', not 'like this', in a couple of tests
readme: clarify/extend few entries in 't/README'
readme: better separation of entries in 't/README'
readme: subsections "Do" and "Do not" in 't/README' merged
tests: new requirement 'grep-nonprint'
cosmetics: fix description of an expected error message in a test
tests: assume automake quotes 'like this', not `like this'
* maint:
tests: avoid one last `...` command substitution in 'test-init.sh'
maintcheck: guard against `...` for command substitution in test cases
tests: more uses of $(...) over `...` for command substitution
cosmetics: quote `like this', not 'like this', in a couple of tests
readme: clarify/extend few entries in 't/README'
readme: better separation of entries in 't/README'
readme: subsections "Do" and "Do not" in 't/README' merged
tests: new requirement 'grep-nonprint'
cosmetics: fix description of an expected error message in a test
tests: assume automake quotes 'like this', not `like this'
tests: avoid one last `...` command substitution in 'test-init.sh'
* t/ax/test-init.sh (me): In the definition of this variable. This
also shave off a couple of forks, and the need for a sanity check
only required in fringe situations.
maintcheck: guard against `...` for command substitution in test cases
But still allow them in configure.ac, Makefile.am and shell scripts
created or used inside test cases itself, because Autoconf (as of
version 2.69) does not yet ensure that $CONFIG_SHELL will be set to
a proper POSIX shell.
* syntax-checks.mk (sc_tests_command_subst): New check.
(syntax-check_rules): Add it.
* t/tap-global-log.sh: Minimal tweakings to avoid triggering the
new maintainer check.
tests: more uses of $(...) over `...` for command substitution
Somehow missed by the previous changes. No big deal, fix them now.
* t/ax/depcomp.sh: Here.
* t/autodist.sh: And here.
* t/autodist-no-duplicate.sh: And here.
* t/autodist-subdir.sh: Ad here.
* t/remake11.sh t/self-check-me.tap: And here.
* t/perf/testsuite-summary.sh: And here.
* t/perf/testsuite-recheck.sh: And here.
readme: better separation of entries in 't/README'
* t/README (Writing test cases): Prepend different entries with a '*'
character acting like a bullet in a list. This make different entries
better separated, visually-wise. Minor related reformatting.
* t/ax/test-inist.sh ($esc): New, a literal escape character.
(grep-nonprint): New requirement, check that the grep implementation
available that can handle non-printing characters correctly.
* t/color.sh: Use it instead of hand-rolled equivalent, and do not
(re)define '$esc' explicitly.
* t/color2.sh: Likewise.
* t/tap-color.sh: Likewise.
* t/vtexi4.sh: Likewise.
* t/parallel-tests-no-color-in-log.sh: Likewise. Also prefer the use
of grep over that of $FGREP, because the new requirement only check
grep, and ensure we only grep non-printing characters from a pipe, to
avoid hitting a BSD grep limitation.
* t/parallel-tests-reset-term.sh: Likewise.
* t/ax/tap-summary-aux.sh: Use '$esc' instead of hard-coding the
literal escape character.
* master:
tests: prefer using 'is_newest' over 'ls -t' hacks
tests: implement is_newest as an auxiliary script, not shell function
tests: fix some spurious failures in VPATH setup
tests: work in VPATH setup again
tests: automatic re-execution works for non-POSIX shells too
tests: use more POSIX shell features our test scripts
docs: avoid failures with development version of Texinfo (4.13.90)
typofix: s/test derivers/test drivers/ in check.am comments
typofix: s/env/even/ in comments in GNUmakefile