Stefano Lattarini [Wed, 28 Sep 2011 11:09:18 +0000 (13:09 +0200)]
Merge branch 'fix-test-tap-and-signals' into testsuite-work
* fix-tap-tests:
tests: remove redundant workaround for Solaris /bin/sh
Stefano Lattarini [Wed, 28 Sep 2011 11:04:14 +0000 (13:04 +0200)]
tests: remove redundant workaround for Solaris /bin/sh
After previous commit `v1.11-1424-g27a399a', some workarounds for
Solaris 10 /bin/sh are no more required, and in fact they have
started causing XPASS results on Solaris.
* tests/tap-signal.tap: Remove unneeded workarounds for Solaris 10
/bin/sh. Some related minor code reorganizations.
Stefano Lattarini [Wed, 28 Sep 2011 09:28:27 +0000 (11:28 +0200)]
Merge branch 'test-protocols' into testsuite-work
* test-protocols:
uninstall: "make uninstall" before "make install" works
tests: fix tests on aclocal search path precedences
Stefano Lattarini [Wed, 28 Sep 2011 09:17:33 +0000 (11:17 +0200)]
Merge branch 'master' into test-protocols
* master:
uninstall: "make uninstall" before "make install" works
tests: fix tests on aclocal search path precedences
Stefano Lattarini [Wed, 28 Sep 2011 09:11:51 +0000 (11:11 +0200)]
Merge branch 'maint'
* maint:
uninstall: "make uninstall" before "make install" works
Stefano Lattarini [Wed, 28 Sep 2011 08:15:24 +0000 (10:15 +0200)]
tests: fix spurious failures in tests on TAP + signals
* tests/tap-signal.tap: Write the dummy test scripts as perl
scripts, not as shell scripts, to work around unportabilities
in the handling of signals. In fact, even with bash, the older
script were unable to properly deliver a SIGQUIT to themselves
consistently.
Stefano Lattarini [Mon, 26 Sep 2011 19:50:37 +0000 (21:50 +0200)]
Merge branch 'fix-pr9578' into maint
* fix-pr9578:
uninstall: "make uninstall" before "make install" works
Stefano Lattarini [Fri, 23 Sep 2011 20:50:14 +0000 (22:50 +0200)]
uninstall: "make uninstall" before "make install" works
This change fixes automake bug#9578.
* lib/am/inst-vars.am (am__uninstall_files_from_dir): New internal
macro, that defines a shell code fragment to uninstall files from
a given directory.
* lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use it, to reduce code
duplication and improve consistency and correctness.
* lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise.
* lib/am/lisp.am (uninstall-%DIR%LISP): Likewise.
* lib/am/mans.am (uninstall-man%SECTION%): Likewise.
* lib/am/python.am (uninstall-%DIR%LIBRARIES): Likewise.
* lib/am/scripts.am (uninstall-%DIR%SCRIPTS): Likewise.
* tests/uninstall-pr9578.test: New test.
* tests/uninstall-fail.test: New test.
* tests/Makefile.am (TESTS): Add them.
* NEWS, THANKS: Update.
Report by Nick Bowler.
Stefano Lattarini [Mon, 26 Sep 2011 19:36:11 +0000 (21:36 +0200)]
tests: fix spurious failure in test on ACLOCAL_PATH precedences
* tests/aclocal-path-precedence.test: Do not merely append to
`configure.in', it should be created from scratch. Pass package
name and version to AC_INIT as arguments, otherwise autoconf will
complain.
Stefano Lattarini [Thu, 22 Sep 2011 14:40:40 +0000 (16:40 +0200)]
Merge branch 'maint'
* maint:
tests: fix tests on aclocal search path precedences
Stefano Lattarini [Thu, 22 Sep 2011 14:40:32 +0000 (16:40 +0200)]
Merge branch 'aclocal-path' into maint
* aclocal-path:
tests: fix tests on aclocal search path precedences
Stefano Lattarini [Thu, 22 Sep 2011 14:40:03 +0000 (16:40 +0200)]
tests: fix tests on aclocal search path precedences
* tests/aclocal-path-precedence.test: Call `$ACLOCAL' with the
proper overridden system acdir.
Stefano Lattarini [Tue, 20 Sep 2011 18:57:51 +0000 (20:57 +0200)]
Merge branch 'test-protocols' into testsuite-work
* test-protocols:
docs: remove mention of deprecated option `--acdir'
fix: cleanup NEWS after botched merges
fix: typo in NEWS
docs: document planned precedence changes in aclocal search path
aclocal: handle ACLOCAL_PATH environment variable
tests: fix spurious failure in 'primary-prefix-valid-couples.test'
docs: deprecate JAVA primary
docs: clearer distinction between `.java' with javac and with gcj
java: complain if java_JAVA is used but $(javadir) is undefined
parallel-tests: expose automake bug#9546
Stefano Lattarini [Tue, 20 Sep 2011 18:47:41 +0000 (20:47 +0200)]
Merge branch 'master' into test-protocols
* master:
docs: remove mention of deprecated option `--acdir'
fix: cleanup NEWS after botched merges
fix: typo in NEWS
docs: document planned precedence changes in aclocal search path
aclocal: handle ACLOCAL_PATH environment variable
tests: fix spurious failure in 'primary-prefix-valid-couples.test'
docs: deprecate JAVA primary
docs: clearer distinction between `.java' with javac and with gcj
java: complain if java_JAVA is used but $(javadir) is undefined
Stefano Lattarini [Tue, 20 Sep 2011 18:39:04 +0000 (20:39 +0200)]
docs: remove mention of deprecated option `--acdir'
* doc/automake.texi (aclocal Options): Remove mention of
deprecated `--acdir' option.
Stefano Lattarini [Tue, 20 Sep 2011 18:27:23 +0000 (20:27 +0200)]
fix: cleanup NEWS after botched merges
Stefano Lattarini [Tue, 20 Sep 2011 18:21:06 +0000 (20:21 +0200)]
Merge branch 'maint'
* maint:
fix: typo in NEWS
Stefano Lattarini [Tue, 20 Sep 2011 18:20:53 +0000 (20:20 +0200)]
fix: typo in NEWS
Stefano Lattarini [Tue, 20 Sep 2011 18:16:43 +0000 (20:16 +0200)]
Merge branch 'maint'
* maint:
docs: document planned precedence changes in aclocal search path
aclocal: handle ACLOCAL_PATH environment variable
tests: fix spurious failure in 'primary-prefix-valid-couples.test'
docs: deprecate JAVA primary
docs: clearer distinction between `.java' with javac and with gcj
java: complain if java_JAVA is used but $(javadir) is undefined
Stefano Lattarini [Tue, 20 Sep 2011 18:15:55 +0000 (20:15 +0200)]
Merge branch 'aclocal-path' into maint
* aclocal-path:
docs: document planned precedence changes in aclocal search path
aclocal: handle ACLOCAL_PATH environment variable
Stefano Lattarini [Tue, 20 Sep 2011 15:42:01 +0000 (17:42 +0200)]
docs: document planned precedence changes in aclocal search path
* doc/automake.texi (Macro Search Path): Explicitly state that the
lookup order for extra directories of `.m4' files will be changed
in the next major release.
* NEWS: Likewise.
Paolo Bonzini [Tue, 9 Nov 2010 19:14:38 +0000 (20:14 +0100)]
aclocal: handle ACLOCAL_PATH environment variable
* aclocal.in (parse_ACLOCAL_PATH): New function, parse ACLOCAL_PATH
as a colon-separated list of directories to be included in the
search path.
* doc/automake.texi (Macro Search Path): Document new behavior and
the precedence rules for various elements of the search path.
* tests/aclocal-path.test: New test.
* tests/aclocal-path-install.test: Likewise.
* tests/aclocal-path-install-serial.test: Likewise.
* tests/aclocal-path-precedence.test: Likewise.
* tests/aclocal-path-nonexistent.test: Likewise.
* tests/Makefile.am (TESTS): Add them.
* NEWS: Update.
* tests/distcheck-missing-m4.test: Extend by also checking
interactions with ACLOCAL_PATH.
* tests/distcheck-outdated-m4.test: Likewise, and fix a couple
of botched comments since we are at it.
Stefano Lattarini [Mon, 19 Sep 2011 16:24:44 +0000 (18:24 +0200)]
Merge branch 'fix-java-prefix-is-unexpected' into maint
Stefano Lattarini [Mon, 19 Sep 2011 16:21:25 +0000 (18:21 +0200)]
tests: fix spurious failure in 'primary-prefix-valid-couples.test'
* tests/primary-prefix-valid-couples.test: After commit
v1.11-464-gc9dfc36, `java_JAVA' is not a valid prefix/primary
combination by default anymore: one has to explicitly define
$(javadir) to make it so. So just drop `java_JAVA' from our
Makefile.am Also, since we are at it, ...
(configure.in): ... remove AM_PROG_GCJ from here, as it's not
really required.
Stefano Lattarini [Mon, 19 Sep 2011 11:30:30 +0000 (13:30 +0200)]
Merge branch 'deprecate-java-primary' into maint
Stefano Lattarini [Mon, 19 Sep 2011 09:28:42 +0000 (11:28 +0200)]
docs: deprecate JAVA primary
* doc/automake.texi (Java): Deprecate the JAVA primary, stating
that it will become obsolete in automake 1.12 and probably removed
altogether in automake 1.13. Reflect this in the section title,
by appending the string "(deprecated feature)".
(@menu, @detailmenu): Update.
(Java Support with gcj): The cross-referenced support for bytecode
compilation with the JAVA primary is rudimentary and deprecated.
State that explicitly.
Stefano Lattarini [Mon, 19 Sep 2011 09:16:12 +0000 (11:16 +0200)]
docs: clearer distinction between `.java' with javac and with gcj
* doc/automake.texi (Java support): Rename this node ...
(Java support with gcj): ... to this, and change its title from
"Compiling Java sources" to "Compiling Java sources using gcj".
(@detailmenu, @menu, @cindex): Update and make more precise.
(Java): Change the title of this node from simply "Java" to
"Java bytecode compilation".
(@detailmenu, @menu, @cindex): Update and make more precise.
Stefano Lattarini [Sun, 18 Sep 2011 21:32:38 +0000 (23:32 +0200)]
java: complain if java_JAVA is used but $(javadir) is undefined
Fixes automake bug#8461.
* automake.in (handle_java): Remove inappropriate "java" argument
from the calls to `&am_install_var' and `&am_primary_prefixes'.
* tests/instdir-java.test (Makefile.am): Define `$(javadir)'.
* tests/javadir-undefined.test: New test.
* tests/Makefile.am (TESTS): Add it.
* NEWS: Update.
Stefano Lattarini [Sun, 18 Sep 2011 18:42:56 +0000 (20:42 +0200)]
parallel-tests: expose automake bug#9546
* tests/test-driver-is-distributed.test: New test.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
Stefano Lattarini [Sun, 18 Sep 2011 17:53:11 +0000 (19:53 +0200)]
py-compile tests: more faithful 'installcheck' support
* tests/py-compile-basedir.test: Use the `$am_scriptsdir' variable
instead of `$testsrcdir/../lib', to test more faithfully under
"make installcheck". More uses of the `fatal_' subroutine to
diagnose hard errors.
* tests/py-compile-basic.test: Likewise.
* tests/py-compile-basic2.test: Likewise.
* tests/py-compile-destdir.test: Likewise.
* tests/py-compile-env.test: Likewise.
* tests/py-compile-option-terminate.test: Likewise.
* tests/py-compile-usage.test: Likewise.
Stefano Lattarini [Sun, 18 Sep 2011 17:25:38 +0000 (19:25 +0200)]
tests: remove redundant settings of `errexit' shell flag
* tests/aclocal-acdir.test: Do not set the `errexit' shell
flag, as it is already set by `tests/defs'.
* tests/aclocal-print-acdir.test: Likewise.
* tests/distcheck-missing-m4.test: Likewise.
* tests/distcheck-outdated-m4.test: Likewise.
* tests/java-clean.test: Likewise.
* tests/java-compile-install.test: Likewise.
* tests/java-compile-run-flat.test: Likewise.
* tests/java-compile-run-nested.test: Likewise.
* tests/java-mix.test: Likewise.
* tests/java-no-duplicate.test: Likewise.
* tests/java-nobase.test: Likewise.
* tests/java-rebuild.test: Likewise.
* tests/java-sources.test: Likewise.
* tests/java-uninstall.test: Likewise.
* tests/javaflags.test: Likewise.
* tests/nobase-nodist.test: Likewise.
* tests/py-compile-basedir.test: Likewise.
* tests/py-compile-basic.test: Likewise.
* tests/py-compile-basic2.test: Likewise.
* tests/py-compile-destdir.test: Likewise.
* tests/py-compile-env.test: Likewise.
* tests/py-compile-option-terminate.test: Likewise.
* tests/py-compile-usage.test: Likewise. Since we are at it,
add an extra blank line, for clarity.
Stefano Lattarini [Sun, 18 Sep 2011 17:14:55 +0000 (19:14 +0200)]
Merge branch 'master' into testsuite-work
Stefano Lattarini [Sun, 18 Sep 2011 16:32:12 +0000 (18:32 +0200)]
Merge branch 'master' into test-protocols
Stefano Lattarini [Sun, 18 Sep 2011 16:30:00 +0000 (18:30 +0200)]
Merge branch 'test-protocols' into testsuite-work
* test-protocols:
automake: remove code duplication in 'handle_tests'
Stefano Lattarini [Sun, 18 Sep 2011 16:21:29 +0000 (18:21 +0200)]
Merge branch 'remove-deansification'
* remove-deansification:
automake: remove special handling of `ANSI2KNR' make variable
Stefano Lattarini [Sun, 18 Sep 2011 16:13:59 +0000 (18:13 +0200)]
Merge branch 'maint'
* maint:
coverage: test interactions of `nobase_' and `nodist_'
cosmetics: fix various typos and grammaros
py-compile: '--' and non-option arguments terminate the option list
py-compile: complain on unrecognized options
py-compile: normalize error and help messages
python tests: add "unit tests" on py-compile
py-compile: the '--destdir' option now accepts a blank argument
python: run the 'py-compile' script with $(SHELL)
Stefano Lattarini [Sun, 18 Sep 2011 16:05:43 +0000 (18:05 +0200)]
Merge branch 'python-work' into maint
* python-work:
cosmetics: fix various typos and grammaros
py-compile: '--' and non-option arguments terminate the option list
py-compile: complain on unrecognized options
py-compile: normalize error and help messages
python tests: add "unit tests" on py-compile
py-compile: the '--destdir' option now accepts a blank argument
python: run the 'py-compile' script with $(SHELL)
Stefano Lattarini [Sun, 18 Sep 2011 15:51:31 +0000 (17:51 +0200)]
coverage: test interactions of `nobase_' and `nodist_'
* tests/nobase-nodist.test: New test.
* tests/Makefile.am (TESTS): Add it.
Stefano Lattarini [Sun, 18 Sep 2011 15:36:05 +0000 (17:36 +0200)]
Merge branch 'maint'
* maint:
java: fix various blunders in test 'java-mix.test'
Stefano Lattarini [Sun, 18 Sep 2011 15:32:50 +0000 (17:32 +0200)]
java: fix various blunders in test 'java-mix.test'
* tests/java-mix.test: Add missing call to `set -e'. Fix inverted
semantics (`.java' files are expected *not* to be distributed by
default, not the other way round). Fix various typos in the name
of the `.java' files. Correct other minor blunders. Improve some
comments.
Stefano Lattarini [Sun, 18 Sep 2011 14:32:46 +0000 (16:32 +0200)]
Merge branch 'java-work'
* java-work:
fix: remove duplicated ChangeLog entries
java: allow both JAVA and nobase_JAVA in the same Makefile.am
java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am
fix: regenerate tests/Makefile.in
tests defs: use `skip_' for skipping java-related tests
java tests: use $PATH_SEPARATOR where appropriate
java coverage: test JAVACFLAGS and AM_JAVACFLAGS
java coverage: test rebuild rules for java
java coverage: try to build and run a java program
test defs: new requirement for the default java interpreter
java tests: tweak and make stricter a couple of tests
java coverage: add test on uninstall with JAVA primary
java tests: require java compiler more properly
java: allow both JAVA and nobase_JAVA in the same Makefile.am
java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am
Stefano Lattarini [Sun, 18 Sep 2011 14:24:04 +0000 (16:24 +0200)]
fix: remove duplicated ChangeLog entries
Stefano Lattarini [Sun, 18 Sep 2011 14:21:04 +0000 (16:21 +0200)]
Merge branch 'maint' into java-work
Stefano Lattarini [Sun, 18 Sep 2011 14:19:25 +0000 (16:19 +0200)]
Merge branch 'java-fixes-for-maint' into maint
Stefano Lattarini [Fri, 16 Sep 2011 11:41:42 +0000 (13:41 +0200)]
automake: remove special handling of `ANSI2KNR' make variable
* automake.in (define_configure_variable): Remove special-cased
handling of `ANSI2KNR' variable. Related minor simplifications.
Stefano Lattarini [Wed, 14 Sep 2011 12:58:05 +0000 (14:58 +0200)]
automake: remove code duplication in 'handle_tests'
* automake.in (handle_tests): Factor out some code dealing with
test extensions and rules for generation of `.log' files into ...
(handle_per_suffix_test): ... this new subroutine.
* tests/parallel-tests-exeext.test: New test.
* tests/Makefile.am (TESTS): Update.
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:37:05 +0000 (18:37 +0200)]
cosmetics: fix various typos and grammaros
* NEWS: Fix typos.
* tests/py-compile-basic.test: Likewise.
* tests/py-compile-basedir.test: Fix botched wording in comments.
* tests/py-compile-option-terminate.test: Fix typo and incomplete
comment.
Suggestions by Peter Rosin.
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 [Mon, 12 Sep 2011 09:03:32 +0000 (11:03 +0200)]
java: allow both JAVA and nobase_JAVA in the same Makefile.am
* automake.in (handle_java): Also strip `nobase_' from the given
prefix, when needed.
* tests/java-clean.test: Update and extend.
* tests/java-compile-install.test: Likewise.
* tests/java-no-duplicate.test: Likewise.
* tests/java-sources.test: Likewise.
* tests/java-noinst.test: Likewise.
* tests/java-mix-dist-nodist.test: Renamed to ...
* tests/java-mix.test: ... this, and extended.
* tests/java-nobase.test: New test, still xfailing due to
unrelated issues.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
Cherry-picked from v1.11-356-g01dede4
Stefano Lattarini [Mon, 12 Sep 2011 08:54:49 +0000 (10:54 +0200)]
java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am
Fixes automake bug#8434.
* automake.in (handle_java): Strip `dist_' and `nodist_' from
the given prefix. Define a new internal Makefile variable
`am__java_sources'. Related adjustments.
* lib/am/java.am (JAVAC, JAVAROOT, CLASSPATH_ENV): Define only the
first time this am file is processed.
(class%DIR%.stamp): Stamp file renamed ...
(class%NDIR%.stamp): ... to this, so that the `dist_' and `nodist_'
prefixes are stripped from the name of the stampfile. Adjust
declaration of dependencies by using the new automake-generated
internal variable `$(am__java_sources)'. In the rule, use `$@'
as the name of the target, rather than hard-coding it.
* tests/java.test: Update and extend.
* tests/java-no-duplicate.test: New test.
* tests/java-mix-dist-nodist.test: Likewise.
* tests/java-compile-and-install.test: Likewise.
* tests/java-clean.test: Likewise.
* tests/java-sources.test: Likewise.
* tests/Makefile.am (TESTS): Update.
Cherry-picked from commit v1.11-337-gd76b503.
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:47:24 +0000 (00:47 +0200)]
Merge branch 'maint' into java-work
* maint:
tests: fix spurious failure on fast machines
aclocal: better URL reference in error message
coverage: distcheck-hook to catch missing/outdated *.m4 files
aclocal: more granularity in acdir overriding
Stefano Lattarini [Sat, 10 Sep 2011 22:47:09 +0000 (00:47 +0200)]
Merge branch 'maint' into python-work
* maint:
tests: fix spurious failure on fast machines
aclocal: better URL reference in error message
coverage: distcheck-hook to catch missing/outdated *.m4 files
aclocal: more granularity in acdir overriding
* 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
coverage: vala support failing for VPATH from-scratch builds
docs: report few more automake parsing limitations
tests: list "forgotten" test script in TESTS
ylwrap: fix unusual indentation whitespace
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.