Stefano Lattarini [Thu, 25 Aug 2011 19:13:18 +0000 (21:13 +0200)]
Merge branch 'maint' into yacc-work
* maint:
tests: list "forgotten" test script in TESTS
ylwrap: fix unusual indentation whitespace
Stefano Lattarini [Thu, 25 Aug 2011 19:07:12 +0000 (21:07 +0200)]
tests: list "forgotten" test script in TESTS
* tests/Makefile.am (TESTS): Also list ...
* tests/java-empty-classpath.test: ... this test. Since we are
at it, remove trailing whitespace from a couple of lines.
Eric Blake [Thu, 25 Aug 2011 18:37:37 +0000 (12:37 -0600)]
ylwrap: fix unusual indentation whitespace
* lib/ylwrap: Convert tabs to spaces.
Reported by Karl Berry.
Signed-off-by: Eric Blake <eblake@redhat.com>
Stefano Lattarini [Thu, 18 Aug 2011 19:41:36 +0000 (21:41 +0200)]
Merge branch 'maint' into yacc-work
* maint:
* THANKS (Daniel Richard G.): Update e-mail address.
java: avoid compilation errors when CLASSPATH is empty
parallel-tests: no more spurious successes for FreeBSD make
hacking: we now require autoconf 2.68
test defs: more environment cleanup
tests: fix spurious failure with Solaris make
maintcheck: fix maintainer-check failures, both real and spurious
docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support
tests: relax a test on amhello examples to cater to Solaris tar
docs: add references between the 2 sections on java support
Sync auxiliary files from upstream.
Stefano Lattarini [Wed, 17 Aug 2011 07:53:07 +0000 (09:53 +0200)]
* THANKS (Daniel Richard G.): Update e-mail address.
Daniel Richard G [Tue, 16 Aug 2011 13:19:14 +0000 (15:19 +0200)]
java: avoid compilation errors when CLASSPATH is empty
* lib/am/java.am (CLASSPATH_ENV): When redefining `$CLASSPATH',
do not append an empty component in case the previous value of
CLASSPATH is empty or unset.
* tests/java-empty-classpath.test: New test.
* tests/Makefile.am (TESTS): Update.
Fixes automake bug#9306.
Stefano Lattarini [Fri, 12 Aug 2011 16:29:28 +0000 (18:29 +0200)]
parallel-tests: no more spurious successes for FreeBSD make
Work around a bug of FreeBSD make bug that was causing the
automake-generated "check" target to complete with success
even if some tests failed; this happened only when FreeBSD
make was run in concurrent mode (as in, e.g., "make -j2
check"). The bug is not present in NetBSD make.
This change fixes automake bug#9245:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>
See also FreeBSD PR bin/159730:
<http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>
* lib/am/check.am [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Use a
more "safe" (and apparently redundant) idiom to exit with error,
so that the non-zero exit status is picked up also by FreeBSD
make when it's running in concurrent mode.
* NEWS: Update.
* tests/check-concurrency-bug9245.test: New test.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Thu, 11 Aug 2011 21:24:53 +0000 (23:24 +0200)]
hacking: we now require autoconf 2.68
* HACKING ("Working in git"): Use autoconf and autom4te 2.68,
not 2.67, in the examples.
Stefano Lattarini [Mon, 8 Aug 2011 12:39:16 +0000 (14:39 +0200)]
test defs: more environment cleanup
* tests/defs.in: Also unset variables AM_COLOR_TESTS and
AM_TESTS_ENVIRONMENT.
Stefano Lattarini [Mon, 8 Aug 2011 08:25:00 +0000 (10:25 +0200)]
Merge branch 'am-distcheck-configure-flags' into maint
* am-distcheck-configure-flags:
tests: fix spurious failure with Solaris make
Stefano Lattarini [Mon, 8 Aug 2011 08:20:47 +0000 (10:20 +0200)]
tests: fix spurious failure with Solaris make
* tests/distcheck-configure-flags-am.test: Avoid using `+=' too
liberally with AM_DISTCHECK_CONFIGURE_FLAGS, since the line breaks
so introduced, in conjunction with single quotes, might confuse
Solaris make.
Stefano Lattarini [Wed, 3 Aug 2011 14:35:49 +0000 (16:35 +0200)]
maintcheck: fix maintainer-check failures, both real and spurious
* tests/amhello-binpkg.test: Use "$MAKE", not bare "make".
* Makefile.am (sc_perl_local): Also allow perl special variable
`$~' to be localized. And be slightly laxer in the regexp, to
allow for usages like "local $_ = $foo;".
(sc_tests_overriding_macros_on_cmdline): Also allow for command
line overriding of the `DISABLE_HARD_ERRORS' make variable. Try
to avoid false positives for usages like "$MAKE || st=$?".
Bruno Haible [Wed, 3 Aug 2011 13:05:22 +0000 (15:05 +0200)]
docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support
* doc/automake.texi (Program Variables): Recommend -I options to
both the build directory and the source directory when needed.
Stefano Lattarini [Sat, 23 Jul 2011 13:10:07 +0000 (15:10 +0200)]
Merge branch 'fix-amhello-examples-tests' into maint
* fix-amhello-examples-tests:
tests: relax a test on amhello examples to cater to Solaris tar
Stefano Lattarini [Sat, 23 Jul 2011 13:09:23 +0000 (15:09 +0200)]
tests: relax a test on amhello examples to cater to Solaris tar
* tests/amhello-binpkg.test: When the tar implementation in use
is not GNU tar, relax the tests on tar output, to avoid spurious
failures. For example, "tar cvf ..." with GNU tar can output
lines like "./usr/bin/hello" on the standard output, while with
Solaris tar it can output lines like "a ./usr/bin/hello 8K" on
standard output, and with Heirloom tar it can output lines like
"a ./usr/bin/hello 15 tape blocks" on standard error.
Benoit Sigoure [Fri, 15 Jul 2011 23:49:45 +0000 (16:49 -0700)]
docs: add references between the 2 sections on java support
* doc/automake.texi (Java Support, Java): Add cross-references.
Ralf Wildenhues [Wed, 20 Jul 2011 21:31:54 +0000 (23:31 +0200)]
Sync auxiliary files from upstream.
* INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
lib/texinfo.tex: Sync from upstream.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini [Fri, 8 Jul 2011 12:34:59 +0000 (14:34 +0200)]
Merge branch 'maint' into yacc-work
* maint:
fix typo in recent ChangeLog entry
docs, tests: synchronize examples on silent-rules from config.site
tests: fix weakness in 'tests-environment-backcompat.test'
tests: portability fixes in tests on amhello examples
remake: add test ensuring that slower remakes don't hang
remake: fix outdated comment in configure.am
docs, tests: synchronize examples from docs to tests
Stefano Lattarini [Fri, 8 Jul 2011 08:48:23 +0000 (10:48 +0200)]
Merge branch 'fix-tests-environment-backcompat-example' into maint
* fix-tests-environment-backcompat-example:
tests: fix weakness in 'tests-environment-backcompat.test'
Stefano Lattarini [Fri, 8 Jul 2011 08:48:22 +0000 (10:48 +0200)]
Merge branch 'fix-changelog-typo' into maint
* fix-changelog-typo:
fix typo in recent ChangeLog entry
Stefano Lattarini [Fri, 8 Jul 2011 08:48:22 +0000 (10:48 +0200)]
Merge branch 'doc-silent-rules-reference-config-site-test' into maint
* doc-silent-rules-reference-config-site-test:
docs, tests: synchronize examples on silent-rules from config.site
Stefano Lattarini [Fri, 8 Jul 2011 08:45:53 +0000 (10:45 +0200)]
fix typo in recent ChangeLog entry
Stefano Lattarini [Fri, 8 Jul 2011 08:43:33 +0000 (10:43 +0200)]
docs, tests: synchronize examples on silent-rules from config.site
* doc/automake.texi (Automake silent-rules Option): Reference test
'silent-configsite.test' in comments.
Stefano Lattarini [Fri, 8 Jul 2011 08:34:54 +0000 (10:34 +0200)]
tests: fix weakness in 'tests-environment-backcompat.test'
* tests/tests-environment-backcompat.test: Do not override the
content of xfailing test `baz.test' with a "weaker" version that
fails unconditionally: the test must fail only when the 'strict'
pragma is in use, in order not to reduce coverage.
Stefano Lattarini [Fri, 8 Jul 2011 07:41:27 +0000 (09:41 +0200)]
Merge branch 'fix-amhello-examples-tests' into maint
* fix-amhello-examples-tests:
tests: portability fixes in tests on amhello examples
Stefano Lattarini [Wed, 6 Jul 2011 08:31:03 +0000 (10:31 +0200)]
tests: portability fixes in tests on amhello examples
* tests/amhello-binpkg.test: Don't use "tar xzf too.tag.gz" to
extract a gzip-compressed tarball, that's unportable to some
tar implementations; use the "gzip -dc fo.tar.gz | tar xf -"
idiom instead.
* tests/amhello-cflags.test: Likewise.
* tests/amhello-cross-compile.test: Likewise.
Suggestion from Ralf Wildenhues.
Stefano Lattarini [Mon, 4 Jul 2011 09:44:39 +0000 (11:44 +0200)]
Merge branch 'remake-rules-non-GNU-make' into maint
* remake-rules-non-GNU-make:
remake: add test ensuring that slower remakes don't hang
remake: fix outdated comment in configure.am
Stefano Lattarini [Mon, 4 Jul 2011 09:41:34 +0000 (11:41 +0200)]
remake: add test ensuring that slower remakes don't hang
* tests/remake-subdir-long-time.test: New test.
* tests/Makefile.am (TESTS): Update.
Suggestion by Ralf Wildenhues.
Stefano Lattarini [Mon, 4 Jul 2011 08:54:02 +0000 (10:54 +0200)]
remake: fix outdated comment in configure.am
* lib/am/configure.am: Fix comment falsified by changes in
commit `v1.11-366-gbee9871'.
Suggestion by Ralf Wildenhues.
Stefano Lattarini [Thu, 30 Jun 2011 18:05:25 +0000 (20:05 +0200)]
docs, tests: synchronize examples from docs to tests
* tests/README (Writing test cases): Give suggestions on how to
keep test cases and examples in the documentation synchronized.
* doc/automake.texi: Improve or fix existing testcase-referencing
comments, and add many new ones.
* HACKING (Administrivia): Suggest to test complex examples and
idioms from the manual.
* tests/specflg8.test: Improve synchronization with the example
in the manual.
* tests/output11.test:Likewise.
* tests/txinfo21.test:Likewise.
* tests/interp.test: Likewise. Since we are at it, and enable
the `errexit' shell flag, do related changes, and add trailing
`:'command.
* tests/amhello-cflags.test: New test.
* tests/amhello-cross-compile.test: Likewise.
* tests/amhello-binpkg.test: Likewise.
* tests/tests-environment-backcompat: Likewise.
* tests/parallel-tests-log-compiler-example.test: Likewise.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Thu, 30 Jun 2011 15:25:29 +0000 (17:25 +0200)]
Merge branch 'maint' into yacc-work
* maint:
cosmetics: fix typos in recent ChangeLog entries
Stefano Lattarini [Thu, 30 Jun 2011 15:20:40 +0000 (17:20 +0200)]
cosmetics: fix typos in recent ChangeLog entries
Stefano Lattarini [Tue, 28 Jun 2011 12:03:36 +0000 (14:03 +0200)]
yacc tests: fix bug in 'yacc-cxx.test'
* tests/yacc-cxx.test: Enable `errexit' shell flag (the lack of
which was masking the bug).
(bar.cxx): Rename to ...
(bar2.cxx): ... this, otherwise automake will (correctly) complain
that object `bar.o' is created by both `bar.cxx' and `bar.c++'.
(Makefile.am): Adjust.
Stefano Lattarini [Tue, 28 Jun 2011 10:23:48 +0000 (12:23 +0200)]
lex tests: fix spurious link errors on Solaris
On Solaris 10, linking of lex-generated programs was failing in a
couple of lex tests with errors like this:
g++ -g -O2 -o joe joe.o -ll
Undefined symbol first referenced in file
yywrap() joe.o
ld: fatal: Symbol referencing errors. No output written to joe
collect2: ld returned 1 exit status
This change fixes it, also fixing at once potential problems for
systems that don't have a "lex library" (this happens for example
when cross-compiling from GNU/Linux to MinGW).
* tests/lex-depend-cxx.test (joe.ll, moe.l++): Define a dummy
`yywrap()' function.
* tests/lex-clean-cxx.test (mainfoo.cc, mainbar.cpp, mainbaz.c++,
mainqux.cxx): Likewise.
Stefano Lattarini [Tue, 28 Jun 2011 09:31:15 +0000 (11:31 +0200)]
Merge branch 'maint' into yacc-work
* maint:
docs: avoid a footnote, some related rewordings and improvements
Revert "docs: parallel-tests is not experimental anymore"
docs: minor cosmetic fixes
help: improve text about automatically-distributed files
refactor: split 'usage' subroutine in automake
tests: fix bug in 'autodist.test'
maintcheck: extend 'sc_tests_plain_*' checks
maintcheck: avoid few spurious failures
check: don't use multi-line coloring for the report
ansi2knr: deprecate, it will go away in the next major release
docs: primary/prefix combination "pkglib_PROGRAMS" is now invalid
docs: replace obsolete @vindex entry with a useful one
docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
parallel-tests: stricter checks on DISABLE_HARD_ERRORS support
docs: parallel-tests is not experimental anymore
check: document and test $(TEST_SUITE_LOG) overriding
Stefano Lattarini [Tue, 28 Jun 2011 06:15:21 +0000 (08:15 +0200)]
Merge branch 'parallel-tests-maint' into maint
* parallel-tests-maint:
Revert "docs: parallel-tests is not experimental anymore"
parallel-tests: stricter checks on DISABLE_HARD_ERRORS support
docs: parallel-tests is not experimental anymore
check: document and test $(TEST_SUITE_LOG) overriding
Stefano Lattarini [Thu, 23 Jun 2011 21:31:27 +0000 (23:31 +0200)]
docs: avoid a footnote, some related rewordings and improvements
* doc/automake.texi (Dist): Reword the part about automatically
distributed files to avoid a footnote. Since we are at it, extend
a bit, and add an example and a reference to a relevant test case.
Stefano Lattarini [Fri, 24 Jun 2011 07:15:14 +0000 (09:15 +0200)]
Revert "docs: parallel-tests is not experimental anymore"
This reverts commit
a9eef973b5ea47cc3495f1a8307d4f7b85aea46f.
It turned out that the current work to introduce TAP and SubUnit
support in Automake-generated testsuite harnesses will probably
require the introduction of slight incompatibilities in the
'parallel-tests' behaviour, starting from release 1.12 onward.
So it's advisable to continue to characterize the 'parallel-tests'
support as "experimental" in maintenance release 1.11.2.
Suggestion from Ralf Wildenhues.
Stefano Lattarini [Thu, 23 Jun 2011 16:38:34 +0000 (18:38 +0200)]
docs: minor cosmetic fixes
* doc/automake.texi: Break few overly long lines, throughout the
file.
("Simple Tests"): Move @vindex for XFAIL_TESTS to the correct
position, i.e., before and not after the paragraph where it is
introduced.
("Options" @item ansi2knr): Use @pxref instead of @xref. This
fixes a texinfo warning.
("Other things Automake recognizes" @item AM_C_PROTOTYPES): Use
@pxref instead of @ref.
Stefano Lattarini [Wed, 12 Jan 2011 00:27:07 +0000 (01:27 +0100)]
help: improve text about automatically-distributed files
This change fixes automake bug#7819.
* automake.in (usage): Distinguish between files that are always
automatically distributed when found, and those which are only
"under certain conditions".
* doc/automake.texi (Basics of Distribution): Update accordingly.
* tests/autodist-subdir.test: Update.
* tests/autodist-no-duplicate.test: Likewise.
* tests/autodist.test: Likewise.
(configure.in): Remove useless call to AM_MAINTAINER_MODE.
Stefano Lattarini [Wed, 12 Jan 2011 00:06:33 +0000 (01:06 +0100)]
refactor: split 'usage' subroutine in automake
This change is related to automake bug#7819.
* automake.in (print_autodist_files): New subroutine,
extracted from ...
(usage): ... this, which now uses it.
* tests/autodist-no-duplicate.test: New test.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Thu, 23 Jun 2011 08:32:12 +0000 (10:32 +0200)]
tests: fix bug in 'autodist.test'
* tests/autodist.test: Avoid spurious failure due to no
`defs-static' file being found in the parent directory.
Stefano Lattarini [Mon, 20 Jun 2011 21:52:34 +0000 (23:52 +0200)]
maintcheck: extend 'sc_tests_plain_*' checks
* Makefile.am (sc_tests_plain_autom4te): New check.
(sc_tests_plain_autoreconf): Likewise.
(sc_tests_plain_autoheader): Likewise.
(syntax_check_rules): Update.
Stefano Lattarini [Mon, 20 Jun 2011 14:42:10 +0000 (16:42 +0200)]
maintcheck: avoid few spurious failures
* Makefile.am (sc_tests_plain_aclocal, sc_tests_plain_perl,
sc_tests_plain_autoconf, sc_tests_plain_automake,
sc_tests_plain_autoupate): Be stricter in matching an erroneous
literal command, i.e., `aclocal', `automake', `perl', etc.
Stefano Lattarini [Mon, 20 Jun 2011 08:49:09 +0000 (10:49 +0200)]
Merge branch 'maint' into parallel-tests-maint
* maint:
check: don't use multi-line coloring for the report
ansi2knr: deprecate, it will go away in the next major release
docs: primary/prefix combination "pkglib_PROGRAMS" is now invalid
docs: replace obsolete @vindex entry with a useful one
docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
Bert Wesarg [Fri, 17 Jun 2011 19:59:52 +0000 (21:59 +0200)]
check: don't use multi-line coloring for the report
"less -R" can't handle multi-line coloring as it is done for the
check reports of the serial and parallel testsuite, because of
performance reasons. Thus, color each line of the check report
by its own.
* lib/am/check.am (am__text_box): Accept colors for lines, and
color each line by its own.
[%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Let am__text_box handle
the line coloring.
[!%?PARALLEL_TESTS%] $(check-TESTS): Color each report line by
its own.
* THANKS: Update.
Stefano Lattarini [Mon, 20 Jun 2011 07:43:25 +0000 (09:43 +0200)]
Merge branch 'am-distcheck-configure-flags' into maint
Stefano Lattarini [Mon, 13 Jun 2011 19:27:35 +0000 (21:27 +0200)]
ansi2knr: deprecate, it will go away in the next major release
* doc/automake.texi: Loudly and repeatedly state that the old
de-ANSI-fication features are now deprecated and will be removed
in the next major Automake release. Other related adjustments.
* lib/Automake/Options.pm (_process_option_list ): Give a warning
in the `obsolete' category when the `ansi2knr' option is used.
* m4/protos.m4 (AM_C_PROTOTYPES): Deprecate this macro: a warning
in the `obsolete' category will be emitted it if is used.
* tests/ansi2knr-deprecation.test: New test.
* tests/Makefile.am (TESTS): Update.
* tests/ansi.test: Adjust, by calling autoconf and/or automake
with the `-Wno-obsolete' flag.
* tests/ansi10.test: Likewise.
* tests/ansi2.test: Likewise.
* tests/ansi3.test: Likewise.
* tests/ansi3b.test: Likewise.
* tests/ansi4.test: Likewise.
* tests/ansi5.test: Likewise.
* tests/ansi6.test: Likewise.
* tests/ansi7.test: Likewise.
* tests/ansi8.test: Likewise.
* tests/ansi9.test: Likewise.
* tests/cxxansi.test: Likewise.
* tests/libobj8.test: Likewise.
* NEWS: Update about the future planned backward-incompatibility
due to the removal of de-ANSI-fication feature.
Stefano Lattarini [Sun, 19 Jun 2011 11:15:49 +0000 (13:15 +0200)]
docs: primary/prefix combination "pkglib_PROGRAMS" is now invalid
* doc/automake.texi (Program Sources): pkglib_PROGRAMS is not a
valid combination anymore, so don't document it. Inconsistency
introduced in commit `v1.11-373-g9ca6326'.
Jim Meyering [Sun, 19 Jun 2011 10:32:59 +0000 (12:32 +0200)]
docs: replace obsolete @vindex entry with a useful one
* doc/automake.texi (Program Sources): Do not index obsolete
pkglib_PROGRAMS here. Do index pkglibexec_PROGRAMS.
Stefano Lattarini [Wed, 15 Jun 2011 08:50:03 +0000 (10:50 +0200)]
docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
* doc/automake.texi (Checking the Distribution): Explain that the
developers should take care of making their code buildable without
requiring any special configure options, so that in general
AM_DISTCHECK_CONFIGURE_FLAGS shouldn't be used. Give an example
of where its use is legitimate.
Stefano Lattarini [Thu, 16 Jun 2011 15:26:55 +0000 (17:26 +0200)]
Merge branch 'maint' into yacc-work
* maint:
news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
tests: optimize tests on primary/prefix mismatch for speed
Warnings about primary/prefix mismatch fixed and extended.
maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
docs: better documentation for silent make rules
Stefano Lattarini [Thu, 16 Jun 2011 15:21:00 +0000 (17:21 +0200)]
Merge branch 'maint' into parallel-tests-maint
* maint:
news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
tests: optimize tests on primary/prefix mismatch for speed
Warnings about primary/prefix mismatch fixed and extended.
maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
docs: better documentation for silent make rules
Stefano Lattarini [Thu, 16 Jun 2011 08:29:32 +0000 (10:29 +0200)]
Merge branch 'more-prefix-primary-diagnostic' into maint
Stefano Lattarini [Mon, 13 Jun 2011 19:42:06 +0000 (21:42 +0200)]
Merge branch 'am-distcheck-configure-flags' into maint
* am-distcheck-configure-flags:
news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
Stefano Lattarini [Mon, 13 Jun 2011 19:40:57 +0000 (21:40 +0200)]
news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
* NEWS (Miscellaneous changes): Update.
Stefano Lattarini [Mon, 13 Jun 2011 18:16:16 +0000 (20:16 +0200)]
Merge branch 'am-distcheck-configure-flags' into maint
* am-distcheck-configure-flags:
maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
Stefano Lattarini [Mon, 13 Jun 2011 09:07:20 +0000 (11:07 +0200)]
Merge branch 'silent-rules-doc' into maint
Stefano Lattarini [Mon, 13 Jun 2011 08:51:57 +0000 (10:51 +0200)]
tests: optimize tests on primary/prefix mismatch for speed
* tests/primary-prefix-invalid-couples.test: Partial rewrite, in
order to use just a single automake invocation rather than one
invocation for each invalid primary/prefix couple. This improves
the test script execution time by an order of magnitude.
Since we are at it, throw in some other improvements to avoid
unrelated automake warnings and failures that could potentially
cause false positives w.r.t. the automake exit status.
Stefano Lattarini [Thu, 16 Dec 2010 18:23:06 +0000 (19:23 +0100)]
Warnings about primary/prefix mismatch fixed and extended.
* automake.in (%standard_prefix): Add `doc' and `locale'.
Rename `pkgdatadir' to `pkgdata'. Similarly for`pkglibdir',
`pkgincludedir' and `pkglibexecdir'.
(handle_programs): List `pkglibexec', not `pkglib', among the
prefixes valid for the `PROGRAMS' primary.
(handle_data): List also `doc' among the prefixes valid for
the `DATA' primary. This is required by automake's own build
system.
* tests/dirforbid.test: Test removed, superseded by ...
* tests/primary-prefix-invalid-couples.test: ... this new test.
* tests/primary-prefix-valid-couples.test: New test.
* tests/primary-prefix-documented-valid.test: Likewise.
* tests/primary-prefix-force-valid.test: Likewise.
* tests/java3.test: Adjusted, and extended a bit.
* tests/Makefile.am (TESTS): Updated.
* NEWS: Updated.
From a report by Eric Blake.
Stefano Lattarini [Sat, 11 Jun 2011 10:52:51 +0000 (12:52 +0200)]
Merge branch 'maint' into parallel-tests-maint
* maint:
test defs: new function 'fatal_', for hard errors
Stefano Lattarini [Sat, 11 Jun 2011 10:49:31 +0000 (12:49 +0200)]
Merge branch 'maint' into yacc-work
* maint:
test defs: new function 'fatal_', for hard errors
maintcheck: fix some failures, extend some checks
automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE
build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too
remake: behave better with non-GNU make in subdirectories
tests/README: fix example about `make -e' usage
Stefano Lattarini [Fri, 10 Jun 2011 15:13:17 +0000 (17:13 +0200)]
maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
* Makefile.am (sc_tests_overriding_macros_on_cmdline): It's now
acceptable that the test scripts override DISTCHECK_CONFIGURE_FLAGS
on the make command line. Update comments accordingly. Since we
are at it, make the relevant grepping rules slightly tighter.
Stefano Lattarini [Fri, 10 Jun 2011 10:26:42 +0000 (12:26 +0200)]
distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
* doc/automake.texi (Checking the Distribution): Suggest to use
AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to
define (in the top-level Makefile.am) extra flags to be passed
to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS
should be reserved for the user. Add proper `@vindex' directive.
Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a
subpackage Makefile.am, but the flags in it are passed down to
the configure script of the subpackage.
* lib/am/distdir.am (distcheck): Also pass the flags in
$(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation.
Update comments.
* tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS,
DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in
the environment, they might improperly influence our testsuite.
* tests/distcheck-configure-flags.test: New test.
* tests/distcheck-configure-flags-am.test: Likewise.
* tests/distcheck-configure-flags-subpkg.test: Likewise.
* distcheck-hook.test: Likewise.
* distcheck-hook2.test: Likewise.
* tests/Makefile.am (TESTS): Update.
Closes automake bug#8487.
Stefano Lattarini [Fri, 12 Nov 2010 19:26:59 +0000 (20:26 +0100)]
docs: better documentation for silent make rules
* doc/automake.texi (Options): Detailed description of the
automake option `silent-rules' moved from here ...
(Silent Make): ... into this new chapter, expanded, improved,
and subdivided into ...
(Make verbosity, Tricks For Silencing Make,
Automake silent-rules Option): ... these new sections.
(@menu, @detailmenu): Update.
* tests/silent-configsite.test: New test, checking that the
user can control default mode of silent-rules from config.site,
as is documented in the manual.
* tests/Makefile.am (TESTS): Updated.
Stefano Lattarini [Tue, 7 Jun 2011 13:24:11 +0000 (15:24 +0200)]
test defs: new function 'fatal_', for hard errors
Before this patch, the only way offered by tests/defs to
properly signal a hard error was the `framework_failure_'
function. But the error message issued by that function,
as its name would suggest, refers to a set-up failure in the
testsuite, while hard errors can obviously also be due to
other reasons. The best way to fix this inconsistency is to
introduce a new function with a more general error message.
Inspired by a recent similar change to Gnulib's tests/init.sh.
* tests/defs.in (fatal_): New function.
* tests/README (Section "Writing test cases" subsection "Do"):
Suggest the use of `fatal_', not of `framework_failure_', for
generic hard errors. The latter should be reserved for "real"
set-up failures.
Stefano Lattarini [Fri, 3 Jun 2011 09:37:46 +0000 (11:37 +0200)]
Merge branch 'maint' into parallel-tests-maint
* maint:
maintcheck: fix some failures, extend some checks
automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE
build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too
remake: behave better with non-GNU make in subdirectories
tests/README: fix example about `make -e' usage
Stefano Lattarini [Thu, 2 Jun 2011 10:15:52 +0000 (12:15 +0200)]
maintcheck: fix some failures, extend some checks
* Makefile.am (sc_diff_automake_in_automake): Update, as we
now expect 9 lines, not 8, to be changed from `automake.in'
to `automake'.
(sc_diff_aclocal_in_aclocal): New maintainer check, similar to
the above, and checking that only 10 lines are changed from
`aclocal.in' to `aclocal'.
(syntax_check_rules): Update.
(sc_tests_Exit_not_exit): Exempt self tests `self-check-*.test'
from this check, as they can legitimately use the bare `exit'
builtin in various places.
* doc/automake.texi (Python): Remove stray `@' from the end of
a line. Typo introduced in commit `v1.11-312-g5bf7af6'.
* tests/depcomp8a.test: Pass DISTCHECK_CONFIGURE_FLAGS to make
from the environment rather than from the command line, to
pacify the `sc_tests_overriding_macros_on_cmdline' maintainer
check.
* tests/depcomp8b.test: Likewise.
Stefano Lattarini [Wed, 1 Jun 2011 16:58:35 +0000 (18:58 +0200)]
Merge branch 'remake-rules-non-GNU-make' into maint
Stefano Lattarini [Sun, 29 May 2011 08:42:00 +0000 (10:42 +0200)]
automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE
Currently, the Automake's own configure script allow definition
of AUTOCONF and AUTOM4TE, expected to point respectively to an
autoconf and autom4te programs. But while these definitions are
honoured in the Automake's build systems and test suite, they
were *not* honoured in the generated `automake' and `aclocal'
scripts. This behaviour, apart from being wrong in that it does
not allow the user enough freedom in choosing his tools, also
caused inconsistencies in the test suite, brining to spurious
failures.
Problem reported by Graham Reitz on the automake list; see thread:
<http://lists.gnu.org/archive/html/automake/2011-05/msg00022.html>
* automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'.
* aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'.
* Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and
`@am_AUTOM4TE'.
* NEWS: Update.
* THANKS: Update.
Stefano Lattarini [Sun, 29 May 2011 09:04:08 +0000 (11:04 +0200)]
build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too
Our build system allows the user to override AUTOCONF and AUTOHEADER
at configure time, and honours these overrides in our testsuite.
But it didn't do the same with AUTOM4TE, AUTORECONF and AUTOUPDATE.
This change fixes that inconsistency.
* configure.ac (am_AUTOM4TE, am_AUTOUPDATE, am_AUTORECONF): New
AC_SUBSTitutions. Update comments.
* tests/defs.in ($AUTOUPDATE): Default to `@am_AUTOUPDATE@' now.
($AUTOM4TE): New variable, defaulting to `@am_AUTOM4TE@'.
($AUTORECONF): New variable, defaulting to `@am_AUTORECONF@'.
* doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Update.
Stefano Lattarini [Sun, 29 May 2011 13:24:58 +0000 (15:24 +0200)]
remake: behave better with non-GNU make in subdirectories
Currently, with every decent make program, it is possible to
rebuild out-of-date autotools-generated files with a simple
"make Makefile" -- but for this to work reliably with non-GNU
make implementations, the command must be issued from the
top-level directory. This patch removes such limitation.
* lib/am/configure.am (am--refresh): Depend on `%MAKEFILE%'.
* tests/defs.in (using_gmake): New function, backported from the
`master' branch (and simplified).
* tests/remake-subdir.test: New test.
* tests/remake-subdir2.test: Likewise.
* tests/remake-subdir-gnu.test: Likewise.
* tests/remake-subdir-from-subdir.test: Likewise.
* tests/Makefile.am (TESTS): Update.
Ralf Wildenhues [Sun, 22 May 2011 17:02:27 +0000 (19:02 +0200)]
tests/README: fix example about `make -e' usage
* tests/README (Section "Writing test cases" subsection "Do"): When
some variable is never initialized in the Makefile, `-e' is not
necessary in order to override it. DESTDIR is such a variable: we
ensure that we do not ever initialize it. And as such, it is quite
portable to use:
$ make DESTDIR=/foo/bar install
and in fact, quite widely used.
So our example about when `make -e' is required, which references
the `DESTDIR' variable, is poorly chosen, if not downright wrong.
Rewrite it to use `prefix' as the overridden variable instead.
Stefano Lattarini [Sun, 22 May 2011 07:35:17 +0000 (09:35 +0200)]
parallel-tests: stricter checks on DISABLE_HARD_ERRORS support
* tests/parallel-tests-harderror.test: New test, doing more
in-depth checks on DISABLE_HARD_ERRORS.
* tests/parallel-tests.test: Remove tests on DISABLE_HARD_ERRORS,
now redundant.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Fri, 20 May 2011 22:16:25 +0000 (00:16 +0200)]
Merge branch 'maint' into parallel-tests-maint
* maint:
testsuite: avoid re-running few tests with 'parallel-tests' option
testsuite: allow tests to avoid the use of 'parallel-tests' option
tests/README: update obsoleted advice
test defs: rename requirement 'non-cross' -> 'native'
testsuite: be more cross-compile friendly
Stefano Lattarini [Fri, 20 May 2011 22:02:17 +0000 (00:02 +0200)]
Merge branch 'maint' into yacc-work
* maint:
testsuite: avoid re-running few tests with 'parallel-tests' option
testsuite: allow tests to avoid the use of 'parallel-tests' option
tests/README: update obsoleted advice
Stefano Lattarini [Fri, 20 May 2011 21:18:39 +0000 (23:18 +0200)]
testsuite: avoid re-running few tests with 'parallel-tests' option
Some tests in our testsuite use the 'simple-tests' driver only
marginally, or simply as a mean to conveniently check unrelated
invariants. It makes little sense to force these tests to also
run with the 'parallel-tests' Automake option active, as doing so
offers no real gain in coverage, while often causing a measurable
overhead in execution time (for an already too-slow testsuite).
* tests/pr401.test (parallel_tests): Define to "no", to prevent
the generation of a sibling test script using the 'parallel-tests'
driver.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
Stefano Lattarini [Fri, 20 May 2011 20:31:40 +0000 (22:31 +0200)]
testsuite: allow tests to avoid the use of 'parallel-tests' option
* tests/gen-parallel-tests: Do not generate "siblings" for tests
that explicitly define the `parallel_tests', whether to "yes" or
to any other value. Extend heading comments to give a rationale
for this behaviour.
* tests/README: Update.
Stefano Lattarini [Fri, 20 May 2011 20:15:32 +0000 (22:15 +0200)]
tests/README: update obsoleted advice
* tests/README (Section "Writing test cases" subsection "Do"):
Do not suggest to use the `*-p.test' pattern for the names of
hand-written tests which use the `parallel-tests' Automake option.
Not only is this not respected by the existing tests, but it is
more likely to cause conflicts with auto-generated tests.
So, suggest to *avoid* using the `*-p.test' pattern in names
of hand-written tests instead.
(Section "Writing test cases" subsection "Do not"): When
suggesting not to override Makefile variables using command
line arguments, do not use the badly outdated variables `U'
and 'ANSI2KNR' in the example; instead, use the more common
and typical `DESTDIR'.
Stefano Lattarini [Thu, 19 May 2011 19:53:18 +0000 (21:53 +0200)]
Merge branch 'maint' into yacc-work
* maint:
test defs: rename requirement 'non-cross' -> 'native'
testsuite: be more cross-compile friendly
tests: fix spurious failure of txinfo21.test on FreeBSD
Stefano Lattarini [Thu, 19 May 2011 19:48:27 +0000 (21:48 +0200)]
test defs: rename requirement 'non-cross' -> 'native'
* tests/defs.in (non-cross): Rename requirement ...
(native): ... to this, which is clearer and fits the
existing lingo better.
Suggestion by Ralf Wildenhues.
Stefano Lattarini [Sun, 15 May 2011 12:30:43 +0000 (14:30 +0200)]
testsuite: be more cross-compile friendly
* tests/defs.in (cross_compiling): New subroutine.
(am__tool_prefix): New internal variable.
(gcc, g++, gcj): Force the use of the correct "tool prefix"
when cross compiling.
(gfortran, g77, non-cross): New requirements.
Stefano Lattarini [Fri, 13 May 2011 18:51:50 +0000 (20:51 +0200)]
lex: "make clean" removes .c files from non-distributed .l
Previously, while automake did *not* distribute C source and header
files derived from non-distributed Lex sources, it still caused
them to be removed only by "make maintainer-clean" only, and not by
simply "make clean" or "make distclean".
This caused "make distcheck" to fail, unless the developer put
those generated .c files in CLEANFILES or in DISTCLEANFILES by
hand.
This change fixes this issue, by making non-distributed `.c' files
generated by non-distributed Lex sources cleaned by "make clean".
A similar problem for Yacc support had been fixed with the commit
v1.11-263-ged2c8bc.
* tests/automake.in (lang_lex_target_hook): Make C source files
derived from non-distributed Lex files cleaned by "make clean",
not only by "make maintainer-clean".
* tests/lex-clean.test: New test.
* tests/lex-clean-cxx.test: Likewise.
* tests/lex-nodist.test: Likewise.
* tests/lex-pr204.test: Likewise.
* tests/pr204.test: For consistency, renamed ...
* tests/yacc-pr204.test: ... to this, and updated to keep it
more in sync with 'lex-pr204.test'.
* tests/yacc-nodist.test: Updated to keep it more in sync with
'lex-nodist.test'.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
Stefano Lattarini [Fri, 13 May 2011 14:09:10 +0000 (16:09 +0200)]
lex tests: make test on Lex dependency tracking more "semantic"
* tests/lex4.test: Renamed ...
* tests/lex-depend-grep.test: ... to this, and extended.
* tests/lex-depend.test, tests/lex-depend-cxx.test: ... these
new tests.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Fri, 13 May 2011 13:03:20 +0000 (15:03 +0200)]
lex tests: remove erroneous check about ylwrap distribution
* tests/lex5.test: Do not check that the ylwrap script is *not*
distributed when there is only one lexer, as ylwrap is in fact
expected to distributed unconditionally (at least starting from
commit `Release-1-9-323-gc5881cc' of 19-08-2006). Note that this
bogus check wasn't triggering any failure because it was done at
the wrong time (i.e. from the VPATH build directory), so that it
could never fail anyway.
Instead, check that ylwrap is distributed even when there is only
one lexer.
Since we are at it, add a couple of `ls -l' calls, to get better
debugging info.
Stefano Lattarini [Fri, 13 May 2011 12:48:42 +0000 (14:48 +0200)]
yacc tests: "make clean" removes C++ files from non-distributed .y
* tests/yacc-clean-cxx.test: New test, sister of `yacc-clean.test'.
* tests/yacc-clean.test: Update heading comment to reference the
new sister test.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Wed, 11 May 2011 14:01:52 +0000 (16:01 +0200)]
docs: parallel-tests is not experimental anymore
The parallel-tests driver has now been used quite extensively
by a fair number of real-world applications (e.g., GNU coreutils,
GNU libtool, GNU grep, and various packages using Gnulib), and
thus exposed to adequate on-field testing. So there's no point
in declaring it experimental anymore (which would risk to make
potential users shy away from it).
* doc/automake.texi (Simple Tests using parallel-tests): Do not
declare the parallel-tests driver as "experimental" anymore.
Stefano Lattarini [Thu, 21 Apr 2011 08:25:01 +0000 (10:25 +0200)]
check: document and test $(TEST_SUITE_LOG) overriding
* doc/automake.texi (Simple Tests using parallel-tests): Explain
how and why TEST_SUITE_LOG can be overridden at runtime.
* tests/parallel-tests-log-override-1.test: New test, check that
the newly documented idiom and similar usages are truly supported.
* tests/parallel-tests-log-override-2.test: Likewise.
* tests/parallel-tests-log-override-recheck.test: Likewise.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Sat, 7 May 2011 12:34:39 +0000 (14:34 +0200)]
tests: fix spurious failure of txinfo21.test on FreeBSD
* tests/txinfo21.test: Use the `is_newest' subroutine instead of
the `ls -t' hack to to determine whether a file has been updated.
This is required because at least FreeBSD `ls' do not sort files
with the same timestamp in alphabetical order when using the `-t'
option.
Stefano Lattarini [Tue, 12 Apr 2011 16:52:08 +0000 (18:52 +0200)]
tests: add a workaround for automake bug#8485
* tests/yacc-d-cxx.test (Makefile.am): Add temporary workaround
for automake bug#8485. The bug is still exposed by the testcase
'yacc-dist-nobuild-subdir.test'.
Stefano Lattarini [Wed, 4 May 2011 21:44:16 +0000 (23:44 +0200)]
tests: add a couple of inter-tests reference
* tests/yacc-nodist.test, tests/pr204.test: These tests are
related, so add references to each other in heading comments.
Stefano Lattarini [Wed, 4 May 2011 20:51:35 +0000 (22:51 +0200)]
Merge branch 'maint' into yacc-work
Stefano Lattarini [Wed, 4 May 2011 20:42:19 +0000 (22:42 +0200)]
ChangeLog: various typofixes (and related reformatting)
Stefano Lattarini [Wed, 4 May 2011 17:15:29 +0000 (19:15 +0200)]
lex tests: require just `lex' instead of `flex'
* tests/lex-subobj-nodep.test ($required): Require `lex',
not `flex', as this test is expected to work with any lex
implementation.
* tests/silent-lex.test: Likewise.
Stefano Lattarini [Wed, 4 May 2011 17:11:09 +0000 (19:11 +0200)]
fix typo in ChangeLog (2011-05-04)
Stefano Lattarini [Wed, 4 May 2011 17:05:00 +0000 (19:05 +0200)]
tests defs: use `skip_' for skipping yacc/lex related tests
* tests/defs.in (lex, bison): Use `skip_' to signal test skipping.
Stefano Lattarini [Wed, 4 May 2011 16:55:00 +0000 (18:55 +0200)]
Merge branch 'maint' into yacc-work
With some edits to `tests/defs.in', and a new ChangeLog entry
to reflect this.
Stefano Lattarini [Wed, 4 May 2011 16:42:11 +0000 (18:42 +0200)]
tests defs: allow requirements for compilers (mostly dummy)
Most of the new requirements that are now accepted in `$required'
as consequence of this patch are still dummy. They are planned
to be implemented only in master (or in some derived branch), but
having them here (even just as no-op) will allow for an easier
integration/backporting of potential new testcases.
* tests/defs.in (cc, c++, fortran, fortran77): New requirements,
still dummy.
(flex): New requirement, picking LEX for configure.
(lex): New requirement, alias for `flex'. A more appropriate
implementation, looking for a generic `lex' program, will follow
in the future.
(yacc): New requirement, alias for `bison'. A more appropriate
implementation, looking for a generic `yacc' program, will follow
in the future.
Stefano Lattarini [Sun, 24 Apr 2011 08:26:58 +0000 (10:26 +0200)]
Merge branch 'parallel-tests-testname-vpath-fix' into maint
Stefano Lattarini [Sun, 24 Apr 2011 08:22:05 +0000 (10:22 +0200)]
tests: fix spurious failure in a test on TESTS (VPATH-related)
* check-tests-in-builddir.test: When not using the parallel-tests
option, do not check that VPATH components are not present in the
displayed test name, since the simple-tests driver do not try to
strip them.