]> git.ipfire.org Git - thirdparty/automake.git/log
thirdparty/automake.git
14 years agoMerge branch 'maint'
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

14 years agodocs: avoid a footnote, some related rewordings and improvements
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.

14 years agotests: make 'subst-no-trailing-empty-line.test' more robust
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.

14 years agotests: fix an incomplete comment
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.

14 years agoRevert "docs: parallel-tests is not experimental anymore"
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.

14 years agodocs: minor cosmetic fixes
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.

14 years agoMerge branch 'maint'
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

14 years agohelp: improve text about automatically-distributed files
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.

14 years agorefactor: split 'usage' subroutine in automake
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.

14 years agoMerge branch 'maint'
Stefano Lattarini [Thu, 23 Jun 2011 08:34:39 +0000 (10:34 +0200)] 
Merge branch 'maint'

* maint:
  tests: fix bug in 'autodist.test'

14 years agotests: 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.

14 years agoparallel-tests: allow each test to have multiple results
Stefano Lattarini [Fri, 3 Jun 2011 20:50:56 +0000 (22:50 +0200)] 
parallel-tests: allow each test to have multiple results

With this change, we improve the code creating the `test-suite.log'
global log and the console testsuite summary to make it able to
grasp multiple results per test script.  This is required in order
to introduce the planned support for test protocols, like TAP and
SubUnit, which can indeed run multiple tests per test script, each
with its individual result.

The implementation makes use of a custom reStructuredText field
`:test-result:'.

Note that no new documentation is added by this change; that is
be left for follow-up changes.

* lib/check.am ($(TEST_SUITE_LOG)): When processing .log files,
recognize a report of a test's result only if it is declared with
the custom `:test-result:' reStructuredText field placed at the
beginning of a line.  Extend and add explanatory comments.
(recheck, recheck-html): Add explanatory comments.
* lib/test-driver: Write an appropriate reStructuredText field
`:test-result:' in the generated log file.  Use a reStructuredText
transition to better separate the test outcome report from the
test script's registered output.  Improve comments.
* tests/test-driver-custom-xfail-tests.test: Adjust.
* tests/parallel-tests7.test: Adjust.
* tests/parallel-tests-empty-testlogs.test: New test.
* tests/parallel-tests-recheck-override.test: Likewise.
* tests/parallel-tests2.test: Extend and keep more in-sync with ...
* tests/test-driver-custom-html.test: ... this new related test.
* tests/test-driver-custom-no-html.test: New test.
* tests/test-driver-custom-multitest.test: Likewise.
* tests/test-driver-custom-multitest-recheck.test: Likewise.
* tests/test-driver-custom-multitest-recheck2.test: Likewise.
* tests/trivial-test-driver: New file, used by the last four tests
above.
* tests/Makefile.am (TESTS): Update.
(EXTRA_DIST): Distribute `trivial-test-driver'.
(test-driver-custom-multitest.log): Depend on `trivial-test-driver'.
(test-driver-custom-multitest-recheck.log): Likewise.
(test-driver-custom-multitest-recheck2.log): Likewise.
(test-driver-custom-html.log): Likewise.

14 years agoparallel-tests: allow custom driver scripts
Stefano Lattarini [Fri, 20 May 2011 19:45:51 +0000 (21:45 +0200)] 
parallel-tests: allow custom driver scripts

Allow suffix-based definition of custom "driver script" for the
test scripts.  These driver scripts will be responsible of
launching the tests (or their corresponding $(LOG_COMPILER), if
they have an associated one), interpreting and displaying the
test results, and writing the `.log' files.

This new API should allow easy and flexible use of different
test protocols in the future; in particular, we plan to use it
to implement TAP and SubUnit harnesses.

Note that no new documentation is added by this change; that is
be left for follow-up changes.

* automake.in (handle_tests): Define default for $(LOG_DRIVER),
and, for any registered test extension `<ext>', define defaults
for $(<ext>_LOG_DRIVER).  Substitute %DRIVER% using these new
variables, instead of the old internal $(am__test_driver).  When
processing check2.am, also substitute %DRIVER_FLAGS%.
Require auxiliary script `test-driver' only if no driver has been
explicitly defined for the test script kinds.
* am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
?!GENERIC?%OBJ%): Pass the %DRIVER_FLAGS% to the %DRIVER% call.
* tests/parallel-tests-no-extra-driver.test: New test.
* tests/test-driver-custom.test: Likewise.
* tests/test-driver-custom-xfail-tests.test: Likewise.
* tests/test-driver-fail.test: Likewise.
* tests/Makefile.am: Update.
* NEWS: Update.

14 years agoparallel-tests: add auxiliary script 'test-driver', refactor
Stefano Lattarini [Tue, 10 May 2011 09:30:05 +0000 (11:30 +0200)] 
parallel-tests: add auxiliary script 'test-driver', refactor

This refactoring should cause no API of functionality change,
and is meant only to simplify the future implementation of TAP
and SubUnit testsuite drivers.  More precisely, our roadmap is
to move most of the "testsuite driving" features out of the
Automake-generated Makefiles, and into external scripts with
well-defined interfaces.  This will allow the user to define
its own personalized testsuite drivers, and will also offer us
a framework upon which to implement our new TAP and SubUnit
drivers, all in a very unobtrusive way and retaining an high
degree of code reuse and backward-compatibility.

* lib/test-driver: New auxiliary script.
* lib/Makefile.am (dist_SCRIPT_DATA): Add it.
* automake.in (handle_tests): Require the new auxiliary script
`test-driver', and define a new internal makefile variable
`$(am__test_driver)', used to call it.  Perform new substitution
on `DRIVER' when processing the `check2.am' file.
* lib/check.am (am__tty_colors): Define new shell variable
`$am__color_tests'.
(am__rst_section): Removed, its role taken over by the new
`test-driver' script.
(am__test_driver_flags): New variable, contains the command
line options passed to `test-driver'.
(am__check_pre): Do not deal with temporary files and exit
traps anymore, as the `test-driver' script takes care of that
now.  Define shell variable `$am__enable_hard_errors', used by
`$(am__test_driver_flags)'.  Reorder so that we don't need to
save and restore the value of the `TERM' environment variable
anymore.
Other related adjustments.
(am__check_post): Remove, as its role has been completely taken
over by the `test-driver' script.
* am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
?!GENERIC?%OBJ%): Call the test script through the Automake
substituted `%DRIVER%', and honor the command-line options
in `$(am__test_driver_flags)'.  Do not call the obsoleted
`$(am__check_post)' anymore.
* doc/automake.texi (Auxiliary Programs): Mention the new
`test-driver' script.
(Optional): Mention `test-driver' in AC_CONFIG_AUX_DIR.
Since we are at it, break the list of auxiliary scripts by
placing one per line, to simplify potential future additions
of new scripts.
* tests/check.test: Adjust.
* tests/check2.test : Likewise.
* tests/check3.test : Likewise.
* tests/check4.test : Likewise.
* tests/check10.test: Likewise.
* tests/color.test: Likewise.
* tests/color2.test: Likewise.
* tests/comment9.test: Likewise.
* tests/dejagnu.test: Likewise.
* tests/exeext4.test: Likewise.
* tests/maken3.test: Likewise.
* tests/maken4.test: Likewise.
* tests/parallel-tests-interrupt.test: Likewise.
* tests/posixsubst-tests.test: Likewise.
* tests/repeated-options.test: Likewise.
* tests/check-no-test-driver.test: New test.
* tests/parallel-test-driver-install.test: Likewise.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.

14 years agoMerge branch 'maint'
Stefano Lattarini [Tue, 21 Jun 2011 20:24:26 +0000 (22:24 +0200)] 
Merge branch 'maint'

14 years agomaintcheck: extend 'sc_tests_plain_*' checks
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.

14 years agotests: interactions between TESTS_ENVIRONMENT and LOG_COMPILER
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.

14 years agoMerge branch 'master' into testsuite-work
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

14 years agoMerge branch 'maint'
Stefano Lattarini [Mon, 20 Jun 2011 15:00:37 +0000 (17:00 +0200)] 
Merge branch 'maint'

* maint:
  maintcheck: avoid few spurious failures

14 years agomaintcheck: 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'.

14 years agomaintcheck: avoid few spurious failures
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.

14 years agoMerge branch 'maint' into parallel-tests-maint
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

14 years agoMerge branch 'master' into testsuite-work
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

14 years agoMerge branch 'maint'
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

14 years agocheck: don't use multi-line coloring for the report
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.

14 years agoMerge branch 'am-distcheck-configure-flags' into maint
Stefano Lattarini [Mon, 20 Jun 2011 07:43:25 +0000 (09:43 +0200)] 
Merge branch 'am-distcheck-configure-flags' into maint

14 years agoansi2knr: deprecate, it will go away in the next major release
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.

14 years agodocs: primary/prefix combination "pkglib_PROGRAMS" is now invalid
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'.

14 years agodocs: replace obsolete @vindex entry with a useful one
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.

14 years agoMerge branch 'test-fd-redirect'
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

14 years agotests: 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'.

14 years agodocs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
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.

14 years agoMerge branch 'maint' into yacc-work
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

14 years agoMerge branch 'maint' into python-work
Stefano Lattarini [Thu, 16 Jun 2011 15:23:31 +0000 (17:23 +0200)] 
Merge branch 'maint' into python-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

14 years agoMerge branch 'maint' into parallel-tests-maint
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

14 years agoMerge branch 'maint' into java-work
Stefano Lattarini [Thu, 16 Jun 2011 15:10:54 +0000 (17:10 +0200)] 
Merge branch 'maint' into java-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

14 years agoMerge branch 'master' into testsuite-work
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

14 years agoMerge branch 'maint'
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

14 years agotests: make test 'self-check-reexec.test' more portable
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.

14 years agoMerge branch 'tests-defs-fix-stderr-redirect-bug' into testsuite-work
Stefano Lattarini [Thu, 16 Jun 2011 08:41:49 +0000 (10:41 +0200)] 
Merge branch 'tests-defs-fix-stderr-redirect-bug' into testsuite-work

14 years agotests: check portable fd redirection in TESTS_ENVIRONMENT
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>

14 years agoMerge branch 'more-prefix-primary-diagnostic' into maint
Stefano Lattarini [Thu, 16 Jun 2011 08:29:32 +0000 (10:29 +0200)] 
Merge branch 'more-prefix-primary-diagnostic' into maint

14 years agoMerge branch 'tests-more-shells' into testsuite-work
Stefano Lattarini [Thu, 16 Jun 2011 08:26:10 +0000 (10:26 +0200)] 
Merge branch 'tests-more-shells' into testsuite-work

14 years agoregenerate tests/Makefile.in
Stefano Lattarini [Thu, 16 Jun 2011 08:25:59 +0000 (10:25 +0200)] 
regenerate tests/Makefile.in

14 years agoMerge branch 'tests-more-shells' into testsuite-work
Stefano Lattarini [Thu, 16 Jun 2011 08:17:30 +0000 (10:17 +0200)] 
Merge branch 'tests-more-shells' into testsuite-work

14 years agoMerge branch 'extend-coverage-for-add-missing' 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

14 years agotests: few fixlets and improvements
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.

14 years agotest defs: fix ksh-related portability bug in warning messages
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>

14 years agoMerge branch 'am-distcheck-configure-flags' 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

14 years agonews: 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.

14 years agoMerge branch 'am-distcheck-configure-flags' into maint
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

14 years agotests: extend tests on `--add-missing' and `--copy' a bit
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.

14 years agotests: remove 'test_prefer_config_shell' from the environment
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.

14 years agotests: don't hard-code the test name in txinfo21.test
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.

14 years agotests: autogenerate list of wrapped tests for `lib/' shell scripts
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.

14 years agotests: test mdate-sh with /bin/sh too
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'.

14 years agoMerge branch 'silent-rules-doc' into maint
Stefano Lattarini [Mon, 13 Jun 2011 09:07:20 +0000 (11:07 +0200)] 
Merge branch 'silent-rules-doc' into maint

14 years agotests: optimize tests on primary/prefix mismatch for speed
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.

14 years agoMerge branch 'extend-coverage-for-add-missing' into testsuite-work
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'

14 years agoMerge branch 'maint' into python-work
Stefano Lattarini [Sun, 12 Jun 2011 21:53:10 +0000 (23:53 +0200)] 
Merge branch 'maint' into python-work

* maint:
  test defs: new function 'fatal_', for hard errors

14 years agoWarnings about primary/prefix mismatch fixed and extended.
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.

14 years agoMerge branch 'master' into testsuite-work
Stefano Lattarini [Sat, 11 Jun 2011 10:54:44 +0000 (12:54 +0200)] 
Merge branch 'master' into testsuite-work

14 years agoMerge branch 'maint' into parallel-tests-maint
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

14 years agoMerge branch 'maint' into java-work
Stefano Lattarini [Sat, 11 Jun 2011 10:50:40 +0000 (12:50 +0200)] 
Merge branch 'maint' into java-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

14 years agoMerge branch 'maint' into yacc-work
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

14 years agoMerge branch 'maint'
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

14 years agotestsuite: use 'fatal_' and 'framework_failure_' 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.

14 years agoself tests: check new 'fatal_' function
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.

14 years agoMerge branch 'maint' into testsuite-work
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

14 years agotests: new test dedicated to `--add-missing' and `--copy'
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.

14 years agomaintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
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.

14 years agodistcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
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.

14 years agodocs: better documentation for silent make rules
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.

14 years agopy-compile: '--' and non-option arguments terminate the option list
Stefano Lattarini [Wed, 8 Jun 2011 20:27:25 +0000 (22:27 +0200)] 
py-compile: '--' and non-option arguments terminate the option list

* lib/py-compile: Any non-option argument, or the special `--'
argument, now explicitly terminates the list of options.
* tests/py-compile-option-terminate.test: New test.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.

14 years agopy-compile: complain on unrecognized options
Stefano Lattarini [Wed, 8 Jun 2011 20:10:08 +0000 (22:10 +0200)] 
py-compile: complain on unrecognized options

* lib/py-compile: Complain on unrecognized options.  Don't be too
lax in matching `--help' and `--version' options.
* tests/py-compile-usage.test: Extend accordingly.
* NEWS: Update.

14 years agopy-compile: normalize error and help messages
Stefano Lattarini [Wed, 8 Jun 2011 20:00:38 +0000 (22:00 +0200)] 
py-compile: normalize error and help messages

* lib/py-compile: Now error messages do not begin with a capital
letter, nor end with a period, as per GNU standards.  Prepend the
error messages with the name of the script, not with its path.
When an invalid usage is recognized, always display the customary
message "Try `py-compile --help' ..." on a line of its own.
($me): New variable, containing the name of the
program, i.e., `py-compile'.  Use it throughout.
(usage_error): New function, used to display error messages about
invalid usage.
* tests/py-compile-usage.test: Extend and tighten accordingly.

14 years agopython tests: add "unit tests" on py-compile
Stefano Lattarini [Wed, 8 Jun 2011 19:37:51 +0000 (21:37 +0200)] 
python tests: add "unit tests" on py-compile

* tests/py-compile-basic.test: New test.
* tests/py-compile-basic2.test: New test.
* tests/py-compile-basedir.test: Likewise.
* tests/py-compile-destdir.test: Likewise.
* tests/py-compile-env.test: Likewise.
* tests/py-compile-usage.test: Likewise.
* tests/Makefile.am (TESTS): Update.

Tested with python 2.0.1, 2.4.6, 2.6.6, 2.7.1, and 3.1.3.

14 years agopy-compile: the '--destdir' option now accepts a blank argument
Stefano Lattarini [Wed, 8 Jun 2011 12:55:01 +0000 (14:55 +0200)] 
py-compile: the '--destdir' option now accepts a blank argument

* lib/py-compile (Option parsing): Do not count an empty argument
to `--destdir' or `--basedir' as a missing argument.
* lib/python.am: Simplify accordingly, passing the `--destdir'
option to py-compile unconditionally, even if `$(DESTDIR)' is
empty.
* NEWS: Update.

14 years agopython: run the 'py-compile' script with $(SHELL)
Stefano Lattarini [Wed, 8 Jun 2011 12:33:49 +0000 (14:33 +0200)] 
python: run the 'py-compile' script with $(SHELL)

* lib/python.am (install-%DIR%PYTHON): Run each instance of
py-compile using $(SHELL).  Since we are at it, break overly
long lines.
(am__py_compile): New variable, to reduce code duplication.

14 years agotest defs: new function 'fatal_', for hard errors
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.

14 years agoMerge branch 'tests-more-shells' into testsuite-work
Stefano Lattarini [Wed, 8 Jun 2011 08:19:18 +0000 (10:19 +0200)] 
Merge branch 'tests-more-shells' into testsuite-work

14 years agoMerge branch 'master' into testsuite-work
Stefano Lattarini [Wed, 8 Jun 2011 08:03:52 +0000 (10:03 +0200)] 
Merge branch 'master' into testsuite-work

14 years agoMerge branch 'fix-auxdir2-test'
Stefano Lattarini [Wed, 8 Jun 2011 08:03:29 +0000 (10:03 +0200)] 
Merge branch 'fix-auxdir2-test'

14 years agoself tests: check that `$me' can be overridden
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.

14 years agotests: `lib/' shell scripts transparently tested also with $SHELL
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.

14 years agotests: can use also $SHELL to check shell scripts from `lib/'
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.

14 years agotests defs: better requirements for XSI shells
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.

14 years agotests: fix typo-related error in auxdir2.test
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.

14 years agoRevert "tests: use `$SHELL' to run the shell scripts from `lib/'"
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.

14 years agoMerge branch 'maint' into parallel-tests-maint
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

14 years agoself tests: fix another spurious failure
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.

14 years agotests: use `$SHELL' to run the shell scripts from `lib/'
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.

14 years agosilent-rules tests: fix spurious failures with Sun Studio C++
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.

14 years agotests: fix spurious failure in backcompat2.test on NetBSD
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.

14 years agotests: fix spurious failure in autohdr3.test
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'.

14 years agotests: fix spurious failure of cond29.test on NetBSD
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'.

14 years agomaintcheck: fix again few more failures
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.

14 years agoMerge branch 'master' into testsuite-work
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

14 years agomaintcheck: fix some more failures
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.

14 years agoMerge branch 'maint'
Stefano Lattarini [Thu, 2 Jun 2011 10:17:40 +0000 (12:17 +0200)] 
Merge branch 'maint'

* maint:
  maintcheck: fix some failures, extend some checks