Log

Author Commit Date CI Message
Stefano Lattarini 29158391 2012-02-27T09:28:47 coverage: --program-transform shouldn't transform too much Stemmed from a report by Vladimir 'φ-coder/phcoder' Serbinenko: <http://lists.gnu.org/archive/html/automake/2012-02/msg00025.html> * tests/transform3.test: New test, checking that --program-transform does not transform too much stuff (in particular, pkglibexecdir, pgklibdir and pkgdatadir). * tests/list-of-tests.mk: Add it. * THANKS: Update.
Stefano Lattarini bb061d33 2012-02-26T13:31:00 tests: avoid spurious failure (line too long in awk) * tests/parallel-tests-many.test: Use perl, not awk, to write the Makefile.am with (deliberately) overly long TESTS content, as some inferior awk implementations (e.g., Solaris 10 /usr/bin/awk) are unable to handle the long lines used there and die with errors like: "awk: string too long near line 5".
Stefano Lattarini 68f47e9a 2012-02-26T13:10:19 tests: avoid spurious failures when awk is "traditional awk" * tests/Makefile.am (do_subst): Also substitute '@AWK@'. * tests/defs-static.in ($AWK): New, user-overridable and defaulting to the substituted '@AWK@'. * tests/defs (fetch_tap_driver): When the shell+awk implementation of the TAP driver is required, export AM_TAP_AWK to point to a properly capable awk, since the default awk might be a "traditional" implementation, which won't be enough for our driver. This is the right fix, since a proper setting of AM_TAP_AWK in the driver's environment is expected (and documented to be required) in real world uses of 'tap-driver.sh'.
Stefano Lattarini e55116a5 2012-02-26T11:22:32 tests: avoid many spurious failures for shells with busted 'set -e' Some versions of the BSD Korn shell wrongly bail out when the 'errexit' shell flag is active and the left-hand command in a "&&" list fails and that list is the *last* command of an entry in a "case" statement. * tests/defs (gcc, g++, gcj): Work around that.
Stefano Lattarini b51a9afe 2012-02-22T10:12:02 aclocal: don't create /usr/share/aclocal as empty Related to automake bug#10791. Since automake 1.11.2, aclocal no longer succeeds if the system acdir '${datadir}/aclocal' (i.e., "/usr/share/aclocal" when ${prefix} is "/usr") does not exist. So we now have a directory *installed empty by default*, but whose existence is required by aclocal in order for it to function at all. This might be confusing, and sounds like asking for trouble in the long term. So we now also install a simple README file in that directory, which briefly explains its purpose and warn that its existence is required by the normal aclocal functioning. * m4/acdir/README: New file. * m4/Makefile.am (dist_system_ac_DATA): Add it. * m4/acdir/.placeholder: Delete, no more needed. * m4/Makefile.am (EXTRA_DIST): Remove it. * THANKS: Update.
Stefano Lattarini 3b5f6115 2012-02-25T22:01:17 hacking: document format for git commit messages * HACKING (Writing a good commit message): New section. (Working with git): A related minor adjustment. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini c99835be 2012-02-25T14:38:22 docs: improve 'dist-hook' documentation * doc/automake.texi (The dist Hook): Explicitly document the fact that the dist-hook should account for the case where the source tree is read-only, mostly for the benefit of distcheck. Since we are at it, do some minor unrelated rewordings, and remove obsolescent advice. Motivated by the discussion on automake bug#10878. * tests/disthook.test: New test. * tests/disthook-perms.test: Delete as obsolete. * tests/list-of-tests.mk: Adjust.
Stefano Lattarini 040cf125 2012-02-25T11:11:33 docs: improve "make distcheck" documentation * doc/automake.texi (Checking the Distribution): The fact that "make distcheck" uses a read-only srcdir wasn't documented clearly enough here. Fix that. Since we are at it, be more explicit about the steps undertaken by "make distcheck", and re-organize this section a bit. Motivated by the discussion on automake bug#10878. (distcleancheck): Rename this node (in the "FAQ" section) ... (Errors with distclean): ... to this. Add a proper "FIXME" comment.
Stefano Lattarini c5a3d70d 2012-02-25T09:43:51 cosmetics: proper capitalization and full stops in 'm4/depend.m4'
Stefano Lattarini 1e839f9a 2012-02-24T18:34:04 coverage: dist-hook and distcheck-hook can modify file permission See automake bug#10878. * tests/dist-hook-perms.test: New test, checking that the user can use the 'dist-hook' target to modify permissions of distributed files before putting them in the distribution tarball. * tests/distcheck-writable-srcdir.test: New test, checking that the user can use 'distcheck-hook' to ensure his packages is built by "make distcheck" with a writable srcdir. This goes against the GNU Coding Standards, but some package authors might not care about them too much, and it's nice to support their use case too. * tests/list-of-tests.mk: Add them.
Jim Meyering 06b90179 2012-02-25T12:37:25 tests: avoid spurious failure when gcj is not installed Since yesterday's commit, v1.11-2019-g4d2bf42, the gcj4 test would fail when gcj is not installed. * tests/defs-static.in (GNU_GCJ, GNU_GCJFLAGS): Define. * tests/Makefile.am (do_subust): Add those to the list of substituted symbols.
Stefano Lattarini 4d2bf42f 2012-02-24T15:22:25 tests: look for GNU Java compiler at configure time Do this for consistency with what is done with other compilers. * configure.ac: Look for GNU java compiler at configure time. * tests/defs (gcj): Adjust and simplify. ($am__tool_prefix): Remove definition, it's not used anymore.
Stefano Lattarini 00eb4ac9 2012-02-24T14:35:06 refactor: in Automake::Options (no semantic change) * lib/Automake/Options.pm: Prefer leading spaces to leading tabs throughout. Minor whitespace and comment changes. (_process_option_list): Simple refactoring to make the code more pleasant to read and easier to modify in the future. This refactoring also reduces code duplication, with the help of ... (_option_must_be_from_configure, _is_valid_easy_option): ... these new internal subroutines. * tests/tar3.test: Enhance. * tests/silent-amopts.test: New, checks that automake complains if the 'silent-rules' option is used in AUTOMAKE_OPTIONS. * tests/list-of-tests.mk: Add it.
Stefano Lattarini 1eaed7c1 2012-02-24T13:27:53 cosmetics: typofixes and whitespace changes * configure.ac: Fix a typo in comments. * aclocal.in: Get rid of latest form-feed (^L) usages. * automake.in: Likewise.
Stefano Lattarini 5d9d10e0 2012-02-22T22:39:03 tests: looks for GNU compilers at configure time This way, if the generic C compiler determined configure time is recognized to be the GNU C compiler, we can reuse it instead of looking for a compiler named "gcc" (over and over again) in the test scripts requiring the GNU C compiler. Ditto for the C++, Fortran, and Fortran 77 compilers. This change will improve coverage by allowing us to more easily use non-default GNU compilers throughout the testsuite. And as a bonus, this change also removes a weakness from our testsuite that could cause spurious failures when flags passed to the generic compilers were erroneously reused for the GNU compilers; see automake bug#10859. * configure.ac: Look for the GNU compilers explicitly. Improve some configure output and diagnostic since we are at it. * tests/defs-static.in ($GNU_CC, $GNU_CXX, $GNU_FC, $GNU_F77): Initialize with the values determined at configure time (while allowing user overrides). * tests/Makefile.am (do_edit): Also substitute the configure-time values of GNU_CC, GNU_CXX, GNU_FC and GNU_F77. * tests/defs (gcc, g++, gfortran, g77): Use the values for the GNU compilers determined at configure time (i.e., $GNU_CC for the GNU C compiler, and so on).
Stefano Lattarini e99690aa 2012-02-23T23:56:38 docs, news: document planned removal of obsolete macros and features * NEWS (Future backward-incompatibilities): Document planned removal of several superseded and/or obsoleted macros, of the $(mkdir_p) variable and @mkdir_p@ substitution, and of the support for the two- or three-arguments invocation forms of AM_INIT_AUTOMAKE. * doc/automake.texi: Likewise.
Stefano Lattarini f6fde80d 2012-02-24T00:00:35 docs: remove reference to lzma support, it has been removed Support for lzma compression in distribution tarball has been removed in commit 'v1.11-1674-g02e9072' of 01-01-2012, "dist: remove support for lzma (superseded by xz and lzip)", but was still documented in the manual. * doc/automake.texi: Remove references to the 'dist-lzma' option and to the lzma compression support.
Stefano Lattarini f28d4890 2012-02-23T23:34:08 cosmetics: fixlet in comment in automake * automake.in ($configure_dist_common): In the associated comment, refer to scanning of 'configure.ac', not 'configure.in'.
Stefano Lattarini 4a38f180 2012-02-23T22:47:42 maint: assume 'test -x' is portable * lib/Makefile.am (installcheck-local): To verify that the installed scripts are actually executable, simply use 'test -x', instead of resorting to perl and its '-x' file operator. Today, 'test -x' should today be portable to any non-museum system. Since we are at it, improve diagnostic in case of failure.
Stefano Lattarini 94259756 2012-02-23T22:36:49 deptrack: avoid few forks in configure (minor optimization) * m4/depend.m4 (_AM_DEPENDENCIES): Use 'echo > file' instead of 'touch file' to ensure the creation of a dummy file. Adjust the comment that explains why we can't simply use ': > file': the problem this latter idiom tickles is present also with Solaris 10 /bin/sh, not merely with Solaris 8 /bin/sh.
Stefano Lattarini c4f2b64c 2012-02-23T22:06:14 maintcheck: remove an obsolete check * syntax-checks.mk (sc_perl_local_no_parens): Remove, we don't even allow the use of local but for the '$_' and '$~' special variables. (syntax_check_rules): Adjust.
Stefano Lattarini 8153d196 2012-02-23T22:00:49 news: update w.r.t. change in quoting format * NEWS (New in 1.11.1a): State that we prefer to quote 'like this' or "like this" rather than `like this', as according to the new GCS recommendations.
Stefano Lattarini da69976c 2012-02-23T20:50:41 automake: do not quote `like this', as per GCS recommendation * automake.in: Convert comments, diagnostic and help screen to the use of new quoting format 'like this' or "like this" rather than `like this'. * tests/stdlib2.test: Adjust. * tests/ltinstloc.test: Likewise. * tests/location.test: Likewise. * tests/libtool8.test: Likewise. * tests/ldadd.test: Likewise, and prefer trailing ':' over trailing 'Exit 0'.
Stefano Lattarini d3a2a8d0 2012-02-23T20:41:10 aclocal: do not quote `like this', as per GCS recommendation * aclocal.in: Convert comments, diagnostic and help screen to the use of new quoting format 'like this' or "like this" rather than `like this'.
Stefano Lattarini 3e887a13 2012-02-23T20:25:26 pm: do not quote `like this', as per GCS recommendation This patch converts the internal perl modules used by automake and aclocal to the use of new quoting format 'like this' or "like this" rather than `like this'. * lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm, lib/Automake/Condition.pm, lib/Automake/Configure_ac.pm, lib/Automake/DisjConditions.pm, lib/Automake/FileUtils.pm, lib/Automake/General.pm, lib/Automake/Item.pm, lib/Automake/Rule.pm, lib/Automake/Getopt.pm, lib/Automake/Options.pm, lib/Automake/Struct.pm, lib/Automake/VarDef.pm, lib/Automake/Variable.pm, lib/Automake/Version.pm, lib/Automake/XFile.pm: Update and adjust quoting format throughout, in comments and diagnostic. Some minor related rewordings and reformatting since we are at it.
Stefano Lattarini f8f22fea 2012-02-23T19:36:20 m4: do not quote `like this', as per GCS recommendation This patch converts the files comprising the automake's own build system to the use of new quoting format 'like this' or "like this" rather than `like this'. * m4/auxdir.m4, m4/ccstdc.m4, m4/depend.m4, m4/depout.m4, m4/tar.m4, m4/init.m4, m4/maintainer.m4, m4/make.m4, m4/missing.m4, m4/vala.m4, m4/mkdirp.m4, m4/sanity.m4, m4/silent.m4, m4/strip.m4: Update and adjust quoting format throughout, in comments and diagnostic. Some minor related rewordings and reformatting since we are at it. Bump serial numbers.
Stefano Lattarini 2d951983 2012-02-23T19:21:00 build: do not quote `like this', as per GCS recommendation This patch converts the files implementing the automake's own build system to the use of new quoting format 'like this' or "like this" rather than `like this'. * bootstrap, configure.ac, syntax-checks.mk, Makefile.am, lib/Makefile.am, m4/Makefile.am, syntax-checks.mk: Update quoting format throughout, in comments and diagnostic. Some minor related rewordings and reformatting since we are at it.
Stefano Lattarini 05613b2e 2012-02-23T15:40:31 hacking: update advice w.r.t. release process * HACKING: Don't describe the obsolete 'git-release' target anymore. Instead, document the new and improved targets 'git-tag-release' and 'git-upload-release' (introduced in commit v1.11-674-gaf5f939 of 25-01-2012, "release: revamp rules to tag and upload the releases").
Stefano Lattarini 88ac75a6 2012-02-23T15:27:36 hacking: do not quote `like this', as per GCS recommendation * HACKING: Quote 'like this' or "like this", not `like this'. This is done for consistency with the new recommendations in the GNU Coding Standards, and because I've come to actually prefer the '...' and "..." quoting format over the `...' one.
Stefano Lattarini de58d25e 2012-02-23T15:15:26 am: do not quote `like this', as per GCS recommendation This patch converts the automake-provided '*.am' fragments, and related files, to the use of new quoting format 'like this' or "like this" rather than `like this'. * lib/am/check.am: Update quoting format throughout, in comments and diagnostic. Some related rewordings, reformatting, and removal of redundant commands since we are at it. * lib/am/configure.am: Likewise. * lib/am/dejagnu.am: Likewise. * lib/am/depend2.am: Likewise. * lib/am/distdir.am: Likewise. * lib/am/inst-vars.am: Likewise. * lib/am/install.am: Likewise. * lib/am/lang-compile.am: Likewise. * lib/am/lisp.am: Likewise. * lib/am/ltlib.am: Likewise. * lib/am/mans.am: Likewise. * lib/am/progs.am: Likewise. * lib/am/remake-hdr.am: Likewise. * lib/am/subdirs.am: Likewise. * lib/am/tags.am: Likewise. * lib/am/texi-vers.am: Likewise. * lib/am/texibuild.am: Likewise. * lib/am/texinfos.am: Likewise. * lib/am/yacc.am: Likewise.
Stefano Lattarini 5b44ce39 2012-02-23T13:07:57 tests: quote 'like this', not `like this', as per GCS recommendation This patch converts the automake testsuite and related files, to the use of new quoting format 'like this' or "like this" rather than `like this'. This is done for consistency with the new recommendations in the GNU Coding Standards, and, well, because I've come to actually prefer the '...' and "..." quoting formats over the `...' one. * tests/README: Update quoting format throughout. Remove some "excessive" use of quoting, and throw in minor rewording where appropriate. * tests/Makefile.am: Likewise, for comments. * tests/CheckListOfTests.am: Likewise. * tests/defs-static.in: Likewise. * tests/defs: Likewise. * tests/trivial-test-driver: Likewise. * Many tests/*.tap, tests/*.test and tests/*.sh files: Likewise, and for the diagnostic and informational messages as well. * tests/gen-testsuite-part: Likewise, and for the generated tests as well.
Stefano Lattarini 2dfeef41 2012-02-22T14:27:17 spy: "rm -f" and "rm -rf" without args are portable According to recent testing by Eric Blake, it seems that all non-museum rm(1) implementations don't complain if called without file operands, *if* the '-f' option is used. This behaviour will likely be mandated by future versions of the POSIX standard as well. We'd like to start assuming this rm(1) behaviour in future Automake releases, in order to simplify some automake-provided cleanup rules. So, for the moment, we add a new "spy" test in our test suite, to try ensuring that all the rm(1) implementation we encounter "in the wild" truly behaves as expected in this regard. For more references, see this discussion on the bug-autoconf list: <http://lists.gnu.org/archive/html/bug-autoconf/2012-02/msg00002.html> which sprang from coreutils bug#10819: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10819> and brought to the POSIX issue#542: <http://austingroupbugs.net/view.php?id=542> which has been accepted and will ensure that future version of the POSIX standards will mandate that 'rm' shouldn't complain if called without file operands, when the '-f' option is in use. * tests/spy-rm.test: New test. * tests/list-of-tests.mk: Add it.
Stefano Lattarini 66873b59 2012-02-22T12:30:38 tests: avoid spurious failures under "make distcheck" * tests/tap-setup.sh: Pass also '-f' option to 'cp' invocations, so that files that have already been copied in without write permissions will still be overwritten where needed, instead of causing a spurious testsuite failure. Issue seen when the testsuite is run under "distcheck". * tests/defs (get_shell_script): Remove target file before overwriting it, for the same reason. Rework code flow a bit since we are at it.
Stefano Lattarini e5e6fa03 2012-02-22T11:30:54 fixup: avoid spurious failure for 'parallel-tests-many.test' * tests/parallel-tests-many.test: Adjust grepping of "make check" and "make recheck" output to match the new format of the testsuite summary. Remove redundant 'set -e' call since we are at it.
Stefano Lattarini db973eaa 2012-02-21T19:47:36 tests: prefer 'configure.ac' over 'configure.in' With this change, our testsuite now uses 'configure.ac' as the name for the typical autoconf input, instead of the obsolescent 'configure.in' (which has been deprecated for several years, at least since autoconf 2.50). Most of the test cases changed by this commit have been automatically modified with this sed command (using GNU sed): sed -i 's/\<configure\(\\\?\)\.in\>/configure\1.ac/g' * syntax-checks.mk (sc_tests_no_configure_in): New syntax check. (syntax_check_rules): Add it. * tests/defs: Create stub for autoconf input in 'configure.ac', not in 'configure.in'. Adjust comments. ($AUTOCONF, $AUTOHEADER, $AUTORECONF): Remove workaround for the infamous debian autoconf wrapper: we don't need such workaround anymore now that we name our autoconf input as 'configure.ac'. For more information, see commit v1.11-564-g63da492 "test defs: hack to support autoconf-wrapper programs" of 16-12-2011. * tests/README: Use 'configure.ac', not 'configure.in'. * Many many tests: Likewise. * tests/backcompat3.test: Adjust to avoid spurious failures. * tests/backcompat5.test: Likewise. * tests/missing6.test: Likewise. * tests/backcompat6.test: Likewise, and extend a bit since we are at it.
Stefano Lattarini 0f99c10d 2011-12-28T22:37:44 coverage: expose automake bug#7868 Expose the command-line length limit issue that can affect the Automake-generated parallel-tests harness, especially on systems where this limit is smaller (e.g., MinGW/MSYS). Suggestion by Bob Friesenhahn. * tests/parallel-tests-many.test: New test. We have verified that it actually exposes the bug#7868, as it passes when we opportunely reduce the number of test cases in $(TESTS). Checked on NetBSD 5.1 64bit, Debian unstable 32bit, Solaris 10 64bit and Cygwin 1.5 32bit. * tests/list-of-tests.mk (handwritten_TESTS): Add it. * tests/Makefile.am (XFAIL_TESTS): Likewise.
Stefano Lattarini 6a53d19c 2012-02-21T22:19:16 tests: remove obsoleted "icc" requirement * tests/defs (icc): This requirement is not used anymore by any test case, so remove it.
Stefano Lattarini 31c621cd 2012-02-21T19:23:50 readme: fix typo in tests/README
Stefano Lattarini a537fbe6 2012-02-21T14:06:25 tests: "make installcheck" shouldn't run the testsuite twice * Makefile.am (installcheck-local): Remove. The "installcheck" target provided by automake is already a recursive target, so there's no need to have an 'installcheck-local' recipe that manually recurse into 'tests/'. In fact, such a manual recursion was causing the testsuite to be run twice by "make installcheck".
Stefano Lattarini 74880502 2012-02-21T13:33:27 news: minor fixlets and reorganization * NEWS: Get rid of form-feed characters (^L) throughout the file. Use separator lines instead (composed by 76 '~' characters), or just an extra blank lines for older less verbose entries (those predating the 1.8 release). (New in 1.11.3): Move description of planned future backward incompatibilities that won't make it to 1.12 ... (New in 1.11a): ... in here. Quote 'like this', not `like this'. Other minor miscellaneous rewordings and fixlets.
Stefano Lattarini c93cb22e 2012-02-21T10:03:17 cosmetics: few typofixes
Stefano Lattarini deb77738 2012-02-20T18:33:50 automake: new option 'serial-tests' Currently, automake offers a 'parallel-tests' option to enable the use of the parallel testsuite harness in the generated Makefiles, but no option to explicitly state the intention of using the older serial testsuite driver (which is currently the default). This makes the parallel test harness seems like a second-class citizen (while actually it should be the other way around); more importantly, it will prevent us from making the parallel harness be the default one in future automake versions, since the users of the serial harness would then have no way to instruct automake to continue using it. We solve all of this by introducing a new 'serial-tests' option. * lib/Automake/Options.pm (_process_option_list): Recognize the new option, and related minor refactoring. * tests/serial-tests.test: New test. * tests/list-of-tests.mk: Add it. * doc/automake.texi: Update. * NEWS: Likewise.
Stefano Lattarini 82616f0b 2012-02-20T14:04:46 tests: fix a timestamp issue, and other minor buglets Reported by Panther Martin in automake bug#10848. * tests/conffile-leading-dot.test: Add a proper '$sleep' invocation, to avoid spurious failures on fast systems without sub-second timestamp resolutions. Add other minor related and unrelated improvements and fixlets since we are at it.
Stefano Lattarini 101216ca 2012-02-19T18:43:28 automake: new option to print location of scripts and data files With this change, we add a new automake option '--print-libdir' that prints (on stdout) the path of the directory containing the Automake-provided scripts (e.g., 'missing' and 'install-sh') and data files (e.g., INSTALL or texinfo.tex). Suggestion by Nick Bowler. See also automake bug#10473. * automake.in (parse_arguments): Handle the new option. (usage): Mention it. * doc/automake.texi (automake Invocation): Document it. * NEWS: Update. * tests/print-dir.test: New test. * tests/list-of-tests.mk: Add it.
Stefano Lattarini 86deab4d 2012-02-19T17:12:55 docs: prefer the awk+sh TAP driver over the perl one We had completed our shell+awk implementation of the TAP driver months ago, but never documented it in the manual, continuing to document only the "prototype" written in perl instead. Time to fix this, before the 1.12 release. * doc/automake.texi (Use TAP with the Automake test harness): Now we document the use of the awk+shell implementation of our TAP driver, rather than of the perl one. * tests/tap-doc2.test: Adjust to use the shell+awk implementation of the TAP driver.
Stefano Lattarini 72cae0a5 2012-02-19T14:53:53 tests: be stricter in determining whether "make -jN" works * tests/parallel-tests3.test: With at least Solaris 10 CCS make, "make -jN" does not fail, but merely prints a warning about "DistributedMake -j option" being ignored. This was causing this test case to fail spuriously. So we now use a stricter check in determining whether make works in parallel mode. Since we are at it, we try to cater also to Sun Distributed make, which understands "-j N" but *not* "-jN".
Stefano Lattarini 0194d5e1 2012-02-19T11:48:08 tests: don't trust exit status of "make -k" * tests/parallel-tests-extra-programs.test: Unless $MAKE is GNU make, don't trust the exit status of "$MAKE -k". Fixes a spurious failure with OpenBSD 5.0 make and NetBSD 5.1 make.
Stefano Lattarini ec94d594 2012-02-19T11:00:45 tests: fix race condition in 'self-check-dir.tap' * tests/self-check-dir.tap (do_check): Don't fail if "ls -l" fails.
Stefano Lattarini e1606b32 2012-02-18T13:59:26 parallel-tests: fix another BSD parallel make issue When BSD make is run in parallel mode, it apparently strips any leading directory component from the automatic variable '$*' (of course, against what POSIX mandates). This was causing FreeBSD 9.0 make and NetBSD 5.1 make to spuriously fail with automake-generated test harnesses if subdir tests were present *and* make was being run in parallel mode. This issue affected also the Automake own testsuite. * lib/am/check2.am (am__set_b): New internal variable. (%OBJ%, %EXT%.log, %EXT%$(EXEEXT).log): Use it to work around the described BSD make issue. * tests/parallel-tests3.test: Enhanced to expose the bug. * tests/parallel-tests-subdir.test: Enhance a little, since we are at it. * NEWS: Update.
Stefano Lattarini 21af8bfd 2012-02-18T09:47:57 tests: avoid FreeBSD make VPATH issues in more tests (see bug#7884) See also similar change 'v1.11-755-g818bc40' of 07-02-2012, "tests: work around bug#7884 in many yacc/lex tests". The rationale for this change is basically the same. * tests/lex-lib-external.test: Use "yl_distcheck" instead of bare "$MAKE distcheck" to avoid extra failures caused by automake bug#7884. * tests/lex-noyywrap.test: Likewise. * tests/lex-libobj.test: Likewise. * tests/man6.test: This test suffers from the same FreeBSD make incompatibility in VPATH handling that is the source of automake bug#7884. Since this is caused by rules that are defined in the Makefile.am by the test itself, rather that being generated by automake, the best thing to do is to skip this test if we detect the presence of said make incompatibility (through the function 'useless_vpath_rebuild'). * tests/man8.test: Likewise.
Stefano Lattarini 0402db98 2012-02-18T09:26:30 cosmetics: remove extra trailing whitespace in configure.ac
Peter Rosin 8010df5d 2012-02-18T00:07:11 Merge branch 'yacc-quote-fix'
Stefano Lattarini c11924b5 2012-02-17T23:50:30 tests: avoid spurious failure with FreeBSD make * tests/parallel-tests-extra-programs.test: FreeBSD make seems to write (some) diagnostic messages on stdout instead than on stderr, so now we also grep the stdout for the expected make diagnostic.
Peter Rosin a7cc454d 2012-02-17T22:09:38 tests: fix broken quoting in the generated yacc grammar Fixes problem introduced by v1.11-1912-ge0906b7 "tests: avoid spurious failure with non-bison yacc" from 12-02-2012. * tests/suffix10.tap (Makefile.am): Avoid outer single quotes when we need to produce single quotes.
Stefano Lattarini 229f7712 2012-02-17T16:01:25 fixup: always use correct path for automake/aclocal wrappers Otherwise, bootstrapping from a git checkout won't work anymore. Issue introduced in today's commit 'v1.11-1974-ga98e58f'. * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Export PATH in a way that makes the automake and aclocal wrappers truly accessible (the location of this wrappers has been modified in a recent commit, but this makefile hadn't been updated accordingly). (update_mans): Likewise.
Stefano Lattarini 03493884 2012-02-17T15:32:10 tests: fix spurious failure in VPATH build * tests/self-check-dir.tap: Adjust to handle running in a VPATH build correctly.
Stefano Lattarini a98e58ff 2012-02-17T15:20:03 tests: fix many spurious failures in VPATH builds The 'is' helper script, used by some test cases since commit 'v1.11-1830-g96401cb' of 08-02-2012, "tests: better way to compare lists in Makefile rules", is not available in VPATH builds, since it resides in $(srcdir), nor in $(builddir), and only $(builddir) is added to $PATH in the test script. This was causing spurious failures. Solve this issue by re-organizing a bit the layout and placing of wrapper and help scripts used by the testsuite. This reorganization is by no mean complete, but should be enough to solve the VPATH issues. * tests/is: Moved ... * tests/ax/is: ... here * tests/automake.in: Moved ... * tests/wrap/automake.in: ... here. * tests/aclocal.in: Moved ... * tests/wrap/aclocal.in: ... here. * tests/defs-static.in ($am_bindir, $PATH): Adjust. * configure.ac (AC_CONFIG_FILES): Likewise. * tests/Makefile.am (EXTRA_DIST, check_SCRIPTS): Likewise. * tests/get-sysconf.test: Likewise. * .gitignore: Likewise.
Stefano Lattarini 44737ebc 2012-02-17T13:46:53 tests: relax a test to cater to NetBSD make * tests/parallel-tests-empty-testlogs.test: When $(TESTS) is empty, NetBSD 5.1 make ends up defining $(TESTS_LOGS) to ".log" rather than to the empty string (as would be expected). This behaviour was causing a check in this test case to fail. But that check was in fact overly strict, since our recipes are smart enough to work around the botched-up substitution. Also, the failure wasn't a regression from Automake 1.11, since that version too would have triggered the same error with NetBSD 5.1 make. So we just relax the test a little to avoid extra noise in the testsuite.
Stefano Lattarini b5788178 2012-02-17T13:29:19 Merge branch 'maint' * maint: dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)
Stefano Lattarini 4df475a2 2012-02-17T11:52:13 dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS) * lib/am/header-vars.am (am__make_dryrun): Be smarter and more correct in handling shell metacharacters in $(MAKEFLAGS).
Stefano Lattarini 622a348e 2012-02-17T13:14:57 tests: TAP-based tests should error if no plan was specified After this change, it will still be OK for TAP-based tests not to report any explicit TAP plan -- but they should state *explicitly* that they want to do so, by calling the 'plan_' function with a proper argument (currently, either "later" or "unknonwn"). Motivated by a recent issue introduced by yesterday's commit 'v1.11-1959-g0699a84' (pointed out by Peter Rosin, and fixed by follow-up commit 'v1.11-1961-gea44190'). * tests/tap-functions.sh (plan_): Get rid of '$have_tap_plan_', and refactor use and initialization of '$planned_' in a way that will allow client script to get more information on which kind of plan (if any) has been declared by the former 'plan_' invocation. (skip_all_): Adjust. * tests/defs (exit trap): Only print the "lazy" TAP plan if 'plan_' has requested that *explicitly*. * syntax-check.mk (sc_tests_tap_plan): Remove: it's obsolete now, since a TAP-based test that doesn't call 'plan_' explicitly won't print any TAP plan, and the TAP driver will catch that and report an error. (syntax_check_rules): Adjust.
Stefano Lattarini 0f858eab 2012-02-17T10:57:37 tests: expose $(am__dry_run) limitations Currently, the internal $(am__dry_run) macro can fail in weird ways when $(MAKEFLAGS) contains shell metacharacters. Let's expose this limitation in the testsuite (and fix a couple of related weaknesses since we are at it). * tests/make-dryrun.test: Moved ... * tests/make-dryrun.tap: ... here, converted to TAP, and extended to expose the described limitations. Also ... (am_parallel_tests): Define this so that the 'gen-testsuite-part' script won't generate a useless wrapper script. * test/list-of-tests.mk: Update.
Peter Rosin e5da4fbf 2012-02-17T10:23:26 cosmetics: fix commit message typo in previous * .git-log-fix: The file is called .git-log-fix, nothing else.
Peter Rosin 22729165 2012-02-17T10:13:15 fixup: .git-log-fix should not be executable * .fix-git-log: Set mode 644.
Peter Rosin 72b68766 2012-02-17T09:52:07 maint: support amending the generated ChangeLog, and fix a typo * Makefile.am (gitlog_to_changelog_options): Add support for amending the generated ChangeLog. (EXTRA_DIST): Update. * .git-log-fix: New file with things to amend to the generated ChangeLog, starting with a fix for a typo in v1.11-1963-g3b369e6 "maint: use AC_PACKAGE_BUGREPORT to avoid duplication" from yesterday.
Stefano Lattarini d74d525c 2012-02-16T23:14:00 cosmetics: normalize copyright notice in some tests * tests/lisp3.test: Normalize copyright notice to read the same of that of other tests. * tests/lisp4.test: Likewise. * tests/lisp5.test: Likewise. * tests/lisp6.test: Likewise. * tests/lisp7.test: Likewise. * tests/lisp8.test: Likewise. * tests/lispdry.test: Likewise.
Stefano Lattarini a3756f96 2012-02-16T22:30:52 readme: fix grammaro Reported by Eric Blake. * README: Use "also has" instead of "has also"; the former sounds better to a native speaker.
Stefano Lattarini 3b369e6b 2012-02-16T22:29:32 maint: use AC_PACKAGE_BUGREPORT to avoid duplication * configure.ac: In the message reporting whether the user is about to build an alpha or beta version, use the autoconf-provided AC_PACKAGE_BUGREPORT macro instead of duplicating the bur reporting address.
Stefano Lattarini 85b70d15 2012-02-16T21:54:51 readme: update and renew * README: Remove stale or now-obvious description and advices. Add reference to the INSTALL file. Some minor rewordings.
Stefano Lattarini ea441902 2012-02-16T20:49:43 depcomp tests: fix up today's botched commit Today's commit 'v1.11-1959-g0699a84' has caused the generated 'depcomp*.tap' tests to call the 'plan_' function *before* it is defined, and has also caused the extra checks required for better libtool coverage to be run only when libtool is *not* in use, rather than the other way around. Fix this mess. Report by Peter Rosin. * tests/gen-testsuite-part: Include './defs' in the generated tests, rather than doing so from 'depcomp.sh'. Adjust the count of TAP tests for 'depcomp-lt-auto.test' (it's 84, not 72). * tests/depcomp.sh: Adjust accordingly, and fix inverted logic about the decision of when to run extra checks for libtool.
Stefano Lattarini 86e9e0e3 2012-02-16T19:52:37 build: clearer diagnostic if "make" is invoked before "./configure" Since a GNUmakefile wrapper has been introduced in our build system, a "make" invocation issued before a "./configure" one has caused GNU make to die with the cryptic message: GNUmakefile:18: Makefile: No such file or directory GNUmakefile:19: /syntax-checks.mk: No such file or directory make: *** No rule to make target `/syntax-checks.mk'. Stop. * GNUmakefile: Detect when we are being run from an unconfigured tree, and give helpful diagnostic.
Stefano Lattarini 0699a84a 2012-02-16T19:08:58 depcomp tests: put TAP plan in generated tests This avoids a spurious maintcheck failure, and also simplifies the 'depcomp.sh' helper script a little. * tests/gen-testsuite-part: Create and place also a proper 'plan_' call (to emit the TAP plan) in each generated 'depmod*.tap' test. * tests/depcomp.sh: Remove 'plan_' invocations, and simplify a little since we are at it.
Stefano Lattarini 3614a17d 2012-02-16T18:53:09 update-copyright: don't touch COPYING and INSTALL Reported by Peter Rosin. * update-copyright: Also exclude the COPYING and INSTALL files found in the top-level directory. * COPYING, INSTALL: Revert update of copyright years done in today's commit 'v1.11-1948-g641a5a4'.
Stefano Lattarini f76cb63c 2012-02-16T18:44:13 maintcheck: whitelist some false positives Instead of tweaking or dumbing down some of our sources or tests in order not to make them spuriously trigger few maintainer checks, we tweak such checks instead. * syntax-checks.mk (sc_tests_overriding_macros_on_cmdline): Also allow the variable 'exp' to be overridden on the make command line. Whitelist the test 'make-dryrun.test' where appropriate. (sc_mkinstalldirs): When whitelisting the 'mkinstalldirs' occurrence in 'lib/Makefile.am', do not look for the exact line number: it is obviously too fragile.
Stefano Lattarini 8817647e 2012-02-16T13:36:25 tests: avoid spurious failure with parallel make * tests/parallel-tests-extra-programs.test: Run make with the '-k' option where appropriate, to ensure it doesn't stop at the first error, which would prevent the building of the extra programs we expect it to build.
Stefano Lattarini 4bcab4a0 2012-02-16T12:30:23 tests: avoid spurious failure on older Cygwin * tests/tap-signal.tap: Sending a SIGQUIT on Cygwin 1.5 can cause a segmentation fault instead (sometimes at least). Don't let this older bug pollute the results of our testsuite.
Stefano Lattarini 85d41431 2012-02-16T11:52:55 fixup: display captured make stdout in 'tap-signal.tap'
Stefano Lattarini ab42f4a4 2012-02-16T11:31:55 tests: avoid spurious failure in 'suffix3.tap' * tests/suffix3.tap (foo.zoo): This C++ file fails to compile with older g++ (3.4.4) on Cygwin 1.5.25 if we #include <iostream>. Don't do that, since it's not strictly required, and the "using namespace" directive is already enough to ensure the file contents is valid C++ but invalid C.
Stefano Lattarini 22b28b63 2012-02-16T11:09:50 docs: fix typo in description of AM_YFLAGS Report by Akim Demaille. * doc/automake.texi (Program variables): Don't list "-d -t" twice in the examples of valid ways to specify the '-d' flag to Yacc; instead, use "-d -t" and "-t -d". Add missing period.
Stefano Lattarini a0be1837 2012-02-16T11:04:50 tests: another spurious failure with older autoconf fixed * tests/aclocal8.test (configure.in): Also call 'AC_INIT', it's required by some older autoconf versions (e.g., 2.63). * tests/acloca15.test: Likewise. Add trailing ':' command since we are at it.
Stefano Lattarini ba5a89be 2012-02-16T10:58:03 tests: fix spurious failure with older autoconf * tests/conffile-leading-dot.test: Relax grepping of 'config.status' stderr, to cater for older autoconf. Issue revealed by a failure with autoconf 2.63 on Cygwin 1.5.25.
Stefano Lattarini acde2706 2012-02-16T10:51:23 maint: sync auxiliary files from upstream * lib/texinfo.tex: Synced from upstream, by "make fetch". * lib/config.guess: Likewise. * lib/config.sub: Likewise.
Stefano Lattarini 641a5a4b 2012-02-16T10:46:23 maint: run "make update-copyright"
Stefano Lattarini 0313d37b 2012-02-16T10:42:38 maint: add some missing copyright notices * tests/ChangeLog-old: Add copyright notice. * tests/aclocal.in: Likewise. * tests/automake.in: Likewise. * tests/extract-testsuite-summary: Likewise. * tests/prove-runner: Likewise.
Stefano Lattarini 957b7200 2012-02-16T10:35:19 Merge branch 'maint' * maint: update-copyright: don't touch files synced from external packages
Stefano Lattarini db5ddc2b 2012-02-16T10:33:30 update-copyright: don't touch files synced from external packages * Makefile.am (update-copyright): Do not update copyright years of files synced from external packages, as given by the '$(FETCHFILES)' variable. Silence the recipe since we are at it.
Stefano Lattarini 355e607b 2012-02-16T10:09:48 Merge branch 'extra-dist-tests-ksh-bug' * extra-dist-tests-ksh-bug: tests: fix spurious failure when testing wildcards in EXTRA_DIST
Stefano Lattarini 9179b6d0 2012-02-16T10:05:35 tests: fix spurious failure when testing wildcards in EXTRA_DIST * tests/extra10.test: Remove the "make distcheck" call, since, at least with GNU make 3.82, it trips on the fact that $(srcdir) is not explicitly used in the wildcard in EXTRA_DIST.
Stefano Lattarini e05e1bed 2012-02-15T19:32:07 Merge branch 'maint' * maint: fixup: distribute 'lib/update-copyright'
Stefano Lattarini 8dd50099 2012-02-15T19:00:10 fixup: distribute 'lib/update-copyright' While the 'update-copyright' script shouldn't be needed by final users, that's not a good reason to keep it out by the distribution, as doing so might be unhelpful toward occasional but curious users interested in peeking into the automake build system. * lib/Makefile.am (EXTRA_DIST): Distribute 'update-copyright'.
Stefano Lattarini 7726b2e9 2012-02-15T18:47:15 maint: prefer $(GIT) over hard-coded "git" in maintainer recipes * Makefile.am (update-copyright, autodiffs): Use '$(GIT)' instead of hard-coding 'git'.
Stefano Lattarini fd0ca827 2012-02-15T18:40:06 Merge branch 'maint' * maint: maint: add a rule to use gnulib's update-copyright
Stefano Lattarini 8f41580e 2012-02-15T18:31:33 Merge branch 'extra-dist-tests-ksh-bug' * extra-dist-tests-ksh-bug: tests: avoid ksh bug for wildcards in EXTRA_DIST
Stefano Lattarini f4d2f3b7 2012-02-15T18:29:57 Merge branch 'yl-work-for-master' * yl-work-for-master: (44 commits) tests: truly use Lex and Yacc selected by configure news: fix grammaros related to Yacc yacc/lex tests: avoid spurious skips with non-GNU make fixup: remove double news entry tests: workaround for shells with broken 'set -e' tests: avoid spurious failure with non-bison yacc tests: fix spurious failures due to missing 'yywrap()' function fixup: list of yacc/lex tests was botched tests: work around bug#7884 in many yacc/lex tests yacc/lex tests: remove an unneeded workaround for bug#8485 yacc/lex tests: avoid too much failures with FreeBSD make yacc-dist-nobuild.test: add reference to bug#7884 yacc tests: fix bug in 'yacc-cxx.test' lex tests: fix spurious link errors on Solaris lex: "make clean" removes .c files from non-distributed .l lex tests: make test on Lex dependency tracking more "semantic" lex tests: remove erroneous check about ylwrap distribution yacc tests: "make clean" removes C++ files from non-distributed .y tests: add a workaround for automake bug#8485 tests: add a couple of inter-tests reference ...
Stefano Lattarini de839e5b 2012-02-15T10:16:36 cscope: is only expected to work with GNU make in VPATH setup The 'cscope' functionality does not properly handle VPATH rewrites; so we explicitly document that, for now, it is only ensured to work with GNU make when doing a VPATH build, and we adjust testsuite requirements accordingly. Issue revealed by a failure of 'cscope.test' with Solaris 10 CCS make. * doc/automake.texi (Tags): Document the limitations of the cscope support. Couple of fixlets to formatting since we are at it. * tests/cscope.test: Converted to TAP, and thus moved ... * tests/cscope.tap: ... here. Only run tests with VPATH builds when using GNU make. Adjust so that no C, C++, Fortran or Java compiler, nor any Emacs program, will be required to run this test. * tests/list-of-tests.mk: Adjust.
Jim Meyering 43b8af82 2012-02-12T16:57:42 maint: add a rule to use gnulib's update-copyright * lib/update-copyright: New file, from gnulib. * Makefile.am (FETCHFILES): Add update-copyright to the list. (fetch): Fetch it. (update-copyright): New rule.
Stefano Lattarini 7604b2ee 2012-02-14T21:30:56 Merge branch 'doc-no-history' * doc-no-history: docs: move chapter on automake history out of main manual
Stefano Lattarini b2c1adfe 2012-02-14T21:23:04 check: fix test-suite.log formatting with NetBSD sed * lib/am/check.am (am__rst_section): Tweak to ensure en extra final newline is printed also with NetBSD sed. Issue revealed by a failure of 'test-metadata-global-result.test'. * tests/rst-formatting.test: New test, checking the internal variables '$(am__rst_title)' and '$(am__rst_section)'. * tests/list-of-tests.mk: Add it.
Stefano Lattarini 02ce5d5a 2012-02-14T19:26:29 tests: avoid ksh bug for wildcards in EXTRA_DIST Some shells, like NetBSD 5.1 /bin/ksh, have a bug that causes wildcards resulting from an unquoted parameter expansion not to be expanded as expected in some cases: $ touch a b c d $ /bin/sh -c 'var="[ab]" && echo $var' # As expected. a b $ /bin/ksh -c 'var="[ab]" && echo $var' # Oops. [ab] $ /bin/ksh -c 'var="?" && echo $var' # But this as expected. a b c d This was causing a failure in our testsuite. Work around that. See also: <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00149.html> * tests/extra11.test: Work around the described issue by using the $(wildcard) builtin in the EXTRA_DIST definition. This is not a problem, since this test was assuming GNU make anyway. Since we are at it, enhance coverage a little by also running "make distcheck". * tests/extra10.test: Similarly, enhance coverage by also running "make distcheck", and fix a minor bug in the process. But continue using a "bare" wildcard expression in EXTRA_DIST, without involving the $(wildcard) builtin, to ensure coverage of similar usages "in the wild".
Stefano Lattarini ff8269e1 2012-02-14T14:28:57 Merge branch 'fix-tap-signal-test' * fix-tap-signal-test: fixup: fix test tap-signal.tap to avoid false negatives