platform/upstream/automake.git
13 years agoMerge branch 'master' into testsuite-work
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

13 years agoMerge branch 'maint'
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

13 years agofix: date in recent ChangeLog entry
Stefano Lattarini [Tue, 25 Oct 2011 09:04:07 +0000 (11:04 +0200)]
fix: date in recent ChangeLog entry

13 years agotests: fix spurious failures due to missing 'yywrap()' function
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.

13 years agoMerge branch 'fix-pr8485-and-pr8526' into maint
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'

13 years agoMerge branch 'dejagnu-siteexp-extend' into maint
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

13 years agodejagnu: 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.

13 years agoMerge branch 'dejagnu-srcdir-discrepancy' into maint
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.

13 years agotests: more faithful 'installcheck' support in few tests
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.

13 years agotests: remove redundant settings of `errexit' shell flag
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.

13 years ago* THANKS: Fix whitespace issue.
Peter Rosin [Fri, 21 Oct 2011 06:39:48 +0000 (08:39 +0200)]
* THANKS: Fix whitespace issue.

13 years agofixup: add forgotten test scripts to $(TESTS)
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.

13 years agoMerge branch 'master' into testsuite-work
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

13 years agoMerge branch 'maint'
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

13 years agodeps: partially revert commit `v1.11-512-geeee551'
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.

13 years agoMerge branch 'test-subpkg-fix-spurious-freebsd-fail' into maint
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

13 years agoMerge branch 'fix-pr8788' into maint
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'

13 years agotests: fix spurious failures with "chatty" make implementations
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.

13 years agotests: fix aclocal-print-acdir.test
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.

13 years agoMerge branch 'aclocal-path' into maint
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

13 years agotests: 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.

13 years agotests: avoid spurious failure of 'uninstall-fail.test' on Solaris
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.

13 years agoMerge branch 'maint'
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

13 years agoMerge branch 'test-protocols' into testsuite-work
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

13 years agoMerge branch 'dist-refactor' into test-protocols
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

13 years agoMerge branch 'fix-pr9578' into maint
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

13 years agotests: 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.

13 years agodejagnu: ensure 'srcdir' is defined as a relative directory
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.

13 years agotests: avoid spurious failure in 'parallel-tests3.test'
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.

13 years agotests: fix spurious failure with FreeBSD make and Yacc in VPATH
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.

13 years agoMerge branch 'aclocal-path' into maint
Stefano Lattarini [Mon, 17 Oct 2011 15:46:05 +0000 (17:46 +0200)]
Merge branch 'aclocal-path' into maint

13 years agotests: fix spurious failure with autoconf 2.62
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.

13 years agorefactor: improve signature of 'check_directory' sub in 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.

13 years agocosmetics: remove obsolete comment
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').

13 years agodocs: avoid using colon character inside arguments of @pxref
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 Дилян Палаузов.

13 years agocoverage: conditional contents in LOG_DRIVER variables
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.

13 years agocoverage: LOG_DRIVER variables can be defined through AC_SUBST
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.

13 years agotests: fix spurious failure with Solaris /bin/sh
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.

13 years agothreaded-am: better serialization for required config files
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'.

13 years agoautomake: refactor, break up 'require_file_internal'
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.

13 years agodist: separate auxiliary file instantiation from DIST_COMMON update
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.

13 years agorefactor: rename a subroutine to a more proper name
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.

13 years agodist: truly always distribute files in AC_REQUIRE_AUX_FILE
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.

13 years agodist: simplify automake code accordingly to the previous changes
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.

13 years agodist: auxiliary files can be distributed from subdir Makefiles
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.

13 years agoMerge branch 'test-protocols' into testsuite-work
Stefano Lattarini [Fri, 7 Oct 2011 11:19:16 +0000 (13:19 +0200)]
Merge branch 'test-protocols' into testsuite-work

13 years agoMerge branch 'master' into test-protocols
Stefano Lattarini [Fri, 7 Oct 2011 11:11:57 +0000 (13:11 +0200)]
Merge branch 'master' into test-protocols

13 years agoMerge branch 'maint'
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

13 years agoparallel-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.

13 years agoMerge branch 'test-protocols' into testsuite-work
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

13 years agofix: improve latest ChangeLog entry after merge
Stefano Lattarini [Thu, 6 Oct 2011 20:10:42 +0000 (22:10 +0200)]
fix: improve latest ChangeLog entry after merge

13 years agoMerge branch 'master' into test-protocols
Stefano Lattarini [Thu, 6 Oct 2011 20:09:30 +0000 (22:09 +0200)]
Merge branch 'master' into test-protocols

13 years agoMerge branch 'maint'
Stefano Lattarini [Thu, 6 Oct 2011 19:42:06 +0000 (21:42 +0200)]
Merge branch 'maint'

13 years agoMerge branch 'fix-pr9400' into 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

13 years agoparallel-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.

13 years agotests: fix spurious error in 'test-extensions.test'
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.

13 years agoMerge branch 'fix-pr9579' into maint
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'

13 years agotests: 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.

13 years agoMerge branch 'fix-pr9579' into maint
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

13 years agomaintcheck: fix spurious failure
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.

13 years agoregenerate Makefile.in
Stefano Lattarini [Thu, 6 Oct 2011 14:10:23 +0000 (16:10 +0200)]
regenerate Makefile.in

13 years agotests: avoid few useless uses of the `-e' make option
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.

13 years agoMerge branch 'test-protocols' into testsuite-work
Stefano Lattarini [Thu, 6 Oct 2011 12:46:44 +0000 (14:46 +0200)]
Merge branch 'test-protocols' into testsuite-work

13 years agoMerge 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

13 years agoMerge branch 'master' into test-protocols
Stefano Lattarini [Thu, 6 Oct 2011 12:29:31 +0000 (14:29 +0200)]
Merge branch 'master' into test-protocols

13 years agoMerge branch 'maint'
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

13 years agofix: make a test script executable
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.

13 years agocoverage: expose automake bug#9651
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.

13 years agoMerge branch 'fix-pr9400' into maint
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

13 years agoparallel-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.

13 years agofix: regenerate Makefile
Stefano Lattarini [Sat, 1 Oct 2011 17:31:22 +0000 (19:31 +0200)]
fix: regenerate Makefile

13 years agoMerge branch 'fix-pr7988' into maint
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

13 years agoMerge branch 'fix-pr9579' into maint
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

13 years agotap/awk: improve comments about Korn shell signal handling issues
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.

13 years agoMerge branch 'test-protocols' into testsuite-work
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)'

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

13 years agoMerge branch 'maint'
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)'

13 years agoMerge branch 'fix-pr9578' into maint
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

13 years agofix: regenerate Makefile.in files
Stefano Lattarini [Wed, 28 Sep 2011 14:46:58 +0000 (16:46 +0200)]
fix: regenerate Makefile.in files

13 years agotap/awk: account for unusual korn shell signal handling behaviour
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'.

13 years agotap/awk: handle exit statuses > 256 (seen on few korn shells)
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.

13 years agoMerge branch 'fix-pr9578' into maint
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)'

13 years agomaintcheck: 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'.

13 years agoMerge branch 'fix-test-tap-and-signals' into testsuite-work
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

13 years agotests: 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.

13 years agodocs: don't suggest installing `.m4' files in hard-coded location
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.

13 years agoMerge branch 'test-protocols' into testsuite-work
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

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

13 years agoMerge branch 'maint'
Stefano Lattarini [Wed, 28 Sep 2011 09:11:51 +0000 (11:11 +0200)]
Merge branch 'maint'

* maint:
  uninstall: "make uninstall" before "make install" works

13 years agotests: fix spurious failures in tests on TAP + signals
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.

13 years agodistuninstallcheck: fail also when only one file is left installed
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.

13 years agoMerge branch 'fix-pr9578' into maint
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

13 years agouninstall: "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.

13 years agotests: fix spurious failure in test on ACLOCAL_PATH precedences
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.

13 years agoMerge branch 'maint'
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

13 years agoMerge branch 'aclocal-path' into maint
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

13 years agotests: 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.

13 years agoMerge branch 'test-protocols' into testsuite-work
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

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

13 years agodocs: remove mention of deprecated option `--acdir'
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.