platform/upstream/automake.git
12 years agotap/perl: be more portable to older TAP::Parser versions
Stefano Lattarini [Wed, 7 Sep 2011 15:31:23 +0000 (17:31 +0200)]
tap/perl: be more portable to older TAP::Parser versions

* lib/tap-driver.pl (start): Do not call the `ignore_exit' method
on our TAP parser: it is not supported in older TAP::Parser
versions (e.g., 3.10), and is not really required by our usage of
the parser object.

12 years agoMerge branch 'master' into test-protocols
Stefano Lattarini [Tue, 6 Sep 2011 15:37:32 +0000 (17:37 +0200)]
Merge branch 'master' into test-protocols

* master:
  tests: fix spurious failures due to ignored signals

12 years agotests: fix spurious failures due to ignored signals
Stefano Lattarini [Tue, 6 Sep 2011 15:10:21 +0000 (17:10 +0200)]
tests: fix spurious failures due to ignored signals

* tests/defs (is_blocked_signal): New function.
* tests/parallel-tests-interrupt.test: Do not try to use/trap
signals that are ignored by the parent shell: they will be
ignored by all the child processes too.
* tests/self-check-exit.test: Likewise.
* tests/self-check-cleanup.test: Likewise, and do few minor
improvements and extensions since we are at it.

12 years agoMerge branch 'master' into test-protocols
Stefano Lattarini [Tue, 6 Sep 2011 09:02:38 +0000 (11:02 +0200)]
Merge branch 'master' into test-protocols

* master:
  * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
  fix: list test 'vala-vpath.test' in XFAIL_TESTS
  tests: simplify wrapper for aclocal
  fix: minor typo in ChangeLog
  automake: fix regression due to de-ansification support removal
  coverage: vala support failing for VPATH from-scratch builds
  docs: report few more automake parsing limitations
  automake: cleanups after de-ansification support removal (2)
  automake: cleanups after de-ansification support removal (1)
  ansi: remove obsolete code/files for de-ANSI-fication support
  ansi: reject attempts to use automatic de-ANSI-fication support
  tests: remove tests about obsolete de-ANSI-fication support
  docs: remove description of de-ANSI-fication support from manual

12 years agoMerge branch 'maint'
Stefano Lattarini [Tue, 6 Sep 2011 08:59:38 +0000 (10:59 +0200)]
Merge branch 'maint'

* maint:
  * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
  fix: list test 'vala-vpath.test' in XFAIL_TESTS

12 years ago* tests/amhello-binpkg.test: Add missing $EXEEXT usage.
Peter Rosin [Mon, 5 Sep 2011 09:30:17 +0000 (11:30 +0200)]
* tests/amhello-binpkg.test: Add missing $EXEEXT usage.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
12 years agoMerge branch 'fix-vala-vpath-test' into maint
Stefano Lattarini [Sun, 4 Sep 2011 15:28:49 +0000 (17:28 +0200)]
Merge branch 'fix-vala-vpath-test' into maint

12 years agofix: list test 'vala-vpath.test' in XFAIL_TESTS
Stefano Lattarini [Sun, 4 Sep 2011 15:28:35 +0000 (17:28 +0200)]
fix: list test 'vala-vpath.test' in XFAIL_TESTS

* tests/Makefile.am (XFAIL_TESTS): Update.

12 years agoMerge branch 'maint'
Stefano Lattarini [Fri, 2 Sep 2011 19:57:03 +0000 (21:57 +0200)]
Merge branch 'maint'

* maint:
  tests: simplify wrapper for aclocal

12 years agotests: simplify wrapper for aclocal
Stefano Lattarini [Fri, 2 Sep 2011 18:16:58 +0000 (20:16 +0200)]
tests: simplify wrapper for aclocal

* tests/aclocal.in: Remove use of $ACLOCAL_TESTSUITE_FLAGS and
extra `-I' flags; they are not really required, since the file
`m4/amversion.m4' is generated in the srcdir anyway.
* tests/acloca10.test: Remove use of $ACLOCAL_TESTSUITE_FLAGS.
* tests/acloca18.test: Likewise.
* tests/defs.in: Don't nullify $ACLOCAL_TESTSUITE_FLAGS, and do
not export it.

12 years agoMerge branch 'maint'
Stefano Lattarini [Fri, 2 Sep 2011 15:39:53 +0000 (17:39 +0200)]
Merge branch 'maint'

12 years agofix: minor typo in ChangeLog
Stefano Lattarini [Fri, 2 Sep 2011 15:39:35 +0000 (17:39 +0200)]
fix: minor typo in ChangeLog

12 years agoMerge branch 'remove-deansification'
Stefano Lattarini [Fri, 2 Sep 2011 08:31:19 +0000 (10:31 +0200)]
Merge branch 'remove-deansification'

* remove-deansification:
  automake: fix regression due to de-ansification support removal
  automake: cleanups after de-ansification support removal (2)
  automake: cleanups after de-ansification support removal (1)
  ansi: remove obsolete code/files for de-ANSI-fication support
  ansi: reject attempts to use automatic de-ANSI-fication support
  tests: remove tests about obsolete de-ANSI-fication support
  docs: remove description of de-ANSI-fication support from manual

12 years agoautomake: fix regression due to de-ansification support removal
Stefano Lattarini [Thu, 1 Sep 2011 09:02:04 +0000 (11:02 +0200)]
automake: fix regression due to de-ansification support removal

The last change `v1.11-947-g136b489' removed code that automake
was using to decide whether binary objects were built by the
generated Makefile.in, so that it could avoid to emit unneeded
code when this was not the case.  Re-introduce such code in a
less-obfuscated form, and add a test to ensure we don't regress
again.

* automake.in ($must_handle_compiled_objects): New global
variable, telling whether the generated Makefile has to build
compiled objects.
(initialize_per_input): Reset it.
(handle_programs, handle_libraries, handle_ltlibraries): Set
it to a true value when required.
(handle_compile): Don't generate any code if the variable
`$must_handle_compiled_objects' is not set to a true value.
* tests/no-extra-makefile-code.test: New test.
* tests/Makefile.am (TESTS): Add it.

12 years agoMerge branch 'maint'
Stefano Lattarini [Fri, 2 Sep 2011 08:04:43 +0000 (10:04 +0200)]
Merge branch 'maint'

* maint:
  coverage: vala support failing for VPATH from-scratch builds
  docs: report few more automake parsing limitations

12 years agocoverage: vala support failing for VPATH from-scratch builds
Stefano Lattarini [Fri, 2 Sep 2011 07:56:20 +0000 (09:56 +0200)]
coverage: vala support failing for VPATH from-scratch builds

* tests/vala-vpath.test: New test, xfailing.
* tests/Makefile.am (TESTS): Update.
* THANKS: Update.

From a report by Zbigniew JÄ™drzejewski-Szmek.

Related to automake bug#8753.

12 years agodocs: report few more automake parsing limitations
Stefano Lattarini [Thu, 1 Sep 2011 17:17:39 +0000 (19:17 +0200)]
docs: report few more automake parsing limitations

Partly motivated by automake bug#8360.

* doc/automake.texi (General Operation): Report few more automake
limitations w.r.t. parsing of unusual makefile constructs.  Related
minor reorderings.
* tests/doc-parsing-buglets-colneq-subst.test: New test.
* tests/doc-parsing-buglets-tabs.test: Likewise.
* tests/Makefile.am (TESTS): Update.

12 years agoautomake: cleanups after de-ansification support removal (2)
Stefano Lattarini [Sun, 28 Aug 2011 20:38:50 +0000 (22:38 +0200)]
automake: cleanups after de-ansification support removal (2)

* automake.in ($get_object_extension_was_run): Remove, it's not
really needed anymore.
(&get_object_extension): Remove, it's a no-op now.
All callers adjusted.

12 years agoautomake: cleanups after de-ansification support removal (1)
Stefano Lattarini [Sun, 28 Aug 2011 19:11:07 +0000 (21:11 +0200)]
automake: cleanups after de-ansification support removal (1)

* automake.in (lang_c_rewrite, handle_single_transform): Rename
variable `$nonansi_obj' to `$obj'.

12 years agoansi: remove obsolete code/files for de-ANSI-fication support
Stefano Lattarini [Sun, 28 Aug 2011 14:09:50 +0000 (16:09 +0200)]
ansi: remove obsolete code/files for de-ANSI-fication support

* lib/ansi2knr.1, lib/ansi2knr.c: Deleted.
* lib/Makefile.am (dist_pkgvdata_DATA): Do not list them anymore.
* lib/am/ansi2knr.am: Delete.
* lib/am/Makefile.am (dist_am_DATA): Do not list it anymore.
* lib/Automake/Variable.pm (%_am_macro_for_var): Remove entries for
`ANSI2KNR' and `U'.
* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Don't care anymore
about possible definition of the `$U' variable.
* automake.in (@common_files): Drop `ansi2knr.1' and `ansi2knr.c'.
(struct): Remove scalar field `ansi'.
All callers adjusted.
(&lang_c_finish, %de_ansi_files): Remove, they're not required
anymore.
All callers adjusted.
($get_object_extension_was_run): Fix typo in comment.
(&get_object_extension): Drop code dealing with de-ansification;
this function basically a no-op now, but is required to properly
initialize `$get_object_extension_was_run' variable.
(&handle_languages, &handle_compile, &lang_c_rewrite): Drop code
dealing with de-ansification.

12 years agotests: prefer AM_... variables to user-reserved ones in Makefile
Stefano Lattarini [Mon, 29 Aug 2011 13:36:14 +0000 (15:36 +0200)]
tests: prefer AM_... variables to user-reserved ones in Makefile

* tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Renamed ...
(AM_TAP_LOG_DRIVER_FLAGS): ... to this.

12 years agotests: some minor fixlets w.r.t. TAP-based tests
Stefano Lattarini [Mon, 29 Aug 2011 13:27:08 +0000 (15:27 +0200)]
tests: some minor fixlets w.r.t. TAP-based tests

The variable that is used by our test scripts to decide whether
they are "plain" or TAP-based is `using_tap'; however, some
peripheral sanity checks and sanitization code in our testsuite
were erroneously using the `use_tap' variable instead.  Fix that.

* tests/Makefile.am (AM_TESTS_ENVIRONMENT): Nullify `using_tap',
not `use_tap'.
* tests/defs-static.in: Check that `using_tap', not `use_tap',
is not exported.
* tests/self-check-env-sanitize.test: Update.

12 years agotests: avoid re-running a test with the 'parallel-tests' option
Stefano Lattarini [Mon, 29 Aug 2011 13:16:21 +0000 (15:16 +0200)]
tests: avoid re-running a test with the 'parallel-tests' option

* tests/backcompat5.test (parallel_tests): Define to "no", to
prevent the generation of a sibling test script that uses the
'parallel-tests' driver.  That would be useless anyway, since
we manually override the contents of configure.in, thus clobbering
the `parallel-tests' option in AM_INIT_AUTOMAKE.
Fix a typo in comments since we are at it.

12 years agotests: defaults to awk+shell driver in tests on TAP support
Stefano Lattarini [Sun, 28 Aug 2011 22:01:54 +0000 (00:01 +0200)]
tests: defaults to awk+shell driver in tests on TAP support

* tests/defs ($am_tap_implementation): Default to "shell", not
to "perl".

12 years agoansi: reject attempts to use automatic de-ANSI-fication support
Stefano Lattarini [Sun, 28 Aug 2011 13:52:11 +0000 (15:52 +0200)]
ansi: reject attempts to use automatic de-ANSI-fication support

* tests/protos.m4 (AM_C_PROTOTYPES): Error out whenever called.
* lib/Automake/Options.pm (_process_option_list ): Error out
with a proper error message when the `ansi2knr' option is used.
Related updates to comments.
* tests/depacl2.test: Update.
* tests/ansi2knr-no-more.test: New test.
* tests/Makefile.am (TESTS): Add it.
* NEWS: Update.

12 years agotests: remove tests about obsolete de-ANSI-fication support
Stefano Lattarini [Sun, 28 Aug 2011 13:12:17 +0000 (15:12 +0200)]
tests: remove tests about obsolete de-ANSI-fication support

* tests/ansi.test: Delete.
* tests/ansi10.test: Likewise.
* tests/ansi2.test: Likewise.
* tests/ansi2knr-deprecation.test: Likewise.
* tests/ansi3.test: Likewise.
* tests/ansi3b.test: Likewise.
* tests/ansi4.test: Likewise.
* tests/ansi5.test: Likewise.
* tests/ansi6.test: Likewise.
* tests/ansi7.test: Likewise.
* tests/ansi8.test: Likewise.
* tests/ansi9.test: Likewise.
* tests/cxxansi.test: Likewise.
* tests/libobj8.test: Likewise.
* tests/subobj3.test: Likewise.
* tests/Makefile.am (TESTS): Update.

12 years agodocs: remove description of de-ANSI-fication support from manual
Stefano Lattarini [Sun, 28 Aug 2011 13:06:59 +0000 (15:06 +0200)]
docs: remove description of de-ANSI-fication support from manual

* doc/automake.texi (Auxiliary Programs): Remove mention of
`ansi2knr.c' and `ansi2knr.1'.
(Obsolete Macros): Remove mention of `AM_C_PROTOTYPES'.  Do not
index it nor variables `ANSI2KNR' and `U' anymore.
(List of Automake options): Remove mention of `ansi2knr' option,
and obsolete entries for concept and option indexes.
(Optional): Remove entry about `AM_C_PROTOTYPES'.
(@c LocalWords): Remove `ansi' and `knr'.
(@menu, @detailmenu): Remove entries about de-ANSI-fication
support.

12 years agoMerge branch 'master' into test-protocols
Stefano Lattarini [Sun, 28 Aug 2011 10:25:31 +0000 (12:25 +0200)]
Merge branch 'master' into test-protocols

* master:
  tests: list "forgotten" test script in TESTS
  ylwrap: fix unusual indentation whitespace

12 years agotests: fix spurious failure for awk implementation of TAP driver
Stefano Lattarini [Fri, 26 Aug 2011 09:11:36 +0000 (11:11 +0200)]
tests: fix spurious failure for awk implementation of TAP driver

* tests/tap-realtime.test: The awk+shell implementation of the TAP
driver must "read ahead" of one line in order to catch the exit
status of the test script it runs.  So, in the TAP-producer script
here, be sure to echo one "dummy" line after each TAP result line
in order not to cause false positives.

12 years agoMerge branch 'maint'
Stefano Lattarini [Thu, 25 Aug 2011 19:22:19 +0000 (21:22 +0200)]
Merge branch 'maint'

* maint:
  tests: list "forgotten" test script in TESTS

12 years agotests: list "forgotten" test script in TESTS
Stefano Lattarini [Thu, 25 Aug 2011 19:07:12 +0000 (21:07 +0200)]
tests: list "forgotten" test script in TESTS

* tests/Makefile.am (TESTS): Also list ...
* tests/java-empty-classpath.test: ... this test.  Since we are
at it, remove trailing whitespace from a couple of lines.

12 years agoMerge branch 'maint'
Eric Blake [Thu, 25 Aug 2011 18:46:19 +0000 (12:46 -0600)]
Merge branch 'maint'

12 years agoylwrap: fix unusual indentation whitespace
Eric Blake [Thu, 25 Aug 2011 18:37:37 +0000 (12:37 -0600)]
ylwrap: fix unusual indentation whitespace

* lib/ylwrap: Convert tabs to spaces.
Reported by Karl Berry.

Signed-off-by: Eric Blake <eblake@redhat.com>
12 years agotap/awk: allow escaping of TAP directives
Stefano Lattarini [Thu, 25 Aug 2011 11:22:58 +0000 (13:22 +0200)]
tap/awk: allow escaping of TAP directives

* lib/tap-driver.sh (setup_result_obj): Handle escaping of TAP
directives in a way tat is (mostly) compatible by what is done
by the TAP::Parser module.
With this change, the tests `tap-escape-directive.test' and
`tap-escape-directive-2.test' now also pass with the shell/awk
implementation of the TAP driver.

12 years agocoverage: more about escaping of TAP directives
Stefano Lattarini [Thu, 25 Aug 2011 10:55:55 +0000 (12:55 +0200)]
coverage: more about escaping of TAP directives

* tests/tap-escape-directive.test: Make grepping of testsuite
progress output slightly stricter.
* tests/tap-escape-directive-2.test: New test (failing with the
awk implementation of the TAP driver).
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agotap: improve syncing between awk+shell and perl implementations
Stefano Lattarini [Thu, 25 Aug 2011 10:44:32 +0000 (12:44 +0200)]
tap: improve syncing between awk+shell and perl implementations

* lib/tap-driver.pl (stringify_test_result): Renamed ...
(stringify_result_obj): ... to this.  Break up a clause in the
long "if/elsif/.../else" construct to avoid unaesthetic line
breaks and to be more synced with the sibling function in
`tap-driver.sh'.  Rename the `$result', `$PASS' and `$FAIL'
variables to respectively `$result_obj', `$COOKED_PASS' and
`$COOKED_FAIL', for clarity and better syncing.
(handle_tap_test): Renamed  ...
(handle_tap_result): ... to this, and change the name of the
`$test' local variable to `$result_obj'.
(extract_comment): Reimplement using the simpler `index' and
`substr' builtins, rather than with more advanced uses of
regular expressions.
(%test_results, @test_results): Renamed respectively ...
(%test_results_seen, @test_results_list): ... to these, and
related adjustments throughout the `TEST_RESULTS' block.
(main, get_global_test_result): Refactor and do some cosmetic
changes to make these functions clearer and better synced with
sibling code in `tap-driver.sh'.
Other minor cosmetic and typo fixes.
* lib/tap-driver.sh (extract_tap_comment): Remove outdated
"FIXME" comments.
(get_global_test_result): Small reordering to make it better
synced with its sibling function in `tap-driver.pl'.
(stringify_result_obj): Consistently use `result_obj' as the
parameter name.
Other minor cosmetic and typo fixes.

12 years agotap/perl: don't redirect perl warnings/errors to log files
Stefano Lattarini [Thu, 25 Aug 2011 08:53:23 +0000 (10:53 +0200)]
tap/perl: don't redirect perl warnings/errors to log files

With this change, the test `tap-driver-stderr.test' also passes
with the perl implementation of the TAP driver.

* lib/tap-driver.pl (start): Save the original stderr into the
`OLDERR' file handle, and call ...
(trap_perl_warnings_and_errors): ... this new function, trapping
the `__WARN__' and `__DIE__' "pseudo-signals" to ensure that the
warning and error messages goes to that original stderr stream.
Since we are at it, be sure to prepend all possible "die" message
with the name of the script as given by the `$ME' variable.

12 years agotap/perl: add copyright notice, version string, and emacs stuff
Stefano Lattarini [Thu, 25 Aug 2011 08:05:51 +0000 (10:05 +0200)]
tap/perl: add copyright notice, version string, and emacs stuff

* lib/tap-driver.pl: Add proper copyright notice and bug reporting
address.  Remove obsolete heading comments.  Add trailing comments
for emacs w.r.t. code-formatting rules and automatic updating of
the date-based script version saved into the `$VERSION' variable.
($VERSION): Define to the current UTC date.

12 years agotap/awk: don't redirect awk stderr to log files
Stefano Lattarini [Wed, 24 Aug 2011 09:27:00 +0000 (11:27 +0200)]
tap/awk: don't redirect awk stderr to log files

* lib/tap-driver.sh: Handle the file descriptors redirections
more smartly, to avoid sending error messages from awk (about
e.g. syntax or I/O errors) to the log files instead that to the
console.
* tests/tap-driver-stderr.test: New test, verifying the improved
driver behaviour.  Notice that this test still fails when using
the perl implementation of the TAP driver.
* tests/Makefile.am (tap_other_tests): Update.

12 years agotap/awk: remove obsolete "FIXME" comment
Stefano Lattarini [Wed, 24 Aug 2011 07:54:22 +0000 (09:54 +0200)]
tap/awk: remove obsolete "FIXME" comment

* lib/tap-driver.sh: Remove obsolete "FIXME" comment about our
driver losing the exit status of the tested program; this issue
has been solved in precedent commit `v1.11-1052-gd630a0d'.  Fix
an unrelated typo in comments since we are at it.

12 years agotestsuite: avoid spurious failure on Solaris
Stefano Lattarini [Mon, 22 Aug 2011 14:32:09 +0000 (16:32 +0200)]
testsuite: avoid spurious failure on Solaris

* tests/tap-signal.test (signal_caught): Fix a regression from
commit `v1.11-1052-gd630a0d' that was causing this test to fail
spuriously on Solaris (due to an already worked-around Solaris
/bin/sh bug, see commit `v1.11-981-g0ef3ef5').

12 years agotestsuite: use the new awk+shell TAP driver in our own testsuite
Stefano Lattarini [Mon, 22 Aug 2011 13:43:57 +0000 (15:43 +0200)]
testsuite: use the new awk+shell TAP driver in our own testsuite

* tests/Makefile.am (TAP_LOG_DRIVER): Redefine to use the new
awk+shell tap driver, which should be complete enough for use in
a "controlled" production environment.

12 years agotap/awk: handle non-zero exit status from the test command
Stefano Lattarini [Mon, 22 Aug 2011 13:00:09 +0000 (15:00 +0200)]
tap/awk: handle non-zero exit status from the test command

* lib/tap-driver.sh (get_test_exit_message): New function in the
awk script, used to extract the exit status of the test program,
or at least a good guess of it.
(write_test_results): Use it, reporting an ERROR result if it
detects that the test program exited with a non-zero status.
* tests/tap-signal.test: Account for the differences in the
error messages generated by the awk and perl TAP drivers.  Fix
an unrelated typo in comments since we are at it.

12 years agotap/awk: prepare to fetch the exit status of the test command
Stefano Lattarini [Mon, 22 Aug 2011 10:14:32 +0000 (12:14 +0200)]
tap/awk: prepare to fetch the exit status of the test command

* lib/tap-driver.sh: Rewrite some logic in the main parsing loop,
to make it possible to read the exit status of the test command
from the last line of the input stream.

12 years agotap/awk: refactor for future changes
Stefano Lattarini [Mon, 22 Aug 2011 10:00:05 +0000 (12:00 +0200)]
tap/awk: refactor for future changes

* lib/tap-driver.sh: Rewrite the awk script so that the parsing
of the input stream is implemented as a hand-rolled loop in the
BEGIN block, using the `getline' builtin.

12 years agotestsuite: avoid spurious failure if rst2html program is missing
Stefano Lattarini [Mon, 22 Aug 2011 08:40:12 +0000 (10:40 +0200)]
testsuite: avoid spurious failure if rst2html program is missing

* tests/tap-html.test ($required): Require `rst2html'.

12 years agotap/awk: support Solaris /usr/xpg4/bin/awk
Stefano Lattarini [Mon, 22 Aug 2011 08:02:11 +0000 (10:02 +0200)]
tap/awk: support Solaris /usr/xpg4/bin/awk

* lib/tap-driver.sh: Use `\t', not `\\t', to represent tabulation
character in regexps, even when inside double-quoted strings; that
seems to be more portable to Solaris 10 XPG4 awk.

12 years agotap/awk: support Solaris /usr/bin/nawk
Stefano Lattarini [Mon, 22 Aug 2011 06:43:22 +0000 (08:43 +0200)]
tap/awk: support Solaris /usr/bin/nawk

* lib/tap-driver.sh (close_or_die): Remove, the use of the `close'
builtin in there was confusing /usr/bin/nawk from Solaris 10 into
a syntax error.
(write_test_results): Simply use `close' on the `*.trs' file, that
should be enough.

12 years agotap/awk: correctly extract message from SKIP plans
Stefano Lattarini [Sun, 21 Aug 2011 21:15:45 +0000 (23:15 +0200)]
tap/awk: correctly extract message from SKIP plans

* lib/tap-driver.sh (/^1\.\.0+[ \t]*#/): Add a forgotten `?' to
the regex used to extract the skip message from a "1..0" TAP plan.
* tests/planskip.test: Check for the just-fixed bug.
* tests/tap-planskip-unplanned-corner.test: Don't be too strict
w.r.t. the formatting of the "skip whole test" message, to avoid
failing due to bugs irrelevant for this test (like the one just
fixed).

12 years agotap/awk: support colorized output
Stefano Lattarini [Sun, 21 Aug 2011 18:09:34 +0000 (20:09 +0200)]
tap/awk: support colorized output

* lib/tap-driver.sh: Pass definition of colors to the BEGIN block
of the awk script, using ...
($init_colors): ... this new variable, which supersedes ...
($red, $grn, $lgn, $blu, $mgn, $std): ... these variables, which
have been consequently removed.
($color_tests): We don't have to pass this anymore to the awk
script, so do not convert it to a numeric boolean.
(decorate_result): Implement for real.

With this change, the test 'tap-color.test' now passes.

12 years agotap: real (but still incomplete) awk implementation of TAP driver
Stefano Lattarini [Sun, 21 Aug 2011 16:15:35 +0000 (18:15 +0200)]
tap: real (but still incomplete) awk implementation of TAP driver

* lib/tap-driver.sh : Add an incomplete, but mostly working,
implementation of a TAP parser and driver in awk.  It doesn't yet
support colorized output, fetching of exit status from test
programs, nor a way to escape TAP directives in TAP result lines,
but passes all the tests of TAP support in the automake testsuite,
apart from the following ones:
  - tap-color.test
  - tap-escape-directive.test
  - tap-exit.test
  - tap-missing-plan-and-bad-exit.test
  - tap-passthrough-exit.test
  - tap-planskip-badexit.test
  - tap-planskip-unplanned-corner.test
  - tap-signal.test

Tested on Debian GNU/Linux with GNU awk 3.1.7 and 3.0.2, "original
awk" 2010-05-23-1, and mawk 1.3.3-15 (with which also the test
`tap-realtime.test' fails, in addition to those listed above).

12 years agotestsuite: fix spurious failure due to Solaris 'wc' incompatibility
Stefano Lattarini [Sun, 21 Aug 2011 16:56:21 +0000 (18:56 +0200)]
testsuite: fix spurious failure due to Solaris 'wc' incompatibility

* tests/tap-number-wordboundary.test ($planned): Strip any extra
whitespace from the output of `wc', to cater to Solaris 10.

12 years agocoverage: keyword "SKIP" in TAP plan is case-insensitive
Stefano Lattarini [Sun, 21 Aug 2011 13:33:03 +0000 (15:33 +0200)]
coverage: keyword "SKIP" in TAP plan is case-insensitive

* tests/tap-planskip-case-insensitive.test: New test.
* tests/tap-planskip.test: Remove now-duplicated checks.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agocoverage: ambiguous use of TAP "TODO"/"SKIP" directives
Stefano Lattarini [Sun, 21 Aug 2011 10:25:39 +0000 (12:25 +0200)]
coverage: ambiguous use of TAP "TODO"/"SKIP" directives

* tests/tap-ambiguous-directive.test: New test.
* tests/tap-todo-skip-together.test: Reference it in heading
comments.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agocoverage: non-directive comments in TAP results are preserved
Stefano Lattarini [Sun, 21 Aug 2011 09:01:51 +0000 (11:01 +0200)]
coverage: non-directive comments in TAP results are preserved

* tests/tap-result-comment.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agocoverage: TAP result number followed by non-whitespace word boundary
Stefano Lattarini [Sat, 20 Aug 2011 16:30:12 +0000 (18:30 +0200)]
coverage: TAP result number followed by non-whitespace word boundary

* tests/tap-number-wordboundary.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agocoverage: a TAP result numbered "0" is always out-of-order
Stefano Lattarini [Sat, 20 Aug 2011 15:32:29 +0000 (17:32 +0200)]
coverage: a TAP result numbered "0" is always out-of-order

* tests/tap-test-number-0.test: New, checks that a test result
numbered as 0 is to be considered out-of-order; this is
consistent with the behaviour of the `prove' utility.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agocosmetics: fix botched indentation in perl TAP driver
Stefano Lattarini [Sat, 20 Aug 2011 11:59:45 +0000 (13:59 +0200)]
cosmetics: fix botched indentation in perl TAP driver

* lib/tap-driver.pl (main, Getopt::Long::GetOptions): Fix
improper or botched indentation.

12 years agofix: regenerate tests/Makefile.in
Stefano Lattarini [Sat, 20 Aug 2011 12:00:25 +0000 (14:00 +0200)]
fix: regenerate tests/Makefile.in

12 years agocoverage: some more tests on corner cases of TAP support
Stefano Lattarini [Fri, 19 Aug 2011 14:47:12 +0000 (16:47 +0200)]
coverage: some more tests on corner cases of TAP support

* tests/tap-no-spurious.test: Extend checks verifying that a line
matching, say, the regex "^ok[a-zA-Z0-9_]" is *not* considered a
TAP result.
* tests/tap-no-spurious-numbers.test: New test, checking that our
TAP driver doesn't spuriously recognize as TAP result numbers what
is not (even if it seems pretty close).
* tests/tap-negative-numbers.test: New test, checking that our
TAP driver doesn't spuriously recognize negative TAP result
numbers, but correctly interprets them as test descriptions
instead.
* tests/tap-plan-leading-zero.test, tap-numbers-leading-zero.test:
New tests, checking how our driver fares in recognizing numbers
with leading zeroes in TAP results or TAP plans.
* tests/tap-planskip-malformed.test: New test, checking that a
malformed TAP plan is not recognized as a valid plan.
* tests/tap-plan-whitespace.test: New test, checking that a TAP
plan line with trailing whitespace is recognized and handled
correctly.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agotestsuite: fix some redundant autotools calls in tests on TAP
Stefano Lattarini [Fri, 19 Aug 2011 08:14:22 +0000 (10:14 +0200)]
testsuite: fix some redundant autotools calls in tests on TAP

* tests/tap-deps.test: Do not call autotools and configure; there
is no need to, since this script sources `tap-setup.sh'.
* tests/tap-empty-diagnostic.test: Likewise.
* tests/tap-escape-directive.test: Likewise.
* tests/tap-fancy2.test: Likewise.
* tests/tap-no-spurious.test: Likewise.
* tests/tap-out-of-order.test: Likewise.

12 years agoMerge branch 'master' into test-protocols
Stefano Lattarini [Thu, 18 Aug 2011 19:53:34 +0000 (21:53 +0200)]
Merge branch 'master' into test-protocols

* master:
  * THANKS (Daniel Richard G.): Update e-mail address.
  java: avoid compilation errors when CLASSPATH is empty
  parallel-tests: no more spurious successes for FreeBSD make
  hacking: we now require autoconf 2.68

12 years agoMerge branch 'maint'
Stefano Lattarini [Thu, 18 Aug 2011 19:47:11 +0000 (21:47 +0200)]
Merge branch 'maint'

* maint:
  * THANKS (Daniel Richard G.): Update e-mail address.
  java: avoid compilation errors when CLASSPATH is empty
  parallel-tests: no more spurious successes for FreeBSD make
  hacking: we now require autoconf 2.68

12 years ago* THANKS (Daniel Richard G.): Update e-mail address.
Stefano Lattarini [Wed, 17 Aug 2011 07:53:07 +0000 (09:53 +0200)]
* THANKS (Daniel Richard G.): Update e-mail address.

12 years agojava: avoid compilation errors when CLASSPATH is empty
Daniel Richard G [Tue, 16 Aug 2011 13:19:14 +0000 (15:19 +0200)]
java: avoid compilation errors when CLASSPATH is empty

* lib/am/java.am (CLASSPATH_ENV): When redefining `$CLASSPATH',
do not append an empty component in case the previous value of
CLASSPATH is empty or unset.
* tests/java-empty-classpath.test: New test.
* tests/Makefile.am (TESTS): Update.

Fixes automake bug#9306.

12 years agoparallel-tests: no more spurious successes for FreeBSD make
Stefano Lattarini [Fri, 12 Aug 2011 16:29:28 +0000 (18:29 +0200)]
parallel-tests: no more spurious successes for FreeBSD make

Work around a bug of FreeBSD make bug that was causing the
automake-generated "check" target to complete with success
even if some tests failed; this happened only when FreeBSD
make was run in concurrent mode (as in, e.g., "make -j2
check").  The bug is not present in NetBSD make.

This change fixes automake bug#9245:
 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>

See also FreeBSD PR bin/159730:
 <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>

* lib/am/check.am [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Use a
more "safe" (and apparently redundant) idiom to exit with error,
so that the non-zero exit status is picked up also by FreeBSD
make when it's running in concurrent mode.
* NEWS: Update.
* tests/check-concurrency-bug9245.test: New test.
* tests/Makefile.am (TESTS): Update.

12 years agotap: improve granularity for tests on problematic TAP messages
Stefano Lattarini [Wed, 17 Aug 2011 16:30:12 +0000 (18:30 +0200)]
tap: improve granularity for tests on problematic TAP messages

* tests/tap-message-0.test: Break up into ...
* tests/tap-msg0-result.test, tests/tap-msg0-directive.test,
tests/tap-msg0-planskip.test, tests/tap-msg0-misc.test,
tests/tap-msg0-bailout.test: ... these new tests, and extend
a little.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agotap: correctly handle string "0" in TAP messages
Stefano Lattarini [Wed, 17 Aug 2011 15:07:59 +0000 (17:07 +0200)]
tap: correctly handle string "0" in TAP messages

* lib/tap-driver.pl (is_null_string): New function, can be used
to determine whether a given string variable is empty or undefined.
Useful to avoid pitfalls like:
  if ($message) { print "$message\n"; }
which wouldn't print anything if $message is the literal "0".
(handle_tap_test, handle_tap_plan, handle_tap_bailout): Use it,
to avoid missing messages composed only by a literal "0" in TAP
result descriptions and in skip, todo and bailout explanations.
* tests/tap-message-0.test: Enhance.
* tests/Makefile.am (XFAIL_TESTS): Remove it, it passes now.

12 years agotap: a minor simplification in the perl TAP driver
Stefano Lattarini [Wed, 17 Aug 2011 14:40:10 +0000 (16:40 +0200)]
tap: a minor simplification in the perl TAP driver

* lib/tap-driver.pl: The `--disable-hard-errors' option is a
no-op, so just ignore it and its argument.

12 years agoparallel-tests: fix help screen for test driver scripts
Stefano Lattarini [Wed, 17 Aug 2011 14:32:48 +0000 (16:32 +0200)]
parallel-tests: fix help screen for test driver scripts

* lib/tap-driver.pl ($USAGE): The `--trs-file' option is mandatory
too.
* lib/tap-driver.sh (print_usage): Likewise.
* lib/test-driver (print_usage): Likewise.
($scriptversion): Update.

12 years agotap: add a dummy TAP driver script implemented in shell + awk
Stefano Lattarini [Wed, 17 Aug 2011 12:59:19 +0000 (14:59 +0200)]
tap: add a dummy TAP driver script implemented in shell + awk

The user can also now decide which implementation of the TAP driver
to use in the testsuite by defining the `$am_tap_implementation'
variable to either "perl" or "shell".  Future enhancements will
allow the testsuite to automatically run the test scripts on TAP
support with both the TAP driver implementations, to improve
coverage.

* tests/defs (fetch_tap_driver): Honor the `$am_tap_implementation'
variable to decide which implementation of the TAP driver to fetch.
($am_tap_implementation): Default to "perl".
* tests/tap-common-setup.test: Do not fetch the TAP driver, the
code in tap-setup.sh does that already (and respecting runtime
overriding of `$am_tap_implementation').
* lib/tap-driver: Renamed ...
* lib/tap-driver.pl: ... to this, and ...
($ME): ... adjusted this.
* doc/automake.texi: Adjust to the renaming.
* tests/Makefile.am (TAP_LOG_DRIVER): Likewise.
* tests/tap-doc2.test: Likewise.
* lib/tap-driver.sh: New script, still mostly dummy.
* lib/Makefile.am (dist_script_DATA): Update, and since we are at
it, rewrite it to make it easier to add new entries in the future.

12 years agotestsuite: refactor tests on TAP support in view of future changes
Stefano Lattarini [Wed, 17 Aug 2011 10:06:25 +0000 (12:06 +0200)]
testsuite: refactor tests on TAP support in view of future changes

* tests/defs (fetch_tap_driver): New subroutine; it fetches the
automake-provided TAP driver from the `lib/' directory into the
current directory, and edits its shebang line so that it will be
run with the perl interpreter determined at configure time.
* tests/tap-setup.sh: Use it.
* tests/tap-common-setup.test: There's no need to AC_SUBST `PERL'
anymore, nor to use it in the Makefile to run the TAP driver.
Also, use the `fetch_tap_driver' function instead of copying the
`tap-driver' auxiliary script directly.
* tests/tap-bad-prog.tap: Likewise.
* tests/tap-diagnostic-custom.test: Likewise.
* tests/tap-doc.test: Likewise.
* tests/tap-merge-stdout-stderr.test: Likewise.
* tests/tap-more.test: Likewise.
* tests/tap-more2.test: Likewise.
* tests/tap-recheck.test: Likewise.
* tests/tap-summary-aux.sh: Likewise.
* tests/tap-basic.test: Likewise, and fix a grammaro in comments
since we are at it.

12 years agofix: regenerate tests/Makefile.in
Stefano Lattarini [Wed, 17 Aug 2011 10:07:35 +0000 (12:07 +0200)]
fix: regenerate tests/Makefile.in

12 years agocoverage: missing tap plan and non-zero exit status
Stefano Lattarini [Sun, 14 Aug 2011 15:05:06 +0000 (17:05 +0200)]
coverage: missing tap plan and non-zero exit status

* tests/tap-missing-plan-and-bad-exit.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agotestsuite: fix an unportable use of sed
Stefano Lattarini [Fri, 12 Aug 2011 21:49:57 +0000 (23:49 +0200)]
testsuite: fix an unportable use of sed

* tests/tap-todo-skip-whitespace.test: Alternation with "\|" in
sed regular expressions is not portable to (at least) FreeBSD
sed; do not use it.

12 years agotestsuite: avoid spurious failure if rst2html program is missing
Stefano Lattarini [Fri, 12 Aug 2011 21:33:56 +0000 (23:33 +0200)]
testsuite: avoid spurious failure if rst2html program is missing

* tests/test-driver-custom-no-html.test: Account for the
possibility of a lacking `rst2html' program in our final
grepping of make output.

12 years agofix: two recent ChangeLog entries
Stefano Lattarini [Fri, 12 Aug 2011 15:17:48 +0000 (17:17 +0200)]
fix: two recent ChangeLog entries

12 years agotap: improve diagnosing and reporting of plan mismatches
Stefano Lattarini [Fri, 12 Aug 2011 15:04:33 +0000 (17:04 +0200)]
tap: improve diagnosing and reporting of plan mismatches

Problem exposed by a failure in the test 'tap-plan-errors.test'.

* lib/tap-driver (NO_PLAN, EARLY_PLAN, LATE_PLAN): New constants.
(Throughout the file): Use more complex semantics for `$plan_seen',
which now also remember whether the plan that has been seen is an
"early" or "late" plan; in turn, this makes ...
($tap_stopped): ... this variable redundant; remove it.
(handle_tap_plan): Adjust to avoid producing spurious or confusing
error messages about extra or mismatched "late" TAP plans.
* tests/tap-plan-corned.test: Adjust and extend.
* tests/tap-color.test: Likewise.

12 years agotap: log all TAP stream, even after a "Bail out!"
Stefano Lattarini [Fri, 12 Aug 2011 13:51:12 +0000 (15:51 +0200)]
tap: log all TAP stream, even after a "Bail out!"

* lib/tap-driver ($bailed_out): New global boolean variable,
telling whether a "Bail out!" directive has been seen or not.
(handle_tap_bailout): This function does not anymore stop the
reading from TAP stream; instead, it sets `$bailed_out' to a
true value, so that only the subsequent parsing of the input
TAP stream is stopped.
(finish): Remove, no more needed, its contents inlined into ...
(main): ... this function, with related adjustments in the code
flow.
(get_test_exit_message): Do not "flush" the input TAP stream
to fetch the exit status of test script, it is not anymore
required.  Add a sanity check.
* tests/tap-bailout-and-logging.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agocoverage: TAP diagnostics after "Bail out!" aren't reported
Stefano Lattarini [Fri, 12 Aug 2011 12:42:21 +0000 (14:42 +0200)]
coverage: TAP diagnostics after "Bail out!" aren't reported

This is compatible with the behaviour of the `prove' utility.

* tests/tap-bailout-suppress-later-diagnostic.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agocoverage: TAP errors after a "Bail out!" directive aren't reported
Stefano Lattarini [Fri, 12 Aug 2011 11:38:34 +0000 (13:38 +0200)]
coverage: TAP errors after a "Bail out!" directive aren't reported

This is compatible with the behaviour of the `prove' utility.

* tests/tap-bailout-suppress-later-errors.test: New test.
* tests/tap-bailout-badexit.test: Renamed ...
* tests/tap-bailout-suppress-badexit.test: ... to this, for
consistency.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agotestsuite: reorganize tests on TAP plans
Stefano Lattarini [Fri, 12 Aug 2011 11:12:54 +0000 (13:12 +0200)]
testsuite: reorganize tests on TAP plans

* tests/tap-skip-whole.test: Rename ...
* tests/tap-planskip.test: ... to this
* tests/tap-skip-whole-badexit.test: Rename ...
* tests/tap-planskip-badexit.test: ... to this.
* tests/tap-skip-whole-bailout.test: Rename ...
* tests/tap-planskip-bailout.test: ... to this.
* tests/tap-skip-whole-bailout.test: Rename ...
* tests/tap-planskip-later-errors.test: ... to this.
* tests/tap-skip-whole-unplanned.test: Rename ...
* tests/tap-planskip-unplanned.test: ... to this.
* tests/tap-skip-whole-whitespace.test: Rename ...
* tests/tap-planskip-whitespace.test: ... to this.
* tests/tap-skip-whole-continue.test: Rename ...
* tests/tap-planskip-and-logging.test: ... to this, extend to try
more cases, and fix heading comments.
* tests/tap-skip-whole-lastline.test: Rename ...
* tests/tap-planskip-late.test: ... to this, fix heading comments,
and remove some checks that are just a duplication of those already
performed in the previous script.
* tests/tap-results-with-planskip.test: Rename to ...
* tests/tap-planskip-unplanned-corner.test: ... this, and improve
hading comments.
* tests/tap-planskip-later-errors.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agocoverage: more TAP driver consistency w.r.t. 'prove'
Stefano Lattarini [Fri, 12 Aug 2011 09:38:55 +0000 (11:38 +0200)]
coverage: more TAP driver consistency w.r.t. 'prove'

* tests/skip-results-with-planskip.test: New test, verifies that
test results seen in a TAP stream that has a "plan with SKIP" are
flagged as errors.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agotap: improve some comments in the TAP driver
Stefano Lattarini [Fri, 12 Aug 2011 09:03:46 +0000 (11:03 +0200)]
tap: improve some comments in the TAP driver

* lib/tap-driver (handle_tap_plan): Improve comments describing
possible errors in a "plan with SKIP" directive.

12 years agotap: non-zero exit status after "Bail out!" should not be reported
Stefano Lattarini [Fri, 12 Aug 2011 08:49:05 +0000 (10:49 +0200)]
tap: non-zero exit status after "Bail out!" should not be reported

This new behaviour is more consistent with that of the `prove'
utility.  Also, experience with the use of TAP in the Automake's
own test suite has shown that reporting non-zero exit status from
a script after it has issued a "Bail out!" directive is mostly
redundant, more introducing noise rather than conveying useful
information.

* lib/tap-driver (finish): Inline the part of it that was getting
the script exit status ...
(main): ... in here.
* tests/tap-bailout-badexit.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agotap: a "plan with SKIP" after test results is an error
Stefano Lattarini [Wed, 10 Aug 2011 13:36:58 +0000 (15:36 +0200)]
tap: a "plan with SKIP" after test results is an error

This new behaviour is both more natural and more consistent with
that of the `prove' utility.

* lib/tap-driver (handle_tap_plan): Do not stop TAP parsing when
a "plan with SKIP" line (e.g., "1..0 # SKIP") is encountered, and
do not print a "SKIP" line if some TAP result has already been
seen.
* tests/tap-skip-whole.test: Adapt.
* tests/tap-skip-whole-lastline.test: Likewise.
* tests/tap-global-result.test: Adapt and extend.
* tests/tap-skip-plan-errors.test: Likewise, and fix an obsolete
small part of a comment.
* tests/tap-skip-whole-bailout.test: New test.
* tests/tap-skip-whole-unplanned.test: Likewise.
* tests/tap-skip-whole-continue.test: Likewise.
* tests/Makefile.am (tap_with_common_setup_tests): Update.

12 years agohacking: we now require autoconf 2.68
Stefano Lattarini [Thu, 11 Aug 2011 21:24:53 +0000 (23:24 +0200)]
hacking: we now require autoconf 2.68

* HACKING ("Working in git"): Use autoconf and autom4te 2.68,
not 2.67, in the examples.

12 years agotest harness: avoid possible fork bomb
Stefano Lattarini [Wed, 10 Aug 2011 13:37:27 +0000 (15:37 +0200)]
test harness: avoid possible fork bomb

This fixes a regression w.r.t. the master branch, exposed by
test 'parallel-tests-fork-bomb.test'.

* lib/am/check.am (am--redo-logs): Detect possible infinite
recursion due to a test log in $(TEST_LOGS) being the same
as $(TEST_SUITE_LOG).
* tests/parallel-tests-fork-bomb.test: Enhance and extend a
little now that we have more explicit semantics.

12 years agocoverage: possible infinite recursion in the test harness
Stefano Lattarini [Wed, 10 Aug 2011 14:03:35 +0000 (16:03 +0200)]
coverage: possible infinite recursion in the test harness

Motivated by a regression in the 'test-protocols' branch.

* tests/parallel-tests-fork-bomb.test: New test, checking that
if $(TEST_SUITE_LOG) is in $(TEST_LOGS), we obtain a diagnosed
error rather than a make hang or a fork bomb.
* tests/Makefile.am (TESTS): Update.

12 years agoMerge branch 'master' into test-protocols
Stefano Lattarini [Thu, 11 Aug 2011 09:28:03 +0000 (11:28 +0200)]
Merge branch 'master' into test-protocols

* master:
  coverage: possible infinite recursion in the test harness
  test defs: yet more environment cleanup

12 years agocoverage: possible infinite recursion in the test harness
Stefano Lattarini [Wed, 10 Aug 2011 14:03:35 +0000 (16:03 +0200)]
coverage: possible infinite recursion in the test harness

Motivated by a regression in the 'test-protocols' branch.

* tests/parallel-tests-fork-bomb.test: New test, checking that
if $(TEST_SUITE_LOG) is in $(TEST_LOGS), we obtain a diagnosed
error rather than a make hang or a fork bomb.
* tests/Makefile.am (TESTS): Update.

12 years agotest defs: yet more environment cleanup
Stefano Lattarini [Wed, 10 Aug 2011 08:44:56 +0000 (10:44 +0200)]
test defs: yet more environment cleanup

* tests/defs: Also unset the TEST_SUITE_LOG variable.

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

12 years agoMerge branch 'master' into test-protocols
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'

12 years agotests: fix various blunders in 'suffix-chain.test'
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.

12 years agoMerge branch 'master' into test-protocols
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

12 years agotests: don't let a known Solaris make bug poison too many tests
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.

12 years agogitignore: more use of anchors
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.

12 years agoMerge branch 'master' into test-protocols
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

12 years agotestsuite: 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.