lib/am


Log

Author Commit Date CI Message
Stefano Lattarini 0a9d201c 2012-01-17T15:06:05 check: move ".log -> .html" conversion in contrib That feature has been deprecated in the 1.11.x series, and marked for removal from the automake core in the 1.12 release. Here we implement such removal. Reference: <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html> See also commit 'v1.11-650-g20f2ac9'. * doc/automake.texi, NEWS: Update. * lib/am/check.am: Don't include 'check-html.am' anymore. * lib/am/check-html.am: Move ... * contrib/check-html.am: ... to this, and adjust comments. * lib/am/Makefile.am (dist_am_DATA): Update. * contrib/Makefile.am (EXTRA_DIST): Likewise. * tests/parallel-tests2.test: Adjust. * tests/parallel-tests-dryrun.test: Remove checks on the ".log -> .html" conversion. * tests/test-driver-custom-html.test: Remove as obsolete. * tests/test-driver-custom-no-html.test: Likewise. * tests/tap-html.test: Likewise. * tests/list-of-tests.mk: Don't list removed tests anymore.
Stefano Lattarini 9928ea5c 2012-01-16T20:06:08 Merge branch 'maint' * maint: recheck: fix interaction with "make -n" vala: avoid potential useless remakes (minor bugfix) vala: enhance tests recheck: behave better with non-GNU make check: separate .log -> .html conversion from core testsuite harness docs: deprecate .log -> .html conversion by parallel-tests tests: list some forgotten test cases in $(TESTS) maintcheck: consistency of list of test scripts build: explicitly declare some targets as .PHONY maint: remove obsolete/broken maintainer targets build: improve silencing of automake build system tests: move list of tests in its own Makefile fragment + Extra non-trivial edits: * tests/parallel-tests2.test: Obvious edits to merge the slightly inconsistent enhancements to coverage done in master with those done in maint. * lib/am/check.am (check-TESTS, recheck): Sweeping and rather complex changes to merge the considerable divergences between maint and master in a way that is meaningful and, where possible, retains the semantic changes from both maint and master.
Stefano Lattarini 8fec2399 2012-01-13T22:39:47 recheck: fix interaction with "make -n" * lib/am/check.am (recheck): Ensure the recipe does not erroneously remove '.log' files when running under "make -n". For the sake of NetBSD make, this also means that ... (.MAKE): ... this cannot depend on 'recheck' anymore. * tests/parallel-tests-dryrun.test: New test. * tests/list-of-tests.mk: Add it.
Stefano Lattarini d9a7182e 2012-01-13T18:53:43 recheck: behave better with non-GNU make * automake.in (handle_tests): Also substitute '%CHECK_DEPS%' with the value of the '@check' array, containing the list of early test dependencies like '$(check_SCRIPTS)', $(check_PROGRAMS)', etc. * lib/am/check.am (recheck): Explicitly depend on '%CHECK_DEPS%'. (check, recheck): Unify the implementation of their recipes, with different code paths taken depending on the name of the target. This makes the implementation of "recheck" less brittle in the process (especially when non-GNU make and AM_MAKEFLAGS overriding are involved). * lib/am/check-html.am (check-html, recheck-html): Likewise. * tests/check.test: Adjust to avoid spurious failure. * tests/parallel-tests2.test: Improve coverage.
Stefano Lattarini 20f2ac90 2012-01-13T17:56:13 check: separate .log -> .html conversion from core testsuite harness That feature is to be deprecated in the 1.11.x series, and removed from the automake core in the 1.12 release, where it will instead be offered in a semi-independent extra '*.am' fragment. So let's start better separating the .log -> .html conversion from the "core code" of the parallel-tests harness. Reference: <http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html> * lib/am/check.am (.log.html, check-html, recheck-html): Move these targets ... * automake.in (handle_tests): ... and the initialization of the TEST_SUITE_HTML variable and the cleaning of the $(TEST_SUITE_HTML) file ... * lib/am/check-html.am: ... in this new file, with related (minor) refactorings, enhancements and simplifications. * lib/am/check.am (.MAKE. PHONY, AM_RECURSIVE_TARGETS): Adjust. * lib/am/Makefile.am (dist_am_DATA): Add 'check-html.am'. * tests/parallel-tests2.test: Improve coverage.
Stefano Lattarini a23d5bdc 2012-01-13T13:20:34 Merge branch 'maint' * maint: dist: avoid $(distdir) removal failure on MSYS/MinGW tests: fix spurious failure of 'get-sysconf.test' coverage: expose automake bug#10470 (distcheck-related) tests: make 'aclocal-install-absdir.test' executable tests: require GNU make in 'vala-vapth.test' vala: fix VPATH builds tests: fix some bugs in the vala-vpath test
Stefano Lattarini dfb5e52f 2012-01-11T18:09:07 dist: avoid $(distdir) removal failure on MSYS/MinGW This change fixes automake bug#10470. On MSYS (1.0.17) it is not possible to remove a directory that is in use, and this, together with timing issues, could cause spurious failures in the cleanup code of the "distcheck" recipe. In fact, it should be noted that assuming a directory can be removed while it the CWD of a running process is a POSIX violation: "If the directory is the root directory or the current working directory of any process, it is unspecified whether the function succeeds, or whether it shall fail and set errno to [EBUSY]." * lib/am/distdir.am (am__remove_distdir): If rm fails, sleep some seconds and retry, to give potential "pending" processes some time to exit and "release" the directory. * tests/Makefile.am (XFAIL_TESTS): Remove 'distcheck-pr10470.test'. Report and suggestions by Peter Rosin and Eric Blake.
Stefano Lattarini 96fef7a3 2012-01-06T23:37:09 dist: distdir not unconditionally removed anymore for xz and lzip This change fixes automake bug#10444 a.k.a. bug#10448. The 'dist-xz' and 'dist-lzip' recipes were erroneously using '$(am__remove_distdir)' instead of '$(am__post_remove_distdir)' to cleanup the '$(distdir)'; so a "make dist" issued in a package using (say) gzip and xz compression would have failed to properly created the gzip tarball, since the distdir was unconditionally removed by "make dist-xz" upon its completion, instead of being left populated for the following "make dist-gzip". The problem with 'dist-xz' was introduced in the merge commit `v1.11-1142-g47587d1', and the problem with 'dist-lzip' was introduced in the merge commit `v1.11-1673-gc1b14e9' * lib/am/distdir.am (dist-xz): Use '$(am__post_remove_distdir)', not '$(am__remove_distdir)'. (dist-lzip): Likewise.
Stefano Lattarini 254227b6 2012-01-05T13:41:13 parallel-tests: avoid trailing backslashes in make recipes The new testsuite-harness could generate recipes with a trailing backslash character (possibly followed by blank characters only), in the very common case where the user hadn't defined the special $(AM_TESTS_FD_REDIRECT) variable. This caused spurious syntax errors with at least older bash versions (e.g., bash 2.05b), and could be potentially unportable to other weaker shells. See automake bug#10436: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10436> and coreutils bug#10427: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8> * lib/am/check2.am: Rework line breaks so that no backslash can be at the end of a line. * tests/parallel-tests-trailing-bslash.test: New test. * tests/list-of-tests.mk: Add it. Report and diagnosis by Paul Eggert.
Stefano Lattarini d1fbc759 2012-01-05T20:09:24 Merge branch 'maint' * maint: parallel-tests: avoid issue with overly long lines in sed input Additional edits: * NEWS: Remove entry from merged commit, since that will also be present in the NEWS file of automake 1.11.3. * lib/am/check.am (check-TESTS, recheck, recheck-html): Rework merged changes to adapt them to the different form these recipes has assumed in the master branch (w.r.t. the maint branch).
Stefano Lattarini e3b0e124 2012-01-05T15:13:30 parallel-tests: avoid issue with overly long lines in sed input See automake bug#10437: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10437> and coreutils bug#10427: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8> * lib/am/check.am (recheck, recheck-html): In order to strip trailing whitespace from the definition of the `$list' variable, we used to invoke sed in a way that could cause it to get passed overly long input lines, causing spurious failures. So rework the logic of the recipe to avoid any sed invocation, relying on simpler shell idioms instead. (check-TESTS): Reorganize the recipe to be more similar to the one of `recheck', for consistency and simplicity. * NEWS: Update. Report and analysis by Paul Eggert.
Stefano Lattarini 5b13742f 2012-01-03T23:26:56 Merge branch 'maint' * maint: install: pkglibexec_SCRIPTS is a valid prefix/primary combination coverage: expose automake bug#10128 progs, libs: implement EXTRA_foo_DEPENDENCIES tests: fix spurious failures in 'pr300*.test'
Stefano Lattarini f4e221b6 2012-01-02T09:40:13 progs, libs: implement EXTRA_foo_DEPENDENCIES Backported from commit `v1.11-377-g6edafbb'. The feature implemented by that change is quite unobtrusive, so adding it to a maintenance release is acceptable. Also, there have been requests from real-world users for this feature since it has been implemented in master; see automake bug#9320: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9320> and this short discussion on the automake list: <http://lists.gnu.org/archive/html/automake/2010-11/msg00099.html> It would be a pity to make such users wait even more (until Automake 1.12 is out) before they could start using this feature. Thus we backport it, so that it will appear in the next maintenance version of automake (1.11.3). * automake.in (handle_programs, handle_libraries) (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized. * doc/automake.texi (Linking, Program and Library Variables) (LIBOBJS): Document EXTRA_*_DEPENDENCIES. * lib/am/library.am (%LIBRARY%): Also depend on $(EXTRA_%XLIBRARY%_DEPENDENCIES). * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on (%XLTLIBRARY%_DEPENDENCIES). * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on $(EXTRA_%XPROGRAM%_DEPENDENCIES). * tests/extradep.test, tests/extradep2.test: New tests. * tests/Makefile.am (TESTS): Update. * NEWS: Update.
Stefano Lattarini 02e90723 2012-01-01T13:23:19 dist: remove support for lzma (superseded by xz and lzip) See also commit `v1.11-611-ge637fa2' (from maint), where support for lzma compression of distribution archive had been deprecated. * NEWS: Update. * lib/Automake/Options.pm: Error out if the `dist-lzma' option is used. * lib/am/distdir.am: Remove all support for the creation of a lzma-compressed distribution archive. * tests/lzma.test: Update.
Stefano Lattarini c1b14e96 2012-01-01T11:14:27 Merge branch 'maint' * maint: tests: make 'lzip.test' executable dist: obsolete support for lzma (superseded by xz and lzip) test defs: more granular overriding of the make program docs: fix a couple broken anchors dist: add support for lzip compression docs: fix paragraph names for automake and aclocal invocations tests: fix spurious failure due to autom4te caching fix: last entry in ChangeLog tests: tweak tests on silent-rules for makes without nested vars silent-rules: fallback for makes without nested vars
Antonio Diaz Diaz 0878bd34 2011-12-30T14:35:18 dist: add support for lzip compression * NEWS: Update. * automake.in (handle_dist): Recognize dist-lzip. (make_paragraphs): Map LZIP to dist-lzip. * doc/automake.texi (Dist, Options): Describe dist-lzip. * lib/Automake/Options.pm (_process_option_list): Recognize `dist-lzip'. * lib/am/distdir.am (dist-lzip): New target. (DIST_ARCHIVES) [?LZIP?]: Add `dist-lzip'. (dist, dist-all) [?LZIP?]: Add command to create an lzip-compressed tarball. (distcheck): Handle lzip-compressed tarballs just like the others. * tests/lzip.test: New test. * tests/Makefile.am (TESTS): Add it.
Stefano Lattarini 23acc630 2011-12-23T10:15:29 Merge branch 'master' into testsuite-work * tests/gettext-macros.test: In the generated `get.sh' file, use `skip_all_', not `skip_'. * tests/libtool-macros.test: Likewise. * tests/list-of-tests.mk: Update.
Stefano Lattarini 72c8dcb2 2011-12-22T22:16:12 Merge branch 'maint' into master. * m4/regex.m4: Bump serial number by some notches, for good measure. Prefer the deprecation message from maint over that from master. * m4/python.m4: Bump serial number. * tests/Makefile.am (canon6.log): Depend on `libtool-macros.log'. (canon7.log): Likewise. (extradep2.log): Likewise. (ar-lib4.log): Likewise. (ar-lib6a.log): Likewise. (ar-lib6b.log): Likewise. (vartypo2): Likewise. (posixsubst-ltlibraries.log): Likewise. * tests/defs: Adjust the path of the included `get.sh' scripts generated by `libtool-macros.test' and `gettext-macros.test'. * aclocal.m4: Delete, it's auto-generated now. * configure: Likewise. * Makefile.in: Likewise. * doc/Makefile.in: Likewise. * m4/Makefile.in: Likewise. * tests/Makefile.in: Likewise. * lib/Makefile.in: Likewise. * lib/am/Makefile.in: Likewise. * lib/Automake/Makefile.in: Likewise. * lib/Automake/tests/Makefile.in: Likewise. * .gitignore: Correctly ignored the autogenerated files that are not committed anymore.
Stefano Lattarini 9f7864ba 2011-10-16T14:57:37 include: avoid "deleted .am file" problem * automake.in (handle_configure): When processing `configure.am', also expand `HAVE-MAKEFILE-IN-DEPS' to a boolean telling whether `MAKEFILE-IN-DEPS' is empty or not. * lib/am/configure.am [?HAVE-MAKEFILE-IN-DEPS?] (%MAKEFILE-IN-DEPS%): New target without dependencies, to avoid the "deleted .am file" problem. Emit this only when `?HAVE-MAKEFILE-IN-DEPS?' is true, to avoid generating an "empty" dependency declaration. * tests/deleted-am.test: Make grepping of error message stricter. * tests/dist-missing-am.test: Likewise. * tests/remake-deleted-am.test: New test. * tests/remake-deleted-am-2.test: Likewise. * tests/remake-deleted-am-subdir.test: Likewise. * tests/remake-renamed-am.test: Likewise. * tests/makefile-deps.test: Likewise. * tests/Makefile.am (TESTS): Add the new tests. * NEWS: Update. Fixes automake bug#9768. Report by Peter Johansson. See also commit `Release-1-10-40-gd0ebf71', which fixed a similar problem for .m4 files included by configure.ac.
Stefano Lattarini e9150626 2011-12-08T22:54:18 repo: don't commit generated files in the git repository anymore It has been quite some time since autoconf and libtool have stopped committing the generated autotools files in their git repositories, with no significant ill effects we're aware of. It's true that the autoconf bootstrap process has now the minor annoyance that a pre-installed autoconf is required to complete it; but luckily automake will not have a similar annoyance, since our bootstrap script take care, through some hoops, to use the very automake and aclocal versions from the current git checkout to generate the required aclocal.m4 and Makefile.in files. In fact, this has been a necessity also in the past, because automake has been known to use in its own build system new development features that hadn't been present in any previously released automake distribution. * aclocal.m4: Delete. * configure: Likewise. * Makefile.in: Likewise. * doc/Makefile.in: Likewise. * lib/Automake/Makefile.in: Likewise. * lib/Automake/tests/Makefile.in: Likewise. * lib/Makefile.in: Likewise. * lib/am/Makefile.in: Likewise. * m4/Makefile.in: Likewise. * tests/Makefile.in: Likewise. * .gitignore: Ignore configure, aclocal.m4, and all the Makefile.in files. * configure.ac (AC_PREREQ): New macro call, to require the latest autoconf (2.68 for the moment).
Stefano Lattarini 8d3466c8 2011-12-10T00:58:13 Merge branch 'master' into testsuite-work
Stefano Lattarini 47587d15 2011-12-10T00:46:13 Merge branch 'maint' Commits merged from maint: dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings news: fix typos, grammaros and suboptimal wording maint: sync auxiliary files from upstream tests: fix spurious failures due to missing 'yywrap()' function depcomp: spelling fix tests: fix 'distcheck-override-infodir.test' on Cygwin cosmetics: typofix in comments coverage: undistributed '.am' and '.m4' files are diagnosed coverage: required but missing '.am' and '.m4' files are diagnosed coverage: expose automake bug#10111 in the testsuite fix: regenerate doc/Makefile texinfo: work around Solaris 10 xpg4 shell bug in install rules configure: report perl version in config.log tests: fix spurious failure with older install-info maintcheck: fix spurious failure in 'color2.test' tests: fix spurious error in 'uninstall-fail.test' on Solaris tests: fix typo in 'uninstall-fail.test' Extra edits: * ChangeLog: Remove mention of commit 6da46f31 (2010-10-05), which has been superseded by commit c8e01d58 (2011-12-09). Fix entry relative to that commit, to adapt to differences between maint and master.
Jim Meyering c8e01d58 2011-12-09T23:17:18 dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings Before the present change, automake-generated `dist-xz' rule used a hard-coded `xz -9'. That was a problem because on this front, xz differs from gzip and bzip2. While the latter two don't incur any run-time decompression penalty for using a higher compression level, specifying -9 with xz imposes a potentially fatal virtual memory requirement on any client that wants to decompress your tar.xz file. People have complained that a tarball compressed with -9 cannot be uncompressed in a low-memory environment (wrt-based embedded). Hence, instead of defaulting to -9, which is useful only for very large tarballs, it defaults to -e (equivalent to -6e). This limits the default memory requirements imposed on decompressors, yet still gives very good compression ratios. * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made it impossible to override. Actually don't default to -9, either, since that induced inordinately large virtual memory usage when merely decompressing. Instead, use its XZ_OPT envvar, defaulting to -e if not defined. Suggested by Lasse Collin. (dist, dist-all) [?XZ?]: Likewise (dist-bzip2): Similarly, do not hard-code -9, but do continue to use -9 by default. Honor the BZIP2 envvar. (dist, dist-all) [?BZIP2?]: Likewise * NEWS: Update. * doc/automake.texi (The Types of Distributions): Describe the newly enabled environment variables. This is inspired to commit v1.11-389-g6da46f3, with additional changes to reflect that the xz compression level should default to -e, not -9.
Stefano Lattarini a4eeb532 2011-11-19T19:53:57 texinfo: work around Solaris 10 xpg4 shell bug in install rules * lib/am/texinfos.am (install-html-am): Use an extra variable indirection to work around a bug in Solaris 10 /usr/xpg4/bin/sh. Bug revealed by a failure of `txinfo21.test'. See also: <http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
Stefano Lattarini 5012480b 2011-11-03T15:39:02 Merge branch 'master' into testsuite-work Commits merged from master: - tests: various minor tweakings, mostly related to AM_PROG_AR - maint-mode: fix botched configure messages - fix: regenerate Makefiles - tests: few improvements to some `ar-lib' related tests - info: allow user to inhibit creation/update of '${infodir}/dir' - warnings: new 'extra-portability' category, for AM_PROG_AR - ar-lib: new 'AM_PROG_AR' macro, triggering the 'ar-lib' script Extra testsuite adjustments: * tests/instspc.tap: Adjust to new portability requirements due to the new AM_PROG_AR macro. * tests/lex-lib.test: Likewise. * tests/extra-portability2.test: Use `$am_original_AUTOMAKE' instead of the obsolete `$original_AUTOMAKE'. * tests/list-of-tests.mk: Update.
Stefano Lattarini a778e9e1 2011-11-03T11:37:30 Merge branch 'maint' * maint: maint-mode: fix botched configure messages fix: regenerate Makefiles info: allow user to inhibit creation/update of '${infodir}/dir'
Stefano Lattarini 76928ddf 2011-10-25T11:45:24 Merge branch 'master' into testsuite-work * master: fix: date in recent ChangeLog entry tests: fix spurious failures due to missing 'yywrap()' function dejagnu: allow the package developer to extend site.exp * THANKS: Fix whitespace issue. deps: partially revert commit `v1.11-512-geeee551' dejagnu: ensure 'srcdir' is defined as a relative directory
Stefano Lattarini 8c695f69 2011-10-25T11:34:11 Merge branch 'maint' * maint: dejagnu: allow the package developer to extend site.exp * THANKS: Fix whitespace issue. deps: partially revert commit `v1.11-512-geeee551' dejagnu: ensure 'srcdir' is defined as a relative directory
Stefano Lattarini 1ec16686 2011-10-23T13:19:21 info: allow user to inhibit creation/update of '${infodir}/dir' With this change, we allow the user to request the install-info rules not to update the `${infodir}/dir' file, by exporting the environment variable `AM_UPDATE_INFO_DIR' to the value "no". This is especially useful to distro packagers, and is a definite improvement over our previous hack of looking whether the `install-info' program was the Debian or GNU version -- hack which had been silently broken with recent versions of debian install-info BTW (probably since dpkg 1.15.4, 2009-09-06). This change fixes automake bug#9773. See also Debian Bug#543992. * lib/am/texinfos.am: Don't look anymore at the output of `install-info --version' to decide whether to use it to update the `${infodir}/dir' or not; instead, honour the environment variable `AM_UPDATE_INFO_DIR'. * tests/install-info-dir.test: New test. * tests/Makefile.am (TESTS): Add it. * tests/defs: Also unset `AM_UPDATE_INFO_DIR', to avoid unwanted interferences from the environment. * doc/automake.texi (Texinfo): Update. * NEWS: Likewise. * THANKS: Likewise. Report by Jonathan Nieder.
Stefano Lattarini 9b5ced02 2011-10-22T20:51:43 Merge branch 'dejagnu-siteexp-extend' into maint * dejagnu-siteexp-extend: dejagnu: allow the package developer to extend site.exp
Stefano Lattarini beef7a66 2011-02-01T09:52:43 dejagnu: allow the package developer to extend site.exp Fixes automake bug#7873. * lib/am/dejagnu.am (site.exp): Depend from the files listed in $(EXTRA_DEJAGNU_SITE_CONFIG), if any. Append their contents to the generated site.exp (still preserving user edits). * doc/automake.texi (Dejagnu Tests): Update. * tests/dejagnu-siteexp-append.test: New test. * tests/dejagnu-siteexp-extend.test: Likewise. * tests/dejagnu-siteexp-useredit.test: Likewise.รน * NEWS: Update. * tests/Makefile.am (TESTS): Update. Suggestion by Rainer Orth.
Stefano Lattarini 6a2fe818 2011-10-22T20:42:17 Merge branch 'dejagnu-srcdir-discrepancy' into maint * dejagnu-srcdir-discrepancy: dejagnu: ensure 'srcdir' is defined as a relative directory Fix testsuite failure of check12.test without DejaGNU. Extend and improve tests on DejaGnu support.
Stefano Lattarini 58c019e0 2011-10-20T14:39:53 Merge branch 'test-protocols' into testsuite-work * test-protocols: cosmetics: remove obsolete comment coverage: conditional contents in LOG_DRIVER variables coverage: LOG_DRIVER variables can be defined through AC_SUBST tests: fix spurious failure with Solaris /bin/sh threaded-am: better serialization for required config files automake: refactor, break up 'require_file_internal' dist: separate auxiliary file instantiation from DIST_COMMON update refactor: rename a subroutine to a more proper name dist: truly always distribute files in AC_REQUIRE_AUX_FILE dist: simplify automake code accordingly to the previous changes dist: auxiliary files can be distributed from subdir Makefiles
Stefano Lattarini ded01c88 2011-01-13T20:33:26 dejagnu: ensure 'srcdir' is defined as a relative directory This change fixes automake bug#7833. * lib/am/dejagnu.am (check-DEJAGNU): Prefer using plain $(srcdir) over calculating and using the absolute path of $(srcdir). * tests/dejagnu-relative-srcdir.test: New test. * tests/dejagnu-absolute-builddir.test: Likewise. * tests/Makefile.am (TESTS): Update. Report by Ian Lance Taylor. Suggestions by Ralf Wildenhues.
Stefano Lattarini 326ecba2 2011-09-30T12:12:43 dist: auxiliary files can be distributed from subdir Makefiles With this change, we make it possible for a subdir Makefile.am to distribute files in the config auxdir; while this means that some files might be copied multiple times, it simplify some logic in the automake script, and fix at least one important bug. In fact, before this change, the auxiliary script `test-driver' was not being distributed as expected when TESTS was defined only in a subdir Makefile (which is a pretty common setup indeed). Now this does not happen anymore: so the present change fixes automake bug#9546. Another welcome collateral effect is that `dist-auxfile-2.test' now passes. OTOH, the present changes *breaks threaded automake*. The reason is that automake needs to serialize file installations spawned by `--add-missing' (this isn't for cosmetic reasons, but is really needed to avoid possible race conditions and botched output files). Currently the code that installs required files is intertwined with the code that declares the DIST_COMMON variables; so, upon de-serialization, the definition of DIST_COMMON might get emitted in the wrong Makefile.in. Some follow-up refactoring in automake will soon take care of remedying this situation. For the moment, we just declare some "parallel-am" tests as xfailing. * automake.in (maybe_push_required_file): Add ad-hoc handling for the case where the directory part of the required file is different from the subdir where the current Makefile.am resides, but is equal to the "config-aux directory" ($config_auxdir). This is needed to allow a construct in a non-top-level Makefile.am to require a file in the config-aux directory. * tests/test-driver-is-distributed.test: Extend and adjust. This test now passes. * tests/java-compile-run-nested.test: Call automake with the `-a' option to ensure that the `test-driver' auxiliary script gets correctly installed. This test now passes. * tests/distcom-subdir.test: New test. * tests/dist-readonly.test: Likewise. * tests/dist-repeated.test: Likewise. * tests/dist-auxdir-many-subdirs.test: Likewise. * tests/distcom7.test: Removed, it's obsolete now. * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
Stefano Lattarini 8356631e 2011-10-06T22:14:15 Merge branch 'test-protocols' into testsuite-work * test-protocols: fix: improve latest ChangeLog entry after merge parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS tests: fix spurious error in 'test-extensions.test' tests: fix spurious failure in 'insthook.test' maintcheck: fix spurious failure regenerate Makefile.in
Stefano Lattarini 80795e05 2011-10-06T22:09:30 Merge branch 'master' into test-protocols
Stefano Lattarini 30eb17ff 2011-10-06T21:42:06 Merge branch 'maint'
Stefano Lattarini 736fde9f 2011-10-06T16:14:46 Merge branch 'fix-pr9579' into maint * fix-pr9579: maintcheck: fix spurious failure regenerate Makefile.in
Stefano Lattarini 0773a998 2011-10-06T16:10:40 maintcheck: fix spurious failure * lib/am/distdir.am: Use `$(infodir)', not `${infodir}', to avoid complaints from the `sc_no_brace_variable_expansions' maintainer check.
Stefano Lattarini fc78d517 2011-10-06T14:46:44 Merge branch 'test-protocols' into testsuite-work
Stefano Lattarini 0da79637 2011-10-06T14:29:31 Merge branch 'master' into test-protocols
Stefano Lattarini 8b27c5b5 2011-10-06T13:56:49 Merge branch 'maint' * maint: fix: make a test script executable coverage: expose automake bug#9651 parallel-tests: automake error our on invalid TEST_EXTENSIONS fix: regenerate Makefile docs: don't suggest installing `.m4' files in hard-coded location distuninstallcheck: fail also when only one file is left installed
Stefano Lattarini 6816b316 2011-10-01T19:22:37 Merge branch 'fix-pr9579' into maint * fix-pr9579: distuninstallcheck: fail also when only one file is left installed
Stefano Lattarini 03ad7465 2011-09-28T17:00:42 Merge branch 'test-protocols' into testsuite-work * test-protocols: fix: regenerate Makefile.in files tap/awk: account for unusual korn shell signal handling behaviour tap/awk: handle exit statuses > 256 (seen on few korn shells) maintcheck: fix usage of `cd' instead of `$(am__cd)'
Stefano Lattarini c481ac95 2011-09-28T16:59:47 Merge branch 'master' into test-protocols * master: fix: regenerate Makefile.in files maintcheck: fix usage of `cd' instead of `$(am__cd)'
Stefano Lattarini 68b42720 2011-09-28T16:58:52 Merge branch 'maint' * maint: fix: regenerate Makefile.in files maintcheck: fix usage of `cd' instead of `$(am__cd)'
Stefano Lattarini 2126b691 2011-09-28T16:46:58 fix: regenerate Makefile.in files
Stefano Lattarini a2803e6a 2011-09-28T13:17:13 maintcheck: fix usage of `cd' instead of `$(am__cd)' * lib/am/inst-vars.am (am__uninstall_files_from_dir): Use `$(am__cd)', not plain `cd'.
Stefano Lattarini 8ccc53c4 2011-09-28T11:28:27 Merge branch 'test-protocols' into testsuite-work * test-protocols: uninstall: "make uninstall" before "make install" works tests: fix tests on aclocal search path precedences
Stefano Lattarini f67e562d 2011-09-28T11:17:33 Merge branch 'master' into test-protocols * master: uninstall: "make uninstall" before "make install" works tests: fix tests on aclocal search path precedences
Stefano Lattarini 58d91b7f 2011-09-28T11:11:51 Merge branch 'maint' * maint: uninstall: "make uninstall" before "make install" works
Stefano Lattarini a2498fe8 2011-09-23T16:06:59 distuninstallcheck: fail also when only one file is left installed This change fixes automake bug#9579. * lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring a potential `dir' file created by install-info and left installed. Also, be more careful about "this can't happen" kind of errors. (am__distuninstallcheck_listfiles): New internal helper macro. * tests/distcheck-pr9579.test: New test. * tests/distcheck-override-infodir.test: Likewise. * tests/Makefile.am (TESTS): Add them. * NEWS, THANKS: Update. Report by Nick Bowler.
Stefano Lattarini eae5cfa9 2011-09-23T22:50:14 uninstall: "make uninstall" before "make install" works This change fixes automake bug#9578. * lib/am/inst-vars.am (am__uninstall_files_from_dir): New internal macro, that defines a shell code fragment to uninstall files from a given directory. * lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use it, to reduce code duplication and improve consistency and correctness. * lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise. * lib/am/lisp.am (uninstall-%DIR%LISP): Likewise. * lib/am/mans.am (uninstall-man%SECTION%): Likewise. * lib/am/python.am (uninstall-%DIR%LIBRARIES): Likewise. * lib/am/scripts.am (uninstall-%DIR%SCRIPTS): Likewise. * tests/uninstall-pr9578.test: New test. * tests/uninstall-fail.test: New test. * tests/Makefile.am (TESTS): Add them. * NEWS, THANKS: Update. Report by Nick Bowler.
Stefano Lattarini 066f4959 2011-09-18T19:14:55 Merge branch 'master' into testsuite-work
Stefano Lattarini 954f7d01 2011-09-18T18:32:12 Merge branch 'master' into test-protocols
Stefano Lattarini cd2efb9f 2011-09-18T18:13:59 Merge branch 'maint' * maint: coverage: test interactions of `nobase_' and `nodist_' cosmetics: fix various typos and grammaros py-compile: '--' and non-option arguments terminate the option list py-compile: complain on unrecognized options py-compile: normalize error and help messages python tests: add "unit tests" on py-compile py-compile: the '--destdir' option now accepts a blank argument python: run the 'py-compile' script with $(SHELL)
Stefano Lattarini dd7e620b 2011-09-18T18:05:43 Merge branch 'python-work' into maint * python-work: cosmetics: fix various typos and grammaros py-compile: '--' and non-option arguments terminate the option list py-compile: complain on unrecognized options py-compile: normalize error and help messages python tests: add "unit tests" on py-compile py-compile: the '--destdir' option now accepts a blank argument python: run the 'py-compile' script with $(SHELL)
Stefano Lattarini 16912bdf 2011-09-18T16:32:46 Merge branch 'java-work' * java-work: fix: remove duplicated ChangeLog entries java: allow both JAVA and nobase_JAVA in the same Makefile.am java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am fix: regenerate tests/Makefile.in tests defs: use `skip_' for skipping java-related tests java tests: use $PATH_SEPARATOR where appropriate java coverage: test JAVACFLAGS and AM_JAVACFLAGS java coverage: test rebuild rules for java java coverage: try to build and run a java program test defs: new requirement for the default java interpreter java tests: tweak and make stricter a couple of tests java coverage: add test on uninstall with JAVA primary java tests: require java compiler more properly java: allow both JAVA and nobase_JAVA in the same Makefile.am java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am
Stefano Lattarini 2990ef35 2011-09-12T10:54:49 java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am Fixes automake bug#8434. * automake.in (handle_java): Strip `dist_' and `nodist_' from the given prefix. Define a new internal Makefile variable `am__java_sources'. Related adjustments. * lib/am/java.am (JAVAC, JAVAROOT, CLASSPATH_ENV): Define only the first time this am file is processed. (class%DIR%.stamp): Stamp file renamed ... (class%NDIR%.stamp): ... to this, so that the `dist_' and `nodist_' prefixes are stripped from the name of the stampfile. Adjust declaration of dependencies by using the new automake-generated internal variable `$(am__java_sources)'. In the rule, use `$@' as the name of the target, rather than hard-coding it. * tests/java.test: Update and extend. * tests/java-no-duplicate.test: New test. * tests/java-mix-dist-nodist.test: Likewise. * tests/java-compile-and-install.test: Likewise. * tests/java-clean.test: Likewise. * tests/java-sources.test: Likewise. * tests/Makefile.am (TESTS): Update. Cherry-picked from commit v1.11-337-gd76b503.
Stefano Lattarini 8ab0c949 2011-09-03T21:03:36 installcheck: support it in our own testsuite * NEWS: Update. * tests/defs-static.in ($am_running_installcheck): New variable. Initialize it to a default of "no", and sanity-check its value. ($am_datadir, $am_docdir, $am_automake_acdir, $am_system_acdir, $am_bindir, $am_scriptdir, $am_pkgvdir): New variables, initialized from AC_SUBST'ed values which are adaptively chosen depending on whether the testsuite is running in "simple" mode or in "installcheck" mode. ($MISSING): Remove, it's not really required by the testsuite. ($PATH): Update using `$am_bindir', not `$testbuilddir'. * Makefile.am (installcheck-local): New target. * lib/Automake/tests/Makefile.am (installcheck-local): New target. (AM_TESTS_ENVIRONMENT, AM_PL_LOG_FLAGS): Adaptively choose the `-I' flags for perl based on whether the tests are being run by "make check" or "make installcheck". * tests/Makefile.am (installcheck-local): New target. (defs-static): Generate it at make time, not at configure time, in order to correctly resolve all the indirections in the AC_SUBST'd variables; done with the help of ... (do_subst): ... this new macro. (EXTRA_DIST): Explicitly distribute `defs-static.in'. (CLEANFILES): Remove `defs-static'. * configure.ac (AC_CONFIG_FILES): Remove `tests/defs-static'. (AC_SUBST): Substitute also `automake_acdir', `system_acdir', `scriptdir' and `amdir' to proper values. * lib/Makefile.am (scriptdir): Don't explicitly define anymore. * lib/am/Makefile.am (amdir): Likewise. * m4/acdir/dirlist: Remove, it's not needed anymore. Instead use ... * m4/acdir/.placeholder: ... this file. * m4/Makefile.am (EXTRA_DIST): Update. (automake_acdir, system_acdir): Don't explicitly define anymore. * tests/aclocal-print-acdir.test: Use new `$am_...dir' variables, instead of hard-coding values with $testsrcdir and $testbuilddir, to test more faithfully under "make installcheck". * tests/amhello-binpkg.test: Likewise. * tests/amhello-cflags.test: Likewise. * tests/amhello-cross-compile.test: Likewise. * tests/ansi2knr-no-more.test: Likewise. * tests/autodist-stamp-vti.test: Likewise. * tests/auxdir.test: Likewise. * tests/check2.test: Likewise. * tests/copy.test: Likewise. * tests/multlib.test: Likewise. * tests/obsolete.test: Likewise. * tests/parallel-tests-interrupt.test: Likewise. * tests/repeated-options.test: Likewise. * tests/suffix5.test: Likewise. * tests/tap-doc2.test: Likewise. * tests/txinfo22.test: Likewise. * tests/vtexi3.test: Likewise. * tests/defs: Likewise. Also, print the values of `$using_tap' and `$am_running_installcheck', to simplify debugging, and do some related code movings and tweakings. * tests/aclocal3.test: Update to avoid possible spurious failures when running under "make installcheck". * tests/warnings-unknown.test: Likewise. * tests/location.test: Likewise, and improve debugging input since we are at it. * tests/acloca10.test: Adapt and tweak to work also during a "make installcheck", and not to require a pre-populated `dirlist' file. * tests/acloca18.test: Likewise. * tests/dirlist2.test: Likewise. * tests/dirlist.test: Likewise, and remove an obsolete comment. * tests/README: Update. * tests/dirlist-abspath.test: New test. * tests/list-of-tests.mk: Update.
Stefano Lattarini 371bdf6b 2011-09-06T11:02:38 Merge branch 'master' into test-protocols * master: * tests/amhello-binpkg.test: Add missing $EXEEXT usage. fix: list test 'vala-vpath.test' in XFAIL_TESTS tests: simplify wrapper for aclocal fix: minor typo in ChangeLog automake: fix regression due to de-ansification support removal coverage: vala support failing for VPATH from-scratch builds docs: report few more automake parsing limitations automake: cleanups after de-ansification support removal (2) automake: cleanups after de-ansification support removal (1) ansi: remove obsolete code/files for de-ANSI-fication support ansi: reject attempts to use automatic de-ANSI-fication support tests: remove tests about obsolete de-ANSI-fication support docs: remove description of de-ANSI-fication support from manual
Stefano Lattarini 1b56fe0c 2011-09-02T10:45:19 Merge branch 'remove-deansification' into testsuite-work * remove-deansification: automake: fix regression due to de-ansification support removal automake: cleanups after de-ansification support removal (2) automake: cleanups after de-ansification support removal (1) ansi: remove obsolete code/files for de-ANSI-fication support ansi: reject attempts to use automatic de-ANSI-fication support tests: remove tests about obsolete de-ANSI-fication support docs: remove description of de-ANSI-fication support from manual
Stefano Lattarini 199b9086 2011-09-01T11:02:04 automake: fix regression due to de-ansification support removal The last change `v1.11-947-g136b489' removed code that automake was using to decide whether binary objects were built by the generated Makefile.in, so that it could avoid to emit unneeded code when this was not the case. Re-introduce such code in a less-obfuscated form, and add a test to ensure we don't regress again. * automake.in ($must_handle_compiled_objects): New global variable, telling whether the generated Makefile has to build compiled objects. (initialize_per_input): Reset it. (handle_programs, handle_libraries, handle_ltlibraries): Set it to a true value when required. (handle_compile): Don't generate any code if the variable `$must_handle_compiled_objects' is not set to a true value. * tests/no-extra-makefile-code.test: New test. * tests/Makefile.am (TESTS): Add it.
Stefano Lattarini 136b4899 2011-08-28T22:38:50 automake: cleanups after de-ansification support removal (2) * automake.in ($get_object_extension_was_run): Remove, it's not really needed anymore. (&get_object_extension): Remove, it's a no-op now. All callers adjusted.
Stefano Lattarini c8d4c3f4 2011-08-28T16:09:50 ansi: remove obsolete code/files for de-ANSI-fication support * lib/ansi2knr.1, lib/ansi2knr.c: Deleted. * lib/Makefile.am (dist_pkgvdata_DATA): Do not list them anymore. * lib/am/ansi2knr.am: Delete. * lib/am/Makefile.am (dist_am_DATA): Do not list it anymore. * lib/Automake/Variable.pm (%_am_macro_for_var): Remove entries for `ANSI2KNR' and `U'. * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Don't care anymore about possible definition of the `$U' variable. * automake.in (@common_files): Drop `ansi2knr.1' and `ansi2knr.c'. (struct): Remove scalar field `ansi'. All callers adjusted. (&lang_c_finish, %de_ansi_files): Remove, they're not required anymore. All callers adjusted. ($get_object_extension_was_run): Fix typo in comment. (&get_object_extension): Drop code dealing with de-ansification; this function basically a no-op now, but is required to properly initialize `$get_object_extension_was_run' variable. (&handle_languages, &handle_compile, &lang_c_rewrite): Drop code dealing with de-ansification.
Stefano Lattarini 82796c70 2011-08-19T10:21:01 Merge branch 'test-protocols' into testsuite-work * test-protocols: testsuite: fix some redundant autotools calls in tests on TAP * THANKS (Daniel Richard G.): Update e-mail address. java: avoid compilation errors when CLASSPATH is empty parallel-tests: no more spurious successes for FreeBSD make tap: improve granularity for tests on problematic TAP messages tap: correctly handle string "0" in TAP messages tap: a minor simplification in the perl TAP driver parallel-tests: fix help screen for test driver scripts tap: add a dummy TAP driver script implemented in shell + awk testsuite: refactor tests on TAP support in view of future changes fix: regenerate tests/Makefile.in hacking: we now require autoconf 2.68
Stefano Lattarini 94aa5869 2011-08-18T21:53:34 Merge branch 'master' into test-protocols * master: * THANKS (Daniel Richard G.): Update e-mail address. java: avoid compilation errors when CLASSPATH is empty parallel-tests: no more spurious successes for FreeBSD make hacking: we now require autoconf 2.68
Stefano Lattarini 8c4d0f06 2011-08-18T21:47:11 Merge branch 'maint' * maint: * THANKS (Daniel Richard G.): Update e-mail address. java: avoid compilation errors when CLASSPATH is empty parallel-tests: no more spurious successes for FreeBSD make hacking: we now require autoconf 2.68
Stefano Lattarini 672fd935 2011-08-18T21:44:38 Merge branch 'maint' into python-work * maint: * THANKS (Daniel Richard G.): Update e-mail address. java: avoid compilation errors when CLASSPATH is empty parallel-tests: no more spurious successes for FreeBSD make hacking: we now require autoconf 2.68 test defs: more environment cleanup tests: fix spurious failure with Solaris make maintcheck: fix maintainer-check failures, both real and spurious docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support tests: relax a test on amhello examples to cater to Solaris tar docs: add references between the 2 sections on java support Sync auxiliary files from upstream.
Stefano Lattarini 03676787 2011-08-18T21:34:44 Merge branch 'maint' into java-work
Daniel Richard G 720f0a2e 2011-08-16T15:19:14 java: avoid compilation errors when CLASSPATH is empty * lib/am/java.am (CLASSPATH_ENV): When redefining `$CLASSPATH', do not append an empty component in case the previous value of CLASSPATH is empty or unset. * tests/java-empty-classpath.test: New test. * tests/Makefile.am (TESTS): Update. Fixes automake bug#9306.
Stefano Lattarini b3afcecf 2011-08-12T18:29:28 parallel-tests: no more spurious successes for FreeBSD make Work around a bug of FreeBSD make bug that was causing the automake-generated "check" target to complete with success even if some tests failed; this happened only when FreeBSD make was run in concurrent mode (as in, e.g., "make -j2 check"). The bug is not present in NetBSD make. This change fixes automake bug#9245: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245> See also FreeBSD PR bin/159730: <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730> * lib/am/check.am [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Use a more "safe" (and apparently redundant) idiom to exit with error, so that the non-zero exit status is picked up also by FreeBSD make when it's running in concurrent mode. * NEWS: Update. * tests/check-concurrency-bug9245.test: New test. * tests/Makefile.am (TESTS): Update.
Stefano Lattarini 66dc6143 2011-08-14T17:12:37 Merge branch 'test-protocols' into testsuite-work * test-protocols: coverage: missing tap plan and non-zero exit status testsuite: fix an unportable use of sed testsuite: avoid spurious failure if rst2html program is missing fix: two recent ChangeLog entries tap: improve diagnosing and reporting of plan mismatches tap: log all TAP stream, even after a "Bail out!" coverage: TAP diagnostics after "Bail out!" aren't reported coverage: TAP errors after a "Bail out!" directive aren't reported testsuite: reorganize tests on TAP plans coverage: more TAP driver consistency w.r.t. 'prove' tap: improve some comments in the TAP driver tap: non-zero exit status after "Bail out!" should not be reported tap: a "plan with SKIP" after test results is an error test harness: avoid possible fork bomb coverage: possible infinite recursion in the test harness coverage: possible infinite recursion in the test harness test defs: yet more environment cleanup
Stefano Lattarini 7fff2880 2011-08-10T15:37:27 test harness: avoid possible fork bomb This fixes a regression w.r.t. the master branch, exposed by test 'parallel-tests-fork-bomb.test'. * lib/am/check.am (am--redo-logs): Detect possible infinite recursion due to a test log in $(TEST_LOGS) being the same as $(TEST_SUITE_LOG). * tests/parallel-tests-fork-bomb.test: Enhance and extend a little now that we have more explicit semantics.
Stefano Lattarini a956d986 2011-08-09T23:27:56 Merge branch 'test-protocols' into tap-testsuite-work * test-protocols: test harness: recursive make invocations must use $(AM_MAKEFLAGS)
Stefano Lattarini 02dfe16d 2011-08-09T23:01:23 test harness: recursive make invocations must use $(AM_MAKEFLAGS) * lib/am/check.am ($(TEST_SUITE_LOG)): Pass $(AM_MAKEFLAGS) to $(MAKE) when issuing a recursive make call. Problem detected by the `sc_tests_make_without_am_makeflags' maintainer check.
Stefano Lattarini 2ad99318 2011-08-08T14:49:06 Merge branch 'test-protocols' into tap-testsuite-work * test-protocols: test defs: more environment cleanup test harness: more minor VPATH-rewrite issues test harness: "make -n check" works correctly with Solaris make
Stefano Lattarini 1e0238ad 2011-08-08T13:18:50 test harness: more minor VPATH-rewrite issues * tests/am/check.am (am__set_TESTS_bases, $(TEST_SUITE_LOGS), am--redo-logs, recheck, recheck-html): Cosmetic fixlets to minimize the risk of unwanted VPATH rewrites. (check-TESTS): Likewise, and normalize trailing whitespace since we are at it. Bugs exposed by test cases `check6-p.test' and `check7-p.test'.
Stefano Lattarini bf15d302 2011-08-08T12:50:12 test harness: "make -n check" works correctly with Solaris make To avoid some recipes being executed with "make -n", we used the trick of issuing recursive make calls not directly with $(MAKE), but with a simple indirection instead: ... am__stealth_MAKE = $(MAKE) ... target: ... $(am__stealth_MAKE) ... ... This hack worked with GNU make, but, unfortunately, not with Solaris make. The present change removes the hack, and uses more proper idioms to avoid unwanted recipe executions with "make -n". Bug exposed by test case `parallel-tests-dry-run.test'. * lib/am/check.am (am__stealth_MAKE): Remove, no more used. (.log.trs): Break recipe in multiple shell invocations. ($(TEST_SUITE_LOG)): Likewise, and move some corner-case parts of the recipe to ... (am--redo-logs): ... this new internal helper .PHONY target.
Stefano Lattarini f70e8b59 2011-08-08T10:43:32 Merge branch 'test-protocols' into tap-testsuite-work * test-protocols: tests: fix spurious failure with Solaris make test harness: fixlet in workaround for VPATH rewrite issue
Stefano Lattarini 232dcc6d 2011-08-08T09:31:03 test harness: fixlet in workaround for VPATH rewrite issue Fixes a blunder in previous commit `v1.11-983-gfda3de5'. * lib/am/check.am (am__set_TESTS_bases): Add forgotten end-of-line anchor to sed expression. In comments, add reference to ... * tests/test-trs-basic.test: ... this test, which has been adapted and tightened (and tweaked).
Stefano Lattarini cc98b9c6 2011-08-08T01:43:34 Merge branch 'test-protocols' into tap-testsuite-work * test-protocols: fix: regenerate Makefiles test harness: work around a VPATH rewrite issue parallel-tests: work around Solaris XPG4 make segfault testsuite: fix weird spurious failure with Solaris /bin/sh testsuite: fix another spurious failure on Solaris make testsuite: fix two spurious failures on Solaris make tap driver: refactor and remove dead code testsuite: fix spurious failure in a test on TAP support tap: plan location is more liberal w.r.t. non-TAP lines testsuite: remove now-passing test from XFAIL_TESTS
Stefano Lattarini fda3de57 2011-08-08T01:23:42 test harness: work around a VPATH rewrite issue * lib/am/check.am (am__TEST_BASES): Removed, it's role taken over by ... (am__set_TESTS_bases): ... these new variable. ($(TEST_SUITE_LOG): Use it, to avoid VPATH rewrite issues. * automake.in (handle_tests): Update the code for the cleanup of the `.trs' file to use `$(TEST_LOGS)' instead of `$(am__TEST_BASES)'. * tests/test-harness-vpath-rewrite.test: New test, better exposing the problem fixed by this change * tests/Makefile.am (TESTS): Add it. * tests/test-trs-basic.test: Update and extend.
Stefano Lattarini 152fcd20 2011-08-08T00:16:56 parallel-tests: work around Solaris XPG4 make segfault Issue exposed by test `posixsubst-tests-p.test', and similar to the problem solved by commit `v1.11-159-ge7aa360'. * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Trim trailing whitespace from $list, to avoid triggering a nasty bug (potential segfault) on Solaris XPG4 make and Heirloom make.
Stefano Lattarini 3027d901 2011-08-05T21:14:53 Merge branch 'test-protocols' into tap-testsuite-work * test-protocols: tap: fix typo in TAP driver version message tap docs: we don't support pragma or version directives (yet) tap: new option to change the string designating TAP diagnostic check: add small "synchronization" comment to `test-driver' maintcheck: fix spurious failure w.r.t. use of bare "exit" check: update comments to reflect recent heavy changes check: small cleanups and refactorings in test harness and drivers testsuite: use AM_TESTS_FD_REDIRECT where appropriate docs: some fixlets in documentation on testsuites support test harness: be aware of more metadata, simplify test drivers tap: check that also a trailing TAP plan can hold a skip directive
Stefano Lattarini a0d4d97a 2011-08-05T14:16:19 check: update comments to reflect recent heavy changes * lib/am/check.am [%?PARALLEL_TESTS%]: Update the comments to reflect the recent changes. Remove quite many comments that were merely duplicating excerpts from the Automake manual.
Stefano Lattarini 4839ca92 2011-08-05T12:08:20 check: small cleanups and refactorings in test harness and drivers * lib/tap-driver (yn): New subroutine, converts a boolean value to a "yes" or "no" string. (write_test_results): Use it, and related reformatting. * lib/test-driver (trap): Also remove the `.trs' file on signals, for extra safety. (fatal): Remove this function, it's never used. ($logfile, $trsfile): Renamed ... ($log_file, $trs_file): ... to these, for clarity, and in order to be more consistent with the `tap-driver' script. Improve a couple of comments. * automake.in (handle_tests): Don't define anymore the now-obsolete make macro `$(TEST_LOGS_TMP)', nor add it to the list of files to be removed upon "make mostlyclean". * lib/am/check.am ($(TEST_SUITE_LOG)): New shell function `f_ok', tells whether a path refers to an existing, regular, readable file. Use it throughout. (recheck): Be safer w.r.t. make implementation that run recipes with `errexit' shell flag active.
Stefano Lattarini 956c58ab 2011-08-05T09:28:17 test harness: be aware of more metadata, simplify test drivers * lib/am/check.am ($(TEST_SUITE_LOG)): When producing the global test log, take into account the new metadata field `:global-test-result:, to write nicely formatted RST section titles, instead of leaving this chore to the individual test drivers. (am_rst_section): Re-introduce this variable, as removed in commit `v1.11-870-ga27c9c4'. * lib/test-driver, lib/tap-driver: Write the global test result as metadata in the `.trs' file, not as (part of) a formatted RST subsection title in the `.log' file. Related simplifications; in particular, get rid of temporary files usage. * doc/automake.texi (Log files generation and test results recording): Document the new metadata. * tests/check12.test: Update. * tests/parallel-tests-harderror.test: Likewise. * tests/parallel-tests-interrupt.test: Likewise. * tests/parallel-tests-log-override-2.test: Likewise. * tests/parallel-tests-log-override-recheck.test: Likewise. * tests/parallel-tests-unreadable.test: Likewise. * tests/tap-global-result.test: Likewise. * tests/test-metadata-results.test: Likewise. * tests/test-log.test: Likewise, and another minor unrelated fix. * tests/test-metadata-global-result.test: New test. * tests/Makefile.am (TESTS): Update.
Stefano Lattarini f5c022ed 2011-08-03T17:24:19 Merge branch 'master' into test-protocols * master: maintcheck: fix maintainer-check failures, both real and spurious docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support tests: relax a test on amhello examples to cater to Solaris tar test defs: function 'is_newest' now works also with directories docs: add references between the 2 sections on java support Sync auxiliary files from upstream. fix typo in recent ChangeLog entry docs, tests: synchronize examples on silent-rules from config.site tests: fix weakness in 'tests-environment-backcompat.test' tests: portability fixes in tests on amhello examples remake: add test ensuring that slower remakes don't hang remake: fix outdated comment in configure.am docs, tests: synchronize examples from docs to tests coverage: new test on parallel-tests TESTS runtime overriding cosmetics: fix typos in recent ChangeLog entries
Stefano Lattarini dffe171f 2011-08-03T15:46:02 Merge branch 'test-protocols' into tap-testsuite-work
Stefano Lattarini 0c81b43f 2011-07-28T12:25:22 test harness: use new `.trs' files to hold test metadata With this change, the test harness will keep test metadata in dedicated `.trs' files, instead of having them embedded into the `.log' files. This allows for easier forward-compatibility and extension of test metadata, and for more flexibility in the format of the `.log' files. Note that this change makes the `:end-metadata:' field obsolete. * doc/automake.texi (Parallel Test Harness, Log files generation and test results recording): Document the new APIs and behaviour; some related minor rewordings and fixlets. * NEWS: Update. * automake.in (handle_tests): When bringing in the content of `check2.am', substitute %BASE% with the basename of the `.log' file being created by a rule. Add the generated `.trs' files to the list of files to be cleaned by "make mostlyclean". * lib/am/check.am (am__test_driver_flags): Rename ... (am__common_driver_flags): ... to this, and remove the flags `--test-name' and `--log-file' from it: they are now define in the proper rules in `check2.am'. (am__TEST_BASES): New internal variable, holding the names of the tests, with any registered extension removed. (am__stealth_MAKE): New internal variable, can be used instead of $(MAKE) in recipes requiring a recursive call to make, but which are not intended to be executed by "make -n". (.log.trs): New suffix rule, to recover from deletion of `.trs' files. ($(TEST_SUITE_LOG)): Almost completely rewritten to follow the new API of "test logs in `.log' files, test metadata in `.trs' files". It goes to some length to work correctly in face of unreadable or missing `.log' and `.trs' files, and to error out with proper error messages when this is not possible. [%?PARALLEL_TESTS%] (check-TESTS): Also remove relevant "stale" `.trs' files (in addition to `.log files) before remaking the $(TEST_SUITE_LOG). (recheck, recheck-html): Look for the `:recheck:' field in the `.trs' files, not in the `.log' files. * lib/am/check2.am (?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Adjust the call to the test driver, in particularly passing the new option `--trs-file'. [%am__EXEEXT%] (?GENERIC?%EXT%$(EXEEXT).log): Likewise. * lib/tap-driver ($USAGE): Adjust the help screen. (Getopt::Long::GetOptions): Handle the `--trs-file' option, through the use of ... ($trs_file): ... this new global variable. (finish): Write metadata for the test run to `$trs_file' rather then to `$log_file', through the use of ... (write_test_results): ... this new function. * lib/test-driver (print_usage): Update the help screen. (Option parsing): Handle the `--trs-file' option, through the use of ... ($resfile): ... this new global variable. (Main code): Write metadata for the test run to `$trsfile' rather than to `$logfile'. Minor related adjustments to comments. * tests/.gitignore: Ignore `*.trs' files. * tests/parallel-tests-unreadable-log.test: Moved ... * tests/parallel-tests-unreadable.test: ... to this, and extended to also check the semantics for unreadable `.trs' files. * tests/test-driver-end-metadata.test: Deleted as obsolete. * tests/test-driver-metadata-no-leading-space.test: Likewise. * tests/test-driver-global-log.test: Renamed ... * tests/test-metadata-global-log.test: ... to this, and modified as to verify the new APIs and semantics. * tests/test-driver-recheck: Renamed ... * tests/test-metadata-recheck.test: ... to this, and modified likewise. * tests/parallel-tests-once.test: New test. * tests/parallel-tests-make-n.test: Likewise. * test-metadata-results.test: Likewise. * test-missing.test: Likewise. * test-missing2.test: Likewise. * test-trs-basic.test: Likewise. * test-trs-recover.test: Likewise. * test-trs-recover2.test: Likewise. * tests/Makefile.am (TESTS): Update.
Stefano Lattarini 4014b502 2011-07-26T14:51:20 test harness: allow more metadata in log files This change reworks and improves the parallel test harness to use more specialized reStructuredText fields in the log files (instead of relying on specially-placed of "magic lines" and more indirect semantical formatting); the new fields are the following: - ":recheck:": tell whether the associated test will have to be re-run by "make recheck"; - ":copy-in-global-log:": tell whether the content of the log file should be copied in the "global log" `test-suite.log'; - ":end-metadata:", which inhibits the scanning of the rest of the log file (for what concerns test metadata). Also, the special `:test-result:' value "END" has been removed, superseded by the new `:end-metadata:' field. * doc/automake.texi (Log files generation and test results recording): Document the new API and semantics. Remove or fix some obsolete comments. * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html): Adjust comments and code. * lib/tap-driver (finish): Adjust, with the help of ... (must_recheck, copy_in_global_log): ... these new functions. * lib/test-driver (Main code): Adjust, with the help of ... ($recheck, $gcopy): ... these new variables. * tests/trivial-test-driver: Update to obey the new APIs. * tests/test-driver-recheck.test: Likewise. * tests/test-driver-global-log.test: Likewise. * tests/tap-passthrough.test: Relax the test, avoiding to check what is written in `test-suite.log'; such check has been moved ... * tests/tap-global-log.test: ... in this new test, and extended. * tests/test-driver-metadata-no-leading-space.test: New test. * tests/test-driver-end-test-results.test: Removed, it checked the old APIs; superseded by ... * tests/test-driver-end-metadata.test: ... this new test. * tests/tap-log.test: Improve syncing with ... * tests/test-log.test: ... this new test. * tests/parallel-tests.test: Remove some duplication w.r.t. this last new test. Updated heading comments. * tests/Makefile.am (TESTS): Update.
Stefano Lattarini b9e9d546 2011-07-24T16:47:24 simple tests: support developer-defined fd redirections Motivated by coreutils bug#8846, and related discussions: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846> <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html> In those threads it has been shown how problematic it can be to do portable file descriptor redirections in the testsuite when using the Automake testsuite harness. This change should remedy to that situation. * lib/am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Append redirection defined in $(AM_TESTS_FD_REDIRECT) to the command-line invocations of the test scripts. * lib/am/check.am [!%?PARALLEL_TESTS%] $(check-TESTS): Likewise. * NEWS: Update. * doc/automake.texi (Script-based Testsuites): Document the new feature. * tests/check-fd-redirect.test: New test. * tests/parallel-tests-fd-redirect.test: Likewise. * tests/parallel-tests-am_tests_environment.test: Remove checks about the use of redirections in AM_TESTS_ENVIRONMENT: they would check deprecated (if not undefined) behaviour now. Strengthen a couple of still valid checks, to keep the test more in sync with the documentation. Improve debugging information. * tests/Makefile.am (TESTS): Update.
Stefano Lattarini eaac33fe 2011-07-01T11:12:31 parallel-tests: simplify testsuite summary Prefer a more deterministic, "tabular" format for the testsuite summary, always listing the numbers of passed, failed, xfailed, xpassed, skipped and errored tests, even when these numbers are zero. This simplify the logic of testsuite summary creation, makes it more easily machine-parseable, and will probably allow for easier addition of new kinds of test results in the future. * lib/am/check.am (am__tty_colors_dummy): New make variable, to reduce code duplication. Extracted from previous versions of $(am__tty_colors), and extended by defining two new variables `$mgn' and `$brg'. [%?COLOR%, %!?COLOR%] (am__tty_colors): Use that new variable. (am__text_box): Delete, is not needed anymore. ($(TEST_SUITE_LOG)): Rewrite associated rules to implement the new testsuite summary format. * NEWS: Update. * tests/check10.test: Don't run with the parallel-tests harness too, that makes no sense anymore. * tests/color.test: Update and adjust. * tests/color2.test: Likewise. * tests/parallel-tests.test: Likewise. * tests/parallel-tests3.test: Likewise. * tests/parallel-tests6.test: Likewise. * tests/parallel-tests9.test: Likewise. * tests/parallel-tests-unreadable-log.test: Likewise. * tests/parallel-tests-empty-testlogs.test: Likewise. * tests/parallel-tests-log-override-recheck.test: Likewise. * tests/parallel-tests-no-spurious-summary.test: Likewise. * tests/test-driver-custom-multitest.test: Likewise. * tests/test-driver-end-test-results.test: Likewise. * tests/parallel-tests-no-color-in-log.test: New test. * tests/testsuite-summary-color.test: Likewise. * tests/testsuite-summary-count.test: Likewise. * tests/testsuite-summary-count-many.test: Likewise. * tests/testsuite-summary-reference-log.test: Likewise. * tests/testsuite-summary-checks.sh: New auxiliary script, used by the new tests above. * tests/extract-testsuite-summary: Likewise. * tests/trivial-test-driver: Optimize for speed when there are lots of of tests. * tests/Makefile.am (EXTRA_DIST): Distribute them. (testsuite-summary-color.log, testsuite-summary-count.log): Depend on them. (testsuite-summary-count-many.log): Depend on the auxiliary scripts 'trivial-test-driver' and 'extract-testsuite-summary'. (TESTS): Update.
Stefano Lattarini 15400bca 2011-06-30T14:55:43 parallel-tests: new recognized test result 'ERROR' * lib/am/check.am ($(TEST_SUITE_LOG)): Recognize a new test result `ERROR'. Use it when encountering unreadable test logs (previously a simple `FAIL' was used in this situations). * lib/test-driver: Set the global test result to `ERROR' when the test exit status is 99. When doing colorized output, color `ERROR' results in magenta. * doc/automake.texi (Log files generation and test results recording): Update by also listing `ERROR' among the list of valid `:test-results:' arguments. * NEWS: Update. * tests/trivial-test-driver: Update. * tests/parallel-tests.test: Likewise. * tests/parallel-tests-harderror.test: Likewise. * tests/parallel-tests-no-spurious-summary.test: Likewise. * tests/test-driver-global-log.test: Likewise. * tests/test-driver-recheck.test: Likewise. * tests/test-driver-custom-multitest-recheck.test: Likewise. * tests/test-driver-custom-multitest-recheck2.test: Likewise. * tests/test-driver-custom-multitest.test: Likewise. * tests/test-driver-custom-no-html.test: Likewise. * tests/test-driver-end-test-results.test: Likewise. * tests/color.test: Likewise. Also, make stricter, and also test from VPATH. * tests/color2.test: Likewise, and improve syncing with color.test. * tests/parallel-tests-exit-statuses.test: New test. * tests/parallel-tests-console-output.test: Likewise. * tests/Makefile.am (TESTS): Update.
Stefano Lattarini 527d34a6 2011-07-08T14:34:50 Merge branch 'maint' into python-work * maint: fix typo in recent ChangeLog entry docs, tests: synchronize examples on silent-rules from config.site tests: fix weakness in 'tests-environment-backcompat.test' tests: portability fixes in tests on amhello examples remake: add test ensuring that slower remakes don't hang remake: fix outdated comment in configure.am docs, tests: synchronize examples from docs to tests cosmetics: fix typos in recent ChangeLog entries
Stefano Lattarini f2f162f5 2011-07-08T14:34:26 Merge branch 'maint' into java-work * maint: fix typo in recent ChangeLog entry docs, tests: synchronize examples on silent-rules from config.site tests: fix weakness in 'tests-environment-backcompat.test' tests: portability fixes in tests on amhello examples remake: add test ensuring that slower remakes don't hang remake: fix outdated comment in configure.am docs, tests: synchronize examples from docs to tests
Stefano Lattarini 2497dcb8 2011-07-08T09:56:33 Merge branch 'master' into testsuite-work * master: tests: portability fixes in tests on amhello examples remake: add test ensuring that slower remakes don't hang remake: fix outdated comment in configure.am
Stefano Lattarini 2b1eeec1 2011-07-08T09:54:38 Merge branch 'maint' * maint: tests: portability fixes in tests on amhello examples remake: add test ensuring that slower remakes don't hang remake: fix outdated comment in configure.am