* tests/suffix.test: Check that suffix rules for C compilation are
only included once. Try also with a static library.
* tests/suffix2.test: Add a new grep to help potential debugging.
Do not run automake with the `--add-missing' options, since we
already create all the needed auxiliary files. Try also *without*
the `no-dependencies' automake option.
* tests/suffix4.test: Make grepping of Makefile.in stricter.
* tests/suffix3.test: Rewritten to run also autoconf, ./configure
and make.
* tests/suffix5.test: Likewise.
* tests/suffix6.test: Fix botched recipe indentation (eight spaces
were used instead of a tabulation character). Extend to check
that `.obj' is handled like `.$(OBJEXT)' (as is done for `.o').
Improved parsing & grepping of generated Makefile.in. Other minor
fixes and improvements.
* tests/suffix10.test: Move some checks in Makefile.am. Also run
"make all".
* tests/suffix12.test: Likewise, and account for VPATH issues in
weaker make implementations.
* tests/suffix11.test: Likewise. Also, run "make distcheck", for
completeness, and related changes.
* tests/suffix8.test: Likewise. Also, do not put `gcc' anymore
in $required.
* tests/suffix13.test: Do not use the `--force-missing' automake
option unnecessarily.
* tests/suffix6b.test: New test, semantic sister of `suffix6.test'.
* tests/suffix6c.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
Work around a bug in file-inclusion mechanism of Solaris make.
* automake.in (handle_single_transform): In the name of the
dependency file: collapse multiple slash characters into a single
one.
* tests/subobj11a.test: New test.
* tests/subobj11b.test: Likewise.
* tests/subobj11c.test: Likewise.
* tests/depcomp8a.test: Likewise.
* tests/depcomp8b.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
* NEWS: Updated.
Report by Stefano Lattarini, quick fix by Ralf Wildenhues, final
patch and tests by Stefano Lattarini.
This change deals with a Zsh incompatibility in the handling
of the special shell variable `$0' in sourced files; this
incompatibility used to cause utter breakage when the
Automake testsuite was run in parallel mode with Zsh as
the $(TEST_LOG_COMPILER).
For more information, please refer to the thread "Fix parallel
testsuite run with zsh" on automake-patches, dated 2010-12-22:
<http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00135.html>
This change works around the problems described above for Zsh 4.3
or later, and offers better error messages (instead of random
failures) for earlier Zsh version.
* tests/README (Supported shells): When describing the manual
workaround about the Zsh incompatibility in the handling of `$0',
tell that it is now needed only with Zsh versions preceding 4.3.
Done also some minor rewordings.
* tests/defs-static.in ($argv0): New variable, offers a workaround
for the Zsh incompatibility in the handling of `$0'.
Abort if that variable cannot be correctly set (can happen only
in older Zsh version).
* tests/defs ($me): Define using `$argv0', not `$0'.
* tests/suffix13.test (Makefile.am): Account for VPATH issues on
weaker make implementations (e.g. IRIX 6.5).
* tests/parallel-tests8.test: Likewise, plus a required related
change.
Reported by Ralf Wildenhues. The bugs have been there from the
first versions of the affected test scripts.
* doc/automake.texi (Cygnus): Mode 'cygnus' does not require
the AM_CYGWIN32 macro (and indeed hasn't required it since at
least commit Release-1-2-31-g3038064 "merged changes from
Cygnus" of 1997-08-25).
* tests/distlinksbrk.test: Run "make" multiple times and grep
its output each time for a single error message, rather than
running "make -k" one single time and grepping its output for
all the expected error messages. This should work around make
implementations with limited (broken?) `-k' support; for more
information, see these subthreads on the automake-patches list:
- 2010-11-15, "Testsuite failures on HP-UX 11.23",
<http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00162.html>
- 2010-11-15, "Testsuite failures on IRIX 6.5",
<http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00166.html>
Fix spurious failures in tests on AC_CONFIG_AUX_DIR.
* tests/auxdir7.test: Do not try to needlessly overwrite the files
`install-sh' and `missing'. This avoid spurious failures in "make
distcheck", when those files might be copied as read-only from the
`lib' directory.
* tests/auxdir8.test: Likewise.
Make test 'posixsubst-script' portable to MinGW/MSYS.
* tests/posixsubst-script.test: Ensure that the generated dummy
scripts really start with a shebang line, to work around a
limitation of 'test -x' on MinGW/MSYS.
docs: fix blunder in example about python extension modules
* doc/automake.texi (Python): Use `quaternion_la_SOURCES',
not `quaternion_SOURCES', to declare the sources of python
extension module `quaternion.la'.
Extend, fix and improve tests on Lex and Yacc support.
* tests/lexcpp.test: New test script, on support for Lex + C++.
* tests/lexvpath.test: New test script, test build and rebuild
rules for lexers in VPATH setup.
* tests/yacc-basic.test: New test script, run simple "semantic"
checks on basic Yacc support (similarly to what lex3.test does
for Lex support).
* tests/lex.test: Don't create useless dummy source file joe.l.
Remove extra blank lines.
* tests/lex4.test: Add trailing `:' command. Do not create dummy
useless lex source file.
* tests/lex2.test: Likewise. Call automake with the `-a' option,
so that it doesn't fail for the absence of `ylwrap' script. Make
grepping of automake stderr stricter.
* tests/yacc7.test: Add trailing `:' command. Enable `errexit'
shell flag earlier (just after having sourced ./defs).
* tests/yacc4.test: Likewise. Also ...
(configure.in): Use pre-populated skeleton set up by ./defs,
instead of writing one from scratch.
Other minor cosmetic changes.
* tests/yacc5.test: Likewise.
* tests/yaccvpath.test: Likewise. Also ...
($distdir): New variable.
Use it throughout.
* tests/lex5.test: Likewise.
* tests/lex3.test: Likewise. Check the distdir, rather than
grepping the distribution tarball. Extend the test on the
created binary, and be sure to avoid hangs. Add some comments.
* tests/yacc.test: Use stricter grepping. Add trailing `:'.
* tests/yacc6.test: Likewise.
* tests/yacc3.test: Likewise. Do not create the unused file
`Makefile.sed'. Remove useless rules from Makefile.am. Other
minor cosmetic changes.
* tests/yacc2.test: Make grepping of generated `Makefile.in' and
of automake error messages stricter. Do not redirect output of
grep to /dev/null. Move call to aclocal earlier. Reduce the
number of empty blank lines. Fix a typo in comments.
* tests/yacc8.test: Fixed bugs that reduced the completeness of
the tests. Added trailing `:' command.
(configure.in): Use pre-populated skeleton set up by ./defs,
instead of writing one from scratch.
* tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
`.yxx', rather than only `.yy'.
* tests/Makefile.am (TESTS): Update.
* m4/depend.m4 (AM_DEP_TRACK): Use `AS_HELP_STRING' to format
the help message added to the generated configure.
* m4/dmalloc.m4 (AM_WITH_DMALLOC): Likewise.
* m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
* m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
* m4/multi.m4 (AM_ENABLE_MULTILIB): Likewise.
Also, bumped all serial numbers of the modified m4 files.
This adds proper semantical tests (i.e. run make to check the
rebuild rules are correctly triggered) in addition to tentative
grepping of the generated Makefile.in(s).
* tests/remake.test: Enable `errexit' shell flag, and related
changes. Modernize `configure.in'. Add trailing `:' command.
Improve heading comments, and add a reference to new sister test
remake1a.test.
* tests/remake3.test: Likewise (but with sister test being
remake3a.test).
* tests/remake2.test: Improve heading comments. Enable `errexit'
shell flag, and related changes. Modernize `configure.in'. Make
grepping of `Makefile.in' slightly stricter. Add trailing `:'
command.
* tests/remake5.test: Also run the `distcheck' target. Add
trailing `:' command. Use proper m4 quoting in configure.in.
* tests/remake4.test: Prefer `$me' over hard-coded test name.
* tests/remake7.test: Use the `configure.in' stub created by
./defs, rather than writing it from scratch.
* tests/remake6.test: Likewise. Also, add trailing `:' command,
and ensure verbose printing of captured make output.
* tests/remake1a.test: New test, sister of remake.test.
* tests/remake3a.test: New test, sister of remake3.test.
* tests/remake8a.test: New test.
* tests/remake8b.test: Likewise.
* tests/remake9a.test: Likewise.
* tests/remake9b.test: Likewise.
* tests/remake9c.test: Likewise.
* tests/remake9d.test: Likewise.
* tests/remake10a.test: Likewise.
* tests/remake10b.test: Likewise.
* tests/remake10c.test: Likewise.
* tests/remake11.test: Likewise.
* tests/remake12.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
* tests/auxdir.test: Enable `errexit' shell flag. Prefer `$me'
over hard-coded test name. Use proper m4 quoting. Add trailing
`:' command.
* tests/auxdir2.test: Likewise. Try to call automake also with
the `-a' option, so that it will not fail for spurious reasons.
* tests/auxdir3.test: Add an explanatory comment and a trailing
`:' command.
* tests/auxdir4.test: Prefer `$me' over hard-coded test name.
Make grepping of automake stderr slightly stricter. Also, now
this test just checks about Automake's reaction to unportable
auxiliary directory names (and it has been extended in this
respect). Moved the checks about non-existent auxiliary
directories to ...
* tests/auxdir5.test: ... this new test.
* tests/auxdir6.test: New test.
* tests/auxdir7.test: Likewise.
* tests/auxdir8.test: Likewise.
* tests/auxdir9.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
Improve tests on generated portions of configure help screen.
* tests/help-depend.test: Grepping of configure help screen
relaxed to cater for possible line wrapping, and tightened in
other respects.
* tests/help-depend2.test: Likewise.
* tests/help-dmalloc.test: Likewise.
* tests/help-lispdir.test: Likewise.
* tests/help-maintainer.test: Likewise.
* tests/help-multilib.test: Likewise.
* tests/help-silent.test: Likewise.
* tests/help-upc.test: Likewise.
* tests/help-init.test: Grepping of configure help screen
tightened.
Libobj tests: refer to automake bug tracker for limitations.
* tests/libobj15b.test (configure.in): In the comment explaining
why an apparently redundant AC_OUTPUT is indeed needed, refer
to the relevant entry in the Automake bug tracker rather than
describing the bug in detail with a FIXME-style comment.
* tests/libobj15c.test: Likewise.
* tests/libobj20b.test: Likewise.
* tests/canon-name.test: Add trailing `:' command. When writing
configure.in, prefer to use $me instead of hard-coding the test
name.
* tests/canon3.test: Prefer trailing `:' over trailing `Exit 0'.
* tests/canon4.test: Likewise. Make grepping of Makefile.in
stricter. Improve heading comment, and add reference to ...
* tests/canon6.test: ... this new test (sister test of the
previous one).
* tests/canon.test: Prefer cat + here-doc over echo to append
text to configure.in. Extend grepping of Automake stderr. Add
trailing `:' command.
* tests/canon5.test: Likewise.
* tests/canon7.test: New file, stress test on canonicalization.
* tests/canon8.test: New test, for better coverage (check that
the `@' character is not transliterated in canonicalizations).
* tests/Makefile.am: Updated.
* tests/dejagnu.test: Do not create useless dummy test script.
Add trailing `:' command. In heading comments, add reference
to ...
* tests/check12.test: ... this new "semantic" test, covering
concurrent use of dejagnu tests, simple tests and `check-local'
target.
* tests/dejagnu2.test: Make test more reliable, by avoid weak
grepping of make output. Prefer `cat' over `echo' to append
to configure.in. Quote literal dots in grep regexps. Prefer
`grep -c ...' over `grep ... | wc -l'. Make grepping of
automake stderr slightly stricter. Add trailing `:' command.
* tests/dejagnu3.test: Prefer `cat' over `echo' to append to
configure.in. Check stderr of expected-to-fail "make" call.
Remove extra blank lines from Makefile.am.
* tests/dejagnu4.test: Prefer `cat' over `echo' to append to
configure.in. Prefer `mv -f' over plain `mv' when the target
file already exists. Avoid extra mkdir calls by creating more
directories at once. Better use of blank lines. Check that
the `*.log' and `*.sum' files are created by runtest also when
"make check" fails.
* tests/dejagnu7.test: Prefer `cat' over `echo' to append to
configure.in. Better use of blank lines. Add a trailing `:'
command.
* tests/dejagnu6.test: Likewise, and give the dejagnu test a
more descriptive name.
* tests/dejagnu5.test: Likewise. Also, simply define package
name to `$me' rather than using a non-obvious sed script to
extract it from `AC_INIT', and write the Makefile.am with only
one command.
* tests/Makefile.am (TESTS): Updated.
* tests/aclibobj.test: Removed, superseded by ...
* tests/libobj1.test: ... this new test, which runs autoconf,
./configure and make, to ensure everything really works.
* tests/libobj3.test: Add trailing `:' command. Quote literal dot
in grep regexp.
* tests/libobj4.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command. Use proper m4 quoting.
* tests/ltlibobjs.test: Likewise.
* tests/libobj5.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command. Make more robust by using
longer filenames to be grepped.
* tests/libobj8.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command. Use the configure.in
stub provided by ./defs, rather than writing it from scratch.
* tests/libobj2.test: Likewise. Also, add calls to autoconf,
./configure and make, to ensure everything really works.
* tests/libobj7.test: Likewise, and ensure that at least one
function listed in AC_REPLACE_FUNCTIONS is truly replaced.
* tests/libobj13.test: Make grepping of Automake stderr slighty
stricter. Add trailing `:' command.
* tests/libobj12.test: Likewise. Also, prefer "cat + here-doc"
over "echo" to append to Makefile.am, and some cosmetic changes
in spacing.
* tests/libobj14.test: Call `Exit 1' if sourcing of ./defs fails.
Slighty improve m4 quoting. Add trailing `:' command.
* tests/libobj10.test: Add calls to autoconf, ./configure and
make, to ensure everything really works. Also, remove tests that
nonexistent source for AC_LIBOBJ cause an Automake failure: this
is already checked by ...
* tests/libobj15a.test: ... this new test.
* tests/libobj15b.test: New test, sister test of libobj15a.test,
checks AC_LIBSOURCE instead of AC_LIBOBJ.
* tests/libobj15c.test: New test, sister test of libobj15a.test,
checks AC_LIBSOURCES instead of AC_LIBOBJ.
* tests/libobj11.test: Removed, superseded by ...
* tests/libobj16a.test: ... this new test.
* tests/libobj16b.test: New test, sister test of libobj16a.test,
but using oldish/depracated idioms.
* tests/libobj17.test: New test.
* tests/libobj18.test: Likewise.
* tests/libobj19.test: Likewise.
* tests/libobj20a.test: Likewise.
* tests/libobj20b.test: Likewise.
* tests/libobj20c.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
Prefer running configure and make over grepping the generated
files; this is both more correct and less fragile.
* tests/colon.test: Made more "semantic", as described above.
* tests/colon5.test: Likewise.
* tests/colon6.test: Likewise.
* tests/colon7.test: Likewise.
* tests/colon2.test: Likewise, and improve syncing with sister
test `colon3.test'.
* tests/colon3.test: Likewise (but with the sister test being
`colon2.test' here).
Tests required tools: also try `-v' option for GNU compilers.
* tests/defs.in: In the loop on "$required" tools, for gcc
and g++, also run "gcc -v" (resp. "g++ -v"), to get more
information, and for consistency with gcj.
Enable `set -e' in more tests (plus some tweakings).
* tests/mkinstall.test: Enable `errexit' shell flag, and related
changes. Add a trailing `:' command, if needed.
* tests/mdate2.test: Likewise.
* tests/objc.test: Likewise.
* tests/noinst.test: Likewise.
* tests/outdir.test: Likewise.
* tests/number.test: Likewise.
* tests/pluseq.test: Likewise.
* tests/req.test: Likewise.
* tests/rulepat.test: Likewise.
* tests/specflg6.test: Likewise.
* tests/spell3.test: Likewise.
* tests/parse.test: Likewise, and ...
(configure.in): Use the stub created by ./defs, rather than
writing it from scratch. Remove useless calls to AC_PROG_RANLIB
and AC_OUTPUT.
* tests/mdate4.test: Likewise.
* tests/mkinstall.test: Likewise, and ...
(configure.in): ... drop useless call to `AC_OUTPUT'.
* tests/output.test: Enable `errexit' shell flag, and related
changes. Add a trailing `:' command.
(configure.in): Modernize.
* tests/output2.test: Likewise.
* tests/output3.test: Likewise.
* tests/output4.test: Likewise.
* tests/mdate3.test: Enable `errexit' shell flag, and related
changes. Prefer `$me' over hard-coded test name.
* tests/nodistdir.test: Enable `errexit' shell flag, and related
changes. Prefer trailing `:' over trailing `Exit 0'.
* tests/nodist.test: Likewise. Also, prefer cat + here-doc over
echo to create input test files, and do not create useless dummy
C source files.
* tests/nodist2.test: Likewise.
* tests/ppf77.test: Enable `errexit' shell flag, with related
changes. Add a trailing `:' command. Do not create useless
dummy source files.
* tests/spelling.test: Enable `errexit' shell flag, with related
changes. Add a trailing `:' command. Also, grep Automake error
message.
* tests/specflg3.test: Enable `errexit' shell flag, with related
changes. Avoid unportable use of `-e' option of fgrep. Prefer
trailing `:' over trailing `Exit 0'. Remove extra empty lines,
and cosmetic changes to whitespaces.
* tests/obsolete.test: Enable `errexit' shell flag, with related
changes. Improve verbosity. Other miscellanous changes.
Improve and extend tests on `:=' variable assignments.
* tests/colneq.test: Avoid redundant use of variable assignments
in Makefile.am. Use command-line automake options instead of
editing AUTOMAKE_OPTIONS in Makefile.am. Make grepping of the
generated Makefile.in slightly stricter. Add a trailing `:'
command.
* tests/colneq2.test: Do not create unneeded dummy files. Run
also autoconf, ./configure and make. Add trailing `:' command.
* tests/colneq3.test: New test, similar to colneq.test, but
running also autoconf, ./configure and make.
* tests/Makefile.am (TESTS): Update.
* automake.in (parse_arguments): Do not recognize anymore options
`--Werror' and `--Wno-error' as synonyms of respectively `-Werror'
and `-Wno-error'.
* tests/werror.test: Update: use `-Werror' instead of `--Werror'.
* NEWS: Update.
In some tests on automake-produced silent rules, we forced the
use of gcc depmode to improve testsuite coverage; but this has
unsurprisingly led to spurious failures when some non-GNU C
compilers were used. So we are now careful to require GCC in
tests that force gcc depmode.
From reports by Ralf Wildenhues.
* silent5.test: Test removed, its content split into ...
* silent-many-generic.test, silent-many-gcc.test: ... these new
sister tests, the latter of which forces gcc depmode and lists
"gcc" in $required.
* silentlex.test: Test removed, its content split into ...
* silent-lex-generic.test, silent-lex-gcc.test: ... these new
sister tests, the latter of which forces gcc depmode and lists
"gcc" in $required.
* silentyacc.test: Test removed, its content split into ...
* silent-yacc-generic.test, silent-yacc-gcc.test: ... these new
sister tests, the latter of which forces gcc depmode and lists
"gcc" in $required.
* tests/Makefile.am (TESTS): Updated.
Modernize, improve and/or tweak some test scripts.
* tests/maintclean.test: Use proper m4 quoting. Add trailing `:'
command.
* tests/sinclude.test: Likewise, and add a couple of blank lines,
for clarity.
* tests/make.test: Move setting of `errexit' shell flag earlier in
the script (just after inclusion of ./defs). Use the configure.in
stub created by ./defs, rather than writing it from scratch. Some
cosmetic changes in spacing. Ensure we wait enough time before
touching configure.in to trigger the rebuild rules.
* tests/makej.test: Use `$me' instead of hard-coding the test
name. Add trailing `:' command.
* tests/version7.test: Likewise.
* tests/space.test: Enable `errexit' shell flag, and related
changes.
* tests/makevars.test: Likewise. Also, prefer trailing `:' over
trailing `Exit 0', and be more tolerant of white spaces when
grepping Makefile.in.
Separate checks on target overriding into multiple test scripts.
* tests/overrid.test: Deleted, its contents separated into ...
* tests/override-suggest-local.test: ... this new test ...
* tests/override-html.test: ... and this new test ...
* tests/override-conditional-1.test: ... and this new test ...
* tests/override-conditional-2.test: ... and this new test (still
xfailing).
* tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
Code cleanup after removal of option `--output-directory'.
* automake.in ($output_directory): Remove, it's unconditionally
defined to `.' and used only ...
(generate_makefile): ... in this subroutine, which now has been
edited and simplified accordingly.
* Makefile.am (release-stats): Be sure to take into account all
the generated tests, by grepping the test scripts to decide which
ones of them are automatically generated.
* tests/repeated-options.test: New test, check that automake
does not complain on repeated options, nor generate broken or
incorrect makefiles.
* tests/Makefile.am (TESTS): Updated.