Stefano Lattarini [Sun, 14 Aug 2011 12:00:53 +0000 (14:00 +0200)]
testsuite: avoid confusing SKIP messages for errored tests
* tests/defs [$use_tap] (exit trap): Don't print the test plan
in case the client script exited with a non-zero status. This
avoids the display of redundant "SKIP" messages for tests with
lazy plans that error out before any test is run.
Stefano Lattarini [Sat, 13 Aug 2011 12:29:28 +0000 (14:29 +0200)]
testsuite: keep more debugging info around in 'add-missing.tap'
* tests/add-missing.tap: Use a different directory for each test,
so that in case of failure more information is kept around.
Since we are at it, remove redundant TAP diagnostic, and define
`$am_create_testdir' to "empty" to avoid bringing in unused
auxiliary files.
Stefano Lattarini [Sat, 13 Aug 2011 10:39:59 +0000 (12:39 +0200)]
testsuite: more granular count of test results in our TAP library
* tests/tap-functions.sh ($tap_bad_count_): Removed, superseded
by ...
($tap_fail_count_, $tap_xpass_count_): ... these new variables,
which keep more granular counts.
($tap_pass_count_: New variable.
* tests/defs (exit trap): Adjust and simplify accordingly.
Stefano Lattarini [Sat, 13 Aug 2011 09:52:26 +0000 (11:52 +0200)]
testsuite: fixlets and improvements in two long TAP-based tests
* tests/depmod.tap: Clean up the subdirectories used by tests that
passed, to avoid ending up with a too big test directory. This is
especially important since, on each and every system, at least some
tests in this script are expected to be skipped (which ones exactly
depends on the system), thus causing the test directory not to be
removed when the script terminates.
* tests/instspc.tap: Likewise (with the difference that tests here
are not expected to be skipped, but to xfail). Give more explicit
error message in case of setup failure. Skip the proper number of
tests when required, to avoid spurious errors due to mismatched
plan. Also, really avoid to run the unsupported test cases when
the need to skip them is detected.
Stefano Lattarini [Tue, 9 Aug 2011 21:27:56 +0000 (23:27 +0200)]
Merge branch 'test-protocols' into tap-testsuite-work
* test-protocols:
test harness: recursive make invocations must use $(AM_MAKEFLAGS)
Stefano Lattarini [Tue, 9 Aug 2011 21:01:23 +0000 (23:01 +0200)]
test harness: recursive make invocations must use $(AM_MAKEFLAGS)
* lib/am/check.am ($(TEST_SUITE_LOG)): Pass $(AM_MAKEFLAGS)
to $(MAKE) when issuing a recursive make call.
Problem detected by the `sc_tests_make_without_am_makeflags'
maintainer check.
Stefano Lattarini [Tue, 9 Aug 2011 20:54:03 +0000 (22:54 +0200)]
Merge branch 'master' into test-protocols
* master:
tests: fix various blunders in 'suffix-chain.test'
Stefano Lattarini [Tue, 9 Aug 2011 20:52:06 +0000 (22:52 +0200)]
Merge branch 'master' into tap-testsuite-work
* master:
tests: fix various blunders in 'suffix-chain.test' (edited)
Stefano Lattarini [Tue, 9 Aug 2011 20:44:55 +0000 (22:44 +0200)]
tests: fix various blunders in 'suffix-chain.test'
* tests/suffix-chain.test: Fix various blunders that were causing
this test to fail spuriously: append to `configure.in', not to
`configure.ac'; add a `;' character after the `return' statement
in an input file; use tabs, not spaces, to indent Makefile recipes;
and use more uncommon suffixes that don't trigger built-in recipes
with FreeBSD make.
Stefano Lattarini [Tue, 9 Aug 2011 20:30:26 +0000 (22:30 +0200)]
testsuite: improvements to our shell TAP library and APIs
These improvements impact only the Automake's own testsuite.
* tests/tap-functions.sh (plan_): Allow new special arguments
"unknown" a.k.a. "later" and "lazy" a.k.a. "now". Perform
sanity check the given arguments. Adjust incorrect comments.
(lazy_plan_): Removed, superseded by the new version of `plan_'.
(not): New function, run a command and inverts its exit status.
(ok_, not_ok_, skip_): These are just shorthands for common
`result_' usages.
(xfail_, xpass_, reset_test_count_): Removed, they are not used,
nor does a legitimate use for them seem in sight.
(not): New function, to run a command inverting its exit status.
(command_not_ok_): Removed, superseded by `command_ok_' + `not'.
(command_ok_): Extended to accept TAP directives.
* tests/defs (trap): Don't use `late_plan_' anymore, use
`plan_ "now"' instead.
* tests/ac-output-old.tap: Update to take advantage of the new
APIs.
* tests/self-check-env-sanitize.tap: Likewise.
* tests/suffix-chain.tap: Likewise.
* tests/suffix10.tap: Likewise.
* tests/suffix11.tap: Likewise.
* tests/suffix3.tap: Likewise.
* tests/suffix8.tap: Likewise.
* tests/tap-bad-prog.tap: Likewise.
* tests/self-check-exit.tap: Likewise, plus a small improvement
in the name of a variable.
Stefano Lattarini [Tue, 9 Aug 2011 17:14:13 +0000 (19:14 +0200)]
testsuite: convert some `suffix*' tests to TAP
This will allow us to explicitly declare some expected failures
involving Solaris make as such, instead of partly papering over
them with skips and partly letting them fail too loudly.
* tests/suffix-chain.test: Rename ...
* tests/suffix-chain.tap: ... to this, and convert to the use of
TAP. Also, fix some bugs since we are at it, and ...
($required): ... require `cc'.
* tests/suffix3.test: Rename ...
* tests/suffix3.tap: ... to this, and convert to the use of TAP.
Also, since we are at it, throw in some formatting fixes.
* tests/suffix8.test: Rename ...
* tests/suffix8.tap: ... to this, and convert to the use of TAP.
Also, since we are at it, throw in some formatting fixes.
* tests/suffix10.test: Rename ...
* tests/suffix10.tap: ... to this, and convert to the use of TAP.
* tests/suffix11.test: Rename ...
* tests/suffix11.tap: ... to this, and convert to the use of TAP.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Tue, 9 Aug 2011 16:13:15 +0000 (18:13 +0200)]
Merge branch 'test-protocols' into tap-testsuite-work
* test-protocols:
tests: don't let a known Solaris make bug poison too many tests
gitignore: more use of anchors
Stefano Lattarini [Tue, 9 Aug 2011 16:04:14 +0000 (18:04 +0200)]
Merge branch 'master' into test-protocols
* master:
tests: don't let a known Solaris make bug poison too many tests
gitignore: more use of anchors
Stefano Lattarini [Tue, 9 Aug 2011 15:51:51 +0000 (17:51 +0200)]
tests: don't let a known Solaris make bug poison too many tests
See automake bug#7670 and bug#7824.
* tests/defs (make_can_chain_suffix_rules): New function, tell
whether the make implementation in use can chain suffix rules
automatically or not.
* tests/suffix3.test: Use it to avoid issuing calls to make that
are unportable to make implementations that are not smart enough
to chain suffix rules automatically.
* tests/suffix8.test: Use it to avoid issuing calls to make that
* tests/suffix10.test: Use it to avoid issuing calls to make that
* tests/suffix11.test: Use it to avoid issuing calls to make that
* tests/suffix-chain.test: New test, exposes the limitation that
we have papered over in the tests above.
Stefano Lattarini [Tue, 9 Aug 2011 14:43:08 +0000 (16:43 +0200)]
gitignore: more use of anchors
* .gitignore: Anchor files that are intended to be ignored only
if found in the same directory of the `.gitignore' file, not also
in its subdirectories.
* doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
lib/Automake/tests/.gitignore, tests/.gitignore: Likewise. Also,
where needed, add new entries that were once implied by the
non-anchored entries in the upper-level `.gitignore' files.
Stefano Lattarini [Tue, 9 Aug 2011 13:38:51 +0000 (15:38 +0200)]
Merge branch 'test-protocols' into tap-testsuite-work
(no-op)
Stefano Lattarini [Tue, 9 Aug 2011 13:27:30 +0000 (15:27 +0200)]
Merge branch 'master' into test-protocols
* master:
testsuite: avoid spurious failure of self checks on Solaris
Stefano Lattarini [Tue, 9 Aug 2011 13:24:03 +0000 (15:24 +0200)]
testsuite: avoid spurious failure of self checks on Solaris
This is just a quick workaround to prevent having too much noise
in the testsuite; more proper fixes have been committed into the
'testsuite-work' branch.
* tests/self-check-dir.test: Relax a test to avoid unimportant
failure on Solaris 10.
* tests/self-check-exit.test: Likewise.
Stefano Lattarini [Tue, 9 Aug 2011 12:02:10 +0000 (14:02 +0200)]
self tests: avoid spurious output on console, and related fixlets
* tests/self-check-cleanup.test: Set `$stderr_fileno_' to `2'
in the self tests, to avoid spurious diagnostic on console.
* tests/self-check-exit.tap: Only unset `am_explicit_skips' and
`$stderr_fileno_' in the self tests, not at the global level, it
is more correct.
($init): New variable, to reduce code duplication.
Some refactoring and adjustments to the name of the tests.
Stefano Lattarini [Tue, 9 Aug 2011 10:13:53 +0000 (12:13 +0200)]
test defs: few more sanity checks
* tests/defs: Catch some more (very unlikely) set-up or internal
errors, and diagnose them explicitly. This is intended mostly
to be a theoretic-only improvement.
Stefano Lattarini [Tue, 9 Aug 2011 10:00:41 +0000 (12:00 +0200)]
test defs: really make them "set -e" clean
Motivated by a spurious failure of test `instsh3-w.shtst' on
Solaris 10.
* tests/defs: Make really "set -e" clean, to avoid spurious
failures in case this file is sourced by a test script that has
already set the `errexit' flag. To be sure we don't regress,
move the `set -e' call much earlier, and make the comment telling
about the expected "set -e" cleanliness more loud and outstanding.
Stefano Lattarini [Tue, 9 Aug 2011 08:49:01 +0000 (10:49 +0200)]
self tests: register an expected failures with Solaris /bin/sh
Solaris 10 /bin/sh erroneously exit with success right away when
the following three conditions are met at the same time:
1. the `errexit' flag is active,
2. an exit trap is installed, and
3. a non-existing command is issued.
* tests/self-exit.tap: When that bug is detected, issue an XFAIL
rather than a FAIL. Since we are at it, improve by avoiding
creation of stray temporary files when testing for non-executable
commands.
Stefano Lattarini [Tue, 9 Aug 2011 08:23:34 +0000 (10:23 +0200)]
gitignore: update and improve for the testsuite files
* tests/.gitignore: Don't ignore temporary partial log files,
autogenerated tests and makefile fragments that are not used
anymore. Anchor all the remaining patterns.
Stefano Lattarini [Mon, 8 Aug 2011 22:38:39 +0000 (00:38 +0200)]
self tests: some new uses of TAP, few extensions
* tests/self-check-me.test: Renamed ...
* tests/self-check-me.tap: .. to this, and converted to use TAP.
* tests/self-check-exit.test: Renamed ...
* tests/self-check-exit.tap: .. to this, and converted to use TAP.
Set `$stderr_fileno_' to `2', to avoid spurious messages on the
console. Add a new test, and relax another one.
* tests/self-check-env-sanitize.test: Renamed ...
* tests/self-check-env-sanitize.tap: .. to this, and converted to
the use TAP.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Mon, 8 Aug 2011 21:35:28 +0000 (23:35 +0200)]
test defs: test directory creation more configurable
After this change, the individual tests will be able to tell
`./defs' whether or not to create a temporary test directory
for them, and if yes, whether or not to pre-populate it.
* tests/defs: Only create the temporary test directory if the
variable `$am_create_testdir' is not set to "no". In this
case, only pre-populate it if that variable is not set to
`$empty'.
* tests/defs-static.in: Check that `$am_create_testdir' is not
exported in the environment.
* tests/self-check-env-sanitize.test: Update.
* tests/self-check-dir.test: Extend, and make deeper and more
robust.
* tests/README (Section "Writing test cases" subsection "Do"):
Update.
* tests/autodist.test: Set `$am_create_testdir' instead of
removing by hand files created by ./defs.
* tests/tap-doc2.test: Likewise.
Stefano Lattarini [Mon, 8 Aug 2011 16:23:40 +0000 (18:23 +0200)]
testsuite: more uses of the `seq_' function
* tests/parallel-tests-exit-statuses.test: Use the `seq_' function
from `tests/defs', instead of duplicating its semantics by hand.
* tests/testsuite-summary-count.test: Likewise.
Stefano Lattarini [Mon, 8 Aug 2011 16:10:55 +0000 (18:10 +0200)]
testsuite: drop redundant environment sanitization
* tests/Makefile.am (TESTS_ENVIRONMENT): Don't remove `planned'
from the environment.
* tests/defs-static.in: Don't complain if `planned' is set in
the environment.
* tests/self-check-env-sanitize.test: Update.
Stefano Lattarini [Mon, 8 Aug 2011 14:41:42 +0000 (16:41 +0200)]
test defs: fix bug in plain version of `skip_all_'
* tests/plain-functions.sh (skip_all_): Call `skip_', not `skip'.
Stefano Lattarini [Mon, 8 Aug 2011 14:37:36 +0000 (16:37 +0200)]
test defs: small cleanups and tweakings
* tests/defs: Where possible, prefer `framework_failure_' or
`fatal_' to `Exit 99'. Try to catch more possible hard errors
and setup failures. Do not hide expected error messages. Avoid
a couple of forks when copying files from `$(top_srcdir)/lib'.
($signal): Remove, no more needed.
Stefano Lattarini [Mon, 8 Aug 2011 13:43:53 +0000 (15:43 +0200)]
testsuite: improve interface for giving early TAP plan
Since commit `v1.11-976-g4740f56', an early TAP plan can also be
specified after input lines have already been seen, as long as
no one of them is a TAP result line. We can now take advantage
of this in our own testsuite, allowing the TAP-based scripts to
specify their earlier plan after having included `./defs'. In
particular, this offers the benefit of allowing those scripts to
issue a "skip all" plan (e.g., "1..0 # SKIP reason ...") after
the inclusion of `./defs', which wasn't possible with the older
interface (introduced in commit `v1.11-1114-g0286308').
* tests/defs: Don't try to call `plan_' if `$planned' is defined,
the calling scripts can do that directly now.
* tests/ac-output-old.tap: Use `plan_' directly instead of
setting `$planned' before including `./defs'.
* tests/automake-cmdline.tap: Likewise.
* tests/depmod.tap: Likewise.
* tests/instspc.tap: Likewise.
* tests/tap-bad-prog.tap: Likewise.
* tests/add-missing.tap: Don't set `$planned'.
Stefano Lattarini [Mon, 8 Aug 2011 13:23:11 +0000 (15:23 +0200)]
test defs: fix bug in TAP version of `skip_all_'
* tests/tap-functions (skip_all_): Set `$have_tap_plan_' to "yes"
when called, so that the exit trap won't write another TAP plan.
Stefano Lattarini [Mon, 8 Aug 2011 13:00:25 +0000 (15:00 +0200)]
test defs: fix skip directives to work also with TAP-based tests
* test/defs: Use `skip_all_', not `skip_', to issue a skip of the
whole calling test script.
Stefano Lattarini [Mon, 8 Aug 2011 12:49:19 +0000 (14:49 +0200)]
Merge branch 'testsuite-work' into tap-testsuite-work
(no-op)
Stefano Lattarini [Mon, 8 Aug 2011 12:49:06 +0000 (14:49 +0200)]
Merge branch 'test-protocols' into tap-testsuite-work
* test-protocols:
test defs: more environment cleanup
test harness: more minor VPATH-rewrite issues
test harness: "make -n check" works correctly with Solaris make
Stefano Lattarini [Mon, 8 Aug 2011 12:42:42 +0000 (14:42 +0200)]
Merge branch 'master' into test-protocols
* master:
test defs: more environment cleanup
Stefano Lattarini [Mon, 8 Aug 2011 12:42:24 +0000 (14:42 +0200)]
Merge branch 'master' into testsuite-work
* master:
test defs: more environment cleanup
Stefano Lattarini [Mon, 8 Aug 2011 12:40:59 +0000 (14:40 +0200)]
Merge branch 'maint'
* maint:
test defs: more environment cleanup
Stefano Lattarini [Mon, 8 Aug 2011 12:39:16 +0000 (14:39 +0200)]
test defs: more environment cleanup
* tests/defs.in: Also unset variables AM_COLOR_TESTS and
AM_TESTS_ENVIRONMENT.
Stefano Lattarini [Mon, 8 Aug 2011 11:18:50 +0000 (13:18 +0200)]
test harness: more minor VPATH-rewrite issues
* tests/am/check.am (am__set_TESTS_bases, $(TEST_SUITE_LOGS),
am--redo-logs, recheck, recheck-html): Cosmetic fixlets to
minimize the risk of unwanted VPATH rewrites.
(check-TESTS): Likewise, and normalize trailing whitespace
since we are at it.
Bugs exposed by test cases `check6-p.test' and `check7-p.test'.
Stefano Lattarini [Mon, 8 Aug 2011 10:50:12 +0000 (12:50 +0200)]
test harness: "make -n check" works correctly with Solaris make
To avoid some recipes being executed with "make -n", we used the
trick of issuing recursive make calls not directly with $(MAKE),
but with a simple indirection instead:
...
am__stealth_MAKE = $(MAKE)
...
target:
... $(am__stealth_MAKE) ...
...
This hack worked with GNU make, but, unfortunately, not with
Solaris make. The present change removes the hack, and uses more
proper idioms to avoid unwanted recipe executions with "make -n".
Bug exposed by test case `parallel-tests-dry-run.test'.
* lib/am/check.am (am__stealth_MAKE): Remove, no more used.
(.log.trs): Break recipe in multiple shell invocations.
($(TEST_SUITE_LOG)): Likewise, and move some corner-case parts of
the recipe to ...
(am--redo-logs): ... this new internal helper .PHONY target.
Stefano Lattarini [Mon, 8 Aug 2011 08:45:08 +0000 (10:45 +0200)]
Merge branch 'testsuite-work' into tap-testsuite-work
(no-op)
Stefano Lattarini [Mon, 8 Aug 2011 08:43:32 +0000 (10:43 +0200)]
Merge branch 'test-protocols' into tap-testsuite-work
* test-protocols:
tests: fix spurious failure with Solaris make
test harness: fixlet in workaround for VPATH rewrite issue
Stefano Lattarini [Mon, 8 Aug 2011 08:40:28 +0000 (10:40 +0200)]
Merge branch 'master' into test-protocols
* master:
tests: fix spurious failure with Solaris make
Stefano Lattarini [Mon, 8 Aug 2011 08:30:58 +0000 (10:30 +0200)]
Merge branch 'master' into testsuite-work
* master:
tests: fix spurious failure with Solaris make
Stefano Lattarini [Mon, 8 Aug 2011 08:29:25 +0000 (10:29 +0200)]
Merge branch 'maint'
* maint:
tests: fix spurious failure with Solaris make
Stefano Lattarini [Mon, 8 Aug 2011 08:25:00 +0000 (10:25 +0200)]
Merge branch 'am-distcheck-configure-flags' into maint
* am-distcheck-configure-flags:
tests: fix spurious failure with Solaris make
Stefano Lattarini [Mon, 8 Aug 2011 08:20:47 +0000 (10:20 +0200)]
tests: fix spurious failure with Solaris make
* tests/distcheck-configure-flags-am.test: Avoid using `+=' too
liberally with AM_DISTCHECK_CONFIGURE_FLAGS, since the line breaks
so introduced, in conjunction with single quotes, might confuse
Solaris make.
Stefano Lattarini [Mon, 8 Aug 2011 07:31:03 +0000 (09:31 +0200)]
test harness: fixlet in workaround for VPATH rewrite issue
Fixes a blunder in previous commit `v1.11-983-gfda3de5'.
* lib/am/check.am (am__set_TESTS_bases): Add forgotten end-of-line
anchor to sed expression. In comments, add reference to ...
* tests/test-trs-basic.test: ... this test, which has been adapted
and tightened (and tweaked).
Stefano Lattarini [Sun, 7 Aug 2011 23:43:34 +0000 (01:43 +0200)]
Merge branch 'test-protocols' into tap-testsuite-work
* test-protocols:
fix: regenerate Makefiles
test harness: work around a VPATH rewrite issue
parallel-tests: work around Solaris XPG4 make segfault
testsuite: fix weird spurious failure with Solaris /bin/sh
testsuite: fix another spurious failure on Solaris make
testsuite: fix two spurious failures on Solaris make
tap driver: refactor and remove dead code
testsuite: fix spurious failure in a test on TAP support
tap: plan location is more liberal w.r.t. non-TAP lines
testsuite: remove now-passing test from XFAIL_TESTS
Stefano Lattarini [Sun, 7 Aug 2011 23:39:12 +0000 (01:39 +0200)]
fix: regenerate Makefiles
Stefano Lattarini [Sun, 7 Aug 2011 23:23:42 +0000 (01:23 +0200)]
test harness: work around a VPATH rewrite issue
* lib/am/check.am (am__TEST_BASES): Removed, it's role taken
over by ...
(am__set_TESTS_bases): ... these new variable.
($(TEST_SUITE_LOG): Use it, to avoid VPATH rewrite issues.
* automake.in (handle_tests): Update the code for the cleanup
of the `.trs' file to use `$(TEST_LOGS)' instead of
`$(am__TEST_BASES)'.
* tests/test-harness-vpath-rewrite.test: New test, better
exposing the problem fixed by this change
* tests/Makefile.am (TESTS): Add it.
* tests/test-trs-basic.test: Update and extend.
Stefano Lattarini [Sun, 7 Aug 2011 22:16:56 +0000 (00:16 +0200)]
parallel-tests: work around Solaris XPG4 make segfault
Issue exposed by test `posixsubst-tests-p.test', and similar to
the problem solved by commit `v1.11-159-ge7aa360'.
* lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Trim trailing
whitespace from $list, to avoid triggering a nasty bug (potential
segfault) on Solaris XPG4 make and Heirloom make.
Stefano Lattarini [Sun, 7 Aug 2011 21:48:02 +0000 (23:48 +0200)]
testsuite: fix weird spurious failure with Solaris /bin/sh
Solaris /bin/sh, when killed with a SIGTERM or SIGINT signal, can
apparently end up exiting with exit status 208, instead of leaving
the correct wide exit status to the parent. See:
<http://dbaspot.com/shell/396118-bourne-shell-exit-code-term.html>
Work around this incompatibility.
* tap-signal.test: Look for the above Solaris bug.
(signal_caught): Adapt to handle it.
Stefano Lattarini [Sun, 7 Aug 2011 21:05:37 +0000 (23:05 +0200)]
testsuite: fix another spurious failure on Solaris make
* tests/parallel-tests-log-override-recheck.test: Filter make
output before grepping it, for make implementations that, like
Solaris' one, print the whole of the failed recipe on failure.
Stefano Lattarini [Sun, 7 Aug 2011 20:50:23 +0000 (22:50 +0200)]
testsuite: fix two spurious failures on Solaris make
* tests/tests-environment-and-log-compiler.test: Do not fail if
"make -n check" fails, as that is issued only for debugging, its
semantics being tested in other test scripts.
* tests/test-driver-strip-vpath.test: Likewise.
Stefano Lattarini [Sun, 7 Aug 2011 19:34:56 +0000 (21:34 +0200)]
tap driver: refactor and remove dead code
* lib/tap-driver (get_tap_line): Removed, ...
(all callers): ... updated to use $parser->next directly instead.
(peek_tap_line, unget_tap_line, @tap_lines): Remove, they're not
used anymore.
(TAP_PEEKING): Block deleted, all its subroutines and variables
having been removed.
Stefano Lattarini [Sun, 7 Aug 2011 18:26:34 +0000 (20:26 +0200)]
testsuite: fix spurious failure in a test on TAP support
* tests/tap-passthrough-exit.test: When the `--ignore-exit' flag
of the TAP driver is used, don't look for a message reporting the
non-zero exit statuses of tests in the log files; such message is
not expected to be there anymore. Related simplifications.
Stefano Lattarini [Sun, 7 Aug 2011 18:07:35 +0000 (20:07 +0200)]
tap: plan location is more liberal w.r.t. non-TAP lines
With this change, only lines that are TAP results will matter
w.r.t. the position of the TAP plan in the input; for example,
this input:
this is a non-TAP line
# and this a TAP diagnostic line
1..1
ok 1
was considered to be an error, diagnosed with a message "test
plan in middle of output"; as effect of the current change, such
input is now valid. This is more consistent with the behaviour
of the `prove' utility.
* lib/tap-driver ($lineno): Removed, no more needed.
($tap_stopped): New global variable.
(stringify_test_result): Return "ERROR" if a TAP result is found
when `$tap_stopped' is set to true.
(handle_tap_test): Diagnose TAP results that comes after a late
plan. Add a couple of blank lines, for clarity.
(handle_tap_plan): Set `$tap_stopped' to true after a late plan
is encountered. Do not complain anymore for extra non-TAP lines
preceding or following the plan. Adjust comments.
(main): Don't increment $lineno anymore.
* tests/tap-plan.test: Extend a bit, and remove stale comment.
* tests/tap-color.test: Adjust.
* tests/tap-passthrough.test: Likewise.
* tests/tap-plan-corner.test: Adjust and extend.
* tests/tap-plan-errors.test: Likewise.
* tests/tap-plan-middle.test: New test.
* tests/tap-plan-corner2.test: Delete, it's obsolete now.
* tests/Makefile.am (XFAIL_TESTS): Remove it.
(tap_with_common_setup_tests): Likewise, and add
`tap-plan-corner.test'.
Stefano Lattarini [Sun, 7 Aug 2011 16:17:27 +0000 (18:17 +0200)]
testsuite: remove now-passing test from XFAIL_TESTS
* tests/Makefile.am (XFAIL_TESTS): Remove `tap-signal.test',
which is passing since previous commit `v1.11-974-gc7fa872'.
Stefano Lattarini [Sun, 7 Aug 2011 13:54:26 +0000 (15:54 +0200)]
test defs: get name of TAP-using tests correctly
This change fixes the names of the temporary directories used
by the TAP-based tests (e.g., test `foo.tap' now uses `foo.dir'
rather than `foo.tap.dir'); more importantly, this make the
variable `$destdir' defined in `tests/defs' usable also in the
TAP tests.
($me): Also strip the any `.tap' suffix from the name of the
test.
Stefano Lattarini [Sun, 7 Aug 2011 13:20:00 +0000 (15:20 +0200)]
testsuite: TAP tests properly decide when to remove tempdirs
Before this change, the TAP tests in the Automake testsuite were
removing the temporary test directory even when they failed or
were skipped, thus making debugging more difficult.
* tests/tap-functions.sh (incr_tap_count): Removed, superseded
by ...
(incr_): ... this function, which can increment the value of any
variable passed to it.
(result_): Updated to use `incr_' instead of the now-removed
`incr_tap_count_'. Keep count of failures, xfailures, xpasses,
and skips, using ...
($tap_skip_count_, $tap_bad_count, _$tap_xfail_count_): ...
these new variables.
* tests/defs (trap): Try to use their values to decide whether
the temporary directory being used by the test script should be
removed or not. Other code reorganizations. And move the code
for the removal of the temporary directory out to ...
(rm_rf_): ... this new subroutine.
(Main code): Use that instead of duplicating the code.
Stefano Lattarini [Sat, 6 Aug 2011 20:42:24 +0000 (22:42 +0200)]
testsuite: improve and refactor our custom TAP shell library
This change is mostly done in preparation for the next one.
* tests/tap-functions.sh (result_with_directive_): Merge into ...
(result_): ... this function, which has been greatly extended and
improved in various ways.
(ok_, not_ok_, skip_, xfail_, xpass_): Adjust.
Adjust comments. Remove an extra empty line.
* tests/instspc.tap: Use the new improved interface of `result_'.
* tests/tap-bad-prog.tap: Likewise.
Stefano Lattarini [Sun, 7 Aug 2011 09:17:18 +0000 (11:17 +0200)]
testsuite: update "user interface" description in tests/README
* tests/README (Subsection "Interpretation"): Mention the "ERROR"
outcome.
(Subsection "Getting details from failures"): Don't tell that the
test scripts can be run directly, this is not 100% true; anymore;
instead ...
(Subsection "About the tests"): ... use this new subsection to
explain how to run the tests (either simple or TAP-based) by hand.
(Subsection "Supported shells"): Extend to refer to TAP tests too.
Stefano Lattarini [Sun, 7 Aug 2011 07:42:48 +0000 (09:42 +0200)]
testsuite: TAP tests can have early plan now
* tests/defs: When using TAP, allow the user to specify the number
of tests through the `$planned' variable.
(trap): Do not print the auto-generated plan if an explicit one
has already been printed.
* tests/defs-static.in: Complain and bail out if the `$planned'
variable is exported in the environment. Reformat the code to
facilitate future additions.
* tests/Makefile.am (TESTS_ENVIRONMENT): Neutralize `$planned'.
* tests/self-check-env-sanitize.test: Update.
* tests/ac-output-old.tap: Give an explicit TAP plan, by defining
`$planned' just before including `./defs'.
* tests/depmode.tap: Likewise.
* tests/automake-cmdline.tap: Likewise.
* tests/tap-bad-prog.tap: Likewise.
* tests/instspc.tap: Likewise, and related adjustments.
* tests/add-missing.tap: Make it explicit that we have no a-priori
plan, and tell why.
Stefano Lattarini [Sun, 7 Aug 2011 09:31:13 +0000 (11:31 +0200)]
testsuite: run autogenerated tests with $(LOG_COMPILER) too
This change enhances consistency in the testsuite.
* tests/Makefile.am: Some cosmetic reordering, to keep the
definition of FOO_LOG_COMPILER near to the place where `.foo'
is added to $(TEST_EXTENSIONS).
(PTEST_LOG_COMPILER): Run `$(srcdir)/parallel-tests.sh' with
`$(LOG_COMPILER)', not with `$(SHELL)'.
(SHTST_LOG_COMPILER): Likewise.
Stefano Lattarini [Sun, 7 Aug 2011 09:22:11 +0000 (11:22 +0200)]
testsuite: run TAP and "plain" tests with the same $(LOG_COMPILER)
With this change, it will be easier to override, at make time, the
shell used to run the tests.
* tests/Makefile.am (LOG_COMPILER): Define to `$(SHELL)'.
(TEST_LOG_COMPILER): Re-define to `$(LOG_COMPILER)'.
(TAP_LOG_COMPILER): Likewise.
Stefano Lattarini [Sat, 6 Aug 2011 20:29:17 +0000 (22:29 +0200)]
testsuite: run TAP-based tests explicitly with $(SHELL)
* tests/Makefile.am (TAP_LOG_COMPILER): Define to `$(SHELL)'.
Stefano Lattarini [Sat, 6 Aug 2011 20:15:50 +0000 (22:15 +0200)]
Merge branch 'test-protocols' into tap-testsuite-work
* test-protocols:
tap driver: handle signals received by the tests being run
test driver: a preparatory refactoring (2)
tap driver: a preparatory refactoring (1)
cosmetics: typofix in the name of a function in the TAP driver
tap: scripts with a SKIP plan but with exit status != 0 must error
Stefano Lattarini [Sat, 6 Aug 2011 19:41:37 +0000 (21:41 +0200)]
tap driver: handle signals received by the tests being run
* lib/tap-driver (get_test_exit_message): Also deal with signals,
by using the `wait' method of the TAP::Parser object instead of
the `exit' method. This required the use of the standard perl
module `POSIX'.
* doc/automake.texi (Use TAP with the Automake test harness):
Document that `--ignore-exit' has effect also on terminating
signals. Add a "synchronizing" comment that references the tests
'tap-exit.test' and 'tap-signal.test'.
* tests/tap-signal.test: Extend and adjust.
Stefano Lattarini [Sat, 6 Aug 2011 18:54:26 +0000 (20:54 +0200)]
test driver: a preparatory refactoring (2)
* lib/tap-driver (finish): Move code to fetch the message about
the exit status of the test being run to ...
(get_test_exit_message): ... this new subroutine.
Stefano Lattarini [Sat, 6 Aug 2011 18:48:09 +0000 (20:48 +0200)]
tap driver: a preparatory refactoring (1)
* lib/tap-driver (finish): Do not flush the TAP stream nor
fetch the exit status of the TAP producer if running with
the `--ignore-exit' option. Obviously, don't try to write
such exit status in the test log anymore.
Stefano Lattarini [Sat, 6 Aug 2011 18:23:54 +0000 (20:23 +0200)]
cosmetics: typofix in the name of a function in the TAP driver
* lib/tap-driver (testuite_error): Renamed ...
(testsuite_error): ... to this, and minor related reformatting.
Stefano Lattarini [Sat, 6 Aug 2011 18:21:18 +0000 (20:21 +0200)]
tap: scripts with a SKIP plan but with exit status != 0 must error
This change has been motivated by Automake's own testsuite. Some
TAP tests there were erroring out (due to unexpected, unhandled
failures) before having encountered TAP result, so that the
simple-minded shell library implementing TAP generation ended up
printing a "1..0" trailing test plan; this caused the script to be
reported as a SKIP rather than an ERROR -- a nasty false negative.
* lib/tap-driver: Add prototypes for each subroutine, to free up
the order in which they can be defined and called.
(main): Move the code checking for a bad exit status of the TAP
producer ...
(finish): ... here, and flush the TAP stream to ensure that the
parser always obtains the producer's exit status.
* tests/tap-skip-whole-badexit.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Add it.
Stefano Lattarini [Sat, 6 Aug 2011 16:33:24 +0000 (18:33 +0200)]
Merge branch 'test-protocols' into tap-testsuite-work
* test-protocols:
tap: fix whitespace munging of diagnostic messages
Stefano Lattarini [Sat, 6 Aug 2011 15:19:09 +0000 (17:19 +0200)]
testsuite: refactor and cleanup 'instspc.tap'
* tests/instspc.tap (is_in_list): New helper subroutine.
(expected_to_fail): Re-implement using it.
(define_problematic_string): Likewise. Also, rename the special
arguments `build-fail' and 'install-fail' to respectively
`builddir-fail' and `destdir-fail', and other related changes.
(Test data definition): Adapt.
($instspc_xfail_builds_list): Renamed ...
($builddir_xfails): ... to this.
($instspc_xfail_installs_list): Renamed ...
($destdir_xfails): ... to this.
($instspc_names_list): Renamed ...
($test_names_list): ... to this.
($instspc_test_string): Renamed ...
($test_string): ... to this.
Add some explicative and "FIXME" comments.
Stefano Lattarini [Sat, 6 Aug 2011 15:42:38 +0000 (17:42 +0200)]
tap: fix whitespace munging of diagnostic messages
* lib/tap-driver (extract_tap_comment): Pass the `g' flag to the
substitution operator, to strip also trailing whitespaces. Fixes
a failure in test `tap-whitespace-normalization.test'.
Stefano Lattarini [Sat, 6 Aug 2011 12:20:08 +0000 (14:20 +0200)]
testsuite: use TAP for `depmod*' tests, related simplifications
* tests/depmod-tests.sh: Delete this complex and multifarious
script, moving all it checks it used to perform into ...
* tests/depmod.tap: ... this TAP-based test script. And extend
it quite a bit, since the new form of the test was papering over
some pre-existing failures (this was due to the fact that the
values used for the VPATH were shorter in the new test script).
* tests/depmod-data.test: Deleted.
* tests/Makefile.am ($(srcdir)/depmod-tests.am): Don't include
nor generate it anymore.
(EXTRA_DIST): Don't distribute depmod-tests.sh anymore.
(TEST_EXTENSIONS): Remove '.depmod'.
(DEPMOD_LOG_COMPILER): Deleted.
(depmod-data.log, $(depmod_tests:.depmod=.log)): Delete
dependencies for these files, which are not used anymore.
($(depmod_tests)): Delete this dummy dependency declaration.
(TESTS): Remove $(depmod_tests).
(handwritten_tests): Remove depmod-data.test, add depmod.tap.
* bootstrap: Don't generate tests/depmod-tests.am anymore.
Stefano Lattarini [Sat, 6 Aug 2011 10:35:05 +0000 (12:35 +0200)]
testsuite: use TAP for `instspc*' tests, related simplifications
* tests/instspc-tests.sh: Delete this complex and multifarious
script, moving all it checks it used to perform into ...
* tests/instspc.tap: ... this TAP-based test script.
* tests/instspc-data.test: Deleted.
* tests/Makefile.am ($(srcdir)/instspc-tests.am): Don't include
nor generate it anymore.
(EXTRA_DIST): Don't distribute instspc-tests.sh anymore.
(TEST_EXTENSIONS): Remove '.instspc'.
(INSTSPC_LOG_COMPILER): Deleted.
(XFAIL_TESTS): Remove $(instspc_xfail_tests).
(instspc-data.log, $(instspc_tests:.instspc=.log)): Delete
dependencies for these files, which are not used anymore.
($(instspc_tests)): Delete this dummy dependency declaration.
(TESTS): Remove $(instspc_tests).
(handwritten_tests): Remove instspc-data.test, add instspc.tap.
* bootstrap: Don't generate tests/instspc-tests.am anymore.
Stefano Lattarini [Sat, 6 Aug 2011 08:51:07 +0000 (10:51 +0200)]
testsuite: do fd redirections with $(AM_TESTS_FD_REDIRECT)
* tests/Makefile.am: The redirections of file descriptors needed
by our test scripts is now done using the $(AM_TESTS_FD_REDIRECT)
variable (the new blessed way since commit `v1.11-906-gb9e9d54'),
not using an hack involving $(AM_TESTS_ENVIRONMENT). This has
the further benefit of allowing the use of $(TESTS_ENVIRONMENT)
again on part of the users.
* tests/Makefile.am (AM_TESTS_ENVIRONMENT): Remove redirection of
file descriptors.
(AM_TESTS_FD_REDIRECT): Redirect file descriptor 9 to original
stderr.
Comments adjusted.
* tests/plain-functions.sh ($stderr_fileno_): Update comment.
Stefano Lattarini [Fri, 5 Aug 2011 20:58:03 +0000 (22:58 +0200)]
testsuite: use custom TAP diagnostic in our own tests
This change allow us to easily and transparently avoid spurious
TAP diagnostic in our own testsuite, with the help of the new
`--diagnostic-string' option of our TAP test driver.
* tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Also pass option
`--diagnostic-string' with value `#%#' (necessarily obtained
through some shell indirections).
* tests/tap-functions.sh (diag_): Assume that the string denoting
TAP diagnostic is stored in the `$diag_string_' variable. Update
comments.
($diag_string_): Initialize to "#".
* tests/defs ($diag_string_): Re-define to "#%#".
(show_): Remove, it's obsolete now.
* add-missing.tap: Don't use `show_' anymore to avoid spurious
TAP diagnostic; `cat' should suffice now.
Stefano Lattarini [Fri, 5 Aug 2011 19:14:53 +0000 (21:14 +0200)]
Merge branch 'test-protocols' into tap-testsuite-work
* test-protocols:
tap: fix typo in TAP driver version message
tap docs: we don't support pragma or version directives (yet)
tap: new option to change the string designating TAP diagnostic
check: add small "synchronization" comment to `test-driver'
maintcheck: fix spurious failure w.r.t. use of bare "exit"
check: update comments to reflect recent heavy changes
check: small cleanups and refactorings in test harness and drivers
testsuite: use AM_TESTS_FD_REDIRECT where appropriate
docs: some fixlets in documentation on testsuites support
test harness: be aware of more metadata, simplify test drivers
tap: check that also a trailing TAP plan can hold a skip directive
Stefano Lattarini [Fri, 5 Aug 2011 18:59:03 +0000 (20:59 +0200)]
tap: fix typo in TAP driver version message
* lib/tap-driver (anonymous subroutine printing the script version
message): Add missing trailing newline to the version message.
Stefano Lattarini [Fri, 5 Aug 2011 18:52:34 +0000 (20:52 +0200)]
tap docs: we don't support pragma or version directives (yet)
* doc/automake.texi (Incompatibilities with other TAP parsers
and drivers): Document that limitation. Normalize an unrelated
"TODO" item.
Stefano Lattarini [Fri, 5 Aug 2011 17:08:16 +0000 (19:08 +0200)]
tap: new option to change the string designating TAP diagnostic
Here we introduce a new option `--diagnostic-string' in our TAP
test driver, that allows the user to specify which string should
denote the beginning of a TAP diagnostic line. This change is
not gratuitous, nor result if over-engineering: it is motivated
by real issues that have emerged during the use of TAP in the
Automake's own testsuite (see the commit `v1.11-1082-g9b967c2'
"testsuite: yet more use of TAP, and related extensions").
* doc/automake.texi (Use TAP with Automake test harness): Document
the new option.
(Incompatibilities with other TAP parsers and drivers): Report it
as a potential source of incompatibility.
* lib/tap-driver ($diag_string): New global variable, defaulting
to "#", and whose value can be changed ...
(Getopt::Long::GetOptions): ... by the newly recognized option
`--diagnostic-string'.
(handle_tap_comment): Subroutine removed, some of its simple logic
inlined ...
(main): ... in here, where now ...
(extract_tap_comment): ... this new subroutine is used.
($USAGE): Adjust.
* tests/tap-diagnostic.test: Make one check slightly stricter.
* tests/tap-diag-custom.test: New test.
* tests/Makefile.am (tap_other_tests): Add it.
Stefano Lattarini [Fri, 5 Aug 2011 14:48:32 +0000 (16:48 +0200)]
check: add small "synchronization" comment to `test-driver'
* lib/test-driver: Add comment to the code initializing ANSI color
escapes, telling to keep it in sync with the similar initialization
in `lib/am/check.am'.
Stefano Lattarini [Fri, 5 Aug 2011 12:27:12 +0000 (14:27 +0200)]
maintcheck: fix spurious failure w.r.t. use of bare "exit"
* tests/check12.test: Cosmetic changes to avoid triggering a
spurious failure of the `sc_tests_Exit_not_exit' maintainer
check.
Stefano Lattarini [Fri, 5 Aug 2011 12:16:19 +0000 (14:16 +0200)]
check: update comments to reflect recent heavy changes
* lib/am/check.am [%?PARALLEL_TESTS%]: Update the comments to
reflect the recent changes. Remove quite many comments that
were merely duplicating excerpts from the Automake manual.
Stefano Lattarini [Fri, 5 Aug 2011 10:08:20 +0000 (12:08 +0200)]
check: small cleanups and refactorings in test harness and drivers
* lib/tap-driver (yn): New subroutine, converts a boolean value to
a "yes" or "no" string.
(write_test_results): Use it, and related reformatting.
* lib/test-driver (trap): Also remove the `.trs' file on signals,
for extra safety.
(fatal): Remove this function, it's never used.
($logfile, $trsfile): Renamed ...
($log_file, $trs_file): ... to these, for clarity, and in order to
be more consistent with the `tap-driver' script.
Improve a couple of comments.
* automake.in (handle_tests): Don't define anymore the now-obsolete
make macro `$(TEST_LOGS_TMP)', nor add it to the list of files to
be removed upon "make mostlyclean".
* lib/am/check.am ($(TEST_SUITE_LOG)): New shell function `f_ok',
tells whether a path refers to an existing, regular, readable file.
Use it throughout.
(recheck): Be safer w.r.t. make implementation that run recipes
with `errexit' shell flag active.
Stefano Lattarini [Fri, 5 Aug 2011 08:36:06 +0000 (10:36 +0200)]
testsuite: use AM_TESTS_FD_REDIRECT where appropriate
* parallel-tests-interrupt.test: Use AM_TESTS_FD_REDIRECT, not
AM_TESTS_ENVIRONMENT, to define file descriptors' redirection
for "make check". Fix botched comment.
Stefano Lattarini [Fri, 5 Aug 2011 08:17:01 +0000 (10:17 +0200)]
docs: some fixlets in documentation on testsuites support
* doc/automake.texi (Script-based Testsuites): Rename node ...
(Scripts-based Testsuites): ... to this. Break overly long lines
in an example (were causing problems with PDF output).
(Parallel Test Harness): Don't intend paragraphs that come after
examples or bulleted list.
(Overview of Custom Test Drivers Support): Fix typo s/the the/the/.
(Declaring Custom Test Drivers): When giving an aside, prefer comma
to parentheses, as it disrupts the reading flow less.
(API for Custom Test Drivers): Remove a sentence that was basically
duplicated from the previous subsection.
(Command-line arguments for test drivers): Don't intend paragraph
coming after an itemized list. Clarify wording and fix grammaros.
Add a couple of cross-references to earlier explanations of `.log'
and `.trs' files.
(Links and external resources): Node renamed ...
(Links and external resources on TAP): ... to this, for clarity.
Slightly extend and clarify introductory sentence.
Stefano Lattarini [Fri, 5 Aug 2011 07:28:17 +0000 (09:28 +0200)]
test harness: be aware of more metadata, simplify test drivers
* lib/am/check.am ($(TEST_SUITE_LOG)): When producing the
global test log, take into account the new metadata field
`:global-test-result:, to write nicely formatted RST section
titles, instead of leaving this chore to the individual test
drivers.
(am_rst_section): Re-introduce this variable, as removed in
commit `v1.11-870-ga27c9c4'.
* lib/test-driver, lib/tap-driver: Write the global test result
as metadata in the `.trs' file, not as (part of) a formatted RST
subsection title in the `.log' file. Related simplifications;
in particular, get rid of temporary files usage.
* doc/automake.texi (Log files generation and test results
recording): Document the new metadata.
* tests/check12.test: Update.
* tests/parallel-tests-harderror.test: Likewise.
* tests/parallel-tests-interrupt.test: Likewise.
* tests/parallel-tests-log-override-2.test: Likewise.
* tests/parallel-tests-log-override-recheck.test: Likewise.
* tests/parallel-tests-unreadable.test: Likewise.
* tests/tap-global-result.test: Likewise.
* tests/test-metadata-results.test: Likewise.
* tests/test-log.test: Likewise, and another minor unrelated fix.
* tests/test-metadata-global-result.test: New test.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Thu, 4 Aug 2011 12:14:02 +0000 (14:14 +0200)]
testsuite: more correct names for a couple of tests
* tests/parallel-tests-ext-driver.test: Rename ...
* tests/parallel-tests-log-compiler-1.test: ... to this, and
adjust heading comments.
* tests/parallel-tests-ext-driver-prog.test: Rename ...
* tests/parallel-tests-log-compiler-2.test: ... to this, and
adjust heading comments.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Thu, 4 Aug 2011 11:55:46 +0000 (13:55 +0200)]
testsuite: fix another spurious failure
* tests/parallel-tests-ext-driver.test: Name out custom/dummy
log compilers as `foo-compiler' rather `foo-driver'; not only
this is less confusing, it also avoids errors due to the dummy
log compiler `test-driver' overriding the `test-driver' helper
script installed by Automake.
* tests/parallel-tests-ext-driver-prog.test: Adjust heading
comments.
Stefano Lattarini [Thu, 4 Aug 2011 11:44:01 +0000 (13:44 +0200)]
testsuite: fix a spurious failure
* tests/parallel-tests-ext-driver.test: Exporting of environment
variables directly from $(LOG_COMPILER) variables is not allowed
anymore. Adjust to this.
Stefano Lattarini [Thu, 4 Aug 2011 09:08:24 +0000 (11:08 +0200)]
testsuite: yet more use of TAP, and related extensions
* tests/defs (show_): New function, display the contents of one or
more files on stdout, with bells & whistles (both for cosmetic and
practical reasons, the latter aimed at avoiding spurious TAP
diagnostic).
(AUTOMAKE_run): Extend and adapt to make it compatible with TAP
based tests. Since we are at it, make its implementation more
namespace-safe, and improve its command-line interface.
(AUTOMAKE_fails): Adapt to the new command-line interface of
`AUTOMAKE_run'.
* tests/add-missing.test: Renamed ...
* tests/add-missing.tap: ... to this, and converted to the use
of the TAP protocol, and of the new `show_' function.
* tests/automake.test: Renamed ...
* tests/automake-cmdline.tap: ... to this, and converted to the
use of the TAP protocol.
* tests/getopt.test: Adapt to the new command-line interface
of `AUTOMAKE_run'.
* tests/cond44.test: Likewise.
* tests/cond45.test: Likewise.
* tests/configure.test: Likewise.
* tests/license2.test: Likewise.
* tests/parallel-am.test: Likewise.
* tests/parallel-am3.test: Likewise.
* tests/tags2.test: Likewise.
* tests/werror3.test: Likewise.
* tests/werror4.test: Likewise.
* tests/amopts-variable-expansion.test: Likewise.
* tests/warnings-win-over-strictness.test: Likewise.
* tests/Makefile.am (TESTS): Update.
(TAP_LOG_DRIVER_FLAGS): Add `--merge', so that TAP diagnostic is
reported in the testsuite progress output.
Stefano Lattarini [Wed, 3 Aug 2011 18:22:50 +0000 (20:22 +0200)]
tap: check that also a trailing TAP plan can hold a skip directive
* tests/tap-skip-whole-lastline.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Add it.
Stefano Lattarini [Wed, 3 Aug 2011 16:11:17 +0000 (18:11 +0200)]
Merge branch 'test-protocols' into tap-testsuite-work
* test-protocols:
maintcheck: fix more maintainer-check failures
maintcheck: fix maintainer-check failures, both real and spurious
gitignore: ignore `*.trs' files in lib/Automake/tests
testsuite: list another "forgotten" test script in Makefile.am
Stefano Lattarini [Wed, 3 Aug 2011 15:54:18 +0000 (17:54 +0200)]
maintcheck: fix more maintainer-check failures
* tests/test-driver-custom-no-html.test (no-rst): Use `EOF',
not `EoL', as the here-document delimiter.
* tests/test-trs-basic.test: Use `cat + here-doc' rather
than `echo' when creating the dummy test scripts, to please
maintainer-check.
* tests/test-trs-recover.test: Use creative quoting where
needed, to please maintainer-check.
* tests/parallel-tests-no-color-in-log.test: Likewise.
* tests/parallel-tests-dry-run.test: Likewise.
Stefano Lattarini [Wed, 3 Aug 2011 15:24:19 +0000 (17:24 +0200)]
Merge branch 'master' into test-protocols
* master:
maintcheck: fix maintainer-check failures, both real and spurious
docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support
tests: relax a test on amhello examples to cater to Solaris tar
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.
fix typo in recent ChangeLog entry
docs, tests: synchronize examples on silent-rules from config.site
tests: fix weakness in 'tests-environment-backcompat.test'
tests: portability fixes in tests on amhello examples
remake: add test ensuring that slower remakes don't hang
remake: fix outdated comment in configure.am
docs, tests: synchronize examples from docs to tests
coverage: new test on parallel-tests TESTS runtime overriding
cosmetics: fix typos in recent ChangeLog entries
Stefano Lattarini [Wed, 3 Aug 2011 14:44:03 +0000 (16:44 +0200)]
Merge branch 'master' into testsuite-work
* master:
maintcheck: fix maintainer-check failures, both real and spurious