platform/upstream/automake.git
12 years agomaintcheck: fix spurious failures
Stefano Lattarini [Thu, 8 Sep 2011 16:44:07 +0000 (18:44 +0200)]
maintcheck: fix spurious failures

* tests/gen-testsuite-part (write_wrapper_script): More uses of
creative quoting in the generated tests, to avoid triggering
failures in the `sc_tests_Exit_not_exit' maintcheck.
* Makefile.am (sc_tests_tap_plan): It's OK for auto-generated
TAP tests that sources an hand-written one not to declare a TAP
plan: the sourced test will do so.
* tests/Makefile.am (checked_test_extensions): Don't define
anymore, the default value `$(TEST_EXTENSIONS)' is correct now.
(expected_list_of_tests): Don't define anymore, the default
value `$(TESTS)' is correct now.

12 years agoMerge branch 'test-protocols' into testsuite-work
Stefano Lattarini [Thu, 8 Sep 2011 15:58:00 +0000 (17:58 +0200)]
Merge branch 'test-protocols' into testsuite-work

* test-protocols:
  aclocal: more granularity in acdir overriding

12 years agoMerge branch 'master' into test-protocols
Stefano Lattarini [Thu, 8 Sep 2011 15:52:22 +0000 (17:52 +0200)]
Merge branch 'master' into test-protocols

* master:
  aclocal: more granularity in acdir overriding

12 years agoMerge branch 'maint'
Stefano Lattarini [Thu, 8 Sep 2011 15:12:38 +0000 (17:12 +0200)]
Merge branch 'maint'

* maint:
  aclocal: more granularity in acdir overriding

12 years agoaclocal: more granularity in acdir overriding
Stefano Lattarini [Mon, 5 Sep 2011 15:37:44 +0000 (17:37 +0200)]
aclocal: more granularity in acdir overriding

Before this change, using the `--acdir' option caused aclocal to
redefine both the directory of automake-provided m4 macros and the
directory of third-party system-wide m4 macros.  With this change,
we deprecate the `--acdir' aclocal option, and introduce two new
options `--automake-acdir' and `--system-acdir', to allow for more
granularity.

* aclocal.in (@automake_includes, @system_includes,
@user_includes): Fix and extend comments.
(usage): Update.
(handle_acdir_option): New function.
(parse_arguments): Recognize new options `--system-acdir' and
`automake-acdir', and handle `--acdir' using the new function
above.  Simplify logic by assuming that the directory of
third-party system-wide m4 files always exists.
* tests/aclocal.in: Update to use the new options, instead of
the deprecated. `--acdir'.
* m4/dirlist: Move ...
* m4/acdir/dirlist: ... here.
* m4/Makefile.am (EXTRA_DIST): Update.
(m4datadir): Rename ...
(automake_acdir): ... to this.  Accordingly, ...
(dist_m4data_DATA): ... rename this ...
(dist_automake_ac_DATA): ... to this.
(system_acdir): New, directory.
(dist_system_ac_DATA): New, defined to an empty value; this will
ensure that the $(system_acdir) directory will be created by
"make install".
* tests/aclocal.test: Remove check about the `--print-ac-dir'
option of aclocal, it has been moved into ...
* tests/aclocal-print-acdir.test: ... this new test, and quite
extended.
* tests/aclocal-acdir.test: New test.
* tests/Makefile.am (TESTS): Add the new tests.
* NEWS, bootstrap: Update.
* doc/automake.texi (aclocal Options, Macro Search Path): Update.

12 years agocosmetic: rename gen-tests-deps -> gen-testsuite-part
Stefano Lattarini [Thu, 8 Sep 2011 14:06:40 +0000 (16:06 +0200)]
cosmetic: rename gen-tests-deps -> gen-testsuite-part

* tests/gen-tests-deps: Renamed ...
* tests/gen-testsuite-part: ... to this.
* bootstrap: Update.
* tests/Makefile.am ($(srcdir)/tests-deps.am): Don't generate
nor include this ...
($(srcdir)/testsuite-part.am): ... do with this instead.
* tests/.gitignore (tests-deps.am): Don't ignore this ...
(testsuite-part.am): ... ignore this instead.

12 years agotestsuite: revamp generation of autogenerated tests
Stefano Lattarini [Thu, 8 Sep 2011 09:02:05 +0000 (11:02 +0200)]
testsuite: revamp generation of autogenerated tests

With this change, we make generated tests be real scripts again
-- albeit only thin layers around the tests they wrap.  It turned
out that the apparently clever tricks we played by having lots
of custom (and auto-generated) `..._LOG_COMPILER' variables and
by having the tests in $(wrap_TESTS) not being real on-file-system
scripts caused more pain and confusion than expected, for only
marginal gains.  Also, that previous setup didn't interact very
well with "make check RECHECK_LOGS=", since the log files for
the "wrappee" tests were always considered out-of-date (which in
hindsight is natural, since these log files depended on wrappee
tests that didn't exist -- and weren't created).  And finally, it
wasn't possible to easily and naturally run the wrappee tests
from the command line -- definitely harmful for debugging and
sanity checking.

* tests/gen-wrap-tests: Deleted, its role subsumed into ...
* tests/gen-tests-deps: ... this script, with the help of
(unindent, atomic_write, build_matcher, write_wrapper_script,
%test_generators): ... these new functions and variables.
Other few minor fixlets and improvements.
* tests/wrap-tests.sh: Delete, not needed anymore.
* tests/Makefile.am ($(srcdir)/wrap-tests.am): Don't generate
nor include anymore.
(EXTRA_DIST): Update.
(wrap_TESTS): Renamed to ...
(generated_TESTS): ... this.
($(generated_TESTS)): Must have the same dependencies of
`$(srcdir)/tests-deps.am'.
Other minor related reordering and adjustments.
* bootstrap: Do not generate `wrap-tests.am' anymore.
* tests/.gitignore (wrap-tests.am): Don't ignore anymore.
(*-w.test, *-w.tap): Ignore.
* tests/README: Update paragraph on automatically-generated
tests.

12 years agotestsuite: automatize generation of dependencies for tests
Stefano Lattarini [Thu, 8 Sep 2011 08:41:24 +0000 (10:41 +0200)]
testsuite: automatize generation of dependencies for tests

* tests/gen-test-deps: New script, automatically generates
dependencies for the tests.
* tests/Makefile.am (EXTRA_DIST): Distribute it.
($(srcdir)/tests-deps.am): New rule.
(include $(srcdir)/tests-deps.am): New inclusion.
Remove hand-written dependencies for tests.  Other related
updates.
* tests/list-of-tests (tap_with_common_setup_TESTS,
tap_other_TESTS): Delete, their content merged back into ...
(handwritten_TESTS): ... this.
* tests/.gitignore (tests-deps.am): New ignored file.
* bootstrap: Generate `tests/tests-deps.am'.

12 years agotests: avoid spurious failure due to bug in older TAP::Parser
Stefano Lattarini [Wed, 7 Sep 2011 17:06:52 +0000 (19:06 +0200)]
tests: avoid spurious failure due to bug in older TAP::Parser

Older TAP::Parser versions (e.g., 3.10) erroneously convert a test
number `0' into `1'; do not let this bug cause a spurious failure
in our testsuite.

* tests/tap-test-number-0.test: Skip if the aforementioned
TAP::Parser bug is detected.

12 years agoMerge branch 'test-protocols' into testsuite-work
Stefano Lattarini [Wed, 7 Sep 2011 16:04:55 +0000 (18:04 +0200)]
Merge branch 'test-protocols' into testsuite-work

* test-protocols:
  tap/perl: be more portable to older perl versions
  tap/perl: be more portable to older TAP::Parser versions

12 years agotap/perl: be more portable to older perl versions
Stefano Lattarini [Wed, 7 Sep 2011 15:41:40 +0000 (17:41 +0200)]
tap/perl: be more portable to older perl versions

* lib/tap-driver.pl (trap_perl_warnings_and_errors): Do not use
the three-args version of the `open' builtin, it is not well
supported by older perl versions (at least perl 5.6.2).
(start): Add a no-op statement to pacify a "possible typo ... used
only once" perl warning.

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 agotests: fix spurious Cygwin failure of a test on TAP support
Stefano Lattarini [Wed, 7 Sep 2011 14:50:09 +0000 (16:50 +0200)]
tests: fix spurious Cygwin failure of a test on TAP support

* tests/tap-bad-prog.tap (noexec.test): Add forgotten `echo'.
When trying to run it, redirect its output to /dev/null, to
avoid confusing automake's testsuite own TAP driver.

12 years agotest defs: fix glitch in TAP version of `warn_' function
Stefano Lattarini [Wed, 7 Sep 2011 14:35:17 +0000 (16:35 +0200)]
test defs: fix glitch in TAP version of `warn_' function

* tests/tap-functions.sh (warn_): Do not display the warning
message two times.

12 years agotests: fix another spurious failure due to ignored signals
Stefano Lattarini [Wed, 7 Sep 2011 14:14:15 +0000 (16:14 +0200)]
tests: fix another spurious failure due to ignored signals

* tests/tap-signal.test: Renamed ...
* tests/tap-signal.tap: ... to this, converted to the use of the
TAP protocol, and improved not to try to use/trap signals that
are ignored by the parent shell (they will be forcibly ignored
by all the child processes too).  Extend the test a bit since we
are at it.
* tests/list-of-tests.mk: Update.

12 years agotests: fix a spurious failure due to lacking Fortran compilers
Stefano Lattarini [Wed, 7 Sep 2011 12:55:45 +0000 (14:55 +0200)]
tests: fix a spurious failure due to lacking Fortran compilers

* tests/silent-many-generic.test (configure.in): Cause the test
to be skipped if `configure' fails to find working C++, Fortran
and Fortran 77 compilers.

12 years agoself tests: more use of TAP
Stefano Lattarini [Wed, 7 Sep 2011 12:05:01 +0000 (14:05 +0200)]
self tests: more use of TAP

* tests/self-check-reexec.test: Renamed ...
* tests/self-check-reexec.tap: ... to this, converted to the
use of TAP protocol, and extended a bit.
* tests/self-check-seq.test: Renamed ...
* tests/self-check-seq.tap: ... to this, and converted to the
use of TAP protocol.
* tests/list-of-tests.mk: Update.

12 years agoself tests: fix spurious failures when /bin/ksh do not exists
Stefano Lattarini [Wed, 7 Sep 2011 09:16:02 +0000 (11:16 +0200)]
self tests: fix spurious failures when /bin/ksh do not exists

* tests/self-check-reexec.test: Ensure that the non-bash shells
we look do really exists.  Since we are at it, also try the name
`ash', non `dash', for the Almquist Shell, for Cygwin 1.5.

12 years agotests: more use of TAP in our own testsuite
Stefano Lattarini [Tue, 6 Sep 2011 21:38:47 +0000 (23:38 +0200)]
tests: more use of TAP in our own testsuite

* tests/parallel-tests-interrupt.test: Renamed ...
* tests/parallel-tests-interrupt.tap: ... to this, and converted
to the use of TAP protocol.
* tests/self-check-cleanup.test: Renamed ...
* tests/self-check-cleanup.tap: ... to this, and converted to the
use of TAP protocol.
* tests/self-check-dir.test: Renamed ...
* tests/self-check-dir.tap: ... to this, and converted to the use
of TAP protocol.
* tests/self-check-is_newest.test: Renamed ...
* tests/self-check-is_newest.tap: ... to this, and converted to
the use of TAP protocol.
* tests/self-check-unindent.test: Renamed ...
* tests/self-check-unindent.tap: ... to this, and converted to
the use of TAP protocol.
* tests/list-of-tests.mk: Update.

12 years agoself tests: sanity check on 'is_blocked_signal' function
Stefano Lattarini [Tue, 6 Sep 2011 16:06:35 +0000 (18:06 +0200)]
self tests: sanity check on 'is_blocked_signal' function

* tests/self-check-is-blocked-signal.tap: New test.
* tests/list-of-tests.mk: Update.

12 years agoMerge branch 'test-protocols' into testsuite-work
Stefano Lattarini [Tue, 6 Sep 2011 15:53:29 +0000 (17:53 +0200)]
Merge branch 'test-protocols' into testsuite-work

* test-protocols:
  tests: fix spurious failures due to ignored signals

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 'test-protocols' into testsuite-work
Stefano Lattarini [Tue, 6 Sep 2011 09:04:49 +0000 (11:04 +0200)]
Merge branch 'test-protocols' into testsuite-work

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

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 'master' into testsuite-work
Stefano Lattarini [Fri, 2 Sep 2011 19:58:54 +0000 (21:58 +0200)]
Merge branch 'master' into testsuite-work

* master:
  tests: simplify wrapper for aclocal

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 agotests: remove redundant settings of `errexit' shell flag
Stefano Lattarini [Fri, 2 Sep 2011 15:58:58 +0000 (17:58 +0200)]
tests: remove redundant settings of `errexit' shell flag

* doc-parsing-buglets-colneq-subst.test: Do not set the
`errexit' shell flag, as it is already set by `tests/defs'.
* doc-parsing-buglets-tabs.test: Likewise.
* java-empty-classpath.test: Likewise.
* vala-vpath.test: Likewise.

12 years agotests: more uses of `$top_testsrcdir', in the `amhello' tests
Stefano Lattarini [Fri, 2 Sep 2011 15:50:33 +0000 (17:50 +0200)]
tests: more uses of `$top_testsrcdir', in the `amhello' tests

* tests/amhello-binpkg.test: Use `$top_testsrcdir' instead
of `$testsrcdir/..'.
* tests/amhello-cflags.test: Likewise.
* tests/amhello-cross-compile.test: Likewise.

12 years agotests: avoid creating useless files in the `amhello' tests
Stefano Lattarini [Fri, 2 Sep 2011 15:46:41 +0000 (17:46 +0200)]
tests: avoid creating useless files in the `amhello' tests

* tests/amhello-binpkg.test: Define `$am_create_testdir' to
"empty" before sourcing ./defs, to avoid bringing in unused
auxiliary files.
* tests/amhello-cflags.test: Likewise.
* tests/amhello-cross-compile.test: Likewise.

12 years agoMerge branch 'master' into testsuite-work
Stefano Lattarini [Fri, 2 Sep 2011 15:40:43 +0000 (17:40 +0200)]
Merge branch 'master' into testsuite-work

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 'master' into testsuite-work
Stefano Lattarini [Fri, 2 Sep 2011 08:53:49 +0000 (10:53 +0200)]
Merge branch 'master' into testsuite-work

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

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

* 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 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: better respect of TAP usage in wrapped tests
Stefano Lattarini [Mon, 29 Aug 2011 12:52:13 +0000 (14:52 +0200)]
tests: better respect of TAP usage in wrapped tests

* tests/gen-wrap-tests: Partial rewrite to take into account the
possibility that the wrapped test uses the TAP protocol.  This
complicates the code quite a bit, but is essential to ensure real
correctness in all the wrapped scripts.
* tests/wrap-tests.sh: Update, and add few more sanity checks.

12 years agotests: use both perl and awk implementations for tests on TAP
Stefano Lattarini [Mon, 29 Aug 2011 09:09:18 +0000 (11:09 +0200)]
tests: use both perl and awk implementations for tests on TAP

* tests/gen-wrap-tests (get_list_for_pltap): New function, gets
the list of tests that check the Automake TAP support.
($defines_for_pltap): New variable.
($wrapper_type_list): Add "pltap".
* tests/defs-static.in: Check that `$am_tap_implementation' is
not exported in the environment.
* tests/self-check-env-sanitize.tap: Update.

12 years agotests: two single auxiliary scripts to run/generate wrapped tests
Stefano Lattarini [Fri, 26 Aug 2011 10:14:27 +0000 (12:14 +0200)]
tests: two single auxiliary scripts to run/generate wrapped tests

* tests/config-shell-tests.sh, tests/parallel-tests.sh,
tests/gen-config-shell-tests, tests/gen-parallel-tests: Deleted,
their roles taken over by ...
* tests/wrap-tests.sh, tests/gen-wrap-tests: ... these new more
general scripts.
* tests/Makefile.am (EXTRA_DIST): Distribute the new scripts, and
do not distribute the obsolete ones anymore.
($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am): Do
not include nor generate anymore, they have been superseded by ...
($(srcdir)/wrap-tests.am): ... this new fragment, automatically
generated by `gen-wrap-tests'.
(PTEST_LOG_COMPILER, SHTST_LOG_COMPILER): Delete, they are now
defined in the new `wrap-tests.am' makefile fragment.
(TEST_EXTENSIONS): Do not append to it anymore, that is now done
by the new `wrap-tests.am' makefile fragment above.
($(parallel_tests:.ptest=.log), $(config_shell_tests:.shtst=.log),
$(parallel_tests), $(config_shell_tests): Remove this dependencies,
superseded by ...
($(wrap_TESTS), $(wrap_LOGS)): ... these ones.
(MAINTAINERCLEANFILES): Delete, it's not used anymore.
(TESTS): Do not contain anymore `$(config_shell_tests)' nor
`$(parallel_tests)', contain `$(wrap_TESTS)' instead, as defined
by `$(srcdir)/wrap-tests.am'.
Other related minor edits and reorderings.
* bootstrap, tests/.gitignore, tests/README: Update.

12 years agotests: list of tests placed in a separate Makefile fragment
Stefano Lattarini [Sat, 27 Aug 2011 13:01:33 +0000 (15:01 +0200)]
tests: list of tests placed in a separate Makefile fragment

This change allows us to easily use make instead of by-hand (and
more fragile) grepping to extract the list of hand-written tests
from our Makefiles.

* bootstrap (BOOTSTRAP_MAKE): New variable.
Use it to run make in order to extract the list of hand-written
tests from ...
* tests/list-of-tests.mk: ... this new file, where they are
listed in ...
(handwritten_TESTS, tap_with_common_setup_TESTS, tap_other_TESTS):
... these variables, extracted respectively from ...
* tests/Makefile.am (handwritten_tests, tap_other_tests,
tap_with_common_setup_tests): ... these older variables, now
removed.
(EXTRA_DIST, expected_list_of_tests): Update w.r.t. the variable
names' changes.
(include $(srcdir)/list-of-tests.mk): New inclusion.
Remove an overkill indirection, and with it ...
(tap_with_common_setup_logs): ... this variable.
($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am):
Update to match the new interface of ...
(gen-parallel-tests, gen-config-shell-tests): ... these scripts,
that now read the list of tests from the standard input.

12 years agoMerge branch 'test-protocols' into testsuite-work
Stefano Lattarini [Mon, 29 Aug 2011 13:48:04 +0000 (15:48 +0200)]
Merge branch 'test-protocols' into testsuite-work

* test-protocols:
  tests: prefer AM_... variables to user-reserved ones in Makefile
  tests: some minor fixlets w.r.t. TAP-based tests
  tests: avoid re-running a test with the 'parallel-tests' option
  tests: defaults to awk+shell driver in tests on TAP support

With minor manual edits to 'tests/Makefile.am' to complete the
TAP_LOG_DRIVER_FLAGS -> AM_TAP_LOG_DRIVER_FLAGS rename.

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 'test-protocols' into testsuite-work
Stefano Lattarini [Sun, 28 Aug 2011 10:26:05 +0000 (12:26 +0200)]
Merge branch 'test-protocols' into testsuite-work

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

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 agotestsuite: different test scripts cannot share the same basename
Stefano Lattarini [Sun, 28 Aug 2011 09:48:44 +0000 (11:48 +0200)]
testsuite: different test scripts cannot share the same basename

If two test scripts have the same basename, they will end up
sharing the same log file, leading to all sort of undefined and
undesired behaviours.  Add a Makefile check verifying that this
is not the case.

* tests/test-logs-repeated.test: New test, verifying previously
unspecified semantics (in the definition of $(TEST_LOGS) from
$(TESTS)) that we use in our new check.
* tests/Makefile.am (TESTS): Update.
(check-no-repeated-test-name): New .PHONY check.
(check-local): Depend on it.

12 years agoMerge branch 'test-protocols' into testsuite-work
Stefano Lattarini [Fri, 26 Aug 2011 09:16:41 +0000 (11:16 +0200)]
Merge branch 'test-protocols' into testsuite-work

* test-protocols:
  tests: fix spurious failure for awk implementation of TAP driver
  tap/awk: allow escaping of TAP directives
  coverage: more about escaping of TAP directives
  tap: improve syncing between awk+shell and perl implementations
  tap/perl: don't redirect perl warnings/errors to log files
  tap/perl: add copyright notice, version string, and emacs stuff
  tap/awk: don't redirect awk stderr to log files
  tap/awk: remove obsolete "FIXME" comment

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 agoMerge branch 'test-protocols' into testsuite-work
Stefano Lattarini [Mon, 22 Aug 2011 14:37:15 +0000 (16:37 +0200)]
Merge branch 'test-protocols' into testsuite-work

* test-protocols:
  testsuite: avoid spurious failure on Solaris

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 agoMerge branch 'test-protocols' into testsuite-work
Stefano Lattarini [Mon, 22 Aug 2011 13:48:15 +0000 (15:48 +0200)]
Merge branch 'test-protocols' into testsuite-work

* test-protocols:
  testsuite: use the new awk+shell TAP driver in our own testsuite
  tap/awk: handle non-zero exit status from the test command
  tap/awk: prepare to fetch the exit status of the test command
  tap/awk: refactor for future changes
  testsuite: avoid spurious failure if rst2html program is missing
  tap/awk: support Solaris /usr/xpg4/bin/awk
  tap/awk: support Solaris /usr/bin/nawk
  tap/awk: correctly extract message from SKIP plans
  tap/awk: support colorized output
  tap: real (but still incomplete) awk implementation of TAP driver
  testsuite: fix spurious failure due to Solaris 'wc' incompatibility
  coverage: keyword "SKIP" in TAP plan is case-insensitive
  coverage: ambiguous use of TAP "TODO"/"SKIP" directives
  coverage: non-directive comments in TAP results are preserved
  coverage: TAP result number followed by non-whitespace word boundary
  coverage: a TAP result numbered "0" is always out-of-order
  cosmetics: fix botched indentation in perl TAP driver
  fix: regenerate tests/Makefile.in
  coverage: some more tests on corner cases of TAP support

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: various fixlets and tweakings
Stefano Lattarini [Fri, 19 Aug 2011 11:07:29 +0000 (13:07 +0200)]
testsuite: various fixlets and tweakings

* tests/seenc.test: Make grepping of automake stderr stricter.
Add a trailing `:' command.
* tests/symlink.test: Likewise.  Also, define `$am_create_testdir'
to "empty" to avoid bringing in unused auxiliary files (only to
have to remove them right away), and use proper m4 quoting in
`configure.in'.
* tests/vpath.test: Make grepping of generated `Makefile.in'
slightly stricter.  Prefer trailing `:' over trailing `Exit 0'.
* tests/suffix6c.test: Unset OBJEXT to avoid interferences from
the environment.
* tests/suffix12.test: Do not whitespace-indent `##' comments
when they are embedded in a makefile rule: having them indented
is not part of the Automake API, and might cause failures with
e.g., Tru64 make.
* tests/syntax.test: Simplify the `Makefile.am' to ensure that
automake doesn't fail for the wrong reasons.  Make grepping of
automake stderr slightly stricter.
* tests/test-harness-vpath-rewrite.test: Remove useless variable
definition from `Makefile.am'.
* tests/test-driver-custom-multitest.test: Fix typo in comments.
* tests/self-check-me.tap: Fix minor typo in test description.
* tests/vars3.test: Make grepping of automake stderr stricter
and safer.
* tests/version6.test: Add sanity check, verifying that the
version number extracted from `automake --version' output seems
legit.
* tests/auxdir2.test: Renamed ...
* tests/auxdir-compauted.tap: ... to this, and converted to the
use of TAP.
* tests/auxdir4.test: Renamed ...
* tests/auxdir-unportable.tap: ... to this, and converted to the
use of TAP.
* tests/auxdir3.test: Renamed ...
* tests/auxdir-misplaced.test: ... to this.
* tests/auxdir5.test: Renamed ...
* tests/auxdir-nonexistent.test: ... to this.
* tests/auxdir9.test: Renamed ...
* tests/auxdir-autodetect.test: ... to this.
* tests/Makefile.am (TESTS): Update.
(XFAIL_TESTS): Remove `auxdir2.test'.

12 years agoMerge branch 'test-protocols' into testsuite-work
Stefano Lattarini [Fri, 19 Aug 2011 08:21:01 +0000 (10:21 +0200)]
Merge branch 'test-protocols' into testsuite-work

* test-protocols:
  testsuite: fix some redundant autotools calls in tests on TAP
  * 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
  tap: improve granularity for tests on problematic TAP messages
  tap: correctly handle string "0" in TAP messages
  tap: a minor simplification in the perl TAP driver
  parallel-tests: fix help screen for test driver scripts
  tap: add a dummy TAP driver script implemented in shell + awk
  testsuite: refactor tests on TAP support in view of future changes
  fix: regenerate tests/Makefile.in
  hacking: we now require autoconf 2.68