kc3-lang/automake

Branch :


Log

Author Commit Date CI Message
db973eaa 2012-02-21 19: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.
0f99c10d 2011-12-28 22: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.
6a53d19c 2012-02-21 22:19:16 tests: remove obsoleted "icc" requirement * tests/defs (icc): This requirement is not used anymore by any test case, so remove it.
31c621cd 2012-02-21 19:23:50 readme: fix typo in tests/README
a537fbe6 2012-02-21 14: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".
74880502 2012-02-21 13: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.
c93cb22e 2012-02-21 10:03:17 cosmetics: few typofixes
deb77738 2012-02-20 18: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.
82616f0b 2012-02-20 14: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.
101216ca 2012-02-19 18: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.
86deab4d 2012-02-19 17: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.
72cae0a5 2012-02-19 14: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".
0194d5e1 2012-02-19 11: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.
ec94d594 2012-02-19 11: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.
e1606b32 2012-02-18 13: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.
21af8bfd 2012-02-18 09: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.
0402db98 2012-02-18 09:26:30 cosmetics: remove extra trailing whitespace in configure.ac
8010df5d 2012-02-18 00:07:11 Merge branch 'yacc-quote-fix'
c11924b5 2012-02-17 23: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.
a7cc454d 2012-02-17 22: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.
229f7712 2012-02-17 16: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.
03493884 2012-02-17 15:32:10 tests: fix spurious failure in VPATH build * tests/self-check-dir.tap: Adjust to handle running in a VPATH build correctly.
a98e58ff 2012-02-17 15: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.
44737ebc 2012-02-17 13: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.
b5788178 2012-02-17 13:29:19 Merge branch 'maint' * maint: dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)
4df475a2 2012-02-17 11: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).
622a348e 2012-02-17 13: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.
0f858eab 2012-02-17 10: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.
e5da4fbf 2012-02-17 10:23:26 cosmetics: fix commit message typo in previous * .git-log-fix: The file is called .git-log-fix, nothing else.
22729165 2012-02-17 10:13:15 fixup: .git-log-fix should not be executable * .fix-git-log: Set mode 644.
72b68766 2012-02-17 09: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.
d74d525c 2012-02-16 23: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.
a3756f96 2012-02-16 22: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.
3b369e6b 2012-02-16 22: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.
85b70d15 2012-02-16 21:54:51 readme: update and renew * README: Remove stale or now-obvious description and advices. Add reference to the INSTALL file. Some minor rewordings.
ea441902 2012-02-16 20: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.
86e9e0e3 2012-02-16 19: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.
0699a84a 2012-02-16 19: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.
3614a17d 2012-02-16 18: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'.
f76cb63c 2012-02-16 18: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.
8817647e 2012-02-16 13: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.
4bcab4a0 2012-02-16 12: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.
85d41431 2012-02-16 11:52:55 fixup: display captured make stdout in 'tap-signal.tap'
ab42f4a4 2012-02-16 11: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.
22b28b63 2012-02-16 11: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.
a0be1837 2012-02-16 11: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.
ba5a89be 2012-02-16 10: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.
acde2706 2012-02-16 10: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.
641a5a4b 2012-02-16 10:46:23 maint: run "make update-copyright"
0313d37b 2012-02-16 10: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.
957b7200 2012-02-16 10:35:19 Merge branch 'maint' * maint: update-copyright: don't touch files synced from external packages
db5ddc2b 2012-02-16 10: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.
355e607b 2012-02-16 10:09:48 Merge branch 'extra-dist-tests-ksh-bug' * extra-dist-tests-ksh-bug: tests: fix spurious failure when testing wildcards in EXTRA_DIST
9179b6d0 2012-02-16 10: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.
e05e1bed 2012-02-15 19:32:07 Merge branch 'maint' * maint: fixup: distribute 'lib/update-copyright'
8dd50099 2012-02-15 19: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'.
7726b2e9 2012-02-15 18:47:15 maint: prefer $(GIT) over hard-coded "git" in maintainer recipes * Makefile.am (update-copyright, autodiffs): Use '$(GIT)' instead of hard-coding 'git'.
fd0ca827 2012-02-15 18:40:06 Merge branch 'maint' * maint: maint: add a rule to use gnulib's update-copyright
8f41580e 2012-02-15 18:31:33 Merge branch 'extra-dist-tests-ksh-bug' * extra-dist-tests-ksh-bug: tests: avoid ksh bug for wildcards in EXTRA_DIST
f4d2f3b7 2012-02-15 18: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 ...
de839e5b 2012-02-15 10: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.
43b8af82 2012-02-12 16: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.
7604b2ee 2012-02-14 21:30:56 Merge branch 'doc-no-history' * doc-no-history: docs: move chapter on automake history out of main manual
b2c1adfe 2012-02-14 21: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.
02ce5d5a 2012-02-14 19: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".
ff8269e1 2012-02-14 14:28:57 Merge branch 'fix-tap-signal-test' * fix-tap-signal-test: fixup: fix test tap-signal.tap to avoid false negatives
df79bb4b 2012-02-14 14:28:34 fixup: fix test tap-signal.tap to avoid false negatives Problem introduced by yesterday commit v1.11-1851-g79b2c6a, "tests: avoid yet other spurious failures on NetBSD" * tests/tap-signal.tap: Truly ensure the exit status of the make call under test is correctly reflected in the TAP result displayed by the corresponding 'command_ok_' invocation.
2a2500ce 2012-02-14 14:07:12 Merge branch 'maint' * maint: fixup: do not tickle makefile-deps.test with the make_dryrun code gitattributes: custom merge driver for ChangeLog not needed anymore gitattributes: use "union" merge driver for NEWS
4ced60d7 2012-02-14 12:55:32 fixup: do not tickle makefile-deps.test with the make_dryrun code * lib/am/header-vars.am (am__make_dryrun): Avoid code matching '^ *:' in the Makefile, as that tickles makefile-deps.test.
06684c51 2012-02-14 13:25:35 gitattributes: custom merge driver for ChangeLog not needed anymore * .gitattributes: We don't maintain a version-controlled ChangeLog file anymore, so we have no need to specify a custom merge driver for it anymore. Update accordingly.
f874f9ee 2012-02-14 13:21:26 gitattributes: use "union" merge driver for NEWS This should help in reducing the spurious merge conflicts for the NEWS file, which have already caused a great deal of confusion and wasted time. Suggestion by Eric Blake: http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00119.html * .gitattributes (NEWS): Use the "union" merge driver.
b42514b4 2012-02-14 10:11:02 tests: truly use Lex and Yacc selected by configure When 'yacc-work' was merged into 'yl-work-for-master' in commit v1.11-1910-ge6c40d4 (12-02-2012), the values for $YACC and $LEX stopped being substituted directly by config.status, and started being substituted by a Makefile rule using the contents of the $(YACC) and $(LEX) makefile variables. Unfortunately, our configure.ac was calling AM_SUBST_NOTMAKE on 'YACC' and 'LEX' (see commit v1.11-284-g34ca92b of 29-01-2011, "tests: don't define YACC and LEX in the Makefiles", for a rationale), so that the $(YACC) and $(LEX) in the Makefile simply hold the default make-provided values (that is, "yacc" and "lex" respectively), independently of what yacc and lex programs were defined at configure time. Apart from reducing coverage and creating confusion, this behaviour also caused spurious failures on systems lacking a yacc and/or lex programs. Problem reported by Peter Rosin. References: <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00131.html> <http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00132.html> * configure.ac (AM_SUBST_NOTMAKE): Don't call anymore on 'YACC' nor on 'LEX'.
4933232e 2012-02-14 02:56:39 depcomp tests: do not specify LDFLAGS for static libraries Commit v1.11-1848-gb3f34ca accidentally specified LDFLAGS for libbaz even when built as a static library, which is not allowed. * tests/depcomp.sh (src/Makefile.am): Don't add any LDFLAGS when libbaz is built as a static library.
2c430b16 2012-02-14 02:51:55 depcomp tests: avoid redundant runs for non-libtool test When running the dependency tests without libtool, it's not meaningful to run the tests three-fold, the libtool configure options are simply ignored anyway. * tests/depcomp.sh: Only run the tests three-fold when libtool is in use.
79b2c6a5 2012-02-14 00:14:36 tests: avoid yet other spurious failures on NetBSD * tests/tap-signal.tap: Add a "strategically placed" extra 'echo' command and a temporary silencing of xtraces; they are required to avoid possible garbled output with NetBSD make, which would miss some final newlines in the expected places and thus mess up our TAP output.
ee07d992 2012-02-13 23:54:24 tests: avoid a spurious failure on NetBSD * tests/test-driver-is-distributed.test: Rewrite to avoid having to edit configure.in; such editing was subtly botched on NetBSD (the 'AC_CONFIG_AUX_DIR' call got misplaced, ending up *before* the 'AC_INIT' call), and that caused an hard-to-track bug. Since we are at it, extend coverage a little.
36eef89b 2012-02-13 22:24:35 tests: avoid spurious failure with NetBSD /bin/ksh * tests/parallel-tests-fd-redirect-exeext.test (configure.in): Tweak so that we don't end up with the generated configure script having two nested subshells that start with '((': ((./conftest$EXEEXT 9>&1) | grep "^foobar") >&5 2>&5 which is unportable and could confuse some shells (e.g., NetBSD 5.1 /bin/ksh) into thinking we are trying to perform an arithmetic operation.
b3f34caa 2012-02-13 21:21:48 tests: increase coverage for depcomp tests On platforms requiring that no undefined symbols exist in order to build shared libraries (e.g. Windows DLLs), you have to explicitly declare that the libtool library you are building does not actually have any undefined symbols, for libtool to even try to build it as a shared library. Without that explicit declaration, libtool falls back to a static library only, regardless of any --enable-shared flags etc. tests/depcomp.sh (Makefile.am): Add -no-undefined if a libtool library (.la) is built. (src/Makefile.am): Likewise.
ee29b576 2012-02-13 21:13:12 news: fix grammaros related to Yacc * NEWS: Fix some grammaros and typos.
a2437fee 2012-02-13 19:33:51 yacc/lex tests: avoid spurious skips with non-GNU make * tests/defs (useless_vpath_rebuild): Fix botched logic that was causing this function to always diagnose non-GNU make implementations as being affected by the "useless rebuilds in VPATH setup" bug (that affects FreeBSD make and causes automake bug#7884).
568a1a5e 2012-02-13 16:43:34 fixup: remove double news entry * NEWS: Remove double (stale) news entry introduced by a botched merge.
dae8578e 2012-02-12 18:03:08 tests: workaround for shells with broken 'set -e' * tests/dist-formats.tap: Some versions of the BSD 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 a "case" statement. This was causing an incorrect initialization of the '$missing_compressors' variable, and thus potential spurious failures when non-existing programs were assumed to be available.
682d5ce5 2012-02-12 17:16:54 tests: workaround for shells with broken 'set -e' * tests/yacc-cxx.test: Some versions of the BSD shell wrongly bail out when the 'errexit' shell flag is active if the left-hand command in a "&&" list fails and such list is the *last* command of a "for" or "while" loop or of an "if" construct. Work around this issue. * tests/check12.test: Likewise.
e0906b7e 2012-02-12 17:02:33 tests: avoid spurious failure with non-bison yacc Issue revealed by a failure on NetBSD 5.1. * tests/suffix10.tap (Makefile.am): Adjust the rule generating the '.y' files so that such files won't use bison-only features.
0b34421d 2012-02-12 16:37:44 tests: fix spurious failures due to missing 'yywrap()' function The AC_PROG_LEX Autoconf macro does not diagnose a failure to find the "lex library" expected to provide a 'yywrap' function (function which is required to link most lex-generated programs). On the contrary, when all the link attempts (i.e., with '-ll' and '-lfl') fail, configure declares that no lex library is needed, and simply proceeds with the configuration process -- only for the build to possibly fail later, at make time. This behaviour is intended; the Autoconf manual reads: You are encouraged to use Flex in your sources, since it is both more pleasant to use than plain Lex and the C source it produces is portable. In order to ensure portability, however, you must either provide a function 'yywrap' or, if you don't use it (e.g., your scanner has no '#include'-like feature), simply include a '%noyywrap' statement in the scanner's source. This AC_PROG_LEX behaviour is causing some spurious failures of the Automake testsuite in environments which lack a proper library providing 'yywrap' (this happens for example on Fedora-based systems). The proper workaround is to simply provide a fall-back implementation of 'yywrap' in our lexers. See also similar commits 'v1.11-546-gca0ba5d' (24-10-2011), 'v1.11-1085-gb5c3968' (24-10-2011) and 'v1.11-871-geb147a1' (25-05-2011). * tests/lex-clean.test: Provide a dummy 'yywrap' function. * tests/lex-line.test: Likewise. * tests/lex-nodist.test: Likewise. * tests/lex-depend.test: Likewise. * tests/lex-clean-cxx.test: Move the dummy 'yywrap' function from the main '.cc' file into the '.lxx' file, so that it won't be subject to the namespace declaration in the '.cc' file (which was causing a spurious link error in systems without a default "lex library").
e6c40d4b 2012-02-12 15:06:17 Merge branch 'yacc-work' into yl-work-for-master * yacc-work: (37 commits) 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 lex tests: require just `lex' instead of `flex' fix typo in ChangeLog (2011-05-04) tests defs: use `skip_' for skipping yacc/lex related tests lex/yacc tests: remove redundant $distdir definition coverage: test lex-generated "#line" directives postprocessing tests: minor improvements to a couple of yacc tests tests: fix spurious failure in test 'yacc-d-cxx.test' ... + Extra non-trivial edits: * tests/defs.in: Delete; the differences from maint has been merged into 'tests/defs' and 'tests/defs-static.in'. * tests/defs (yacc, lex): Use 'skip_all_', not 'skip_', to skip the whole test case if yacc (resp. lex) is missing. (bison): New, set up the environment so that 'bison -y' will be used as the yacc program. (useless_vpath_rebuild, yl_distcheck): Moved in from 'tests/defs.in'. * tests/defs-static.in ($YACC, $LEX): Default to the values determined at configure time, and allow them to be overridden by the more namespace-safe variables '$AM_TESTSUITE_YACC' and '$AM_TESTSUITE_LEX' respectively. * tests/Makefile.am (do_subst): Also substitute '@YACC@' and '@LEX@'. * Several tests: Fix requirements declarations, by preferring 'lex' and 'yacc' over 'flex' and 'bison' whenever possible.
abe0587b 2012-02-12 12:06:35 fixup: list of yacc/lex tests was botched * tests/list-of-tests.mk: Update to take into account the addition, renaming, removing or split-ups of Yacc/Lex tests that have taken place in the 'yacc-work' branch. Problem likely introduced by a botched merge of 'maint' into 'yacc-work'.
bdfd2295 2012-02-12 11:02:32 docs: move chapter on automake history out of main manual The chapter on Automake history, while certainly interesting and even fascinating, does not truly pertain to a reference manual, so move it out from there and into its own dedicated file. This change is made more advisable and pressing by the fact that such and "Automake history" chapter hasn't been updated since the 1.9.6 release, so it has been becoming less faithful and useful since then. * doc/history.texi: New, manual on the history of the automake package; extracted from ... * doc/automake.texi: ... this file, with related adjustments. * doc/Makefile.am (info_TEXINFOS): Add 'history.texi'. (history_TEXINFOS): New, list included file 'fdl.texi'. * Makefile.am (release-stats): Remove as obsolete. * HACKING (Release Procedure): Don't advise anymore to run the "release-stats" target and to update the manual with its output. * NEWS: Update. * .gitignore: Likewise.
19bab325 2012-02-08 13:21:58 depcomp tests: avoid redundant runs for libtool tests When running libtool-oriented tests, our 'depcomp.sh' script used to run the same checks thrice: once after having run configure with the '--disable-shared' option, once after having run it with the '--enable-shared' option, and once by allowing configure to automatically select which kind of library (or libraries) to build. This was done to offer extra coverage for the less-common depmodes (like "aix" of "hp2") where the name of the compiler-generated depfiles can depend on whether libtool is in use *and* on which kind of libraries libtool is building (static, shared, or both). About this, see commit 'Release-1-10-24-ge89ec38' of 28-03-2007, "* lib/depcomp (aix): Rewrite depmode in the spirit of the tru64 one". But that extra coverage came at the price of *considerably* slowing down the depcomp libtool-oriented tests, since for each of them the tested source tree was configured and built *twelve* times (rather than "just" four as it is for the non-libtool case). So, to strike a balance between coverage and speed, we now run the libtool-oriented tests with the three different configuration modes *only* when it is possible that the depmode that will get selected is one of those which can actually benefit from the extra coverage. * tests/depcomp.sh: Adjust to only run the threefold libtool tests when that can truly be potentially useful. Add related explanatory comments.
9ac0278a 2012-02-09 19:49:18 tests: avoid wrong skips in dist-formats.tap * tests/dist-formats.tap: The test checking whether the 'compress' program is actually capable of compressing files relied on the assumption that 'compress' exits with status zero if no problem occurs; alas, this reasonable assumption doesn't hold in practice, since 'compress' does (and is documented to) exit with status 2 if the output is larger than the input after (attempted) compression! Fix this by using and input that 'compress' can actually reduce in size when compressing. Do some related reformatting of surrounding code since we are at it.
c1875ea6 2012-02-09 19:06:06 tests: few tweakings and cosmetic changes * tests/dist-formats.tap: Fix botched spacing. * tests/subobjname.test: Prefer spaces to tabs in indentation. * tests/cond43.test: Likewise. * tests/comment7.test: Likewise. * tests/compile_f90_c_cxx.test: Use "$tab" instead of literal tab characters in the grep regexp. * tests/compile_f_c_cxx.test: Likewise. * tests/pluseq3.test: Likewise. * tests/cond-basic.test: Likewise. * tests/acloca16.test: Add empty line before trailing ':' command. * tests/bsource.test: Likewise. * tests/depend5.test: Likewise. * tests/depend6.test: Likewise. * tests/destdir.test: Likewise. * tests/fort2.test: Likewise. * tests/instdir-java.test: Likewise. * tests/instdir-lisp.test: Likewise. * tests/instdir-python.test: Likewise. * tests/instdir.test: Likewise. * tests/instdir2.test: Likewise. * tests/ltinstloc.test: Likewise. * tests/missing.test: Likewise. * tests/missing2.test: Likewise. * tests/nodef.test: Likewise. * tests/nodef2.test: Likewise. * tests/subst4.test: Likewise. * tests/werror3.test: Likewise. * tests/commen11.test: Likewise. Also, make grepping of automake stderr slightly stricter, and properly quote strings with shell metacharacters. * tests/nodep2.test: Add empty line before trailing ':' command. Do not create unneeded dummy source files.
44d95be0 2012-02-09 18:17:54 tests: remove a couple of redundant 'set -e' calls * tests/conffile-leading-dot.test: Do not set the 'errexit' shell flag, as it is already set by 'tests/defs'. * tests/make-dryrun.test: Likewise.
b1d998fb 2012-02-09 18:15:43 Merge branch 'maint' * maint: tests: fix a timestamp-related spurious failures dryrun: fix regression with '$(am__make_dryrun)' test defs: function 'is_newest' now works also with directories
3974270e 2012-02-09 18:07:13 Merge branch 'dryrun-fix' into maint * dryrun-fix: dryrun: fix regression with '$(am__make_dryrun)'
9dfdc96a 2012-02-09 10:25:20 tests: check if 'compress' is real or fake On Cygwin, 'compress' is provided by sharutils and is just a dummy script that is not able to actually compress (it can only decompress). This fake 'compress' is not usable for our purpose - to create compressed tarballs. * tests/dist-formats.tap (missing_compressors): Count 'compress' as missing if it does not support the -c option.
e36b1ad1 2012-02-08 15:12:40 Merge branch 'msvc' * msvc: depcomp: try to prevent whitespace regressions depcomp: recognize tabs as whitespace in the dashmstdout mode depcomp: quote 'like this', not `like this'
0eccd77f 2012-02-08 14:29:01 depcomp tests: avoid spurious failures with 'dashXmstdout' depmode * tests/gen-testsuite-part: The 'dashXmstdout' depmode cannot be truly forced on gcc (like we were trying to do, causing spurious failures in the process); so don't do that. This change shouldn't actually reduce coverage anyway, since, as the comments in 'lib/depcomp' say, the 'dashXmstdout' depmode is just like the 'dashmstdout' one, only with a different argument for the compiler.
6fca3afa 2012-02-03 16:10:52 depcomp: try to prevent whitespace regressions Suggested by Stefano Lattarini. * lib/depcomp: Add $tab and $nl variables and use them throughout.
81193035 2012-02-03 08:54:49 depcomp: recognize tabs as whitespace in the dashmstdout mode Commit Release-1-7-2b-2-gf03ceab "Cope with DOS filenames in dependencies." inadvertedly converted tabs into spaces. * lib/depcomp (dashmstdout): Add a tab character to all sets matching whitespace.
1e2ced5c 2012-02-08 14:40:15 depcomp: quote 'like this', not `like this' Cherry-picked from recent changes from master. * lib/depcomp: Quote 'like this', not `like this'.