t/list-of-tests.mk


Log

Author Commit Date CI Message
Stefano Lattarini 6d4ffd83 2013-05-27T11:14:22 suffix rules: better distinction between builtin and user-derived Fixes automake bug#14441. * lib/Automake/Rule.pm ($_suffix_rules_default): Remove, superseded by ... (%suffix_rules_builtin): ... this lexical variable. ($suffix_rules): Remove, superseded by ... (%suffix_rules): ... this lexical variable. (suffix_rules, suffix_rules_count): Adjust. (register_suffix_rule): Update '%suffix_rules_builtin' rather than '%suffix_rules' if the location (as passed by the '$where' argument) is an "internal" one (doesn't come from user-provided Makefile.am). (reset): Simplify resetting of '%suffix_rules' to the default ones accordingly. * t/list-of-tests.mk (XFAIL_TESTS): Drop test 'suffix-custom-pr14441.sh'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 4ba95192 2013-05-27T01:02:05 tests: expose automake bug#14441 * t/suffix-custom-pr14441.sh: New test, still failing. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. Helped-by: Felix Salfelder <felix@salfelder.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d432f067 2013-04-30T23:55:47 Merge branch 'fix-pr12554' into branch-1.13.2 * fix-pr12554: tests: avoid a spurious error with Solaris make subdirs: don't return false positives for the '-k' option's presence header-vars: recognize more make flags ('-k' in particular) header-vars: simplify how make flags are determined tests: remove dead code from t/make-dryrun.tap header-vars: new variable $(am__running_with_option) tests: expose bug#12554 (false positives for presence of '-k' make option)
Stefano Lattarini 2a40fa71 2013-04-30T14:48:45 Merge branch 'fix-pr13588-pax-hangs' into branch-1.13.2 * fix-pr13588-pax-hangs: tar: format 'ustar' cannot support UID/GID longer than 21 bits
Stefano Lattarini 02ead48e 2013-04-29T16:12:34 subdirs: don't return false positives for the '-k' option's presence This change fixes automake bug#12554. The old implementation of the code descending into $(SUBDIRS) entries used the following snippet to decide whether make is running with the '-k' a.k.a. '--keep-going' option, and thus whether a failure in a subdirectory should prevent the descent in the following ones: fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done It's clear that the second pattern in the 'case' construct could possibly match false positives, for examples in these two cases: make check TESTS="x.test k.test" make -I /usr/local/kool-fragments which are somewhat unusual, but not invalid. So we need a more resilient implementation, as we did for the detection of the '-n' flag. This implementation is now provided by the new private macro '$(am__make_keepgoing)' (introduced in recent commits); so we can just us that to fix the bug. * lib/am/subdirs.am ($(am__recursive_targets)): Use '$(am__make_keepgoing)' instead of ad-hoc and more brittle checks. * t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test case 't/subdir-keep-going-pr12554.sh'. Reported-by: Michael Daniels <mdaniels@rim.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 69f77915 2013-04-29T15:22:10 header-vars: recognize more make flags ('-k' in particular) * lib/am/header-vars.am (am__running_with_option): Here. Few improvements to comments, while at it. (am__make_keepgoing): New, tell whther make is being runt with the '-k' option. * t/make-keepgoing.tap: New test. * t/list-of-tests.mk: Add it. * t/make-dryrun.tap: Minor edits to keep it more in sync with the new test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini cbf23ceb 2012-10-02T21:27:28 tests: expose bug#12554 (false positives for presence of '-k' make option) The current implementation of the code descending into $(SUBDIRS) entries uses the following snippet to decide whether make is running with the '-k' a.k.a. '--keep-going' option, and thus whether a failure in a subdirectory should prevent the descent in the following ones: fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done It's clear that the second pattern in the 'case' construct can possibly match false positives, for examples in these two cases: make check TESTS="x.test k.test" make -I /usr/local/kool-fragments which are somewhat unusual, but not invalid. So we need a more resilient implementation, as we did for the detection of the '-n' flag. But alas, such an implementation seems quite tricky to obtain in portable make. So for the moment we content ourselves with exposing the bug, with the hope of being able to fix soon enough. * t/subdir-keep-going-pr12554.sh: New test. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. * THANKS: Update Reported-by: Michael Daniels <mdaniels@rim.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini edfd3bc4 2013-02-17T16:42:46 tar: format 'ustar' cannot support UID/GID longer than 21 bits See automake bug#8343 and bug#13588. POSIX 1988 'ustar' format is defined with *fixed-size* fields. There is notably a 21 bits limit (2097151) for the UID and the GID. Tom Rini tom_rini@mentor.com says (in bug#8343): When the user has a UID or GID that is larger than the ustar format supports, pax does not error out gracefully in some cases (FC13). Marc Herbert <marc.herbert@intel.com> adds (in bug#8343): When "configure" is run by a user with an UID bigger than 21 bits, BSD pax 3.4 aborts when trying to create the 'conftest.tar' test archive and leaves an empty or corrupted conftest.tar file behind. In the next step, pax tries to extract this incomplete or corrupted archive and this *** hangs the whole ./configure script ***. Note: GNU cpio 2.9 pretends to pass the test but it is a LIE: it silently truncates any big UID to its lower 21 bits. I don't know what can be the consequences of this lie. I think there is currently a design issue in automake/m4/tar.m4 considering that a ustar archive should should *never* succeed when ./configure is run from a big user ID. Months later, Petr Hracek <phracek@redhat.com> reports a similar issue (in bug#13588) for Fedora 17: I am trying to solve problem in case a user is created with big UID and during configuration pax hangs with message ATTENTION! pax archive volume change required. Ready for archive volume: 1 Input archive name or "." to quit pax. Archive name > and needs user interaction. Reference: <https://bugzilla.redhat.com/show_bug.cgi?id=843376> Time to fix this issue, on the line of a preliminary patch provided by Petr Hracek in bug#13588. The final patch ended up being remarkably different from that original proposition, though. * m4/tar.m4 (_AM_PROG_TAR): If the UID or GID of the current user is too high (> 2097151), the 'ustar' format cannot work. Adjust checks accordingly. Some related code reordering and clean-up. * t/tar-ustar-id-too-high.sh: New test. * t/list-of-tests.mk: Add it. * t/tar.sh: While at it, tweak and enhance a little. * t/tar2.sh: Likewise. * t/tar3.sh: Likewise. * t/tar-override.sh: Likewise. * NEWS: Update. * THANKS: Likewise. Helped-by: Pavel Raiskup <praiskup@redhat.com> Helped-by: Petr Hracek <phracek@redhat.com> Helped-by: Marc Herbert <marc.herbert@intel.com> Helped-by: Tom Rini <tom_rini@mentor.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3de27839 2013-04-22T14:53:14 header vars: can determine whether we are running under GNU make This is mostly a preparatory patch in view of future changes. * lib/am/header-vars.am (am__is_gnu_make): New, contains shell code that determines whether we are running under GNU make. * t/make-is-gnu.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini eada7ef7 2013-01-18T13:13:30 compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC Make them give runtime warnings in the obsolete category, but apart from that, make them behave as they did in Automake 1.12.x and earlier. While removing those macros seemed quite harmless, because it didn't put a real burden on the developers (requiring them just to do a quick edit to configure.ac), it turned out to place an unsustainable burden (or at least, a burden perceived as such) on distro packagers who use the latest Automake to bootstrap existing packages. Many of those packages, while having likely updated to AC_CONFIG_HEADERS in their development version, still used AM_CONFIG_HEADER in their existing released versions, and the removal of this macro would have thus forced the Fedora packagers to patch all of them. References: <http://www.mail-archive.com/devel@lists.fedoraproject.org/msg52840.html> <http://www.spinics.net/lists/fedora-devel/msg175922.html> <http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains> In addition, the Fedora packagers have already decided to patch their Automake 1.13.1 to reinstate the AM_CONFIG_HEADER and AM_PROG_CC_STDC macros (plus other macros that I don't believe it's worth worrying about): <http://www.spinics.net/lists/fedora-devel/msg176098.html> <http://www.mail-archive.com/devel@lists.fedoraproject.org/msg53030.html> <http://pkgs.fedoraproject.org/cgit/automake.git/commit/?id=ffe6bc39> So, rather than having one more incompatibility floating around, we better mirror that change (or, actually, its relevant parts) in the upstream. * m4/obsolete-err.m4 (AM_CONFIG_HEADER, AM_PROG_CC_STDC): Revert to the older semantics, plus a runtime warning in the 'obsolete' category. * t/backcompat6.sh: Use AM_CONFIG_HEADER once again. * t/am-config-header-no-more.sh: Rename ... * t/am-config-header.sh: ... like this, and adjust. * t/am-prog-cc-stdc-no-more.sh: Rename ... * t/am-prog-cc-stdc.sh: ... like this, and adjust. * t/list-of-tests.mk: Adjust. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini fe05207b 2013-01-02T14:29:46 tests: reorganize tests on backslash issues * t/backsl.sh, t/backsl2.sh, t/backsl3.sh: Merge ... * t/backslash-issues.sh: ... into this test. * t/backsl4.sh: Rename ... * t/backslash-before-trailing-whitespace.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 17fb9bd1 2013-01-02T13:35:58 tests: tweak tests on obsolete EXTRA_DATA variable * t/extra3.sh, t/extra4.sh: Merge .... * t/extra-data.sh: ... into this, with updated comments. * t/list-of-tests.mk: Adjust. Also Tweak the order in which some other tests are listed. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5fbe39b5 2013-01-02T13:31:31 tests: more significant names for some tests * t/extra5.sh: Rename .... * t/extra-dist-vpath-dir.sh: ... like this. * t/extra6.sh: Rename .... * t/extra-dist-dirs-and-subdirs.sh: ... like this. * t/extra7.sh: Rename .... * t/extra-dist-vpath-dir-merge.sh: ... like this. * t/extra8.sh: Rename .... * t/extra-programs-misc.sh: ... like this. * t/extra9.sh: Rename .... * t/extra-programs-and-libs.sh: ... like this. * t/extra10.sh: Rename .... * t/extra-dist-wildcards.sh: ... like this. * t/extra11.sh: Rename .... * t/extra-dist-wildcards-gnu.sh: ... like this. * t/extra12.sh: Rename .... * t/extra-dist-wildcards-vpath.sh: ... like this. * t/extradep.sh: Rename .... * t/extra-deps.sh: ... like this, and adjust heading comments. * t/extradep2.sh: Rename .... * t/extra-deps-lt.sh: ... like this, and adjust heading comments. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a2e9a713 2013-01-01T00:32:34 coverage: test CONFIGURE_DEPENDENCIES * t/remake-configure-dependencies.sh: New test. * t/list-of-tests.mk: Add it. * doc/automake.texi: Reference it in comments. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f3e8d1cd 2012-12-31T23:29:24 coverage: test CONFIG_STATUS_DEPENDENCIES * t/remake-config-status-dependencies.sh: New test. * t/list-of-tests.mk: Add it. * doc/automake.texi: Reference it in comments. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9c287816 2012-12-31T19:18:42 tests: some enhancements to texinfo tests (from Automake-NG) * t/txinfo-many-output-formats.sh: Backport improvements, almost verbatim, from Automake-NG commit 'v1.13-768-gb434acc' (plus minor tweaks for the sake of non-GNU make implementation). * t/txinfo-many-output-formats-vpath.sh: New test, backported almost verbatim from that same Automake-NG commit (again, with minor tweaks for the sake of non-GNU make implementations). * t/lsit-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7df8b28c 2012-12-31T18:18:37 maint: update copyright year for 2013 (in branch maint) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5470c2dd 2012-12-31T13:57:29 tests: some more renames for texinfo tests * t/txinfo.sh: Rename ... * t/txinfo-tex-dist.sh: ... like this. * t/txinfo10.sh: Rename ... * t/txinfo-dvi-recurs.sh: ... like this. * t/txinfo20.sh: Rename ... * t/txinfo-makeinfo-error-no-clobber.sh: ... like this. * t/txinfo-setfilename-suffix-match.sh: Rename ... * t/txinfo-setfilename-suffix-strip.sh: ... like this. * t/txinfo-suffix-less-info.sh: Rename ... * t/txinfo-without-info-suffix.sh: ... like this. * t/vtexi.sh: Rename ... * t/txinfo-vtexi.sh: ... like this. * t/vtexi2.sh: Rename ... * t/txinfo-vtexi2.sh: ... like this. * t/vtexi3.sh: Rename ... * t/txinfo-vtexi3.sh: ... like this, and adjust heading comments. * t/vtexi4.sh: Rename ... * t/txinfo-vtexi4.sh: ... like this, and adjust heading comments. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 162f61c8 2012-12-31T12:58:59 tests: remove a redundant texinfo test * t/txinfo-add-missing.sh: This one, its checks being already covered by the more extensive 't/add-missing.tap' test. * t/txinfo-add-missing2.sh: Rename ... * t/txinfo-add-missing-and-dist.sh: Like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 506f6ce8 2012-12-31T12:49:27 tests: don't list a removed tests in XFAIL_TESTS * t/list-of-tests.mk (XFAIL_TESTS): No longer list 't/txinfo5.sh' here, it has been removed together with the Cygnus support. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 767f8320 2012-12-31T12:48:36 tests: more explicative names for some tests Do so for several Texinfo-related tests. Note that some of such tests with suboptimal names are *not* renamed; that's because they are going to be removed in the master branch anyway (since they check from some soon-to-be-removed features), so renaming them would be wasted work, and could even create useless merge conflicts. * t/txinfo2.sh: Rename ... * t/txinfo-no-extra-dist.sh: ... like this. * t/txinfo3.sh: Rename ... * t/txinfo-suffix-less-info.sh: ... like this. * t/txinfo4.sh: Rename ... * t/txinfo-unrecognized-info-suffix.sh: ... like this. * t/txinfo6.sh: Rename ... * t/txinfo-other-suffixes.sh: ... like this. * t/txinfo7.sh: Rename ... * t/txinfo-add-missing.sh: ... like this. * t/txinfo8.sh: Rename ... * t/txinfo-add-missing2.sh: ... like this. * t/txinfo9.sh: Rename ... * t/txinfo-no-repeated-targets.sh: ... like this. * t/txinfo17.sh: Rename ... * t/txinfo-setfilename-repeated.sh: ... like this. * t/txinfo13.sh: Rename ... * t/txinfo-subdir-pr343.sh: ... like this. * t/txinfo16.sh: Rename ... * t/txinfo-info-in-srcdir.sh: ... like this. * t/txinfo21.sh: Rename ... * t/txinfo-many-output-formats.sh: ... like this. * t/txinfo22.sh: Rename ... * t/txinfo-override-texinfo-tex.sh: ... like this. * t/txinfo26.sh: Rename ... * t/txinfo-absolute-srcdir-pr408.sh: ... like this. * t/txinfo27.sh: Rename ... * t/txinfo-no-installinfo.sh: ... like this. * t/txinfo29.sh: Rename ... * t/txinfo-override-infodeps.sh: ... like this. * t/txinfo31.sh: Rename ... * t/txinfo-setfilename-suffix-match.sh: ... like this. * t/txinfo32.sh: Rename ... * t/txinfo-bsd-make-recurs.sh: ... like this. * t/txinfo33.sh: Rename ... * t/txinfo-clean.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9c07d892 2012-12-30T11:04:39 obsolete: better error message if AM_PROG_CC_STDC is used In Automake 1.13, the long-deprecated (since 2002) macro AM_PROG_CC_STDC has been removed. Such a removal, albeit sensible and justified, was probably done in a too-abrupt way, since it didn't turn the pre-existing warning messages into fatal error messages, but simply dropped the macro definition, so that remaining usages of it would cause unclear error messages, e.g.: configure.ac:4: warning: macro 'AM_PROG_CC_STDC' not found in library from aclocal, and: configure.ac:4: error: possibly undefined macro: AM_PROG_CC_STDC If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. from autoconf. In an attempt to mitigate this issue, we re-add an AM_PROG_CC_STDC definition that simply raises a *clear* error message when the macro is used. * t/am-prog-cc-stdc-no-more.sh: New test. * t/list-of-tests.mk: Add it. * m4/obsolete-err.m4: Add the new "error-raising" definition for AM_PROG_CC_STDC; the error message is a variation of the one already present in the older version of this macro, before it got removed in commit 'v1.12-15-gd2ca168'. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 8e921bf8 2012-12-30T10:33:23 obsolete: better error message if AM_CONFIG_HEADER is used In Automake 1.13, the long-deprecated macro AM_CONFIG_HEADER (deprecated since 2002) has been removed in favour of AC_CONFIG_HEADERS. However, the removal was done without a proper deprecation period, and that caused packages upgrading to Automake 1.13 to fail with very unclear error messages, e.g.: configure.ac:4: warning: macro 'AM_CONFIG_HEADER' not found in library from aclocal, and: configure.ac:4: error: possibly undefined macro: AM_CONFIG_HEADER If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. from autoconf. In an attempt to mitigate this issue, we re-add an AM_CONFIG_HEADER definition that simply raises a *clear* error message when the macro is used. Report by Paolo Bonzini: <http://lists.gnu.org/archive/html/automake/2012-12/msg00039.html> * t/am-config-header-no-more.sh: New test. * t/list-of-tests.mk: Add it. * m4/obsolete-err.m4: New file, contain the new AM_CONFIG_HEADER "error-raising" definition, as well as the definition of the similarly obsolete macros 'AM_C_PROTOTYPES' and 'fp_C_PROTOTYPES', moved in from ... * m4/protos.m4: ... this file, which has thus been removed. * Makefile.am (dist_automake_ac_DATA): Adjust. * t/ansi2knr-no-more.sh: Likewise. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini de736a22 2012-12-14T10:43:21 Merge branch 'maint' * maint: docs: fixlet about xz compression levels and command line options maint: more files excluded in 'update-copyright' maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format HACKING: update instructions to update the manuals at www.gnu.org maint: add an explicative comment in Makefile maint: factor out the name of the dir where web manuals are generated maint: rename rules to build/upload web manuals cosmetic: minor variable and rules reordering in Makefile.am docs: build the web manuals for CVS in the builddir, not in the srcdir release: automate uploading of web manuals in CVS docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc tests: avoid two spurious failures on FreeBSD tests: improve 'pkg-config' requirement
Stefano Lattarini 7a4e1937 2012-12-13T09:46:18 tests: improve 'pkg-config' requirement This improves (and unifies among different tests) the detection of both the 'pkg-config' program and m4 macros provided by it; they are needed in particular by tests on Vala support. Before this, some Vala-related tests were failing spuriously when the pkg-config program was available but the macros from pkg.m4 were not made explicitly available in ACLOCAL_PATH. These tests were: vala-mix vala-mix2 vala-parallel vala-vapi vala-vpath See also similar commit 'v1.11-581-gb7d67d5' of 2011-12-22, "tests: better handling of gettext and libtool requirements". * t/ax/am-test-lib.sh (process_requirements): If a requirement matches the 'pkg-config*' wildcard, try to make available to it the pkg-config m4 macros, and skip it if it's not possible. This is done by sourcing the 'get.sh' fragment generated by ... * t/pkg-config-macros.sh: ... this new test, which looks in advance for the 'pkg-config' program and the m4 macros that comes with it. * t/list-of-tests.mk: Add the new test. * gen-testsuite-part (%deps_extractor): Tests requiring pkg-config will need the m4 macros coming with it; so these tests should be run after the 'pkg-config-macros.sh' test. Automatically generate proper declarations for such dependencies. * t/vala-header.sh: No need to explicitly check that the macro PKG_CHECK_MODULES has been expanded by autoconf. * t/vala-libs.sh: Likewise. * t/vala-non-recursive-setup.sh: Likewise. * t/vala-per-target-flags.sh: Likewise. * t/vala-recursive-setup.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 10ebd158 2012-11-27T20:46:32 Merge branch 'maint' * maint: news: we'll remove AM_PROG_MKDIR in 1.14, not 1.13 tests: give few vala tests more significant names vala tests: don't use the 'posix' profile, it's no longer supported news: fixup: bug#8847 is fixed in 1.12.6, not in 1.12.5 news: document the fix for automake bug#10227 tests: fix a spurious testsuite failure on Solaris python: make installed modules find by default on Debian and Ubuntu
Stefano Lattarini b4896ce4 2012-11-26T15:15:11 tests: give few vala tests more significant names * t/vala.sh: Rename ... * t/vala-grepping.sh: ... like this. * t/vala2.sh: Rename ... * t/vala-recursive-setup.sh: ... like this. * t/vala3.sh: Rename ... * t/vala-non-recursive-setup.sh: ... like this. * t/vala4.sh: Rename ... * t/vala-configure.sh: ... like this. * t/vala5.sh: Rename ... * t/vala-per-target-flags.sh: ... like this, and slightly improve heading comments. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 27954741 2012-11-25T12:48:36 tests: give few aclocal tests more significant names * t/dirlist-abspath.sh: Rename ... * t/aclocal-dirlist-abspath.sh: ... like this. * t/dirlist.sh: Rename ... * t/aclocal-dirlist.sh: ... like this. * t/dirlist2.sh: Rename ... * t/aclocal-dirlist-globbing.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a55591f3 2012-11-24T14:32:06 tests: give some tests more significant names * t/req.sh: Rename ... * t/aclocal-req.sh: ... like this. * t/reqd.sh: Rename ... * t/add-missing-multiple.sh: ... like this. * t/block.sh: Rename ... * t/comment-block.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini cb6a19d9 2012-11-21T14:13:02 Merge branch 'maint' * maint: tests: fix a spurious failure when $PYTHON is in the environment python tests: support PEP-3147 installation layout python: uninstall cater to PEP-3147 tests: improve a comment tests: honour $PYTHON override tests: typofix in message news: document fix for bug#8847 (PEP-3147, __pycache__) python: improve support for modern python (CPython 3.2 and PyPy) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e1acf4a0 2012-11-19T22:19:21 python tests: support PEP-3147 installation layout This fixes several spurious testsuite failures with python >= 3.2, introduced by recent commit v1.12.4-43-ge0e99ed, "python: improve support for modern python (CPython 3.2 and PyPy)". * t/ax/am-test-lib.sh (python_has_pep3147, pyc_location, py_installed): New functions. ($am_pep3147_tag): New variable. * t/py-compile-basic2.sh: Deleted, too difficult to adapt for the gain it would offer; move the still relevant parts ... * t/py-compile-basic.sh: ... here. Adapt and adjust the rest of the test as well. * t/nobase-python.sh: Adapt and adjust. * t/py-compile-basedir.sh: Likewise. * t/py-compile-destdir.sh: Likewise. * t/py-compile-option-terminate.sh: Likewise. * t/python-pr10995.sh: Likewise. * t/python-virtualenv.sh: Likewise. * t/python10.sh: Likewise. * t/python12.sh: Likewise. * t/python3.sh: Likewise. * t/list-of-tests.mk: Adjust list of tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ab49d2bc 2012-11-18T01:38:09 tests: more explicative names for few aclocal tests * t/aclocal3.sh: Rename ... * t/aclocal-missing-macros.sh: ... like this. * t/aclocal4.sh: Rename ... * t/aclocal-deps.sh: ... like this. * t/aclocal5.sh: Rename ... * t/aclocal-deps-subdir.sh: ... like this. * t/aclocal6.sh: Rename ... * t/aclocal-remake-misc.sh: ... like this. * t/aclocal7.sh: Rename ... * t/aclocal-no-force.sh: ... like this. * t/acloca8.sh: Rename ... * t/aclocal-no-unused-required.sh: ... like this. * t/acloca9.sh: Rename ... * t/aclocal-I-order-1.sh: ... like this. * t/acloca11.sh: Rename ... * t/aclocal-I-order-2.sh: ... like this, and update heading comments. * t/acloca12.sh: Rename ... * t/aclocal-I-order-3.sh: ... like this, and update heading comments. * t/acloca13.sh: Rename ... * t/aclocal-m4-sinclude.sh: ... like this, and update heading comments. * t/acloca14.sh: Rename ... * t/aclocal-m4-include-are-scanned.sh: ... like this. * t/acloca14.sh: Rename ... * t/aclocal-m4-include-are-scanned-aclocal-amflags.sh: ... like this, and update heading comments. * t/acloca15.sh: Rename ... * t/aclocal-scan-configure-ac-pr319.sh: ... like this. * t/acloca16.sh: Rename ... * t/aclocal-no-extra-scan.sh: ... like this, and enhance slightly. * t/acloca18.sh: Rename ... * t/aclocal-serial.sh: ... like this. * t/acloca19.sh: Rename ... * t/aclocal-pr450.sh: ... like this. * t/acloca20.sh: Rename ... * t/aclocal-no-symlinked-overwrite.sh: ... like this. * t/acloca21.sh: Rename ... * t/aclocal-comments-respected.sh: ... like this. * t/acloca22.sh: Rename ... * t/aclocal-deleted-header.sh: ... like this. * t/acloca22b.sh: Rename ... * t/aclocal-deleted-header-aclocal-amflags.sh: ... like this. * t/acloca23.sh: Rename ... * t/aclocal-underquoted-defun.sh: ... like this. * t/list-of-tests.mk: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 256659b0 2012-11-03T11:30:04 aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS When some macro expanded in configure.ac calls AC_REQUIRE on another macro that is defined in one of the local m4 macro dirs specified with AC_CONFIG_MACRO_DIRS, aclocal prints spurious warnings like: configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd configure.ac:3: MY_FOO is expanded from... Such warnings come from autom4te, and are due to the fact that the *first* autom4te invocation issued by aclocal is not yet able to "see" the m4 macro definitions in the local m4 dirs (because they can be looked for only after the AC_CONFIG_MACRO_DIRS call has been traced, and tracing it requires running autom4te). To allow us to work around this issue, autom4te has introduced a new "witness" macro 'm4_require_silent_probe', that, when defined, allows us to silence that particular kind of warnings (and only it). Reported by Nick Bowler; see point (4) of: <http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html> * aclocal.in (trace_used_macros): Pre-define the special macro 'm4_require_silent_probe' when invoking autom4te. * t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIR interaction with AC_REQUIRE"): This test passes now: remove the "TODO" directive. * t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIRS interaction with AC_REQUIRE"): Likewise. * t/acloca17.sh: Remove. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d2155d50 2012-07-04T15:23:50 aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS A new macro 'AC_CONFIG_MACRO_DIRS' has been recently introduced in autoconf (and is expected to appear in the autoconf 2.70 release), allowing us to declare several local m4 macro directories for a package. It can be done either passing several arguments to a single invocation: AC_CONFIG_MACRO_DIRS([dir1 dir2]) or issuing more invocations: AC_CONFIG_MACRO_DIRS([dir1]) AC_CONFIG_MACRO_DIRS([dir2]) or a combination of the two: AC_CONFIG_MACRO_DIRS([dir1 dir2]) AC_CONFIG_MACRO_DIRS([dir3]) This will allow projects to use several m4 macro local dirs, without the need to use ACLOCAL_AMFLAGS (which we want to make obsolete and finally remove). This is especially important for projects that are used as nested subpackages of larger projects. For more information and rationales, refer to these past discussions: <http://lists.gnu.org/archive/html/autoconf/2011-12/msg00037.html> <http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00010.html> <http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00000.html> <http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00012.html> <http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8037/> <http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8087> <http://thread.gmane.org/gmane.comp.sysutils.automake.patches/8956> as well as to Automake commit v1.12.1-165-gcd1a9cc of 2012-07-03, "aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead", autoconf commit v2.69-42-gd73770f of 2012-10-17, "AC_CONFIG_MACRO_DIRS: new macro, mostly for aclocal". * aclocal.in ($ac_config_macro_dir): Turn this global scalar it into ... (@ac_config_macro_dirs): ... this global array. (trace_used_macros): Update '@ac_config_macro_dirs' instead of re-defining '$ac_config_macro_dir'. Cater to calls the now-preferred macro 'AC_CONFIG_MACRO_DIRS' in addition to the "obsolescent" one AC_CONFIG_MACRO_DIR. (main loop): Append '@ac_config_macro_dirs', not '$ac_config_macro_dir', to '@user_includes'. * t/subpkg-macrodir.sh: New test. * t/aclocal-macrodirs.tap: Likewise. * t/list-of-tests.mk: Add them. * t/aclocal-macrodir.tap: Adjust and extend a little to keep it more in sync with 'aclocal-macrodirs.tap'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 696f44c0 2012-11-07T23:40:59 tests: remove mostly-redundant tests on silent rules We used to have several couples of tests named like 'silent-foo-gcc.sh' and 'silent-foo-generic.sh'. Differently from what the names suggest, the first test in such a couple (that is, "silent-foo-gcc.sh") was not meant to check specific GCC-related features, but rather to check how the silent rules behave in combination with automatic dependency tracking when the 'gcc' depmode (that targets GCC versions before the 3.x and 4.x release series) is forced. Such depmode forcing was done exclusively to cover the code paths in 'lib/am/depend2.am' that actually invoke the 'depcomp' script, rather than using the inlined, GCC-specific compiler invocation (the so-called "fastdep" mode), which is the default with modern GCC or with other modern compilers that can emulate the GCC command-line interface (e.g., clang 3.0). But whenever we run the silent-*-generic.sh" tests with other supported compilers which have an associated depmode different from 'gcc3', these same "non-fastdep" code paths are covered, since in those tests we run ./configure with the '--enable-dependency-tracking' option, which causes slower depmodes not to be rejected. Examples of such compilers are the Sun C and C++ compilers (at least since version 5.9, a.k.a. Sun Studio 12.1), and the Tiny C Compiler (from version 0.9.26); and I run the Automake testsuite quite regularly with those compilers. So, the "silent-*-gcc.sh" test cases don't offer any real coverage enhancements, while still using testsuite runtime and causing some (admittedly minor, but still annoying) synchronization headaches with the sister tests "silent-foo-general.sh" tests. So let's just remove these "silent-*-gcc.sh" tests. * t/silent-c-gcc.sh: Remove. * t/silent-cxx-gcc.sh: Likewise. * t/silent-lt-gcc.sh: Likewise. * t/silent-many-gcc.sh: Likewise. * t/silent-c-generic.sh: Rename ... * t/silent-c.sh: ... like this, and adjust heading comments. * t/silent-cxx-generic.sh: Rename ... * t/silent-cxx.sh: ... like this, and adjust heading comments. * t/silent-lt-generic.sh: Rename ... * t/silent-lt.sh: ... like this, and adjust heading comments. * t/silent-many-generic.sh: Rename ... * t/silent-many-languages.sh: ... like this, and adjust heading comments. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini dd3fb7ed 2012-11-07T20:39:19 tests: rename few tests (on silent-rules support) Either to more informative names, or to names more consistent with the ones of similar/related tests. * t/silent.sh: Rename ... * t/silent-c-generic.sh: ... like this, and adjust heading comments. * t/silent2.sh: Rename ... * t/silent-c-gcc.sh: ... like this, and adjust heading comments. * t/silent3.sh: Rename ... * t/silent-lt-generic.sh: ... like this, and adjust heading comments. * t/silent4.sh: Rename ... * t/silent-lt-gcc.sh: ... like this, and adjust heading comments. * t/silentcxx.sh: Rename ... * t/silent-cxx-generic.sh: ... like this, and adjust heading comments. * t/silentcxx-gcc.sh: Rename ... * t/silent-cxx-gcc.sh: ... like this, and adjust heading comments. * t/silentf77.sh: Rename ... * t/silent-f77.sh: ... like this, and adjust heading comments. * t/silentf90.sh: Rename ... * t/silent-f90.sh: ... like this, and adjust heading comments. * t/silent7.sh: Rename ... * t/silent-gen.sh: ... like this, and adjust heading comments. * t/silent6.sh: Rename ... * t/silent-custom.sh: ... like this. * t/silent8.sh: Rename ... * t/silent-texi.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7dbf3d6a 2012-11-07T19:56:24 tests: merge two tests on silent-rules with libtool This helps to reduce code duplication, and also to (marginally) speed up the involved tests. Before this change, we had: $ diff -u t/silent3.sh t/silent9.sh --- t/silent3.sh 2012-11-07 19:38:05.000000000 +0100 +++ t/silent9.sh 2012-11-07 19:27:54.000000000 +0100 @@ -14,9 +14,9 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -# Check silent-rules mode, with libtool, standard depmode case. +# Check silent-rules mode, with libtool, nodep case. -# Please keep this file in sync with 'silent4.sh' and 'silent9.sh'. +# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'. required='cc libtoolize' . test-init.sh @@ -26,8 +26,8 @@ cat >>configure.ac <<'EOF' AC_CONFIG_FILES([sub/Makefile]) AC_PROG_CC -AM_PROG_AR AM_PROG_CC_C_O +AM_PROG_AR AC_PROG_LIBTOOL AC_OUTPUT EOF @@ -61,7 +61,7 @@ $AUTOMAKE --add-missing $AUTOCONF -./configure --enable-silent-rules +./configure --disable-dependency-tracking --enable-silent-rules $MAKE >stdout || { cat stdout; exit 1; } cat stdout $EGREP ' (-c|-o)' stdout && exit 1 * t/silent9.sh: Remove, merge ... * t/silent3.sh: ... in here. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 153f861b 2012-10-31T12:41:13 Merge branch 'maint' * maint: vala tests: source test-init.sh, not ./defs tests: fix a spurious typo-related failure tests: remove spurious leftover use of 'Exit' tests: can check our recipes avoid trailing backslashes vala: improve comments to AM_PROG_VALAC news: update w.r.t. recent vala changes vala: if no proper compiler found, set $(VALAC) to 'valac' vala: AM_PROG_VALAC should not produce an error for tool-old valac docs: document recent changes to AM_PROG_VALAC tests: enhance tests on AM_PROG_VALAC vala: style fixes in vala.m4 vala: add action arguments, for when no proper vala compiler is found Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini aecd1be6 2012-10-28T14:02:46 tests: can check our recipes avoid trailing backslashes This is related to commit v1.11-1704-g254227b of 2012-05-01, "parallel-tests: avoid trailing backslashes in make recipes", and automake bug#10436. Recipes with a trailing backslash character (possibly followed by blank characters only) can cause spurious syntax errors with at least older bash versions (e.g., bash 2.05b), and can be potentially be unportable to other weaker shells. So provide a target that runs the testsuite looking for this kind of breakage (without requiring a real bugged shell). * t/ax/shell-no-trail-bslash.in: New, a "shell" that chokes on '-c' commands having a trailing '\' (possibly followed by whitespace only). * Makefile (t/ax/shell-no-trail-bslash): Generate this script from it. (noinst_SCRIPTS, CLEANFILES): Add it. (EXTRA_DIST): Add 't/ax/shell-no-trail-bslash.in'. (check-no-trailing-backslash-in-recipes): New target, runs the testsuite with 'shell-no-trail-bslash' as the CONFIG_SHELL, to catch possible recipes having a trailing backslash character (possibly followed by * .gitignore: Update. * t/self-check-shell-no-trail-bslash.sh: New testsuite self-check. * t/parallel-tests-trailing-bslash.sh: Remove as obsolete. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f897907b 2012-10-27T16:15:04 Merge branch 'maint' * maint: tests: merge, tweak and modernize few test scripts tests: move coverage about BUILT_SOURCES tests: more meaningful names for some test cases tests: merge some grepping tests on Yacc support Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9a2796ad 2012-06-09T20:49:09 tests: merge, tweak and modernize few test scripts Basically an adjusted-and-improved cherry-pick from Automake-NG commit v1.12.1-343-gff30f83. * t/specflg.sh, t/specflg2.sh, t/specflg3.sh: Merged into ... * t/per-target-flags.sh: ... this test. * t/fo.sh: Remove, its weak grepping checks well superseded by the semantic checks in 't/fort4.sh'. * t/cxxo.sh: Remove, its weak grepping checks well superseded by the semantic checks in 't/cxx-demo.sh'. * t/cxxcpp.sh: Enhance a little. * t/empty.sh: Renamed ... * t/empty-data-primary.sh: ... to this. Add trailing ':' command. * t/empty2.sh, t/empty3.sh, t/empty4.sh: Merged ... * t/empty-sources-primary.tap: ... into this new test. * t/no-outdir-option.sh: Remove. A test to check than an obsolete and now deleted option ("--output-dir") stays deleted is way too much even for the most test-infected person ;-) * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 44d20253 2012-10-27T15:38:46 tests: move coverage about BUILT_SOURCES Basically a backport of some tests from Automake-NG. * t/built-sources-check.sh: Sync it with the version in the ng/master branch. Accordingly, move part of the checks out ... * t/built-sources-install.sh: ... into this new test, synced from ng/master as well. * t/built-sources-subdir.sh: Minor tweaks and enhancements to sync it with the version in ng/master. * t/built-sources-cond.sh: New test, synced from ng/master. * t/built-sources.sh: Likewise, with minor edits to avoid a spurious failure. * t/built-sources-fork-bomb.sh: Likewise. * t/list-of-tests.mk: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7a3e5c7c 2012-10-27T15:26:50 tests: more meaningful names for some test cases * t/yacc5.sh: Renamed ... * t/yacc-grepping2.sh: ... like this. * t/yacc7.sh: Renamed ... * t/yacc-headers-and-pr47.sh: ... like this. * t/yacc8.sh: Renamed ... * t/yacc-subdir.sh: ... like this. * t/subdir10.sh: Rename ... * t/subdir-env-interference.sh: ... like this. * t/specflg10.sh: Rename ... * t/am-default-source-ext.sh: ... like this. * t/suffix12.sh: Rename ... * t/suffix-custom-subobj.sh: ... like this. * t/suffix13.sh: Rename ... * t/suffix-custom-subobj-and-specflg.sh: ... like this. * t/check3.sh: Rename ... * t/built-sources-check.sh: ... like this. * t/subdirbuiltsources.sh: Rename ... * t/built-sources-subdir.sh: ... like this. * t/bsource.sh: Rename ... * t/no-spurious-install-recursive.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d26ddc82 2012-10-27T14:45:51 tests: merge some grepping tests on Yacc support * t/yacc.sh, t/yacc2.sh: Merge ... * t/yacc-grepping.sh: ... into this test. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 26b78559 2012-10-27T11:57:43 Merge branch 'maint' * maint: depcomp: avoid potential interferences from the environment depcomp: improve comments about the 'gcc' depmode sync: update files from upstream with "make fetch" maintcheck: remove an obsolescent check tests: rename some tests to more expressive names, again tests: remove an obsolescent grepping check tests: merge two tests on automatic remake functionality tests: rename some test to more expressive names news: 'compile' supports libfoo.a naming when wrapping Microsoft tools tests: ensure generation of wrapper tests matching multiple conditions tests: simplify a loop in gen-testsuite-part compile: support libfoo.a naming when wrapping Microsoft tools NEWS: fix wording and grammaros, re-wrap text accordingly cosmetics: fix typo in 'lib/depcomp' comments Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2990f48d 2012-10-26T14:50:46 tests: rename some tests to more expressive names, again * t/parallel-tests.sh: Rename ... * t/parallel-tests-basics.sh: ... like this. * t/parallel-tests3.sh: Rename ... * t/parallel-tests-concurrency.sh: ... like this. * t/parallel-tests5.sh: Rename ... * t/parallel-tests-concurrency-2.sh: ... like this. * t/parallel-tests6.sh: Rename ... * t/parallel-tests-empty.sh: ... like this. Adjust comments. * t/parallel-tests8.sh: Rename ... * t/parallel-tests-generated-and-distributed.sh: ... like this. * t/parallel-tests9.sh: Rename ... * t/parallel-tests-recheck.sh: ... like this. * t/parallel-tests10.sh: Rename ... * t/parallel-tests-trailing-whitespace.sh: ... like this. * t/remake3a.sh: Rename ... * t/remake-subdir-no-makefile.sh: ... like this. * t/remake4.sh: Rename ... * t/remake-not-after-make-dist.sh: ... like this. * t/remake5.sh: Rename ... * t/remake-maintainer-mode.sh: ... like this. * t/remake6.sh: Rename ... * t/remake-subdir3.sh: ... like this. * t/remake7.sh: Rename ... * t/remake-fail.sh: ... like this. * t/remake11.sh: Rename ... * t/remake-deeply-nested.sh: ... like this * t/remake12.sh: Rename ... * t/remake-mild-stress.sh: ... like this * t/pr8365-remake-timing.sh: Rename ... * t/remake-timing-bug-pr8365.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 042a2279 2012-10-26T14:16:05 tests: remove an obsolescent grepping check * t/remake3.sh: This one, superseded by ... * t/remake3a.sh: ... this semantic test, whose comments have been djusted accordingly. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b025bb83 2012-10-26T14:13:25 tests: merge two tests on automatic remake functionality * t/remake2.sh: Merge ... * t/remake-subdir-grepping.sh: ... in here. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 926ab5b4 2012-10-26T12:52:35 tests: rename some test to more expressive names * t/remake.sh: Rename ... * t/remake-subdir-grepping.sh: ... like this. * t/remake8a.sh: Rename ... * t/remake-makefile-intree.sh: ... like this, and adjust comments. * t/remake8b.sh: Rename ... * t/remake-makefile-vpath.sh: ... like this, and adjust comments. * t/remake9a.sh: Rename ... * t/remake-after-configure-ac.sh: ... like this, and adjust comments. * t/remake9b.sh: Rename ... * t/remake-after-makefile-am.sh: ... like this, and adjust comments. * t/remake9c.sh: Rename ... * t/remake-after-acinclude-m4.sh: ... like this, and adjust comments. * t/remake9d.sh: Rename ... * t/remake-after-aclocal-m4.sh: ... like this, and adjust comments. * t/remake10a.sh: Rename ... * t/remake-include-configure.sh: ... like this, and adjust comments. * t/remake10b.sh: Rename ... * t/remake-include-makefile.sh: ... like this, and adjust comments. * t/remake10c.sh: Rename ... * t/remake-include-aclocal.sh: ... like this, and adjust comments. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Jim Meyering df23dafc 2012-10-22T16:14:49 compat: reinstate AM_PROG_MKDIR_P, for gettext Do not remove AM_PROG_MKDIR_P just yet. gettext (latest from git) still AC_REQUIRE's AM_PROG_MKDIR_P via its intl.m4 and po.m4 files, which are pulled into *many* projects. When I try to build one of those projects (coreutils) using the latest from automake.git/master, I see this failure: $ aclocal -I m4 configure.ac:477: warning: AM_PROG_MKDIR_P is m4_require'd \ but not m4_defun'd m4/po.m4:23: AM_PO_SUBDIRS is expanded from... m4/gettext.m4:57: AM_GNU_GETTEXT is expanded from... configure.ac:477: the top level That is because AM_PROG_MKDIR_P was removed (via commit v1.12-20-g8a1c64f) in preparation for the next release of automake. * NEWS: Remove the paragraph that announced the removal of AM_PROG_MKDIR_P. * Makefile.am (dist_automake_ac_DATA): Add m4/mkdirp.m4. * m4/mkdirp.m4: Re-add file. * t/mkdirp-deprecation.sh: Likewise. * t/list-of-tests.mk: Add it. * automake.in: Restore removed code, and adjust comments, s/1.13/1.14/ to reflect new plan for removal. * doc/automake.texi (Obsolete Macros): Restore the section, but now with only one entry: the one for AM_PROG_MKDIR_P.
Stefano Lattarini 7411adcd 2012-10-02T20:34:47 Merge branch 'maint' * maint: config headers: remove stale comment in makefile fragment NEWS: wording and quoting fixlets in few older entries config headers: don't emit rules for headers not generated by autoheader docs: fix minor typo: s/expending/expanding/ sync: update files from upstream with "make fetch" maint: post-release minor version bump maint: typo fixes s/lies into/lies in/ release: stable release 1.12.4 NEWS: minor fix Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 25ffe7d5 2012-09-28T21:27:41 config headers: don't emit rules for headers not generated by autoheader This change fixed automake bug#12495. Even if an AC_CONFIG_HEADERS invocation is passed a list of several files as the first argument, only the first one of those file is considered by autoheader for automatic generation of the corresponding '.in' template. This is done on purpose, and is clearly documented in the Autoconf manual, which (as of the 2.69 version) reads something like this: The autoheader program searches for the first invocation of AC_CONFIG_HEADERS in configure sources to determine the name of the template. If the first call of AC_CONFIG_HEADERS specifies more than one input file name, autoheader uses the first one. That is, an invocation like: AC_CONFIG_HEADERS([config.h config2.h]) should cause autoheader to generate only a 'config.h.in' template, and not also a 'config2.h.in' one. Accordingly, automake, when tracing AC_CONFIG_HEADERS, should generate remake rules only for the template associated to the first input file name passed to that macro. In some situations, however, automake failed to properly limit itself in this way; for example, with an input like: AC_CONFIG_HEADERS([config.h sub/foo.h]) in configure.ac, and with the 'sub' directory listed in the SUBDIRS variable of the top-level Makefile, automake would erroneously generate in 'sub/Makefile.in' a rule to remake the 'foo.h.in' template by invoking autoheader. This issue was likely introduced in commit 'Release-1-8-23-g262bb92' of 2004-01-05. * NEWS: Update. * doc/automake.texi (Optional): Improve wording in the description of hat rules automake generates in response to an 'AC_CONFIG_HEADERS' invocation. * lib/am/remake-hdr.am: Only emit autoheader-invoking remake rules for the %CONFIG_HIN% template if that corresponds to the first argument of AC_CONFIG_HEADERS, as explaned above. Do so using the automake-time conditional %?FIRST-HDR%, that is properly passed ... * automake.in (handle_configure): ... from a 'file_contents' invocation in here. * t/autohdr-subdir-pr12495.sh: New test. * t/list-of-tests.mk: Add it. * THANKS: Update. Helped-by: Hib Eris <hib@hiberis.nl> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c1b83e1a 2012-09-11T11:31:20 tags: automake bug bug#12372 is fixed It has been fixed as a side effect of the overhauling of tags support. * t/list-of-tests.mk (XFAIL_TESTS): No longer list 'tags-pr12372.sh'. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f25f4bfc 2012-09-11T11:24:51 Merge branch 'maint' * maint: coverage: better exposure for automake bug#12372 (tags-related) coverage: expose automake bug#12372 (tags-related)
Stefano Lattarini 9c4ad697 2012-09-11T11:15:41 coverage: better exposure for automake bug#12372 (tags-related) Alas, in contrast with what is said in the commit message of previous commit 'v1.12.3-14-g94b7b8e', that bug is still present also in the current maint branch (which will become automake version 1.12.4); it is just that it only triggers when a _SOURCES variable contains only files with custom extension. * t/tags-pr12372.sh: Extend. * t/list-of-tests.mk: Add it. Suggested-by: Юрий Пухальский <aikipooh@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 94b7b8ec 2012-09-07T10:42:42 coverage: expose automake bug#12372 (tags-related) That bug is somehow already been fixed in the latest automake version (1.12.4); but exercise it anyway in the testsuite, to ensure we won't regress. * t/tags-pr12372.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 076e8fa2 2012-09-05T14:40:52 Merge branch 'maint' * maint: sync: update files from upstream with "make fetch" news: cygnus will be removed in automake 1.13 news: some changes for 1.13 has been "de-planned" news: report that the have seen fixlets after 1.12.3 warns: enable category 'obsolete' by default Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini cf41f5af 2012-09-04T14:50:49 warns: enable category 'obsolete' by default No surprise that our users were bitten by backward-incompatible changes especially hard: the warnings in the 'obsolete' category, that might have informed them of the upcoming incompatibilities, and help them to prepare for the transition, where not enabled by default! * NEWS, doc/automake.texi: Update. * lib/Automake/ChannelDefs.pm: Enable warnings in the category 'obsolete' by default. * t/warnings-obsolete-default.sh: New test. * t/list-of-tests.mk: Add it. * t/backcompat.sh: Use 'configure.ac' rather than 'configure.in' as autoconf input file, to avoid spurious aclocal errors. * t/backcompat2.sh: Likewise. * t/backcompat3.sh: Likewise. * t/backcompat5.sh: Add '-Wno-obsolete' when invoking aclocal. Adjust heading comments. * t/backcompat6.sh: Likewise. * t/cygnus-imply-foreign.sh: Add '-Wno-obsolete' when invoking automake. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini cb60ae36 2012-08-28T10:00:45 Merge branch 'maint' * maint: sync: update files from upstream with "make fetch" automake: don't define many identical 'lang_*_rewrite' subroutines coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap)
Stefano Lattarini c433a17c 2012-08-26T19:25:02 coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap) * t/flex-header.sh: New test, show that automake bug#8844 and bug#9933 have already been fixed by the recent-ish improvements to ylwrap (merged with commit v1.12.2-27-gec5cb49 of 2012-07-16, "Merge branch 'yacc-work' into maint"). * t/list-of-tests.mk: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2abe1833 2012-08-24T10:47:17 AM_INIT_AUTOMAKE: allow obsolescent two-args invocation once again This partially reverts commit 'v1.12-67-ge186355' of 2012-05-25, "init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore" Some users still need to be able to define the version number for their package dynamically, at configure runtime. Their user case is that, for development snapshots, they want to be able to base the complete version of the package on the VCS revision ID (mostly Git or Mercurial). They could of course do so by specifying such version dynamically in their call to AC_INIT, as is done by several GNU packages. But then they would need to regenerate and re-run the configure script before each snapshot, which might be very time-consuming for complex packages, to the point of slowing down and even somewhat impeding development. The situation should truly be solved in Autoconf, by allowing a way to specify the version dynamically in a way that doesn't force the configure script to be regenerated and re-run every time the package version changes. But until Autoconf has been improved to allow this, Automake will have to support the obsolescent two-arguments invocation for AM_INIT_AUTOMAKE, to avoid regressing the suboptimal but working solution for the use case described above. See also: <http://lists.gnu.org/archive/html/automake/2012-08/msg00025.html> * NEWS: Update. * m4/init.m4 (AM_INIT_AUTOMAKE): Support once again invocation with two or three arguments. * t/aminit-moreargs-no-more.sh: Renamed ... * t/aminit-moreargs-deprecated.sh: ... like this, and updated. * t/nodef.sh: Recovered test, with minor adjustments. * t/backcompat.sh: Likewise. * t/backcompat2.sh: Likewise. * t/backcompat3.sh: Likewise. * t/backcompat6.sh: Likewise. * t/list-of-tests.mk: Adjust. Suggested-by: Bob Friesenhahn n<bfriesen@simple.dallas.tx.us> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c6cc3802 2012-08-13T14:05:40 Merge branch 'maint' * maint: tests: rework tests on AM_PATH_PYTHON cosmetics: fix typos and references in comments typofix: in a test diagnostic readme: fixlets to HACKING Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini daeca29a 2012-08-13T13:16:49 tests: rework tests on AM_PATH_PYTHON * t/python8.sh, t/python9.sh: Merge into ... * t/python-am-path-iftrue.sh: ... this new test, with minor adjustments. * t/python4.sh, t/python5.sh, t/python6.sh, t/python7.sh: Merge into ... * t/python-missing.sh: ... this new test. * t/python5b.sh: Rename ... * t/python-too-old.sh: ... like this, and adjust/extend. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 03b7cf99 2012-08-10T12:51:40 Merge branch 'maint' * maint: cleanup: remove two almost-unused global variables: {am,in}_file_name cleanup: remove almost-unused global var 'topsrcdir' automake: remove an unused variable tests: make a test script more semantic tests: remove an obsolete, no-op test script tests: remove an obsolete test script
Stefano Lattarini 7de7d19e 2012-08-08T19:08:11 tests: remove an obsolete, no-op test script * t/info.sh: This: it tried to operate by checking the contents of the variable '$(INFOS)', but that is not even defined (and probably has been obsolete for quite a long time). Since other tests already do thorough testing of the Texinfo support, just remove this test. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c3e7ee62 2012-08-08T19:02:13 tests: remove an obsolete test script * t/scripts.sh: This: it used to check that the 'AC_PROG_INSTALL' macro was not uselessly required, but today that macro is AC_REQUIRE'd by 'AM_INIT_AUTOMAKE' anyway, so that the test is no more significant. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3e472de1 2012-08-05T11:06:16 Merge branch 'elisp-work' * elisp-work: news: document all the recent elisp-related changes and improvements coverage: byte-compiling elisp files in different subdirectories elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation elisp: --batch implies -q, remove -q elisp: support elisp files in subdirectories properly elisp: simplify suffix rules using emacs '-L' option elisp: no need to "absolutize" $(srcdir) and $(builddir) ... elisp: prefer $(builddir) files over $(srcdir) ones elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite) coverage: elisp path contains $(srcdir) and $(builddir) coverage: emacs lisp files in subdirectories
Stefano Lattarini 48e99a7e 2012-08-04T15:29:21 coverage: byte-compiling elisp files in different subdirectories Where a '.el' file in a subdirectory might require a '.el' file in another one. This does not work out of the box, but can be made to work with a judicious use of $(AM_ELCFLAGS) (just introduced in the previous commit). * t/lisp-subdir-mix.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 56cd2dda 2012-08-04T14:56:27 elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation * lib/am/lisp.am (.el.elc): Add "$(AM_ELCFLAFS) $(ELCFLAGS)" to the emacs command line. * t/lisp-flags.sh: New test. * t/list-of-tests.mk: Add it. * doc/automake.texi (Emacs Lisp): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 106428fe 2012-07-26T18:16:47 Merge branch 'maint' * maint: (38 commits) maintcheck: fixup list of files in $(xdefs) tests: never source test-defs.sh directly, source test-lib.sh instead runtest: sanitize test environment tests: remove an obsolescent self test tests: "am_using_tap=yes" -> "am_test_protocol=tap" tests: protect test libs against multiple inclusion configure: testsuite shell can return early from "dot-sourced" files tests: move sanitization and "Bournification" in the generic test lib tests: source test defs in the generic test lib test defs: no need to re-add $srcdir/t/ax to $PATH tests: split test libs into "generic" and "automake-specific" test setup: move actual calling of testsuite setup in ./defs test setup: merge definitions of function for simple tests test init: refactor: new function 'am_test_setup' test init: refactor: move displaying of debugging info later test init: refactor: new function 'am_setup_testdir' test init: refactor: new function 'am_set_exit_traps' configure: testsuite shell set exit traps in shell functions test init: refactor: new function 'am_exit_trap' test init: refactor: new function 'process_requirements' ... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini db188c29 2012-07-26T11:04:31 runtest: sanitize test environment * runtest.in: Here, similarly to what is done by AM_TESTS_ENVIRONMENT in Makefile.am, unset variables that should be under the complete control of the test framework, and that could create havoc if inherited from the environment. This remove the need to check against possible environment "pollution" ... * t/ax/test-defs.in: ... in here. * Makefile.am (AM_TESTS_ENVIRONMENT): Add a comment about the need of synchronization with 'runtest.in'. * t/self-check-env-sanitize.tap: Remove as obsolete. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 253e3eb7 2012-07-26T10:45:43 tests: remove an obsolescent self test * t/self-check-tap.sh: This. The recent reorganization and code moving between 'test-defs.sh' and 'test-lib.sh' has made it brittle and prone to failures. Since the usefulness of this self check is extremely limited, it's not worth trying to fix it. Just remove it. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 42d9439d 2012-07-25T19:06:22 perf tests: reorganize * t/list-of-tests.mk (handwritten_TESTS): Don't list ($perf_TESTS) in here anymore. * Makefile.am (EXTRA_DIST): Add them explicitly. (perf): New target, run the performance tests and save the logs of the ones with unexpected results in the file 't/perf/test-suite.log', which is thus ... (PERF_TEST_SUITE_LOG): ... defined in this variable ... (CLEANFILES): ... and added to this. (test_subdirs): Remove 't/perf': the tests in there are no more listed in $(TESTS). * t/ax/test-init.sh: Don't explicitly skip "perf" test here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini f3af1eb0 2012-07-24T18:43:50 Merge branches 'tags-simplify-recursion' and 'color-tests-always' * tags-simplify-recursion: tags: unify recursion for tags targets with that of "usual" targets * color-tests-always: tests: better name for a couple of tests check: support colorized testsuite output by default
Stefano Lattarini 47388dbc 2012-07-23T12:27:15 Merge branch 'maint' * maint: self tests: avoid spurious failures on older bash tests: remove t/parallel-tests-many.sh (fixes spurious failure) typofix: in a comment in the automake script news: minor fixlets and reordering Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 587e0c6b 2012-07-23T10:37:17 tests: remove t/parallel-tests-many.sh (fixes spurious failure) That test was checking for automake#7868 "parallel-tests and command-line length limit issue". That bug is still open, and the tests was xfailing. What concerns us is that the test was also causing an annoying problem. On Solaris 10, it produced a '.log' file with two overly-long lines (more than 1 million characters long!) and that was causing the test harness to experience spurious failures, with Solaris XPG4 awk complaining that: /usr/xpg4/bin/awk: line 0 (NR=734): Record too long (LIMIT: 19999 bytes) A little consideration shows that the bug#7868 checked by the culprit test cannot be solved "by accident", e.g., by another bug fix or some simple refactoring, so there is little added value in keeping the xfailing test for it, if this causes other problems (and we've seen it does). So we just remove the test. In case we ever manage to fix the bug in mainline automake, we can copy over the similar test(s) from Automake-NG, which has actually managed to fix the bug (and have simpler test cases for it). * t/parallel-tests-many.sh: Delete. * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Remove it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3ffce624 2012-07-22T17:06:04 tests: better name for a couple of tests * t/color.sh: Rename ... * t/color-tests.sh: ... like this. * t/color2.sh: Rename ... * t/color-tests2.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2d5571e7 2012-07-22T16:38:47 check: support colorized testsuite output by default Fixes automake bug#11855. With this change, we make the 'color-tests' option enabled by default. That option remains still silently accepted as a no-op, for backward compatibility. The developer of a package is still free to disable testsuite coloring on a per-makefile basis (by adding "AM_COLOR_TESTS = no" to the Makefile.am) or on a whole-project basis (by AC_SUBST'ing AM_COLOR_TESTS to "no" in configure.ac). But now the user will be able to request the testsuite output to be colorized, if he really wants to: # With GNU make: make AM_COLOR_TESTS=yes check # With non-GNU make: make AM_COLOR_TESTS=yes AM_MAKEFLAGS=AM_COLOR_TESTS=yes check * NEWS: Update. * doc/automake.texi: Updated, and some related minor reformatting and rewording. * automake.in (handle_tests): No need to pass the transform '%COLOR%' when processing "check.am". * lib/am/parallel-tests.am: Remove use of the '%?COLOR%' transform; just act as if it were unconditionally TRUE. * t/color.sh: No need to specify 'color-tests' in 'AUTOMAKE_OPTIONS' nor in 'AM_INIT_AUTOMAKE'. * t/ax/testsuite-summary-checks.sh: Likewise. * t/ax/tap-summary-aux.sh: Likewise. * t/color2.sh: Likewise. Also, ensure that colorized testsuite output can be disabled by default by calling "AC_SUBST([AM_COLOR_TESTS], [no])". * t/tap-realtime.sh: Define 'AM_COLOR_TESTS' to "no" in Makefile.am, to avoid spurious colorization of the output due to the use of the 'expect' program. * t/color-tests-opt.sh: New test, check that the 'color-tests' option is still recognized as a no-op. * t/list-of-tests.mk: Add the new test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 094b83a6 2012-07-16T11:16:15 Merge branch 'maint' * maint: fixup: delete "# serial" line in m4/amversion.in news: update about recent ylwrap changes and fixes m4: get rid of "# serial" lines configure: ${#param} must be supported by the shell for the testsuite yacc tests: fix a spurious failure with parallel make ylwrap: use proper quoting inside a `...` substitution ylwrap: don't uselessly reset the exit status in case of failure ylwrap: fix C++ support for Bison ylwrap: refactor: move loop invariant ylwrap: refactoring: don't rely on the file order tests: upgrade and fix Bison test case tests: fix bison input file ylwrap: comment changes ylwrap: modernize idioms ylwrap: rename header inclusion in generated parsers ylwrap: simplify the list of renamings ylwrap: refactor: less duplication Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3645d0ff 2012-07-14T23:14:45 elisp: support elisp files in subdirectories properly For more reference, see: <http://lists.gnu.org/archive/html/automake/2009-10/msg00013.html> <http://thread.gmane.org/gmane.comp.sysutils.automake.bugs/4772> * lib/am/lisp.am (.el.elc): If the file being byte-compiled is in a subdirectory, add that (both as a subdirectory of the builddir and the srcdir) to the emacs load path. While we are at it (and for consistency), drop quoting of $(srcdir) and $(builddir), since those variables are ensured (by configure-time checks) not to contain white space nor shell metacharacters. * t/list-of-tests.mk (XFAIL_TESTS): Add 't/lisp-subdir.sh' and 't/lisp-subdir2.sh', since they now passes. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7cd72e5d 2012-07-14T22:33:40 elisp: prefer $(builddir) files over $(srcdir) ones * lib/am/lisp.am (.el.elc): Here. This better respects VPATH spirit. Adjust and extends comments. * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/lisp-loadpath.sh', which now passes. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9bed1c10 2012-07-14T21:54:03 coverage: elisp path contains $(srcdir) and $(builddir) * t/lisp-loadpath.sh: Check that. Also check that, in true VPATH spirit, elisp files in the build directory are preferred to those in the source directory. This test currently fails. * t/list-of-tests.mk (handwritten_TESTS): Add the new test. (XFAIL_TESTS): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2f88456d 2012-07-14T20:55:30 coverage: emacs lisp files in subdirectories * t/lisp-subdir.sh, t/lisp-subdir2.sh: New tests, still failing. * t/list-of-files.mk (handwritten_TESTS, XFAIL_TESTS): Add them. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Akim Demaille fa104579 2012-07-14T16:57:02 ylwrap: fix C++ support for Bison Fixes automake bug#7648. The current logic of ylwrap is to call yacc in a sub directory, and pull out of it all the files that were requested on its command line. Reverse this approach: export *all* the files created in the subdirectory, but rename them according to what the command says. This way, extra files, such as position.hh, location.hh and stack.hh for C++ parsers, but also parser.xml or parser.dot if XML or Dot output is enabled, will be preserved. * lib/ylwrap (pairlist): Remove. (main loop): Don't loop over pairlist, but over the files in the temporary directory. * t/list-of-tests.mk (XFAIL_TESTS): Fixes t/yacc-bison-skeleton-cxx.sh. * THANKS (James Bostock): Add, he reported bug#7648. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Akim Demaille be2bb639 2012-07-13T14:32:22 ylwrap: rename header inclusion in generated parsers Some types of Bison parsers, such as the GLR ones, generate a header file that they include. ylwrap, which renames the generated files, does not rename the included file. Fix this shortcoming, reported for instance here: <http://lists.gnu.org/archive/html/bug-bison/2012-06/msg00033.html>. Fixes t/yacc-bison-skeleton.sh, see Automake bug#7648 and PR automake/491. * lib/ylwrap (quote_for_sed): Accept arguments. Catch more special characters. (rename_sed): New. Improve the previous renaming sed commands using quote_for_sed. Suggested by Stefano Lattarini here: <http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00095.html>. (main loop): Use rename_sed to rename the dependencies to other files. * t/yacc-d-basic.sh: Exercise this case, even if bison/yacc was not issuing such an include. * t/list-of-tests.mk (XFAIL_TESTS): Adjust.
Stefano Lattarini cbd1a604 2012-07-07T11:54:28 Merge branch 'maint' * maint: cosmetics: rename t/ax/test-runner => t/ax/runtest fixup: another "make recheck" failure with BSD make test runner: work correctly in VPATH setups compat: automake should define $(mkdir_p), for backward compatibility coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works tests init: don't automatically re-execute tests with a POSIX shell yacc tests: fix spurious failure with parallel make tests: ignore minor 'recheck' regression for BSD make tests: don't clutter the top-level dir with temporary test directories tests: avoid spurious failures when @MKDIR_P@ points to "install-sh -d" lisp: better support of VPATH builds news: fixlets and updates + Extra non-trivial edits: * NEWS: State that $(mkdir_p) is still provided as an alias to $(MKDIR_P), for (partial) backward-compatibility. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini fc21a888 2012-07-06T21:29:52 Merge branch 'fix-pr11806' into maint * fix-pr11806: lisp: better support of VPATH builds
Stefano Lattarini b6e6409a 2012-07-06T12:24:33 tests init: don't automatically re-execute tests with a POSIX shell I've unwittingly broken support for that feature *again* in some of my recent testsuite tweaking. In this case, the re-execution code works correctly when the tests are executed with a POSIX shells, but breaks when they are invoked by an old-style Bourne shells (e.g., /bin/sh on Solaris). It's time to face it: that feature is too much brittle, and too seldom used (because the Makefile takes care of running the tests with the correct shell anyway, so that a breakage is only experienced when running the tests by hand). It just don't remain working for long, not when we often touch the testsuite setup (which we are going to do again when we'll try to move part of our testsuite framework to Gnulib, or a similar project). So, instead of trying to be extra-smart and automatically re-execute the tests with the correct shell, we now offer a simple wrapper script that the user can employ to run the test scripts with the proper shell. And while we are at it, we write this wrapper to also deal with TAP tests in a better way, running them through the prove(1) utility, so that their results are correctly recognized and reported. * t/ax/test-runner.in: New file; the wrapper script we were talking about. * configure.ac (AC_CONFIG_FILES): Process it into 't/ax/test-runner'. * .gitignore: Add 't/ax/test-runner'. * defs: Remove code for automatic re-execution of the scripts with the correct shell. This file now just a very thin layer around 'defs-static' and 't/ax/test-init.sh'. * t/README: Adjust, and remove or fix some imprecise or outdated text in the process (like "... test scripts are written with portability in mind, so that they should run with any decent Bourne-compatible shell ..." ). * Makefile.am (AM_TESTS_ENVIRONMENT): No need to export 'AM_TESTS_REEXEC' to "no" anymore. * t/self-check-explicit-skips.sh: Likewise. * t/self-check-exit.tap: Likewise. * t/self-check-me.tap: Likewise. * t/self-check-dir.tap: Likewise. * t/self-check-reexec.tap: Remove as obsolete. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 56333a70 2012-07-06T15:16:12 tests: avoid spurious failures when @MKDIR_P@ points to "install-sh -d" * t/self-check-cleanup.tap: Several checks in this test were failing on NetBSD 5.1. That happened because on that system, '@MKDIR_P@' expands to an "install-sh -d" invocation that references the $(builddir), and the code trying to duplicate some of the Automake testsuite infrastructure in the test subdirectory of this self test wasn't smart enough to cater to that situation. Granted, we could tweak the test case once more to fix this Yet Another Spurious Failure, but at this point it has become clear that the extra coverage offered by this test is not worth all the hassle. Just remove the test. Since the testsuite is regularly run on several systems and with different setups, most issues with the testsuite framework will reveal themselves anyway; no actual need to unit-test them in our testsuite, if that's too tricky. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini cca42634 2012-07-06T10:12:30 compat: automake should define $(mkdir_p), for backward compatibility That has been unwittingly broken by commit 'v1.12-19-g7a1eb9f' of 2012-04-28, "AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13". Report from Benoit Sigoure and Diego Elio Pattenò: <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> * lib/am/header-vars.am (mkdir_p): Define as an alias for $(MKDIR_P). * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/mkdir_p.sh'. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 2634d5d8 2012-07-06T09:59:23 coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works They are deprecated, but should continue to work in the 1.12.x release series. Report from Benoit Sigoure and Diego Elio Pattenò: <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> * t/mkdirp-deprecation.sh: Enhance. * t/mkdir_p.sh: New test, check that AM_INIT_AUTOMAKE still defines the $(mkdir_p) make variable. Currently xfailing. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add the new test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Jack Kelly 0451b0bc 2012-07-05T18:50:37 lisp: better support of VPATH builds Fixes automake bug#11806. * lib/am/lisp.am: Pass the value of '$(abs_srcdir)' to the elisp-compile script in the environment. * lib/elisp-comp: Add the vale of '$abs_srcdir' to the emacs load-path. * t/lisp-pr11806.sh: New test. * t/list-of-tests.mk: Add it. Copyright-paperwork-exempt: yes Co-authored-by: Stefano Lattarini <stefano.lattarini@gnu.org> Reported-by: Makoto Fujiwara <makoto@ki.nu> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 5e0539a3 2012-07-03T21:15:33 Merge branch 'aclocal-trace-macrodir' * aclocal-trace-macrodir: aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini cd1a9ccc 2010-10-05T17:14:00 aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead Maintaining ACLOCAL_AMFLAGS in the Makefile.am to pass extra flags to aclocal is (and have always been) quite of an hack. For example, autoreconf is forced to grep Makefile.am to honour those flags. But this is a bad obsolescent behaviour; in fact, the autotools have moved consistently in the past years from custom grepping of Makefile.am and configure.ac to tracing of m4 macro calls, which is more consistent, more reliable and more flexible. And when autoreconf is not used, the developer is forced to add *by hand* the flags specified by ACLOCAL_AMFLAGS to the aclocal calls not triggered by make rebuild rules; here lie again more duplication and more chances for errors. Moreover, ACLOCAL_AMFLAGS has only two typical use cases: - to instruct aclocal to look for extra macro definition in a local directory (as with "ACLOCAL_AMFLAGS = -I m4"); and - to further instruct aclocal to copy in that local directory the required third-party .m4 files found in the system-wide directory (as with "ACLOCAL_AMFLAGS = -I m4 --install"). The first use case can be better covered if aclocal can instead trace and honours call to the AC_CONFIG_MACRO_DIR autoconf macro; and the second use case shouldn't be considered really legitimate, as it is quite (and subtly) brittle (see automake bug#9037). Thus we now make aclocal trace AC_CONFIG_MACRO_DIR macro, and act accordingly. For backward compatibility, we continue to support the ACLOCAL_AMFLAGS special variable (although removing any mention of it from the documentation). Future Automake releases will likely start to warn about the use of that variable, and eventually remove support for it altogether. From a suggestion by Eric Blake. This is a much simplified (and IMHO saner) version of the patch series discussed in the threads: <http://lists.gnu.org/archive/html/automake-patches/2010-10/msg00045.html> <http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00156.html> * aclocal.in ($ac_config_macro_dir): New global variable. (trace_used_macros): Also trace the macro 'AC_CONFIG_MACRO_DIR', and set the '$ac_config_macro_dir' variable accordingly. (parse_arguments): Code for diagnosis of '--install' used without any user-specified include directory moved ... (while (1)): .. into the main loop. Which now also updates the list of user-specified include directories to include the directory given as argument to the call (if any) of 'AC_CONFIG_MACRO_DIR'. * lib/am/configure.am: Update comments. * NEWS: Updated. * doc/automake.texi: Likewise. Also, stop advising the use of the '--install' in ACLOCAL_AMFLAGS (see automake bug#9037 for a rationale), and remove any reference to ACLOCAL_AMFLAGS (which is now considered obsolescent). * t/aclocal-path-install.sh: Adjust grepping check in the aclocal error messages. * t/subpkg.sh: Updated: add 'AC_CONFIG_MACRO_DIR' call to configure.ac, remove setting of 'ACLOCAL_AMFLAGS' in Makefile.am and use of aclocal command line arguments. * t/subpkg2.sh: Likewise. * t/subdir8.sh: Likewise. * t/remake10c.sh: Likewise. * t/remake8a.sh: Likewise. * t/remake8b.sh: Likewise. * t/aclocal4.sh: Likewise. * t/aclocal6.sh: Likewise. * t/acloca14.sh: Likewise. * t/acloca22.sh: Likewise. * t/aclocal5.sh: Likewise, and do not not invade the Automake namespace (this avoids spurious failures). * t/acloca14b.sh: New test, identical to the previous version of 'acloca14.test'; it is kept to verify backwards compatibility with the use of ACLOCAL_AMFLAGS. * t/acloca22b.sh: Likewise (but for 'acloca22.test'). * t/aclocal-amflags.sh: New test, check for backwards compatibility that ACLOCAL_AMFLAGS still works. * t/remake-macrodir.sh: New test, checking that aclocal's honoring of AC_CONFIG_MACRO_DIR interacts nicely with automatic rebuild rules. * t/list-of-tests.mk: Add the new tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini d7d983b0 2012-07-02T17:24:24 tests: tests for stuff in contrib goes in 'contrib/t' * t/help-multilib.sh: Move ... * contrib/t/help-multilib.sh: .. here. Remove a now-obsolete "FIXME" comment. * t/multlib.sh: Move ... * contrib/t/multilib.sh: .. here. Remove a now-obsolete "FIXME" comment. * t/parallel-test2.sh: Move ... * contrib/t/parallel-tests-html.sh: .. here. Remove a now-obsolete "FIXME" comment. * contrib/t/local.am: New, basically defining the list of tests for stuff in 'contrib/'. * t/list-of-tests.mk, Makefile.am: Adjust. * .gitignore: Update. * syntax-checks.mk (xtests): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 22786e46 2012-07-02T15:04:12 Merge branch 'user-recursive-targets' * user-recursive-targets: recursion: support user-defined recursive targets tests: rename 'recurs*.sh' to 'var-recurs*.sh' tests: minor improvements to 'recurs*.sh'
Stefano Lattarini 3da1457d 2012-06-12T14:48:12 recursion: support user-defined recursive targets The user can now define his own recursive targets that recurse in the directories specified in $(SUBDIRS). That can be done by specifying the name of such targets in invocations of the new 'AM_EXTRA_RECURSIVE_TARGETS' m4 macro. The API goes like this: $ cat configure.ac AC_INIT([pkg-name], [1.0] AM_INIT_AUTOMAKE AM_EXTRA_RECURSIVE_TARGETS([foo]) AC_CONFIG_FILES([Makefile sub/Makefile]) AC_OUTPUT $ cat Makefile.am SUBDIRS = sub foo-local: @echo This will be run by "make foo". $ cat sub/Makefile.am foo-local: @echo This too will be run by a "make foo" issued either in @echo the 'sub/' directory or in the top-level directory. Like for the "default" recursive targets (e.g., 'all' and 'check'), the user-defined recursive targets descend in the $(SUBDIRS) in a depth-first fashion, and process '.' last (unless that is explicitly specified in $(SUBDIRS)). * NEWS, doc/automake.texi: Document the new feature. * automake.in (@extra_recursive_targets): New global variable. (scan_autoconf_traces): Trace macro '_AM_EXTRA_RECURSIVE_TARGETS'. (handle_user_recursion): New subroutine; among other things, it defines the new internal '$(am__extra_recursive_targets)' make variable, and the '*-am', '*-local' and '*-recursive' targets associated with the user-specified user recursive targets. (generate_makefile): Call the new subroutine. * lib/am/subdirs.am (am__recursive_targets): New internal make variable, listing all of '$(RECURSIVE_TARGETS)', '$(RECURSIVE_CLEAN_TARGETS)' and '$(am__extra_recursive_targets)' together. (AM_RECURSIVE_TARGETS): Adjust the definition of this variable ... (.PHONY, .MAKE): ... and the list of dependencies of these special targets to take advantage of the new '$(am__recursive_targets)' variable. ($(am__recursive_targets)): New targets, superseding ... ($(RECURSIVE_TARGETS), $(RECURSIVE_CLEAN_TARGETS)): ... these, and inheriting their rules. This way, the rules to handle recursion for built-in recursive targets (e.g., 'all', 'dvi', 'clean') and for user defined recursive targets are the same. * m4/extra-recurs.m4: New file, contain definition of new macro 'AM_EXTRA_RECURSIVE_TARGETS' and '_AM_EXTRA_RECURSIVE_TARGETS'. These macros are basically dummy, only used for tracing by automake. * m4/Makefile.am (dist_automake_ac_DATA): Update. * t/recurs-user.sh: New test. * t/recurs-user2.sh: Likewise. * t/recurs-user-deeply-nested.sh: Likewise. * t/recurs-user-indir.sh: Likewise. * t/recurs-user-keep-going.sh: Likewise. * t/recurs-user-many.sh: Likewise. * t/recurs-user-no-subdirs.sh: Likewise. * t/recurs-user-no-top-level.sh: Likewise. * t/recurs-user-override.sh: Likewise. * t/recurs-user-phony.sh: Likewise. * t/recurs-user-wrap.sh: Likewise. * t/remake-recurs-user.sh: Likewise. * t/list-of-tests.mk: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 09793005 2012-06-12T10:11:35 tests: rename 'recurs*.sh' to 'var-recurs*.sh' * t/recurs.sh: Rename ... * t/var-recurs.sh: ... to this. * t/recurs2.sh: Rename ... * t/var-recurs2.sh: ... to this. * tests/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini e18ac4b8 2012-06-30T21:32:20 Merge branch 'maint' * maint: parallel-tests: "recheck" behaves better in case of compilation failures scripts: quote 'like this', not `like this' Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c4947504 2012-06-30T20:20:22 Merge branch 'recheck-fix' into maint * recheck-fix: parallel-tests: "recheck" behaves better in case of compilation failures scripts: quote 'like this', not `like this'