Stefano Lattarini [Thu, 30 Jun 2011 15:23:58 +0000 (17:23 +0200)]
Merge branch 'master' into testsuite-work
* master:
cosmetics: fix typos in recent ChangeLog entries
docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
docs: fix unportable example of AM_TESTS_ENVIRONMENT usage
Stefano Lattarini [Thu, 30 Jun 2011 15:21:47 +0000 (17:21 +0200)]
Merge branch 'maint'
* 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 [Wed, 29 Jun 2011 07:53:31 +0000 (09:53 +0200)]
Merge branch 'am-tests-environment'
* am-tests-environment:
docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
docs: fix unportable example of AM_TESTS_ENVIRONMENT usage
Stefano Lattarini [Wed, 29 Jun 2011 07:44:14 +0000 (09:44 +0200)]
docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
* doc/automake.texi (Simple Tests using parallel-tests): Ditto, and
related adjustments.
Suggestion by Ralf Wildenhues.
Stefano Lattarini [Thu, 23 Jun 2011 17:05:44 +0000 (19:05 +0200)]
docs: fix unportable example of AM_TESTS_ENVIRONMENT usage
* doc/automake.texi (Simple Tests using parallel-tests): The
old example on AM_TESTS_ENVIRONMENT relied on unportable shell
features, and in particular didn't work with various Korn
Shells (see also commit `v1.11-925-g29ca903'). Give another
example, simpler this time, but still inspired to real-world
usage (the GNU coreutils testsuite).
Stefano Lattarini [Tue, 28 Jun 2011 10:01:04 +0000 (12:01 +0200)]
Merge branch 'master' into testsuite-work
* master:
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 [Tue, 28 Jun 2011 09:26:15 +0000 (11:26 +0200)]
Merge branch 'maint'
* 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 [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 [Mon, 27 Jun 2011 13:38:18 +0000 (15:38 +0200)]
Merge branch 'master' into testsuite-work
* master:
docs: avoid a footnote, some related rewordings and improvements
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
tests: interactions between TESTS_ENVIRONMENT and LOG_COMPILER
Stefano Lattarini [Mon, 27 Jun 2011 13:36:37 +0000 (15:36 +0200)]
Merge branch 'maint'
* maint:
docs: avoid a footnote, some related rewordings and improvements
docs: minor cosmetic fixes
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 08:14:30 +0000 (10:14 +0200)]
tests: make 'subst-no-trailing-empty-line.test' more robust
* tests/subst-no-trailing-empty-line.test: Strengthen existing
checks, to try more scenarios and be slightly stricter in some
grepping checks.
Stefano Lattarini [Fri, 24 Jun 2011 07:50:30 +0000 (09:50 +0200)]
tests: fix an incomplete comment
* tests/subst-no-trailing-empty-line.test: Fix an incomplete
comment, and move it to a more proper place. Minor cosmetic
fixes to other comments.
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 [Thu, 23 Jun 2011 08:52:08 +0000 (10:52 +0200)]
Merge branch 'maint'
* maint:
help: improve text about automatically-distributed files
refactor: split 'usage' subroutine in automake
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:34:39 +0000 (10:34 +0200)]
Merge branch 'maint'
* maint:
tests: fix bug in 'autodist.test'
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 [Tue, 21 Jun 2011 20:24:26 +0000 (22:24 +0200)]
Merge branch 'maint'
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 [Tue, 21 Jun 2011 11:17:50 +0000 (13:17 +0200)]
tests: interactions between TESTS_ENVIRONMENT and LOG_COMPILER
* tests/tests-environment-and-log-compiler.test: New test,
checking that we can use variables and functions set by
TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT in LOG_COMPILER
and LOG_FLAGS (for tests both with and without registered
extensions).
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Mon, 20 Jun 2011 15:00:54 +0000 (17:00 +0200)]
Merge branch 'master' into testsuite-work
* master:
maintcheck: avoid few spurious failures
Stefano Lattarini [Mon, 20 Jun 2011 15:00:37 +0000 (17:00 +0200)]
Merge branch 'maint'
* maint:
maintcheck: avoid few spurious failures
Stefano Lattarini [Mon, 20 Jun 2011 14:58:22 +0000 (16:58 +0200)]
maintcheck: avoid few spurious failures
* tests/depmod-data.test: Use creative quoting to avoid
spuriously triggering the `sc_tests_Exit_not_exit' maintainer
check. Commit `v1.11-900-g3453b8e' attempted to fix it, but
succeeded only partially.
* tests/cond33.test: Fix header comments, not to reference
obsolescent make variable `$(mkdir_p)'.
* tests/cond4.test: Rewrite "$MAKE exp=..." as "exp=.. $MAKE -e",
to please `sc_tests_overriding_macros_on_cmdline'
* tests/cond19.test: Likewise.
* tests/cond32.test: Likewise.
* tests/add-missing.test: Use "AUTOMAKE_fails" instead of
"$AUTOMAKE ... && Exit 1", to please `sc_tests_automake_fails'.
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
Stefano Lattarini [Mon, 20 Jun 2011 08:48:11 +0000 (10:48 +0200)]
Merge branch 'master' into testsuite-work
* master:
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
tests: more checks on portable fd redirection in TESTS_ENVIRONMENT
docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
Stefano Lattarini [Mon, 20 Jun 2011 08:46:09 +0000 (10:46 +0200)]
Merge branch '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 [Sat, 18 Jun 2011 17:16:41 +0000 (19:16 +0200)]
Merge branch 'test-fd-redirect'
* test-fd-redirect:
tests: more checks on portable fd redirection in TESTS_ENVIRONMENT
Stefano Lattarini [Sat, 18 Jun 2011 12:53:08 +0000 (14:53 +0200)]
tests: more checks on portable fd redirection in TESTS_ENVIRONMENT
* tests/tests-environment-fd-redirect.test: Extend by also using
a perl script among the tests. Run the test shell script with
the `errexit' flag active. Export `VERBOSE' to yes when running
"make check", to give more debugging information in case of
failures. Look for a Korn Shell also in `/usr/bin', not on only
in `/bin'.
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: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 15:04:25 +0000 (17:04 +0200)]
Merge branch 'master' into testsuite-work
* master:
tests: check portable fd redirection in TESTS_ENVIRONMENT
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 14:56:36 +0000 (16:56 +0200)]
Merge branch '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 12:50:50 +0000 (14:50 +0200)]
tests: make test 'self-check-reexec.test' more portable
* tests/self-check-reexec.test: Rewrite not to require a Korn
Shell able to grok variable expansions such as `${.sh.version}';
Solaris 10 /bin/ksh fails on this for example. Instead, just
require bash and a shell that is not bash.
Stefano Lattarini [Thu, 16 Jun 2011 08:41:49 +0000 (10:41 +0200)]
Merge branch 'tests-defs-fix-stderr-redirect-bug' into testsuite-work
Stefano Lattarini [Tue, 14 Jun 2011 07:41:14 +0000 (09:41 +0200)]
tests: check portable fd redirection in TESTS_ENVIRONMENT
* tests/tests-environment-fd-redirect.test: New test.
* tests/Makefile.am (TESTS): Update.
Motivated by coreutils bug#8846:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
See also following CC:ed thread on bug-autoconf list:
<http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
Stefano Lattarini [Thu, 16 Jun 2011 08:29:32 +0000 (10:29 +0200)]
Merge branch 'more-prefix-primary-diagnostic' into maint
Stefano Lattarini [Thu, 16 Jun 2011 08:26:10 +0000 (10:26 +0200)]
Merge branch 'tests-more-shells' into testsuite-work
Stefano Lattarini [Thu, 16 Jun 2011 08:25:59 +0000 (10:25 +0200)]
regenerate tests/Makefile.in
Stefano Lattarini [Thu, 16 Jun 2011 08:17:30 +0000 (10:17 +0200)]
Merge branch 'tests-more-shells' into testsuite-work
Stefano Lattarini [Thu, 16 Jun 2011 08:13:18 +0000 (10:13 +0200)]
Merge branch 'extend-coverage-for-add-missing' into testsuite-work
Stefano Lattarini [Sun, 12 Jun 2011 17:35:53 +0000 (19:35 +0200)]
tests: few fixlets and improvements
* tests/cond31.test ($required): Remove `cc', it's not really
needed.
* tests/confh.test: Call autoheader too. The lack of this call
wasn't causing spurious failures because, when make was called,
the automatic remake rules somehow ended up invoking it on our
behalf.
* tests/fn99subdir.test: Use $subdirname throughout, instead of
${subdirname}, for consistency with the rest of the testsuite.
Avoid an unnecessary subshell, which could also cause spurious
passes, being guarded by a trailing `|| Exit 1', which neutralize
the `errexit' flag. Remove an unnecessary `|| Exit 1' guard.
* tests/insh2.test: Rewrite to avoid hackish Makefile.in munging,
and to also run configure and make.
Stefano Lattarini [Mon, 13 Jun 2011 20:42:25 +0000 (22:42 +0200)]
test defs: fix ksh-related portability bug in warning messages
Running "make check" normally prints a diagnostic to the outermost
stderr (usually a tty) to explain why a test is skipped, thus
giving better and faster feedback to the user. It used to do
so by redirecting file descriptor 9 to stderr (via "exec 9>&2")
before invoking the test scripts, which then would write any skip
explanation to file descriptor 9 via the `skip_' function defined
in `tests/defs'.
However, various Korn Shells (at least Solaris 10's /bin/ksh and
Debian GNU/Linux's /bin/ksh) and the HP-UX's /bin/sh close open
file descriptors > 2 upon an `exec' system call; thus the effects
of "exec 9>&2" are cancelled upon fork-and-exec, so we would get
a "Bad file number" diagnostic and no skip explanation with those
shells.
The present change remedies this situation.
* tests/Makefile.am (AM_TESTS_ENVIRONMENT): Redirect more portably,
via a trailing "9>&2", rather than the prior "exec 9>&2; ...". Add
explanatory comments.
* tests/defs (stderr_fileno_): Update the advice in comments.
Based on commit v8.12-82-g6b68745 "tests: accommodate HP-UX and
ksh-derived shells" in GNU coreutils.
Further references, with lots of discussion:
<http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
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 17:42:52 +0000 (19:42 +0200)]
tests: extend tests on `--add-missing' and `--copy' a bit
* tests/add-missing.test: Fix typo in heading comments. Try with
another testcase that install many (but not all) the auxiliary
scripts at once, and uses non-standard (but valid and documented)
setups (e.g., defining YACC in Makefile.am instead of calling
AC_PROG_YACC from configure.in).
* tests/copy.test: Reference `add-missing.test' in heading
comments. Try few more test scenarios.
Stefano Lattarini [Mon, 13 Jun 2011 16:19:53 +0000 (18:19 +0200)]
tests: remove 'test_prefer_config_shell' from the environment
Since commit `v1.11-910-g7df1a9b', the once user-overridable
variable `$test_prefer_config_shell' has become an internal
detail, and the test scripts now complain and bail out if it is
set in the environment.
* tests/Makefile.am (AM_TESTS_ENVIRONMENT): Unset the variable
`test_prefer_config_shell' if it is set in the environment.
Stefano Lattarini [Mon, 13 Jun 2011 16:02:40 +0000 (18:02 +0200)]
tests: don't hard-code the test name in txinfo21.test
* tests/txinfo21.test: Use `$me' instead of hard-coding the
current testcase name "txinfo21". Add a trailing `:' command
since we are at it.
Stefano Lattarini [Mon, 13 Jun 2011 12:48:57 +0000 (14:48 +0200)]
tests: autogenerate list of wrapped tests for `lib/' shell scripts
* tests/gen-config-shell-tests: New script, generates distributed
makefile snippet `tests/config-shell-tests.am' to list all tests
that use the `get_shell_script' function, with names mangled to
use suffix `-w.shtst', in ...
* tests/Makefile.am (config_shell_tests): ... this macro, whose
definition has been consequently removed from Makefile.am.
(EXTRA_DIST): Distribute the new script.
($(srcdir)/config-shell-tests.am): Generate using the new script.
(include): Include the `config-shell-tests.am' fragment.
* bootstrap: Invoke `tests/gen-config-shell-tests' to generate
`tests/config-shell-tests.am'.
* tests/.gitignore: Ignore `config-shell-tests.am'.
* tests/gen-parallel-tests: Fixlet in heading comments.
Stefano Lattarini [Mon, 13 Jun 2011 10:21:52 +0000 (12:21 +0200)]
tests: test mdate-sh with /bin/sh too
* tests/mdate5.test: Fetch the `mdate-sh' script using the
`get_shell_script' function, and run it directly instead of
using `$SHELL'.
* tests/mdate6.test: Likewise. Since we are at it, make checks
on the `mdate-sh' output stricter, remove now unneeded calls to
aclocal and automake and creation/extension of `configure.in',
`Makefile.am' and `textutils.tex' files, and add a trailing `:'
command.
* tests/Makefile.am (config_shell_tests): Add `mdate5-w.shtst'
and `mdate6-w.shtst'.
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 [Sun, 12 Jun 2011 22:00:53 +0000 (00:00 +0200)]
Merge branch 'extend-coverage-for-add-missing' into testsuite-work
* extend-coverage-for-add-missing:
tests: new test dedicated to `--add-missing' and `--copy'
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:54:44 +0000 (12:54 +0200)]
Merge branch 'master' into testsuite-work
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:47:56 +0000 (12:47 +0200)]
Merge branch 'maint'
* maint:
test defs: new function 'fatal_', for hard errors
Stefano Lattarini [Tue, 7 Jun 2011 14:36:40 +0000 (16:36 +0200)]
testsuite: use 'fatal_' and 'framework_failure_' for hard errors
* tests/defs (require_xsi): Use `fatal_', not `framework_failure',
to report an invalid usage.
* tests/remake-gnulib-remove-header.test: Prefer using `fatal_'
with a proper error message over a direct call to `Exit 99'.
* tests/pr8365-remake-timing.test: Likewise.
* tests/cygnus-imply-foreign.test: Likewise.
* tests/missing6.test: Likewise.
* tests/cond8.test: Likewise.
* tests/cond33.test: Likewise.
* tests/python-virtualenv.test: Prefer using `framework_failure_'
with a proper error message over a direct call to `Exit 99'.
* tests/instspc-tests.sh: Prefer using `framework_failure_' and
`fatal_' over direct calls to `Exit 99'.
(fatal_): Define this (which is a simplified version of the one
in `tests/defs') for early uses (i.e., before `tests/defs'
gets sourced).
* tests/depmode-tests.sh: Likewise. Also, simplify the
'get_depmodes' function and calls to it accordingly.
Stefano Lattarini [Tue, 7 Jun 2011 14:00:31 +0000 (16:00 +0200)]
self tests: check new 'fatal_' function
* tests/self-check-exit.test: Also check the new 'fatal_'
function.
Stefano Lattarini [Sat, 11 Jun 2011 10:22:15 +0000 (12:22 +0200)]
Merge branch 'maint' into testsuite-work
* maint:
test defs: new function 'fatal_', for hard errors
Stefano Lattarini [Tue, 7 Jun 2011 20:49:28 +0000 (22:49 +0200)]
tests: new test dedicated to `--add-missing' and `--copy'
* tests/add-missing.test: New test.
* tests/Makefile.am (TESTS): Update.
Suggested by Peter Rosin.
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 [Wed, 8 Jun 2011 08:19:18 +0000 (10:19 +0200)]
Merge branch 'tests-more-shells' into testsuite-work
Stefano Lattarini [Wed, 8 Jun 2011 08:03:52 +0000 (10:03 +0200)]
Merge branch 'master' into testsuite-work
Stefano Lattarini [Wed, 8 Jun 2011 08:03:29 +0000 (10:03 +0200)]
Merge branch 'fix-auxdir2-test'
Stefano Lattarini [Sun, 5 Jun 2011 18:58:21 +0000 (20:58 +0200)]
self tests: check that `$me' can be overridden
* tests/self-check-me.test: Check that `$me' can be overridden
before sourcing ./defs, with or without sourcing ./defs-static
beforehand, and that this override is honored. Update heading
comments.
Stefano Lattarini [Mon, 6 Jun 2011 14:12:59 +0000 (16:12 +0200)]
tests: `lib/' shell scripts transparently tested also with $SHELL
With the previous commit, the user could prefer the use of $SHELL
over /bin/sh in some tests checking the Automake-provided shell
scripts by manually exporting `test_prefer_config_shell' to "yes"
in the environment. With this commit, we ensure that such tests
*always* and *transparently* run using both $SHELL and /bin/sh
to execute the checked scripts. The `test_prefer_config_shell'
variable becomes an internal detail, and is no more meant to be
manually defined or overridden.
* tests/defs-static.in: Check that `test_prefer_config_shell' is
not exported in the environment. Error out if this is the case.
* tests/config-shell-tests.sh: New file, driver script to run
checks on the shell scripts in `lib/' using the $SHELL determined
at configure time instead of the default system shell /bin/sh.
* Makefile.am (TESTS_EXTENSIONS): Add `.shtst'.
(SHTST_LOG_COMPILER): Define, it calls `config-shell-tests.sh'.
(config_shell_tests): Define to a list of tests that wraps other
`*.test' tests using `config-shell-tests.sh'.
($(config_shell_tests)): Dummy dependency declaration required
in order to have make actually produce expected log files from
the `.shtst.log' suffix rule.
(EXTRA_DIST): Distribute `config-shell-tests.sh'.
(TESTS): Add `$(config_shell_tests)'.
* tests/self-check-env-sanitize.test: Update, by checking that
`test_prefer_config_shell' isn't exported in the environment.
Stefano Lattarini [Mon, 6 Jun 2011 12:40:22 +0000 (14:40 +0200)]
tests: can use also $SHELL to check shell scripts from `lib/'
* tests/ar-lib.test: If the variable `$test_prefer_config_shell'
is set to "yes", run the script under test with configure-time
determined $SHELL, rather than with /bin/sh.
The `$test_prefer_config_shell' variable defaults to empty, but
can be overridden at runtime by the user, thus allowing more
coverage.
* tests/compile.test: Likewise.
* tests/compile2.test: Likewise.
* tests/compile3.test: Likewise.
* tests/compile4.test: Likewise.
* tests/compile5.test: Likewise.
* tests/compile6.test: Likewise.
* tests/instsh2.test: Likewise.
* tests/instsh3.test: Likewise.
* tests/mkinst3.test: Likewise.
* tests/missing.test: Likewise.
* tests/missing2.test: Likewise.
* tests/missing3.test: Likewise.
* tests/missing5.test: Likewise.
* tests/defs (get_shell_script): New subroutine, factoring out
code common to the tests above.
(xsi-lib-shell): If `$test_prefer_config_shell' is set to "yes",
check that $SHELL, not /bin/sh, supports XSI constructs, as we
expect the test will use $SHELL and not /bin/sh to run the
script being tested.
Stefano Lattarini [Mon, 6 Jun 2011 09:32:19 +0000 (11:32 +0200)]
tests defs: better requirements for XSI shells
This change avoids potential spurious failures with tests using
the requirement 'xsi-shell' to mean that they want */bin/sh* (not
$SHELL) to be XSI-conforming. This idiom used to work before
commit `v1.11-874-g1321be7' (as back then the test scripts were
unconditionally run with /bin/sh), but has become inconsistent
now that the test scripts re-execute themselves with configure
determined $SHELL.
The described spurious failures have already occurred in practice,
for examples on Solaris systems which also had GNU Bash installed.
From a suggestion by Peter Rosin. See discussion at:
<http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00016.html>
* tests/defs (xsi-shell): Now check that $SHELL, rather than the
shell currently running the test script, is an XSI shell.
(xsi-bin-sh): New requirement, checking that /bin/sh (which can
differ from $SHELL) is an XSI shell.
(xsi-lib-shell): New requirement, checking that the shell that
should be used to test the Automake-provided scripts from `lib/'
is an XSI shell. For the moment, this is just an alias for
`xsi-bin-sh'.
(require_xsi): New subroutine, used to factor out code common to
the requirements above.
($xsi_shell_code): New variable, contains shell code supposed to
work only with XSI shells. Used by the new subroutine above.
* tests/ar-lib.test ($required): Require 'xsi-lib-shell' instead
of 'xsi-shell', since the script we test here is run with /bin/sh,
not with $SHELL.
* tests/compile3.test: Likewise.
* tests/compile6.test: Likewise.
Stefano Lattarini [Sun, 5 Jun 2011 19:44:53 +0000 (21:44 +0200)]
tests: fix typo-related error in auxdir2.test
* tests/auxdir2.test (configure.in): Close m4 quoting in the
argument to AC_CONFIG_AUX_DIR. Without this, aclocal fails with
"ERROR: end of file in string". This problem hasn't been exposed
by the testsuite before because this test is in XFAIL_TESTS, so
its failure went unnoticed, even if it was due to a wrong cause.
Bug introduced in commit v1.11-249-g49ac3de.
Stefano Lattarini [Sun, 5 Jun 2011 10:16:48 +0000 (12:16 +0200)]
Revert "tests: use `$SHELL' to run the shell scripts from `lib/'"
This reverts commit
f977d00e0a3ab9af3555bb3bc8ea78726cb7a143.
See <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00018.html>
for the reasons behind this revert.
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 15:54:25 +0000 (17:54 +0200)]
self tests: fix another spurious failure
Our ad-hoc usage of `tests/defs' in the testsuite's self tests
stopped working properly when we made the test scripts re-execute
themselves with the configure-time $SHELL. Fix this.
Fixes a regression introduced by commit 'v1.11-874-g1321be7'.
* tests/self-check-exit.test: Export `AM_TESTS_REEXEC' to "no"
before running the self tests. This fixes a spurious failure
present only when the test was run by hand.
Stefano Lattarini [Thu, 2 Jun 2011 15:05:51 +0000 (17:05 +0200)]
tests: use `$SHELL' to run the shell scripts from `lib/'
This should offer greater testsuite coverage for those developers
that override CONFIG_SHELL at configure time in order to test more
shells on a single system, instead of just the default `/bin/sh'.
This change also fixes few spurious failures in tests using the
`xsi-shell' requirement, where inconsistencies could crop up if
the shell probed for XSI features (which, by default, is $SHELL)
was not the same shell later used to run the scripts using those
features (which was hard-coded to `/bin/sh'). Such failures have
already occurred in practice, for examples on Solaris systems
which had also GNU Bash installed.
* tests/ar-lib.test: Run the `ar-lib' script with `$SHELL', rather
than directly with `./ar-lib', which would make run unconditionally
with `/bin/sh'.
* tests/compile.test: Likewise, but for the `compile' script.
* tests/compile2.test: Likewise.
* tests/compile3.test: Likewise.
* tests/compile4.test: Likewise.
* tests/compile5.test: Likewise.
* tests/compile6.test: Likewise.
* tests/instsh2.test: Likewise, but for the `install' script.
* tests/instsh3.test: Likewise.
* tests/mkinst3.test: Likewise, but for the `mkinstalldirs' script.
* tests/missing.test: Likewise, but for the `missing' script.
* tests/missing2.test: Likewise.
* tests/missing3.test: Likewise.
* tests/missing5.test: Likewise.
Stefano Lattarini [Thu, 2 Jun 2011 13:35:03 +0000 (15:35 +0200)]
silent-rules tests: fix spurious failures with Sun Studio C++
* tests/silentcxx.test: The C++ compiler from Sun Studio is named
`CC'. Account for this in our grepping checks on the make output.
Since we are at it, throw in a couple of improvements to comments
and formatting.
* tests/silent-many-generic.test: The C++ compiler from Sun Studio
is named `CC', and this can cause spurious failures in our grepping
of the make output. Work around this by using a wrapper script
around the C++ compiler (generated on the fly), since filtering the
make output proved to be too fragile.
Stefano Lattarini [Thu, 2 Jun 2011 12:40:19 +0000 (14:40 +0200)]
tests: fix spurious failure in backcompat2.test on NetBSD
* tests/backcompat2.test: Add trailing `:' in the body of a `for'
loop, in case the last command there might have an exit status
different 0. This work around `set -e' issues in some BSD shells,
e.g., NetBSD /bin/ksh.
Stefano Lattarini [Thu, 2 Jun 2011 12:14:28 +0000 (14:14 +0200)]
tests: fix spurious failure in autohdr3.test
* tests/autohder3.test (Makefile.am): Let `test' depend on `all',
so that config.h header is truly remade.
Remove now useless call to `$MAKE' when non-GNU make is in use.
Failure introduced by commit `v1.11-895-g5e62b96'.
Stefano Lattarini [Thu, 2 Jun 2011 12:13:18 +0000 (14:13 +0200)]
tests: fix spurious failure of cond29.test on NetBSD
* tests/cond29.test: Skip if we cannot safely limit the maximal
size of used virtual memory to 20K. This fixes a spurious failure
on NetBSD.
Bug introduced in commit `v1.11-885-g908d335'.
Stefano Lattarini [Thu, 2 Jun 2011 10:58:37 +0000 (12:58 +0200)]
maintcheck: fix again few more failures
* tests/cond29.test: To please the `sc_tests_Exit_not_exit'
maintainer check, avoid using `sh -c "exit 0"' where a simple
`sh -c :' will do.
* tests/depmod-data.test: Use creative quoting to avoid
spuriously triggering the `sc_tests_Exit_not_exit' maintainer
check.
Stefano Lattarini [Thu, 2 Jun 2011 10:54:03 +0000 (12:54 +0200)]
Merge branch 'master' into testsuite-work
* master:
maintcheck: fix some more failures
maintcheck: fix some failures, extend some checks
Stefano Lattarini [Thu, 2 Jun 2011 10:47:58 +0000 (12:47 +0200)]
maintcheck: fix some more failures
* tests/instdir-ltlib.test: Use creative quoting to avoid
spuriously triggering the `sc_rm_minus_f' maintainer check.
* tests/instdir-prog.test: Likewise.
* tests/instspc-data.test: Use creative quoting to avoid
spuriously triggering the `sc_tests_Exit_not_exit' maintainer
check.
Stefano Lattarini [Thu, 2 Jun 2011 10:17:40 +0000 (12:17 +0200)]
Merge branch 'maint'
* maint:
maintcheck: fix some failures, extend some checks
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 [Thu, 2 Jun 2011 09:22:32 +0000 (11:22 +0200)]
tests: don't require GNU make where it's not strictly needed
* tests/autohdr3.test: Rewrite to be stricter when make is GNU
make. Drop the requirement of GNU make.
* tests/aclocal5.test: Drop GNU make requirement, it's not truly
needed. Add reference to similar tests `remake-subdir*.test'.
* remake-subdir-gnu.test, remake-subdir-from-subdir.test,
remake-subdir.test, remake-subdir2.test: Add reference to
each other, and to related test `aclocal5.test'.
* tests/aclocal6.test: Drop GNU make requirement, it's not
truly needed.
* tests/confh6.test: Likewise.
* tests/lex3.test: Likewise.
* tests/remake11.test: Likewise.
* tests/subdir5.test: Likewise.
* tests/subdir8.test: Likewise.
* tests/werror2.test: Likewise.
* tests/conff.test: Likewise, and ensure verbose printing of
captured make output.
* tests/lex5.test: Tweak so that GNU make is no more required.
* tests/version7.test: Likewise.
* tests/maken2.test: Add explicative comment for why this test
required GNU make.
* tests/maken4.test: Let it run also with BSD makes supporting
the `.MAKE' special target.
* tests/output6.test: Use proper m4 quoting in configure.in.
Expand make macros with one-character name using `$(x)', not
`$x', for portability. Move checks in the makefiles, rather
than relying on grepping the output from make. Drop the now
unneeded GNU make requirement.
Stefano Lattarini [Wed, 1 Jun 2011 18:23:45 +0000 (20:23 +0200)]
Merge branch 'master' into testsuite-work
* master:
remake: behave better with non-GNU make in subdirectories
Stefano Lattarini [Wed, 1 Jun 2011 17:37:18 +0000 (19:37 +0200)]
Merge branch 'maint'
* maint:
remake: behave better with non-GNU make in subdirectories
Stefano Lattarini [Wed, 1 Jun 2011 16:58:35 +0000 (18:58 +0200)]
Merge branch 'remake-rules-non-GNU-make' into maint