Peter Rosin [Tue, 13 Sep 2011 15:04:00 +0000 (17:04 +0200)]
* tests/defs [$sh_errexit_works = yes]: Output 'SIGINT' for signal 2.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Stefano Lattarini [Tue, 13 Sep 2011 13:49:32 +0000 (15:49 +0200)]
self tests: work around 'unset' spurious non-zero return value
* tests/self-check-exit.tap ($init): Unset the possibly already
unset variable `am_explicit_skips' when the `errexit' shell flag
is not yet active, for the benefit of shell that return a non-zero
status when unsetting an already-unset variable.
Stefano Lattarini [Tue, 13 Sep 2011 13:21:13 +0000 (15:21 +0200)]
tests: an explicative comment on signal-related woes
* tests/self-check-exit.tap: Add pointer to a bug-autoconf
discussion explaining why this test needs to temporarily block
SIGINT.
Stefano Lattarini [Tue, 13 Sep 2011 12:37:02 +0000 (14:37 +0200)]
tests: also trap SIGQUIT; other fixes
Some shells seems to just ignore SIGQUIT under some circumstances,
even when it is not blocked; however, if the signal it trapped,
the trap gets correctly executed.
* tests/defs [$sh_errexit_works = yes]: Also trap SIGQUIT. Add
extensive explanation of why we do so.
* tests/self-check-cleanup.tap: Improve and fix to ensure that an
earlier failure does not prevent the rest of the test to execute.
Problem revealed by a failure in `self-check-cleanup.tap'.
Stefano Lattarini [Mon, 12 Sep 2011 23:01:46 +0000 (01:01 +0200)]
test defs: work around weird ksh behaviour w.r.t. signal handling
* tests/defs (is_blocked_signal): Use perl to determine whether a
signal is trapped, since trying to do it portably within the shell
means opening a nasty can of worms.
For more information and background, see:
<http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html>
<http://mail.opensolaris.org/pipermail/ksh93-integration-discuss/2009-February/004121.html>
<http://www.cons.org/cracauer/sigint.html>
Stefano Lattarini [Mon, 12 Sep 2011 16:22:43 +0000 (18:22 +0200)]
tests: remove redundant line from a test script
* tests/test-log.test (fail.test): Remove extra `echo' command,
probably due to a past copy&paste blunder.
Stefano Lattarini [Sun, 11 Sep 2011 16:51:03 +0000 (18:51 +0200)]
tests: convert another test to TAP
* tests/primary-prefix-invalid-couples.test: Renamed ...
* tests/primary-prefix-invalid-couples.tap: ... to this, and
converted to the use of the TAP protocols (this requires only
very minimal changes this time).
* tests/list-of-tests.mk: Update.
Stefano Lattarini [Sat, 10 Sep 2011 22:45:34 +0000 (00:45 +0200)]
Merge branch 'test-protocols' into testsuite-work
* test-protocols:
tests: fix spurious failure on fast machines
Stefano Lattarini [Sat, 10 Sep 2011 22:45:20 +0000 (00:45 +0200)]
Merge branch 'master' into test-protocols
* master:
tests: fix spurious failure on fast machines
aclocal: better URL reference in error message
Stefano Lattarini [Sat, 10 Sep 2011 22:44:12 +0000 (00:44 +0200)]
Merge branch 'maint'
* maint:
tests: fix spurious failure on fast machines
Stefano Lattarini [Sat, 10 Sep 2011 22:42:53 +0000 (00:42 +0200)]
tests: fix spurious failure on fast machines
* tests/aclocal-acdir.test: Avoid spurious failures due to caching
issues, by cleaning the autom4te cache between all the aclocal
invocations, and by always calling autoconf with the `--force'
flag.
Stefano Lattarini [Sat, 10 Sep 2011 22:23:06 +0000 (00:23 +0200)]
tests: minor optimizations/simplifications in some aclocal tests
* acloca11.test: Instead of running ./configure and then grepping
the file it has produced, directly grep configure. Add trailing
`:' command.
* acloca12.test: Likewise.
* acloca10.test: Likewise. Also, remove the autom4te caches
by hand, instead of sleeping to ensure they get outdated and
ignored.
* aclocal9.test: Likewise.
* acloca18.test: Likewise. Also, do not remove file `foo',
which is not being created anymore.
* acloca20.test: The test makes sense only if the system support
real symlinks, so skip it if this is not the case. This allows
for various simplifications.
Stefano Lattarini [Sat, 10 Sep 2011 21:28:59 +0000 (23:28 +0200)]
Merge branch 'prove' into testsuite-work
* prove:
prove: avoid weird signal-related bug
tests: allow use of `prove' to run automake testsuite
Stefano Lattarini [Sat, 10 Sep 2011 21:28:47 +0000 (23:28 +0200)]
Merge branch 'testsuite-more-namespace-safeness' into testsuite-work
* testsuite-more-namespace-safeness:
tests defs: more namespace-safeness
Stefano Lattarini [Sat, 10 Sep 2011 21:26:01 +0000 (23:26 +0200)]
Merge branch 'master' into testsuite-work
* master:
aclocal: better URL reference in error message
Stefano Lattarini [Sat, 10 Sep 2011 21:25:13 +0000 (23:25 +0200)]
Merge branch 'maint'
* maint:
aclocal: better URL reference in error message
Stefano Lattarini [Sat, 10 Sep 2011 19:59:09 +0000 (21:59 +0200)]
tests defs: more namespace-safeness
($using_tap): Renamed ...
($am_using_tap): ... to this.
($parallel_tests): Renamed ...
($am_parallel_tests): ... to this.
($test_prefer_config_shell): Renamed ...
($am_test_prefer_config_shell): ... to this.
($original_AUTOMAKE): Renamed ...
($am_original_AUTOMAKE): ... to this.
($original_ACLOCAL): Renamed ...
($am_original_ACLOCAL): ... to this.
* tests/defs, tests/defs-static.in, tests/gen-testsuite-part,
tests/README, and all callers: Adjusted.
* tests/Makefile.am (AM_TESTS_ENVIRONMENT): Adjust, and rewrite
to make future adjustments easier.
* tests/defs (funcs_file_): Renamed ...
(am_funcs_file): ... to this.
* Makefile.am (sc_tests_obsolete_variables): New maintainer
check.
(syntax_check_rules): Add it.
Stefano Lattarini [Sat, 10 Sep 2011 19:34:19 +0000 (21:34 +0200)]
tests: avoid creating useless files in some test directories
* tests/aclocal.test: Define `$am_create_testdir' to "empty"
before sourcing ./defs, to avoid bringing in unused auxiliary
files. Related adjustments.
* tests/aclocal3.test: Likewise.
* tests/aclocal8.test: Likewise.
* tests/aclocal9.test: Likewise.
* tests/acloca10.test: Likewise.
* tests/acloca11.test: Likewise.
* tests/acloca12.test: Likewise.
* tests/acloca15.test: Likewise.
* tests/acloca16.test: Likewise.
* tests/acloca17.test: Likewise.
* tests/acloca18.test: Likewise.
* tests/acloca20.test: Likewise.
* tests/acloca21.test: Likewise.
* tests/acloca23.test: Likewise.
* tests/aclocal-print-acdir.test: Likewise.
* tests/ar-lib.test: Likewise.
* tests/compile.test: Likewise.
* tests/compile2.test: Likewise.
* tests/compile3.test: Likewise.
* tests/compile6.test: Likewise.
* tests/instsh2.test: Likewise.
* tests/instsh3.test: Likewise.
* tests/mdate5.test: Likewise.
* tests/mdate6.test: Likewise.
* tests/missing3.test: Likewise.
* tests/missing5.test: Likewise.
* tests/mkinst3.test: Likewise.
* tests/self-check-explicit-skips.test: Likewise.
* tests/self-check-report.test: Likewise.
* tests/self-check-sanity.test: Likewise.
* tests/tap-driver-stderr.test: Likewise.
Stefano Lattarini [Sat, 10 Sep 2011 21:16:50 +0000 (23:16 +0200)]
aclocal: better URL reference in error message
* aclocal.in (scan_file): In the error message about underquoted
definitions, reference the automake page at `www.gnu.org', not
at `sources.redhat.com'.
Stefano Lattarini [Sat, 10 Sep 2011 17:13:20 +0000 (19:13 +0200)]
prove: avoid weird signal-related bug
* tests/defs (trap): In the trap code dealing with SIGPIPE
signal, ignore further signals of the same kind.
See also Test::Harness issue [rt.cpan.org #70855], archived at
<https://rt.cpan.org/Ticket/Display.html?id=70855>
Stefano Lattarini [Fri, 9 Sep 2011 14:31:27 +0000 (16:31 +0200)]
tests: allow use of `prove' to run automake testsuite
* tests/prove-runner: New helper script; mostly it wraps
our `*.test' test scripts to make them runnable by the
`prove' utility.
* tests/Makefile.am (EXTRA_DIST): Distribute it.
(PROVE, AM_PROVEFLAGS, AM_PROVECMD): New variables.
(prove, installprove): New targets, used run the automake
testsuite through the `prove' utility.
* tests/gen-testsuite-part: For any considered dependency,
generate a variables that groups all the tests depending on
it. This is especially useful for use in the new `prove'
and `installprove' targets, which cannot rely on make for
inter-test dependencies, and have to handle them "by hand".
Stefano Lattarini [Fri, 9 Sep 2011 13:26:31 +0000 (15:26 +0200)]
test defs: more environment cleanup
* tests/defs: Also unset the XFAIL_TESTS, and various
LOG_DRIVER, LOG_COMPILER variables (and corresponding
flags variable).
Stefano Lattarini [Fri, 9 Sep 2011 11:02:11 +0000 (13:02 +0200)]
tests: allow depmod.tap to only run a subset of its tests
* tests/depmod.tap: If command-line arguments are passed to the
tests, they are now taken as the list of test names for which the
checks are to be run.
Stefano Lattarini [Fri, 9 Sep 2011 10:47:57 +0000 (12:47 +0200)]
tests: allow instspc.tap to only run a subset of its tests
* tests/instspc.tap: If command-line arguments are passed to the
tests, they are now taken as the list of test names for which the
checks are to be run.
Stefano Lattarini [Fri, 9 Sep 2011 10:00:28 +0000 (12:00 +0200)]
Merge branch 'test-protocols' into testsuite-work
* test-protocols:
coverage: distcheck-hook to catch missing/outdated *.m4 files
Stefano Lattarini [Fri, 9 Sep 2011 09:54:22 +0000 (11:54 +0200)]
Merge branch 'master' into test-protocols
* master:
coverage: distcheck-hook to catch missing/outdated *.m4 files
Stefano Lattarini [Fri, 9 Sep 2011 09:41:42 +0000 (11:41 +0200)]
Merge branch 'maint'
* maint:
coverage: distcheck-hook to catch missing/outdated *.m4 files
Stefano Lattarini [Thu, 1 Sep 2011 15:42:41 +0000 (17:42 +0200)]
coverage: distcheck-hook to catch missing/outdated *.m4 files
Related to automake bug#9037.
* tests/distcheck-missing-m4.test: New test.
* tests/distcheck-outdated-m4.test: Likewise.
* tests/distcheck-hook-m4.am: New data file, used by the new
tests.
* tests/Makefile.am (distcheck-m4-missing.log,
distcheck-m4-outdated.log): Depend on it.
(EXTRA_DIST): Distribute it.
(TESTS): Add the new tests.
Stefano Lattarini [Thu, 8 Sep 2011 21:26:09 +0000 (23:26 +0200)]
tests: more granularity in variables for tools overriding
Among the other things, this change makes it possible to use, at
the same time, an autoconf version in the automake testsuite and
another one in the automake build system; even more importantly, it
makes it possible to use, say, a non-GNU make implementation in the
test scripts, while at the same time using GNU make to drive the
execution of the automake's test suite.
* tests/defs-static.in (TEX, EGREP, FGREP, SHELL, PERL, MAKE,
AUTOCONF, AUTOM4TE, AUTORECONF, AUTOHEADER, AUTOUPDATE,
original_AUTOMAKE, original_ACLOCAL): Allow and prefer overriding
through corresponding `AM_TESTSUITE_..' variables; for example,
$GREP can now be overridden by an exported `$AM_TESTSUITE_GREP'
Stefano Lattarini [Thu, 8 Sep 2011 20:52:46 +0000 (22:52 +0200)]
fix: typo in latest ChangeLog entry
Stefano Lattarini [Thu, 8 Sep 2011 20:46:45 +0000 (22:46 +0200)]
testsuite: fix `skip_row_' subroutine in tap-functions.sh
* tests/tap-functions.sh (skip_row_): Use `seq_', not `seq', to
be portable to non-GNU systems.
Bug revealed by a testsuite error on Solaris.
Stefano Lattarini [Sat, 3 Sep 2011 19:03:36 +0000 (21:03 +0200)]
installcheck: support it in our own testsuite
* NEWS: Update.
* tests/defs-static.in ($am_running_installcheck): New variable.
Initialize it to a default of "no", and sanity-check its value.
($am_datadir, $am_docdir, $am_automake_acdir, $am_system_acdir,
$am_bindir, $am_scriptdir, $am_pkgvdir): New variables,
initialized from AC_SUBST'ed values which are adaptively chosen
depending on whether the testsuite is running in "simple" mode
or in "installcheck" mode.
($MISSING): Remove, it's not really required by the testsuite.
($PATH): Update using `$am_bindir', not `$testbuilddir'.
* Makefile.am (installcheck-local): New target.
* lib/Automake/tests/Makefile.am (installcheck-local): New target.
(AM_TESTS_ENVIRONMENT, AM_PL_LOG_FLAGS): Adaptively choose the
`-I' flags for perl based on whether the tests are being run by
"make check" or "make installcheck".
* tests/Makefile.am (installcheck-local): New target.
(defs-static): Generate it at make time, not at configure time,
in order to correctly resolve all the indirections in the
AC_SUBST'd variables; done with the help of ...
(do_subst): ... this new macro.
(EXTRA_DIST): Explicitly distribute `defs-static.in'.
(CLEANFILES): Remove `defs-static'.
* configure.ac (AC_CONFIG_FILES): Remove `tests/defs-static'.
(AC_SUBST): Substitute also `automake_acdir', `system_acdir',
`scriptdir' and `amdir' to proper values.
* lib/Makefile.am (scriptdir): Don't explicitly define anymore.
* lib/am/Makefile.am (amdir): Likewise.
* m4/acdir/dirlist: Remove, it's not needed anymore. Instead
use ...
* m4/acdir/.placeholder: ... this file.
* m4/Makefile.am (EXTRA_DIST): Update.
(automake_acdir, system_acdir): Don't explicitly define anymore.
* tests/aclocal-print-acdir.test: Use new `$am_...dir' variables,
instead of hard-coding values with $testsrcdir and $testbuilddir,
to test more faithfully under "make installcheck".
* tests/amhello-binpkg.test: Likewise.
* tests/amhello-cflags.test: Likewise.
* tests/amhello-cross-compile.test: Likewise.
* tests/ansi2knr-no-more.test: Likewise.
* tests/autodist-stamp-vti.test: Likewise.
* tests/auxdir.test: Likewise.
* tests/check2.test: Likewise.
* tests/copy.test: Likewise.
* tests/multlib.test: Likewise.
* tests/obsolete.test: Likewise.
* tests/parallel-tests-interrupt.test: Likewise.
* tests/repeated-options.test: Likewise.
* tests/suffix5.test: Likewise.
* tests/tap-doc2.test: Likewise.
* tests/txinfo22.test: Likewise.
* tests/vtexi3.test: Likewise.
* tests/defs: Likewise. Also, print the values of `$using_tap'
and `$am_running_installcheck', to simplify debugging, and do
some related code movings and tweakings.
* tests/aclocal3.test: Update to avoid possible spurious failures
when running under "make installcheck".
* tests/warnings-unknown.test: Likewise.
* tests/location.test: Likewise, and improve debugging input since
we are at it.
* tests/acloca10.test: Adapt and tweak to work also during a
"make installcheck", and not to require a pre-populated `dirlist'
file.
* tests/acloca18.test: Likewise.
* tests/dirlist2.test: Likewise.
* tests/dirlist.test: Likewise, and remove an obsolete comment.
* tests/README: Update.
* tests/dirlist-abspath.test: New test.
* tests/list-of-tests.mk: Update.
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.
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
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
Stefano Lattarini [Thu, 8 Sep 2011 15:12:38 +0000 (17:12 +0200)]
Merge branch 'maint'
* maint:
aclocal: 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.
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.
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.
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'.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
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
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
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
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>
Stefano Lattarini [Sun, 4 Sep 2011 15:28:49 +0000 (17:28 +0200)]
Merge branch 'fix-vala-vpath-test' into maint
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.
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
Stefano Lattarini [Fri, 2 Sep 2011 19:57:03 +0000 (21:57 +0200)]
Merge branch 'maint'
* maint:
tests: 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.
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.
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.
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.
Stefano Lattarini [Fri, 2 Sep 2011 15:40:43 +0000 (17:40 +0200)]
Merge branch 'master' into testsuite-work
Stefano Lattarini [Fri, 2 Sep 2011 15:39:53 +0000 (17:39 +0200)]
Merge branch 'maint'
Stefano Lattarini [Fri, 2 Sep 2011 15:39:35 +0000 (17:39 +0200)]
fix: minor typo in ChangeLog
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
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
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
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.
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
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.
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.
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.
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'.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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".
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.
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.
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.
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
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
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.
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
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.
Stefano Lattarini [Thu, 25 Aug 2011 19:22:19 +0000 (21:22 +0200)]
Merge branch 'maint'
* maint:
tests: 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.
Eric Blake [Thu, 25 Aug 2011 18:46:19 +0000 (12:46 -0600)]
Merge branch 'maint'