Stefano Lattarini [Tue, 25 Oct 2011 09:45:24 +0000 (11:45 +0200)]
Merge branch 'master' into testsuite-work
* master:
fix: date in recent ChangeLog entry
tests: fix spurious failures due to missing 'yywrap()' function
dejagnu: allow the package developer to extend site.exp
* THANKS: Fix whitespace issue.
deps: partially revert commit `v1.11-512-geeee551'
dejagnu: ensure 'srcdir' is defined as a relative directory
Stefano Lattarini [Tue, 25 Oct 2011 09:34:11 +0000 (11:34 +0200)]
Merge branch 'maint'
* maint:
dejagnu: allow the package developer to extend site.exp
* THANKS: Fix whitespace issue.
deps: partially revert commit `v1.11-512-geeee551'
dejagnu: ensure 'srcdir' is defined as a relative directory
Stefano Lattarini [Tue, 25 Oct 2011 09:04:07 +0000 (11:04 +0200)]
fix: date in recent ChangeLog entry
Stefano Lattarini [Mon, 24 Oct 2011 21:18:34 +0000 (23:18 +0200)]
tests: fix spurious failures due to missing 'yywrap()' function
The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
the "lex library" expected to provide a `yywrap' function (function
which is required to link most lex-generated programs). On the
contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
fail, configure declares that no lex library is needed, and simply
proceeds with the configuration process -- only for the build to
possibly fail later, at make time.
This behaviour is intended; the Autoconf manual reads:
``You are encouraged to use Flex in your sources, since it is
both more pleasant to use than plain Lex and the C source it
produces is portable. In order to ensure portability, however,
you must either provide a function `yywrap' or, if you don't use
it (e.g., your scanner has no `#include'-like feature), simply
include a `%noyywrap' statement in the scanner's source.''
This AC_PROG_LEX behaviour is causing some spurious failures of
the Automake testsuite in environments which lack a proper library
providing `yywrap' (this happens for example on Fedora-based
systems). The proper workaround is to simply provide a fall-back
implementation of `yywrap' in our lexers.
See also partially-overlapping commit `v1.11-871-geb147a1' (from
the 'testsuite-work' branch), which was motivated by similar
spurious failures experienced when cross-compiling.
Reported by Jim Meyering:
<http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html>
* tests/cond35.test: Provide a dummy `yywrap' function.
* tests/lex3.test: Likewise.
* tests/lexvpath.test: Likewise.
* tests/silent-lex-generic.test: Likewise.
* tests/silent-lex-gcc.test: Likewise.
Stefano Lattarini [Mon, 24 Oct 2011 17:45:42 +0000 (19:45 +0200)]
Merge branch 'fix-pr8485-and-pr8526' into maint
* fix-pr8485-and-pr8526:
deps: partially revert commit `v1.11-512-geeee551'
Stefano Lattarini [Sat, 22 Oct 2011 18:51:43 +0000 (20:51 +0200)]
Merge branch 'dejagnu-siteexp-extend' into maint
* dejagnu-siteexp-extend:
dejagnu: allow the package developer to extend site.exp
Stefano Lattarini [Tue, 1 Feb 2011 08:52:43 +0000 (09:52 +0100)]
dejagnu: allow the package developer to extend site.exp
Fixes automake bug#7873.
* lib/am/dejagnu.am (site.exp): Depend from the files listed in
$(EXTRA_DEJAGNU_SITE_CONFIG), if any. Append their contents to
the generated site.exp (still preserving user edits).
* doc/automake.texi (Dejagnu Tests): Update.
* tests/dejagnu-siteexp-append.test: New test.
* tests/dejagnu-siteexp-extend.test: Likewise.
* tests/dejagnu-siteexp-useredit.test: Likewise.ù
* NEWS: Update.
* tests/Makefile.am (TESTS): Update.
Suggestion by Rainer Orth.
Stefano Lattarini [Sat, 22 Oct 2011 18:42:17 +0000 (20:42 +0200)]
Merge branch 'dejagnu-srcdir-discrepancy' into maint
* dejagnu-srcdir-discrepancy:
dejagnu: ensure 'srcdir' is defined as a relative directory
Fix testsuite failure of check12.test without DejaGNU.
Extend and improve tests on DejaGnu support.
Stefano Lattarini [Fri, 21 Oct 2011 09:27:25 +0000 (11:27 +0200)]
tests: more faithful 'installcheck' support in few tests
* tests/test-driver-acsubst.test: Use the `$am_scriptdir'
variable instead of `$testsrcdir/../lib', to test more
faithfully under "make installcheck".
* tests/test-driver-cond.test: Likewise.
* tests/dist-auxfile.test: Likewise, and add one more use
of `fatal_' to report hard errors.
* tests/tests/dist-auxdir-many-subdirs.test: Likewise.
Stefano Lattarini [Fri, 21 Oct 2011 08:34:31 +0000 (10:34 +0200)]
tests: remove redundant settings of `errexit' shell flag
* tests/aclocal-path-install-serial.test: Do not set the
`errexit' shell flag, as it is already set by `tests/defs'.
* tests/aclocal-path-install.test: Likewise.
* tests/aclocal-path-nonexistent.test: Likewise.
* tests/aclocal-path-precedence.test: Likewise.
* tests/aclocal-path.test: Likewise.
* tests/dist-auxfile-2.test: Likewise.
* tests/dist-auxfile.test: Likewise.
* tests/distcheck-pr9579.test: Likewise.
* tests/javadir-undefined.test: Likewise.
* tests/subpkg-yacc.test: Likewise.
* tests/test-extensions-cond.test: Likewise.
* tests/test-extensions.test: Likewise.
* tests/uninstall-fail.test: Likewise.
* tests/uninstall-pr9578.test: Likewise.
* tests/distcheck-override-infodir.test: Likewise. Also,
fix typo in heading comments since we are at it.
Peter Rosin [Fri, 21 Oct 2011 06:39:48 +0000 (08:39 +0200)]
* THANKS: Fix whitespace issue.
Stefano Lattarini [Thu, 20 Oct 2011 21:27:39 +0000 (23:27 +0200)]
fixup: add forgotten test scripts to $(TESTS)
* tests/list-of-tests.mk: Add various test scripts that are in
the git repository but weren't correctly listed in $(TESTS).
The inconsistency had been caused by botched/incomplete merges,
and revealed by the "maintainer-check-list-of-tests" target.
Stefano Lattarini [Thu, 20 Oct 2011 21:20:54 +0000 (23:20 +0200)]
Merge branch 'master' into testsuite-work
* master:
tests: fix spurious failures with "chatty" make implementations
tests: fix aclocal-print-acdir.test
tests: fix spurious failure on fast machines
tests: avoid spurious failure of 'uninstall-fail.test' on Solaris
tests: avoid spurious failure of 'uninstall-fail.test' on Cygwin
tests: avoid spurious failure in 'parallel-tests3.test'
tests: fix spurious failure with FreeBSD make and Yacc in VPATH
tests: fix spurious failure with autoconf 2.62
refactor: improve signature of 'check_directory' sub in automake
docs: avoid using colon character inside arguments of @pxref
Stefano Lattarini [Thu, 20 Oct 2011 21:10:03 +0000 (23:10 +0200)]
Merge branch 'maint'
* maint:
tests: fix spurious failures with "chatty" make implementations
tests: fix spurious failure on fast machines
tests: avoid spurious failure of 'uninstall-fail.test' on Solaris
tests: avoid spurious failure in 'parallel-tests3.test'
tests: fix spurious failure with FreeBSD make and Yacc in VPATH
Stefano Lattarini [Thu, 20 Oct 2011 20:25:45 +0000 (22:25 +0200)]
deps: partially revert commit `v1.11-512-geeee551'
This change partly reverts commit "Create subdirs for generated
sources even when not dep tracking", of 2011-04-02.
That commit had caused the bugs #8485 and #8526. Since we are
nearing the bug-fixing automake release 1.11.2, the safest policy
at the moment is to just revert the problematic hunks: an older,
known bug is better than a regression.
* automake.in (handle_single_transform): Don't add a dirstamp
dependency, even when $object is derived and lands in a subdir.
* tests/Makefile.am (XFAIL_TESTS): Add lex-subobj-nodep.test,
remove yacc-dist-nobuild-subdir.test.
Stefano Lattarini [Thu, 20 Oct 2011 19:44:23 +0000 (21:44 +0200)]
Merge branch 'test-subpkg-fix-spurious-freebsd-fail' into maint
* test-subpkg-fix-spurious-freebsd-fail:
tests: fix spurious failure with FreeBSD make and Yacc in VPATH
Stefano Lattarini [Thu, 20 Oct 2011 19:38:52 +0000 (21:38 +0200)]
Merge branch 'fix-pr8788' into maint
* fix-pr8788:
tests: avoid spurious failure in 'parallel-tests3.test'
Stefano Lattarini [Thu, 20 Oct 2011 19:31:09 +0000 (21:31 +0200)]
tests: fix spurious failures with "chatty" make implementations
* tests/distcheck-missing-m4.test: On failure, some make
implementations (such as Solaris make) print the whole failed
recipe on standard output. This was causing a spurious failure
in the checks grepping the output from make. Work around this.
* tests/distcheck-outdated-m4.test: Likewise.
Jim Meyering [Thu, 20 Oct 2011 15:57:55 +0000 (17:57 +0200)]
tests: fix aclocal-print-acdir.test
* tests/aclocal-print-acdir.test: Adjust to pass.
Stefano Lattarini [Thu, 20 Oct 2011 15:45:12 +0000 (17:45 +0200)]
Merge branch 'aclocal-path' into maint
* aclocal-path:
tests: fix spurious failure on fast machines
Stefano Lattarini [Thu, 20 Oct 2011 15:44:04 +0000 (17:44 +0200)]
tests: fix spurious failure on fast machines
* tests/aclocal-path-precedence.test: Also remove the `configure'
script between different test runs, to ensure it is always remade
by autoconf. Add proper explicative comments.
Stefano Lattarini [Thu, 20 Oct 2011 15:31:11 +0000 (17:31 +0200)]
tests: avoid spurious failure of 'uninstall-fail.test' on Solaris
* tests/uninstall-fail.test: All the Solaris 10 shells (/bin/sh,
/bin/ksh, and /usr/xpg4/bin/sh), upon failing to chdir to a
directory with the `cd' builtin, print a message like:
"sh: /root: permission denied"
which doesn't report the `cd' builtin anywhere. Relax the grepping
of the error message accordingly.
Stefano Lattarini [Thu, 20 Oct 2011 12:50:47 +0000 (14:50 +0200)]
Merge branch 'maint'
* maint:
tests: avoid spurious failure of 'uninstall-fail.test' on Cygwin
tests: fix spurious failure with autoconf 2.62
docs: avoid using colon character inside arguments of @pxref
Stefano Lattarini [Thu, 20 Oct 2011 12:39:53 +0000 (14:39 +0200)]
Merge branch 'test-protocols' into testsuite-work
* test-protocols:
cosmetics: remove obsolete comment
coverage: conditional contents in LOG_DRIVER variables
coverage: LOG_DRIVER variables can be defined through AC_SUBST
tests: fix spurious failure with Solaris /bin/sh
threaded-am: better serialization for required config files
automake: refactor, break up 'require_file_internal'
dist: separate auxiliary file instantiation from DIST_COMMON update
refactor: rename a subroutine to a more proper name
dist: truly always distribute files in AC_REQUIRE_AUX_FILE
dist: simplify automake code accordingly to the previous changes
dist: auxiliary files can be distributed from subdir Makefiles
Stefano Lattarini [Thu, 20 Oct 2011 12:04:41 +0000 (14:04 +0200)]
Merge branch 'dist-refactor' into test-protocols
* dist-refactor:
cosmetics: remove obsolete comment
tests: fix spurious failure with Solaris /bin/sh
threaded-am: better serialization for required config files
automake: refactor, break up 'require_file_internal'
dist: separate auxiliary file instantiation from DIST_COMMON update
refactor: rename a subroutine to a more proper name
dist: truly always distribute files in AC_REQUIRE_AUX_FILE
dist: simplify automake code accordingly to the previous changes
dist: auxiliary files can be distributed from subdir Makefiles
Stefano Lattarini [Wed, 19 Oct 2011 11:43:46 +0000 (13:43 +0200)]
Merge branch 'fix-pr9578' into maint
* fix-pr9578:
tests: avoid spurious failure of 'uninstall-fail.test' on Cygwin
Stefano Lattarini [Wed, 19 Oct 2011 11:42:40 +0000 (13:42 +0200)]
tests: avoid spurious failure of 'uninstall-fail.test' on Cygwin
* tests/uninstall-fail.test: Be sure to really skip this test
on systems that allows files to be removed from unwritable
directories. Motivated by a spurious failure on Cygwin 1.5.
Stefano Lattarini [Thu, 13 Jan 2011 19:33:26 +0000 (20:33 +0100)]
dejagnu: ensure 'srcdir' is defined as a relative directory
This change fixes automake bug#7833.
* lib/am/dejagnu.am (check-DEJAGNU): Prefer using plain $(srcdir)
over calculating and using the absolute path of $(srcdir).
* tests/dejagnu-relative-srcdir.test: New test.
* tests/dejagnu-absolute-builddir.test: Likewise.
* tests/Makefile.am (TESTS): Update.
Report by Ian Lance Taylor. Suggestions by Ralf Wildenhues.
Stefano Lattarini [Tue, 18 Oct 2011 19:05:24 +0000 (21:05 +0200)]
tests: avoid spurious failure in 'parallel-tests3.test'
This fixes automake bug#8788.
* tests/parallel-tests3.test: To ensure that the serial run of
the dummy testsuite is still ongoing when the parallel run has
terminated, use `kill -0', not a bare `kill'. This will prevent
a testsuite crash on NetBSD 5.1, and a testsuite hang on FreeBSD
8.2. Also, since we are at it, try harder to avoid possible
hangs of the script in other unusual situations.
Stefano Lattarini [Tue, 18 Oct 2011 15:53:21 +0000 (17:53 +0200)]
tests: fix spurious failure with FreeBSD make and Yacc in VPATH
* tests/subpkg.test: Some cosmetic adjustments. Move the tests
checking that $(YLWRAP) is defined and installed properly when
ylwrap is in a default auxdir found in a parent package ...
* tests/subpkg-yacc.test: ... into this new test, which carefully
avoids to trigger the known bug#7884 (combo FreeBSD make plus Yacc
plus VPATH build).
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Mon, 17 Oct 2011 15:46:05 +0000 (17:46 +0200)]
Merge branch 'aclocal-path' into maint
Stefano Lattarini [Mon, 17 Oct 2011 15:45:41 +0000 (17:45 +0200)]
tests: fix spurious failure with autoconf 2.62
* tests/aclocal-path-precedence.test: Rewrite configure.in,
rather than appending to it, to avoid spurious failures (at
least with autoconf 2.62) due to repeated calls to AC_INIT.
Also, add package name and version arguments to AC_INIT, to
avoid spurious errors from automake.
Stefano Lattarini [Mon, 17 Oct 2011 09:38:01 +0000 (11:38 +0200)]
refactor: improve signature of 'check_directory' sub in automake
* automake.in (check_directory): Take the relative directory
the directory to be checked is expected to be found into as
an optional parameter, rather than reading it from the global
variable `$relative_dir'.
(scan_autoconf_traces, check_directories_in_var): Adjust.
Stefano Lattarini [Mon, 17 Oct 2011 09:17:23 +0000 (11:17 +0200)]
cosmetics: remove obsolete comment
* automake.in (push_required_file): Remove "FIXME" comment stating
that the special handling of `$config_aux_dir' breaks threaded
automake: this is not true anymore after the recent commits (see
in particular commit `v1.11-1225-gf672944').
Stefano Lattarini [Sun, 16 Oct 2011 08:50:47 +0000 (10:50 +0200)]
docs: avoid using colon character inside arguments of @pxref
Fixes automake bug#9753
* doc/automake.texi (VPATH Builds): Avoid using colon character
`:' inside arguments of @pxref, as this can cause problems in
the generated `.info' files, and such an usage will be explicitly
forbidden by future texinfo documentation.
* THANKS: Update.
Reported by Дилян Палаузов.
Stefano Lattarini [Tue, 11 Oct 2011 11:42:09 +0000 (13:42 +0200)]
coverage: conditional contents in LOG_DRIVER variables
* tests/test-driver-cond.test: New test.
* tests/Makefile.am (TESTS): Add it.
Stefano Lattarini [Tue, 11 Oct 2011 11:37:17 +0000 (13:37 +0200)]
coverage: LOG_DRIVER variables can be defined through AC_SUBST
* tests/test-driver-acsubst.test: New test.
* tests/Makefile.am (TESTS): Add it.
Stefano Lattarini [Sat, 8 Oct 2011 19:03:43 +0000 (21:03 +0200)]
tests: fix spurious failure with Solaris /bin/sh
* tests/dist-auxfile.test: Don't use redirected `:' in a loop,
it hits a bug in Solaris 10 /bin/sh.
Stefano Lattarini [Sat, 8 Oct 2011 15:27:42 +0000 (17:27 +0200)]
threaded-am: better serialization for required config files
With this change, we make serialization/de-serialization of
required config files installs more granular, and in the process
fix the bug introduced by commit `v1.11-1219-g326ecba'.
* automake.in ($required_conf_file_queue): Move its declaration
earlier.
(require_file_internal): Add a new argument telling whether the
function should act immediately or queue its action for the master
thread to handle.
(queue_required_conf_file): Renamed ...
(queue_required_file_check_or_copy): ... to this.
(require_queued_conf_file): Renamed ...
(require_queued_file_check_or_copy): ... to this, and make it call
`required_file_check_or_copy' instead of `require_file_internal'.
(require_conf_file, handle_makefiles_threaded): Adjust and simplify
accordingly.
* tests/Makefile.am (XFAIL_TESTS): Remove `parallel-am.test'.
Stefano Lattarini [Fri, 7 Oct 2011 19:58:20 +0000 (21:58 +0200)]
automake: refactor, break up 'require_file_internal'
This refactoring is only required in view of future changes.
* automake.in (require_file_internal): Move the guts of this
function ...
(required_file_check_or_copy): ... into this new function. This
ensures that calls to `push_required_file' and code that copies
required files are placed in separate functions; this will be
very useful for reorganizing de-serialization of file installs
in future changes.
Stefano Lattarini [Fri, 7 Oct 2011 18:53:08 +0000 (20:53 +0200)]
dist: separate auxiliary file instantiation from DIST_COMMON update
This change simplifies the automake internals dealing with the
checking, copying and distributing of required auxiliary files.
With this change, a required auxiliary file is *unconditionally*
added to the contents of the DIST_COMMON variable in the generated
Makefile.in, before checking whether it exists, or trying to copy
it (if `--add-missing' is in use). This shouldn't be a problem,
since if the checking or copying of the file fails, automake will
bail out, the Makefile.in won't be created, and thus its content
will not matter. OK, this is not completely true when threaded
automake is in use, but then, such a situation was also possible
before this patch, so no regression here, which is enough for us.
This change is the first of a series of steps aimed at fixing
the regression introduced in threaded automake usage by commit
`v1.11-1219-g326ecba'.
* automake.in (require_file_internal): Add the required file to
DIST_COMMON unconditionally.
* tests/missing-auxfile-stops-makefiles-creation.test: New test.
* tests/Makefile.am (TESTS): Add it.
Stefano Lattarini [Fri, 7 Oct 2011 13:49:17 +0000 (15:49 +0200)]
refactor: rename a subroutine to a more proper name
* automake.in (maybe_push_require_file): Renamed ...
(push_required_file): ... to this.
All callers adjusted.
Stefano Lattarini [Thu, 6 Oct 2011 11:20:57 +0000 (13:20 +0200)]
dist: truly always distribute files in AC_REQUIRE_AUX_FILE
This change fixes automake bug#9651.
* automake.in (handle_dist): Files whose distribution is required
by configure.ac are now correctly distributed even if the build-aux
directory coincides with the top-level directory.
* tests/Makefile.am (XFAIL_TESTS): Remove `dist-auxfile.test'.
* NEWS: Update.
Stefano Lattarini [Sun, 2 Oct 2011 08:38:48 +0000 (10:38 +0200)]
dist: simplify automake code accordingly to the previous changes
After the previous change `v1.11-1219-g326ecba', every Makefile.am
requiring a file in the "config auxdir" will cause it to be listed
in the DIST_COMMON variable of the corresponding generated
Makefile.in, not only of the top-level Makefile.in. Thus we don't
need to worry anymore about trying to distribute files in the
config auxdir from the top-level Makefile or the Makefile in
config auxdir (if any). This allows us to carry out some useful
simplifications in the automake script.
This will however cause some changes in the generated Makefile;
for example, if the `PROGRAMS' primary is used only in a subdir
Makefile.am, the `depcomp' script will be distributed only by
`subdir/Makefile', not by the top-level Makefile. This change
can be seen as an internal detail though, and definitely warranted
by the nice simplifications the current commit provides.
* automake.in ($automake_will_process_aux_dir): Variable removed.
(scan_autoconf_files): Adjust and simplify.
(handle_makefiles_threaded): Likewise.
(get_number_of_threads): Likewise.
(require_file_internal): Likewise.
(maybe_push_required_file): Its return value is not used anymore,
so return nothing. Add special handling for distributed files from
`$config_libobj_dir'. Also, catch "this can't happen" situations,
and abort accordingly. Fix function description to better fit its
new role.
* tests/libobj19.test: Extend to also check situations where the
Makefile.am using $(LIBOBJS) is not the top-level one.
* tests/distcom6.test: Delete, merged into ...
* tests/distcom2.test: ... this test, which has been update to
account for the changed automake semantics.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
Stefano Lattarini [Fri, 30 Sep 2011 10:12:43 +0000 (12:12 +0200)]
dist: auxiliary files can be distributed from subdir Makefiles
With this change, we make it possible for a subdir Makefile.am
to distribute files in the config auxdir; while this means that
some files might be copied multiple times, it simplify some logic
in the automake script, and fix at least one important bug. In
fact, before this change, the auxiliary script `test-driver' was
not being distributed as expected when TESTS was defined only in
a subdir Makefile (which is a pretty common setup indeed). Now
this does not happen anymore: so the present change fixes automake
bug#9546.
Another welcome collateral effect is that `dist-auxfile-2.test'
now passes.
OTOH, the present changes *breaks threaded automake*. The reason
is that automake needs to serialize file installations spawned
by `--add-missing' (this isn't for cosmetic reasons, but is
really needed to avoid possible race conditions and botched output
files). Currently the code that installs required files is
intertwined with the code that declares the DIST_COMMON variables;
so, upon de-serialization, the definition of DIST_COMMON might get
emitted in the wrong Makefile.in.
Some follow-up refactoring in automake will soon take care of
remedying this situation. For the moment, we just declare some
"parallel-am" tests as xfailing.
* automake.in (maybe_push_required_file): Add ad-hoc handling for
the case where the directory part of the required file is different
from the subdir where the current Makefile.am resides, but is equal
to the "config-aux directory" ($config_auxdir). This is needed to
allow a construct in a non-top-level Makefile.am to require a file
in the config-aux directory.
* tests/test-driver-is-distributed.test: Extend and adjust. This
test now passes.
* tests/java-compile-run-nested.test: Call automake with the `-a'
option to ensure that the `test-driver' auxiliary script gets
correctly installed. This test now passes.
* tests/distcom-subdir.test: New test.
* tests/dist-readonly.test: Likewise.
* tests/dist-repeated.test: Likewise.
* tests/dist-auxdir-many-subdirs.test: Likewise.
* tests/distcom7.test: Removed, it's obsolete now.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
Stefano Lattarini [Fri, 7 Oct 2011 11:19:16 +0000 (13:19 +0200)]
Merge branch 'test-protocols' into testsuite-work
Stefano Lattarini [Fri, 7 Oct 2011 11:11:57 +0000 (13:11 +0200)]
Merge branch 'master' into test-protocols
Stefano Lattarini [Fri, 7 Oct 2011 11:11:37 +0000 (13:11 +0200)]
Merge branch 'maint'
* maint:
parallel-tests: warn on conditional TEST_EXTENSIONS definition
Stefano Lattarini [Fri, 7 Oct 2011 09:08:15 +0000 (11:08 +0200)]
parallel-tests: warn on conditional TEST_EXTENSIONS definition
Before this change, automake would have still bailed out, but
with a confusing error message (about an invalid redefinition
of TEST_EXTENSIONS).
* automake.in (handle_tests): Warn explicitly if TEST_EXTENSIONS
has conditional contents.
* tests/test-extensions-con.test: New test.
* tests/Makefile.am (TESTS): Add it.
* NEWS: Update.
Stefano Lattarini [Thu, 6 Oct 2011 20:14:15 +0000 (22:14 +0200)]
Merge branch 'test-protocols' into testsuite-work
* test-protocols:
fix: improve latest ChangeLog entry after merge
parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS
tests: fix spurious error in 'test-extensions.test'
tests: fix spurious failure in 'insthook.test'
maintcheck: fix spurious failure
regenerate Makefile.in
Stefano Lattarini [Thu, 6 Oct 2011 20:10:42 +0000 (22:10 +0200)]
fix: improve latest ChangeLog entry after merge
Stefano Lattarini [Thu, 6 Oct 2011 20:09:30 +0000 (22:09 +0200)]
Merge branch 'master' into test-protocols
Stefano Lattarini [Thu, 6 Oct 2011 19:42:06 +0000 (21:42 +0200)]
Merge branch 'maint'
Stefano Lattarini [Thu, 6 Oct 2011 19:40:17 +0000 (21:40 +0200)]
Merge branch 'fix-pr9400' into maint
* fix-pr9400:
parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS
Stefano Lattarini [Thu, 6 Oct 2011 19:30:04 +0000 (21:30 +0200)]
parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS
Even after the last commit `v1.11-476-g90bea64', the checks
performed by automake on entries in $(TEST_EXTENSIONS) tried to
allow for @substitited@ stuff. This however ends up allowing
quite brittle setups, which, most importantly, are of no real
practical usefulness anyway. So it's better to just disallow
@substitutions@ in TEST_EXTENSIONS altogether, offering a clear
error message, instead of risking weird bugs and unexpected
behaviors in the generated Makefile.in.
* automake.in ($TEST_EXTENSION_PATTERN): Turned from a regular
expression ...
(is_valid_test_extension): ... into this subroutine. Don't allow
generic @substitutions@ anymore (possibly making an exception for
`@EXEEXT@' under the proper circumstances).
* tests/test-extensions.test: Adjust and extend.
Stefano Lattarini [Thu, 6 Oct 2011 16:56:16 +0000 (18:56 +0200)]
tests: fix spurious error in 'test-extensions.test'
* tests/test-extensions.test: Call automake with the option
`--add-missing', to ensure the required script `test-driver'
gets installed. Note that the test still fails due to an
internal error in automake, though.
Stefano Lattarini [Thu, 6 Oct 2011 14:22:25 +0000 (16:22 +0200)]
Merge branch 'fix-pr9579' into maint
* fix-pr9579:
tests: fix spurious failure in 'insthook.test'
Stefano Lattarini [Thu, 6 Oct 2011 14:21:16 +0000 (16:21 +0200)]
tests: fix spurious failure in 'insthook.test'
* tests/insthook.test (Makefile.am): Add a proper `uninstall-hook'
target to remove the symlink created by the `install-exec-hook'
target; this prevents "make distcheck" from failing spuriously.
Since we are at it, delete an extra blank line, and add a trailing
`:' command.
Stefano Lattarini [Thu, 6 Oct 2011 14:14:46 +0000 (16:14 +0200)]
Merge branch 'fix-pr9579' into maint
* fix-pr9579:
maintcheck: fix spurious failure
regenerate Makefile.in
Stefano Lattarini [Thu, 6 Oct 2011 14:10:40 +0000 (16:10 +0200)]
maintcheck: fix spurious failure
* lib/am/distdir.am: Use `$(infodir)', not `${infodir}', to avoid
complaints from the `sc_no_brace_variable_expansions' maintainer
check.
Stefano Lattarini [Thu, 6 Oct 2011 14:10:23 +0000 (16:10 +0200)]
regenerate Makefile.in
Stefano Lattarini [Thu, 6 Oct 2011 13:00:37 +0000 (15:00 +0200)]
tests: avoid few useless uses of the `-e' make option
* tests/python12.test: Using `make -e' is not required to override
the DESTDIR variable, since this variable shouldn't be defined in
any automake-generated Makefile.in file.
* tests/man2.test: Likewise.
* tests/man5.test: Likewise.
Stefano Lattarini [Thu, 6 Oct 2011 12:46:44 +0000 (14:46 +0200)]
Merge branch 'test-protocols' into testsuite-work
Stefano Lattarini [Thu, 6 Oct 2011 12:35:50 +0000 (14:35 +0200)]
Merge branch 'test-protocols' into testsuite-work
* test-protocols
tap/awk: improve comments about Korn shell signal handling issues
Stefano Lattarini [Thu, 6 Oct 2011 12:29:31 +0000 (14:29 +0200)]
Merge branch 'master' into test-protocols
Stefano Lattarini [Thu, 6 Oct 2011 11:56:49 +0000 (13:56 +0200)]
Merge branch 'maint'
* maint:
fix: make a test script executable
coverage: expose automake bug#9651
parallel-tests: automake error our on invalid TEST_EXTENSIONS
fix: regenerate Makefile
docs: don't suggest installing `.m4' files in hard-coded location
distuninstallcheck: fail also when only one file is left installed
Stefano Lattarini [Thu, 6 Oct 2011 11:42:11 +0000 (13:42 +0200)]
fix: make a test script executable
* tests/nobase-nodist.test: Make executable.
Stefano Lattarini [Thu, 6 Oct 2011 11:26:58 +0000 (13:26 +0200)]
coverage: expose automake bug#9651
* tests/dist-auxfile.test: New test, xfailing.
* tests/dist-auxfile-2.test: Likewise.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
Stefano Lattarini [Thu, 6 Oct 2011 08:45:25 +0000 (10:45 +0200)]
Merge branch 'fix-pr9400' into maint
* fix-pr9400:
parallel-tests: automake error our on invalid TEST_EXTENSIONS
Stefano Lattarini [Sat, 1 Oct 2011 19:31:07 +0000 (21:31 +0200)]
parallel-tests: automake error our on invalid TEST_EXTENSIONS
This change fixes automake bug#9400.
* automake.in (handle_tests): Bail out if a suffix specified in
TEST_EXTENSIONS would produce an invalid `xxx_LOG_COMPILER'
variable or an invalid suffix rule. Before this change, automake
would have issued a confusing error messages (about invalid or
non-POSIX variables being defined), and in some situations would
have even produced a broken `Makefile.in' file.
($TEST_EXTENSION_PATTERN): New helper variable.
* doc/automake.texi (Simple Tests using parallel-tests): Document
the limitations on TEST_EXTENSIONS explicitly.
* NEWS: Update.
* tests/test-extensions.test: New test.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Sat, 1 Oct 2011 17:31:22 +0000 (19:31 +0200)]
fix: regenerate Makefile
Stefano Lattarini [Sat, 1 Oct 2011 17:28:24 +0000 (19:28 +0200)]
Merge branch 'fix-pr7988' into maint
* fix-pr7988:
docs: don't suggest installing `.m4' files in hard-coded location
Stefano Lattarini [Sat, 1 Oct 2011 17:22:37 +0000 (19:22 +0200)]
Merge branch 'fix-pr9579' into maint
* fix-pr9579:
distuninstallcheck: fail also when only one file is left installed
Stefano Lattarini [Wed, 28 Sep 2011 18:48:13 +0000 (20:48 +0200)]
tap/awk: improve comments about Korn shell signal handling issues
* lib/tap-driver.sh: Link an Austin Group discussion about how
shells are allowed, and even encouraged, to set the special
variable `$?' to values greater than 256 to report termination
of a child by a signal. Improve and extend comments about our
workarounds for unusual korn shell signals' propagation.
Thanks to Eric Blake for the pointers.
Stefano Lattarini [Wed, 28 Sep 2011 15:00:42 +0000 (17:00 +0200)]
Merge branch 'test-protocols' into testsuite-work
* test-protocols:
fix: regenerate Makefile.in files
tap/awk: account for unusual korn shell signal handling behaviour
tap/awk: handle exit statuses > 256 (seen on few korn shells)
maintcheck: fix usage of `cd' instead of `$(am__cd)'
Stefano Lattarini [Wed, 28 Sep 2011 14:59:47 +0000 (16:59 +0200)]
Merge branch 'master' into test-protocols
* master:
fix: regenerate Makefile.in files
maintcheck: fix usage of `cd' instead of `$(am__cd)'
Stefano Lattarini [Wed, 28 Sep 2011 14:58:52 +0000 (16:58 +0200)]
Merge branch 'maint'
* maint:
fix: regenerate Makefile.in files
maintcheck: fix usage of `cd' instead of `$(am__cd)'
Stefano Lattarini [Wed, 28 Sep 2011 14:49:35 +0000 (16:49 +0200)]
Merge branch 'fix-pr9578' into maint
* fix-pr9578:
fix: regenerate Makefile.in files
Stefano Lattarini [Wed, 28 Sep 2011 14:46:58 +0000 (16:46 +0200)]
fix: regenerate Makefile.in files
Stefano Lattarini [Wed, 28 Sep 2011 14:31:24 +0000 (16:31 +0200)]
tap/awk: account for unusual korn shell signal handling behaviour
This change has been motivated by a testsuite failure on Debian
with the AT&T Korn Shell version 93u-1.
* lib/tap-driver.sh: Temporarily ignore some common signals when
waiting for the test command to complete, to avoid premature exit
in Korn shells that propagate to themselves signals that have
killed a child process.
See also related commit `v1.11-1342-g6321ad3'.
Stefano Lattarini [Wed, 28 Sep 2011 14:05:06 +0000 (16:05 +0200)]
tap/awk: handle exit statuses > 256 (seen on few korn shells)
Some Korn shells, when a child process die due to signal number
n, can leave in $? an exit status of 256+n instead of the more
standard 128+n. Apparently, both behaviours are allowed by
POSIX, so be prepared to handle them both.
This change has been motivated by a testsuite failure on Debian
with the AT&T Korn Shell version 93u-1.
* lib/tap-driver.sh (get_test_exit_message): Handle the described
Korn Shell behaviour too.
($scriptversion): Update.
Stefano Lattarini [Wed, 28 Sep 2011 11:21:11 +0000 (13:21 +0200)]
Merge branch 'fix-pr9578' into maint
* fix-pr9578:
maintcheck: fix usage of `cd' instead of `$(am__cd)'
Stefano Lattarini [Wed, 28 Sep 2011 11:17:13 +0000 (13:17 +0200)]
maintcheck: fix usage of `cd' instead of `$(am__cd)'
* lib/am/inst-vars.am (am__uninstall_files_from_dir): Use
`$(am__cd)', not plain `cd'.
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 [Sun, 25 Sep 2011 12:29:19 +0000 (14:29 +0200)]
docs: don't suggest installing `.m4' files in hard-coded location
This change fixes automake bug#7988.
* doc/automake.texi (aclocal Options): State that the use of
the `--print-ac-dir' option to determine the directory where
third-party packages can install their `.m4' files is discouraged
now.
(Extending aclocal): Suggest telling the user about ACLOCAL_PATH.
* THANKS: Update.
Report by Peter Johansson.
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 [Fri, 23 Sep 2011 14:06:59 +0000 (16:06 +0200)]
distuninstallcheck: fail also when only one file is left installed
This change fixes automake bug#9579.
* lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring
a potential `dir' file created by install-info and left installed.
Also, be more careful about "this can't happen" kind of errors.
(am__distuninstallcheck_listfiles): New internal helper macro.
* tests/distcheck-pr9579.test: New test.
* tests/distcheck-override-infodir.test: Likewise.
* tests/Makefile.am (TESTS): Add them.
* NEWS, THANKS: Update.
Report by Nick Bowler.
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.