platform/upstream/automake.git
12 years agoMerge branch 'test-protocols' into tap-testsuite-work
Stefano Lattarini [Wed, 3 Aug 2011 13:46:02 +0000 (15:46 +0200)]
Merge branch 'test-protocols' into tap-testsuite-work

12 years agoMerge branch 'master' into testsuite-work
Stefano Lattarini [Wed, 3 Aug 2011 13:10:10 +0000 (15:10 +0200)]
Merge branch 'master' into testsuite-work

* master:
  docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support

12 years agoMerge branch 'maint'
Stefano Lattarini [Wed, 3 Aug 2011 13:09:43 +0000 (15:09 +0200)]
Merge branch 'maint'

* maint:
  docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support

12 years agodocs: how to use '-I' option in AM_CPPFLAGS for best VPATH support
Bruno Haible [Wed, 3 Aug 2011 13:05:22 +0000 (15:05 +0200)]
docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support

* doc/automake.texi (Program Variables): Recommend -I options to
both the build directory and the source directory when needed.

12 years agotestsuite: one more use of TAP in our own tests
Stefano Lattarini [Wed, 3 Aug 2011 12:29:52 +0000 (14:29 +0200)]
testsuite: one more use of TAP in our own tests

* tests/tap-bad-prog.test, tests/tap-bad-prog2.test: Merged
into ...
* tests/tap-bad-prog.tap: ... this TAP-generating test.
* tests/Makefile.am (tap_other_tests): Remove plan-bad-prog.test
and plan-bad-prog2.test.
(XFAIL_TESTS): Remove plan-bad-prog2.test.
(plan-bad-prog2.log): Remove.

12 years agotestsuite: scaffolding to allow use of TAP in our own tests
Stefano Lattarini [Sun, 17 Jul 2011 11:38:42 +0000 (13:38 +0200)]
testsuite: scaffolding to allow use of TAP in our own tests

Now that Automake has initial support for the TAP test protocol,
we can start "eating our own dog food" and rewrite some tests to
use TAP; this should allow for better granularity, especially in
the control of skips and expected failures.  With this change, we
set up the initial scaffolding required by the planned TAP tests,
and convert few older tests to use TAP, mostly in order to verify
that there are no obvious errors.  The tests in our testsuite that
use the TAP protocol will be marked by the new `.tap' extension.

* tests/plain-functions.sh: New file containing definition of
helper shell functions used by the "protocol-less" tests of the
Automake testsuite.
* tests/tap-functions.sh:  New file containing definition of
helper shell functions used by the TAP-producing tests of the
Automake testsuite.
* tests/defs: Remove definitions of some functions that are
now defined in `plain-functions.sh'.  Instead, source one of
`plain-functions.sh' or `tap-functions.sh', depending on whether
`$use_tap' is set to "no" or "yes".
(exit trap): Call `late_plan_' if `$use_tap' is true.  Also,
unset shell traces before issuing the latest commands, to avoid
confusing the tap driver with spurious output.
* tests/defs-static.in ($use_tap): New variable, by default set
to "yes" if the calling test script has a `.tap' suffix, and to
"no" otherwise.  The individual scripts can override it though.
In code sanity-checking the environment, verify that `$use_tap'
is not exported.
* tests/self-check-env-sanitize.test: Update, and small related
reformatting.
* tests/self-check-tap.test: New very minimal self test.
* tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test,
tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test:
Removed, merged into ...
* tests/ac-output-old.tap: ... this new test, that uses TAP.
* tests/Makefile.am (TAP_LOG_DRIVER): Define to invoke our own
`tap-driver' script.
(TAP_LOG_DRIVER_FLAGS): Define to `--merge', so that the stdout
and stderr of the test scripts remains synced.
(TEST_EXTENSIONS): Define, to add the `.tap' suffix; also list
the `.test' suffix explicitly.
(EXTRA_DIST): Distribute the new files `plain-functions.sh' and
`tap-functions.sh'.
($(TEST_LOGS)): Depends on them.
(AM_TESTS_ENVIRONMENT): Ensure that `use_tap' is not exported in
the environment of the tests.
(TESTS): Update.

12 years ago* NEWS: Fix typo, and related reformatting.
Stefano Lattarini [Tue, 2 Aug 2011 21:36:17 +0000 (23:36 +0200)]
* NEWS: Fix typo, and related reformatting.

12 years ago* NEWS: add mention of new experimental TAP support
Stefano Lattarini [Tue, 2 Aug 2011 21:34:04 +0000 (23:34 +0200)]
* NEWS: add mention of new experimental TAP support

12 years agotestsuite: rename some test scripts
Stefano Lattarini [Tue, 2 Aug 2011 20:56:13 +0000 (22:56 +0200)]
testsuite: rename some test scripts

* tests/parallel-tests-am_tests_environment.test: Renamed ...
* tests/am-tests-environment.test: ... to this.
* tests/check-tests_environment.test: Renamed ...
* tests/tests-environment.test: ... to this.
* tests/parallel-test-driver-install.test: Renamed ...
* tests/parallel-tests-driver-install.test: ... to this.
* tests/parallel-tests-make-n.test: Renamed ...
* tests/parallel-tests-dry-run.test: ... to this.
* tests/Makefile.am (TESTS): Updated.

12 years agocoverage: parallel-tests and lazy dependencies on EXTRA_PROGRAMS
Stefano Lattarini [Tue, 2 Aug 2011 20:24:28 +0000 (22:24 +0200)]
coverage: parallel-tests and lazy dependencies on EXTRA_PROGRAMS

* tests/parallel-tests-extra-programs.test: New test.
* tests/Makefile.am (TESTS): Update.
* doc/automake.texi (Parallel Test Harness): Add a comment
pointing to the new test.

12 years agodocs: improve, extend and fix documentation on TAP support
Stefano Lattarini [Tue, 2 Aug 2011 10:05:20 +0000 (12:05 +0200)]
docs: improve, extend and fix documentation on TAP support

* doc/automake.texi ("Using the TAP test protocol"): Divide this
section into ...
("Introduction to TAP", "Use TAP with the Automake test harness",
"Incompatibilities with other TAP parsers and drivers", "Links
and external resources"): ... these subsections, extend them by
adding more information and examples, and improve them by removing
incomplete and/or temporary wordings and TODO items.
("Script-based Testsuites", "Parallel Test Harness"): Add a couple
of anchors to improve the granularity of cross-references.
* tests/tap-doc2.test: New test, verifying the correctness of the
new examples given in the manual.
* tests/Makefile.am (tap_other_tests): Add the new test.

12 years agotestsuite: separate the only failing check of an xfailing test
Stefano Lattarini [Mon, 1 Aug 2011 17:10:41 +0000 (19:10 +0200)]
testsuite: separate the only failing check of an xfailing test

* tests/plan-bad-prog.test: Move the only failing check of this
test (i.e., the one about the total number of "ERROR" outcomes)
into ...
* tests/plan-bad-prog2.test: ... this new test.
* tests/Makefile.am (XFAIL_TESTS): Remove `plan-bad-prog.test',
add `plan-bad-prog2.test'.
(tap_other_tests): Add `plan-bad-prog2.test'.
(plan-bad-prog2.log): Depend on `plan-bad-prog.test'.

12 years agotestsuite: fix spurious errors in an xfailing test on TAP support
Stefano Lattarini [Mon, 1 Aug 2011 16:43:30 +0000 (18:43 +0200)]
testsuite: fix spurious errors in an xfailing test on TAP support

* tests/plan-bad-prog.test: Fix typo in the name of the test
being made unreadable.  Correct the wording of the potential
skip message, and simplify the condition under which the test
is to be skipped.  Escape literal dots in grep regexps.

12 years agotestsuite: better granularity in a couple of tests on TAP support
Stefano Lattarini [Mon, 1 Aug 2011 16:32:17 +0000 (18:32 +0200)]
testsuite: better granularity in a couple of tests on TAP support

* tests/tap-summary-aux.sh: New auxiliary script, filled with code
moved out from ...
* tests/tap-summary.test: ... this test, from which the checks on
colored testsuite have further been moved into ...
* tests/tap-summary-color.test: ... this new test, which in turn
* tests/Makefile.am (tap_other_tests): Add `tap-summary-color.test'.
(EXTRA_DIST): Distribute `tap-summary-aux.sh'
(tap-summary.log): Depend on `tap-summary-aux.sh'.
(tap-summary-color.log): Likewise.

12 years agotestsuite: optimize tests on TAP for speed and against duplication
Stefano Lattarini [Mon, 1 Aug 2011 14:14:44 +0000 (16:14 +0200)]
testsuite: optimize tests on TAP for speed and against duplication

The creation and configuration of common files and data used by
many tests on TAP is, with this change, factored out into a new
dedicated auxiliary test, from which those tests will depend upon.
This reduces code duplication in tests and, more importantly,
offers a noticeable speedup in the involved tests (30-40%).

* tests/tap-common-setup.test: New test, setting up the common
files and data used by various tests on TAP support.
* tests/tap-setup.sh: New file, to be sourced by tests wanting to
bring in data generated by `tap-common-setup.test'.
* tests/tap-autonumber.test: Update to use the pre-computed data
files.
* tests/tap-bailout.test: Likewise.
* tests/tap-color.test: Likewise.
* tests/tap-deps.test: Likewise.
* tests/tap-diagnostic.test: Likewise.
* tests/tap-empty-diagnostic.test: Likewise.
* tests/tap-empty.test: Likewise.
* tests/tap-escape-directive.test: Likewise.
* tests/tap-exit.test: Likewise.
* tests/tap-signal.test: Likewise.
* tests/tap-fancy.test: Likewise.
* tests/tap-fancy2.test: Likewise.
* tests/tap-global-log.test: Likewise.
* tests/tap-global-result.test: Likewise.
* tests/tap-html.test: Likewise.
* tests/tap-log.test: Likewise.
* tests/tap-merge-stdout-stderr.test: Likewise.
* tests/tap-no-merge-stdout-stderr.test: Likewise.
* tests/tap-message-0.test: Likewise.
* tests/tap-no-disable-hard-error.test: Likewise.
* tests/tap-no-spurious-summary.test: Likewise.
* tests/tap-no-spurious.test: Likewise.
* tests/tap-not-ok-skip.test: Likewise.
* tests/tap-numeric-description.test: Likewise.
* tests/tap-out-of-order.test: Likewise.
* tests/tap-passthrough.test: Likewise.
* tests/tap-passthrough-exit.test: Likewise.
* tests/tap-plan.test: Likewise.
* tests/tap-plan-corner.test: Likewise.
* tests/tap-plan-corner2.test: Likewise.
* tests/tap-plan-errors.test: Likewise.
* tests/tap-realtime.test: Likewise.
* tests/tap-recheck-logs.test: Likewise.
* tests/tap-skip-whole.test: Likewise.
* tests/tap-todo-skip-together.test: Likewise.
* tests/tap-todo-skip-whitespace.test: Likewise.
* tests/tap-todo-skip.test: Likewise.
* tests/tap-unplanned.test: Likewise.
* tests/tap-with-and-without-number.test: Likewise.
* tests/tap-xfail-tests.test: Likewise.
* tests/tap-skip-whole-whitespace.test: Likewise, and remove
redundant definitions of `$sp' and `$tab' (they are already
defined in `tests/defs').
* tests/tap-whitespace-normalization.test: Likewise.
* tests/Makefile.am (TESTS): Update.
(EXTRA_DIST): Distribute `tap-setup.sh'.
(tap_with_common_setup_tests, tap_with_common_setup_logs)): New
variables, holding respectively the list of tests using the files
pre-computed by `tap-common-setup.test', and the list of their
corresponding log files.
(tap_other_tests): New variable, holding the list of other tests
on TAP support.
($(tap_with_common_setup_logs)): Depend on `tap-common-setup.log'
and `tap-setup.sh'.

12 years agotest harness: use new `.trs' files to hold test metadata
Stefano Lattarini [Thu, 28 Jul 2011 10:25:22 +0000 (12:25 +0200)]
test harness: use new `.trs' files to hold test metadata

With this change, the test harness will keep test metadata in
dedicated `.trs' files, instead of having them embedded into the
`.log' files.  This allows for easier forward-compatibility and
extension of test metadata, and for more flexibility in the
format of the `.log' files.  Note that this change makes the
`:end-metadata:' field obsolete.

* doc/automake.texi (Parallel Test Harness, Log files generation
and test results recording): Document the new APIs and behaviour;
some related minor rewordings and fixlets.
* NEWS: Update.
* automake.in (handle_tests): When bringing in the content of
`check2.am', substitute %BASE% with the basename of the `.log'
file being created by a rule.  Add the generated `.trs' files
to the list of files to be cleaned by "make mostlyclean".
* lib/am/check.am (am__test_driver_flags): Rename ...
(am__common_driver_flags): ... to this, and remove the flags
`--test-name' and `--log-file' from it: they are now define in
the proper rules in `check2.am'.
(am__TEST_BASES): New internal variable, holding the names of
the tests, with any registered extension removed.
(am__stealth_MAKE): New internal variable, can be used instead of
$(MAKE) in recipes requiring a recursive call to make, but which
are not intended to be executed by "make -n".
(.log.trs): New suffix rule, to recover from deletion of `.trs'
files.
($(TEST_SUITE_LOG)): Almost completely rewritten to follow the
new API of "test logs in `.log' files, test metadata in `.trs'
files".  It goes to some length to work correctly in face of
unreadable or missing `.log' and `.trs' files, and to error out
with proper error messages when this is not possible.
[%?PARALLEL_TESTS%] (check-TESTS): Also remove relevant "stale"
`.trs' files (in addition to `.log files) before remaking the
$(TEST_SUITE_LOG).
(recheck, recheck-html): Look for the `:recheck:' field in the
`.trs' files, not in the `.log' files.
* lib/am/check2.am (?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Adjust
the call to the test driver, in particularly passing the new
option `--trs-file'.
[%am__EXEEXT%] (?GENERIC?%EXT%$(EXEEXT).log): Likewise.
* lib/tap-driver ($USAGE): Adjust the help screen.
(Getopt::Long::GetOptions): Handle the `--trs-file' option,
through the use of ...
($trs_file): ... this new global variable.
(finish): Write metadata for the test run to `$trs_file' rather
then to `$log_file', through the use of ...
(write_test_results): ... this new function.
* lib/test-driver (print_usage): Update the help screen.
(Option parsing): Handle the `--trs-file' option, through the
use of ...
($resfile): ... this new global variable.
(Main code): Write metadata for the test run to `$trsfile' rather
than to `$logfile'.
Minor related adjustments to comments.
* tests/.gitignore: Ignore `*.trs' files.
* tests/parallel-tests-unreadable-log.test: Moved ...
* tests/parallel-tests-unreadable.test: ... to this, and extended
to also check the semantics for unreadable `.trs' files.
* tests/test-driver-end-metadata.test: Deleted as obsolete.
* tests/test-driver-metadata-no-leading-space.test: Likewise.
* tests/test-driver-global-log.test: Renamed ...
* tests/test-metadata-global-log.test: ... to this, and modified
as to verify the new APIs and semantics.
* tests/test-driver-recheck: Renamed ...
* tests/test-metadata-recheck.test: ... to this, and modified
likewise.
* tests/parallel-tests-once.test: New test.
* tests/parallel-tests-make-n.test: Likewise.
* test-metadata-results.test: Likewise.
* test-missing.test: Likewise.
* test-missing2.test: Likewise.
* test-trs-basic.test: Likewise.
* test-trs-recover.test: Likewise.
* test-trs-recover2.test: Likewise.
* tests/Makefile.am (TESTS): Update.

12 years agotest harness: allow more metadata in log files
Stefano Lattarini [Tue, 26 Jul 2011 12:51:20 +0000 (14:51 +0200)]
test harness: allow more metadata in log files

This change reworks and improves the parallel test harness to use
more specialized reStructuredText fields in the log files (instead
of relying on specially-placed of "magic lines" and more indirect
semantical formatting); the new fields are the following:
 - ":recheck:": tell whether the associated test will have to be
   re-run by "make recheck";
 - ":copy-in-global-log:": tell whether the content of the log
   file should be copied in the "global log" `test-suite.log';
 - ":end-metadata:", which inhibits the scanning of the rest of
   the log file (for what concerns test metadata).
Also, the special `:test-result:' value "END" has been removed,
superseded by the new `:end-metadata:' field.

* doc/automake.texi (Log files generation and test results
recording): Document the new API and semantics.  Remove or fix
some obsolete comments.
* lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
Adjust comments and code.
* lib/tap-driver (finish): Adjust, with the help of ...
(must_recheck, copy_in_global_log): ... these new functions.
* lib/test-driver (Main code): Adjust, with the help of ...
($recheck, $gcopy): ... these new variables.
* tests/trivial-test-driver: Update to obey the new APIs.
* tests/test-driver-recheck.test: Likewise.
* tests/test-driver-global-log.test: Likewise.
* tests/tap-passthrough.test: Relax the test, avoiding to check
what is written in `test-suite.log'; such check has been moved ...
* tests/tap-global-log.test: ... in this new test, and extended.
* tests/test-driver-metadata-no-leading-space.test: New test.
* tests/test-driver-end-test-results.test: Removed, it checked
the old APIs; superseded by ...
* tests/test-driver-end-metadata.test: ... this new test.
* tests/tap-log.test: Improve syncing with ...
* tests/test-log.test: ... this new test.
* tests/parallel-tests.test: Remove some duplication w.r.t. this
last new test.  Updated heading comments.
* tests/Makefile.am (TESTS): Update.

12 years agotestsuite: fix a spurious failure with non-bash shells
Stefano Lattarini [Wed, 27 Jul 2011 14:34:30 +0000 (16:34 +0200)]
testsuite: fix a spurious failure with non-bash shells

* tests/tap-fancy2.test: Remove an unportable use of backslashes
with the `echo' builtin, which was causing some shells (among them
bash and Debian /bin/ksh) to print a `\\' string, while other
shells (among them zsh, dash, and Solaris /bin/sh and /bin/ksh)
were unexpectedly printing a single `\' character.  Since we are
at it, add a sanity check to ensure that this issue does not
resurface.

12 years agotestsuite: fix spurious failures with Solaris /bin/sh
Stefano Lattarini [Wed, 27 Jul 2011 13:33:13 +0000 (15:33 +0200)]
testsuite: fix spurious failures with Solaris /bin/sh

* tests/tap-more.test: Use `echo > file', not `: > file', to
create empty files in the "for" loops; this is required since,
as documented in the autoconf manual, Solaris 10 /bin/sh
"optimizes" away the `:' command after the first iteration,
even if it is redirected.
* tests/test-driver-custom-multitest-recheck2.test: Likewise.
* tests/tap-numeric-description.test: Partial rewrite to avoid
using positional parameters from the 10th onward, which are
unportable to Solaris /bin/sh (using `${10}' causes the shell
to die with "bad substitution").

12 years agosimple tests: support developer-defined fd redirections
Stefano Lattarini [Sun, 24 Jul 2011 14:47:24 +0000 (16:47 +0200)]
simple tests: support developer-defined fd redirections

Motivated by coreutils bug#8846, and related discussions:
 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
 <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
In those threads it has been shown how problematic it can be to do
portable file descriptor redirections in the testsuite when using
the Automake testsuite harness.  This change should remedy to that
situation.

* lib/am/check2.am (?GENERIC?%EXT%$(EXEEXT).log,
?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Append redirection defined
in $(AM_TESTS_FD_REDIRECT) to the command-line invocations of the
test scripts.
* lib/am/check.am [!%?PARALLEL_TESTS%] $(check-TESTS): Likewise.
* NEWS: Update.
* doc/automake.texi (Script-based Testsuites): Document the new
feature.
* tests/check-fd-redirect.test: New test.
* tests/parallel-tests-fd-redirect.test: Likewise.
* tests/parallel-tests-am_tests_environment.test: Remove checks
about the use of redirections in AM_TESTS_ENVIRONMENT: they would
check deprecated (if not undefined) behaviour now.  Strengthen a
couple of still valid checks, to keep the test more in sync with
the documentation.  Improve debugging information.
* tests/Makefile.am (TESTS): Update.

12 years agodocs: rework and extend documentation on testsuites support
Stefano Lattarini [Thu, 21 Jul 2011 15:07:54 +0000 (17:07 +0200)]
docs: rework and extend documentation on testsuites support

* doc/automake.texi (Generalities about Testing): New section.
(Simple Tests using parallel-tests): Section removed, merged
into ...
(Simple Tests): ... this one, which on the other hand has been
subdivided into ...
(Script-based Testsuites, Serial Test Harness, Parallel Test
Harness): ... these new subsection.
(DejaGnu Tests): Minor adjustments.
Other related typofixes and rewordings throughout the manual;
in particular, avoid to use the term "test driver" for three
different concepts (and use instead "test harness" and "test
runner" where appropriate).
* tests/tap-doc.test: New test.
* tests/tap-no-disable-hard-error.test: Likewise.
* tests/Makefile.am (TESTS): Update.

12 years agotap: support colorization of testsuite progress output
Stefano Lattarini [Sun, 17 Jul 2011 14:46:41 +0000 (16:46 +0200)]
tap: support colorization of testsuite progress output

* lib/tap-driver (%COLORS): New variable (definition extracted
from `lib/am/check.am:$(am__tty_colors)', with some obvious
adjustments.
(report): Adjust to colorize console output when required,
using ...
(decorate_result): ... this new function.
(colored): New function, used by the one above.
* tests/tap-summary.test: Also run the checks when `color-tests'
is in use.
* tests/Makefile.am (XFAIL_TESTS): Remove `tap-color.test'.

12 years agotap: some preparatory refactoring (2)
Stefano Lattarini [Sun, 17 Jul 2011 14:04:06 +0000 (16:04 +0200)]
tap: some preparatory refactoring (2)

This is a follow-up simplification.

* lib/tap-driver (console_output): Renamed ...
(report): ... to this, and extended to appropriately register
the test results when needed.
(testsuite_error, handle_tap_comment, handle_tap_test,
handle_tap_plan): Adjusted accordingly.

12 years agotap: some preparatory refactoring (1)
Stefano Lattarini [Sun, 17 Jul 2011 13:18:51 +0000 (15:18 +0200)]
tap: some preparatory refactoring (1)

This refactoring is aimed at simplifying the introduction of
colored console output for the TAP driver.

* lib/tap-driver (console_output): Now accept two arguments, the
first one indicating which kind of thing is to be displayed (for
now only a test result or a diagnostic comment), and the second
one (if present) the message associated to it.
(handle_tap_test, handle_tap_comment, handle_tap_plan,
testsuite_error): Adapt to the new `console_output' interface.

12 years agotap: add experimental TAP-aware driver
Stefano Lattarini [Sun, 3 Jul 2011 17:20:22 +0000 (19:20 +0200)]
tap: add experimental TAP-aware driver

* doc/automake.texi (Using the TAP test protocol): New section.
(Overview of Custom Test Drivers Support): Minor updates.
* lib/tap-driver: New script, TAP-aware test driver for Automake;
implemented in perl and based on TAP::Parser.
* lib/Makefile.am (dist_script_DATA): Add it.
* tests/tap-autonumber.test: New test.
* tests/tap-bailout.test: Likewise.
* tests/tap-basic.test: Likewise.
* tests/tap-deps.test: Likewise.
* tests/tap-diagnostic.test: Likewise.
* tests/tap-empty.test: Likewise.
* tests/tap-empty-diagnostic.test: Likewise.
* tests/tap-escape-directive.test: Likewise.
* tests/tap-exit.test: Likewise.
* tests/tap-fancy.test: Likewise.
* tests/tap-fancy2.test: Likewise.
* tests/tap-global-result.test: Likewise.
* tests/tap-html.test: Likewise.
* tests/tap-log.test: Likewise.
* tests/tap-merge-stdout-stderr.test: Likewise.
* tests/tap-more.test: Likewise.
* tests/tap-more2.test: Likewise.
* tests/tap-no-merge-stdout-stderr.test: Likewise.
* tests/tap-no-spurious-summary.test: Likewise.
* tests/tap-no-spurious.test: Likewise.
* tests/tap-not-ok-skip.test: Likewise.
* tests/tap-numeric-description.test: Likewise.
* tests/tap-out-of-order.test: Likewise.
* tests/tap-passthrough.test: Likewise.
* tests/tap-plan.test: Likewise.
* tests/tap-plan-errors.test: Likewise.
* tests/tap-plan-corner.test: Likewise.
* tests/tap-realtime.test: Likewise.
* tests/tap-recheck-logs.test: Likewise.
* tests/tap-recheck.test: Likewise.
* tests/tap-skip-whole.test: Likewise.
* tests/tap-summary.test: Likewise.
* tests/tap-todo-skip.test: Likewise.
* tests/tap-todo-skip-together.test: Likewise.
* tests/tap-todo-skip-whitespace.test: Likewise.
* tests/tap-skipall-whitespace.test: Likewise.
* tests/tap-unplanned.test: Likewise.
* tests/tap-whitespace-normalization.test: Likewise.
* tests/tap-with-and-without-number.test: Likewise.
* tests/tap-xfail-tests.test: Likewise.
* tests/tap-bad-prog.test: New xfailing test.
* tests/tap-color.test: Likewise.
* tests/tap-plan-corner2.test: Likewise.
* tests/tap-message-0.test: Likewise.
* tests/tap-signal.test: Likewise.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Update.

12 years agotest defs: new auxiliary function 'count_test_results'
Stefano Lattarini [Mon, 4 Jul 2011 16:12:07 +0000 (18:12 +0200)]
test defs: new auxiliary function 'count_test_results'

* tests/defs (count_test_results): New function.
* tests/check11.test: Use it.
* tests/test-driver-custom-multitest.test: Likewise.
* tests/test-driver-custom-multitest-recheck.test: Likewise.
* tests/test-driver-custom-multitest-recheck2.test: Likewise.
* tests/parallel-tests-log-override-recheck.test: Likewise.
* tests/parallel-tests-log-override-recheck.test: Likewise.
* tests/parallel-tests-no-spurious-summary.test: Likewise, and
slightly improve debugging output.
* tests/parallel-tests.test: Make use of `count_test_results'.
Also, make grepping of "make check" output slightly stricter
* tests/parallel-tests9.test: Likewise.
* tests/parallel-tests-log-override-2.test: Likewise, and throw
in a small optimization.

12 years agoMerge branch 'master' into testsuite-work
Stefano Lattarini [Sun, 24 Jul 2011 09:17:37 +0000 (11:17 +0200)]
Merge branch 'master' into testsuite-work

* master:
  tests: relax a test on amhello examples to cater to Solaris tar
  test defs: function 'is_newest' now works also with directories
  docs: add references between the 2 sections on java support
  Sync auxiliary files from upstream.

12 years agoMerge branch 'maint'
Stefano Lattarini [Sun, 24 Jul 2011 09:17:11 +0000 (11:17 +0200)]
Merge branch 'maint'

* maint:
  tests: relax a test on amhello examples to cater to Solaris tar

12 years agotests: small enhancement to 'primary3.test'
Stefano Lattarini [Sun, 24 Jul 2011 09:11:06 +0000 (11:11 +0200)]
tests: small enhancement to 'primary3.test'

* tests/primary3.test: Also test that the program named `foo.la'
has been effectively created.

12 years agotests: a small simplification in 'pr8365-remake-timing.test'
Stefano Lattarini [Sun, 24 Jul 2011 09:05:38 +0000 (11:05 +0200)]
tests: a small simplification in 'pr8365-remake-timing.test'

* tests/pr8365-remake-timing.test: Avoid redundant definition
and use of `$save_AUTOCONF' variable.

12 years agotests: remove an extra leading blank line
Stefano Lattarini [Sun, 24 Jul 2011 08:56:06 +0000 (10:56 +0200)]
tests: remove an extra leading blank line

* tests/override-conditional-1.test: Remove extra blank line
placed before the shebang line.

12 years agoMerge branch 'fix-amhello-examples-tests' into maint
Stefano Lattarini [Sat, 23 Jul 2011 13:10:07 +0000 (15:10 +0200)]
Merge branch 'fix-amhello-examples-tests' into maint

* fix-amhello-examples-tests:
  tests: relax a test on amhello examples to cater to Solaris tar

12 years agotests: relax a test on amhello examples to cater to Solaris tar
Stefano Lattarini [Sat, 23 Jul 2011 13:09:23 +0000 (15:09 +0200)]
tests: relax a test on amhello examples to cater to Solaris tar

* tests/amhello-binpkg.test: When the tar implementation in use
is not GNU tar, relax the tests on tar output, to avoid spurious
failures.  For example, "tar cvf ..." with GNU tar can output
lines like "./usr/bin/hello" on the standard output, while with
Solaris tar it can output lines like "a ./usr/bin/hello 8K" on
standard output, and with Heirloom tar it can output lines like
"a ./usr/bin/hello 15 tape blocks" on standard error.

12 years agotest defs: function 'is_newest' now works also with directories
Stefano Lattarini [Sat, 23 Jul 2011 11:55:20 +0000 (13:55 +0200)]
test defs: function 'is_newest' now works also with directories

* tests/defs (is_newest): Call `find' with the `-prune' option,
so that it won't descend in the directories (which could cause
spurious results).
* tests/self-check-is_newest: Extend accordingly.

From a report by Jim Meyering, see automake bug#9147.

12 years agoMerge branch 'maint'
Stefano Lattarini [Fri, 22 Jul 2011 08:27:13 +0000 (10:27 +0200)]
Merge branch 'maint'

* maint:
  docs: add references between the 2 sections on java support

12 years agodocs: add references between the 2 sections on java support
Benoit Sigoure [Fri, 15 Jul 2011 23:49:45 +0000 (16:49 -0700)]
docs: add references between the 2 sections on java support

* doc/automake.texi (Java Support, Java): Add cross-references.

12 years agoparallel-tests: simplify testsuite summary
Stefano Lattarini [Fri, 1 Jul 2011 09:12:31 +0000 (11:12 +0200)]
parallel-tests: simplify testsuite summary

Prefer a more deterministic, "tabular" format for the testsuite
summary, always listing the numbers of passed, failed, xfailed,
xpassed, skipped and errored tests, even when these numbers are
zero.  This simplify the logic of testsuite summary creation,
makes it more easily machine-parseable, and will probably allow
for easier addition of new kinds of test results in the future.

* lib/am/check.am (am__tty_colors_dummy): New make variable, to
reduce code duplication.  Extracted from previous versions of
$(am__tty_colors), and extended by defining two new variables
`$mgn' and `$brg'.
[%?COLOR%, %!?COLOR%] (am__tty_colors): Use that new variable.
(am__text_box): Delete, is not needed anymore.
($(TEST_SUITE_LOG)): Rewrite associated rules to implement the
new testsuite summary format.
* NEWS: Update.
* tests/check10.test: Don't run with the parallel-tests harness
too, that makes no sense anymore.
* tests/color.test: Update and adjust.
* tests/color2.test: Likewise.
* tests/parallel-tests.test: Likewise.
* tests/parallel-tests3.test: Likewise.
* tests/parallel-tests6.test: Likewise.
* tests/parallel-tests9.test: Likewise.
* tests/parallel-tests-unreadable-log.test: Likewise.
* tests/parallel-tests-empty-testlogs.test: Likewise.
* tests/parallel-tests-log-override-recheck.test: Likewise.
* tests/parallel-tests-no-spurious-summary.test: Likewise.
* tests/test-driver-custom-multitest.test: Likewise.
* tests/test-driver-end-test-results.test: Likewise.
* tests/parallel-tests-no-color-in-log.test: New test.
* tests/testsuite-summary-color.test: Likewise.
* tests/testsuite-summary-count.test: Likewise.
* tests/testsuite-summary-count-many.test: Likewise.
* tests/testsuite-summary-reference-log.test: Likewise.
* tests/testsuite-summary-checks.sh: New auxiliary script, used
by the new tests above.
* tests/extract-testsuite-summary: Likewise.
* tests/trivial-test-driver: Optimize for speed when there are
lots of of tests.
* tests/Makefile.am (EXTRA_DIST): Distribute them.
(testsuite-summary-color.log, testsuite-summary-count.log): Depend
on them.
(testsuite-summary-count-many.log): Depend on the auxiliary scripts
'trivial-test-driver' and 'extract-testsuite-summary'.
(TESTS): Update.

12 years agoparallel-tests: new recognized test result 'ERROR'
Stefano Lattarini [Thu, 30 Jun 2011 12:55:43 +0000 (14:55 +0200)]
parallel-tests: new recognized test result 'ERROR'

* lib/am/check.am ($(TEST_SUITE_LOG)): Recognize a new test result
`ERROR'.  Use it when encountering unreadable test logs (previously
a simple `FAIL' was used in this situations).
* lib/test-driver: Set the global test result to `ERROR' when the
test exit status is 99.  When doing colorized output, color `ERROR'
results in magenta.
* doc/automake.texi (Log files generation and test results
recording): Update by also listing `ERROR' among the list of valid
`:test-results:' arguments.
* NEWS: Update.
* tests/trivial-test-driver: Update.
* tests/parallel-tests.test: Likewise.
* tests/parallel-tests-harderror.test: Likewise.
* tests/parallel-tests-no-spurious-summary.test: Likewise.
* tests/test-driver-global-log.test: Likewise.
* tests/test-driver-recheck.test: Likewise.
* tests/test-driver-custom-multitest-recheck.test: Likewise.
* tests/test-driver-custom-multitest-recheck2.test: Likewise.
* tests/test-driver-custom-multitest.test: Likewise.
* tests/test-driver-custom-no-html.test: Likewise.
* tests/test-driver-end-test-results.test: Likewise.
* tests/color.test: Likewise.  Also, make stricter, and also test
from VPATH.
* tests/color2.test: Likewise, and improve syncing with color.test.
* tests/parallel-tests-exit-statuses.test: New test.
* tests/parallel-tests-console-output.test: Likewise.
* tests/Makefile.am (TESTS): Update.

12 years agoMerge branch 'maint'
Ralf Wildenhues [Wed, 20 Jul 2011 21:35:32 +0000 (23:35 +0200)]
Merge branch 'maint'

12 years agoSync auxiliary files from upstream.
Ralf Wildenhues [Wed, 20 Jul 2011 21:31:54 +0000 (23:31 +0200)]
Sync auxiliary files from upstream.

* INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
lib/texinfo.tex: Sync from upstream.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12 years agotests: fix typos, grammaros and other blunders in comments
Stefano Lattarini [Fri, 15 Jul 2011 22:19:56 +0000 (00:19 +0200)]
tests: fix typos, grammaros and other blunders in comments

12 years agotest defs: new subroutine 'seq_', simulating GNU seq(1)
Stefano Lattarini [Sat, 16 Jul 2011 08:55:05 +0000 (10:55 +0200)]
test defs: new subroutine 'seq_', simulating GNU seq(1)

* tests/defs (seq_): New subroutine.
* tests/instmany.test: Use it.
* tests/instmany-mans.test: Likewise.
* tests/instmany-python.test: Likewise.
* tests/self-check-seq.test: New self test.
* tests/Makefile.am (TESTS): Update.

12 years agotests: remove duplication about testing of config.* aux files
Stefano Lattarini [Sat, 16 Jul 2011 08:50:24 +0000 (10:50 +0200)]
tests: remove duplication about testing of config.* aux files

* tests/add-missing.test: Also check that the `AC_CANONICAL_SYSTEM'
autoconf macro causes the `config.sub' and `config.guess' scripts
to be installed by `automake --add-missing'.  Since we are at it,
fix minor buglets and cosmetic issues in the `check_' function.
* tests/hosts.test: Removed, completely subsumed by the previous
test now.
* tests/Makefile.am (TESTS): Update.

12 years agotests: more uses of the 'unindent' subroutine
Stefano Lattarini [Sat, 16 Jul 2011 08:37:55 +0000 (10:37 +0200)]
tests: more uses of the 'unindent' subroutine

* tests/backcompat.test: Prefer `unindent' over plain `cat' for
here documents created from within a loop of if/else body.
* tests/backcompat2.test: Likewise.
* tests/backcompat4.test: Likewise.
* tests/init.test: Likewise.
* tests/instmany.test: Likewise.
* tests/instmany-mans.test: Likewise.
* tests/instmany-python.test: Likewise.
* tests/missing5.test: Likewise.
* tests/parallel-am2.test : Likewise.
* tests/parallel-am3.test : Likewise.
* tests/pr307.test: Likewise.
* tests/depend4.test: Likewise.  Since we are at it, normalize
other code formatting.
* tests/instfail-java.test: Prefer `echo' over `cat' + here-doc
inside a for loop.

12 years agotests: avoid '##'-style comments inside recipe commands
Stefano Lattarini [Sat, 16 Jul 2011 08:04:58 +0000 (10:04 +0200)]
tests: avoid '##'-style comments inside recipe commands

* tests/autodist.test: Do not whitespace-indent `##' comments when
they are embedded in a makefile rule: having them indented is not
part of the Automake API, and might cause failures with e.g., Tru64
make.
* tests/autodist-subdir.test: Likewise.
* tests/backcompat.test: Likewise.
* tests/backcompat6.test: Likewise.
* tests/colon7.test: Likewise.
* tests/posixsubst-scripts.test: Likewise.
* tests/posixsubst-sources.test: Likewise.

12 years agotests: tweak, improve and extend tests on lisp support
Stefano Lattarini [Fri, 15 Jul 2011 19:07:29 +0000 (21:07 +0200)]
tests: tweak, improve and extend tests on lisp support

* tests/lisp2.test: Prettify, and improve debugging output.  Make
grepping of automake stderr stricter.
* tests/lisp7.test: Ensure verbose printing of captured make
output.  Add trailing `:' command.
* tests/lisp8.test: Likewise.
* tests/lisp3.test: Likewise.  Also, check that `.el' files and
compiled `.elc' files get installed by "make install", and
uninstalled by "make uninstall".
* tests/lisp4.test: Ensure installed `.el' files gets removed by
"make uninstall".  Related changes.  Add trailing `:' command.
* tests/lisp5.test: Likewise.
* tests/lisp6.test: Use proper m4 quoting in configure.in.  Fix
use of blank lines, to improve clarity and symmetry.  Fix typo in
comment.  Add trailing `:' command.

12 years agotests: drop useless requirement in 'license.test'
Stefano Lattarini [Fri, 15 Jul 2011 14:45:33 +0000 (16:45 +0200)]
tests: drop useless requirement in 'license.test'

* tests/license.test: Drop  useless requirement "makeinfo".  Add
an extra blank line, for clarity.

12 years agoMerge branch 'master' into testsuite-work
Stefano Lattarini [Fri, 8 Jul 2011 09:58:40 +0000 (11:58 +0200)]
Merge branch 'master' into testsuite-work

* master:
  fix typo in recent ChangeLog entry
  docs, tests: synchronize examples on silent-rules from config.site
  tests: fix weakness in 'tests-environment-backcompat.test'

12 years agoMerge branch 'maint'
Stefano Lattarini [Fri, 8 Jul 2011 09:57:19 +0000 (11:57 +0200)]
Merge branch 'maint'

* maint:
  fix typo in recent ChangeLog entry
  docs, tests: synchronize examples on silent-rules from config.site
  tests: fix weakness in 'tests-environment-backcompat.test'

12 years agoMerge branch 'fix-tests-environment-backcompat-example' into maint
Stefano Lattarini [Fri, 8 Jul 2011 08:48:23 +0000 (10:48 +0200)]
Merge branch 'fix-tests-environment-backcompat-example' into maint

* fix-tests-environment-backcompat-example:
  tests: fix weakness in 'tests-environment-backcompat.test'

12 years agoMerge branch 'fix-changelog-typo' into maint
Stefano Lattarini [Fri, 8 Jul 2011 08:48:22 +0000 (10:48 +0200)]
Merge branch 'fix-changelog-typo' into maint

* fix-changelog-typo:
  fix typo in recent ChangeLog entry

12 years agoMerge branch 'doc-silent-rules-reference-config-site-test' into maint
Stefano Lattarini [Fri, 8 Jul 2011 08:48:22 +0000 (10:48 +0200)]
Merge branch 'doc-silent-rules-reference-config-site-test' into maint

* doc-silent-rules-reference-config-site-test:
  docs, tests: synchronize examples on silent-rules from config.site

12 years agofix typo in recent ChangeLog entry
Stefano Lattarini [Fri, 8 Jul 2011 08:45:53 +0000 (10:45 +0200)]
fix typo in recent ChangeLog entry

12 years agodocs, tests: synchronize examples on silent-rules from config.site
Stefano Lattarini [Fri, 8 Jul 2011 08:43:33 +0000 (10:43 +0200)]
docs, tests: synchronize examples on silent-rules from config.site

* doc/automake.texi (Automake silent-rules Option): Reference test
'silent-configsite.test' in comments.

12 years agotests: fix weakness in 'tests-environment-backcompat.test'
Stefano Lattarini [Fri, 8 Jul 2011 08:34:54 +0000 (10:34 +0200)]
tests: fix weakness in 'tests-environment-backcompat.test'

* tests/tests-environment-backcompat.test: Do not override the
content of xfailing test `baz.test' with a "weaker" version that
fails unconditionally: the test must fail only when the 'strict'
pragma is in use, in order not to reduce coverage.

12 years agotests defs: more uses of $top_testsrcdir
Stefano Lattarini [Fri, 8 Jul 2011 08:23:38 +0000 (10:23 +0200)]
tests defs: more uses of $top_testsrcdir

* tests/autodist-stamp-vti.test: Use `$top_testsrcdir' instead
of `$testsrcdir/..'.
* tests/repeated-options.test: Likewise.
* tests/suffix5.test: Likewise.
* tests/vtexi3.test: Likewise.

12 years agoself tests: fix typo in comment
Stefano Lattarini [Fri, 8 Jul 2011 08:17:00 +0000 (10:17 +0200)]
self tests: fix typo in comment

* tests/self-check-exit.test: Fix typo in heading comments.

12 years agotests: remove redundant settings of `errexit' shell flag
Stefano Lattarini [Fri, 8 Jul 2011 08:14:38 +0000 (10:14 +0200)]
tests: remove redundant settings of `errexit' shell flag

* tests/amhello-binpkg.test: Do not set the `errexit' shell
flag, as it is already set by `tests/defs'.
* tests/amhello-cflags.test: Likewise.
* tests/amhello-cross-compile.test: Likewise.
* tests/ansi2knr-deprecation.test: Likewise.
* tests/autodist-no-duplicate.test: Likewise.
* tests/distcheck-configure-flags-am.test: Likewise.
* tests/distcheck-configure-flags-subpkg.test: Likewise.
* tests/distcheck-configure-flags.test: Likewise.
* tests/distcheck-hook.test: Likewise.
* tests/distcheck-hook2.test: Likewise.
* tests/parallel-tests-am_tests_environment.test: Likewise.
* tests/parallel-tests-harderror.test: Likewise.
* tests/parallel-tests-log-compiler-example.test: Likewise.
* tests/parallel-tests-log-override-1.test: Likewise.
* tests/parallel-tests-log-override-2.test: Likewise.
* tests/parallel-tests-log-override-recheck.test: Likewise.
* tests/primary-prefix-couples-documented-valid.test: Likewise.
* tests/primary-prefix-couples-force-valid.test: Likewise.
* tests/primary-prefix-invalid-couples.test: Likewise.
* tests/primary-prefix-valid-couples.test: Likewise.
* tests/remake-subdir-from-subdir.test: Likewise.
* tests/remake-subdir-gnu.test: Likewise.
* tests/remake-subdir-long-time.test: Likewise.
* tests/remake-subdir.test: Likewise.
* tests/remake-subdir2.test: Likewise.
* tests/silent-configsite.test: Likewise.
* tests/tests-environment-backcompat.test: Likewise.

12 years agoMerge branch 'master' into testsuite-work
Stefano Lattarini [Fri, 8 Jul 2011 07:56:33 +0000 (09:56 +0200)]
Merge branch 'master' into testsuite-work

* master:
  tests: portability fixes in tests on amhello examples
  remake: add test ensuring that slower remakes don't hang
  remake: fix outdated comment in configure.am

12 years agoMerge branch 'maint'
Stefano Lattarini [Fri, 8 Jul 2011 07:54:38 +0000 (09:54 +0200)]
Merge branch 'maint'

* maint:
  tests: portability fixes in tests on amhello examples
  remake: add test ensuring that slower remakes don't hang
  remake: fix outdated comment in configure.am

12 years agoMerge branch 'fix-amhello-examples-tests' into maint
Stefano Lattarini [Fri, 8 Jul 2011 07:41:27 +0000 (09:41 +0200)]
Merge branch 'fix-amhello-examples-tests' into maint

* fix-amhello-examples-tests:
  tests: portability fixes in tests on amhello examples

12 years agotests: portability fixes in tests on amhello examples
Stefano Lattarini [Wed, 6 Jul 2011 08:31:03 +0000 (10:31 +0200)]
tests: portability fixes in tests on amhello examples

* tests/amhello-binpkg.test: Don't use "tar xzf too.tag.gz" to
extract a gzip-compressed tarball, that's unportable to some
tar implementations; use the "gzip -dc fo.tar.gz | tar xf -"
idiom instead.
* tests/amhello-cflags.test: Likewise.
* tests/amhello-cross-compile.test: Likewise.

Suggestion from Ralf Wildenhues.

12 years agoparallel-tests: make parsing of test results safer
Stefano Lattarini [Wed, 29 Jun 2011 14:02:52 +0000 (16:02 +0200)]
parallel-tests: make parsing of test results safer

The new code for parsing the testsuite-generated `.log' files,
as introduced in commit `v1.11-872-gc96b881', considers each
`:test-result:' field anywhere in a `.log' file as a declaration
of a test result, and accounts for it as such in the testsuite
summary.  Unfortunately this could easily cause spurious test
failures being reported in the testsuite summary.  This happened
in practice with the Automake's own testsuite; for example:

  $ make check TESTS='check12-p.test'; echo exit: $?
  ...
  PASS: check12-p.test
  =====================================
  4 of 5 tests failed
  See tests/test-suite.log
  Please report to bug-automake@gnu.org
  =====================================
  make[2]: *** [test-suite.log] Error 1
  make: *** [check-am] Error 2
  exit: 2

This change introduces a new special `:test-result:' "END", that,
when seen, prevents the rest of the log file from being parsed.

For more information, refer to the thread:
<http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00199.html>

* lib/am/check.am ($(TEST_SUITE_LOG)): Stop the parsing of a log
file as soon as the special ":test-result:END" directive is seen.
Related changes and enhancements.
* lib/test-driver: Protect the rest of the log after the result
lined with a ":test-result:END" directive.
* tests/parallel-tests-no-spurious-summary.test: New test.
* tests/test-driver-end-test-results.test: Likewise.
* tests/Makefile.am (TESTS): Update.

12 years agoMerge branch 'remake-rules-non-GNU-make' into maint
Stefano Lattarini [Mon, 4 Jul 2011 09:44:39 +0000 (11:44 +0200)]
Merge branch 'remake-rules-non-GNU-make' into maint

* remake-rules-non-GNU-make:
  remake: add test ensuring that slower remakes don't hang
  remake: fix outdated comment in configure.am

12 years agoremake: add test ensuring that slower remakes don't hang
Stefano Lattarini [Mon, 4 Jul 2011 09:41:34 +0000 (11:41 +0200)]
remake: add test ensuring that slower remakes don't hang

* tests/remake-subdir-long-time.test: New test.
* tests/Makefile.am (TESTS): Update.

Suggestion by Ralf Wildenhues.

12 years agoremake: fix outdated comment in configure.am
Stefano Lattarini [Mon, 4 Jul 2011 08:54:02 +0000 (10:54 +0200)]
remake: fix outdated comment in configure.am

* lib/am/configure.am: Fix comment falsified by changes in
commit `v1.11-366-gbee9871'.

Suggestion by Ralf Wildenhues.

12 years agoMerge branch 'master' into testsuite-work
Stefano Lattarini [Sun, 3 Jul 2011 13:46:55 +0000 (15:46 +0200)]
Merge branch 'master' into testsuite-work

* master:
  docs, tests: synchronize examples from docs to tests

12 years agoMerge branch 'maint'
Stefano Lattarini [Sun, 3 Jul 2011 13:45:02 +0000 (15:45 +0200)]
Merge branch 'maint'

* maint:
  docs, tests: synchronize examples from docs to tests

12 years agodocs, tests: synchronize examples from docs to tests
Stefano Lattarini [Thu, 30 Jun 2011 18:05:25 +0000 (20:05 +0200)]
docs, tests: synchronize examples from docs to tests

* tests/README (Writing test cases): Give suggestions on how to
keep test cases and examples in the documentation synchronized.
* doc/automake.texi: Improve or fix existing testcase-referencing
comments, and add many new ones.
* HACKING (Administrivia): Suggest to test complex examples and
idioms from the manual.
* tests/specflg8.test: Improve synchronization with the example
in the manual.
* tests/output11.test:Likewise.
* tests/txinfo21.test:Likewise.
* tests/interp.test: Likewise.  Since we are at it, and enable
the `errexit' shell flag, do related changes, and add trailing
`:'command.
* tests/amhello-cflags.test: New test.
* tests/amhello-cross-compile.test: Likewise.
* tests/amhello-binpkg.test: Likewise.
* tests/tests-environment-backcompat: Likewise.
* tests/parallel-tests-log-compiler-example.test: Likewise.
* tests/Makefile.am (TESTS): Update.

12 years agoMerge branch 'master' into testsuite-work
Stefano Lattarini [Thu, 30 Jun 2011 23:06:18 +0000 (01:06 +0200)]
Merge branch 'master' into testsuite-work

* master:
  coverage: new test on parallel-tests TESTS runtime overriding

12 years agocoverage: new test on parallel-tests TESTS runtime overriding
Stefano Lattarini [Thu, 30 Jun 2011 14:37:19 +0000 (16:37 +0200)]
coverage: new test on parallel-tests TESTS runtime overriding

* tests/parallel-tests-cmdline-override.test: New test, check that
we can use indirections when overriding TESTS and TEST_LOGS from
the command line.
* tests/Makefile.am (TESTS): Update.

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

12 years agoMerge branch 'maint'
Stefano Lattarini [Thu, 30 Jun 2011 15:21:47 +0000 (17:21 +0200)]
Merge branch 'maint'

* maint:
  cosmetics: fix typos in recent ChangeLog entries

12 years agocosmetics: 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

12 years agodocs: document custom test drivers and protocols
Stefano Lattarini [Wed, 22 Jun 2011 19:59:34 +0000 (21:59 +0200)]
docs: document custom test drivers and protocols

* doc/automake.texi (Simple Tests): Note that the TESTS_ENVIRONMENT
use suggested here is not portable to 'parallel-tests'.
(Simple Tests using parallel-tests): Document new restrictions on
the uses of TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT.
(Custom Test Drivers): New section and node.
(Overview of Custom Test Drivers Support): New subsection.
(Declaring Custom Test Drivers in @file{Makefile.am}): Likewise.
(APIs for Custom Test Drivers): Likewise.
(Options): Update description of color-tests.
* lib/am/check ($(TEST_SUITE_LOG)): Remove comments that have been
moved into the manual.
(recheck, recheck-html): Minor adjustments to better conform to the
documentation (this should cause no semantic changes w.r.t. the
former behaviour); minor improvements and extensions to existing
comments.
* tests/test-driver-create-log-dir.test: New test.
* tests/test-driver-strip-vpath.test: Likewise.
* tests/test-driver-global-log.test: Likewise.
* tests/test-driver-recheck.test: Likewise.
* tests/Makefile.am (TESTS): Update.

12 years agoMerge branch 'master' into test-protocols
Stefano Lattarini [Wed, 29 Jun 2011 08:06:20 +0000 (10:06 +0200)]
Merge branch 'master' into test-protocols

* master:
  docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
  docs: fix unportable example of AM_TESTS_ENVIRONMENT usage
  docs: avoid a footnote, some related rewordings and improvements
  Revert "docs: parallel-tests is not experimental anymore"
  docs: minor cosmetic fixes
  help: improve text about automatically-distributed files
  refactor: split 'usage' subroutine in automake
  tests: fix bug in 'autodist.test'
  parallel-tests: stricter checks on DISABLE_HARD_ERRORS support
  docs: parallel-tests is not experimental anymore
  check: document and test $(TEST_SUITE_LOG) overriding

12 years agoMerge branch 'am-tests-environment'
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

12 years agodocs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
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.

12 years agodocs: fix unportable example of AM_TESTS_ENVIRONMENT usage
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).

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

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

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

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

12 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

12 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.

12 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.

12 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.

12 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.

12 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.

12 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

12 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.

12 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.

12 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'

12 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.

12 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.

12 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.

12 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.

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

12 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.

12 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.