blob: 053fe03ad4198d2c579296c04c5bdea091d34188 [file] [log] [blame]
2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: drop unnecessary requirement in 'subpkg.test'
* tests/subpkg.test ($required): Drop "bison", it is not required
anymore since commit `v1.11-502-g7e5ae80'.
2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
gitlog-to-changelog: new auxiliary script, synced from gnulib
We have plans to stop maintaining a version-controlled ChangeLog
file in the Automake repository, and instead begin to generate it
automatically from the git log messages. To do so, we will use
the `gitlog-to-changelog' script from gnulib.
* lib/gitlog-to-changelog: New, synced from gnulib.
* Makefile.am (fetch): Fetch and sync it.
* lib/Makefile.am (EXTRA_DIST): Distribute it.
2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
regex: remove obsolete macro AM_WITH_REGEX
Today, practically nobody uses the GNU rx library, which, according
to its own website <http://www.gnu.org/software/rx/rx.html>, has
been "decommissioned". Consequently, the automake-provided macro
AM_WITH_REGEX is not used nor required anymore.
* m4/regex.m4: Delete.
* m4/Makefile.am (dist_automake_ac_DATA): Do not list it anymore.
* doc/automake.texi (Obsolete Macros): Remove description, and in
fact any mention, of `AM_WITH_REGEX'.
* tests/regex.test: Delete.
* tests/help-regex.test: Likewise.
* tests/regex-obsolete.test: Likewise.
* tests/list-of-tests.mk: Do not list them anymore.
* NEWS: Update.
See also commits `v1.11-587-g5f335be' and `v1.11-433-g37b0aee',
where that macro had been deprecated.
2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: be more consistent in copyright notices in tests
* tests/cond39.test: Update the heading copyright notice, to be
consistent with the formulation used in the other files.
* tests/cond40.test: Likewise.
* tests/cond41.test: Likewise.
* tests/cond42.test: Likewise.
* tests/cond43.test: Likewise.
* tests/conflnk4.test: Likewise.
* tests/extra8.test: Likewise.
* tests/extra9.test: Likewise.
* tests/suffix13.test: Likewise.
* tests/vala.test: Likewise.
* tests/vala1.test: Likewise.
* tests/vala2.test: Likewise.
* tests/vala3.test: Likewise.
* tests/vala4.test: Likewise.
* tests/vala5.test: Likewise.
* lib/Automake/tests/Condition.pl: Likewise.
* lib/Automake/tests/Condition-t.pl: Likewise.
* lib/Automake/tests/DisjConditions.pl: Likewise.
* lib/Automake/tests/DisjConditions-t.pl: Likewise.
* lib/Automake/tests/Version.pl: Likewise.
* lib/Automake/tests/Wrap.pl: Likewise.
* lib/Automake/tests/Cond2.pl: Add copyright notice.
* lib/Automake/tests/Cond3.pl: Likewise.
* lib/Automake/tests/DisjCon2.pl: Likewise.
* lib/Automake/tests/DisjCon3.pl: Likewise.
* lib/Automake/tests/Version2.pl: Likewise.
* lib/Automake/tests/Version3.pl: Likewise.
2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/awk: "Bail out!" recognized also after leading whitespace
Newer versions of TAP::Harness (e.g., 3.23 on Perl 5.14.1)
recognize a "Bail out!" directive also when it is prepended by
leading whitespace; this was not the case for older TAP:Harness
versions, (e.g., for version 3.17 on Perl 5.12.4), and for our
TAP driver implemented in awk.
* lib/tap-driver.sh: Handle the "Bail out!" directive also when
it is preceded by leading whitespace.
* tests/tap-spurious.test: Remove the tests checking that a
"Bail out!" string coming right after leading whitespace does
not trigger a bailout action.
* tests/tap-bailout-leading-space.test: New test.
* tests/list-of-tests.mk: Add it.
Problem reported by Jim Meyering in automake bug#10374.
2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure of cond29.test
* tests/cond29.test: Limit the amount of virtual memory available
to the automake process to ~ 150 MB, rather than only ~ 20 MB, to
account for higher (but still acceptable) memory usages on some
systems (in this case, a Fedora 16 distro on ppc64). To be
sure not to reduce coverage, increase the number of potential
combinations of automake conditionals from 2**22 = 4194304 to
2**24 = 16777216.
We have actually verified that the new version of the test case
catches the Automake 1.7 it is intended to check against, using
the Automake 1.7.9 tarball downloaded from:
<http://ftp.gnu.org/gnu/automake/automake-1.7.9.tar.gz>
Reported by Jim Meyering in automake bug#10374.
2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: "aclocal --install -I /abs/dir" actually copies files
This change is for automake bug#8407.
In the past, there had been some debate and confusion about
whether "aclocal --install" should copy third-party .m4 files
in the first directory passed to the `-I' option even when
such directory was given as an absolute path, or whether it
was better to do so only for directories specified with a
relative path.
The rationale for this latter behaviour was that, before the
existence of the `ACLOCAL_PATH' variable, the only way (a poor
way, I might add) for a common user to extend the search path
of a system-wide installation of aclocal was to export something
like ACLOCAL="aclocal -I /my/extra/macros" in the environment.
Today, the correct way to proceed is undoubtedly through the
use of ACLOCAL_PATH, so we can settle the question once and for
all, and start verifying the correct behaviour of `-I' with a
new test.
* tests/aclocal-install-absdir.test: New test.
* tests/Makefile.am (TESTS): Add it.
* doc/automake.texi (aclocal Options): Be more explicit about
this part of `--install' semantics.
2011-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: fix node names for automake and aclocal invocations
With the older node names, an "info automake" command issued
from the command line would have opened the node about the
invocation of the automake program, rather than the Top node
of the automake documentation. To invoke the Top node, one
had to issue the command "info Automake" instead (note the
different capitalization). This was suboptimal, and certainly
confusing.
With this change, "info automake" will open the Top node of the
automake documentation; to access the nodes about the invocation
of the automake and aclocal program, one has now to issue "info
automake-invocation" and "info aclocal-invocation" respectively.
This change fixes automake bug#8071.
See also commits `v2.61a-22-ge9215d1' and `v2.61a-72-g8c07b48' in
the autoconf git repository, which tackled a similar issue.
* doc/automake.texi (@direntry): Rename nodes `aclocal' and
`automake' to `aclocal-invocation' and `automake-invocation'
respectively.
* NEWS: Update.
2011-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: tweak tests on silent-rules for makes without nested vars
* tests/silent-nested-vars.test: Define $MAKE to `./mymake' in
the environment, so that it will be automatically picked up by
configure. Related tweaks and simplifications.
Remove the checks verifying that silent rules are respected also
when the 'subdir-objects' option is set, the checks testing the
old syntax for user-defined silent rules, and the tests using
the default $MAKE programs: they are redundant w.r.t. other test
cases. Related simplifications.
Remove the temporary files used in a sanity check as soon as they
are not needed anymore.
Do not capture also the standard error of configure: we only want
to grep its standard output.
Consistently use `stdout' for the name of files where to save the
standard output captured from make and configure, for consistency
with other tests.
Make grepping of configure output and of the generated Makefile
stricter.
Improve and tweak the `mymake' script a little.
* tests/silent6.test: Make grepping of make stdout slightly
stricter. After having configured with silent rules disabled,
try to force the use silent rules with `make V=1'.
2011-12-25 Paul Eggert <eggert@cs.ucla.edu>
silent-rules: fallback for makes without nested vars
This fixes two problems reported for Automake (Bug#9928, Bug#10237)
and is in response to a bug report for building coreutils on HP
NonStop OS (Bug#10234). The problem is that HP NonStop 'make'
treats a line like "AM_V_CC = $(am__v_CC_$(V))" as one that
expands a macro with the funny name am__v_CC_$(V instead of the
desired name am__v_CC_1 or am__v_CC_0, and since the funny macro
is not defined the line is equivalent to "AM_V_CC = )"; this
inserts a stray ")" when $(AM_V_CC) is used, which eventually
causes 'make' to fail.
The basic idea is that instead of generating Makefile.in lines like
"AM_V_CC = $(am__v_CC_$(V))", we generate
"AM_V_CC = $(am__v_CC_@AM_V@)". We then AC_SUBST $(V) for @AM_V@
in the usual case where `make' supports nested variables,
and substitute 1 (or 0) otherwise. Similarly for usages like
$(am__v_CC_$(AM_DEFAULT_VERBOSITY)).
With this change, make implementations that doesn't grasp nested
variable expansions will still be able to run Makefiles generated
using the silent-rules option. They won't allow the user to
override the make verbosity at runtime through redefinition of
$(V) (as in "make V=0"); but this is still an improvement over not
being able to work at all.
* NEWS: Document this.
* automake.in (define_verbose_var): When defining the variables,
use @AM_V@ rather than $(V), and use @AM_DEFAULT_V@ rather than
$(AM_DEFAULT_VERBOSITY).
* doc/automake.texi (Automake silent-rules Option): Explain new system.
* m4/silent.m4 (AM_SILENT_RULES): Check whether `make' supports
nested variables, and substitute AM_V and AM_DEFAULT_V accordingly.
* tests/silent-nested-vars.test: New test.
* tests/Makefile.am (TESTS): Add it.
2011-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
gitignore: use only one .gitignore file, in the top-level directory
* doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
lib/Automake/tests/.gitignore, tests/.gitignore: Deleted, their
contents merged into ...
* .gitignore: ... this top-level file. Since we are at it, improve
it by anchoring files where it makes sense.
2011-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: one more fixlet for gettext macros requirement
* tests/gettext-macros.test (configure.in): Add calls to
AC_INIT and AC_PROG_CC, to avoid a spurious failure in the
later aclocal invocation.
Luckily, this wart wasn't causing any spurious SKIP or FAIL,
but only the redundant addition to the `-Wno-syntax' option
to some aclocal invocations in the gettext tests.
2011-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix handling of gettext macros requirement
The code introduced in the earlier change `v1.11-581-gb7d67d5'
and aimed at automatically fetching all the .m4 files provided by
gettext has proven inadequate, since it hasn't managed to truly
and always get *all* the required .m4 files. For example, it has
failed to fetch the file `intldir.m4' (present in gettext 0.18.1,
and where the macro `AM_GNU_GETTEXT_INTL_SUBDIR' is defined),
which in turn has caused spurious SKIPs of at least the test
`gettext3.test'.
The reason for this debacle is that autopoint looks at the version
specified in AM_GNU_GETTEXT_VERSION to decide which version of the
gettext infrastructure to bring in; since we were unconditionally
specifying the older 0.10.35 version, the newer `.m4' files weren't
brought in.
* tests/gettext-macros.test: In AM_GNU_GETTEXT_VERSION, instead
of unconditionally specifying the older 0.10.35 version, specify
the version of the available `gettextize' or `autopoint' program,
dynamically extracted with the help of ...
(extract_program_version):... this new function, and saved ...
($autopoint_version): ... in this new variable.
2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: automatically handle deps also for generated tests
* tests/gen-testsuite-part: The test scripts are now scanned for
automatic dependency generation *after* the auto-generated tests
have been created, so they too will be scanned. It is a little
tricky to ensure that the freshly-generated tests are correctly
scanned, and we do that with the help of ...
(@generated_tests): ... this new variable.
Other related minor changes and refactorings.
2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: auto-generate deps for tests requiring libtool/gettext
* tests/gen-testsuite-part: Tests requiring libtool (or related
programs) will need libtool-provided m4 macros, so they should
be run after `libtool-macros.test'. Similarly for gettext tests.
So, generate proper declarations of such dependencies.
* tests/Makefile.am: Remove now-unneeded hand-written declaration
of those dependencies.
2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove FIXME comments from tricks to pacify syntax checks
Originally, I myself had insisted on adding those "FIXME" comments
near every unusual construct or use of "creative quoting" whose
only purpose was to avoid false positive from out syntax checks.
I did that with the expectation that we could have easily and soon
added a whitelisting capability to our maintainer-specific syntax
checks. This hasn't been the case unfortunately, and now those
"FIXME" in the comments are just distracting noise, making it more
difficult to grep the test cases for stuff that could really use a
fix or an improvement. So just get rid of them.
* tests/instdir-ltlib.test: Remove that extra "FIXME".
* tests/instdir-prog.test: Likewise.
* tests/parallel-tests3.test: Likewise.
* tests/parallel-tests-dry-run.test: Likewise.
* tests/parallel-tests-console-output.test: Likewise.
* tests/parallel-tests-no-color-in-log.test: Likewise.
* tests/tap-realtime.test: Likewise.
* tests/test-trs-recover.test: Likewise.
* tests/tap-deps.test: Likewise.
2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: few minor fixlets, improvements and tweakings
* tests/defs-static.in ($top_testbuilddir): New, for consistency
and completeness.
* tests/Makefile.am (do_subst): Substitute @abs_top_testbuilddir@
as well.
* tests/java-compile-run-mested.test: Prefer AM_TESTS_ENVIRONMENT
over TESTS_ENVIRONMENT, now that the former has become available.
* tests/java-compile-run-flat.test: Correct a botched "FIXME"
comment.
* tests/tap-realtime.test: Remove extra whitespace in comments.
* tests/missing-tar.test: Use `get_shell_script' to bring in the
`missing' script, to increase coverage. Remove redundant call to
`set -e'. Fix a typo in comments.
* tests/get-sysconf.test: Remove redundant definitions of
`$top_testsrcdir', `testbuilddir' and `$top_testbuilddir'.
2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove redundant uses of `set -e'
* tests/deleted-am.test: Do not set the `errexit' shell flag, as
it is already set by `tests/defs'.
* tests/deleted-m4.test: Likewise.
* tests/dist-missing-am.test: Likewise.
* tests/dist-missing-am.test: Likewise.
* tests/dist-missing-m4.test: Likewise.
* tests/dist-missing-included-m4.test: Likewise.
* tests/get-sysconf.test: Likewise.
* tests/makefile-deps.test: Likewise.
* tests/remake-m4-pr10111.test: Likewise.
* tests/remake-am-pr10111.test: Likewise.
* tests/remake-deleted-am.test: Likewise.
* tests/remake-deleted-am2.test: Likewise.
* tests/remake-deleted-am-subdir.test: Likewise.
* tests/remake-renamed-am.test: Likewise.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix failure due to debugging code forgotten into a test
* tests/missing-tar.test: Don't ever call the `missing' script
with `sh -x'; this was used for debugging, but an instance of
it slipped into the committed test case. Bug revealed by a
failure on a Solaris 10 system with GNU tar installed as `gtar'.
2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'master' into testsuite-work
* tests/gettext-macros.test: In the generated `get.sh' file,
use `skip_all_', not `skip_'.
* tests/libtool-macros.test: Likewise.
* tests/list-of-tests.mk: Update.
2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure of libtool and gettext tests
On Solaris 10 (and presumably earlier), /bin/sh trips up on
here-documents that contains a command substitution *and* are
fed to a shell function:
# All as expected.
$ cat <<END
`pwd`
END
/home/stefano
$ echo status = $?
status = 0
# An apparently innocuous function ...
$ kitty () { cat; }
# ... but hilarity ensues!
$ kitty <<END
`pwd`
END
/tmp/sh137723: cannot open
$ echo status = $?
status = 1
We need to work around this misbehaviour in a couple of our
tests (whose failures where causing cascading failures in a
lot of other tests).
* tests/gettext-macros.test: Avoid the use of command substitution
in a here-document passed to the `indent' function, by using the
`echo' builtin instead.
* tests/libtool-macros.test: Likewise.
See also:
<http://lists.gnu.org/archive/html/bug-autoconf/2011-12/msg00001.html>
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint' into master.
* m4/regex.m4: Bump serial number by some notches, for good
measure. Prefer the deprecation message from maint over that
from master.
* m4/python.m4: Bump serial number.
* tests/Makefile.am (canon6.log): Depend on `libtool-macros.log'.
(canon7.log): Likewise.
(extradep2.log): Likewise.
(ar-lib4.log): Likewise.
(ar-lib6a.log): Likewise.
(ar-lib6b.log): Likewise.
(vartypo2): Likewise.
(posixsubst-ltlibraries.log): Likewise.
* tests/defs: Adjust the path of the included `get.sh' scripts
generated by `libtool-macros.test' and `gettext-macros.test'.
* aclocal.m4: Delete, it's auto-generated now.
* configure: Likewise.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
* m4/Makefile.in: Likewise.
* tests/Makefile.in: Likewise.
* lib/Makefile.in: Likewise.
* lib/am/Makefile.in: Likewise.
* lib/Automake/Makefile.in: Likewise.
* lib/Automake/tests/Makefile.in: Likewise.
* .gitignore: Correctly ignored the autogenerated files
that are not committed anymore.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: distribute it, and mention it in the ChangeLog
Not distributing the HACKING file might make it more difficult,
for some random curious user, to get informed about or interested
in the Automake development process, or to send us patches.
* Makefile.am (EXTRA_DIST): Add HACKING.
* HACKING: It's OK to distribute this file, and to mention it in
the ChangeLog.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
regex: deprecate the obsolete macro AM_WITH_REGEX
This is a backport of commit v1.11-433-g37b0aee.
Today, practically nobody uses the GNU rx library, which, according
to its own website <http://www.gnu.org/software/rx/rx.html>, has
been "decommissioned". Consequently, the automake-provided macro
AM_WITH_REGEX is not used nor required anymore. Deprecate it, so
that it will be possible to safely remove it in the next major
automake version.
* m4/regex.m4 (AM_WITH_REGEX): Give a warning of the class
`obsolete' when this macro is used.
* doc/automake.texi (Public Macros): Move description of
`AM_WITH_REGEX' from here ...
(Obsolete Macros): ... to here, and declare it as obsolete
and "to be removed in a future version".
* tests/regex-obsolete.test: New test.
* tests/Makefile.am (TESTS): Add it.
* NEWS: Update.
See also:
<http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00131.html>
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: distribute .xz tarballs, not .bz2 ones
Many GNU packages are moving towards xz-compressed tarballs, so
let's follow suit, by dropping the creation and distribution of
a bzip2-compressed tarball and switching to xz instead.
For compatibility and safeness, we will continue to create and
distribute a gzip-compressed tarball as well.
* configure.ac (AM_INIT_AUTOMAKE): Drop `dist-bzip2', add
`dist-xz'.
* NEWS: Update
Suggested by Jim Meyering.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
include: avoid "deleted .am file" problem
* automake.in (handle_configure): When processing `configure.am',
also expand `HAVE-MAKEFILE-IN-DEPS' to a boolean telling whether
`MAKEFILE-IN-DEPS' is empty or not.
* lib/am/configure.am [?HAVE-MAKEFILE-IN-DEPS?]
(%MAKEFILE-IN-DEPS%): New target without dependencies, to
avoid the "deleted .am file" problem. Emit this only when
`?HAVE-MAKEFILE-IN-DEPS?' is true, to avoid generating an
"empty" dependency declaration.
* tests/deleted-am.test: Make grepping of error message stricter.
* tests/dist-missing-am.test: Likewise.
* tests/remake-deleted-am.test: New test.
* tests/remake-deleted-am-2.test: Likewise.
* tests/remake-deleted-am-subdir.test: Likewise.
* tests/remake-renamed-am.test: Likewise.
* tests/makefile-deps.test: Likewise.
* tests/Makefile.am (TESTS): Add the new tests.
* NEWS: Update.
Fixes automake bug#9768.
Report by Peter Johansson.
See also commit `Release-1-10-40-gd0ebf71', which fixed a similar
problem for .m4 files included by configure.ac.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: better use of autoconf 2.68 features
* configure.ac: Now that Automake requires autoconf 2.68 for its
own bootstrapping and build system, we can assume that PACKAGE_URL
gets automatically AC_SUBT'd.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: use proper m4 quoting in configure.ac
* configure.ac (AC_CONFIG_SRCDIR): Use proper m4 quoting
for its arguments.
(AC_CONFIG_AUX_DIR): Likewise.
(AC_PROG_PATH): Likewise.
2011-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: better handling of gettext and libtool requirements
This change fixes automake bug#9807.
Before this change, the automake testsuite only looked for the
`.m4' files containing libtool and gettext macros definitions in
the directory `${prefix}/share/aclocal' (and in the directories
specified by the `dirlist' file in there, if any), where ${prefix}
was the configure-time automake installation prefix (defaulting
to `/usr/local').
This approach had various shortcomings and disadvantages. Let's
briefly describe the three major ones.
First, on most GNU/Linux systems, a libtool or gettext installed
from distro-provided packages (e.g., by dpkg on Debian/Ubuntu, or
by rmp on RedHat/Fedora) would have `/usr', not `/usr/local', as
its ${prefix}; so, trying to run the automake testsuite with a
simple "./configure && make && make check" would have failed to
execute the libtool and gettext tests on most GNU/Linux distros.
It's true that it was quite easy to work around this issue, by
creating a proper `/usr/local/share/aclocal/dirlist' file with
an entry pointing to `/usr/share/aclocal' (a workaround in fact
used by most automake developers); but the typical user wasn't
aware of the necessity of this trick, so the libtool and gettext
tests was usually skipped on testsuite runs "in the wild", thus
needlessly reducing coverage.
Second, the older testsuite behaviour made more difficult for
the developers to run the testsuite with non-default libtool or
gettext. For example, assume the developer is working on a system
that has a default libtool version 1.5 installed in the /usr/local
hierarchy; to improve coverage, the developer installs also a more
modern libtool version, say 2.4, in its home directory, let's say
in ~/libtool-2.4; he then tries to run the automake testsuite with
this more modern libtool by doing an (apparently) simple:
$ PATH=$HOME/libtool-2.4:$PATH make check
But the automake testsuite would still look for libtool macros in
/usr/local/share/aclocal, not in ~/libtool-2.4/share/aclocal, so
the wrong version of the macros would be picked up, and the tests
would either fail spuriously or (which would be worse) pass without
truly covering the libtool version the developers was thinking to
be testing with.
Worse again, the automake testsuite would *unconditionally* look
for libtool macros in /usr/local/share/aclocal, so even something
like:
$ export ACLOCAL_PATH=$HOME/libtool-2.4/share/aclocal
$ PATH=$HOME/libtool-2.4:$PATH make check
wouldn't work.
Third and last, during a "make distcheck", automake is configured
with a ${prefix} pointing to a proper subdirectory of the build
directory (usually `pwd`/_inst), which gets created on-the-fly;
in this case, with the old approach, the automake testsuite never
found the libtool and gettext macro files, ans so the libtool and
gettext tests was *always* skipped in a "make distcheck".
* tests/libtool-macros.test: New helper test, looking (with the
help of the `libtoolize' script) for libtool macro files required
by most libtool tests, and making them easily accessible.
* tests/gettext-macros.test: New helper test, looking (with the
help of the `libtoolize' script) for libtool macro files required
by most libtool tests, and making them easily accessible.
* tests/defs.in: Update to make it rely on the results and setups
of `libtool-macros.test' and `gettext-macros.test'.
* tests/Makefile.am: Declare dependency of all the logs of libtool
tests from `libtool-macros.log', and all the logs of gettext tests
from `gettext-macros.log'.
(TESTS): Add the new tests.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
fix: typos and grammaros in comments of the new test
* tests/get-sysconf.test: Fix few typos, grammaros and botched
wording. Reported by Eric Blake.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: report useful system information in 'test-suite.log'
It has already happened various times that a user has run the
automake testsuite, experienced a failure, read the messages
telling him "See tests/test-suite.log" and "Please report to
bug-automake@gnu.org", and done exactly that -- sending us only
the contents of `tests/test-suite.log', which are usually not
enough to start debugging the reported failure. So we have to
ask him for more details, and usually also for the `config.log'
file generated by configure. It's time to fix this recurring
feedback inefficiency. We do so by creating a dummy test case
that takes care of copying the contents of `config.log', plus
other useful system information, in the final `test-suite.log'.
* tests/get-sysconf.test: New test, gathering system information
and then always terminating with a SKIP, so that its output gets
copied in `test-suite.log'.
* tests/Makefile.am (TESTS): Add it.
2011-12-07 Reuben Thomas <rrt@sc3d.org> (tiny change)
python: remove relics for Python 1.5 support
* m4/python.m4: The comments in here claim to support only
Python >= 2.0, yet this file still has specific support for
Python 1.5. Just remove it, python 1.5 is 12 years old now,
and practically defunct.
* NEWS: Update.
See also commit `Release-1-10-205-gd5bec12', "Support for
Python 3.0, drop support for pre-2.0."
2011-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: remove extraneous 'eval's from AM_RUN_LOG invocations
* configure.ac: Remove extra 'eval's from AM_RUN_LOG invocations;
for example, instead of "AM_RUN_LOG([eval $PERL --version])",
simply use "AM_RUN_LOG([$PERL --version])"
2011-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: report TeX version in config.log
* configure.ac: If possible, report the version of the selected
TeX program; this should render the logs more informative.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: snapshots from `maint' are still development snapshots
The maintenance-oriented development line in the `maint' branch,
while being usually pretty stable and 99% backward-compatible,
is not always right off production-quality; but until now, the
Automake package version declared in configure.ac hid this fact,
since it appeared to be the version of a stable release (e.g.,
11.1). Fix this.
* configure.ac (AC_INIT): Bump version to "1.11.0a".
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: print proper message for test releases
* configure.ac: If the current release is detected to be a test
release or a development snapshot, print a proper warning for
the user.
* README-alpha: Delete, it's obsolete now (and in fact this file
hasn't been touched in eleven years, since release 1.4b or so).
* HACKING (Release procedure): Don't say to update README-alpha.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
devel: help in comparing Makefile.in from different commits
Now that the generated Makefile.in, configure and aclocal.m4 files
are no longer committed in Automake's git repository, a simple
"git diff" or "git log" no longer shows if and how a change in
Automake results in changes to the Makefile.in files and/or
configure script of its own build system. Still, the ability to
peek so easily at such differences has proved itself quite useful
in the past, often revealing inconsistencies and blunders, and
sometimes even bugs; so it would be a pity to lose that altogether.
With this change, we add a new maintainer recipe that re-introduces
much of that capability, by generating and comparing on the fly the
Makefile.in, configure and aclocal.m4 derived from two arbitrary
commits of the Automake repository.
* Makefile.am (autodiffs, compare-autodiffs): New phony targets.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
repo: don't commit generated files in the git repository anymore
It has been quite some time since autoconf and libtool have stopped
committing the generated autotools files in their git repositories,
with no significant ill effects we're aware of. It's true that the
autoconf bootstrap process has now the minor annoyance that a
pre-installed autoconf is required to complete it; but luckily
automake will not have a similar annoyance, since our bootstrap
script take care, through some hoops, to use the very automake and
aclocal versions from the current git checkout to generate the
required aclocal.m4 and Makefile.in files. In fact, this has been
a necessity also in the past, because automake has been known to
use in its own build system new development features that hadn't
been present in any previously released automake distribution.
* .gitignore: Ignore configure, aclocal.m4, and all the
Makefile.in files.
* configure.ac (AC_PREREQ): New macro call, to require the
latest autoconf (2.68 for the moment).
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
missing: don't try to re-run tar with a munged command line
* lib/missing: If the default `tar' program fails with the given
arguments, and GNU tar is not available, don't try to re-run the
default `tar' with a munged command line (e.g., ditching possibly
unportable options), as that could be subtly alter the intended
semantics (and maybe even create a somewhat corrupted tarball).
Also, it's worth noting that the main purpose of the `missing'
script is to allow a non-developer to build the package in the
face of slightly-skewed timestamps, not to provide wrappers for
all the maintainer tools -- so we don't have to try too hard
when `missing' is just called to wrap `tar'.
* tests/missing-tar.test: New test.
* tests/Makefile.am (TESTS): Add it.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
missing: inform the user if GNU tar is called
* lib/missing: If the code trying to run GNU tar is reached, it
means that the previous attempt to run the default tar program
has failed, very likely producing some error message. At this
point, just running GNU tar without further comments might be
confusing.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
missing: if GNU tar exists but fails when called, give up
* lib/missing: If the code trying to run GNU tar is reached,
don't continue if the invoked GNU tar program fails, as there
is little point in doing so (and can even be confusing and
counter-productive).
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
missing: miscellaneous fixlets
* lib/missing: Some shells, such as Solaris or FreeBSD /bin/sh,
warn about missing programs before performing redirections.
Therefore, where we have to silently check whether a program
exists, perform redirections on a subshell.
Remove redundant uses of double-quotes in variable definitions.
Delete an extra blank line.
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: remove executable bit from automake.in
* automake.in: This file is not meant to be executed, only to
be preprocessed to create the `automake' script; so don't leave
it executable.
2011-12-20 Peter Rosin <peda@lysator.liu.se>
tests: fix spurious failure on systems lacking unistd.h
This is for automake bug#10324.
* tests/silent-lex-generic.test (foo.l): Add a dummy #define of
YY_NO_UNISTD_H, so that the generated foo.c file won't require
unistd.h to be present (it is not present when compiling with,
e.g., MSVC 9).
2011-12-20 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure on MSYS/MinGW and Cygwin
* tests/primary-prefix-couples-force-valid.test (Makefile.am):
Correctly append $(EXEEXT) to the path of built binaries.
2011-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: hack to support autoconf-wrapper programs
* tests/defs-static.in ($AUTOCONF): Add a dummy `-B' option to the
autoconf invocation, so that, when the Debian autoconf wrapper is
involved, it will correctly dispatch an autoconf >= 2.50 instead of
defaulting to autoconf 2.13.
($AUTOHEADER, $AUTORECONF): Likewise, but for autoheader and
autoreconf respectively.
Reported by Bruno Haible:
<http://lists.gnu.org/archive/html/automake/2011-12/msg00039.html>
2011-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a minor spurious failure with FreeBSD make
* tests/remake-am-pr10111.test: Avoid using `#' comments in
makefile recipes, as these have been confusing FreeBSD make.
The failure was masked by the fact that this test is currently
expected to fail.
Suggested by a report from Bruno Haible.
2011-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: make two test scripts executable
* tests/remake-am-pr10111.test: Make executable.
* tests/remake-m4-pr10111.test: Likewise.
2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc/lex tests: remove an unneeded workaround for bug#8485
* tests/yacc-d-cxx.test: Remove the workaround previously required
to avoid spurious failures due to automake bug#8485: that bug has
been solved with commit `v1.11-512-g40c3432'.
2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc/lex tests: avoid too much failures with FreeBSD make
In various Yacc/Lex tests, we used to run "make distcheck" commands
whose value was mostly dubious, and, even when it was there, was
very, very little. The presence of these extra distchecks had two
disadvantages: it slowed down our already-too-slow testsuite even
more, and, much worse, caused a lot of extra failures with FreeBSD,
all due to automake bug#7884, which is already exposed by the test
case `yacc-dist-nobuild.test'.
We can improve this situation by simply removing "make distcheck"
calls from a few testcases, or making them conditional to the use
of GNU make.
* tests/lex-clean-cxx.test: Do not call "make distcheck".
* tests/lex-clean.test: Likewise.
* tests/yacc-clean-cxx.test: Likewise.
* tests/yacc-clean.test: Likewise.
* tests/yflags-force-override.test: Likewise.
* tests/yacc-nodist.test: Only run "make distcheck" if make
is GNU make.
2011-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint' into 'yacc-work'
* tests/silent-lex.test: Provide a dummy `yywrap()' function, to
avoid link errors on systems that doesn't provide a "lex library".
See also commit `v1.11-546-gca0ba5d'.
2011-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: reference webpages for automake mailing lists
* README: Rationalize and reorganize the (brief) description of
the automake mailing lists. In particular, instead of suggesting
the reader to write to the `-request' addresses to subscribe to
mailing lists, point him to the relevant webpages, where he can
also subscribe via a web form.
2011-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: update advice about testsuite execution
* README: Now that the automake testsuite uses the parallel-tests
driver, there is no need for the user to capture the stdout of
"make check" to determine which tests have failed: a detailed log
is automatically saved into the `tests/test-suite.log' file.
Since we are at it, improve the wording by dropping an extra
"please".
2011-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: don't reference the old homepage at sources.redhat.com
* README: Don't reference the old homepage at sources.redhat.com,
which is no longer active; reference the homepage on www.gnu.org
instead. See also automake bug#10157 and bug#10248.
* tests/README: Likewise, and remove related extra-pedantic advice
about copyright papers for test cases (we'll ask for those papers
explicitly when we think they are warranted).
2011-12-12 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: some more fixlets
* HACKING (Release Procedure): Place the list of pre-release
bootstrap-and-test commands on a line of its own, so it's easy to
select and then paste it into a terminal window.
Fix the explanation of "make git-release", as, since the previous
change, "make git-release" would simply run "make dist" rather
than "make distcheck".
Suggestion from Jim Meyering.
2011-12-12 Peter Rosin <peda@lysator.liu.se>
* NEWS: Fix typo in 'make dist-bzip2' description.
2011-12-10 Stefano Lattarini <stefano.lattarini@gmail.com>
release: don't run "make distcheck" automatically
* Makefile.am (git-dist): The developers should test extensively
before finally creating the release tarball; so don't run "make
distcheck" on their behalf here; instead ...
* HACKING (Release procedure): ... state here that "make check"
and "make distcheck" should be run before calling "make git-dist".
2011-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in 'color2.test'
* tests/color2.test: (expect-make): Add an "expect eof" directive,
so that the collected output from the spawned make program will be
displayed on stdout, as desired.
Since we are at it, also correctly remove a temporary file which
we was trying to delete using a wrong filename.
Problem introduced in merge `v1.11-1579-g8d3466c', probably by a
botched edit or conflict resolution.
2011-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in 'lex3.test'
* tests/lex3.test (foo.l): Remove duplicated definition of
`yywrap'. Problem introduced in merge `v1.11-1579-g8d3466c'.
2011-12-09 Jim Meyering <meyering@redhat.com>
Stefano Lattarini <stefano.lattarini@gmail.com>
dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings
Before the present change, automake-generated `dist-xz' rule used
a hard-coded `xz -9'. That was a problem because on this front,
xz differs from gzip and bzip2. While the latter two don't incur
any run-time decompression penalty for using a higher compression
level, specifying -9 with xz imposes a potentially fatal virtual
memory requirement on any client that wants to decompress your
tar.xz file.
People have complained that a tarball compressed with -9 cannot
be uncompressed in a low-memory environment (wrt-based embedded).
Hence, instead of defaulting to -9, which is useful only for very
large tarballs, it defaults to -e (equivalent to -6e). This
limits the default memory requirements imposed on decompressors,
yet still gives very good compression ratios.
* lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made
it impossible to override. Actually don't default to -9, either,
since that induced inordinately large virtual memory usage when
merely decompressing. Instead, use its XZ_OPT envvar, defaulting
to -e if not defined. Suggested by Lasse Collin.
(dist-bzip2): Similarly, do not hard-code -9, but do continue to
use -9 by default. Honor the BZIP2 envvar.
* NEWS: Update.
* doc/automake.texi (The Types of Distributions): Describe the
newly enabled environment variables.
2011-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
* NEWS: Fix typos, grammaros and suboptimal wording.
Reported by Jim Meyering.
2011-12-07 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: sync auxiliary files from upstream
* lib/texinfo.tex: Synced from upstream, by "make fetch".
* lib/config.guess: Likewise.
* lib/config.sub: Likewise.
2011-12-04 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
From a report 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/silent-lex-generic.test: Likewise.
* tests/silent-lex-gcc.test: Likewise.
* tests/silent-many-generic.test: Likewise.
* tests/silent-many-gcc.test: Likewise.
2011-12-04 Paul Eggert <eggert@cs.ucla.edu>
depcomp: spelling fix
* lib/depcomp (-h): Fix misspelling in usage diagnostic.
2011-11-28 Peter Rosin <peda@lysator.liu.se>
tests: fix 'distcheck-override-infodir.test' on Cygwin
* tests/distcheck-override-infodir.test (Makefile.am): Do not add
any `/' between $(DESTDIR) and the following paths. Otherwise,
when $(DESTDIR) is empty, the recipes will try to access files
with a leading double slash, which have an implementation-defined
interpretation (e.g., for Cygwin, they mean UNC paths).
2011-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: typofix in comments
* tests/remake-am-pr10111.test (Makefile.am): Fix typo in comments.
* THANKS: Update.
Reported by Krzysztof Żelechowski.
2011-11-22 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: undistributed '.am' and '.m4' files are diagnosed
The stub rules emitted to work around the "deleted header problem"
for `.m4' files (included by autoconf in e.g., configure.ac) and
for `.am' files (included by automake in e.g., Makefile.am) should
not prevent "make" from correctly complaining when such a required
file is missing from a distribution tarball.
* tests/dist-missing-am.test: New test.
* tests/dist-missing-m4.test: Likewise.
* tests/dist-missing-included-m4.test: Likewise.
* tests/Makefile.am (TESTS): Add them.
Suggestion by Ralf Wildenhues.
2011-11-22 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: required but missing '.am' and '.m4' files are diagnosed
The stub rules emitted to work around the "deleted header problem"
for `.m4' files (included by autoconf in e.g., configure.ac) and
for `.am' files (included by automake in e.g., Makefile.am) should
not prevent the remake rules from correctly erroring out when a
still-required file is missing.
* tests/deleted-am.test: New test.
* tests/deleted-m4.test: Likewise.
* tests/Makefile.am (TESTS): Add them.
2011-11-22 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: expose automake bug#10111 in the testsuite
* tests/remake-am-pr10111.test: New test, xfailing.
* tests/remake-m4-pr10111.test: Likewise.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
2011-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
texinfo: work around Solaris 10 xpg4 shell bug in install rules
* lib/am/texinfos.am (install-html-am): Use an extra variable
indirection to work around a bug in Solaris 10 /usr/xpg4/bin/sh.
Bug revealed by a failure of `txinfo21.test'. See also:
<http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
2011-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: report perl version in config.log
* configure.ac: Report the version of the selected perl interpreter
in config.log; this should render the logs more informative.
2011-11-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure with older install-info
* tests/install-info-dir.test (foo.texi): Also add proper
`@settitle', `@dircategory' and `@direntry' directive, otherwise
older versions of `install-info' (e.g., 4.8) will fail to create
the `dir' index file in ${infodir}.
Problem revealed by a failure on NetBSD 5.1.
2011-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix spurious failure in 'color2.test'
* tests/color2.test: Avoid creative quoting to avoid a spurious
failure of the `sc_tests_Exit_not_exit' maintainer check.
2011-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious error in 'uninstall-fail.test' on Solaris
* tests/uninstall-fail.test: Solaris 10 /usr/xpg4/bin/sh can add
a line number before the `:' in the error messages issued by shell
builtins. Account for that in our grepping of make output.
2011-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix typo in 'uninstall-fail.test'
* tests/uninstall-fail.test: Always use `$rm_f_is_silent_on_error'
instead of the bogus `$rm_f_is_silent_on_failure'.
2011-11-19 Paul Eggert <eggert@cs.ucla.edu>
* lib/install-sh: Spelling fix in comment.
2011-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a spurious failure of 'ltinit.test' MinGW
* tests/ltinit.test: Be laxer in grepping configure output, to
avoid spurious failures on systems which lack POSIX dynamic
linking (e.g., MinGW), or when cross-compiling for such systems.
See also commit `v1.11-855-ge9e5d4a'.
Report and suggestion from Peter Rosin.
2011-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: testsuite is now safe to run with dmake in parallel mode
* tests/defs.in: Unset variables DMAKE_CHILD, DMAKE_DEF_PRINTED
and DMAKE_MAX_JOBS, which are exported by Solaris dmake when run
in parallel mode, and which might confuse make processes spawned
by our testsuite.
2011-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures w.r.t. parallel make and colorization
* tests/color2.test: Skip the test if the $MAKE program fails to
consider the standard output as a tty when spawned by `expect'.
This is required for make implementations, like FreeBSD make and
Solaris dmake, that redirect the output of recipes to temporary
files or pipes when run in parallel mode. Since we are at it,
simplify the detection of a working `expect' program, and throw
in other minor simplifications.
2011-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in 'distcheck-override-infodir.test'
* tests/distcheck-override-infodir.test ($required): Add
'install-info'.
2011-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid another failure of 'uninstall-fail.test' on Solaris
* tests/uninstall-fail.test: On Solaris 10, if `/bin/rm' is run
with the `-f' option, it doesn't print any error message when
failing to remove a file (due to e.g., "Permission denied").
Yikes. Cater to this incompatibility, by relaxing the test when
a faulty `rm' is detected.
2011-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: various minor tweakings, mostly related to AM_PROG_AR
* tests/alloca2.test: Ensure we don't experience a spurious failure
due to a missing `AM_PROG_AR' macro or a missing `ar-lib' auxiliary
script.
* tests/libtool4.test: Likewise.
* tests/ldadd.test: Likewise. Since we are at it, make grepping of
automake stderr stricter.
* tests/reqd2.test: Likewise.
* tests/pr211.test: Ensure automake fails also with `-Wnone', since
the error we are testing for is an hard error, not a mere warning.
* tests/syntax.test: Likewise, and ensure we don't fail to other
errors by removing use of `lib_LTLIBRARIES' in Makefile.am. Since
we are at it, make grepping of automake stderr stricter.
2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
ar-lib: fix configure output for "unrecognized archiver interface"
* m4/ar-lib.m4: Ensure that, even when an error is hit while trying
to determine the archiver interface kind, the "checking archiver
interface" message from configure is properly terminated before
an error message is printed, to avoid slightly garbled output.
* tests/ar4.test: Enhance.
* tests/ar5.test: Likewise.
2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
warnings: fix buglets for portability warnings
* lib/Automake/ChannelDefs.pm (switch_warning): Ensure the
correct implications and inter-dependencies between warnings
in the categories `portability', `extra-portability' and
`recursive-portability' are respected. Also add detailed
explicative comments, and references to the relevant tests.
* tests/dollarvar2.test: Update and extend. Also, remove
some unnecessary uses of `--force' option in automake calls.
* tests/extra-portability3.test: New test.
* tests/Makefile.am (TESTS): Add it.
2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: extend tests on 'extra-portability' warning category
* tests/extra-portability.test: Redefine `$AUTOMAKE' to ensure we
have complete control over the automake options. Extend by using
also a setup where no `portability' warning is present (only an
`extra-portability' warning is). Other minor extensions. Remove
some redundant, verbose comments about the expected diagnostic.
2011-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: various minor tweakings, mostly related to AM_PROG_AR
* tests/alloca.test: Adjust to new portability requirements due
to the new AM_PROG_AR macro.
* tests/discover.test: Likewise.
* tests/libobj3.test: Likewise.
* tests/pluseq7.test: Likewise. Also, make grepping of automake
expected error message stricter.
* tests/stdlib.test: Likewise, and extend the test a bit.
* tests/parse.test (configure.in): Remove redundant call to
AC_PROG_RANLIB.
* tests/library2.test: Adjust to new portability requirements
due to the new AM_PROG_AR macro. Also ...
(configure.in): ... add call to AC_PROG_CC, to ensure automake
really fails for the expected reason.
2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
ar-lib: fix configure output for "unrecognized archiver interface"
* m4/ar-lib.m4: Ensure that, even when an error is hit while trying
to determine the archiver interface kind, the "checking archiver
interface" message from configure is properly terminated before
an error message is printed, to avoid slightly garbled output.
* tests/ar4.test: Enhance.
* tests/ar5.test: Likewise.
2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more faithful 'installcheck' support in few tests
* tests/ar-lib5a.test: Use the `$am_scriptdir' variable instead
of "$testsrcdir/../lib" or "$top_testsrcdir/lib", to test more
faithfully under "make installcheck".
* tests/ar-lib5a.test: Likewise.
* tests/libobj-basic.test: Likewise.
* tests/libobj19.test: Likewise.
* tests/suffix5.test: Likewise.
2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
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/ar-lib2.test: Likewise.
* tests/ar-lib3.test: Likewise.
* tests/ar-lib4.test: Likewise.
* tests/ar-lib5a.test: Likewise.
* tests/ar-lib5b.test: Likewise.
* tests/ar-lib6a.test: Likewise.
* tests/ar-lib6b.test: Likewise.
* tests/ar-lib7.test: Likewise.
* tests/ar3.test: Likewise.
* tests/ar4.test: Likewise.
* tests/ar5.test: Likewise.
* tests/extra-portability.test: Likewise.
* tests/extra-portability2.test: Likewise.
* tests/extra-portability3.test: Likewise.
* tests/install-info-dir.test: Likewise.
* tests/maintmode-configure-msg.test: Likewise.
2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
generated tests: avoid extra "FIXME" comments
* tests/gen-testsuite-part: Avoid putting too much "FIXME"
comments in the generated test scripts, since they end up
being just counter-productive noise when one has to grep
the test scripts looking for real "FIXME" items.
2011-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix typo in 'prove-runner' script
* tests/prove-runner: Remove erroneously-repeated word.
* THANKS: Update.
Reported by Dave Hart.
2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'master' into testsuite-work
* tests/extra-portability.test: Use `$am_original_AUTOMAKE'
instead of the obsolete `$original_AUTOMAKE'.
* tests/extra-portability3.test: Likewise.
* tests/list-of-tests.mk: Update.
2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'msvc' into master
* tests/extra-portability3.test: Use `$original_AUTOMAKE' instead
of hackishly extracting the first component of `$AUTOMAKE'.
* tests/extra-portability.test: Likewise. Also, since we are at
it, throw in a couple of small extensions and tweakings (suggested
by the minor merge conflicts).
2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
warnings: fix buglets for portability warnings
* lib/Automake/ChannelDefs.pm (switch_warning): Ensure the
correct implications and inter-dependencies between warnings
in the categories `portability', `extra-portability' and
`recursive-portability' are respected. Also add detailed
explicative comments, and references to the relevant tests.
* tests/dollarvar2.test: Update and extend. Also, remove
some unnecessary uses of `--force' option in automake calls.
* tests/extra-portability3.test: New test.
* tests/Makefile.am (TESTS): Add it.
2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: extend tests on 'extra-portability' warning category
* tests/extra-portability.test: Redefine `$AUTOMAKE' to ensure we
have complete control over the automake options. Extend by using
also a setup where no `portability' warning is present (only an
`extra-portability' warning is). Other minor extensions. Remove
some redundant, verbose comments about the expected diagnostic.
2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: new functions to analyze configure help screen
* tests/defs (extract_configure_help, grep_configure_help): New
functions.
* tests/maintmode-configure-msg.test: Use them, reducing code
duplication and test brittleness.
* tests/help-depend.test: Likewise.
* tests/help-depend2.test: Likewise.
* tests/help-dmalloc.test: Likewise.
* tests/help-lispdir.test: Likewise.
* tests/help-multilib.test: Likewise.
* tests/help-python.test: Likewise.
* tests/help-regex.test: Likewise.
* tests/help-silent.test: Likewise.
* tests/help-upc.test: Likewise.
* tests/help-init.test: Make grepping of configure help screen
slightly stricter.
* tests/self-check-configure-help.test: New self test.
* tests/Makefile.am (TESTS): Add it.
From a report by Jim Meyering.
2011-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'master' into testsuite-work
* tests/instspc.tap: Adjust to new portability requirements
due to the new AM_PROG_AR macro.
* tests/lex-lib.test: Likewise.
* tests/extra-portability2.test: Use `$am_original_AUTOMAKE'
instead of the obsolete `$original_AUTOMAKE'.
* tests/list-of-tests.mk: Update.
2011-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: various minor tweakings, mostly related to AM_PROG_AR
* tests/alloca.test: Adjust to new portability requirements due
to the new AM_PROG_AR macro.
* tests/discover.test: Likewise.
* tests/libobj3.test: Likewise.
* tests/pluseq7.test: Likewise. Also, make grepping of automake
expected error message stricter.
* tests/stdlib.test: Likewise, and extend the test a bit.
* tests/parse.test (configure.in): Remove redundant call to
AC_PROG_RANLIB.
* tests/library2.test: Adjust to new portability requirements
due to the new AM_PROG_AR macro. Also ...
(configure.in): ... add call to AC_PROG_CC, to ensure automake
really fails for the expected reason.
2011-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'msvc' into master
* tests/instspc-tests.sh: Adjust to new portability requirements
due to the new AM_PROG_AR macro.
* tests/libobj-basic.test: Likewise.
* tests/libobj2.test: Likewise.
* tests/libobj15a.test: Likewise.
* tests/libobj15b.test: Likewise.
* tests/libobj15c.test: Likewise.
* tests/libobj16a.test: Likewise.
* tests/libobj16b.test: Likewise.
* tests/libobj17.test: Likewise.
* tests/libobj18.test: Likewise.
* tests/libobj19.test: Likewise.
* tests/libobj20a.test: Likewise.
* tests/libobj20b.test: Likewise.
* tests/libobj20c.test: Likewise.
* tests/canon6.test: Likewise.
* tests/canon6.test: Likewise.
* tests/canon7.tests: Likewise.
* tests/extra9.test: Likewise.
* tests/extradep.test: Likewise.
* tests/extradep2.test: Likewise.
* tests/posixsubst-ldadd.test: Likewise.
* tests/posixsubst-libraries.test: Likewise.
* tests/posixsubst-ltlibraries.test: Likewise.
* tests/python-virtualenv.test: Likewise.
* tests/vartypos.test: Likewise.
* tests/vartypo2.test: Likewise.
* tests/suffix.test: Update to take into account previous
master-only changes.
* tests/suffix2.test: Likewise.
* tests/libobj7.test: Call automake with the `--add-missing'
option, instead of creating a dummy `ar-lib' file, since this
test now also runs "./configure" and "make".
* tests/suffix5.test: Copy the real `ar-lib' script file,
instead of creating a dummy one, since this test now also
runs "./configure" and "make".
* tests/extra-portability2.test: Fix this test not to rely
on the older, faulty semantics of "strictness specification
always reset warning level", which has been fixed in commit
v1.11-623-g1609491 (see also automake bug#7669 a.k.a. PR/547).
Since we are at it, throw inf few other minor unrelated
improvements.
* tests/extra-portability.test: Explicitly pass `-Wall' to
automake calls, for clarity.
2011-10-21 Peter Rosin <peda@lysator.liu.se>
warnings: new 'extra-portability' category, for AM_PROG_AR
* lib/Automake/ChannelDefs.pm: Register new extra-portability
warning channel.
(switch_warning): Turn off extra-portability if portability is
turned off, and turn on portability if extra-portability is
turned on.
(set_strictness): Silence extra-portability for --gnits, --gnu
and --foreign.
* tests/extra-portability2.test: New test, checking that the
extra-portability channel is silenced by --gnits, --gnu and
--foreign.
* doc/automake.texi (Invoking Automake): Document the new warning
category and its interaction with the portability category.
* tests/extra-portability.test: New test, checking the interaction
between the portability and extra-portability warning categories.
* automake.in (handle_libraries, handle_ltlibraries): Move the
AM_PROG_AR warnings to the new extra-portability channel.
* tests/ar2.test: Adjust to the new warning channel.
* tests/pr300-lib.test: Likewise.
* tests/pr300-ltlib.test: Likewise.
* tests/pr307.test: Likewise.
* tests/pr401.test: Likewise.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
* tests/pr72.test: Likewise.
* NEWS: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-10-21 Peter Rosin <peda@lysator.liu.se>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini <stefano.lattarini@gmail.com>
Add new 'AM_PROG_AR' macro, triggering the 'ar-lib' script.
* m4/ar-lib.m4: New macro AM_PROG_AR, which locates an
archiver and triggers the auxiliary 'ar-lib' script if needed.
* m4/Makefile.am (dist_m4data_DATA): Update.
* automake.in ($seen_ar): New variable.
(scan_autoconf_traces): Set it.
(handle_libraries, handle_ltlibraries): Require AM_PROG_AR for
portability.
* doc/automake.texi (Public Macros): Mention the new
'AM_PROG_AR' macro.
(Subpackages): Add AM_PROG_AR to the example.
(A Library): Adjust recommendations for AR given the new
AM_PROG_AR macro.
* All relevant tests: Adjust to new portability requirements due
to the new AM_PROG_AR macro.
* tests/ar-lib2.test: New test, checking that AM_PROG_AR triggers
install of ar-lib.
* tests/ar-lib3.test: New test, checking that lib_LIBRARIES
requires AM_PROG_AR.
* tests/ar-lib4.test: New test, checking that lib_LTLIBRARIES
requires AM_PROG_AR.
* tests/ar-lib5a.test: New test, checking that AM_PROG_AR triggers
use of ar-lib when the archiver is Microsoft lib.
* tests/ar-lib5b.test: New test, checking that AM_PROG_AR triggers
use of ar-lib when the archiver is a faked lib.
* tests/ar-lib6a.test: New test, checking the ordering of
AM_PROG_AR and LT_INIT.
* tests/ar-lib6b.test: New test, checking the ordering of
AM_PROG_AR and AC_PROG_LIBTOOL.
* tests/ar-lib7.test: New test, checking that automake warns
if ar-lib is missing.
* tests/ar3.test: New test, checking that AR and ARFLAGS may
be overridden by the user even if AM_PROG_AR is used.
* tests/ar4.test: New test, checking that AM_PROG_AR bails out
if it cannot determine the archiver interface.
* tests/ar5.test: New test, checking that AM_PROG_AR runs its
optional argument if it cannot determine the archiver interface.
* tests/defs.in: New required entry 'lib'.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
2011-11-03 Zack Weinberg <zackw@panix.com> (tiny change)
Stefano Lattarini <stefano.lattarini@gmail.com>
maint-mode: fix botched configure messages
This change fixes automake bug#9890.
* m4/maintainer.m4 (AM_MAINTAINER_MODE): Fix the "checking ..."
configure message related to the enabling/disabling of maintainer
mode.
* tests/help-maintainer.test: Renamed ...
* tests/maintmode-configure-msg.test: ... to this, and extended
to cover the fixed bug. Also, since we are at it, make grepping
of configure help screens stricter, and throw in some few other
changes to reduce code duplication and enhance readability.
* tests/Makefile.am (TESTS): Update.
* THANKS: Update with Zack's new e-mail address.
Report and initial patch by Zack Weinberg, test cases added by
Stefano Lattarini.
2011-10-23 Stefano Lattarini <stefano.lattarini@gmail.com>
info: allow user to inhibit creation/update of '${infodir}/dir'
With this change, we allow the user to request the install-info
rules not to update the `${infodir}/dir' file, by setting the
environment variable `AM_UPDATE_INFO_DIR' to the value "no".
This is especially useful to distro packagers, and is a definite
improvement over our previous hack of looking whether the
`install-info' program was the Debian or GNU version -- hack
which had been silently broken with recent versions of debian
install-info BTW (probably since dpkg 1.15.4, 2009-09-06).
This change fixes automake bug#9773. See also Debian Bug#543992.
* lib/am/texinfos.am: Don't look anymore at the output of
`install-info --version' to decide whether to use it to update
the `${infodir}/dir' or not; instead, honour the environment
variable `AM_UPDATE_INFO_DIR'.
* tests/install-info-dir.test: New test.
* tests/Makefile.am (TESTS): Add it.
* tests/defs: Also unset `AM_UPDATE_INFO_DIR', to avoid unwanted
interferences from the environment.
* doc/automake.texi (Texinfo): Update.
* NEWS: Likewise.
* THANKS: Likewise.
Report by Jonathan Nieder.
2011-10-25 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: new function 'am_keeping_testdirs', for better APIs
This change is meant to make it easier for TAP-based test scripts
to remove files left over by completed (sub)tests, while still
honoring the user-provided `$keep_testdirs' setting.
* tests/defs (am_keeping_testdirs): New function, telling whether
we should keep the test directories around, even in case of
success (by default, we don't).
(exit trap): Use it.
* tests/depmod.tap: Likewise.
* tests/instspc.tap: Likewise. Also, fix some pre-existing
"copy & paste" bugs, and a typo in comments.
2011-10-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove redundant `set -e', and other minor improvements
* tests/dejagnu-absolute-builddir.test: Do not set the `errexit'
shell flag, as it is already set by `tests/defs'.
* tests/dejagnu-relative-srcdir.test: Likewise.
* tests/dejagnu-siteexp-append.test: Likewise.
* tests/dejagnu-siteexp-useredit.test: Likewise, and fix a typo
in comments.
* tests/dejagnu-siteexp-extend.test: Likewise, and prefer the
use of `$distdir' over hard-coded `$me-1.0'. Also ...
(write_check_for): ... use `unindent' when writing from an
here-doc, for better code indentation.
2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: few improvements to some `ar-lib' related tests
* tests/ar-lib5a.test (Makefile.am): Also check that the target
library has truly been created.
(ar-lib): Use the real `ar-lib' script (mildly patched) rather
than a dummy one, to ensure better "real-life coverage". Fix
botched shebang line.
* tests/ar-lib5b.test: Extend the PATH variable to make the dummy
`lib' script accessible, instead of explicitly calling it by its
relative/absolute path.
(ar-lib): Fix botched shebang line.
(bin/lib): Likewise. Also, add explicative comments, and make
slightly stricter.
2011-10-24 Peter Rosin <peda@lysator.liu.se>
Merge branch 'maint' into msvc
* tests/subpkg-yacc.test: Adjust to new portability requirements due
to the new AM_PROG_AR macro.
2011-10-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
Suggestion by Rainer Orth.
2011-10-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2010-12-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix testsuite failure of check12.test without DejaGNU.
* tests/check12.test: Require runtest.
2010-12-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Extend and improve tests on DejaGnu support.
* tests/dejagnu.test: Do not create useless dummy test script.
Add trailing `:' command. In heading comments, add reference
to ...
* tests/check12.test: ... this new "semantic" test, covering
concurrent use of dejagnu tests, simple tests and `check-local'
target.
* tests/dejagnu2.test: Make test more reliable, by avoid weak
grepping of make output. Prefer `cat' over `echo' to append
to configure.in. Quote literal dots in grep regexps. Prefer
`grep -c ...' over `grep ... | wc -l'. Make grepping of
automake stderr slightly stricter. Add trailing `:' command.
* tests/dejagnu3.test: Prefer `cat' over `echo' to append to
configure.in. Check stderr of expected-to-fail "make" call.
Remove extra blank lines from Makefile.am.
* tests/dejagnu4.test: Prefer `cat' over `echo' to append to
configure.in. Prefer `mv -f' over plain `mv' when the target
file already exists. Avoid extra mkdir calls by creating more
directories at once. Better use of blank lines. Check that
the `*.log' and `*.sum' files are created by runtest also when
"make check" fails.
* tests/dejagnu7.test: Prefer `cat' over `echo' to append to
configure.in. Better use of blank lines. Add a trailing `:'
command.
* tests/dejagnu6.test: Likewise, and give the dejagnu test a
more descriptive name.
* tests/dejagnu5.test: Likewise. Also, simply define package
name to `$me' rather than using a non-obvious sed script to
extract it from `AC_INIT', and write the Makefile.am with only
one command.
* tests/Makefile.am (TESTS): Updated.
2011-10-21 Peter Rosin <peda@lysator.liu.se>
* THANKS: Fix whitespace issue.
2011-10-25 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-20 Jim Meyering <meyering@redhat.com>
tests: fix aclocal-print-acdir.test
* tests/aclocal-print-acdir.test: Adjust to pass.
2011-10-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-16 Stefano Lattarini <stefano.lattarini@gmail.com>
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 Дилян Палаузов.
2011-10-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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').
2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
refactor: rename a subroutine to a more proper name
* automake.in (maybe_push_require_file): Renamed ...
(push_required_file): ... to this.
All callers adjusted.
2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-11 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: conditional contents in LOG_DRIVER variables
* tests/test-driver-cond.test: New test.
* tests/Makefile.am (TESTS): Add it.
2011-10-11 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: LOG_DRIVER variables can be defined through AC_SUBST
* tests/test-driver-acsubst.test: New test.
* tests/Makefile.am (TESTS): Add it.
2011-10-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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. This test does
not cause any internal error in automake anymore now.
2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix spurious failure
* lib/am/distdir.am: Use `$(infodir)', not `${infodir}', to avoid
complaints from the `sc_no_brace_variable_expansions' maintainer
check.
2011-10-18 Stefano Lattarini <stefano.lattarini@gmail.com>
* tests/yacc-dist-nobuild.test: Add reference to relevant bug#7884.
2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
fix: make a test script executable
* tests/nobase-nodist.test: Make executable.
2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-10-01 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-26 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-24 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix tests on aclocal search path precedences
* tests/aclocal-path-precedence.test: Call `$ACLOCAL' with the
proper overridden system acdir.
2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-26 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: remove mention of deprecated option `--acdir'
* doc/automake.texi (aclocal Options): Remove mention of
deprecated `--acdir' option.
2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
* NEWS: Cleanup after botched merges.
2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
* NEWS: Fix typo.
2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-19 Paolo Bonzini <bonzini@gnu.org>
Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: expose automake bug#9546
* tests/test-driver-is-distributed.test: New test.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-16 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: remove special handling of `ANSI2KNR' make variable
* automake.in (define_configure_variable): Remove special-cased
handling of `ANSI2KNR' variable. Related minor simplifications.
2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: test interactions of `nobase_' and `nodist_'
* tests/nobase-nodist.test: New test.
* tests/Makefile.am (TESTS): Add it.
2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-15 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-13 Peter Rosin <peda@lysator.liu.se>
* tests/defs [$sh_errexit_works = yes]: Output 'SIGINT' for signal 2.
2011-09-13 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-13 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-13 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
2011-09-13 Stefano Lattarini <stefano.lattarini@gmail.com>
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>
2011-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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>
2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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".
2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: more environment cleanup
* tests/defs: Also unset the XFAIL_TESTS, and various
LOG_DRIVER, LOG_COMPILER variables (and corresponding
flags variable).
2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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'
2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: fix glitch in TAP version of `warn_' function
* tests/tap-functions.sh (warn_): Do not display the warning
message two times.
2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
self tests: fix spurious failures when /bin/ksh do not exists
* tests/self-check-reexec.test: Ensure that the non-bash shells
we look do really exists. Since we are at it, also try the name
`ash', non `dash', for the Almquist Shell, for Cygwin 1.5.
2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more use of TAP in our own testsuite
* tests/parallel-tests-interrupt.test: Renamed ...
* tests/parallel-tests-interrupt.tap: ... to this, and converted
to the use of TAP protocol.
* tests/self-check-cleanup.test: Renamed ...
* tests/self-check-cleanup.tap: ... to this, and converted to the
use of TAP protocol.
* tests/self-check-dir.test: Renamed ...
* tests/self-check-dir.tap: ... to this, and converted to the use
of TAP protocol.
* tests/self-check-is_newest.test: Renamed ...
* tests/self-check-is_newest.tap: ... to this, and converted to
the use of TAP protocol.
* tests/self-check-unindent.test: Renamed ...
* tests/self-check-unindent.tap: ... to this, and converted to
the use of TAP protocol.
* tests/list-of-tests.mk: Update.
2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
self tests: sanity check on 'is_blocked_signal' function
* tests/self-check-is-blocked-signal.tap: New test.
* tests/list-of-tests.mk: Update.
2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures due to ignored signals
* tests/defs (is_blocked_signal): New function.
* tests/parallel-tests-interrupt.test: Do not try to use/trap
signals that are ignored by the parent shell: they will be
ignored by all the child processes too.
* tests/self-check-exit.test: Likewise.
* tests/self-check-cleanup.test: Likewise, and do few minor
improvements and extensions since we are at it.
2011-09-05 Peter Rosin <peda@lysator.liu.se>
* tests/amhello-binpkg.test: Add missing $EXEEXT usage.
2011-09-04 Stefano Lattarini <stefano.lattarini@gmail.com>
fix: list test 'vala-vpath.test' in XFAIL_TESTS
* tests/Makefile.am (XFAIL_TESTS): Update.
2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: simplify wrapper for aclocal
* tests/aclocal.in: Remove use of $ACLOCAL_TESTSUITE_FLAGS and
extra `-I' flags; they are not really required, since the file
`m4/amversion.m4' is generated in the srcdir anyway.
* tests/acloca10.test: Remove use of $ACLOCAL_TESTSUITE_FLAGS.
* tests/acloca18.test: Likewise.
* tests/defs.in: Don't nullify $ACLOCAL_TESTSUITE_FLAGS, and do
not export it.
2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove redundant settings of `errexit' shell flag
* doc-parsing-buglets-colneq-subst.test: Do not set the
`errexit' shell flag, as it is already set by `tests/defs'.
* doc-parsing-buglets-tabs.test: Likewise.
* java-empty-classpath.test: Likewise.
* vala-vpath.test: Likewise.
2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more uses of `$top_testsrcdir', in the `amhello' tests
* tests/amhello-binpkg.test: Use `$top_testsrcdir' instead
of `$testsrcdir/..'.
* tests/amhello-cflags.test: Likewise.
* tests/amhello-cross-compile.test: Likewise.
2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid creating useless files in the `amhello' tests
* tests/amhello-binpkg.test: Define `$am_create_testdir' to
"empty" before sourcing ./defs, to avoid bringing in unused
auxiliary files.
* tests/amhello-cflags.test: Likewise.
* tests/amhello-cross-compile.test: Likewise.
2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: vala support failing for VPATH from-scratch builds
* tests/vala-vpath.test: New test, xfailing.
* tests/Makefile.am (TESTS): Update.
* THANKS: Update.
From a report by Zbigniew Jędrzejewski-Szmek.
Related to automake bug#8753.
2011-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: report few more automake parsing limitations
Partly motivated by automake bug#8360.
* doc/automake.texi (General Operation): Report few more automake
limitations w.r.t. parsing of unusual makefile constructs. Related
minor reorderings.
* tests/doc-parsing-buglets-colneq-subst.test: New test.
* tests/doc-parsing-buglets-tabs.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: fix regression due to de-ansification support removal
The last change `v1.11-947-g136b489' removed code that automake
was using to decide whether binary objects were built by the
generated Makefile.in, so that it could avoid to emit unneeded
code when this was not the case. Re-introduce such code in a
less-obfuscated form, and add a test to ensure we don't regress
again.
* automake.in ($must_handle_compiled_objects): New global
variable, telling whether the generated Makefile has to build
compiled objects.
(initialize_per_input): Reset it.
(handle_programs, handle_libraries, handle_ltlibraries): Set
it to a true value when required.
(handle_compile): Don't generate any code if the variable
`$must_handle_compiled_objects' is not set to a true value.
* tests/no-extra-makefile-code.test: New test.
* tests/Makefile.am (TESTS): Add it.
2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: cleanups after de-ansification support removal (2)
* automake.in ($get_object_extension_was_run): Remove, it's not
really needed anymore.
(&get_object_extension): Remove, it's a no-op now.
All callers adjusted.
2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: cleanups after de-ansification support removal (1)
* automake.in (lang_c_rewrite, handle_single_transform): Rename
variable `$nonansi_obj' to `$obj'.
2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
ansi: remove obsolete code/files for de-ANSI-fication support
* lib/ansi2knr.1, lib/ansi2knr.c: Deleted.
* lib/Makefile.am (dist_pkgvdata_DATA): Do not list them anymore.
* lib/am/ansi2knr.am: Delete.
* lib/am/Makefile.am (dist_am_DATA): Do not list it anymore.
* lib/Automake/Variable.pm (%_am_macro_for_var): Remove entries for
`ANSI2KNR' and `U'.
* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Don't care anymore
about possible definition of the `$U' variable.
* automake.in (@common_files): Drop `ansi2knr.1' and `ansi2knr.c'.
(struct): Remove scalar field `ansi'.
All callers adjusted.
(&lang_c_finish, %de_ansi_files): Remove, they're not required
anymore.
All callers adjusted.
($get_object_extension_was_run): Fix typo in comment.
(&get_object_extension): Drop code dealing with de-ansification;
this function basically a no-op now, but is required to properly
initialize `$get_object_extension_was_run' variable.
(&handle_languages, &handle_compile, &lang_c_rewrite): Drop code
dealing with de-ansification.
2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
ansi: reject attempts to use automatic de-ANSI-fication support
* tests/protos.m4 (AM_C_PROTOTYPES): Error out whenever called.
* lib/Automake/Options.pm (_process_option_list ): Error out
with a proper error message when the `ansi2knr' option is used.
Related updates to comments.
* tests/depacl2.test: Update.
* tests/ansi2knr-no-more.test: New test.
* tests/Makefile.am (TESTS): Add it.
* NEWS: Update.
2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove tests about obsolete de-ANSI-fication support
* tests/ansi.test: Delete.
* tests/ansi10.test: Likewise.
* tests/ansi2.test: Likewise.
* tests/ansi2knr-deprecation.test: Likewise.
* tests/ansi3.test: Likewise.
* tests/ansi3b.test: Likewise.
* tests/ansi4.test: Likewise.
* tests/ansi5.test: Likewise.
* tests/ansi6.test: Likewise.
* tests/ansi7.test: Likewise.
* tests/ansi8.test: Likewise.
* tests/ansi9.test: Likewise.
* tests/cxxansi.test: Likewise.
* tests/libobj8.test: Likewise.
* tests/subobj3.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: remove description of de-ANSI-fication support from manual
* doc/automake.texi (Auxiliary Programs): Remove mention of
`ansi2knr.c' and `ansi2knr.1'.
(Obsolete Macros): Remove mention of `AM_C_PROTOTYPES'. Do not
index it nor variables `ANSI2KNR' and `U' anymore.
(List of Automake options): Remove mention of `ansi2knr' option,
and obsolete entries for concept and option indexes.
(Optional): Remove entry about `AM_C_PROTOTYPES'.
(@c LocalWords): Remove `ansi' and `knr'.
(@menu, @detailmenu): Remove entries about de-ANSI-fication
support.
2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: better respect of TAP usage in wrapped tests
* tests/gen-wrap-tests: Partial rewrite to take into account the
possibility that the wrapped test uses the TAP protocol. This
complicates the code quite a bit, but is essential to ensure real
correctness in all the wrapped scripts.
* tests/wrap-tests.sh: Update, and add few more sanity checks.
2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: use both perl and awk implementations for tests on TAP
* tests/gen-wrap-tests (get_list_for_pltap): New function, gets
the list of tests that check the Automake TAP support.
($defines_for_pltap): New variable.
($wrapper_type_list): Add "pltap".
* tests/defs-static.in: Check that `$am_tap_implementation' is
not exported in the environment.
* tests/self-check-env-sanitize.tap: Update.
2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: two single auxiliary scripts to run/generate wrapped tests
* tests/config-shell-tests.sh, tests/parallel-tests.sh,
tests/gen-config-shell-tests, tests/gen-parallel-tests: Deleted,
their roles taken over by ...
* tests/wrap-tests.sh, tests/gen-wrap-tests: ... these new more
general scripts.
* tests/Makefile.am (EXTRA_DIST): Distribute the new scripts, and
do not distribute the obsolete ones anymore.
($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am): Do
not include nor generate anymore, they have been superseded by ...
($(srcdir)/wrap-tests.am): ... this new fragment, automatically
generated by `gen-wrap-tests'.
(PTEST_LOG_COMPILER, SHTST_LOG_COMPILER): Delete, they are now
defined in the new `wrap-tests.am' makefile fragment.
(TEST_EXTENSIONS): Do not append to it anymore, that is now done
by the new `wrap-tests.am' makefile fragment above.
($(parallel_tests:.ptest=.log), $(config_shell_tests:.shtst=.log),
$(parallel_tests), $(config_shell_tests): Remove this dependencies,
superseded by ...
($(wrap_TESTS), $(wrap_LOGS)): ... these ones.
(MAINTAINERCLEANFILES): Delete, it's not used anymore.
(TESTS): Do not contain anymore `$(config_shell_tests)' nor
`$(parallel_tests)', contain `$(wrap_TESTS)' instead, as defined
by `$(srcdir)/wrap-tests.am'.
Other related minor edits and reorderings.
* bootstrap, tests/.gitignore, tests/README: Update.
2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: list of tests placed in a separate Makefile fragment
This change allows us to easily use make instead of by-hand (and
more fragile) grepping to extract the list of hand-written tests
from our Makefiles.
* bootstrap (BOOTSTRAP_MAKE): New variable.
Use it to run make in order to extract the list of hand-written
tests from ...
* tests/list-of-tests.mk: ... this new file, where they are
listed in ...
(handwritten_TESTS, tap_with_common_setup_TESTS, tap_other_TESTS):
... these variables, extracted respectively from ...
* tests/Makefile.am (handwritten_tests, tap_other_tests,
tap_with_common_setup_tests): ... these older variables, now
removed.
(EXTRA_DIST, expected_list_of_tests): Update w.r.t. the variable
names' changes.
(include $(srcdir)/list-of-tests.mk): New inclusion.
Remove an overkill indirection, and with it ...
(tap_with_common_setup_logs): ... this variable.
($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am):
Update to match the new interface of ...
(gen-parallel-tests, gen-config-shell-tests): ... these scripts,
that now read the list of tests from the standard input.
2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: prefer AM_... variables to user-reserved ones in Makefile
* tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Renamed ...
(AM_TAP_LOG_DRIVER_FLAGS): ... to this.
2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: some minor fixlets w.r.t. TAP-based tests
The variable that is used by our test scripts to decide whether
they are "plain" or TAP-based is `using_tap'; however, some
peripheral sanity checks and sanitization code in our testsuite
were erroneously using the `use_tap' variable instead. Fix that.
* tests/Makefile.am (AM_TESTS_ENVIRONMENT): Nullify `using_tap',
not `use_tap'.
* tests/defs-static.in: Check that `using_tap', not `use_tap',
is not exported.
* tests/self-check-env-sanitize.test: Update.
2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid re-running a test with the 'parallel-tests' option
* tests/backcompat5.test (parallel_tests): Define to "no", to
prevent the generation of a sibling test script that uses the
'parallel-tests' driver. That would be useless anyway, since
we manually override the contents of configure.in, thus clobbering
the `parallel-tests' option in AM_INIT_AUTOMAKE.
Fix a typo in comments since we are at it.
2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: defaults to awk+shell driver in tests on TAP support
* tests/defs ($am_tap_implementation): Default to "shell", not
to "perl".
2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: list "forgotten" test script in TESTS
* tests/Makefile.am (TESTS): Also list ...
* tests/java-empty-classpath.test: ... this test. Since we are
at it, remove trailing whitespace from a couple of lines.
2011-08-25 Eric Blake <eblake@redhat.com>
ylwrap: fix unusual indentation whitespace
* lib/ylwrap: Convert tabs to spaces.
Reported by Karl Berry.
2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: different test scripts cannot share the same basename
If two test scripts have the same basename, they will end up
sharing the same log file, leading to all sort of undefined and
undesired behaviours. Add a Makefile check verifying that this
is not the case.
* tests/test-logs-repeated.test: New test, verifying previously
unspecified semantics (in the definition of $(TEST_LOGS) from
$(TESTS)) that we use in our new check.
* tests/Makefile.am (TESTS): Update.
(check-no-repeated-test-name): New .PHONY check.
(check-local): Depend on it.
2011-08-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure for awk implementation of TAP driver
* tests/tap-realtime.test: The awk+shell implementation of the TAP
driver must "read ahead" of one line in order to catch the exit
status of the test script it runs. So, in the TAP-producer script
here, be sure to echo one "dummy" line after each TAP result line
in order not to cause false positives.
2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/awk: allow escaping of TAP directives
* lib/tap-driver.sh (setup_result_obj): Handle escaping of TAP
directives in a way tat is (mostly) compatible by what is done
by the TAP::Parser module.
With this change, the tests `tap-escape-directive.test' and
`tap-escape-directive-2.test' now also pass with the shell/awk
implementation of the TAP driver.
2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: more about escaping of TAP directives
* tests/tap-escape-directive.test: Make grepping of testsuite
progress output slightly stricter.
* tests/tap-escape-directive-2.test: New test (failing with the
awk implementation of the TAP driver).
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: improve syncing between awk+shell and perl implementations
* lib/tap-driver.pl (stringify_test_result): Renamed ...
(stringify_result_obj): ... to this. Break up a clause in the
long "if/elsif/.../else" construct to avoid unaesthetic line
breaks and to be more synced with the sibling function in
`tap-driver.sh'. Rename the `$result', `$PASS' and `$FAIL'
variables to respectively `$result_obj', `$COOKED_PASS' and
`$COOKED_FAIL', for clarity and better syncing.
(handle_tap_test): Renamed ...
(handle_tap_result): ... to this, and change the name of the
`$test' local variable to `$result_obj'.
(extract_comment): Reimplement using the simpler `index' and
`substr' builtins, rather than with more advanced uses of
regular expressions.
(%test_results, @test_results): Renamed respectively ...
(%test_results_seen, @test_results_list): ... to these, and
related adjustments throughout the `TEST_RESULTS' block.
(main, get_global_test_result): Refactor and do some cosmetic
changes to make these functions clearer and better synced with
sibling code in `tap-driver.sh'.
Other minor cosmetic and typo fixes.
* lib/tap-driver.sh (extract_tap_comment): Remove outdated
"FIXME" comments.
(get_global_test_result): Small reordering to make it better
synced with its sibling function in `tap-driver.pl'.
(stringify_result_obj): Consistently use `result_obj' as the
parameter name.
Other minor cosmetic and typo fixes.
2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/perl: don't redirect perl warnings/errors to log files
With this change, the test `tap-driver-stderr.test' also passes
with the perl implementation of the TAP driver.
* lib/tap-driver.pl (start): Save the original stderr into the
`OLDERR' file handle, and call ...
(trap_perl_warnings_and_errors): ... this new function, trapping
the `__WARN__' and `__DIE__' "pseudo-signals" to ensure that the
warning and error messages goes to that original stderr stream.
Since we are at it, be sure to prepend all possible "die" message
with the name of the script as given by the `$ME' variable.
2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/perl: add copyright notice, version string, and emacs stuff
* lib/tap-driver.pl: Add proper copyright notice and bug reporting
address. Remove obsolete heading comments. Add trailing comments
for emacs w.r.t. code-formatting rules and automatic updating of
the date-based script version saved into the `$VERSION' variable.
($VERSION): Define to the current UTC date.
2011-08-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/awk: don't redirect awk stderr to log files
* lib/tap-driver.sh: Handle the file descriptors redirections
more smartly, to avoid sending error messages from awk (about
e.g. syntax or I/O errors) to the log files instead that to the
console.
* tests/tap-driver-stderr.test: New test, verifying the improved
driver behaviour. Notice that this test still fails when using
the perl implementation of the TAP driver.
* tests/Makefile.am (tap_other_tests): Update.
2011-08-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/awk: remove obsolete "FIXME" comment
* lib/tap-driver.sh: Remove obsolete "FIXME" comment about our
driver losing the exit status of the tested program; this issue
has been solved in precedent commit `v1.11-1052-gd630a0d'. Fix
an unrelated typo in comments since we are at it.
2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: avoid spurious failure on Solaris
* tests/tap-signal.test (signal_caught): Fix a regression from
commit `v1.11-1052-gd630a0d' that was causing this test to fail
spuriously on Solaris (due to an already worked-around Solaris
/bin/sh bug, see commit `v1.11-981-g0ef3ef5').
2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: use the new awk+shell TAP driver in our own testsuite
* tests/Makefile.am (TAP_LOG_DRIVER): Redefine to use the new
awk+shell tap driver, which should be complete enough for use in
a "controlled" production environment.
2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/awk: handle non-zero exit status from the test command
* lib/tap-driver.sh (get_test_exit_message): New function in the
awk script, used to extract the exit status of the test program,
or at least a good guess of it.
(write_test_results): Use it, reporting an ERROR result if it
detects that the test program exited with a non-zero status.
* tests/tap-signal.test: Account for the differences in the
error messages generated by the awk and perl TAP drivers. Fix
an unrelated typo in comments since we are at it.
2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/awk: prepare to fetch the exit status of the test command
* lib/tap-driver.sh: Rewrite some logic in the main parsing loop,
to make it possible to read the exit status of the test command
from the last line of the input stream.
2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/awk: refactor for future changes
* lib/tap-driver.sh: Rewrite the awk script so that the parsing
of the input stream is implemented as a hand-rolled loop in the
BEGIN block, using the `getline' builtin.
2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: avoid spurious failure if rst2html program is missing
* tests/tap-html.test ($required): Require `rst2html'.
2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/awk: support Solaris /usr/xpg4/bin/awk
* lib/tap-driver.sh: Use `\t', not `\\t', to represent tabulation
character in regexps, even when inside double-quoted strings; that
seems to be more portable to Solaris 10 XPG4 awk.
2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/awk: support Solaris /usr/bin/nawk
* lib/tap-driver.sh (close_or_die): Remove, the use of the `close'
builtin in there was confusing /usr/bin/nawk from Solaris 10 into
a syntax error.
(write_test_results): Simply use `close' on the `*.trs' file, that
should be enough.
2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/awk: correctly extract message from SKIP plans
* lib/tap-driver.sh (/^1\.\.0+[ \t]*#/): Add a forgotten `?' to
the regex used to extract the skip message from a "1..0" TAP plan.
* tests/planskip.test: Check for the just-fixed bug.
* tests/tap-planskip-unplanned-corner.test: Don't be too strict
w.r.t. the formatting of the "skip whole test" message, to avoid
failing due to bugs irrelevant for this test (like the one just
fixed).
2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/awk: support colorized output
* lib/tap-driver.sh: Pass definition of colors to the BEGIN block
of the awk script, using ...
($init_colors): ... this new variable, which supersedes ...
($red, $grn, $lgn, $blu, $mgn, $std): ... these variables, which
have been consequently removed.
($color_tests): We don't have to pass this anymore to the awk
script, so do not convert it to a numeric boolean.
(decorate_result): Implement for real.
With this change, the test 'tap-color.test' now passes.
2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: real (but still incomplete) awk implementation of TAP driver
* lib/tap-driver.sh: Add an incomplete, but mostly working,
implementation of a TAP parser and driver in awk. It doesn't yet
support colorized output, fetching of exit status from test
programs, nor a way to escape TAP directives in TAP result lines,
but passes all the tests of TAP support in the automake testsuite,
apart from the following ones:
- tap-color.test
- tap-escape-directive.test
- tap-exit.test
- tap-missing-plan-and-bad-exit.test
- tap-passthrough-exit.test
- tap-planskip-badexit.test
- tap-planskip-unplanned-corner.test
- tap-signal.test
Tested on Debian GNU/Linux with GNU awk 3.1.7 and 3.0.2, "original
awk" 2010-05-23-1, and mawk 1.3.3-15 (with which also the test
`tap-realtime.test' fails, in addition to those listed above).
2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fix spurious failure due to Solaris 'wc' incompatibility
* tests/tap-number-wordboundary.test ($planned): Strip any extra
whitespace from the output of `wc', to cater to Solaris 10.
2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: keyword "SKIP" in TAP plan is case-insensitive
* tests/tap-planskip-case-insensitive.test: New test.
* tests/tap-planskip.test: Remove now-duplicated checks.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: ambiguous use of TAP "TODO"/"SKIP" directives
* tests/tap-ambiguous-directive.test: New test.
* tests/tap-todo-skip-together.test: Reference it in heading
comments.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: non-directive comments in TAP results are preserved
* tests/tap-result-comment.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: TAP result number followed by non-whitespace word boundary
* tests/tap-number-wordboundary.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: a TAP result numbered "0" is always out-of-order
* tests/tap-test-number-0.test: New, checks that a test result
numbered as 0 is to be considered out-of-order; this is
consistent with the behaviour of the `prove' utility.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix botched indentation in perl TAP driver
* lib/tap-driver.pl (main, Getopt::Long::GetOptions): Fix
improper or botched indentation.
2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: some more tests on corner cases of TAP support
* tests/tap-no-spurious.test: Extend checks verifying that a line
matching, say, the regex "^ok[a-zA-Z0-9_]" is *not* considered a
TAP result.
* tests/tap-no-spurious-numbers.test: New test, checking that our
TAP driver doesn't spuriously recognize as TAP result numbers what
is not (even if it seems pretty close).
* tests/tap-negative-numbers.test: New test, checking that our
TAP driver doesn't spuriously recognize negative TAP result
numbers, but correctly interprets them as test descriptions
instead.
* tests/tap-plan-leading-zero.test, tap-numbers-leading-zero.test:
New tests, checking how our driver fares in recognizing numbers
with leading zeroes in TAP results or TAP plans.
* tests/tap-planskip-malformed.test: New test, checking that a
malformed TAP plan is not recognized as a valid plan.
* tests/tap-plan-whitespace.test: New test, checking that a TAP
plan line with trailing whitespace is recognized and handled
correctly.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-19 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: various fixlets and tweakings
* tests/seenc.test: Make grepping of automake stderr stricter.
Add a trailing `:' command.
* tests/symlink.test: Likewise. Also, define `$am_create_testdir'
to "empty" to avoid bringing in unused auxiliary files (only to
have to remove them right away), and use proper m4 quoting in
`configure.in'.
* tests/vpath.test: Make grepping of generated `Makefile.in'
slightly stricter. Prefer trailing `:' over trailing `Exit 0'.
* tests/suffix6c.test: Unset OBJEXT to avoid interferences from
the environment.
* tests/suffix12.test: Do not whitespace-indent `##' comments
when they are embedded in a makefile rule: having them indented
is not part of the Automake API, and might cause failures with
e.g., Tru64 make.
* tests/syntax.test: Simplify the `Makefile.am' to ensure that
automake doesn't fail for the wrong reasons. Make grepping of
automake stderr slightly stricter.
* tests/test-harness-vpath-rewrite.test: Remove useless variable
definition from `Makefile.am'.
* tests/test-driver-custom-multitest.test: Fix typo in comments.
* tests/self-check-me.tap: Fix minor typo in test description.
* tests/vars3.test: Make grepping of automake stderr stricter
and safer.
* tests/version6.test: Add sanity check, verifying that the
version number extracted from `automake --version' output seems
legit.
* tests/auxdir2.test: Renamed ...
* tests/auxdir-compauted.tap: ... to this, and converted to the
use of TAP.
* tests/auxdir4.test: Renamed ...
* tests/auxdir-unportable.tap: ... to this, and converted to the
use of TAP.
* tests/auxdir3.test: Renamed ...
* tests/auxdir-misplaced.test: ... to this.
* tests/auxdir5.test: Renamed ...
* tests/auxdir-nonexistent.test: ... to this.
* tests/auxdir9.test: Renamed ...
* tests/auxdir-autodetect.test: ... to this.
* tests/Makefile.am (TESTS): Update.
(XFAIL_TESTS): Remove `auxdir2.test'.
2011-08-19 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fix some redundant autotools calls in tests on TAP
* tests/tap-deps.test: Do not call autotools and configure; there
is no need to, since this script sources `tap-setup.sh'.
* tests/tap-empty-diagnostic.test: Likewise.
* tests/tap-escape-directive.test: Likewise.
* tests/tap-fancy2.test: Likewise.
* tests/tap-no-spurious.test: Likewise.
* tests/tap-out-of-order.test: Likewise.
2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
* THANKS (Daniel Richard G.): Update e-mail address.
2011-08-16 Daniel Richard G. <skunk@iskunk.org> (tiny change)
Stefano Lattarini <stefano.lattarini@gmail.com>
java: avoid compilation errors when CLASSPATH is empty
* lib/am/java.am (CLASSPATH_ENV): When redefining `$CLASSPATH',
do not append an empty component in case the previous value of
CLASSPATH is empty or unset.
* tests/java-empty-classpath.test: New test.
* tests/Makefile.am (TESTS): Update.
Fixes automake bug#9306.
2011-08-16 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: no more spurious successes for FreeBSD make
Work around a bug of FreeBSD make bug that was causing the
automake-generated "check" target to complete with success
even if some tests failed; this happened only when FreeBSD
make was run in concurrent mode (as in, e.g., "make -j2
check"). The bug is not present in NetBSD make.
This change fixes automake bug#9245:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>
See also FreeBSD PR bin/159730:
<http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>
* lib/am/check.am [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Use a
more "safe" (and apparently redundant) idiom to exit with error,
so that the non-zero exit status is picked up also by FreeBSD
make when it's running in concurrent mode.
* NEWS: Update.
* tests/check-concurrency-bug9245.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-08-11 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: we now require autoconf 2.68
* HACKING ("Working in git"): Use autoconf and autom4te 2.68,
not 2.67, in the examples.
2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: improve granularity for tests on problematic TAP messages
* tests/tap-message-0.test: Break up into ...
* tests/tap-msg0-result.test, tests/tap-msg0-directive.test,
tests/tap-msg0-planskip.test, tests/tap-msg0-misc.test,
tests/tap-msg0-bailout.test: ... these new tests, and extend
a little.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: correctly handle string "0" in TAP messages
* lib/tap-driver.pl (is_null_string): New function, can be used
to determine whether a given string variable is empty or undefined.
Useful to avoid pitfalls like:
if ($message) { print "$message\n"; }
which wouldn't print anything if $message is the literal "0".
(handle_tap_test, handle_tap_plan, handle_tap_bailout): Use it,
to avoid missing messages composed only by a literal "0" in TAP
result descriptions and in skip, todo and bailout explanations.
* tests/tap-message-0.test: Enhance.
* tests/Makefile.am (XFAIL_TESTS): Remove it, it passes now.
2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: a minor simplification in the perl TAP driver
* lib/tap-driver.pl: The `--disable-hard-errors' option is a
no-op, so just ignore it and its argument.
2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: fix help screen for test driver scripts
* lib/tap-driver.pl ($USAGE): The `--trs-file' option is mandatory
too.
* lib/tap-driver.sh (print_usage): Likewise.
* lib/test-driver (print_usage): Likewise.
($scriptversion): Update.
2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: add a dummy TAP driver script implemented in shell + awk
The user can also now decide which implementation of the TAP driver
to use in the testsuite by defining the `$am_tap_implementation'
variable to either "perl" or "shell". Future enhancements will
allow the testsuite to automatically run the test scripts on TAP
support with both the TAP driver implementations, to improve
coverage.
* tests/defs (fetch_tap_driver): Honor the `$am_tap_implementation'
variable to decide which implementation of the TAP driver to fetch.
($am_tap_implementation): Default to "perl".
* tests/tap-common-setup.test: Do not fetch the TAP driver, the
code in tap-setup.sh does that already (and respecting runtime
overriding of `$am_tap_implementation').
* lib/tap-driver: Renamed ...
* lib/tap-driver.pl: ... to this, and ...
($ME): ... adjusted this.
* doc/automake.texi: Adjust to the renaming.
* tests/Makefile.am (TAP_LOG_DRIVER): Likewise.
* tests/tap-doc2.test: Likewise.
* lib/tap-driver.sh: New script, still mostly dummy.
* lib/Makefile.am (dist_script_DATA): Update, and since we are at
it, rewrite it to make it easier to add new entries in the future.
2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: refactor tests on TAP support in view of future changes
* tests/defs (fetch_tap_driver): New subroutine; it fetches the
automake-provided TAP driver from the `lib/' directory into the
current directory, and edits its shebang line so that it will be
run with the perl interpreter determined at configure time.
* tests/tap-setup.sh: Use it.
* tests/tap-common-setup.test: There's no need to AC_SUBST `PERL'
anymore, nor to use it in the Makefile to run the TAP driver.
Also, use the `fetch_tap_driver' function instead of copying the
`tap-driver' auxiliary script directly.
* tests/tap-bad-prog.tap: Likewise.
* tests/tap-diagnostic-custom.test: Likewise.
* tests/tap-doc.test: Likewise.
* tests/tap-merge-stdout-stderr.test: Likewise.
* tests/tap-more.test: Likewise.
* tests/tap-more2.test: Likewise.
* tests/tap-recheck.test: Likewise.
* tests/tap-summary-aux.sh: Likewise.
* tests/tap-basic.test: Likewise, and fix a grammaro in comments
since we are at it.
2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: fix typo in comments
* tests/defs (get_shell_script): Fix typo in the function
description.
2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: missing tap plan and non-zero exit status
* tests/tap-missing-plan-and-bad-exit.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fix an unportable use of sed
* tests/tap-todo-skip-whitespace.test: Alternation with "\|" in
sed regular expressions is not portable to (at least) FreeBSD
sed; do not use it.
2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: avoid spurious failure if rst2html program is missing
* tests/test-driver-custom-no-html.test: Account for the
possibility of a lacking `rst2html' program in our final
grepping of make output.
2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: improve diagnosing and reporting of plan mismatches
Problem exposed by a failure in the test 'tap-plan-errors.test'.
* lib/tap-driver (NO_PLAN, EARLY_PLAN, LATE_PLAN): New constants.
(Throughout the file): Use more complex semantics for `$plan_seen',
which now also remember whether the plan that has been seen is an
"early" or "late" plan; in turn, this makes ...
($tap_stopped): ... this variable redundant; remove it.
(handle_tap_plan): Adjust to avoid producing spurious or confusing
error messages about extra or mismatched "late" TAP plans.
* tests/tap-plan-corned.test: Adjust and extend.
* tests/tap-color.test: Likewise.
2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: log all TAP stream, even after a "Bail out!"
* lib/tap-driver ($bailed_out): New global boolean variable,
telling whether a "Bail out!" directive has been seen or not.
(handle_tap_bailout): This function does not anymore stop the
reading from TAP stream; instead, it sets `$bailed_out' to a
true value, so that only the subsequent parsing of the input
TAP stream is stopped.
(finish): Remove, no more needed, its contents inlined into ...
(main): ... this function, with related adjustments in the code
flow.
(get_test_exit_message): Do not "flush" the input TAP stream
to fetch the exit status of test script, it is not anymore
required. Add a sanity check.
* tests/tap-bailout-and-logging.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: TAP diagnostics after "Bail out!" aren't reported
This is compatible with the behaviour of the `prove' utility.
* tests/tap-bailout-suppress-later-diagnostic.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: TAP errors after a "Bail out!" directive aren't reported
This is compatible with the behaviour of the `prove' utility.
* tests/tap-bailout-suppress-later-errors.test: New test.
* tests/tap-bailout-badexit.test: Renamed ...
* tests/tap-bailout-suppress-badexit.test: ... to this, for
consistency.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: reorganize tests on TAP plans
* tests/tap-skip-whole.test: Rename ...
* tests/tap-planskip.test: ... to this
* tests/tap-skip-whole-badexit.test: Rename ...
* tests/tap-planskip-badexit.test: ... to this.
* tests/tap-skip-whole-bailout.test: Rename ...
* tests/tap-planskip-bailout.test: ... to this.
* tests/tap-skip-whole-bailout.test: Rename ...
* tests/tap-planskip-later-errors.test: ... to this.
* tests/tap-skip-whole-unplanned.test: Rename ...
* tests/tap-planskip-unplanned.test: ... to this.
* tests/tap-skip-whole-whitespace.test: Rename ...
* tests/tap-planskip-whitespace.test: ... to this.
* tests/tap-skip-whole-continue.test: Rename ...
* tests/tap-planskip-and-logging.test: ... to this, extend to try
more cases, and fix heading comments.
* tests/tap-skip-whole-lastline.test: Rename ...
* tests/tap-planskip-late.test: ... to this, fix heading comments,
and remove some checks that are just a duplication of those already
performed in the previous script.
* tests/tap-results-with-planskip.test: Rename to ...
* tests/tap-planskip-unplanned-corner.test: ... this, and improve
hading comments.
* tests/tap-planskip-later-errors.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: more TAP driver consistency w.r.t. 'prove'
* tests/skip-results-with-planskip.test: New test, verifies that
test results seen in a TAP stream that has a "plan with SKIP" are
flagged as errors.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: improve some comments in the TAP driver
* lib/tap-driver (handle_tap_plan): Improve comments describing
possible errors in a "plan with SKIP" directive.
2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: non-zero exit status after "Bail out!" should not be reported
This new behaviour is more consistent with that of the `prove'
utility. Also, experience with the use of TAP in the Automake's
own test suite has shown that reporting non-zero exit status from
a script after it has issued a "Bail out!" directive is mostly
redundant, more introducing noise rather than conveying useful
information.
* lib/tap-driver (finish): Inline the part of it that was getting
the script exit status ...
(main): ... in here.
* tests/tap-bailout-badexit.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: a "plan with SKIP" after test results is an error
This new behaviour is both more natural and more consistent with
that of the `prove' utility.
* lib/tap-driver (handle_tap_plan): Do not stop TAP parsing when
a "plan with SKIP" line (e.g., "1..0 # SKIP") is encountered, and
do not print a "SKIP" line if some TAP result has already been
seen.
* tests/tap-skip-whole.test: Adapt.
* tests/tap-skip-whole-lastline.test: Likewise.
* tests/tap-global-result.test: Adapt and extend.
* tests/tap-skip-plan-errors.test: Likewise, and fix an obsolete
small part of a comment.
* tests/tap-skip-whole-bailout.test: New test.
* tests/tap-skip-whole-unplanned.test: Likewise.
* tests/tap-skip-whole-continue.test: Likewise.
* tests/Makefile.am (tap_with_common_setup_tests): Update.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
test harness: avoid possible fork bomb
This fixes a regression w.r.t. the master branch, exposed by
test 'parallel-tests-fork-bomb.test'.
* lib/am/check.am (am--redo-logs): Detect possible infinite
recursion due to a test log in $(TEST_LOGS) being the same
as $(TEST_SUITE_LOG).
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: enhance test against infinite recursion in test harness
* tests/parallel-tests-fork-bomb.test: Enhance and extend a
little now, for soon-to-be-implemented more explicit and safer
semantics.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: possible infinite recursion in the test harness
Motivated by a regression in the 'test-protocols' branch.
* tests/parallel-tests-fork-bomb.test: New test, checking that
if $(TEST_SUITE_LOG) is in $(TEST_LOGS), we obtain a diagnosed
error rather than a make hang or a fork bomb.
* tests/Makefile.am (TESTS): Update.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: yet more environment cleanup
* tests/defs: Also unset the TEST_SUITE_LOG variable.
2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
self tests: some minor refactoring
* tests/self-check-exit.tap: Disable the `errexit' shell flag;
this allow to remove some boilerplate idioms and to make some
code slightly less cumbersome.
* tests/self-check-me.tap: Likewise.
2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: look for TAP-based tests without TAP plan
* Makefile.am (sc_tests_tap_plan): New maintainer check.
(syntax_check_rules): Add it.
* tests/suffix10.tap: Declare a TAP plan.
* tests/add-missing.tap: Likewise.
2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: avoid confusing SKIP messages for errored tests
* tests/defs [$use_tap] (exit trap): Don't print the test plan
in case the client script exited with a non-zero status. This
avoids the display of redundant "SKIP" messages for tests with
lazy plans that error out before any test is run.
2011-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: keep more debugging info around in 'add-missing.tap'
* tests/add-missing.tap: Use a different directory for each test,
so that in case of failure more information is kept around.
Since we are at it, remove redundant TAP diagnostic, and define
`$am_create_testdir' to "empty" to avoid bringing in unused
auxiliary files.
2011-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: more granular count of test results in our TAP library
* tests/tap-functions.sh ($tap_bad_count_): Removed, superseded
by ...
($tap_fail_count_, $tap_xpass_count_): ... these new variables,
which keep more granular counts.
($tap_pass_count_: New variable.
* tests/defs (exit trap): Adjust and simplify accordingly.
2011-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fixlets and improvements in two long TAP-based tests
* tests/depmod.tap: Clean up the subdirectories used by tests that
passed, to avoid ending up with a too big test directory. This is
especially important since, on each and every system, at least some
tests in this script are expected to be skipped (which ones exactly
depends on the system), thus causing the test directory not to be
removed when the script terminates.
* tests/instspc.tap: Likewise (with the difference that tests here
are not expected to be skipped, but to xfail). Give more explicit
error message in case of setup failure. Skip the proper number of
tests when required, to avoid spurious errors due to mismatched
plan. Also, really avoid to run the unsupported test cases when
the need to skip them is detected.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
test harness: recursive make invocations must use $(AM_MAKEFLAGS)
* lib/am/check.am ($(TEST_SUITE_LOG)): Pass $(AM_MAKEFLAGS)
to $(MAKE) when issuing a recursive make call.
Problem detected by the `sc_tests_make_without_am_makeflags'
maintainer check.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in 'suffix-chain.tap'
* tests/suffix-chain.test: Use more uncommon suffixes that
don't trigger built-in recipes with FreeBSD make.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: improvements to our shell TAP library and APIs
These improvements impact only the Automake's own testsuite.
* tests/tap-functions.sh (plan_): Allow new special arguments
"unknown" a.k.a. "later" and "lazy" a.k.a. "now". Perform
sanity check the given arguments. Adjust incorrect comments.
(lazy_plan_): Removed, superseded by the new version of `plan_'.
(not): New function, run a command and inverts its exit status.
(ok_, not_ok_, skip_): These are just shorthands for common
`result_' usages.
(xfail_, xpass_, reset_test_count_): Removed, they are not used,
nor does a legitimate use for them seem in sight.
(not): New function, to run a command inverting its exit status.
(command_not_ok_): Removed, superseded by `command_ok_' + `not'.
(command_ok_): Extended to accept TAP directives.
* tests/defs (trap): Don't use `late_plan_' anymore, use
`plan_ "now"' instead.
* tests/ac-output-old.tap: Update to take advantage of the new
APIs.
* tests/self-check-env-sanitize.tap: Likewise.
* tests/suffix-chain.tap: Likewise.
* tests/suffix10.tap: Likewise.
* tests/suffix11.tap: Likewise.
* tests/suffix3.tap: Likewise.
* tests/suffix8.tap: Likewise.
* tests/tap-bad-prog.tap: Likewise.
* tests/self-check-exit.tap: Likewise, plus a small improvement
in the name of a variable.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: convert some `suffix*' tests to TAP
This will allow us to explicitly declare some expected failures
involving Solaris make as such, instead of partly papering over
them with skips and partly letting them fail too loudly.
* tests/suffix-chain.test: Rename ...
* tests/suffix-chain.tap: ... to this, and convert to the use of
TAP. Also, fix some bugs since we are at it, and ...
($required): ... require `cc'.
* tests/suffix3.test: Rename ...
* tests/suffix3.tap: ... to this, and convert to the use of TAP.
Also, since we are at it, throw in some formatting fixes.
* tests/suffix8.test: Rename ...
* tests/suffix8.tap: ... to this, and convert to the use of TAP.
Also, since we are at it, throw in some formatting fixes.
* tests/suffix10.test: Rename ...
* tests/suffix10.tap: ... to this, and convert to the use of TAP.
* tests/suffix11.test: Rename ...
* tests/suffix11.tap: ... to this, and convert to the use of TAP.
* tests/Makefile.am (TESTS): Update.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't let a known Solaris make bug poison too many tests
See automake bug#7670 and bug#7824.
* tests/defs (make_can_chain_suffix_rules): New function, tell
whether the make implementation in use can chain suffix rules
automatically or not.
* tests/suffix3.test: Use it to avoid issuing calls to make that
are unportable to make implementations that are not smart enough
to chain suffix rules automatically.
* tests/suffix8.test: Use it to avoid issuing calls to make that
* tests/suffix10.test: Use it to avoid issuing calls to make that
* tests/suffix11.test: Use it to avoid issuing calls to make that
* tests/suffix-chain.test: New test, exposes the limitation that
we have papered over in the tests above.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
gitignore: more use of anchors
* .gitignore: Anchor files that are intended to be ignored only
if found in the same directory of the `.gitignore' file, not also
in its subdirectories.
* doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
lib/Automake/tests/.gitignore, tests/.gitignore: Likewise. Also,
where needed, add new entries that were once implied by the
non-anchored entries in the upper-level `.gitignore' files.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
self tests: avoid spurious output on console, and related fixlets
* tests/self-check-cleanup.test: Set `$stderr_fileno_' to `2'
in the self tests, to avoid spurious diagnostic on console.
* tests/self-check-exit.tap: Only unset `am_explicit_skips' and
`$stderr_fileno_' in the self tests, not at the global level, it
is more correct.
($init): New variable, to reduce code duplication.
Some refactoring and adjustments to the name of the tests.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: few more sanity checks
* tests/defs: Catch some more (very unlikely) set-up or internal
errors, and diagnose them explicitly. This is intended mostly
to be a theoretic-only improvement.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: really make them "set -e" clean
Motivated by a spurious failure of test `instsh3-w.shtst' on
Solaris 10.
* tests/defs: Make really "set -e" clean, to avoid spurious
failures in case this file is sourced by a test script that has
already set the `errexit' flag. To be sure we don't regress,
move the `set -e' call much earlier, and make the comment telling
about the expected "set -e" cleanliness more loud and outstanding.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
self tests: register an expected failures with Solaris /bin/sh
Solaris 10 /bin/sh erroneously exit with success right away when
the following three conditions are met at the same time:
1. the `errexit' flag is active,
2. an exit trap is installed, and
3. a non-existing command is issued.
* tests/self-exit.tap: When that bug is detected, issue an XFAIL
rather than a FAIL. Since we are at it, improve by avoiding
creation of stray temporary files when testing for non-executable
commands.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
gitignore: update and improve for the testsuite files
* tests/.gitignore: Don't ignore temporary partial log files,
autogenerated tests and makefile fragments that are not used
anymore. Anchor all the remaining patterns.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
self tests: some new uses of TAP, few extensions
* tests/self-check-me.test: Renamed ...
* tests/self-check-me.tap: .. to this, and converted to use TAP.
* tests/self-check-exit.test: Renamed ...
* tests/self-check-exit.tap: .. to this, and converted to use TAP.
Set `$stderr_fileno_' to `2', to avoid spurious messages on the
console. Add a new test, and relax another one.
* tests/self-check-env-sanitize.test: Renamed ...
* tests/self-check-env-sanitize.tap: .. to this, and converted to
the use TAP.
* tests/Makefile.am (TESTS): Update.
2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: test directory creation more configurable
After this change, the individual tests will be able to tell
`./defs' whether or not to create a temporary test directory
for them, and if yes, whether or not to pre-populate it.
* tests/defs: Only create the temporary test directory if the
variable `$am_create_testdir' is not set to "no". In this
case, only pre-populate it if that variable is not set to
`$empty'.
* tests/defs-static.in: Check that `$am_create_testdir' is not
exported in the environment.
* tests/self-check-env-sanitize.test: Update.
* tests/self-check-dir.test: Extend, and make deeper and more
robust.
* tests/README (Section "Writing test cases" subsection "Do"):
Update.
* tests/autodist.test: Set `$am_create_testdir' instead of
removing by hand files created by ./defs.
* tests/tap-doc2.test: Likewise.
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: more uses of the `seq_' function
* tests/parallel-tests-exit-statuses.test: Use the `seq_' function
from `tests/defs', instead of duplicating its semantics.
* tests/testsuite-summary-count.test: Likewise.
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: drop redundant environment sanitization
* tests/Makefile.am (TESTS_ENVIRONMENT): Don't remove `planned'
from the environment.
* tests/defs-static.in: Don't complain if `planned' is set in
the environment.
* tests/self-check-env-sanitize.test: Update.
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: fix bug in plain version of `skip_all_'
* tests/plain-functions.sh (skip_all_): Call `skip_', not `skip'.
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: small cleanups and tweakings
* tests/defs: Where possible, prefer `framework_failure_' or
`fatal_' to `Exit 99'. Try to catch more possible hard errors
and setup failures. Do not hide expected error messages. Avoid
a couple of forks when copying files from `$(top_srcdir)/lib'.
($signal): Remove, no more needed.
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: improve interface for giving early TAP plan
Since commit `v1.11-976-g4740f56', an early TAP plan can also be
specified after input lines have already been seen, as long as
no one of them is a TAP result line. We can now take advantage
of this in our own testsuite, allowing the TAP-based scripts to
specify their earlier plan after having included `./defs'. In
particular, this offers the benefit of allowing those scripts to
issue a "skip all" plan (e.g., "1..0 # SKIP reason ...") after
the inclusion of `./defs', which wasn't possible with the older
interface (introduced in commit `v1.11-1114-g0286308').
* tests/defs: Don't try to call `plan_' if `$planned' is defined,
the calling scripts can do that directly now.
* tests/ac-output-old.tap: Use `plan_' directly instead of
setting `$planned' before including `./defs'.
* tests/automake-cmdline.tap: Likewise.
* tests/depmod.tap: Likewise.
* tests/instspc.tap: Likewise.
* tests/tap-bad-prog.tap: Likewise.
* tests/add-missing.tap: Don't set `$planned'.
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: fix bug in TAP version of `skip_all_'
* tests/tap-functions (skip_all_): Set `$have_tap_plan_' to "yes"
when called, so that the exit trap won't write another TAP plan.
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: fix skip directives to work also with TAP-based tests
* test/defs: Use `skip_all_', not `skip_', to issue a skip of the
whole calling test script.
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: more environment cleanup
* tests/defs: Also unset variables AM_COLOR_TESTS and
AM_TESTS_ENVIRONMENT.
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
test harness: more minor VPATH-rewrite issues
* tests/am/check.am (am__set_TESTS_bases, $(TEST_SUITE_LOGS),
am--redo-logs, recheck, recheck-html): Cosmetic fixlets to
minimize the risk of unwanted VPATH rewrites.
(check-TESTS): Likewise, and normalize trailing whitespace
since we are at it.
Bugs exposed by test cases `check6-p.test' and `check7-p.test'.
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
test harness: "make -n check" works correctly with Solaris make
To avoid some recipes being executed with "make -n", we used the
trick of issuing recursive make calls not directly with $(MAKE),
but with a simple indirection instead:
...
am__stealth_MAKE = $(MAKE)
...
target:
... $(am__stealth_MAKE) ...
...
This hack worked with GNU make, but, unfortunately, not with
Solaris make. The present change removes the hack, and uses more
proper idioms to avoid unwanted recipe executions with "make -n".
Bug exposed by test case `parallel-tests-dry-run.test'.
* lib/am/check.am (am__stealth_MAKE): Remove, no more used.
(.log.trs): Break recipe in multiple shell invocations.
($(TEST_SUITE_LOG)): Likewise, and move some corner-case parts of
the recipe to ...
(am--redo-logs): ... this new internal helper .PHONY target.
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure with Solaris make
* tests/distcheck-configure-flags-am.test: Avoid using `+=' too
liberally with AM_DISTCHECK_CONFIGURE_FLAGS, since the line breaks
so introduced, in conjunction with single quotes, might confuse
Solaris make.
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
test harness: fixlet in workaround for VPATH rewrite issue
Fixes a minor in previous commit `v1.11-983-gfda3de5'.
* lib/am/check.am (am__set_TESTS_bases): Add forgotten end-of-line
anchor to sed expression. In comments, add reference to ...
* tests/test-trs-basic.test: ... this test, which has been adapted
and tightened (and tweaked).
2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
test harness: work around a VPATH rewrite issue
* lib/am/check.am (am__TEST_BASES): Removed, it's role taken
over by ...
(am__set_TESTS_bases): ... these new variable.
($(TEST_SUITE_LOG): Use it, to avoid VPATH rewrite issues.
* automake.in (handle_tests): Update the code for the cleanup
of the `.trs' file to use `$(TEST_LOGS)' instead of
`$(am__TEST_BASES)'.
* tests/test-harness-vpath-rewrite.test: New test, better
exposing the problem fixed by this change
* tests/Makefile.am (TESTS): Add it.
* tests/test-trs-basic.test: Update and extend.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: work around Solaris XPG4 make segfault
Issue exposed by test `posixsubst-tests-p.test', and similar to
the problem solved by commit `v1.11-159-ge7aa360'.
* lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Trim trailing
whitespace from $list, to avoid triggering a nasty bug (potential
segfault) on Solaris XPG4 make and Heirloom make.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fix weird spurious failure with Solaris /bin/sh
Solaris /bin/sh, when killed with a SIGTERM or SIGINT signal, can
apparently end up exiting with exit status 208, instead of leaving
the correct wide exit status to the parent. See:
<http://dbaspot.com/shell/396118-bourne-shell-exit-code-term.html>
Work around this incompatibility.
* tap-signal.test: Look for the above Solaris bug.
(signal_caught): Adapt to handle it.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fix another spurious failure on Solaris make
* tests/parallel-tests-log-override-recheck.test: Filter make
output before grepping it, for make implementations that, like
Solaris' one, print the whole of the failed recipe on failure.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fix two spurious failures on Solaris make
* tests/tests-environment-and-log-compiler.test: Do not fail if
"make -n check" fails, as that is issued only for debugging, its
semantics being tested in other test scripts.
* tests/test-driver-strip-vpath.test: Likewise.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tap driver: refactor and remove dead code
* lib/tap-driver (get_tap_line): Removed, ...
(all callers): ... updated to use $parser->next directly instead.
(peek_tap_line, unget_tap_line, @tap_lines): Remove, they're not
used anymore.
(TAP_PEEKING): Block deleted, all its subroutines and variables
having been removed.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fix spurious failure in a test on TAP support
* tests/tap-passthrough-exit.test: When the `--ignore-exit' flag
of the TAP driver is used, don't look for a message reporting the
non-zero exit statuses of tests in the log files; such message is
not expected to be there anymore. Related simplifications.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: plan location is more liberal w.r.t. non-TAP lines
With this change, only lines that are TAP results will matter
w.r.t. the position of the TAP plan in the input; for example,
this input:
this is a non-TAP line
# and this a TAP diagnostic line
1..1
ok 1
was considered to be an error, diagnosed with a message "test
plan in middle of output"; as effect of the current change, such
input is now valid. This is more consistent with the behaviour
of the `prove' utility.
* lib/tap-driver ($lineno): Removed, no more needed.
($tap_stopped): New global variable.
(stringify_test_result): Return "ERROR" if a TAP result is found
when `$tap_stopped' is set to true.
(handle_tap_test): Diagnose TAP results that comes after a late
plan. Add a couple of blank lines, for clarity.
(handle_tap_plan): Set `$tap_stopped' to true after a late plan
is encountered. Do not complain anymore for extra non-TAP lines
preceding or following the plan. Adjust comments.
(main): Don't increment $lineno anymore.
* tests/tap-plan.test: Extend a bit, and remove stale comment.
* tests/tap-color.test: Adjust.
* tests/tap-passthrough.test: Likewise.
* tests/tap-plan-corner.test: Adjust and extend.
* tests/tap-plan-errors.test: Likewise.
* tests/tap-plan-middle.test: New test.
* tests/tap-plan-corner2.test: Delete, it's obsolete now.
* tests/Makefile.am (XFAIL_TESTS): Remove it.
(tap_with_common_setup_tests): Likewise, and add
`tap-plan-corner.test'.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: remove now-passing test from XFAIL_TESTS
* tests/Makefile.am (XFAIL_TESTS): Remove `tap-signal.test',
which is passing since previous commit `v1.11-974-gc7fa872'.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: get name of TAP-using tests correctly
This change fixes the names of the temporary directories used
by the TAP-based tests (e.g., test `foo.tap' now uses `foo.dir'
rather than `foo.tap.dir'); more importantly, this make the
variable `$destdir' defined in `tests/defs' usable also in the
TAP tests.
($me): Also strip the any `.tap' suffix from the name of the
test.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: TAP tests properly decide when to remove tempdirs
Before this change, the TAP tests in the Automake testsuite were
removing the temporary test directory even when they failed or
were skipped, thus making debugging more difficult.
* tests/tap-functions.sh (incr_tap_count): Removed, superseded
by ...
(incr_): ... this function, which can increment the value of any
variable passed to it.
(result_): Updated to use `incr_' instead of the now-removed
`incr_tap_count_'. Keep count of failures, xfailures, xpasses,
and skips, using ...
($tap_skip_count_, $tap_bad_count, _$tap_xfail_count_): ...
these new variables.
* tests/defs (trap): Try to use their values to decide whether
the temporary directory being used by the test script should be
removed or not. Other code reorganizations. And move the code
for the removal of the temporary directory out to ...
(rm_rf_): ... this new subroutine.
(Main code): Use that instead of duplicating the code.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: improve and refactor our custom TAP shell library
This change is mostly done in preparation for the next one.
* tests/tap-functions.sh (result_with_directive_): Merge into ...
(result_): ... this function, which has been greatly extended and
improved in various ways.
(ok_, not_ok_, skip_, xfail_, xpass_): Adjust.
Adjust comments. Remove an extra empty line.
* tests/instspc.tap: Use the new improved interface of `result_'.
* tests/tap-bad-prog.tap: Likewise.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: update "user interface" description in tests/README
* tests/README (Subsection "Interpretation"): Mention the "ERROR"
outcome.
(Subsection "Getting details from failures"): Don't tell that the
test scripts can be run directly, this is not 100% true; anymore;
instead ...
(Subsection "About the tests"): ... use this new subsection to
explain how to run the tests (either simple or TAP-based) by hand.
(Subsection "Supported shells"): Extend to refer to TAP tests too.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: TAP tests can have early plan now
* tests/defs: When using TAP, allow the user to specify the number
of tests through the `$planned' variable.
(trap): Do not print the auto-generated plan if an explicit one
has already been printed.
* tests/defs-static.in: Complain and bail out if the `$planned'
variable is exported in the environment. Reformat the code to
facilitate future additions.
* tests/Makefile.am (TESTS_ENVIRONMENT): Neutralize `$planned'.
* tests/self-check-env-sanitize.test: Update.
* tests/ac-output-old.tap: Give an explicit TAP plan, by defining
`$planned' just before including `./defs'.
* tests/depmode.tap: Likewise.
* tests/automake-cmdline.tap: Likewise.
* tests/tap-bad-prog.tap: Likewise.
* tests/instspc.tap: Likewise, and related adjustments.
* tests/add-missing.tap: Make it explicit that we have no a-priori
plan, and tell why.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: run autogenerated tests with $(LOG_COMPILER) too
This change enhances consistency in the testsuite.
* tests/Makefile.am: Some cosmetic reordering, to keep the
definition of FOO_LOG_COMPILER near to the place where `.foo'
is added to $(TEST_EXTENSIONS).
(PTEST_LOG_COMPILER): Run `$(srcdir)/parallel-tests.sh' with
`$(LOG_COMPILER)', not with `$(SHELL)'.
(SHTST_LOG_COMPILER): Likewise.
2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: run TAP and "plain" tests with the same $(LOG_COMPILER)
With this change, it will be easier to override, at make time, the
shell used to run the tests.
* tests/Makefile.am (LOG_COMPILER): Define to `$(SHELL)'.
(TEST_LOG_COMPILER): Re-define to `$(LOG_COMPILER)'.
(TAP_LOG_COMPILER): Likewise.
2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: run TAP-based tests explicitly with $(SHELL)
* tests/Makefile.am (TAP_LOG_COMPILER): Define to `$(SHELL)'.
2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tap driver: handle signals received by the tests being run
* lib/tap-driver (get_test_exit_message): Also deal with signals,
by using the `wait' method of the TAP::Parser object instead of
the `exit' method. This required the use of the standard perl
module `POSIX'.
* doc/automake.texi (Use TAP with the Automake test harness):
Document that `--ignore-exit' has effect also on terminating
signals. Add a "synchronizing" comment that references the tests
'tap-exit.test' and 'tap-signal.test'.
* tests/tap-signal.test: Extend and adjust.
2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
test driver: a preparatory refactoring (2)
* lib/tap-driver (finish): Move code to fetch the message about
the exit status of the test being run to ...
(get_test_exit_message): ... this new subroutine.
2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tap driver: a preparatory refactoring (1)
* lib/tap-driver (finish): Do not flush the TAP stream nor
fetch the exit status of the TAP producer if running with
the `--ignore-exit' option. Obviously, don't try to write
such exit status in the test log anymore.
2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: typofix in the name of a function in the TAP driver
* lib/tap-driver (testuite_error): Renamed ...
(testsuite_error): ... to this, and minor related reformatting.
2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: scripts with a SKIP plan but with exit status != 0 must error
This change has been motivated by Automake's own testsuite. Some
TAP tests there were erroring out (due to unexpected, unhandled
failures) before having encountered TAP result, so that the
simple-minded shell library implementing TAP generation ended up
printing a "1..0" trailing test plan; this caused the script to be
reported as a SKIP rather than an ERROR -- a nasty false negative.
* lib/tap-driver: Add prototypes for each subroutine, to free up
the order in which they can be defined and called.
(main): Move the code checking for a bad exit status of the TAP
producer ...
(finish): ... here, and flush the TAP stream to ensure that the
parser always obtains the producer's exit status.
* tests/tap-skip-whole-badexit.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Add it.
2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: fix whitespace munging of diagnostic messages
* lib/tap-driver (extract_tap_comment): Pass the `g' flag to the
substitution operator, to strip also trailing whitespaces. Fixes
a failure in test `tap-whitespace-normalization.test'.
2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: refactor and cleanup 'instspc.tap'
* tests/instspc.tap (is_in_list): New helper subroutine.
(expected_to_fail): Re-implement using it.
(define_problematic_string): Likewise. Also, rename the special
arguments `build-fail' and 'install-fail' to respectively
`builddir-fail' and `destdir-fail', and other related changes.
(Test data definition): Adapt.
($instspc_xfail_builds_list): Renamed ...
($builddir_xfails): ... to this.
($instspc_xfail_installs_list): Renamed ...
($destdir_xfails): ... to this.
($instspc_names_list): Renamed ...
($test_names_list): ... to this.
($instspc_test_string): Renamed ...
($test_string): ... to this.
Add some explicative and "FIXME" comments.
2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: use TAP for `depmod*' tests, related simplifications
* tests/depmod-tests.sh: Delete this complex and multifarious
script, moving all it checks it used to perform into ...
* tests/depmod.tap: ... this TAP-based test script. And extend
it quite a bit, since the new form of the test was papering over
some pre-existing failures (this was due to the fact that the
values used for the VPATH were shorter in the new test script).
* tests/depmod-data.test: Deleted.
* tests/Makefile.am ($(srcdir)/depmod-tests.am): Don't include
nor generate it anymore.
(EXTRA_DIST): Don't distribute depmod-tests.sh anymore.
(TEST_EXTENSIONS): Remove '.depmod'.
(DEPMOD_LOG_COMPILER): Deleted.
(depmod-data.log, $(depmod_tests:.depmod=.log)): Delete
dependencies for these files, which are not used anymore.
($(depmod_tests)): Delete this dummy dependency declaration.
(TESTS): Remove $(depmod_tests).
(handwritten_tests): Remove depmod-data.test, add depmod.tap.
* bootstrap: Don't generate tests/depmod-tests.am anymore.
2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: use TAP for `instspc*' tests, related simplifications
* tests/instspc-tests.sh: Delete this complex and multifarious
script, moving all it checks it used to perform into ...
* tests/instspc.tap: ... this TAP-based test script.
* tests/instspc-data.test: Deleted.
* tests/Makefile.am ($(srcdir)/instspc-tests.am): Don't include
nor generate it anymore.
(EXTRA_DIST): Don't distribute instspc-tests.sh anymore.
(TEST_EXTENSIONS): Remove '.instspc'.
(INSTSPC_LOG_COMPILER): Deleted.
(XFAIL_TESTS): Remove $(instspc_xfail_tests).
(instspc-data.log, $(instspc_tests:.instspc=.log)): Delete
dependencies for these files, which are not used anymore.
($(instspc_tests)): Delete this dummy dependency declaration.
(TESTS): Remove $(instspc_tests).
(handwritten_tests): Remove instspc-data.test, add instspc.tap.
* bootstrap: Don't generate tests/instspc-tests.am anymore.
2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: do fd redirections with $(AM_TESTS_FD_REDIRECT)
* tests/Makefile.am: The redirections of file descriptors needed
by our test scripts is now done using the $(AM_TESTS_FD_REDIRECT)
variable (the new blessed way since commit `v1.11-906-gb9e9d54'),
not using an hack involving $(AM_TESTS_ENVIRONMENT). This has
the further benefit of allowing the use of $(TESTS_ENVIRONMENT)
again on part of the users.
* tests/Makefile.am (AM_TESTS_ENVIRONMENT): Remove redirection of
file descriptors.
(AM_TESTS_FD_REDIRECT): Redirect file descriptor 9 to original
stderr.
Comments adjusted.
* tests/plain-functions.sh ($stderr_fileno_): Update comment.
2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: use custom TAP diagnostic in our own tests
This change allow us to easily and transparently avoid spurious
TAP diagnostic in our own testsuite, with the help of the new
`--diagnostic-string' option of our TAP test driver.
* tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Also pass option
`--diagnostic-string' with value `#%#' (necessarily obtained
through some shell indirections).
* tests/tap-functions.sh (diag_): Assume that the string denoting
TAP diagnostic is stored in the `$diag_string_' variable. Update
comments.
($diag_string_): Initialize to "#".
* tests/defs ($diag_string_): Re-define to "#%#".
(show_): Remove, it's obsolete now.
* add-missing.tap: Don't use `show_' anymore to avoid spurious
TAP diagnostic; `cat' should suffice now.
2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: fix typo in TAP driver version message
* lib/tap-driver (anonymous subroutine printing the script version
message): Add missing trailing newline to the version message.
2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
tap docs: we don't support pragma or version directives (yet)
* doc/automake.texi (Incompatibilities with other TAP parsers
and drivers): Document that limitation. Normalize an unrelated
"TODO" item.
2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: new option to change the string designating TAP diagnostic
Here we introduce a new option `--diagnostic-string' in our TAP
test driver, that allows the user to specify which string should
denote the beginning of a TAP diagnostic line. This change is
not gratuitous, nor result if over-engineering: it is motivated
by real issues that have emerged during the use of TAP in the
Automake's own testsuite (see the commit `v1.11-1082-g9b967c2'
"testsuite: yet more use of TAP, and related extensions").
* doc/automake.texi (Use TAP with Automake test harness): Document
the new option.
(Incompatibilities with other TAP parsers and drivers): Report it
as a potential source of incompatibility.
* lib/tap-driver ($diag_string): New global variable, defaulting
to "#", and whose value can be changed ...
(Getopt::Long::GetOptions): ... by the newly recognized option
`--diagnostic-string'.
(handle_tap_comment): Subroutine removed, some of its simple logic
inlined ...
(main): ... in here, where now ...
(extract_tap_comment): ... this new subroutine is used.
($USAGE): Adjust.
* tests/tap-diagnostic.test: Make one check slightly stricter.
* tests/tap-diag-custom.test: New test.
* tests/Makefile.am (tap_other_tests): Add it.
2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
check: add small "synchronization" comment to `test-driver'
* lib/test-driver: Add comment to the code initializing ANSI color
escapes, telling to keep it in sync with the similar initialization
in `lib/am/check.am'.
2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix spurious failure w.r.t. use of bare "exit"
* tests/check12.test: Cosmetic changes to avoid triggering a
spurious failure of the `sc_tests_Exit_not_exit' maintainer
check.
2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
check: update comments to reflect recent heavy changes
* lib/am/check.am [%?PARALLEL_TESTS%]: Update the comments to
reflect the recent changes. Remove quite many comments that
were merely duplicating excerpts from the Automake manual.
2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
check: small cleanups and refactorings in test harness and drivers
* lib/tap-driver (yn): New subroutine, converts a boolean value to
a "yes" or "no" string.
(write_test_results): Use it, and related reformatting.
* lib/test-driver (trap): Also remove the `.trs' file on signals,
for extra safety.
(fatal): Remove this function, it's never used.
($logfile, $trsfile): Renamed ...
($log_file, $trs_file): ... to these, for clarity, and in order to
be more consistent with the `tap-driver' script.
Improve a couple of comments.
* automake.in (handle_tests): Don't define anymore the now-obsolete
make macro `$(TEST_LOGS_TMP)', nor add it to the list of files to
be removed upon "make mostlyclean".
* lib/am/check.am ($(TEST_SUITE_LOG)): New shell function `f_ok',
tells whether a path refers to an existing, regular, readable file.
Use it throughout.
(recheck): Be safer w.r.t. make implementation that run recipes
with `errexit' shell flag active.
2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: use AM_TESTS_FD_REDIRECT where appropriate
* parallel-tests-interrupt.test: Use AM_TESTS_FD_REDIRECT, not
AM_TESTS_ENVIRONMENT, to define file descriptors' redirection
for "make check". Fix botched comment.
2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: some fixlets in documentation on testsuites support
* doc/automake.texi (Script-based Testsuites): Rename node ...
(Scripts-based Testsuites): ... to this. Break overly long lines
in an example (were causing problems with PDF output).
(Parallel Test Harness): Don't intend paragraphs that come after
examples or bulleted list.
(Overview of Custom Test Drivers Support): Fix typo s/the the/the/.
(Declaring Custom Test Drivers): When giving an aside, prefer comma
to parentheses, as it disrupts the reading flow less.
(API for Custom Test Drivers): Remove a sentence that was basically
duplicated from the previous subsection.
(Command-line arguments for test drivers): Don't intend paragraph
coming after an itemized list. Clarify wording and fix grammaros.
Add a couple of cross-references to earlier explanations of `.log'
and `.trs' files.
(Links and external resources): Node renamed ...
(Links and external resources on TAP): ... to this, for clarity.
Slightly extend and clarify introductory sentence.
2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
test harness: be aware of more metadata, simplify test drivers
* lib/am/check.am ($(TEST_SUITE_LOG)): When producing the
global test log, take into account the new metadata field
`:global-test-result:, to write nicely formatted RST section
titles, instead of leaving this chore to the individual test
drivers.
(am_rst_section): Re-introduce this variable, as removed in
commit `v1.11-870-ga27c9c4'.
* lib/test-driver, lib/tap-driver: Write the global test result
as metadata in the `.trs' file, not as (part of) a formatted RST
subsection title in the `.log' file. Related simplifications;
in particular, get rid of temporary files usage.
* doc/automake.texi (Log files generation and test results
recording): Document the new metadata.
* tests/check12.test: Update.
* tests/parallel-tests-harderror.test: Likewise.
* tests/parallel-tests-interrupt.test: Likewise.
* tests/parallel-tests-log-override-2.test: Likewise.
* tests/parallel-tests-log-override-recheck.test: Likewise.
* tests/parallel-tests-unreadable.test: Likewise.
* tests/tap-global-result.test: Likewise.
* tests/test-metadata-results.test: Likewise.
* tests/test-log.test: Likewise, and another minor unrelated fix.
* tests/test-metadata-global-result.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: check that also a trailing TAP plan can hold a skip directive
* tests/tap-skip-whole-lastline.test: New test.
* tests/Makefile.am (tap_with_common_setup_tests): Add it.
2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: more correct names for a couple of tests
* tests/parallel-tests-ext-driver.test: Rename ...
* tests/parallel-tests-log-compiler-1.test: ... to this, and
adjust heading comments.
* tests/parallel-tests-ext-driver-prog.test: Rename ...
* tests/parallel-tests-log-compiler-2.test: ... to this, and
adjust heading comments.
* tests/Makefile.am (TESTS): Update.
2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fix another spurious failure
* tests/parallel-tests-ext-driver.test: Name out custom/dummy
log compilers as `foo-compiler' rather `foo-driver'; not only
this is less confusing, it also avoids errors due to the dummy
log compiler `test-driver' overriding the `test-driver' helper
script installed by Automake.
* tests/parallel-tests-ext-driver-prog.test: Adjust heading
comments.
2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fix a spurious failure
* tests/parallel-tests-ext-driver.test: Exporting of environment
variables directly from $(LOG_COMPILER) variables is not allowed
anymore. Adjust to this.
2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: yet more use of TAP, and related extensions
* tests/defs (show_): New function, display the contents of one or
more files on stdout, with bells & whistles (both for cosmetic and
practical reasons, the latter aimed at avoiding spurious TAP
diagnostic).
(AUTOMAKE_run): Extend and adapt to make it compatible with TAP
based tests. Since we are at it, make its implementation more
namespace-safe, and improve its command-line interface.
(AUTOMAKE_fails): Adapt to the new command-line interface of
`AUTOMAKE_run'.
* tests/add-missing.test: Renamed ...
* tests/add-missing.tap: ... to this, and converted to the use
of the TAP protocol, and of the new `show_' function.
* tests/automake.test: Renamed ...
* tests/automake-cmdline.tap: ... to this, and converted to the
use of the TAP protocol.
* tests/getopt.test: Adapt to the new command-line interface
of `AUTOMAKE_run'.
* tests/cond44.test: Likewise.
* tests/cond45.test: Likewise.
* tests/configure.test: Likewise.
* tests/license2.test: Likewise.
* tests/parallel-am.test: Likewise.
* tests/parallel-am3.test: Likewise.
* tests/tags2.test: Likewise.
* tests/werror3.test: Likewise.
* tests/werror4.test: Likewise.
* tests/amopts-variable-expansion.test: Likewise.
* tests/warnings-win-over-strictness.test: Likewise.
* tests/Makefile.am (TESTS): Update.
(TAP_LOG_DRIVER_FLAGS): Add `--merge', so that TAP diagnostic is
reported in the testsuite progress output.
2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix more maintainer-check failures
* tests/test-driver-custom-no-html.test (no-rst): Use `EOF',
not `EoL', as the here-document delimiter.
* tests/test-trs-basic.test: Use `cat + here-doc' rather
than `echo' when creating the dummy test scripts, to please
maintainer-check.
* tests/test-trs-recover.test: Use creative quoting where
needed, to please maintainer-check.
* tests/parallel-tests-no-color-in-log.test: Likewise.
* tests/parallel-tests-dry-run.test: Likewise.
2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix maintainer-check failures, both real and spurious
* tests/amhello-binpkg.test: Use "$MAKE", not bare "make".
* Makefile.am (sc_perl_local): Also allow perl special variable
`$~' to be localized. And be slightly laxer in the regexp, to
allow for usages like "local $_ = $foo;".
(sc_tests_overriding_macros_on_cmdline): Also allow for command
line overriding of the `DISABLE_HARD_ERRORS' make variable. Try
to avoid false positives for usages like "$MAKE || st=$?".
2011-08-03 Bruno Haible <bruno@clisp.org>
docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support
* doc/automake.texi (Program Variables): Recommend -I options to
both the build directory and the source directory when needed.
2011-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: relax a test on amhello examples to cater to Solaris tar
* tests/amhello-binpkg.test: When the tar implementation in use
is not GNU tar, relax the tests on tar output, to avoid spurious
failures. For example, "tar cvf ..." with GNU tar can output
lines like "./usr/bin/hello" on the standard output, while with
Solaris tar it can output lines like "a ./usr/bin/hello 8K" on
standard output, and with Heirloom tar it can output lines like
"a ./usr/bin/hello 15 tape blocks" on standard error.
2011-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: function 'is_newest' now works also with directories
* tests/defs (is_newest): Call `find' with the `-prune' option,
so that it won't descend in the directories (which could cause
spurious results).
* tests/self-check-is_newest: Extend accordingly.
From a report by Jim Meyering, see automake bug#9147.
2011-07-15 Benoit Sigoure <tsunanet@gmail.com>
docs: add references between the 2 sections on java support
* doc/automake.texi (Java Support, Java): Add cross-references.
2011-07-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Sync auxiliary files from upstream.
* INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
lib/texinfo.tex: Sync from upstream.
2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix weakness in 'tests-environment-backcompat.test'
* tests/tests-environment-backcompat.test: Do not override the
content of xfailing test `baz.test' with a "weaker" version that
fails unconditionally: the test must fail only when the 'strict'
pragma is in use, in order not to reduce coverage.
2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
docs, tests: synchronize examples on silent-rules from config.site
* doc/automake.texi (Automake silent-rules Option): Reference test
'silent-configsite.test' in comments.
2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: portability fixes in tests on amhello examples
* tests/amhello-binpkg.test: Don't use "tar xzf too.tag.gz" to
extract a gzip-compressed tarball, that's unportable to some
tar implementations; use the "gzip -dc fo.tar.gz | tar xf -"
idiom instead.
* tests/amhello-cflags.test: Likewise.
* tests/amhello-cross-compile.test: Likewise.
Suggestion from Ralf Wildenhues.
2011-07-04 Stefano Lattarini <stefano.lattarini@gmail.com>
remake: add test ensuring that slower remakes don't hang
* tests/remake-subdir-long-time.test: New test.
* tests/Makefile.am (TESTS): Update.
Suggestion by Ralf Wildenhues.
2011-07-04 Stefano Lattarini <stefano.lattarini@gmail.com>
remake: fix outdated comment in configure.am
* lib/am/configure.am: Fix comment falsified by changes in
commit `v1.11-366-gbee9871'.
Suggestion by Ralf Wildenhues.
2011-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
docs, tests: synchronize examples from docs to tests
* tests/README (Writing test cases): Give suggestions on how to
keep test cases and examples in the documentation synchronized.
* doc/automake.texi: Improve or fix existing testcase-referencing
comments, and add many new ones.
* HACKING (Administrivia): Suggest to test complex examples and
idioms from the manual.
* tests/specflg8.test: Improve synchronization with the example
in the manual.
* tests/output11.test:Likewise.
* tests/txinfo21.test:Likewise.
* tests/interp.test: Likewise.
* tests/amhello-cflags.test: New test.
* tests/amhello-cross-compile.test: Likewise.
* tests/amhello-binpkg.test: Likewise.
* tests/tests-environment-backcompat.test: Likewise.
* tests/parallel-tests-log-compiler-example.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: new test on parallel-tests TESTS runtime overriding
* tests/parallel-tests-cmdline-override.test: New test, check that
we can use indirections when overriding TESTS and TEST_LOGS from
the command line.
* tests/Makefile.am (TESTS): Update.
2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
gitignore: ignore `*.trs' files in lib/Automake/tests
* lib/Automake/tests/.gitignore: Add `*.trs' pattern.
2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: list another "forgotten" test script in Makefile.am
* tests/Makefile.am (TESTS): Also list test script
`test-driver-trs-suffix-registered.test'; it had been introduced
in commit `v1.11-910-g0c81b43', but by mistake it wasn't added
to the list of tests in the Makefile back then.
2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: list "forgotten" test script in Makefile.am
* tests/Makefile.am (TESTS): Also list the test script
`parallel-tests-no-color-in-log.test'; it had been introduced in
commit `v1.11-899-geaac33f', but by mistake it wasn't added to
the list of tests in the Makefile back then.
2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: remove duplicated mention of a test in Makefile.am
* tests/Makefile.am (tap_other_tests): Remove `tap-empty.test',
it is already listed in `$(tap_with_common_setup_tests)'.
2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: one more use of TAP in our own tests
* tests/tap-bad-prog.test, tests/tap-bad-prog2.test: Merged
into ...
* tests/tap-bad-prog.tap: ... this TAP-generating test.
* tests/Makefile.am (tap_other_tests): Remove plan-bad-prog.test
and plan-bad-prog2.test.
(XFAIL_TESTS): Remove plan-bad-prog2.test.
(plan-bad-prog2.log): Remove.
2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: scaffolding to allow use of TAP in our own tests
Now that Automake has initial support for the TAP test protocol,
we can start "eating our own dog food" and rewrite some tests to
use TAP; this should allow for better granularity, especially in
the control of skips and expected failures. With this change, we
set up the initial scaffolding required by the planned TAP tests,
and convert few older tests to use TAP, mostly in order to verify
that there are no obvious errors. The tests in our testsuite that
use the TAP protocol will be marked by the new `.tap' extension.
* tests/plain-functions.sh: New file containing definition of
helper shell functions used by the "protocol-less" tests of the
Automake testsuite.
* tests/tap-functions.sh: New file containing definition of
helper shell functions used by the TAP-producing tests of the
Automake testsuite.
* tests/defs: Remove definitions of some functions that are
now defined in `plain-functions.sh'. Instead, source one of
`plain-functions.sh' or `tap-functions.sh', depending on whether
`$use_tap' is set to "no" or "yes".
(exit trap): Call `late_plan_' if `$use_tap' is true. Also,
unset shell traces before issuing the latest commands, to avoid
confusing the tap driver with spurious output.
* tests/defs-static.in ($use_tap): New variable, by default set
to "yes" if the calling test script has a `.tap' suffix, and to
"no" otherwise. The individual scripts can override it though.
In code sanity-checking the environment, verify that `$use_tap'
is not exported.
* tests/self-check-env-sanitize.test: Update, and small related
reformatting.
* tests/self-check-tap.test: New very minimal self test.
* tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test,
tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test:
Removed, merged into ...
* tests/ac-output-old.tap: ... this new test, that uses TAP.
* tests/Makefile.am (TAP_LOG_DRIVER): Define to invoke our own
`tap-driver' script.
(TAP_LOG_DRIVER_FLAGS): Define to `--merge', so that the stdout
and stderr of the test scripts remains synced.
(TEST_EXTENSIONS): Define, to add the `.tap' suffix; also list
the `.test' suffix explicitly.
(EXTRA_DIST): Distribute the new files `plain-functions.sh' and
`tap-functions.sh'.
($(TEST_LOGS)): Depends on them.
(AM_TESTS_ENVIRONMENT): Ensure that `use_tap' is not exported in
the environment of the tests.
(TESTS): Update.
2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
* NEWS: Fix typo, and related reformatting.
2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
* NEWS: add mention of new experimental TAP support
2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: rename some test scripts
* tests/parallel-tests-am_tests_environment.test: Renamed ...
* tests/am-tests-environment.test: ... to this.
* tests/check-tests_environment.test: Renamed ...
* tests/tests-environment.test: ... to this.
* tests/parallel-test-driver-install.test: Renamed ...
* tests/parallel-tests-driver-install.test: ... to this.
* tests/parallel-tests-make-n.test: Renamed ...
* tests/parallel-tests-dry-run.test: ... to this.
* tests/Makefile.am (TESTS): Updated.
2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: parallel-tests and lazy dependencies on EXTRA_PROGRAMS
* tests/parallel-tests-extra-programs.test: New test.
* tests/Makefile.am (TESTS): Update.
* doc/automake.texi (Parallel Test Harness): Add a comment
pointing to the new test.
2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: improve, extend and fix documentation on TAP support
* doc/automake.texi ("Using the TAP test protocol"): Divide this
section into ...
("Introduction to TAP", "Use TAP with the Automake test harness",
"Incompatibilities with other TAP parsers and drivers", "Links
and external resources"): ... these subsections, extend them by
adding more information and examples, and improve them by removing
incomplete and/or temporary wordings and TODO items.
("Script-based Testsuites", "Parallel Test Harness"): Add a couple
of anchors to improve the granularity of cross-references.
* tests/tap-doc2.test: New test, verifying the correctness of the
new examples given in the manual.
* tests/Makefile.am (tap_other_tests): Add the new test.
2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: separate the only failing check of an xfailing test
* tests/plan-bad-prog.test: Move the only failing check of this
test (i.e., the one about the total number of "ERROR" outcomes)
into ...
* tests/plan-bad-prog2.test: ... this new test.
* tests/Makefile.am (XFAIL_TESTS): Remove `plan-bad-prog.test',
add `plan-bad-prog2.test'.
(tap_other_tests): Add `plan-bad-prog2.test'.
(plan-bad-prog2.log): Depend on `plan-bad-prog.test'.
2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fix spurious errors in an xfailing test on TAP support
* tests/plan-bad-prog.test: Fix typo in the name of the test
being made unreadable. Correct the wording of the potential
skip message, and simplify the condition under which the test
is to be skipped. Escape literal dots in grep regexps.
2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: better granularity in a couple of tests on TAP support
* tests/tap-summary-aux.sh: New auxiliary script, filled with code
moved out from ...
* tests/tap-summary.test: ... this test, from which the checks on
colored testsuite have further been moved into ...
* tests/tap-summary-color.test: ... this new test, which in turn
* tests/Makefile.am (tap_other_tests): Add `tap-summary-color.test'.
(EXTRA_DIST): Distribute `tap-summary-aux.sh'
(tap-summary.log): Depend on `tap-summary-aux.sh'.
(tap-summary-color.log): Likewise.
2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: optimize tests on TAP for speed and against duplication
The creation and configuration of common files and data used by
many tests on TAP is, with this change, factored out into a new
dedicated auxiliary test, from which those tests will depend upon.
This reduces code duplication in tests and, more importantly,
offers a noticeable speedup in the involved tests (30-40%).
* tests/tap-common-setup.test: New test, setting up the common
files and data used by various tests on TAP support.
* tests/tap-setup.sh: New file, to be sourced by tests wanting to
bring in data generated by `tap-common-setup.test'.
* tests/tap-autonumber.test: Update to use the pre-computed data
files.
* tests/tap-bailout.test: Likewise.
* tests/tap-color.test: Likewise.
* tests/tap-deps.test: Likewise.
* tests/tap-diagnostic.test: Likewise.
* tests/tap-empty-diagnostic.test: Likewise.
* tests/tap-empty.test: Likewise.
* tests/tap-escape-directive.test: Likewise.
* tests/tap-exit.test: Likewise.
* tests/tap-signal.test: Likewise.
* tests/tap-fancy.test: Likewise.
* tests/tap-fancy2.test: Likewise.
* tests/tap-global-log.test: Likewise.
* tests/tap-global-result.test: Likewise.
* tests/tap-html.test: Likewise.
* tests/tap-log.test: Likewise.
* tests/tap-merge-stdout-stderr.test: Likewise.
* tests/tap-no-merge-stdout-stderr.test: Likewise.
* tests/tap-message-0.test: Likewise.
* tests/tap-no-disable-hard-error.test: Likewise.
* tests/tap-no-spurious-summary.test: Likewise.
* tests/tap-no-spurious.test: Likewise.
* tests/tap-not-ok-skip.test: Likewise.
* tests/tap-numeric-description.test: Likewise.
* tests/tap-out-of-order.test: Likewise.
* tests/tap-passthrough.test: Likewise.
* tests/tap-passthrough-exit.test: Likewise.
* tests/tap-plan.test: Likewise.
* tests/tap-plan-corner.test: Likewise.
* tests/tap-plan-corner2.test: Likewise.
* tests/tap-plan-errors.test: Likewise.
* tests/tap-realtime.test: Likewise.
* tests/tap-recheck-logs.test: Likewise.
* tests/tap-skip-whole.test: Likewise.
* tests/tap-todo-skip-together.test: Likewise.
* tests/tap-todo-skip-whitespace.test: Likewise.
* tests/tap-todo-skip.test: Likewise.
* tests/tap-unplanned.test: Likewise.
* tests/tap-with-and-without-number.test: Likewise.
* tests/tap-xfail-tests.test: Likewise.
* tests/tap-skip-whole-whitespace.test: Likewise, and remove
redundant definitions of `$sp' and `$tab' (they are already
defined in `tests/defs').
* tests/tap-whitespace-normalization.test: Likewise.
* tests/Makefile.am (TESTS): Update.
(EXTRA_DIST): Distribute `tap-setup.sh'.
(tap_with_common_setup_tests, tap_with_common_setup_logs)): New
variables, holding respectively the list of tests using the files
pre-computed by `tap-common-setup.test', and the list of their
corresponding log files.
(tap_other_tests): New variable, holding the list of other tests
on TAP support.
($(tap_with_common_setup_logs)): Depend on `tap-common-setup.log'
and `tap-setup.sh'.
2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
test harness: use new `.trs' files to hold test metadata
With this change, the test harness will keep test metadata in
dedicated `.trs' files, instead of having them embedded into the
`.log' files. This allows for easier forward-compatibility and
extension of test metadata, and for more flexibility in the
format of the `.log' files. Note that this change makes the
`:end-metadata:' field obsolete.
* doc/automake.texi (Parallel Test Harness, Log files generation
and test results recording): Document the new APIs and behaviour;
some related minor rewordings and fixlets.
* NEWS: Update.
* automake.in (handle_tests): When bringing in the content of
`check2.am', substitute %BASE% with the basename of the `.log'
file being created by a rule. Add the generated `.trs' files
to the list of files to be cleaned by "make mostlyclean".
* lib/am/check.am (am__test_driver_flags): Rename ...
(am__common_driver_flags): ... to this, and remove the flags
`--test-name' and `--log-file' from it: they are now define in
the proper rules in `check2.am'.
(am__TEST_BASES): New internal variable, holding the names of
the tests, with any registered extension removed.
(am__stealth_MAKE): New internal variable, can be used instead of
$(MAKE) in recipes requiring a recursive call to make, but which
are not intended to be executed by "make -n".
(.log.trs): New suffix rule, to recover from deletion of `.trs'
files.
($(TEST_SUITE_LOG)): Almost completely rewritten to follow the
new API of "test logs in `.log' files, test metadata in `.trs'
files". It goes to some length to work correctly in face of
unreadable or missing `.log' and `.trs' files, and to error out
with proper error messages when this is not possible.
[%?PARALLEL_TESTS%] (check-TESTS): Also remove relevant "stale"
`.trs' files (in addition to `.log files) before remaking the
$(TEST_SUITE_LOG).
(recheck, recheck-html): Look for the `:recheck:' field in the
`.trs' files, not in the `.log' files.
* lib/am/check2.am (?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Adjust
the call to the test driver, in particularly passing the new
option `--trs-file'.
[%am__EXEEXT%] (?GENERIC?%EXT%$(EXEEXT).log): Likewise.
* lib/tap-driver ($USAGE): Adjust the help screen.
(Getopt::Long::GetOptions): Handle the `--trs-file' option,
through the use of ...
($trs_file): ... this new global variable.
(finish): Write metadata for the test run to `$trs_file' rather
then to `$log_file', through the use of ...
(write_test_results): ... this new function.
* lib/test-driver (print_usage): Update the help screen.
(Option parsing): Handle the `--trs-file' option, through the
use of ...
($resfile): ... this new global variable.
(Main code): Write metadata for the test run to `$trsfile' rather
than to `$logfile'.
Minor related adjustments to comments.
* tests/.gitignore: Ignore `*.trs' files.
* tests/parallel-tests-unreadable-log.test: Moved ...
* tests/parallel-tests-unreadable.test: ... to this, and extended
to also check the semantics for unreadable `.trs' files.
* tests/test-driver-end-metadata.test: Deleted as obsolete.
* tests/test-driver-metadata-no-leading-space.test: Likewise.
* tests/test-driver-global-log.test: Renamed ...
* tests/test-metadata-global-log.test: ... to this, and modified
as to verify the new APIs and semantics.
* tests/test-driver-recheck: Renamed ...
* tests/test-metadata-recheck.test: ... to this, and modified
likewise.
* tests/parallel-tests-once.test: New test.
* tests/parallel-tests-make-n.test: Likewise.
* test-metadata-results.test: Likewise.
* test-missing.test: Likewise.
* test-missing2.test: Likewise.
* test-trs-basic.test: Likewise.
* test-trs-recover.test: Likewise.
* test-trs-recover2.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
test harness: allow more metadata in log files
This change reworks and improves the parallel test harness to use
more specialized reStructuredText fields in the log files (instead
of relying on specially-placed of "magic lines" and more indirect
semantical formatting); the new fields are the following:
- ":recheck:": tell whether the associated test will have to be
re-run by "make recheck";
- ":copy-in-global-log:": tell whether the content of the log
file should be copied in the "global log" `test-suite.log';
- ":end-metadata:", which inhibits the scanning of the rest of
the log file (for what concerns test metadata).
Also, the special `:test-result:' value "END" has been removed,
superseded by the new `:end-metadata:' field.
* doc/automake.texi (Log files generation and test results
recording): Document the new API and semantics. Remove or fix
some obsolete comments.
* lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
Adjust comments and code.
* lib/tap-driver (finish): Adjust, with the help of ...
(must_recheck, copy_in_global_log): ... these new functions.
* lib/test-driver (Main code): Adjust, with the help of ...
($recheck, $gcopy): ... these new variables.
* tests/trivial-test-driver: Update to obey the new APIs.
* tests/test-driver-recheck.test: Likewise.
* tests/test-driver-global-log.test: Likewise.
* tests/tap-passthrough.test: Relax the test, avoiding to check
what is written in `test-suite.log'; such check has been moved ...
* tests/tap-global-log.test: ... in this new test, and extended.
* tests/test-driver-metadata-no-leading-space.test: New test.
* tests/test-driver-end-test-results.test: Removed, it checked
the old APIs; superseded by ...
* tests/test-driver-end-metadata.test: ... this new test.
* tests/tap-log.test: Improve syncing with ...
* tests/test-log.test: ... this new test.
* tests/parallel-tests.test: Remove some duplication w.r.t. this
last new test. Updated heading comments.
* tests/Makefile.am (TESTS): Update.
2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fix a spurious failure with non-bash shells
* tests/tap-fancy2.test: Remove an unportable use of backslashes
with the `echo' builtin, which was causing some shells (among them
bash and Debian /bin/ksh) to print a `\\' string, while other
shells (among them zsh, dash, and Solaris /bin/sh and /bin/ksh)
were unexpectedly printing a single `\' character. Since we are
at it, add a sanity check to ensure that this issue does not
resurface.
2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: fix spurious failures with Solaris /bin/sh
* tests/tap-more.test: Use `echo > file', not `: > file', to
create empty files in the "for" loops; this is required since,
as documented in the autoconf manual, Solaris 10 /bin/sh
"optimizes" away the `:' command after the first iteration,
even if it is redirected.
* tests/test-driver-custom-multitest-recheck2.test: Likewise.
* tests/tap-numeric-description.test: Partial rewrite to avoid
using positional parameters from the 10th onward, which are
unportable to Solaris /bin/sh (using `${10}' causes the shell
to die with "bad substitution").
2011-07-31 Stefano Lattarini <stefano.lattarini@gmail.com>
simple tests: support developer-defined fd redirections
Motivated by coreutils bug#8846, and related discussions:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
<http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
In those threads it has been shown how problematic it can be to do
portable file descriptor redirections in the testsuite when using
the Automake testsuite harness. This change should remedy to that
situation.
* lib/am/check2.am (?GENERIC?%EXT%$(EXEEXT).log,
?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Append redirection defined
in $(AM_TESTS_FD_REDIRECT) to the command-line invocations of the
test scripts.
* lib/am/check.am [!%?PARALLEL_TESTS%] $(check-TESTS): Likewise.
* NEWS: Update.
* doc/automake.texi (Script-based Testsuites): Document the new
feature.
* tests/check-fd-redirect.test: New test.
* tests/parallel-tests-fd-redirect.test: Likewise.
* tests/parallel-tests-am_tests_environment.test: Remove checks
about the use of redirections in AM_TESTS_ENVIRONMENT: they would
check deprecated (if not undefined) behaviour now. Strengthen a
couple of still valid checks, to keep the test more in sync with
the documentation. Improve debugging information.
* tests/Makefile.am (TESTS): Update.
2011-07-22 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: rework and extend documentation on testsuites support
* doc/automake.texi (Generalities about Testing): New section.
(Simple Tests using parallel-tests): Section removed, merged
into ...
(Simple Tests): ... this one, which on the other hand has been
subdivided into ...
(Script-based Testsuites, Serial Test Harness, Parallel Test
Harness): ... these new subsection.
(DejaGnu Tests): Minor adjustments.
Other related typofixes and rewordings throughout the manual;
in particular, avoid to use the term "test driver" for three
different concepts (and use instead "test harness" and "test
runner" where appropriate).
* tests/tap-doc.test: New test.
* tests/tap-no-disable-hard-error.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: support colorization of testsuite progress output
* lib/tap-driver (%COLORS): New variable (definition extracted
from `lib/am/check.am:$(am__tty_colors)', with some obvious
adjustments.
(report): Adjust to colorize console output when required,
using ...
(decorate_result): ... this new function.
(colored): New function, used by the one above.
* tests/tap-summary.test: Also run the checks when `color-tests'
is in use.
* tests/Makefile.am (XFAIL_TESTS): Remove `tap-color.test'.
2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: some preparatory refactoring (2)
This is a follow-up simplification.
* lib/tap-driver (console_output): Renamed ...
(report): ... to this, and extended to appropriately register
the test results when needed.
(testsuite_error, handle_tap_comment, handle_tap_test,
handle_tap_plan): Adjusted accordingly.
2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: some preparatory refactoring (1)
This refactoring is aimed at simplifying the introduction of
colored console output for the TAP driver.
* lib/tap-driver (console_output): Now accept two arguments, the
first one indicating which kind of thing is to be displayed (for
now only a test result or a diagnostic comment), and the second
one (if present) the message associated to it.
(handle_tap_test, handle_tap_comment, handle_tap_plan,
testsuite_error): Adapt to the new `console_output' interface.
2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: add experimental TAP-aware driver
* doc/automake.texi (Using the TAP test protocol): New section.
(Overview of Custom Test Drivers Support): Minor updates.
* lib/tap-driver: New script, TAP-aware test driver for Automake;
implemented in perl and based on TAP::Parser.
* lib/Makefile.am (dist_script_DATA): Add it.
* tests/tap-autonumber.test: New test.
* tests/tap-bailout.test: Likewise.
* tests/tap-basic.test: Likewise.
* tests/tap-deps.test: Likewise.
* tests/tap-diagnostic.test: Likewise.
* tests/tap-empty.test: Likewise.
* tests/tap-empty-diagnostic.test: Likewise.
* tests/tap-escape-directive.test: Likewise.
* tests/tap-exit.test: Likewise.
* tests/tap-fancy.test: Likewise.
* tests/tap-fancy2.test: Likewise.
* tests/tap-global-result.test: Likewise.
* tests/tap-html.test: Likewise.
* tests/tap-log.test: Likewise.
* tests/tap-merge-stdout-stderr.test: Likewise.
* tests/tap-more.test: Likewise.
* tests/tap-more2.test: Likewise.
* tests/tap-no-merge-stdout-stderr.test: Likewise.
* tests/tap-no-spurious-summary.test: Likewise.
* tests/tap-no-spurious.test: Likewise.
* tests/tap-not-ok-skip.test: Likewise.
* tests/tap-numeric-description.test: Likewise.
* tests/tap-out-of-order.test: Likewise.
* tests/tap-passthrough.test: Likewise.
* tests/tap-plan.test: Likewise.
* tests/tap-plan-errors.test: Likewise.
* tests/tap-plan-corner.test: Likewise.
* tests/tap-realtime.test: Likewise.
* tests/tap-recheck-logs.test: Likewise.
* tests/tap-recheck.test: Likewise.
* tests/tap-skip-whole.test: Likewise.
* tests/tap-summary.test: Likewise.
* tests/tap-todo-skip.test: Likewise.
* tests/tap-todo-skip-together.test: Likewise.
* tests/tap-todo-skip-whitespace.test: Likewise.
* tests/tap-skipall-whitespace.test: Likewise.
* tests/tap-unplanned.test: Likewise.
* tests/tap-whitespace-normalization.test: Likewise.
* tests/tap-with-and-without-number.test: Likewise.
* tests/tap-xfail-tests.test: Likewise.
* tests/tap-bad-prog.test: New xfailing test.
* tests/tap-color.test: Likewise.
* tests/tap-plan-corner2.test: Likewise.
* tests/tap-message-0.test: Likewise.
* tests/tap-signal.test: Likewise.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: new auxiliary function 'count_test_results'
* tests/defs (count_test_results): New function.
* tests/check11.test: Use it.
* tests/test-driver-custom-multitest.test: Likewise.
* tests/test-driver-custom-multitest-recheck.test: Likewise.
* tests/test-driver-custom-multitest-recheck2.test: Likewise.
* tests/parallel-tests-log-override-recheck.test: Likewise.
* tests/parallel-tests-log-override-recheck.test: Likewise.
* tests/parallel-tests-no-spurious-summary.test: Likewise, and
slightly improve debugging output.
* tests/parallel-tests.test: Make use of `count_test_results'.
Also, make grepping of "make check" output slightly stricter
* tests/parallel-tests9.test: Likewise.
* tests/parallel-tests-log-override-2.test: Likewise, and throw
in a small optimization.
2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: simplify testsuite summary
Prefer a more deterministic, "tabular" format for the testsuite
summary, always listing the numbers of passed, failed, xfailed,
xpassed, skipped and errored tests, even when these numbers are
zero. This simplify the logic of testsuite summary creation,
makes it more easily machine-parseable, and will probably allow
for easier addition of new kinds of test results in the future.
* lib/am/check.am (am__tty_colors_dummy): New make variable, to
reduce code duplication. Extracted from previous versions of
$(am__tty_colors), and extended by defining two new variables
`$mgn' and `$brg'.
[%?COLOR%, %!?COLOR%] (am__tty_colors): Use that new variable.
(am__text_box): Delete, is not needed anymore.
($(TEST_SUITE_LOG)): Rewrite associated rules to implement the
new testsuite summary format.
* NEWS: Update.
* tests/check10.test: Don't run with the parallel-tests harness
too, that makes no sense anymore.
* tests/color.test: Update and adjust.
* tests/color2.test: Likewise.
* tests/parallel-tests.test: Likewise.
* tests/parallel-tests3.test: Likewise.
* tests/parallel-tests6.test: Likewise.
* tests/parallel-tests9.test: Likewise.
* tests/parallel-tests-unreadable-log.test: Likewise.
* tests/parallel-tests-empty-testlogs.test: Likewise.
* tests/parallel-tests-log-override-recheck.test: Likewise.
* tests/parallel-tests-no-spurious-summary.test: Likewise.
* tests/test-driver-custom-multitest.test: Likewise.
* tests/test-driver-end-test-results.test: Likewise.
* tests/parallel-tests-no-color-in-log.test: New test.
* tests/testsuite-summary-color.test: Likewise.
* tests/testsuite-summary-count.test: Likewise.
* tests/testsuite-summary-count-many.test: Likewise.
* tests/testsuite-summary-reference-log.test: Likewise.
* tests/testsuite-summary-checks.sh: New auxiliary script, used
by the new tests above.
* tests/extract-testsuite-summary: Likewise.
* tests/trivial-test-driver: Optimize for speed when there are
lots of of tests.
* tests/Makefile.am (EXTRA_DIST): Distribute them.
(testsuite-summary-color.log, testsuite-summary-count.log): Depend
on them.
(testsuite-summary-count-many.log): Depend on the auxiliary scripts
'trivial-test-driver' and 'extract-testsuite-summary'.
(TESTS): Update.
2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: new recognized test result 'ERROR'
* lib/am/check.am ($(TEST_SUITE_LOG)): Recognize a new test result
`ERROR'. Use it when encountering unreadable test logs (previously
a simple `FAIL' was used in this situations).
* lib/test-driver: Set the global test result to `ERROR' when the
test exit status is 99. When doing colorized output, color `ERROR'
results in magenta.
* doc/automake.texi (Log files generation and test results
recording): Update by listing `ERROR' too among the list of valid
`:test-results:' arguments.
* NEWS: Update.
* tests/trivial-test-driver: Update.
* tests/parallel-tests.test: Likewise.
* tests/parallel-tests-harderror.test: Likewise.
* tests/parallel-tests-no-spurious-summary.test: Likewise.
* tests/test-driver-global-log.test: Likewise.
* tests/test-driver-recheck.test: Likewise.
* tests/test-driver-custom-multitest-recheck.test: Likewise.
* tests/test-driver-custom-multitest-recheck2.test: Likewise.
* tests/test-driver-custom-multitest.test: Likewise.
* tests/test-driver-custom-no-html.test: Likewise.
* tests/test-driver-end-test-results.test: Likewise.
* tests/color.test: Likewise. Also, make stricter, and also test
from VPATH.
* tests/color2.test: Likewise, and improve syncing with color.test.
* tests/parallel-tests-exit-statuses.test: New test.
* tests/parallel-tests-console-output.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: make parsing of test results safer
The new code for parsing the testsuite-generated `.log' files,
as introduced in commit `v1.11-872-gc96b881', considers each
`:test-result:' field anywhere in a `.log' file as a declaration
of a test result, and accounts for it as such in the testsuite
summary. Unfortunately this could easily cause spurious test
failures being reported in the testsuite summary. This happened
in practice with the Automake's own testsuite; for example:
$ make check TESTS='check12-p.test'; echo exit: $?
...
PASS: check12-p.test
=====================================
4 of 5 tests failed
See tests/test-suite.log
Please report to bug-automake@gnu.org
=====================================
make[2]: *** [test-suite.log] Error 1
make: *** [check-am] Error 2
exit: 2
This change introduces a new special `:test-result:' "END", that,
when seen, prevents the rest of the log file from being parsed.
For more information, refer to the thread:
<http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00199.html>
* lib/am/check.am ($(TEST_SUITE_LOG)): Stop the parsing of a log
file as soon as the special ":test-result:END" directive is seen.
Related changes and enhancements.
* lib/test-driver: Protect the rest of the log after the result
lined with a ":test-result:END" directive.
* doc/automake.texi (Log files generation and test results
recording): Update, and related improvements.
* tests/parallel-tests-no-spurious-summary.test: New test.
* tests/test-driver-end-test-results.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: document custom test drivers and protocols
* doc/automake.texi (Simple Tests): Note that the TESTS_ENVIRONMENT
use suggested here is not portable to 'parallel-tests'.
(Simple Tests using parallel-tests): Document new restrictions on
the uses of TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT.
(Custom Test Drivers): New section and node.
(Overview of Custom Test Drivers Support): New subsection.
(Declaring Custom Test Drivers in @file{Makefile.am}): Likewise.
(APIs for Custom Test Drivers): Likewise.
(Options): Update description of color-tests.
* lib/am/check ($(TEST_SUITE_LOG)): Remove comments that have been
moved into the manual.
(recheck, recheck-html): Minor adjustments to better conform to the
documentation (this should cause no semantic changes w.r.t. the
former behaviour); minor improvements and extensions to existing
comments.
* tests/test-driver-create-log-dir.test: New test.
* tests/test-driver-strip-vpath.test: Likewise.
* tests/test-driver-global-log.test: Likewise.
* tests/test-driver-recheck.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: small enhancement to 'primary3.test'
* tests/primary3.test: Also test that the program named `foo.la'
has been effectively created.
2011-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: a small simplification in 'pr8365-remake-timing.test'
* tests/pr8365-remake-timing.test: Avoid redundant definition
and use of `$save_AUTOCONF' variable.
2011-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove an extra leading blank line
* tests/override-conditional-1.test: Remove extra blank line
placed before the shebang line.
2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix typos, grammaros and other blunders in comments
All affected files changed.
2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: new subroutine 'seq_', simulating GNU seq(1)
* tests/defs (seq_): New subroutine.
* tests/instmany.test: Use it.
* tests/instmany-mans.test: Likewise.
* tests/instmany-python.test: Likewise.
* tests/self-check-seq.test: New self test.
* tests/Makefile.am (TESTS): Update.
2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove duplication about testing of config.* aux files
* tests/add-missing.test: Also check that the `AC_CANONICAL_SYSTEM'
autoconf macro causes the `config.sub' and `config.guess' scripts
to be installed by `automake --add-missing'. Since we are at it,
fix minor buglets and cosmetic issues in the `check_' function.
* tests/hosts.test: Removed, completely subsumed by the previous
test now.
* tests/Makefile.am (TESTS): Update.
2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more uses of the 'unindent' subroutine
* tests/backcompat.test: Prefer `unindent' over plain `cat' for
here documents created from within a loop of if/else body.
* tests/backcompat2.test: Likewise.
* tests/backcompat4.test: Likewise.
* tests/init.test: Likewise.
* tests/instmany.test: Likewise.
* tests/instmany-mans.test: Likewise.
* tests/instmany-python.test: Likewise.
* tests/missing5.test: Likewise.
* tests/parallel-am2.test : Likewise.
* tests/parallel-am3.test : Likewise.
* tests/pr307.test: Likewise.
* tests/depend4.test: Likewise. Since we are at it, normalize
other code formatting.
* tests/instfail-java.test: Prefer `echo' over `cat' + here-doc
inside a for loop.
2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid '##'-style comments inside recipe commands
* tests/autodist.test: Do not whitespace-indent `##' comments when
they are embedded in a makefile rule: having them indented is not
part of the Automake API, and might cause failures with e.g., Tru64
make.
* tests/autodist-subdir.test: Likewise.
* tests/backcompat.test: Likewise.
* tests/backcompat6.test: Likewise.
* tests/colon7.test: Likewise.
* tests/posixsubst-scripts.test: Likewise.
* tests/posixsubst-sources.test: Likewise.
2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: tweak, improve and extend tests on lisp support
* tests/lisp2.test: Prettify, and improve debugging output. Make
grepping of automake stderr stricter.
* tests/lisp7.test: Ensure verbose printing of captured make
output. Add trailing `:' command.
* tests/lisp8.test: Likewise.
* tests/lisp3.test: Likewise. Also, check that `.el' files and
compiled `.elc' files get installed by "make install", and
uninstalled by "make uninstall".
* tests/lisp4.test: Ensure installed `.el' files gets removed by
"make uninstall". Related changes. Add trailing `:' command.
* tests/lisp5.test: Likewise.
* tests/lisp6.test: Use proper m4 quoting in configure.in. Fix
use of blank lines, to improve clarity and symmetry. Fix typo in
comment. Add trailing `:' command.
2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: drop useless requirement in 'license.test'
* tests/license.test: Drop useless requirement "makeinfo". Add
an extra blank line, for clarity.
2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests defs: more uses of $top_testsrcdir
* tests/autodist-stamp-vti.test: Use `$top_testsrcdir' instead
of `$testsrcdir/..'.
* tests/repeated-options.test: Likewise.
* tests/suffix5.test: Likewise.
* tests/vtexi3.test: Likewise.
2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
self tests: fix typo in comment
* tests/self-check-exit.test: Fix typo in heading comments.
2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove redundant settings of `errexit' shell flag
* tests/amhello-binpkg.test: Do not set the `errexit' shell
flag, as it is already set by `tests/defs'.
* tests/amhello-cflags.test: Likewise.
* tests/amhello-cross-compile.test: Likewise.
* tests/ansi2knr-deprecation.test: Likewise.
* tests/autodist-no-duplicate.test: Likewise.
* tests/distcheck-configure-flags-am.test: Likewise.
* tests/distcheck-configure-flags-subpkg.test: Likewise.
* tests/distcheck-configure-flags.test: Likewise.
* tests/distcheck-hook.test: Likewise.
* tests/distcheck-hook2.test: Likewise.
* tests/parallel-tests-am_tests_environment.test: Likewise.
* tests/parallel-tests-harderror.test: Likewise.
* tests/parallel-tests-log-compiler-example.test: Likewise.
* tests/parallel-tests-log-override-1.test: Likewise.
* tests/parallel-tests-log-override-2.test: Likewise.
* tests/parallel-tests-log-override-recheck.test: Likewise.
* tests/primary-prefix-couples-documented-valid.test: Likewise.
* tests/primary-prefix-couples-force-valid.test: Likewise.
* tests/primary-prefix-invalid-couples.test: Likewise.
* tests/primary-prefix-valid-couples.test: Likewise.
* tests/remake-subdir-from-subdir.test: Likewise.
* tests/remake-subdir-gnu.test: Likewise.
* tests/remake-subdir-long-time.test: Likewise.
* tests/remake-subdir.test: Likewise.
* tests/remake-subdir2.test: Likewise.
* tests/silent-configsite.test: Likewise.
* tests/tests-environment-backcompat.test: Likewise.
2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
* doc/automake.texi (Simple Tests using parallel-tests): Ditto, and
related adjustments.
Suggestion by Ralf Wildenhues.
2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: fix unportable example of AM_TESTS_ENVIRONMENT usage
* doc/automake.texi (Simple Tests using parallel-tests): The
old example on AM_TESTS_ENVIRONMENT relied on unportable shell
features, and in particular didn't work with various Korn
Shells (see also commit `v1.11-925-g29ca903'). Give another
example, simpler this time, but still inspired to real-world
usage (the GNU coreutils testsuite).
2011-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc tests: fix bug in 'yacc-cxx.test'
* tests/yacc-cxx.test: Enable `errexit' shell flag (the lack of
which was masking the bug).
(bar.cxx): Rename to ...
(bar2.cxx): ... this, otherwise automake will (correctly) complain
that object `bar.o' is created by both `bar.cxx' and `bar.c++'.
(Makefile.am): Adjust.
2011-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
lex tests: fix spurious link errors on Solaris
On Solaris 10, linking of lex-generated programs was failing in a
couple of lex tests with errors like this:
g++ -g -O2 -o joe joe.o -ll
Undefined symbol first referenced in file
yywrap() joe.o
ld: fatal: Symbol referencing errors. No output written to joe
collect2: ld returned 1 exit status
This change fixes it, also fixing at once potential problems for
systems that don't have a "lex library" (this happens for example
when cross-compiling from GNU/Linux to MinGW).
* tests/lex-depend-cxx.test (joe.ll, moe.l++): Define a dummy
`yywrap()' function.
* tests/lex-clean-cxx.test (mainfoo.cc, mainbar.cpp, mainbaz.c++,
mainqux.cxx): Likewise.
2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: avoid a footnote, some related rewordings and improvements
* doc/automake.texi (Dist): Reword the part about automatically
distributed files to avoid a footnote. Since we are at it, extend
a bit, and add an example and a reference to a relevant test case.
2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: minor cosmetic fixes
* doc/automake.texi: Break few overly long lines, throughout the
file.
("Simple Tests"): Move @vindex for XFAIL_TESTS to the correct
position, i.e., before and not after the paragraph where it is
introduced.
("Options" @item ansi2knr): Use @pxref instead of @xref. This
fixes a texinfo warning.
("Other things Automake recognizes" @item AM_C_PROTOTYPES): Use
@pxref instead of @ref.
2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
help: improve text about automatically-distributed files
This change fixes automake bug#7819.
* automake.in (usage): Distinguish between files that are always
automatically distributed when found, and those which are only
"under certain conditions".
* doc/automake.texi (Basics of Distribution): Update accordingly.
* tests/autodist-subdir.test: Update.
* tests/autodist-no-duplicate.test: Likewise.
* tests/autodist.test: Likewise.
(configure.in): Remove useless call to AM_MAINTAINER_MODE.
2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
refactor: split 'usage' subroutine in automake
This change is related to automake bug#7819.
* automake.in (print_autodist_files): New subroutine,
extracted from ...
(usage): ... this, which now uses it.
* tests/autodist-no-duplicate.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix bug in 'autodist.test'
* tests/autodist.test: Avoid spurious failure due to no
`defs-static' file being found in the parent directory.
2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: allow each test to have multiple results
With this change, we improve the code creating the `test-suite.log'
global log and the console testsuite summary to make it able to
grasp multiple results per test script. This is required in order
to introduce the planned support for test protocols, like TAP and
SubUnit, which can indeed run multiple tests per test script, each
with its individual result.
The implementation makes use of a custom reStructuredText field
`:test-result:'.
Note that no new documentation is added by this change; that is
be left for follow-up changes.
* lib/check.am ($(TEST_SUITE_LOG)): When processing .log files,
recognize a report of a test's result only if it is declared with
the custom `:test-result:' reStructuredText field placed at the
beginning of a line. Extend and add explanatory comments.
(recheck, recheck-html): Add explanatory comments.
* lib/test-driver: Write an appropriate reStructuredText field
`:test-result:' in the generated log file. Use a reStructuredText
transition to better separate the test outcome report from the
test script's registered output. Improve comments.
* tests/test-driver-custom-xfail-tests.test: Adjust.
* tests/parallel-tests7.test: Adjust.
* tests/parallel-tests-empty-testlogs.test: New test.
* tests/parallel-tests-recheck-override.test: Likewise.
* tests/parallel-tests2.test: Extend and keep more in-sync with ...
* tests/test-driver-custom-html.test: ... this new related test.
* tests/test-driver-custom-no-html.test: New test.
* tests/test-driver-custom-multitest.test: Likewise.
* tests/test-driver-custom-multitest-recheck.test: Likewise.
* tests/test-driver-custom-multitest-recheck2.test: Likewise.
* tests/trivial-test-driver: New file, used by the last four tests
above.
* tests/Makefile.am (TESTS): Update.
(EXTRA_DIST): Distribute `trivial-test-driver'.
(test-driver-custom-multitest.log): Depend on `trivial-test-driver'.
(test-driver-custom-multitest-recheck.log): Likewise.
(test-driver-custom-multitest-recheck2.log): Likewise.
(test-driver-custom-html.log): Likewise.
2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: allow custom driver scripts
Allow suffix-based definition of custom "driver script" for the
test scripts. These driver scripts will be responsible of
launching the tests (or their corresponding $(LOG_COMPILER), if
they have an associated one), interpreting and displaying the
test results, and writing the `.log' files.
This new API should allow easy and flexible use of different
test protocols in the future; in particular, we plan to use it
to implement TAP and SubUnit harnesses.
Note that no new documentation is added by this change; that is
be left for follow-up changes.
* automake.in (handle_tests): Define default for $(LOG_DRIVER),
and, for any registered test extension `<ext>', define defaults
for $(<ext>_LOG_DRIVER). Substitute %DRIVER% using these new
variables, instead of the old internal $(am__test_driver). When
processing check2.am, also substitute %DRIVER_FLAGS%.
Require auxiliary script `test-driver' only if no driver has been
explicitly defined for the test script kinds.
* am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
?!GENERIC?%OBJ%): Pass the %DRIVER_FLAGS% to the %DRIVER% call.
* tests/parallel-tests-no-extra-driver.test: New test.
* tests/test-driver-custom.test: Likewise.
* tests/test-driver-custom-xfail-tests.test: Likewise.
* tests/test-driver-fail.test: Likewise.
* tests/Makefile.am: Update.
* NEWS: Update.
2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: add auxiliary script 'test-driver', refactor
This refactoring should cause no API of functionality change,
and is meant only to simplify the future implementation of TAP
and SubUnit testsuite drivers. More precisely, our roadmap is
to move most of the "testsuite driving" features out of the
Automake-generated Makefiles, and into external scripts with
well-defined interfaces. This will allow the user to define
its own personalized testsuite drivers, and will also offer us
a framework upon which to implement our new TAP and SubUnit
drivers, all in a very unobtrusive way and retaining an high
degree of code reuse and backward-compatibility.
* lib/test-driver: New auxiliary script.
* lib/Makefile.am (dist_SCRIPT_DATA): Add it.
* automake.in (handle_tests): Require the new auxiliary script
`test-driver', and define a new internal makefile variable
`$(am__test_driver)', used to call it. Perform new substitution
on `DRIVER' when processing the `check2.am' file.
* lib/check.am (am__tty_colors): Define new shell variable
`$am__color_tests'.
(am__rst_section): Removed, its role taken over by the new
`test-driver' script.
(am__test_driver_flags): New variable, contains the command
line options passed to `test-driver'.
(am__check_pre): Do not deal with temporary files and exit
traps anymore, as the `test-driver' script takes care of that
now. Define shell variable `$am__enable_hard_errors', used by
`$(am__test_driver_flags)'. Reorder so that we don't need to
save and restore the value of the `TERM' environment variable
anymore.
Other related adjustments.
(am__check_post): Remove, as its role has been completely taken
over by the `test-driver' script.
* am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
?!GENERIC?%OBJ%): Call the test script through the Automake
substituted `%DRIVER%', and honor the command-line options
in `$(am__test_driver_flags)'. Do not call the obsoleted
`$(am__check_post)' anymore.
* doc/automake.texi (Auxiliary Programs): Mention the new
`test-driver' script.
(Optional): Mention `test-driver' in AC_CONFIG_AUX_DIR.
Since we are at it, break the list of auxiliary scripts by
placing one per line, to simplify potential future additions
of new scripts.
* tests/check.test: Adjust.
* tests/check2.test : Likewise.
* tests/check3.test : Likewise.
* tests/check4.test : Likewise.
* tests/check10.test: Likewise.
* tests/color.test: Likewise.
* tests/color2.test: Likewise.
* tests/comment9.test: Likewise.
* tests/dejagnu.test: Likewise.
* tests/exeext4.test: Likewise.
* tests/maken3.test: Likewise.
* tests/maken4.test: Likewise.
* tests/parallel-tests-interrupt.test: Likewise.
* tests/posixsubst-tests.test: Likewise.
* tests/repeated-options.test: Likewise.
* tests/check-no-test-driver.test: New test.
* tests/parallel-test-driver-install.test: Likewise.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: extend 'sc_tests_plain_*' checks
* Makefile.am (sc_tests_plain_autom4te): New check.
(sc_tests_plain_autoreconf): Likewise.
(sc_tests_plain_autoheader): Likewise.
(syntax_check_rules): Update.
2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: interactions between TESTS_ENVIRONMENT and LOG_COMPILER
* tests/tests-environment-and-log-compiler.test: New test,
checking that we can use variables and functions set by
TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT in LOG_COMPILER
and LOG_FLAGS (for tests both with and without registered
extensions).
* tests/Makefile.am (TESTS): Update.
2011-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: make 'subst-no-trailing-empty-line.test' more robust
* tests/subst-no-trailing-empty-line.test: Strengthen existing
checks, to try more scenarios and be slightly stricter in some
grepping checks.
2011-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix an incomplete comment
* tests/subst-no-trailing-empty-line.test: Fix an incomplete
comment, and move it to a more proper place. Minor cosmetic
fixes to other comments.
2011-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: avoid few more spurious failures
* tests/depmod-data.test: Use creative quoting to avoid
spuriously triggering the `sc_tests_Exit_not_exit' maintainer
check. Commit `v1.11-900-g3453b8e' attempted to fix it, but
succeeded only partially.
* tests/cond33.test: Fix header comments, not to reference
obsolescent make variable `$(mkdir_p)'.
* tests/cond4.test: Rewrite "$MAKE exp=..." as "exp=.. $MAKE -e",
to please `sc_tests_overriding_macros_on_cmdline'
* tests/cond19.test: Likewise.
* tests/cond32.test: Likewise.
* tests/add-missing.test: Use "AUTOMAKE_fails" instead of
"$AUTOMAKE ... && Exit 1", to please `sc_tests_automake_fails'.
2011-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: avoid few spurious failures
* Makefile.am (sc_tests_plain_aclocal, sc_tests_plain_perl,
sc_tests_plain_autoconf, sc_tests_plain_automake,
sc_tests_plain_autoupate): Be stricter in matching an erroneous
literal command, i.e., `aclocal', `automake', `perl', etc.
2011-06-20 Bert Wesarg <bert.wesarg@googlemail.com> (tiny change)
check: don't use multi-line coloring for the report
"less -R" can't handle multi-line coloring as it is done for the
check reports of the serial and parallel testsuite, because of
performance reasons. Thus, color each line of the check report
by its own.
* lib/am/check.am (am__text_box): Accept colors for lines, and
color each line by its own.
[%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Let am__text_box handle
the line coloring.
[!%?PARALLEL_TESTS%] $(check-TESTS): Color each report line by
its own.
* THANKS: Update.
2011-06-18 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
* doc/automake.texi (Checking the Distribution): Explain that the
developers should take care of making their code buildable without
requiring any special configure options, so that in general
AM_DISTCHECK_CONFIGURE_FLAGS shouldn't be used. Give an example
of where its use is legitimate.
Suggestions from Ralf Wildenhues and Eric Blake.
2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
ansi2knr: deprecate, it will go away in the next major release
* doc/automake.texi: Loudly and repeatedly state that the old
de-ANSI-fication features are now deprecated and will be removed
in the next major Automake release. Other related adjustments.
* lib/Automake/Options.pm (_process_option_list ): Give a warning
in the `obsolete' category when the `ansi2knr' option is used.
* m4/protos.m4 (AM_C_PROTOTYPES): Deprecate this macro: a warning
in the `obsolete' category will be emitted it if is used.
* tests/ansi2knr-deprecation.test: New test.
* tests/Makefile.am (TESTS): Update.
* tests/ansi.test: Adjust, by calling autoconf and/or automake
with the `-Wno-obsolete' flag.
* tests/ansi10.test: Likewise.
* tests/ansi2.test: Likewise.
* tests/ansi3.test: Likewise.
* tests/ansi3b.test: Likewise.
* tests/ansi4.test: Likewise.
* tests/ansi5.test: Likewise.
* tests/ansi6.test: Likewise.
* tests/ansi7.test: Likewise.
* tests/ansi8.test: Likewise.
* tests/ansi9.test: Likewise.
* tests/cxxansi.test: Likewise.
* tests/libobj8.test: Likewise.
* NEWS: Update about the future planned backward-incompatibility
due to the removal of de-ANSI-fication feature.
2011-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: primary/prefix combination "pkglib_PROGRAMS" is now invalid
* doc/automake.texi (Program Sources): pkglib_PROGRAMS is not a
valid combination anymore, so don't document it. Inconsistency
introduced in commit `v1.11-373-g9ca6326'.
2011-06-19 Jim Meyering <meyering@redhat.com>
docs: replace obsolete @vindex entry with a useful one
* doc/automake.texi (Program Sources): Do not index obsolete
pkglib_PROGRAMS here. Do index pkglibexec_PROGRAMS.
2011-06-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more checks on portable fd redirection in TESTS_ENVIRONMENT
* tests/tests-environment-fd-redirect.test: Extend by also using
a perl script among the tests. Run the test shell script with
the `errexit' flag active. Export `VERBOSE' to yes when running
"make check", to give more debugging information in case of
failures. Look for a Korn Shell also in `/usr/bin', not on only
in `/bin'.
2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: optimize tests on primary/prefix mismatch for speed
* tests/primary-prefix-invalid-couples.test: Partial rewrite, in
order to use just a single automake invocation rather than one
invocation for each invalid primary/prefix couple. This improves
the test script execution time by an order of magnitude.
Since we are at it, throw in some other improvements to avoid
unrelated automake warnings and failures that could potentially
cause false positives w.r.t. the automake exit status.
2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
* NEWS (Miscellaneous changes): Update.
2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
* Makefile.am (sc_tests_overriding_macros_on_cmdline): It's now
acceptable that the test scripts override DISTCHECK_CONFIGURE_FLAGS
on the make command line. Update comments accordingly. Since we
are at it, make the relevant grepping rules slightly tighter.
2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
* doc/automake.texi (Checking the Distribution): Suggest to use
AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to
define (in the top-level Makefile.am) extra flags to be passed
to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS
should be reserved for the user. Add proper `@vindex' directive.
Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a
subpackage Makefile.am, but the flags in it are passed down to
the configure script of the subpackage.
* lib/am/distdir.am (distcheck): Also pass the flags in
$(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation.
Update comments.
* tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS,
DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in
the environment, they might improperly influence our testsuite.
* tests/distcheck-configure-flags.test: New test.
* tests/distcheck-configure-flags-am.test: Likewise.
* tests/distcheck-configure-flags-subpkg.test: Likewise.
* distcheck-hook.test: Likewise.
* distcheck-hook2.test: Likewise.
* tests/Makefile.am (TESTS): Update.
Closes automake bug#8784.
2010-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: better documentation for silent make rules
* doc/automake.texi (Options): Detailed description of the
automake option `silent-rules' moved from here ...
(Silent Make): ... into this new chapter, expanded, improved,
and subdivided into ...
(Make verbosity, Tricks For Silencing Make,
Automake silent-rules Option): ... these new sections.
(@menu, @detailmenu): Update.
* tests/silent-configsite.test: New test, checking that the
user can control default mode of silent-rules from config.site,
as is documented in the manual.
* tests/Makefile.am (TESTS): Updated.
2011-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Warnings about primary/prefix mismatch fixed and extended.
* automake.in (%standard_prefix): Add `doc' and `locale'.
Rename `pkgdatadir' to `pkgdata'. Similarly for`pkglibdir',
`pkgincludedir' and `pkglibexecdir'.
(handle_programs): List `pkglibexec', not `pkglib', among the
prefixes valid for the `PROGRAMS' primary.
(handle_data): List also `doc' among the prefixes valid for
the `DATA' primary. This is required by automake's own build
system.
* tests/dirforbid.test: Test removed, superseded by ...
* tests/primary-prefix-invalid-couples.test: ... this new test.
* tests/primary-prefix-valid-couples.test: New test.
* tests/primary-prefix-couples-documented-valid.test: Likewise.
* tests/primary-prefix-couples-force-valid.test: Likewise.
* tests/java3.test: Adjusted, and extended a bit.
* tests/Makefile.am (TESTS): Updated.
* NEWS: Updated.
From a report by Eric Blake.
2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: check portable fd redirection in TESTS_ENVIRONMENT
* tests/tests-environment-fd-redirect.test: New test.
* tests/Makefile.am (TESTS): Update.
Motivated by coreutils bug#8846:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
See also following CC:ed thread on bug-autoconf list:
<http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
2011-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: make test 'self-check-reexec.test' more portable
* tests/self-check-reexec.test: Rewrite not to require a Korn
Shell able to grok variable expansions such as `${.sh.version}';
Solaris 10 /bin/ksh fails on this for example. Instead, just
require bash and a shell that is not bash.
2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Jim Meyering <meyering@redhat.com>
test defs: fix ksh-related portability bug in warning messages
Running "make check" normally prints a diagnostic to the outermost
stderr (usually a tty) to explain why a test is skipped, thus
giving better and faster feedback to the user. It used to do
so by redirecting file descriptor 9 to stderr (via "exec 9>&2")
before invoking the test scripts, which then would write any skip
explanation to file descriptor 9 via the `skip_' function defined
in `tests/defs'.
However, various Korn Shells (at least Solaris 10's /bin/ksh and
Debian GNU/Linux's /bin/ksh) and the HP-UX's /bin/sh close open
file descriptors > 2 upon an `exec' system call; thus the effects
of "exec 9>&2" are cancelled upon fork-and-exec, so we would get
a "Bad file number" diagnostic and no skip explanation with those
shells.
The present change remedies this situation.
* tests/Makefile.am (AM_TESTS_ENVIRONMENT): Redirect more portably,
via a trailing "9>&2", rather than the prior "exec 9>&2; ...". Add
explanatory comments.
* tests/defs (stderr_fileno_): Update the advice in comments.
Based on commit v8.12-82-g6b68745 "tests: accommodate HP-UX and
ksh-derived shells" in GNU coreutils.
Further references, with lots of discussion:
<http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove 'test_prefer_config_shell' from the environment
Since commit `v1.11-910-g7df1a9b', the once user-overridable
variable `$test_prefer_config_shell' has become an internal
detail, and the test scripts now complain and bail out if it is
set in the environment.
* tests/Makefile.am (AM_TESTS_ENVIRONMENT): Unset the variable
`test_prefer_config_shell' if it is set in the environment.
2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: autogenerate list of wrapped tests for `lib/' shell scripts
* tests/gen-config-shell-tests: New script, generates distributed
makefile snippet `tests/config-shell-tests.am' to list all tests
that use the `get_shell_script' function, with names mangled to
use suffix `-w.shtst', in ...
* tests/Makefile.am (config_shell_tests): ... this macro, whose
definition has been consequently removed from Makefile.am.
(EXTRA_DIST): Distribute the new script.
($(srcdir)/config-shell-tests.am): Generate using the new script.
(include): Include the `config-shell-tests.am' fragment.
* bootstrap: Invoke `tests/gen-config-shell-tests' to generate
`tests/config-shell-tests.am'.
* tests/.gitignore: Ignore `config-shell-tests.am'.
* tests/gen-parallel-tests: Fixlet in heading comments.
2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: test mdate-sh with /bin/sh too
* tests/mdate5.test: Fetch the `mdate-sh' script using the
`get_shell_script' function, and run it directly instead of
using `$SHELL'.
* tests/mdate6.test: Likewise. Since we are at it, make checks
on the `mdate-sh' output stricter, remove now unneeded calls to
aclocal and automake and creation/extension of `configure.in',
`Makefile.am' and `textutils.tex' files, and add a trailing `:'
command.
* tests/Makefile.am (config_shell_tests): Add `mdate5-w.shtst'
and `mdate6-w.shtst'.
2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: extend tests on `--add-missing' and `--copy' a bit
* tests/add-missing.test: Fix typo in heading comments. Try with
another testcase that install many (but not all) the auxiliary
scripts at once, and uses non-standard (but valid and documented)
setups (e.g., defining YACC in Makefile.am instead of calling
AC_PROG_YACC from configure.in).
* tests/copy.test: Reference `add-missing.test' in heading
comments. Try few more test scenarios.
2011-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: few fixlets and improvements
* tests/cond31.test ($required): Remove `cc', it's not really
needed.
* tests/confh.test: Call autoheader too. The lack of this call
wasn't causing spurious failures because the automatic remake
rules were somehow invoking it on our behalf (at make time).
* tests/fn99subdir.test: Use $subdirname throughout, instead of
${subdirname}, for consistency with the rest of the testsuite.
Avoid an unnecessary subshell, which could also cause spurious
passes, being guarded by a trailing `|| Exit 1', which neutralize
the `errexit' flag. Remove an unnecessary `|| Exit 1' guard.
* tests/insh2.test: Rewrite to avoid hackish Makefile.in munging,
and to also run configure and make.
2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't hard-code test name in txinfo21.test
* tests/txinfo21.test: Use `$me' instead of hard-coding the
current testcase name "txinfo21". Add a trailing `:' command
since we are at it.
2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: new test dedicated to `--add-missing' and `--copy'
* tests/add-missing.test: New test.
* tests/Makefile.am (TESTS): Update.
Suggested by Peter Rosin.
2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: use 'fatal_' and 'framework_failure_' for hard errors
* tests/defs (require_xsi): Use `fatal_', not `framework_failure',
to report an invalid usage.
* tests/remake-gnulib-remove-header.test: Prefer using `fatal_'
with a proper error message over a direct call to `Exit 99'.
* tests/pr8365-remake-timing.test: Likewise.
* tests/cygnus-imply-foreign.test: Likewise.
* tests/missing6.test: Likewise.
* tests/cond8.test: Likewise.
* tests/cond33.test: Likewise.
* tests/python-virtualenv.test: Prefer using `framework_failure_'
with a proper error message over a direct call to `Exit 99'.
* tests/instspc-tests.sh: Prefer using `framework_failure_' and
`fatal_' over direct calls to `Exit 99'.
(fatal_): Define this (which is a simplified version of the one
in `tests/defs') for early uses (i.e., before `tests/defs'
gets sourced).
* tests/depmode-tests.sh: Likewise. Also, simplify the
'get_depmodes' function and calls to it accordingly.
2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
self tests: check new 'fatal_' function
* tests/self-check-exit.test: Also check the new 'fatal_'
function.
2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: new function 'fatal_', for hard errors
Before this patch, the only way offered by tests/defs to
properly signal a hard error was the `framework_failure_'
function. But the error message issued by that function,
as its name would suggest, refers to a set-up failure in the
testsuite, while hard errors can obviously also be due to
other reasons. The best way to fix this inconsistency is to
introduce a new function with a more general error message.
Inspired by a recent similar change to Gnulib's tests/init.sh.
* tests/defs (fatal_): New function.
* tests/README (Section "Writing test cases" subsection "Do"):
Suggest the use of `fatal_', not of `framework_failure_', for
generic hard errors. The latter should be reserved for "real"
set-up failures.
2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
py-compile: '--' and non-option arguments terminate the option list
* lib/py-compile: Any non-option argument, or the special `--'
argument, now explicitly terminates the list of options.
* tests/py-compile-option-terminate.test: New test.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
py-compile: complain on unrecognized options
* lib/py-compile: Complain on unrecognized options. Don't be too
lax in matching `--help' and `--version' options.
* tests/py-compile-usage.test: Extend accordingly.
* NEWS: Update.
2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
py-compile: normalize error and help messages
* lib/py-compile: Now error messages do not begin with a capital
letter, nor end with a period, as per GNU standards. Prepend the
error messages with the name of the script, not with its path.
When an invalid usage is recognized, always display the customary
message "Try `py-compile --help' ..." on a line of its own.
($me): New variable, containing the name of the
program, i.e., `py-compile'. Use it throughout.
(usage_error): New function, used to display error messages about
invalid usage.
* tests/py-compile-usage.test: Extend and tighten accordingly.
2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
python tests: add "unit tests" on py-compile
* tests/py-compile-basic.test: New test.
* tests/py-compile-basic2.test: New test.
* tests/py-compile-basedir.test: Likewise.
* tests/py-compile-destdir.test: Likewise.
* tests/py-compile-env.test: Likewise.
* tests/py-compile-usage.test: Likewise.
* tests/Makefile.am (TESTS): Update.
Tested with python 2.0.1, 2.4.6, 2.6.6, 2.7.1, and 3.1.3.
2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
py-compile: the '--destdir' option now accepts a blank argument
* lib/py-compile (Option parsing): Do not count an empty argument
to `--destdir' or `--basedir' as a missing argument.
* lib/python.am: Simplify accordingly, passing the `--destdir'
option to py-compile unconditionally, even if `$(DESTDIR)' is
empty.
* NEWS: Update.
2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
python: run the 'py-compile' script with $(SHELL)
* lib/python.am (install-%DIR%PYTHON): Run each instance of
py-compile using $(SHELL). Since we are at it, break overly
long lines.
(am__py_compile): New variable, to reduce code duplication.
2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: `lib/' shell scripts transparently tested also with $SHELL
With the previous commit, the user could prefer the use of $SHELL
over /bin/sh in some tests checking the Automake-provided shell
scripts by manually exporting `test_prefer_config_shell' to "yes"
in the environment. With this commit, we ensure that such tests
*always* and *transparently* run using both $SHELL and /bin/sh
to execute the checked scripts. The `test_prefer_config_shell'
variable becomes an internal detail, and is no more meant to be
manually defined or overridden.
* tests/defs-static.in: Check that `test_prefer_config_shell' is
not exported in the environment. Error out if this is the case.
* tests/config-shell-tests.sh: New file, driver script to run
checks on the shell scripts in `lib/' using the $SHELL determined
at configure time instead of the default system shell /bin/sh.
* Makefile.am (TESTS_EXTENSIONS): Add `.shtst'.
(SHTST_LOG_COMPILER): Define, it calls `config-shell-tests.sh'.
(config_shell_tests): Define to a list of tests that wraps other
`*.test' tests using `config-shell-tests.sh'.
($(config_shell_tests)): Dummy dependency declaration required
in order to have make actually produce expected log files from
the `.shtst.log' suffix rule.
(EXTRA_DIST): Distribute `config-shell-tests.sh'.
(TESTS): Add `$(config_shell_tests)'.
* tests/self-check-env-sanitize.test: Update, by checking that
`test_prefer_config_shell' isn't exported in the environment.
2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: can use also $SHELL to check shell scripts from `lib/'
* tests/ar-lib.test: If the variable `$test_prefer_config_shell'
is set to "yes", run the script under test with configure-time
determined $SHELL, rather than with /bin/sh.
The `$test_prefer_config_shell' variable defaults to empty, but
can be overridden at runtime by the user, thus allowing more
coverage.
* tests/compile.test: Likewise.
* tests/compile2.test: Likewise.
* tests/compile3.test: Likewise.
* tests/compile4.test: Likewise.
* tests/compile5.test: Likewise.
* tests/compile6.test: Likewise.
* tests/instsh2.test: Likewise.
* tests/instsh3.test: Likewise.
* tests/mkinst3.test: Likewise.
* tests/missing.test: Likewise.
* tests/missing2.test: Likewise.
* tests/missing3.test: Likewise.
* tests/missing5.test: Likewise.
* tests/defs (get_shell_script): New subroutine, factoring out
code common to the tests above.
(xsi-lib-shell): If `$test_prefer_config_shell' is set to "yes",
check that $SHELL, not /bin/sh, supports XSI constructs, as we
expect the test will use $SHELL and not /bin/sh to run the
script being tested.
2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests defs: better requirements for XSI shells
This change avoids potential spurious failures with tests using
the requirement 'xsi-shell' to mean that they want */bin/sh* (not
$SHELL) to be XSI-conforming. This idiom used to work before
commit `v1.11-874-g1321be7' (as back then the test scripts were
unconditionally run with /bin/sh), but has become inconsistent
now that the test scripts re-execute themselves with configure
determined $SHELL.
The described spurious failures have already occurred in practice,
for examples on Solaris systems which also had GNU Bash installed.
From a suggestion by Peter Rosin. See discussion at:
<http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00016.html>
* tests/defs (xsi-shell): Now check that $SHELL, rather than the
shell currently running the test script, is an XSI shell.
(xsi-bin-sh): New requirement, checking that /bin/sh (which can
differ from $SHELL) is an XSI shell.
(xsi-lib-shell): New requirement, checking that the shell that
should be used to test the Automake-provided scripts from `lib/'
is an XSI shell. For the moment, this is just an alias for
`xsi-bin-sh'.
(require_xsi): New subroutine, used to factor out code common to
the requirements above.
($xsi_shell_code): New variable, contains shell code supposed to
work only with XSI shells. Used by the new subroutine above.
* tests/ar-lib.test ($required): Require 'xsi-lib-shell' instead
of 'xsi-shell', since the script we test here is run with /bin/sh,
not with $SHELL.
* tests/compile3.test: Likewise.
* tests/compile6.test: Likewise.
2011-06-05 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix typo-related error in auxdir2.test
* tests/auxdir2.test (configure.in): Close m4 quoting in the
argument to AC_CONFIG_AUX_DIR. Without this, aclocal fails with
"ERROR: end of file in string". This problem hasn't been exposed
by the testsuite before because this test is in XFAIL_TESTS, so
its failure went unnoticed, even if it was due to a wrong cause.
Bug introduced in commit v1.11-249-g49ac3de.
2011-06-05 Stefano Lattarini <stefano.lattarini@gmail.com>
self tests: check that `$me' can be overridden
* tests/self-check-me.test: Check that `$me' can be overridden
before sourcing ./defs, with or without sourcing ./defs-static
beforehand, and that this override is honored. Update heading
comments.
2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
self tests: fix another spurious failure
Our ad-hoc usage of `tests/defs' in the testsuite's self tests
stopped working properly when we made the test scripts re-execute
themselves with the configure-time $SHELL. Fix this.
Fixes a regression introduced by commit 'v1.11-874-g1321be7'.
* tests/self-check-exit.test: Export `AM_TESTS_REEXEC' to "no"
before running the self tests. This fixes a spurious failure
present only when the test was run by hand.
2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
silent-rules tests: fix spurious failures with Sun Studio C++
* tests/silentcxx.test: The C++ compiler from Sun Studio is named
`CC'. Account for this in our grepping checks on the make output.
Since we are at it, throw in a couple of improvements to comments
and formatting.
* tests/silent-many-generic.test: The C++ compiler from Sun Studio
is named `CC', and this can cause spurious failures in our grepping
of the make output. Work around this by using a wrapper script
around the C++ compiler (generated on the fly), since filtering the
make output proved to be too fragile.
2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in backcompat2.test on NetBSD
* tests/backcompat2.test: Add trailing `:' in the body of a `for'
loop, in case the last command there might have an exit status
different 0. This work around `set -e' issues in some BSD shells,
e.g., NetBSD /bin/ksh.
2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in autohdr3.test
* tests/autohder3.test (Makefile.am): Let `test' depend on `all',
so that config.h header is truly remade.
Remove now useless call to `$MAKE' when non-GNU make is in use.
Failure introduced by commit `v1.11-895-g5e62b96'.
2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure of cond29.test on NetBSD
* tests/cond29.test: Skip if we cannot safely limit the maximal
size of used virtual memory to 20K. This fixes a spurious failure
on NetBSD.
Bug introduced in commit `v1.11-885-g908d335'.
2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix again few more failures
* tests/cond29.test: To please the `sc_tests_Exit_not_exit'
maintainer check, avoid using `sh -c "exit 0"' where a simple
`sh -c :' will do.
* tests/depmod-data.test: Use creative quoting to avoid
spuriously triggering the `sc_tests_Exit_not_exit' maintainer
check.
2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix some more failures
* tests/instdir-ltlib.test: Use creative quoting to avoid
spuriously triggering the `sc_rm_minus_f' maintainer check.
* tests/instdir-prog.test: Likewise.
* tests/instspc-data.test: Use creative quoting to avoid
spuriously triggering the `sc_tests_Exit_not_exit' maintainer
check.
2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix some failures, extend some checks
* Makefile.am (sc_diff_automake_in_automake): Update, as we
now expect 9 lines, not 8, to be changed from `automake.in'
to `automake'.
(sc_diff_aclocal_in_aclocal): New maintainer check, similar to
the above, and checking that only 10 lines are changed from
`aclocal.in' to `aclocal'.
(syntax_check_rules): Update.
(sc_tests_Exit_not_exit): Exempt self tests `self-check-*.test'
from this check, as they can legitimately use the bare `exit'
builtin in various places.
* doc/automake.texi (Python): Remove stray `@' from the end of
a line. Typo introduced in commit `v1.11-312-g5bf7af6'.
* tests/depcomp8a.test: Pass DISTCHECK_CONFIGURE_FLAGS to make
from the environment rather than from the command line, to
pacify the `sc_tests_overriding_macros_on_cmdline' maintainer
check.
* tests/depcomp8b.test: Likewise.
2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't require GNU make where it's not strictly needed
* tests/autohdr3.test: Rewrite to be stricter when make is GNU
make. Drop the requirement of GNU make.
* tests/aclocal5.test: Drop GNU make requirement, it's not truly
needed. Add reference to similar tests `remake-subdir*.test'.
* remake-subdir-gnu.test, remake-subdir-from-subdir.test,
remake-subdir.test, remake-subdir2.test: Add reference to
each other, and to related test `aclocal5.test'.
* tests/aclocal6.test: Drop GNU make requirement, it's not
truly needed.
* tests/confh6.test: Likewise.
* tests/lex3.test: Likewise.
* tests/remake11.test: Likewise.
* tests/subdir5.test: Likewise.
* tests/subdir8.test: Likewise.
* tests/werror2.test: Likewise.
* tests/conff.test: Likewise, and ensure verbose printing of
captured make output.
* tests/lex5.test: Tweak so that GNU make is no more required.
* tests/version7.test: Likewise.
* tests/maken2.test: Add explicative comment for why this test
requires GNU make.
* tests/maken4.test: Let it run also with BSD makes supporting
the `.MAKE' special target.
* tests/output6.test: Use proper m4 quoting in configure.in.
Expand make macros with one-character name using `$(x)', not
`$x', for portability. Move checks in the makefiles, rather
than relying on grepping the output from make. Drop the now
unneeded GNU make requirement.
2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
remake: behave better with non-GNU make in subdirectories
Currently, with every decent make program, it is possible to
rebuild out-of-date autotools-generated files with a simple
"make Makefile" -- but for this to work reliably with non-GNU
make implementations, the command must be issued from the
top-level directory. This patch removes such limitation.
* lib/am/configure.am (am--refresh): Depend on `%MAKEFILE%'.
* tests/remake-subdir.test: New test.
* tests/remake-subdir2.test: Likewise.
* tests/remake-subdir-gnu.test: Likewise.
* tests/remake-subdir-from-subdir.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
lex tests: fix spurious failures with Solaris lex
* tests/lex-lib.test (foo.l): Avoid empty "rules section", which
can confuse Solaris lex.
* tests/lex-libobj.test (foo.l): Likewise.
2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
lex tests: do not force the use of flex unconditionally
* tests/defs (lex): Act more similarly to what the `yacc'
requirement does, i.e., only force the use of flex if the
$LEX variable is left unset by the user.
(flex): Use `skip_' to skip the test if flex is not found.
2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
lex tests: avoid possible hang; fix and extend
* tests/lex3.test (foo.l:yywrap): Return 1, not 0, to avoid hangs.
Bug introduced in commit 'v1.11-871-geb147a1'.
(Makefile.am): Do not add `@LEXLIB@' to `$(LDADD)', as we define
our own `yywrap' function.
* tests/lex.test (tscan.l): In `yywrap', return 1, not 0, for
consistency with the default flex implementation.
* tests/lex-libobj.test (yywrap.c): Likewise.
* tests/lex-subobj-nodep.test (s1.l): Likewise.
* tests/lexvpath.test (foo.c): Likewise.
* tests/silent-lex-gcc (foo.l): Likewise.
* tests/silent-lex-generic (foo.l): Likewise.
* tests/silent-many-gcc (foo5.l): Likewise.
* tests/silent-many-generic (foo5.l): Likewise.
* tests/lex-lib.test (mu.c): Likewise.
Update heading comments, to refer to ...
* tests/lex-lib-external.test: ... this new test, which checks
that we can get use the `yywrap' function from a system-wide
library, if that's available.
2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: prefer `skip_' over `echo ...; Exit 77'
* tests/self-check-cleanup.test: When the test must be skipped,
use `skip_ REASON' instead of `echo REASON; Exit 77'. Also,
make the skip message shorter and clearer.
2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures in self tests
Our ad-hoc usage of `tests/defs' in the testsuite's self tests
stopped working properly when we made the test scripts re-execute
themselves with the configure-time $SHELL. Fix this.
Fixes a bug introduced by commit 'v1.11-874-g1321be7'.
* tests/defs: Only check that we can find the client test script
when we must re-execute it.
* tests/self-check-cleanup.test: Export `AM_TESTS_REEXEC' to "no"
before running the self tests.
* tests/self-check-dir.test: Likewise.
* tests/self-check-explicit-skips.test: Likewise.
* tests/self-check-me.test: Likewise.
* tests/self-check-sanity.test: Likewise.
* tests/self-check-reexec.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: prefer ulimit over timeout in test on a memory-hogging bug
* tests/cond29.test: Use 'ulimit' instead of 'timeout' to ensure
that automake does not uses up too much resources. This is really
and improvement because the bug tested by this script wasn't just
a "it hangs" or "it runs too slow" bug, but rather a memory-hogging
bug (due to combinatorial explosion when many Automake conditionals
had to be handled) which could easily crash the whole system, which
is unacceptable. The requirement of a proper and working 'ulimit'
builtin might cause the test to be skipped on more systems, but
that shouldn't be a problem since the bug isn't about a portability
issue, but is rather an automake internal implementation problem.
I've verified that the test as updated by this patch still passes
with automake 1.8.5, automake 1.10.2, and obviously the development
version of automake, and that it fails with automake 1.7.9.
2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: avoid generating `*-p.test' tests, use a wrapper script
The generated `*-p.test' tests had already become just thin layers
around the corresponding test scripts. This change makes the final
step, converting to the use of a generic wrapper script and thus
avoiding the extra test generation (similarly to what is done for
the `*.instspc' and `*.depmod' tests).
* tests/parallel-tests.sh: New file, driver script to run checks
the on the `parallel-tests' semantics by wrapping tests that use
the generic "Simple Tests" driver.
* tests/gen-parallel-tests: Update, mostly to reflect the new
`.ptest' extensions used for tests in $(parallel_tests).
* Makefile.am (TESTS_EXTENSIONS): Add `.ptest'.
(PTEST_LOG_COMPILER): Define, it calls `parallel-tests.sh'.
($(parallel_tests)): Do not really generate `*-p.test' tests
anymore; this is now just a dummy dependency declaration required
in order to have make actually produce expected log files from
the `.ptest.log' suffix rule.
(EXTRA_DIST): Distribute `parallel-tests.sh'.
(MAINTAINERCLEANFILES): Don't remove the `$(parallel_tests)', it
is not necessary anymore.
(generated_tests): Variable definition removed.
(TESTS): Update, by listing `$(parallel_tests)' directly instead
of `$(generated_tests)'
(expected_list_of_tests): Remove `$(generated_tests)'.
(maintainer-check-list-of-tests): No need to explicitly depend on
`$(expected_list_of_tests)' anymore.
2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE
Currently, the Automake's own configure script allow definition
of AUTOCONF and AUTOM4TE, expected to point respectively to an
autoconf and autom4te programs. But while these definitions are
honoured in the Automake's build systems and test suite, they
were *not* honoured in the generated `automake' and `aclocal'
scripts. This behaviour, apart from being wrong in that it does
not allow the user enough freedom in choosing his tools, also
caused inconsistencies in the test suite, brining to spurious
failures.
Problem reported by Graham Reitz on the automake list; see thread:
<http://lists.gnu.org/archive/html/automake/2011-05/msg00022.html>
* automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'.
* aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'.
* Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and
`@am_AUTOM4TE'.
* NEWS: Update.
* THANKS: Update.
2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too
Our build system allows the user to override AUTOCONF and AUTOHEADER
at configure time, and honours these overrides in our testsuite.
But it didn't do the same with AUTOM4TE, AUTORECONF and AUTOUPDATE.
This change fixes that inconsistency.
* configure.ac (am_AUTOM4TE, am_AUTOUPDATE, am_AUTORECONF): New
AC_SUBSTitutions. Update comments.
* tests/defs.in ($AUTOUPDATE): Default to `@am_AUTOUPDATE@' now.
($AUTOM4TE): New variable, defaulting to `@am_AUTOM4TE@'.
($AUTORECONF): New variable, defaulting to `@am_AUTORECONF@'.
* doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Update.
2011-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: stricter checks on DISABLE_HARD_ERRORS support
* tests/parallel-tests-harderror.test: New test, doing more
in-depth checks on DISABLE_HARD_ERRORS.
* tests/parallel-tests.test: Remove tests on DISABLE_HARD_ERRORS,
now redundant.
* tests/Makefile.am (TESTS): Update.
2011-05-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini <stefano.lattarini@gmail.com>
tests/README: fix example about `make -e' usage
* tests/README (Section "Writing test cases" subsection "Do"): When
some variable is never initialized in the Makefile, `-e' is not
necessary in order to override it. DESTDIR is such a variable: we
ensure that we do not ever initialize it. And as such, it is quite
portable to use:
$ make DESTDIR=/foo/bar install
and in fact, quite widely used.
So our example about when `make -e' is required, which references
the `DESTDIR' variable, is poorly chosen, if not downright wrong.
Rewrite it to use `prefix' as the overridden variable instead.
2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't require gfortran if any fortran compiler is enough
* tests/silentf90.test ($required): Require `fortran', not
`gfortran'.
* tests/silentf77.test ($required): Require `fortran77', not
`gfortran'.
* tests/silent-many-generic.test ($required): Require `fortran'
and `fortran77' rather than `gfortran'.
2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: improve `ccnoco*.test', better cross-compiling support
* tests/ccnoco3.test (Mycomp): Use the `$CC' chosen by `tests/defs'
instead of forcing `gcc' unconditionally. This ensures better
coverage in case of cross-compiling, when GCC can be named e.g.,
`i586-mingw32msvc-gcc', instead of simply `gcc'.
* tests/ccnoco.test: Likewise. Remove redundant checks. Modernize
the created `configure.in'. Run tests both in-tree and in VPATH.
Export `CC' to the overridden value only once.
* tests/ccnoco2.test: Slightly stricter grepping of automake
stderr. Add trailing `:' command.
2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: each test case depends on `defs-static'
* tests/Makefile.am ($(TEST_LOGS)): Depends on `defs-static' too.
Simplify comments.
2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: use $SHELL to run tests which are shell scripts
* tests/Makefile.am (TEST_LOG_COMPILER): Define so that the
configure-time $SHELL is used to run the tests.
* tests/defs: Add code to re-execute by default the running
test script with configure-time $SHELL. Updated comments.
* configure.ac: Check that `set -e' is working for $SHELL,
not for /bin/sh.
* tests/defs-static.in: Update comments.
* tests/README (Supported shells): Updated.
(Getting details from failures): Don't tell that tests are
run by /bin/sh by default.
2011-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: split 'subst2.test' to improve modularity and coverage
* tests/subst2.test: Test removed, split into ...
* tests/programs-primary-rewritten.test: ... this test ...
* tests/subst-no-trailing-empty-line.test: ... and this one ...
* tests/extra-programs-empty.test: ... and this one.
* tests/Makefile.am (TESTS): Update.
2011-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: tweak and improve tests on Automake conditionals
The "avoid the requirement of a working compiler" we refer about
below is obtained by disabling automatic dependency tracking and
defining `CC' (and `EXEEXT', `OBJEXT', `CXX', etc., if needed) to
dummy values, either directly in the `Makefile.am', or by AC_SUBST
in `configure.in'.
The "cosmetic changes" we refer about below consists in, e.g.,
adding a trailing `:' command to a script, using proper m4 quoting
in `configure.in' files, adding commands that offer more debugging
output, explicitly declaring phony targets as such in Makefiles,
making use of idioms more consistent with those employed in other
tests, following the GNU formatting standards more closely, etc.
* tests/cond.test: Cosmetic changes.
* tests/cond3.test: Likewise.
* tests/cond10.test: Likewise.
* tests/cond14.test: Likewise.
* tests/cond15.test: Likewise.
* tests/cond17.test: Likewise.
* tests/cond40.test: Likewise.
* tests/cond13.test: Likewise, and make grepping of the generated
`Makefile.in' slightly stricter.
* tests/cond6.test: Extend by also running ./configure, make and
"make install". Few cosmetic changes.
* tests/cond8.test: Likewise.
* tests/cond2.test: Do few cosmetic changes. Make grepping of
automake stderr stricter.
* tests/cond20.test: Likewise.
* tests/cond23.test: Likewise.
* tests/cond24.test: Likewise.
* tests/cond42.test: Likewise.
* tests/cond46.test: Likewise.
* tests/cond9.test: Move more checks in the `Makefile.am' instead
of grepping make's output.
* tests/cond38.test: Likewise.
* tests/cond11.test: Likewise. Avoid the requirement of a working
C compiler.
* tests/cond16.test: Likewise.
* tests/cond22.test: Likewise.
* tests/cond30.test: Likewise.
* tests/cond31.test: Likewise.
* tests/cond4.test: Likewise, and drop the now-useless GNU make
requirement as well.
* tests/cond18.test: Likewise.
* tests/cond19.test: Likewise.
* tests/cond22.test: Likewise.
* tests/cond25.test: Add trailing `:' command.
* tests/cond26.test: Likewise.
* tests/cond27.test: Likewise.
* tests/cond28.test: Likewise.
* tests/cond29.test: Use `unindent' function for better formatting.
Other minor cosmetic changes. Use a `timeout' program (if it's
available) to determine whether the script takes too long, instead
of just hoping that the user will notice an abnormally long test
execution time.
* tests/cond33.test: Extend a bit. Fix heading comments. Few more
cosmetic changes.
* tests/cond37.test: Ensure verbose printing of captured make
output. Minor cosmetic changes.
* tests/cond34.test: Likewise. Avoid the requirement of a working
C compiler. Make grepping of make output slightly stricter.
* tests/cond35.test: Quote literal dots in grep regexp. Add extra
debugging output. Minor cosmetic changes.
* tests/cond36.test: Likewise.
* tests/cond41.test: Do not simply check that aclocal fails, but
also grep its stderr for the expected error message.
* tests/cond43.test: Likewise (but the program being automake).
Few cosmetic changes.
* tests/condd.test: Avoid the requirement of a working C compiler.
* tests/condman3.test: Extend by using more man pages and more
manpage sections.
* tests/condman.test: Removed, it's completely superseded by
`condman3.test'.
* tests/Makefile.am (TESTS): Update.
2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
lex tests: avoid spurious failures when LEXLIB isn't found
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 might be (partly) 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 in Linux->MinGW cross
compilations). But at this point is clear that a proper workaround
is to simply provide a fall-back implementation of `yywrap' in our
lexers.
* tests/cond35.test: Provide a dummy `yywrap' function.
* tests/lex3.test: Likewise.
* tests/lexvpath.test: Likewise.
* tests/silent-many-gcc.test: Likewise.
* tests/silent-many-generic.test: Likewise.
* tests/silent-lex-gcc.test: Likewise, and a dummy `main' too.
* tests/silent-lex-generic.test: Likewise.
* tests/lex-lib.test: New test.
* tests/lex-libobj.test: New test.
* tests/lex-nowrap.test: New test.
* tests/Makefile.am (TESTS): Update.
* THANKS: Update.
Thanks to Russ Allbery for the suggestion.
2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: require C++ compiler explicitly in tests needing it
The list of the test scripts which needed a C++ compiler but
failed to require it explicitly has been found by running:
$ tests=`grep -lE 'CXX|\.c(c|\+\+|xx|pp)' *.test | tr '\n' ' '`
$ am_explicit_skips=yes CXX=false make check TESTS="$tests"
and looking for tests that reported FAIL instead of SKIP.
After the present change, all those previously failing tests
either pass or get correctly skipped.
* tests/subobj9.test: Require `c++', instead of explicitly
skipping on configure failure. Add excerpts and/or details from
the original bug report that prompted this tests to be written.
* tests/silentcxx-gcc.test: Require g++.
* tests/silentcxx.test: Require c++.
* tests/suffix3.test: Likewise.
2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: don't require g++ where any C++ compiler is enough
* tests/specflg10.test ($required): Use `c++', not g++.
* tests/silent-many-generic.test: Likewise.
2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: require C compiler explicitly in tests needing it
The list of the test scripts which needed a C compiler but
failed to require it explicitly has been found by running:
$ am_explicit_skips=yes CC=false make check
and looking for tests that reported FAIL instead of SKIP.
After the present change, all those previously failing tests
either pass or get correctly skipped.
* tests/aclocal4.test ($required): Add `cc'.
* tests/ansi.test: Likewise.
* tests/ansi10.test: Likewise.
* tests/ansi3.test: Likewise.
* tests/ansi3b.test: Likewise.
* tests/ansi5.test: Likewise.
* tests/ansi6.test: Likewise.
* tests/ansi7.test: Likewise.
* tests/ansi9.test: Likewise.
* tests/backcompat6.test: Likewise.
* tests/canon7.test: Likewise.
* tests/check5.test: Likewise.
* tests/check7.test: Likewise.
* tests/check8.test: Likewise.
* tests/cond4.test: Likewise.
* tests/cond11.test: Likewise.
* tests/cond16.test: Likewise.
* tests/cond18.test: Likewise.
* tests/cond19.test: Likewise.
* tests/cond22.test: Likewise.
* tests/cond30.test: Likewise.
* tests/cond31.test: Likewise.
* tests/cond32.test: Likewise.
* tests/cond34.test: Likewise.
* tests/cond35.test: Likewise.
* tests/cond39.test: Likewise.
* tests/condd.test: Likewise.
* tests/cygnus-dependency-tracking.test: Likewise.
* tests/depcomp2.test: Likewise.
* tests/depcomp6.test: Likewise.
* tests/depcomp7.test: Likewise.
* tests/depcomp8a.test: Likewise.
* tests/depcomp8b.test: Likewise.
* tests/depdist.test: Likewise.
* tests/depend2.test: Likewise.
* tests/depend5.test: Likewise.
* tests/distcleancheck.test: Likewise.
* tests/distname.test: Likewise.
* tests/exeext.test: Likewise.
* tests/exeext4.test: Likewise.
* tests/extradep.test: Likewise.
* tests/extradep2.test: Likewise.
* tests/gnits2.test: Likewise.
* tests/gnits3.test: Likewise.
* tests/instdir-ltlib.test: Likewise.
* tests/instdir-prog.test: Likewise.
* tests/instfail.test: Likewise.
* tests/instfail-libtool.test: Likewise.
* tests/lex3.test: Likewise.
* tests/lex5.test: Likewise.
* tests/lexvpath.test: Likewise.
* tests/lex-subobj-nodep.test: Likewise.
* tests/lflags.test: Likewise.
* tests/libobj-basic.test: Likewise.
* tests/libobj2.test: Likewise.
* tests/libobj7.test: Likewise.
* tests/libobj10.test: Likewise.
* tests/libobj16a.test: Likewise.
* tests/libobj16b.test: Likewise.
* tests/libobj17.test: Likewise.
* tests/libobj19.test: Likewise.
* tests/libtool2.test: Likewise.
* tests/libtool3.test: Likewise.
* tests/libtool7.test: Likewise.
* tests/libtool9.test: Likewise.
* tests/libtoo10.test: Likewise.
* tests/libtoo11.test: Likewise.
* tests/ltcond.test: Likewise.
* tests/ltcond2.test: Likewise.
* tests/ltconv.test: Likewise.
* tests/ltinit.test: Likewise.
* tests/ltlibsrc.test: Likewise.
* tests/ltorder.test: Likewise.
* tests/nobase.test: Likewise.
* tests/nobase-libtool.test: Likewise.
* tests/mmodely.test: Likewise.
* tests/parallel-tests5.test: Likewise.
* tests/parallel-tests-suffix-prog.test: Likewise.
* tests/parallel-tests-ext-driver-prog.test: Likewise.
* tests/posixsubst-ldadd.test: Likewise.
* tests/posixsubst-libraries.test: Likewise.
* tests/posixsubst-ltlibraries.test: Likewise.
* tests/posixsubst-programs.test: Likewise.
* tests/posixsubst-sources.test: Likewise.
* tests/pr87.test: Likewise.
* tests/pr204.test: Likewise.
* tests/pr224.test: Likewise.
* tests/pr300-lib.test: Likewise.
* tests/pr300-ltlib.test: Likewise.
* tests/pr300-prog.test: Likewise.
* tests/pr401.test: Likewise.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
* tests/remake-gnulib-add-acsubst.test: Likewise.
* tests/remake-gnulib-add-header.test: Likewise.
* tests/regex.test: Likewise.
* tests/repeated-options.test: Likewise.
* tests/silent.test: Likewise.
* tests/silent3.test: Likewise.
* tests/silent9.test: Likewise.
* tests/silent-lex-generic.test: Likewise.
* tests/silent-many-generic.test: Likewise.
* tests/silent-yacc-generic.test: Likewise.
* tests/specflg7.test: Likewise.
* tests/specflg9.test: Likewise.
* tests/specflg10.test: Likewise.
* tests/stdinc.test: Likewise.
* tests/strip.test: Likewise.
* tests/strip2.test: Likewise.
* tests/strip3.test: Likewise.
* tests/subdirbuiltsources.test: Likewise.
* tests/subobj3.test: Likewise.
* tests/subobj6.test: Likewise.
* tests/subobj11a.test: Likewise.
* tests/subpkg.test: Likewise.
* tests/subst2.test: Likewise.
* tests/subst3.test: Likewise.
* tests/substref.test: Likewise.
* tests/substre2.test: Likewise.
* tests/suffix5.test: Likewise.
* tests/suffix8.test: Likewise.
* tests/suffix10.test: Likewise.
* tests/suffix11.test: Likewise.
* tests/suffix12.test: Likewise.
* tests/suffix13.test: Likewise.
* tests/target-cflags.test: Likewise.
* tests/transform.test: Likewise.
* tests/transform2.test: Likewise.
* tests/yacc-basic.test: Likewise.
* tests/yacc-d-basic.test: Likewise.
* tests/yacc-clean.test: Likewise.
* tests/yacc-dist-nobuild.test: Likewise.
* tests/yacc-nodist.test: Likewise.
* tests/yaccvpath.test: Likewise.
* tests/yacc-d-vpath.test: Likewise.
* tests/yacc4.test: Likewise.
* tests/yacc7.test: Likewise.
* tests/yacc8.test: Likewise.
* tests/yaccdry.test: Likewise.
* tests/yflags-cmdline-override.test: Likewise.
* tests/yflags-force-override.test: Likewise.
* tests/python-virtualenv.test: Likewise. Also, improve skip
messages.
* tests/subobj5.test ($required): Add `cc'.
(Makefile.am): Set `AUTOMAKE_OPTIONS' to `subdir-objects', and
add new checking rules `test-build' and `test-distdir'.
Extend the test by building and examining the distdir, the
program, and the object files.
* tests/postproc.test ($required): Add `cc'.
Avoid the explicit `|| Exit $?' after call to configure, which
is now either redundant (e.g., when `am_explicit_skips' is
unset), or counter-productive (e.g., when `am_explicit_skips'
is set to "yes").
* tests/pr243.test: Likewise.
* tests/pr266.test: Likewise.
* tests/pr220.test: Simplify so that it doesn't require a
C compiler anymore.
* tests/subdir5.test: Likewise.
* tests/subdir8.test: Likewise.
* tests/lflags.test: Likewise.
* tests/yflags.test: Likewise.
* tests/yflags-force-conditional.test: Likewise.
* tests/lflags2.test: Simplify so that it doesn't require a
C++ compiler anymore.
* tests/yflags2.test: Likewise.
* tests/autohdrdry.test (configure.in): Remove unneeded call
to `AC_PROG_CC'.
* tests/pr287.test: Likewise.
* tests/check6.test: Likewise.
* tests/cond21.test: Likewise, plus some cosmetic adjustments.
* tests/upc.test: Skip if configure fails with status `77'.
* tests/upc3.test: Likewise.
* tests/vala4.test: Likewise.
* tests/nostdinc.test: Likewise. Also, make grepping checks
on `Makefile.in'. Update heading comments.
* tests/compile5.test: When we must skip, skip explicitly,
and with a meaningful message.
* tests/instspc-tests.sh: When running in "test-build" or
"test-install" mode (as determined by the value of variable
`$instspc_action'), require `cc'. Adjust comments.
* tests/depmod-tests.sh: Likewise.
2011-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: allow user to ask for stricter skip semantics
Given how the Automake testsuite is currently structured, if a
command in a test script fails with status `77', the global test
outcome is considered a SKIP, because the value of `77' for `$?'
is passed to the exit trap. Indeed, this happens in practice, as
an autoconf-generated configure script can exit with status `77'
if it fails to find, e.g., a required compiler.
While this behaviour is quite useful for avoiding spurious test
failures in the wild, it can also sometimes prevent the Automake
developers to easily see and declare the requirements of their
tests.
This change introduces a new variable `am_explicit_skips', meant to
be user-overridable, and which, when set to a "true" value (i.e.,
`yes' or `1'), require a direct call to `Exit 77' in order to make
the test outcome be considered a SKIP.
* tests/defs.in ($am__test_skipped): New variable, initialized
to `no'.
(Exit): Set `$am__test_skipped' to `yes' if passed an exit status
of 77.
(trap '...' 0): When `$am_explicit_skips' is set to a "true" value,
reset an exit status of `77' to `78' if $am__test_skipped is not
set to `yes'.
* tests/self-check-exit.test: Adjust: unset `am_explicit_skips'.
* tests/self-check-explicit-skips.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: user can force skipping of compiler-requiring tests
* tests/defs (cc, c++, fortran, fortran77): Skip the test if
the relevant compiler is disabled by having the corresponding
variable (CC, CXX, FC and F77, respectively) set to "false".
(yacc): For consistency, skip the test when the YACC variable
is set to "false", not when it's set to "no". Since we are at
it, fix the skip message to be shorter and more consistent.
2011-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: tweak and improve tests on "Simple Tests" driver
* tests/check.test: Make grepping of generated Makefile.in
slightly stricter. Add trailing `:' command.
* tests/check2.test: Ensure verbose printing of captured make
output. Make grepping of generated Makefile.in and of make
output stricter. Add trailing `:' command.
* tests/check3.test: Likewise. Also, fix minor error in a
comment.
* tests/check4.test: Stricter grepping of make output. Use
`using_gmake' subroutine instead of copy&paste from defs.in
to determine whether $MAKE is GNU make. Add a trailing `:'
command.
* tests/check6.test: Add trailing `:' command.
* tests/check10.test: Prefer redirection `>' over `>>' when
creating new files. Ensure verbose printing of captured make
output.
* tests/check11.test: Likewise.
* tests/check7.test: Likewise. Make grepping of make output
stricter. Prefer "make distcheck" over a simple "make check"
in a VPATH build. Add trailing `:' command.
(a.c): Format following GNU coding standards.
(Makefile.am): Explicitly declare target `print-xfail-tests'
as PHONY. Distribute $(check_SCRIPTS), for distcheck.
* tests/parallel-tests.test: Prefer redirection `>' over `>>'
when creating new files.
* tests/parallel-tests2.test: Likewise.
* tests/parallel-tests9.test: Likewise.
* tests/parallel-tests8.test: Likewise. Make grepping of
automake stderr stricter.
* tests/check8.test: Likewise. Make formatting of created
*.c files more consistent with GNU Coding Standards.
* tests/check-subst-prog.test (configure.in): Break overly
long lines.
(pass-prog.c, xfail-prog.c): Format them more consistently
with GNU Coding Standards.
* tests/parallel-tests3.test: Use a shorter and clearer skip
message. Use the `unindent' subroutine to improve readability
of indented loop bodies. Simplify the hack used to please
maintainer-check.
* tests/parallel-tests5.test: Make formatting of created *.c
files more consistent with GNU Coding Standards. Use the
`unindent' subroutine to improve readability of indented loop
bodies.
* tests/parallel-tests10.test: Add blank line, for clarity.
Prefer trailing `:' over trailing `Exit 0', for consistency
with other tests.
2011-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tests/README: small consistency improvement
* tests/README (Section "User interface" subsection "Running the
tests"): In examples, be more consistent w.r.t. the differences
between GNU and non-GNU make.
2011-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tests/README: suggest how to run tests in cross-compile mode
* tests/README (Section "User interface" subsection "Running the
tests"): Briefly explain how to override 'host_alias' at runtime
to force the use of cross-compilers by the testsuite. Give an
example.
2011-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: better detection of cross-compile mode
* configure.ac (AC_CANONICAL_HOST): New, probably not strictly
necessary, but useful to complements AC_CANONICAL_BUILD.
* tests/defs-static.in ($host_alias, $build_alias): New variables,
exported, user-overridable, defaults AC_SUBST'd by configure.
* tests/defs (cross_compiling): Consider cross-compilation mode
active only if `$host_alias' is not empty *and* it differs from
`$build_alias'. This is more faithful to the way configure
determines whether it is cross-compiling, but still allows the
user to easily force cross-compilation by overriding `host_alias'
and `build_alias' at runtime.
From a report by Ralf Wildenhues.
2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: avoid re-running few tests with 'parallel-tests' option
Some tests in our testsuite use the 'simple-tests' driver only
marginally, or simply as a mean to conveniently check unrelated
invariants. It makes little sense to force these tests to also
run with the 'parallel-tests' Automake option active, as doing so
offers no real gain in coverage, while often causing a measurable
overhead in execution time (for an already too-slow testsuite).
* tests/pr401.test (parallel_tests): Define to "no", to prevent
the generation of a sibling test script using the 'parallel-tests'
driver.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
* tests/java-flat.test: Likewise, and properly update heading
comments.
* tests/java-nested.test: Likewise, but defining `parallel_tests'
to "yes" instead, for improved coverage in conjunction with the
sister test `java-flat.test'.
2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: allow tests to avoid the use of 'parallel-tests' option
* tests/gen-parallel-tests: Do not generate "siblings" for tests
that explicitly define the `parallel_tests', whether to "yes" or
to any other value. Extend heading comments to give a rationale
for this behaviour.
* tests/README: Update.
2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
tests/README: update obsoleted advice
* tests/README (Section "Writing test cases" subsection "Do"):
Do not suggest to use the `*-p.test' pattern for the names of
hand-written tests which use the `parallel-tests' Automake option.
Not only is this not respected by the existing tests, but it is
more likely to cause conflicts with auto-generated tests.
So, suggest to *avoid* using the `*-p.test' pattern in names
of hand-written tests instead.
(Section "Writing test cases" subsection "Do not"): When
suggesting not to override Makefile variables using command
line arguments, do not use the badly outdated variables `U'
and 'ANSI2KNR' in the example; instead, use the more common
and typical `DESTDIR'.
2011-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failures in cross-compile mode
* tests/depcomp2.test: Ensure verbose printing of captured stderr
from configure.
* tests/ansi3.test ($required): Add 'native', as the ansi2knr
functionality is not meant to work with a cross-compiler.
* tests/ansi3b.test: Likewise.
* tests/ansi5.test: Likewise.
* tests/ansi6.test: Likewise.
* tests/ansi7.test: Likewise.
* tests/ansi8.test: Likewise.
* tests/ansi10.test: Likewise.
* tests/subobj3.test: Likewise.
* tests/check8.test ($required): Add 'native', as this test is
not meant to work with a cross-compiler.
* tests/gnits2.test: Likewise.
* tests/ltconv.test: Likewise.
* tests/ltcond2.test: Likewise.
* tests/parallel-tests5.test: Likewise.
* tests/specflg7.test: Likewise.
* tests/specflg8.test: Likewise.
* tests/check5.test: Likewise. Also, ensure verbose printing of
captured make output, and thrown in few cosmetic and consistency
improvements.
* tests/ltinit.test: Be laxer in grepping configure output, to
avoid spurious failures on systems which lack POSIX dynamic
linking (e.g., MinGW), or when cross-compiling for such systems.
* tests/ansi9.test: Skip parts of the test that would require a
native compiler.
* tests/backcompat6.test: Likewise.
* tests/depcomp8a.test: Likewise.
* tests/pr401.test: Likewise.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
* tests/target-cflags.test: Likewise.
* tests/lex3.test: Likewise.
* tests/yacc-basic.test: Likewise.
* tests/autohdr4.test: Likewise. Also, extend the test to ensure
more coverage in cross-compile mode.
* tests/canon7.test: Likewise.
* tests/check9.test: Removed, split into two new tests ...
* tests/check-subst-prog.test: ... this one, which requires a
native C compiler ...
* tests/check-subst.test: ... and this one, which doesn't require
any compiler.
* tests/parallel-tests4.test: Removed, split into two new tests ...
* tests/parallel-tests-suffix-prog.test: ... this one, which
requires a native C compiler ...
* tests/parallel-tests-suffix.test: ... and this one, which
doesn't require any compiler.
* tests/parallel-tests7.test: Removed, split into two new tests ...
* tests/parallel-tests-ext-driver-prog.test: ... this one, which
requires a native C compiler ...
* tests/parallel-tests-ext-driver.test: ... and this one, which
doesn't require any compiler.
* tests/Makefile.am (TESTS): Update.
2011-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: rename requirement 'non-cross' -> 'native'
* tests/defs.in (non-cross): Rename requirement ...
(native): ... to this, which is clearer and fits the
existing lingo better.
Suggestion by Ralf Wildenhues.
2011-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: be more cross-compile friendly
* tests/defs.in (cross_compiling): New subroutine.
(am__tool_prefix): New internal variable.
(gcc, g++, gcj): Force the use of the correct "tool prefix"
when cross compiling.
(gfortran, g77, non-cross): New requirements.
2011-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix portability issues in 'repeated-options.test'
* tests/repeated-options.test: Do not assume that object files
have `.o' suffix and executables have no default suffix; instead,
use `$(OBJEXT)' and `$(EXEEXT)'.
2011-05-11 Stefano Lattarini <stefano.lattarini@gmail.com>
check: document and test $(TEST_SUITE_LOG) overriding
* doc/automake.texi (Simple Tests using parallel-tests): Explain
how and why TEST_SUITE_LOG can be overridden at runtime.
* tests/parallel-tests-log-override-1.test: New test, check that
the newly documented idiom and similar usages are truly supported.
* tests/parallel-tests-log-override-2.test: Likewise.
* tests/parallel-tests-log-override-recheck.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure of extradep.test on FreeBSD
* tests/extradep.test: When using `ls -t' to determine whether a
file has been updated, make sure to use as reference a file whose
timestamp is expected to be *strictly* older that that of the file
being checked. This is required because at least FreeBSD `ls' do
not sort files with the same timestamp in alphabetical order when
using the `-t' option.
* tests/extradep2.test: Likewise.
2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure of txinfo21.test on FreeBSD
* tests/txinfo21.test: Use the `is_newest' subroutine instead of
the `ls -t' hack to to determine whether a file has been updated.
This is required because at least FreeBSD `ls' do not sort files
with the same timestamp in alphabetical order when using the `-t'
option.
2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix syntax error in 'silentcxx-gcc.test'
* tests/silentcxx-gcc.test (for config_args in ...): Remove extra
trailing backslash from the list of looped-on items.
2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
depmod tests: fix bug in depmodes list extraction
* tests/depmod-tests.sh (get_depmodes): Use `echo $all_depmodes'
instead of `... | tr "$nl" "$sp"' to strip extra whitespaces and
newlines from `$all_depmodes'. The latter idiom with `tr' is
wrong since it gets run before `./defs' is sourced, and thus `$nl'
and `$sp' are undefined.
Bug revealad by FreeBSD tr(1) implementation, which doesn't accept
empty strings as arguments.
2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests defs: use `skip_' for skipping java-related tests
* tests/defs.in (java, javac): Use `skip_' to signal test
skipping.
2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: add excerpts from few original bug reports, for clarity.
* tests/comment6.test: Add excerpts and/or details from the
original bug report that prompted this tests to be added and/or
extended.
* tests/dejagnu4.test: Likewise.
* tests/installdir.test: Likewise.
2011-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
lex: "make clean" removes .c files from non-distributed .l
Previously, while automake did *not* distribute C source and header
files derived from non-distributed Lex sources, it still caused
them to be removed only by "make maintainer-clean" only, and not by
simply "make clean" or "make distclean".
This caused "make distcheck" to fail, unless the developer put
those generated .c files in CLEANFILES or in DISTCLEANFILES by
hand.
This change fixes this issue, by making non-distributed `.c' files
generated by non-distributed Lex sources cleaned by "make clean".
A similar problem for Yacc support had been fixed with the commit
v1.11-263-ged2c8bc.
* tests/automake.in (lang_lex_target_hook): Make C source files
derived from non-distributed Lex files cleaned by "make clean",
not only by "make maintainer-clean".
* tests/lex-clean.test: New test.
* tests/lex-clean-cxx.test: Likewise.
* tests/lex-nodist.test: Likewise.
* tests/lex-pr204.test: Likewise.
* tests/pr204.test: For consistency, renamed ...
* tests/yacc-pr204.test: ... to this, and updated to keep it
more in sync with 'lex-pr204.test'.
* tests/yacc-nodist.test: Updated to keep it more in sync with
'lex-nodist.test'.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
2011-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
lex tests: make test on Lex dependency tracking more "semantic"
* tests/lex4.test: Renamed ...
* tests/lex-depend-grep.test: ... to this, and extended.
* tests/lex-depend.test, tests/lex-depend-cxx.test: ... these
new tests.
* tests/Makefile.am (TESTS): Update.
2011-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
lex tests: remove erroneous check about ylwrap distribution
* tests/lex5.test: Do not check that the ylwrap script is *not*
distributed when there is only one lexer, as ylwrap is in fact
expected to distributed unconditionally (at least starting from
commit `Release-1-9-323-gc5881cc' of 19-08-2006). Note that this
bogus check wasn't triggering any failure because it was done at
the wrong time (i.e. from the VPATH build directory), so that it
could never fail anyway.
Instead, check that ylwrap is distributed even when there is only
one lexer.
Since we are at it, add a couple of `ls -l' calls, to get better
debugging info.
2011-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc tests: "make clean" removes C++ files from non-distributed .y
* tests/yacc-clean-cxx.test: New test, sister of `yacc-clean.test'.
* tests/yacc-clean.test: Update heading comment to reference the
new sister test.
* tests/Makefile.am (TESTS): Update.
2011-05-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: add a workaround for automake bug#8485
* tests/yacc-d-cxx.test (Makefile.am): Add temporary workaround
for automake bug#8485. The bug is still exposed by the testcase
'yacc-dist-nobuild-subdir.test'.
2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: add a couple of inter-tests reference
* tests/yacc-nodist.test, tests/pr204.test: These tests are
related, so add references to each other in heading comments.
2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
lex tests: require just `lex' instead of `flex'
* tests/lex-subobj-nodep.test ($required): Require `lex',
not `flex', as this test is expected to work with any lex
implementation.
* tests/silent-lex.test: Likewise.
2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests defs: use `skip_' for skipping yacc/lex related tests
* tests/defs.in (lex, bison): Use `skip_' to signal test skipping.
2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests defs: merge cleanup
* tests/defs.in (flex, bison): Requirements removed, we have real
`lex' and `yacc' requirements now.
2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests defs: allow requirements for compilers (mostly dummy)
Most of the new requirements that are now accepted in `$required'
as consequence of this patch are still dummy. They are planned
to be implemented only in master (or in some derived branch), but
having them here (even just as no-op) will allow for an easier
integration/backporting of potential new testcases.
* tests/defs.in (cc, c++, fortran, fortran77): New requirements,
still dummy.
(flex): New requirement, picking LEX for configure.
(lex): New requirement, alias for `flex'. A more appropriate
implementation, looking for a generic `lex' program, will follow
in the future.
2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: 'silent-many-gcc.test' improved and made more robust
* tests/silent-many-gcc.test: Also force "fast" gcc depmode
for C++ compilations. Add sanity checks verifying that the
cache variables we force are really used by configure. Fix
typo in comments.
2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: drop useless requirements of 'g++'
* tests/lflags2.test ($required): Remove 'g++', as any working
C++ compiler should be enough, and ./configure will cause the
test to skip if no working C++ compiler is found.
* tests/yflags2.test: Likewise.
* tests/subobj9.test: Likewise.
* tests/silentcxx.test: Likewise. Also, do not force depmodes
that could cause non-GNU C++ compilers to fail.
* tests/silentcxx-gcc.test: New test, like `silentcxx.test',
but forcing "fast" gcc depmode (and thus requiring the GNU C++
compiler).
* tests/specflg10.test: Add proper "fixme" comment telling that
we should make this test work with a generic C++ compiler.
* tests/Makefile.am (TESTS): Update.
2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests defs: one more environment sanitization (corner case)
* tests/defs (am__using_gmake): Initialize. The `using_gmake'
subroutine was using this variable for caching, but wasn't
initializing it, which could cause problems in the (admittedly
very unlikely) case in which it was pre-existent in the
environment.
2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: add forgotten test scripts to $(TESTS)
* tests/Makefile.am (TESTS): Added test scripts man[678].test,
which have been present on the filesystem and in the repository,
but which had erroneously been left out from $(TESTS).
2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: ensure verbose printing of captured make output
* tests/libtool7.test: Ensure verbose printing of captured
make output.
* tests/libtool9.test: Likewise.
2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: consistency of list of test scripts
* CheckListOfTests.am: New file.
(maintainer-check-list-of-tests): New target,
check for consistency between list of tests defined in the
including Makefile and list of tests on the filesystem.
(clean-maintcheck-testslist-tmp): New rule, to clean up the
temporary files that might be left around by the rules associated
with the previous target.
(clean-local): Depend on it.
* lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
(maintainer-check): Added dependency from the new target
`maintainer-check-list-of-tests'.
* tests/Makefile.am: Likewise. Also ...
(checked_test_extensions): Define to `.test'.
(expected_test_list): Define properly.
* Makefile.am (maintainer-check-list-of-test): New target,
calling recursively into `tests/' and `lib/Automake/tests/',
using ...
(TEST_SUBDIRS): ... this new variable.
2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: drop useless requirements of gcc (plus testsuite tweakings)
* tests/libobj14.test ($required): Remove 'gcc', as we never run
the C compiler.
* tests/targetclash.test: Likewise.
* tests/ansi6.test ($required): Remove 'gcc', as any working
C compiler should be enough.
* tests/ansi7.test: Likewise.
* tests/ansi9.test: Likewise.
* tests/ansi10.test: Likewise.
* tests/lex5.test: Likewise.
* tests/lexvpath.test: Likewise.
* tests/mmodely.test: Likewise.
* tests/pr204.test: Likewise.
* tests/pr300-lib.test: Likewise.
* tests/pr300-prog.test: Likewise.
* tests/primary3.test: Likewise.
* tests/specflg7.test: Likewise.
* tests/specflg8.test: Likewise.
* tests/subdir5.test: Likewise.
* tests/subdir8.test: Likewise.
* tests/subobj6.test: Likewise.
* tests/subst3.test: Likewise.
* tests/substre2.test: Likewise.
* tests/yacc6.test: Likewise.
* tests/yacc8.test: Likewise.
* tests/depcomp2.test: Likewise. Also, avoid clobbering user-set
CFLAGS.
* tests/lex3.test: Likewise.
* tests/ansi3.test: Likewise. Also, avoid 'CC=gcc' in configure.
* tests/ansi3b.test: Likewise.
* tests/ansi5.test: Likewise.
* tests/autohdr4.test ($required): Remove 'gcc', as any working
C compiler should be enough.
Also, do not reject slow dependency extractors (which we might
be forced to use now that $CC is not necessarily gcc anymore).
* tests/cond16.test ($required): Remove 'gcc', as any working
C compiler should be enough.
Since we are at it, throw in few minor tweakings (mostly cosmetic,
stylistic, or consistency-related).
* tests/cond18.test: Likewise.
* tests/cond35.test: Likewise.
* tests/gnits2.test: Likewise.
* tests/libtool3.test: Likewise.
* tests/libtool7.test: Likewise.
* tests/libtool9.test: Likewise.
* tests/ltcond.test: Likewise.
* tests/ltcond2.test: Likewise.
* tests/ltconv.test: Likewise.
* tests/ltlibsrc.test: Likewise.
* tests/nobase.test: Likewise.
* tests/nobase-libtool.test: Likewise.
* tests/pr220.test: Likewise.
* tests/pr224.test: Likewise.
* tests/pr300-ltlib.test: Likewise.
* tests/pr401.test: Likewise.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
* tests/subpkg.test: Likewise.
* tests/target-cflags.test: Likewise.
* tests/transform.test: Likewise.
* tests/yacc4.test: Likewise.
* tests/cond19.test: Likewise. Also, avoid clobbering user-set
CFLAGS.
* tests/cond4.test: Likewise.
* tests/depend2.test: Likewise.
* tests/pr87.test: Likewise.
* tests/subobj3.test: Likewise.
* tests/substref.test: Likewise.
2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: increase coverage w.r.t. GNU make
* tests/defs (GNUmake): Instead of just skipping the tests
requiring GNU make if $MAKE is not GNU make, try to look for
it and, if found, redefine $MAKE accordingly. This will help
to transparently increase coverage on non-GNU systems which
have GNU make available in PATH.
2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: improve few inter-tests references
* tests/acloca22.test: Improve and extend the heading comments.
Add reference to related tests 'remake-deleted-m4-file.test' and
'remake-renamed-m4-macro-and-file.test'. Since we are at it,
add trailing `:' command, and few blank lines for readability.
* tests/remake-renamed-m4-macro-and-file.test: In the heading
comments, add reference to the related test 'acloca22.test'.
2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in 'color2.test'
* tests/color2.test: If $MAKE contains command-line arguments (as
in e.g., "make -j2"), expect's directive "spawn $env(MAKE)" fails
spuriously, because it tries to run "$MAKE" as a single command.
Fix this with proper uses of the TCL `eval' builtin.
2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: few more checks on automatic remake support
* tests/remake-all-1.test: New test, check that the "all" target
triggers rebuilt of outdated Makefiles.
* tests/remake-all-2.test: Likewise, but for when the makefiles
are not named `Makefile'.
* tests/Makefile.am (TESTS): Update.
2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: check some remake features with non-GNU make too
* tests/acloca14.test ($required): Drop "GNUmake". This test
works as-is with non-GNU make implementations.
* tests/remake1a.test: Likewise.
* tests/aclocal4.test ($required): Drop "GNUmake".
Modify the test to have it work also with non-GNU make.
* tests/remake5.test: Likewise.
* tests/remake8a.test: Likewise.
* tests/remake8b.test: Likewise.
* tests/remake9a.test: Likewise.
* tests/remake9b.test: Likewise.
* tests/remake9c.test: Likewise.
* tests/remake9d.test: Likewise.
* tests/remake10a.test: Likewise.
* tests/remake10b.test: Likewise.
* tests/remake10c.test: Likewise.
* tests/remake12.test: ($required): Drop "GNUmake".
Adapt the test to make it work also with non-GNU make (if
it supports an "include" directive).
2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: extend tests on dependency tracking with VPATH
* tests/depmod-tests.sh: New script, fulfilling a threefold role:
1. it is called to generate a Makefile.am snippet, containing the
definition of proper lists of tests;
2. it is called to set up a directory containing some common data
files and autotools-generated files used by the aforementioned
tests (this is done for speed reasons only); and
3. it is called to properly run those tests, one at a time.
* tests/depcomp9.test: Delete, it's obsolete now.
* tests/depcomp10.test: Likewise.
* tests/Makefile.am ($(srcdir)/depmod-tests.am): Include this
snippet, which defines ...
(depmode_tests): ... this new macro, containing the list of the
newly generated `*.depmod' tests.
(TESTS_EXTENSIONS): Add `.depmod'.
(DEPMOD_LOG_COMPILER): Define. It calls `depmod-tests.sh', so that
the "depmode tests" will be executed by passing that driver script
a proper parameter.
($(depmod_tests)): New dependency declaration (dummy, but required
in order to have make actually produce expected log files from the
`.depmod.log' suffix rule).
(TESTS): Add $(depmod_tests).
(EXTRA_DIST): Distribute depmod-tests.sh.
Other minor cosmetic changes and reorderings.
* bootstrap: Generate depmod-tests.am.
* tests/.gitignore: Updated.
2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid extra test generation (for `instspc' tests)
We don't really need to generate tons and tons of wrapper test
scripts (presently, ~ 90) just to run what is basically a single
test (specifically, `instspc-tests.sh') with different parameters.
In fact, the possibility of running a single driver script with
multiple files/configurations/parameters is one of the major
selling points of the 'parallel-tests' testsuite driver of
automake. So why not use ourselves more extensively the best
features we provide?
* tests/instspc-tests.sh: Update heading comments. Expect
to be executed, not sourced. Update handling of command-line
arguments. Adjust to reflect the renaming of "instspc tests"
from `instspc-*.test' to `*.instspc'.
* tests/instspc-data.test: Update heading comments. Execute
driver script `instspc-tests.sh', instead of sourcing it.
Give more informative messages in case of internal errors.
* tests/Makefile.am (TESTS_EXTENSIONS): Define explicitly (to
`.test' and `.instspc').
(TESTS): Add `$(instspc_tests)'.
(generated_tests): Remove `$(instspc_tests)'.
(INSTSPC_LOG_COMPILER): Define. Calls `instspc-tests.sh', so
that the "instspc tests" will be now executed by passing that
driver script a proper parameter.
($(instspc_tests)): Remove, we don't need anymore to generate
this tests.
($(instspc_tests:.test=.log)): Remove, substituted by ...
($(instspc_tests:.instspc=.log)): ... this.
($(instspc_tests)): New dependency declaration (dummy, but
required in order to have make actually produce expected log
files from the `.instspc.log' suffix rule).
(MAINTAINERCLEANFILES, generated_tests): Don't extend with
$(instspc_tests) anymore.
Update comments.
2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
build: improve the definition of the list of testcases
* tests/Makefile.am (handwritten_tests): New variable.
(generated_tests): Likewise.
(TESTS): Redefine as the union of the above.
(EXTRA_DIST): Extend using $(handwritten_tests) and
$(generated_tests) rather than $(TESTS).
* tests/gen-parallel-tests: Update accordingly, and
make more robust.
2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests skips: shorter and clearer messages
* tests/defs: Use shorter messages when giving reasons for test
skipping; it turns out these shorter messages are also clearer.
If more info might be useful, send them to the log file only.
2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix self check spurious failure with older bash versions
* tests/self-check-cleanup.test: Add trailing `:' to the test code
passed to $SHELL, otherwise older versions of bash (at least 2.05
and 3.2.39) fail to correctly remove the temporary directory in
the exit trap.
2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: add sanity check to 'self-check-cleanup.test'
* tests/self-check-cleanup.test: Check that the "hacked" file
`defs-static' used by the test differs from the "vanilla" one
in builddir. This also offers a little more debugging output.
2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: display reasons for skips to the console
* tests/Makefile.am (AM_TESTS_ENVIRONMENT): Open file descriptor
`9' to the original stderr; define `stderr_fileno_' to `9', and
export it.
* tests/self-check-report.test: Prevent new spurious failures by
removing from the environment any definition of `stderr_fileno_'.
2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: use `skip_' for skipping of tests
* tests/defs: Use the `skip_' subroutine for test skipping. Also
give sometimes more detailed messages about the reasons for the
skipping.
* tests/canon7.test: Likewise.
* tests/color.test: Likewise.
* tests/color2.test: Likewise.
* tests/compile2.test: Likewise.
* tests/dejagnu7.test: Likewise.
* tests/depcomp6.test: Likewise.
* tests/depcomp9.test: Likewise.
* tests/depcomp10.test: Likewise.
* tests/distlinks.test: Likewise.
* tests/distlinksbrk.test: Likewise.
* tests/fn99.test: Likewise.
* tests/fn99subdir.test: Likewise.
* tests/forcemiss2.test: Likewise.
* tests/fort5.test: Likewise.
* tests/gettext3.test: Likewise.
* tests/install2.test: Likewise.
* tests/instfail-info.test: Likewise.
* tests/instfail-java.test: Likewise.
* tests/instfail-libtool.test: Likewise.
* tests/instfail.test: Likewise.
* tests/instmany-mans.test: Likewise.
* tests/instmany-python.test: Likewise.
* tests/instmany.test: Likewise.
* tests/instsh3.test: Likewise.
* tests/ltinit.test: Likewise.
* tests/makej2.test: Likewise.
* tests/mdate6.test: Likewise.
* tests/mkinst3.test: Likewise.
* tests/parallel-tests3.test: Likewise.
* tests/parallel-tests-reset-term.test: Likewise.
* tests/parallel-tests-unreadable-log.test: Likewise,
* tests/python-virtualenv.test: Likewise.
* tests/remake-gnulib-remove-header.test: Likewise.
* tests/subobj9.test: Likewise.
* tests/symlink2.test: Likewise.
* tests/tar.test: Likewise.
* tests/tar2.test: Likewise.
* tests/txinfo26.test: Likewise.
* tests/vala2.test: Likewise.
* tests/vala3.test: Likewise.
* tests/vala5.test: Likewise.
* tests/vtexi4.test: Likewise.
* tests/instdir-texi.test: Likewise.
* tests/txinfo21.test: Likewise.
2011-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: more environment sanitization
* tests/defs: Move the checks verifying that the variables `me',
`parallel_tests' and `required' aren't set in the environment ...
* tests/defs-static.in: ... in here, with some optimizations to
avoid useless forks. Also, do the same checks for the variables
`original_AUTOMAKE' and `original_ACLOCAL' too.
* tests/self-check-env-sanitize.test: Update.
* tests/Makefile.am (TESTS_ENVIRONMENT): Unset also variables
`original_AUTOMAKE' and `original_ACLOCAL'.
2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure (non-renamed AM_TESTS_SETUP usage)
* tests/parallel-tests-reset-term.test: Use AM_TESTS_ENVIRONMENT
instead of AM_TESTS_SETUP (which has been removed in commit
v1.11-349-g12f48fa).
Fix spurious failure introduced by merge `v1.11-781-gfeed175'.
2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in a test on TESTS (VPATH-related)
* tests/check-tests-in-builddir.test: When not using the
parallel-tests option, do not check that VPATH components are
not present in the displayed test name, since the simple-tests
driver do not try to strip them.
2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in self-check-env-sanitize.test
* tests/self-check-env-sanitize.test: Open file descriptor `5'
to stdout.
Fix spurious failure introduced by merge `v1.11-788-g3b0c8d5'.
2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
test: self check subroutines for skipping/failing of tests
* tests/self-check-report.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-04-23 Jim Meyering <meyering@redhat.com>
Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: new subroutines for test skipping/failing
* tests/defs.in (Exit): Move definition of this function earlier.
(warn_, skip_, fail_, framework_failure_): New functions, inspired
to the homonyms in gnulib's tests/init.sh.
($stderr_fileno_): New global variable, used by the new functions
above.
* tests/README: Updated.
From a suggestion by Ralf Wildenhues.
2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix typo (copy & paste blunder) in heading comment
* tests/maintclean-vpath.test: Correctly refer to the sister test
as `maintclean.test', not as `maintclean-vpath.test'.
2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove redundant test `mclean.test'
* tests/mclean.test: Remove, it's a weak grepping test completely
superseded by the much more complete `maintclean.test'.
* tests/Makefile.am (TESTS): Update.
2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
java tests: use $PATH_SEPARATOR where appropriate
* tests/java-compile-run-nested.test: Use `$PATH_SEPARATOR', not
`:', to separate entries of extended PATH and CLASSPATH variables.
* tests/java-compile-run-flat.test: Likewise.
2011-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
java coverage: test JAVACFLAGS and AM_JAVACFLAGS
* tests/javaflags.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
java coverage: test rebuild rules for java
* tests/java-rebuild.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
java coverage: try to build and run a java program
* tests/java-compile-run-flat.test: New test, try to build and run
a "UNIX-style" java program (complete with wrapper shell script
and the like) with a "flat" source-tree setup (i.e., everything in
the top-level directory).
* tests/java-compile-nested.test: Likewise, but using a more
typical "nested" source-tree setup.
* tests/Makefile.am (TESTS): Update.
2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: new requirement for the default java interpreter
* tests/defs.in (for tool in $required): New requirement 'java'.
2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
java tests: tweak and make stricter a couple of tests
* tests/javasubst.test: Use proper m4 quoting. Add trailing `:'
command. Enable `errexit' shell flag, and related changes.
Prefer cat + here-doc over echo to append to configure.in.
Make grepping of Makefile.in stricter. Add debugging output.
Improve heading comments.
* tests/javaprim.test: Likewise.
2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
java coverage: add test on uninstall with JAVA primary
* tests/java-uninstall.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
java tests: require java compiler more properly
* tests/java-extra.test: Use "required=javac" instead of ad-hoc
configure check.
* tests/java-noinst.test: Likewise.
2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite: more environment sanitization
* tests/defs.in: Sanity check: abort if any of `parallel_tests'
or `required' is in the environment.
($sed_unindent_prog): Initialize to empty, to avoid interferences
from the environment.
* tests/self-check-me-in-env.test: Renamed to ...
* tests/self-check-env-sanitize.test: ... this, and extended.
* tests/Makefile.am (TESTS): Update.
(TESTS_ENVIRONMENT): Unset variables `parallel_tests' and
`required'. Adjust comments.
2011-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: in self-checks, use $SHELL, not /bin/sh
* tests/self-check-me-in-env.test: Include `./defs-static' to get
the definition of `$SHELL'. Use `$SHELL' instead of `/bin/sh' to
execute the tests.
2011-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: prefer AM_TESTS_ENVIRONMENT to TESTS_ENVIRONMENT
* tests/Makefile.am (TESTS_ENVIRONMENT): Renamed to ...
(AM_TESTS_ENVIRONMENT): ... this.
2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't allow `$me' to be overridden from the environment
* tests/defs.in: Sanity check: abort if $me is in the environment.
* tests/self-check-me-in-env.test: New test.
* tests/Makefile.am (TESTS_ENVIRONMENT): Unset variable `me'.
(TESTS): Update.
Suggestion by Ralf Wildenhues.
2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
check: rename AM_TESTS_SETUP -> AM_TESTS_ENVIRONMENT
The AM_TESTS_SETUP naming was not a good one after all. It may
be technically more correct than AM_TESTS_ENVIRONMENT, but the
latter is a better one simply because it is easier to remember,
and even if you've never heard of it and only know the semantics
of TESTS_ENVIRONMENT, you can have a straightforward way to
figure out how AM_TESTS_ENVIRONMENT would work.
* tests/check.am (am__check_pre): Update.
* doc/automake.in (Simple Tests using parallel-tests): Update.
* tests/parallel-tests-am_tests_setup.test: Renamed ...
* tests/parallel-tests-am_tests_environment.test: ... to this,
and updated.
* tests/Makefile.am (TESTS): Update.
Suggestion and motivation by Ralf Wildenhues.
2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: allow overriding of `$me'
* tests/defs.in ($me): Allow overriding by the including test
script. Add some explicative comments.
2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: more tests on the parallel-tests driver
* tests/parallel-tests-interrupt.test: New test.
* tests/parallel-tests-reset-term.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
check: new developer-reserved AM_TESTS_SETUP variable
For reference, see the discussion at:
<http://lists.gnu.org/archive/html/automake-patches/2011-01/msg00213.html>
* lib/am/check.am [%?PARALLEL_TESTS%] (am__check_pre): Pass also
$(AM_TESTS_SETUP). Comments updated, and some typos fixed.
* doc/automake.texi (Simple Tests using parallel-tests): Document
AM_TESTS_SETUP. Reorder some of the existing documentation a bit.
* tests/parallel-tests-am_tests_setup.test: New test.
From a suggestion by Ralf Wildenhues.
2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp tests: don't reject slower dependency extractors
* tests/depcomp8b.test: Add the `--enable-dependency-tracking'
option to `configure' invocations, so that slower dependency
extractors are not rejected.
* tests/depcomp8a.test: Likewise. Also ...
(foo.c): ... since we are at it, fix spacing to be consistent
with GNU coding standards.
2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
m4: add missing serial numbers to a few files
Fixes automake bug#8483.
* m4/amversion.in: Add serial number.
* m4/auxdir.m4: Likewise.
* m4/gcj.m4: Likewise.
* m4/install-sh.m4: Likewise.
* m4/mkdirp.m4: Likewise.
* m4/python.m4: Likewise.
* m4/runlog.m4: Likewise.
* m4/strip.m4: Likewise.
* m4/upc.m4: Likewise.
2011-04-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix few bugs in self checks
Related to automake bug#8508.
* tests/self-check-cleanup.test: Be laxer when grepping output
from `ls -l', to account for ACLs and SELinux-only files.
* tests/self-check-dir.test: Source `defs-static' to read in the
correct definition for $SHELL.
* tests/self-check-me.test: Likewise, and extend a bit.
Report from Jim Meyering.
2011-04-16 Jim Meyering <meyering@redhat.com>
depcomp: correct invalid sed invocation
* lib/depcomp: Insert missing -e before '/:$/d'.
Otherwise, that use of sed would treat '/:$/d' as a file name.
2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
maintainer check: quote literal `$' in Makefile rule
* Makefile.am (sc_tests_PATH_SEPARATOR): Escape literal `$'
character in double-quoted string. Fix a bug in which the rule
emitted an erroneously empty substring in its error message.
2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix typo in python5b.test
* tests/python5b.test: Remove extra `:' from $PATH redefinition.
2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
lex/yacc tests: remove redundant $distdir definition
* tests/lex3.test ($distdir): Remove definition, that's already
done in `tests/defs'.
* tests/lexvpath.test: Likewise.
* tests/yacc-basic.test: Likewise.
* tests/yacc-cxx.test: Likewise.
* tests/yacc-d-basic.test: Likewise.
* tests/yacc-d-cxx.test: Likewise.
* tests/yacc-d-vpath.test: Likewise.
* tests/yacc-dist-nobuild-subdir.test: Likewise.
* tests/yacc-dist-nobuild.test: Likewise.
* tests/yacc-mix-c-cxx.test: Likewise.
* tests/yaccvpath.test: Likewise.
2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove redundant settings of `errexit' shell flag
* tests/autodist-acconfig.test: Do not set the `errexit'
shell flag, as it is already set by `tests/defs'.
* tests/autodist-acconfig-no-subdir.test: Likewise.
* tests/autodist-aclocal-m4.test: Likewise.
* tests/autodist-config-headers.test: Likewise.
* tests/autodist-configure-no-subdir.test: Likewise.
* tests/autodist-stamp-vti.test: Likewise.
* tests/autodist-subdir.test: Likewise.
* tests/autodist.test: Likewise.
* tests/check-exported-srcdir.test: Likewise.
* tests/check-tests-in-builddir.test: Likewise.
* tests/check-tests_environment.test: Likewise.
* tests/help-python.test: Likewise.
* tests/java-check.test: Likewise.
* tests/java-extra.test: Likewise.
* tests/java-noinst.test: Likewise.
* tests/lex-subobj-nodep.test: Likewise.
* tests/ltinit.test: Likewise.
* tests/m4-inclusion.test: Likewise.
* tests/maintclean-vpath.test: Likewise.
* tests/parallel-tests-subdir.test: Likewise.
* tests/pr8365-remake-timing.test: Likewise.
* tests/python-dist.test: Likewise.
* tests/python-vars.test: Likewise.
* tests/python-virtualenv.test: Likewise.
* tests/python5b.test: Likewise.
* tests/specflg-dummy.test: Likewise.
* tests/yacc-dist-nobuild-subdir.test: Likewise.
2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: define default $distdir (help reducing duplication)
* tests/defs ($distdir): New variable, might be used in
testcases checking distribution-related features.
* tests/pr9.test: Use it.
* tests/subdir9.test: Likewise.
* tests/lex3.test: Likewise.
* tests/lexvpath.test: Likewise.
* tests/remake-moved-m4-file.test: Likewise.
* tests/remake-renamed-m4-file.test: Likewise.
* tests/remake-renamed-m4-macro-and-file.test: Likewise.
* tests/yacc-basic.test: Likewise.
* tests/yacc-d-basic.test: Likewise.
* tests/yacc-d-vpath.test: Likewise.
* tests/yacc-dist-nobuild.test: Likewise.
* tests/vtexi3.test: Add comment explaining why we redefine
$distdir in this test.
2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: test lex-generated "#line" directives postprocessing
* tests/yacc-line.test: In heading comments, add reference to new
sister test `lex-line.test'.
* tests/lex-line.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: minor improvements to a couple of yacc tests
* tests/yacc-auxdir.test: Avoid running autoconf, it's not
needed.
* tests/yacc-line.test: Also check that the yacc-generated C
and header files do not contain "#line" directives referencing
`y.tab.c' or `y.tab.h'. Add a couple of explicative comments.
2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: split yacc6.test, for better separation and coverage
* tests/yacc6.test: Test removed, its content extended and split
into ...
* tests/yacc-auxdir.test, tests/yacc-depend.test,
tests/yacc-line.test: ... these new tests.
* tests/yacc-depend2.test: New test, exposes the failure that
FreeBSD used to encounter in yacc6.test.
* tests/Makefile.am (TESTS): Update.
2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: do not uselessly require GNU make or gcc in a few tests
* tests/lex3.test: Remove gcc from requirements, as any working C
compiler should be ok. Consequently, do not clobber user CFLAGS.
Also, remove GNUmake from requirements; it was added (see commit
`Release-1-8-103-g0d2f592') because this test fails with FreeBSD
make due to VPATH issues -- but so do many other yacc-related and
lex-related tests currently, and requiring GNU make in all of
them would unacceptably reduce coverage.
* tests/lexvpath.test: Remove gcc from requirements, as any
working C compiler should be ok.
* tests/yacc4.test: Likewise.
* tests/yacc8.test: Likewise.
* tests/lex5.test: Likewise. Also, do not require anymore GNU
make; to compensate, explicitly call "$MAKE Makefile" to update
the out-of-date Makefile if $MAKE is not GNU make.
2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in test 'yacc-d-cxx.test'
* tests/yacc-d-cxx.test: Create ylwrap script before calling
automake for the first time, so that the script gets correctly
distributed. Add checks verifying it indeed is.
2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests cosmetics: remove redundant definitions of variable $tab
* tests/yacc-d-basic.test ($tab): Remove definition: it's already
defined in `tests/defs'.
* tests/yacc-d-cxx.test: Likewise.
2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: add some tests on bison support (still xfailing)
Related to automake bug#7648 and PR automake/491.
* tests/bison-skeleton-cxx.test: New test.
* tests/bison-skeleton.test: New test.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: test for automake bug#8485 (known regression)
* tests/yacc-dist-nobuild-subdir.test: New test.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: test mixed C/C++ yacc-generated parsers in the same dir
* tests/yacc-mix-c-cxx.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix typos and wording in some yacc tests
* tests/yacc-cxx.test (foo.cc): Clarify comment about the content
of this file being valid C++ but invalid C.
(parse1.yy): Likewise. Also, remove redundant parentheses in a
`return' statement.
* tests/yacc-d-cxx.test (write_parse): Clarify comment about the
content of the generated files being valid C++ but invalid C.
(write_main): Likewise.
* tests/yacc-basic.test: Remove redundant parentheses in a
`return' statement.
* tests/yacc-d-vpath.test: Adjust spacing around curly brackets.
* tests/yaccvpath.test: Likewise.
* tests/yaccdry.test: Likewise.
* tests/yacc8.test: Likewise.
* tests/yacc4.test: Likewise.
Suggested by Ralf Wildenhues.
2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: update NEWS and docs about yacc-generated headers extensions
* doc/automake.texi (Yacc and Lex): Document explicitly that
extensions of yacc-generated headers are modelled after the
extension of the corresponding sources.
* NEWS: Update.
2011-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: extension of headers modelled after extension of sources
With this change, if '-d' is in *YFLAGS, a yacc input file named
foo.y++ will cause a foo.h++ header to be generated, instead of a
foo.h header. Similarly for foo.ypp, foo.yxx and foo.yy.
This way, the name of the files generated by an automake-created
`ylwrap' invocation should be consistent with those generated by
a `bison -o' call.
Related to automake bug#7648 and PR automake/491.
* lib/am/yacc.am (am__yacc_c2h): New internal variable.
(?GENERIC?%EXT%%DERIVED-EXT%, ?!GENERIC?%OBJ%): Get the name of
the header dynamically at make runtime, so that its extension is
modelled after the extension of the source.
* automake.in (lang_yacc_target_hook): Adjust the calculation of
`$header' accordingly.
* tests/yacc-cxx.test: New test.
* tests/yacc-d-cxx.test: Likewise.
* tests/yacc-weirdnames.test: Likewise.
* tests/yacc-basic.test: Update comments.
* tests/yacc-d-basic.test: Likewise.
* tests/yaccpp.test: Updated and extended.
* tests/Makefile.am (TESTS): Update.
2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't define YACC and LEX in the Makefiles
We don't want YACC and LEX defined as make variables, otherwise
the values determined at configure time will override those from
the environment, even in the make-spawned testcases. For example,
before this change, with the following usage:
$ ./configure YACC=yacc
$ export YACC='bison -y'
$ make check
the testsuite would have ended up, very counterintuitively, with
YACC defined to 'yacc' in the testcases' environment.
* configure.ac: Call `AM_SUBST_NOTMAKE' on YACC and LEX.
2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures in lflags*.test
* tests/lflags.test: Remove 'LEX' from the environment, so
that it won't be erroneously picked up by `make -e'.
* tests/lflags2.test: Likewise.
2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: more on 'yacc -d' and recovery from deleted headers
* tests/yacc-deleted-headers.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove redundancy from silent lex/yacc tests
* tests/silent-yacc-gcc.test, tests/silent-yacc-generic.test: Merge
these two testcases into ...
* tests/silent-yacc.test: ... this new one, which doesn't fiddle
which dependency tracking, as that shouldn't impact on generation
of yacc-derived C source and header files (and, for what concerns
compilation of C files, is already tested in other testcases).
* tests/silent-lex-gcc.test, tests/silent-lex-generic.test: Merge
these two testcases into ...
* tests/silent-lex.test: ... this new test, for similar reasons.
* tests/Makefile.am (TESTS): Update.
2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests init: better messages for 'yacc' and 'lex' requirements
* tests/defs.in: Give better diagnostic messages when a test must
be skipped to the unavailability of yacc or lex program. Also,
improve syncing between code for requiring yacc and lex.
2011-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: look for a lex program to be used by the testsuite
This will allow the testcases requiring a 'lex' program to run also
with vendor/legacy lex implementations, not only with 'flex'.
* configure.ac: Look for a lex program, using AC_CHECK_PROGS.
* tests/defs.in: New required entry 'lex'.
($LEX): Let the user override the lex program to be used by the
testsuite.
* tests/cond35.test ($required): Require 'lex', not 'flex'.
* tests/cond36.test: Likewise.
* tests/lexv3.test: Likewise.
* tests/lexv3.test: Likewise.
* tests/silent-lex-gcc.test: Likewise.
* tests/silent-lex-generic.test: Likewise.
* tests/silent-many-gcc.test: Likewise.
* tests/silent-many-generic.test:likewise.
* tests/lexvpath.test: Likewise, and fix typo in comments.
2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: look for a yacc program to be used by the testsuite
Instead of forcing the user to manually export 'YACC' in the
testsuite to use a non-bison yacc, we now look for a yacc program
at configure time, and use that as the default in the testsuite.
* configure.ac: Look for a yacc program, using AC_CHECK_PROGS.
* tests/defs.in: Updated to use the value of $YACC precomputed by
configure, unless the user overrides that in the environment.
2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more coverage on yacc/lex silent-rules, plus minor cleanups
* tests/silent-yacc-gcc.test: Add sanity checks verifying that the
generated Makefile.in files really contains the non-generic rules
we expect. Do not redundantly manually remove files we know to be
already removed "make maintainer-clean".
(Makefile.am): Ensure we cover also non-generic yacc rules, by
setting target-specific YFLAGS.
(sub/Makefile.am): Likewise.
* tests/silent-yacc-generic.test: Likewise.
* tests/silent-lex-gcc.test: Likewise, but with LFLAGS instead of
YFLAGS.
* tests/silent-lex-generic.test: Likewise.
* tests/silent-many-gcc.test: Likewise, but with both LFLAGS and
YFLAGS. Also ...
(do_and_check_verbose_build): Remove redundant blank line.
* tests/silent-many-generic.test: Likewise.
* tests/silent-yacc-headers.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures in yflags*.test
* tests/yflags.test: Remove 'YACC' from the environment, so
that it won't be erroneously picked up by `make -e'.
* tests/yflags2.test: Likewise.
2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: cover yacc target-specific flags, and `-v' flag handling
* tests/yacc-basic.test: Also try to build a parser having `-v'
as target-specific flags. Add a couple of `ls -l' commands, for
debugging. Update and extend comments. Escape literal dots in
grep regular expressions.
2011-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: clustered '-d' not recognized in YFLAGS
This change fixes automake bug#7828.
* doc/automake.texi (Yacc and Lex): Document that automake
recognizes '-d' in AM_YFLAGS only if it's not clustered with
other options.
From a report by Юрий Пухальский.
2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: do not force yacc-requiring tests to use bison
* tests/defs.in: New required entry 'yacc'. Remove old
required entry 'bison'.
* tests/cond35.test ($required): Require yacc, not bison.
* tests/cond36.test: Likewise.
* tests/pr204.test: Likewise.
* tests/silent-many-gcc.test: Likewise.
* tests/silent-many-generic.test: Likewise.
* tests/silent-yacc-gcc.test: Likewise.
* tests/silent-yacc-generic.test: Likewise.
* tests/subpkg.test: Likewise.
* tests/suffix10.test: Likewise.
* tests/yacc-basic.test: Likewise.
* tests/yacc-clean.test: Likewise.
* tests/yacc-d-basic.test: Likewise.
* tests/yacc-d-vpath.test: Likewise.
* tests/yacc-dist-nobuild.test: Likewise.
* tests/yacc-nodist.test: Likewise.
* tests/yacc4.test: Likewise.
* tests/yacc6.test: Likewise.
* tests/yacc7.test: Likewise.
* tests/yacc8.test: Likewise.
* tests/yaccdry.test: Likewise.
* tests/yaccvpath.test: Likewise.
2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: warn about conditional content in *YFLAGS variables
This change fixes automake bug#7804.
* automake.in (lang_yacc_target_hook): Warn if any of the relevant
*YFLAGS variables has conditional contents (not only a conditional
definition). Related refactoring.
* NEWS: Updated.
* tests/yflags-conditional.test: Updated and extended.
* tests/yflags-conditional-force.test: New test.
* tests/Makefile.am (TESTS): Updated.
2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: support variable expansions in *YFLAGS definition.
This change fixes automake bug#7800.
* automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
instead of 'variable_value' to get the value of *YFLAGS variables.
Related changes.
($DASH_D_PATTERN): Removed.
* tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
* tests/yacc-clean.test: Remove workaround for now-fixed bug.
* NEWS: Update.
2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: more tests on *YFLAGS support
* tests/yflags-var-expand.test: New test, still xfailing. It
exposes automake bug#7800 -- "automake fails to honor `-d' in
AM_YFLAGS when variable expansions are involved".
* tests/yflags-d-false-positive.test: New test, checking that
automake do not spuriously see `-d' in *YFLAGS when that isn't
really there.
* tests/yflags-force-override.test: New test, checking that
automake can cope with definition of the YFLAGS variable in
Makefile.am (even if that is an extremely bad practice, as that
variable is user-reserved).
* tests/yflags-cmdline-override.test: New test, checking that
automake can cope with user-redefinition of YFLAGS at configure
time and/or at make time.
* tests/yflags-conditional.test: New test, checks that automake
warns on conditionally-defined *YFLAGS variables.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: extend and improve tests
* tests/yacc-basic.test: Also check that the intermediate C file
is mentioned in the generated Makefile.in, and that it is created
by the first make invocation.
* tests/yacc3.test: Test removed, superseded by ...
* tests/yacc-d-basic.test: ... this new test.
* tests/yacc2.test: Add reference to that new test in the heading
comments.
* tests/yacc-d-vpath.test: New test.
* tests/yaccvpath.test: Updated heading comments. Do not require
gcc anymore, as any working C compiler should be enough. Remove
redundant comments.
* tests/yacc-nodist.test: New test.
* tests/yacc-dist-nobuild.test: New test.
* tests/Makefile.am (TESTS): Update.
2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Extend, fix and improve tests on Lex and Yacc support.
* tests/lexcpp.test: New test script, on support for Lex + C++.
* tests/lexvpath.test: New test script, test build and rebuild
rules for lexers in VPATH setup.
* tests/yacc-basic.test: New test script, run simple "semantic"
checks on basic Yacc support (similarly to what lex3.test does
for Lex support).
* tests/lex.test: Don't create useless dummy source file joe.l.
Remove extra blank lines.
* tests/lex4.test: Add trailing `:' command. Do not create dummy
useless lex source file.
* tests/lex2.test: Likewise. Call automake with the `-a' option,
so that it doesn't fail for the absence of `ylwrap' script. Make
grepping of automake stderr stricter.
* tests/yacc7.test: Add trailing `:' command. Enable `errexit'
shell flag earlier (just after having sourced ./defs).
* tests/yacc4.test: Likewise. Also ...
(configure.in): Use pre-populated skeleton set up by ./defs,
instead of writing one from scratch.
Other minor cosmetic changes.
* tests/yacc5.test: Likewise.
* tests/yaccvpath.test: Likewise. Also ...
($distdir): New variable.
Use it throughout.
* tests/lex5.test: Likewise.
* tests/lex3.test: Likewise. Check the distdir, rather than
grepping the distribution tarball. Extend the test on the
created binary, and be sure to avoid hangs. Add some comments.
* tests/yacc.test: Use stricter grepping. Add trailing `:'.
* tests/yacc6.test: Likewise.
* tests/yacc3.test: Likewise. Do not create the unused file
`Makefile.sed'. Remove useless rules from Makefile.am. Other
minor cosmetic changes.
* tests/yacc2.test: Make grepping of generated `Makefile.in' and
of automake error messages stricter. Do not redirect output of
grep to /dev/null. Move call to aclocal earlier. Reduce the
number of empty blank lines. Fix a typo in comments.
* tests/yacc8.test: Fixed bugs that reduced the completeness of
the tests. Added trailing `:' command.
(configure.in): Use pre-populated skeleton set up by ./defs,
instead of writing one from scratch.
* tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
`.yxx', rather than only `.yy'.
* tests/Makefile.am (TESTS): Update.
2011-01-07 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: "make clean" removes .c and .h files from non-distributed .y
Previously, while automake did *not* distribute C source and header
files derived from non-distributed Yacc sources, it still caused
them to be removed only by "make maintainer-clean" only, and not by
simply "make clean" or "make distclean".
This caused "make distcheck" to fail, unless the developer put
those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
by hand.
This change fixes this issue, by making non-distributed `.c' and
`.h' files generated by non-distributed Yacc sources cleaned by
"make clean".
* tests/automake.in (lang_yacc_target_hook): Make C source and
header files derived from non-distributed Yacc files cleaned by
"make clean", not only by "make maintainer-clean".
* tests/yacc-clean.test: New test.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: fix bugs in tests and in the depcomp script
* lib/depcomp (gcc): Remove duplicated `-e' from sed invocation.
* tests/depcomp10.test: Make it executable. Fix a blunder that
has left part of an intended comment not prefixed by `#', thus
causing shell syntax errors. In this same comment, break a
too-long reported error message on multiple lines, for clarity.
Add reference to the relevant bug report. Add a comment which
explains why the test result 'skipped' if the first "make" call
fails. Add other useful comments.
* tests/depcomp9.test: Slightly improve comments.
2011-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix hp depmode for VPATH builds with GNU make.
* lib/depcomp: Be sure to remove VPATH-prefixed object from
dependency output when creating stub rule.
* tests/depcomp10.test: New test.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
Report by Bruno Haible.
2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2011-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: more on java support EXTRA_ and noinst_ prefixes
* tests/java-extra.test: New test, checking support for the
prefix `EXTRA_' with the JAVA primary.
* tests/java-noinst.test: New test, checking support for the
prefix `noinst_' with the JAVA primary.
* tests/Makefile.am (TESTS): Update.
2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: fix 'javac' requirement for older JDK versions
The Java compiler from JDK 1.5 (and presumably earlier versions)
cannot handle the `-version' option by itself; and while it does
print the version number, it then errors out with an usage error:
$ javac -version
javac 1.5.0_22
javac: no source files
Usage: javac <options> <source files>
...
Luckily, adding the `-help' option to the `javac' invocation
seems to fix this problem.
* tests/defs.in (javac): Pass also the `-help' option to the
`javac' program. Add a comment explaining why it is needed.
Report from Ralf Wildenhues.
2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: new requirement for the default java compiler
* tests/defs.in (for tool in $required): New requirement 'javac'.
* tests/java.test: Use it instead of ad-hoc configure check.
* tests/java-check.test: Likewise.
* tests/java-extra.test: Likewise.
* tests/java-noinst.test: Likewise.
* tests/instfail-java.test: Likewise.
* tests/instdir-java.test: Likewise.
2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
java: check_JAVA does not cause compilation by "make all" anymore
Fixes automake bug#8234.
* automake.in (handle_java): Make stamp of class files built from
java sources in $(check_JAVA) a dependency of `check' target, not
`all' target.
* tests/java-check.test: New test.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
* THANKS: Update.
Report from Petteri Räty.
2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Bruno Haible <bruno@clisp.org>
coverage: add tests on remake rules in more complex situations
* tests/defs (using_gmake): New function.
(for tool in $required): Use it when $tool is 'GNUmake'.
* tests/remake-moved-m4-file.test: New test.
* tests/remake-deleted-m4-file.test: Likewise.
* tests/remake-renamed-m4-file.test: Likewise.
* tests/remake-renamed-m4-macro-and-file.test: Likewise.
* tests/remake-renamed-m4-macro.test: Likewise.
* tests/remake-add-acsubst-gnulib.test: Likewise.
* tests/remake-add-header-gnulib.test: Likewise.
* tests/remake-remove-header-gnulib.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix in 'tests/defs'
* tests/defs: Fix typo (`itslef' instead of `itself') in
comments.
2011-04-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Clarify regex code in depcomp.
* lib/depcomp: Add comment why we don't need regex-escaping here.
Suggested by Stefano Lattarini.
2011-04-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix makedepend depmode for VPATH builds.
* lib/depcomp [makedepend]: Remove any VPATH prefix from the
object file name, so a rebuild doesn't attempt to update the
.Po files in the source tree.
* tests/depcomp9.test: New test.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
2011-04-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix timestamp-related failures
Fixes automake bug#8365.
* tests/aclocal6.test: Sleep before modifying m4 files that should
trigger remake rules. Remove incorrect/obsoleted comments.
* tests/subdir5.test: Likewise, and extend a bit.
* tests/subdir8.test: Likewise.
* tests/pr8365-remake-timing.test: New xfailing test.
* tests/Makefile.am (TESTS): Update.
Report from Sam Steingold.
2011-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Create subdirs for generated sources even when not dep tracking.
* automake.in (handle_single_transform): If $object is derived
and lands in subdir, be sure to output a dirstamp dependency.
* tests/yacc5.test: Avoid falsely matching the dirstamp
dependency when grepping for a rule.
* tests/lex-subobj-nodep.test: New test.
* tests/Makefile.am (TESTS): Update.
* THANKS: Update.
Report by Ignacy Gawedzki.
Fix locale issue in check-exported-srcdir.test.
* tests/check-exported-srcdir.test: Reformulate glob to not fail
in a locale that ignores or interleaves character case.
2011-04-01 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: better visibility for aclocal in the index
* doc/automake.texi (@menu): Rename title for entry 'configure'
from "Scanning configure.ac or configure.in" to the more precise
"Scanning configure.ac, using aclocal".
(@detailmenu): Adjust.
(@node configure): Adjust, and extend @cindex calls accordingly.
* THANKS: Update.
From a report by Maynard Johnson.
2011-03-30 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: improve tests on "maintainer-clean" target
* tests/aclocal6.test: Move checks related to "maintainer-clean"
functionalities into ...
* tests/maintclean-vpath.test: ... this new test.
* tests/maintclean.test: Update heading comments. Extend to also
test subdirs. Remove useless disabling of YACC. Fix m4 quoting
in configure.in. Add a trailing `:' command. Remove extra blank
lines.
* tests/Makefile.am (TESTS): Update.
2011-03-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: fix unindent to use printf not echo for script.
* tests/defs.in: Use printf rather than echo, as the latter may
interpret the backslashes in the sed script. Fixes test
failures with dash as /bin/sh.
2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
maintcheck: look for problematic names of testcases
The configure.in stub created by default by `tests/defs' obtains
the first argument of AC_INIT from the test name, and this can
cause some supported autoconf versions to fail with a spurious
error if that test name contains the name of an m4 or m4sugar
builtin or macro (e.g., `defn' or `m4_undefine').
See for example the bug fixed by commit v1.11-287-g1325a8a.
This change add a maintainer check that warns about test names
which are possibly problematic in this regard.
* Makefile.am (sc_test_names): New maintainer-check target.
(syntax_check_rules): Add it.
(m4_builtins): New helper variable.
(TESTS): Updated according to the following renamings.
* tests/include.test: Renamed ...
* tests/hdr-vars-defined-once.test: ... to this.
* tests/sinclude.test: Renamed ...
* tests/m4-inclusion.test: ... to this, and simplified
accordingly.
* tests/include2.test: Renamed ...
* tests/dist-included-parent-dir.test: ... to this, for
consistency.
2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix bug in alloca*.test
* tests/alloca.test: Make grepping of automake stderr stricter,
add a trailing `:' command; also, add AC_PROG_CC to configure.in,
and create a dummy alloca.c file, to ensure that we fail for the
proper reason.
* tests/alloca2.test: Likewise. Also, look for LT_INIT, not
AC_PROG_LIBTOOL, in the error message (bug introduced with commit
v1.11-315-gd51e7b7 "libtool: suggest LT_INIT if LTLIBRARIES
primary is used").
From a report by Patrick Welche.
2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: better use of m4 quoting and m4sugar macros
* m4/dmalloc.m4: Better use of m4 quoting. Bump serial number.
* m4/gcj.m4: Likewise.
* m4/init.m4: Likewise.
* m4/install-sh.m4: Likewise.
* m4/lex.m4: Likewise.
* m4/multi.m4: Likewise.
* m4/option.m4: Likewise.
* m4/python.m4: Likewise.
* m4/sanity.m4: Likewise.
* m4/cond.m4: Likewise. Also, prefer the m4sugar macro 'm4_if'
over the plain m4 macro 'ifelse'.
* m4/depend.m4: Likewise.
2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: add test about deprecated use of AC_INIT
* tests/deprecated-acinit.test: New test, check that automake
and autoconf complain about an old-style AC_INIT call used with
a new-style AM_AUTOMAKE_INIT call.
* tests/Makefile.am (TESTS): Update.
2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix bug (comments-in-var-defn.test + autoconf 2.62)
* tests/comments-in-var-defn.test: The configure.in stub created
by default, which has the AC_INIT first argument obtained by the
test name, causes autoconf 2.62 to fail with a spurious error
message like: "configure.in:1: error: defn: undefined macro:".
Thus, to prevent this, the test is renamed to ...
* tests/comments-in-var-def.test: ... this.
* tests/Makefile.am (TESTS): Updated.
2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: convert encoding from ISO-8859 to UTF-8
* ChangeLog.03: Convert encoding to UTF-8.
* ChangeLog.96: Likewise.
* ChangeLog.98: Likewise.
* NEWS: Likewise.
* TODO: Likewise.
2011-03-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: extend checks on the 'unindent' shell function
* tests/self-check-unindent.test: Also check that multiple
instances of 'unindent' can run in parallel (this was not
the case when that function used temporary files).
2011-03-01 Peter Rosin <peda@lysator.liu.se>
test defs: unindent without temporary file
* tests/defs.in (commented_sed_unindent_prog): Commented Sed program
that strips the "proper" amount of leading whitespace.
(unindent): Lazily strip comments from the above program and use it
to unindent without using a temporary file.
2011-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
libtool: suggest LT_INIT if LTLIBRARIES primary is used
When the LTLIBRARIES primary was used, but $(LIBTOOL) wasn't
defined, automake suggested to add a call to AC_PROG_LIBTOOL
in configure.ac. But that macro is deprecated since Libtool
version 1.9b (2004-08-29), in favor of the newer LT_INIT. So
suggest the use of this latter macro instead.
* lib/Automake/Variable.pm (%_am_macro_for_var): Pair 'LIBTOOL'
with 'LT_INIT', not with 'AC_PROG_LIBTOOL'.
* tests/libtool4.test: Adjust and extend. Also, add a call to
macro AC_PROG_CC in configure.in, to help ensuring that automake
does not fail for the wrong reasons.
* tests/ltinit.test: New test, ensure that automake's libtool
support works with LT_INIT-based interface.
Thanks to Jack Kelly for the suggestion.
2011-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: add testcases sanity-checking the testsuite
Helper subroutines, variables and other pieces of code defined
in the `tests/defs' and used by many testcases are non-obvious,
and tricky to get to work portably; but until now, they weren't
tested at all in a clear and self-contained way.
This change should remedy to the situation.
* tests/self-check-cleanup.test: New test, check removal of
temporary test working directory by `./defs'.
* tests/self-check-dir.test: New test, check that tests using
`./defs' create a proper temporary directory, and run in it.
* tests/self-check-exit.test: New test, check that, in case of
failing commands, the correct exit status is passed to the exit
trap installed by the `./defs' script.
* tests/self-check-is_newest.test: New test, checking the
`is_newest' subroutine.
* tests/self-check-me.test: New test, checking that $me gets
defined automatically by `tests/defs' if not set, and that it
can be overridden from either the shell or the environment.
* tests/self-check-sanity.test: New test, check that the sanity
checks performed by the `tests/defs' script works correctly.
* tests/self-check-unindent.test: New test, checking the
`unindent' subroutine.
* tests/Makefile.am (TESTS): Update.
2011-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: tempdirs with restrictive permissions are cleaned correctly
Before this change, the removal of a temporary test directory
containing subdirectories with restrictive permissions (such as
'r--r--r--') could fail.
* tests/defs: Ensure that all the subdirectories of a temporary
test directory have the 'read', 'write' and 'execute' bits set,
before trying to remove it with `rm -rf'.
* tests/Makefile.am (clean-local-check): Likewise.
2011-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
test defs: add subroutine for input unindenting
* tests/defs.in (unindent): New subroutine.
* tests/instspc-tests.sh: Use it.
2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
python: report the 'PYTHON' influential environment variable
* m4/python.m4 (AM_PATH_PYTHON): Call AC_ARG_VAR on PYTHON.
* doc/automake.texi (Python): Update and extend.
* tests/help-python.test: New test.
* tests/Makefile.am (TESTS): Update.
* THANKS (Jack Kelly): Update e-mail address.
Suggestion by Jack Kelly.
2011-02-10 Stefano Lattarini <stefano.lattarini@gmail.com>
tests defs: clear TESTS_ENVIRONMENT variable
* tests/defs.in (TESTS_ENVIRONMENT): Unset it, so that values
from environment won't interfere with the testcases.
Suggestion by Ralf Wildenhues.
2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: `instspc-*.test': do not create useless source file
* tests/instspc-tests.sh (create_input_data): Do not create
unused source file `source2.c'.
2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: optimize `instspc-*.test' for speed
After the split of `instspc.test' into various generated tests,
the running time of the testsuite has noticeably increased, since
all of these new generated tests must run aclocal, autoconf and
automake, whereas previously they were run only once (at the
beginning of `instspc.test'). But luckily, since the new tests
share the same input files for the autotools, this situation can
be easily worked around (at the expenses of a slight increase of
complexity for the testsuite scaffolding).
* tests/instspc-data.test: New helper test, properly calling
the `instspc-tests.sh' script to generate input data for the
others `instspc-*.test' tests.
* tests/Makefile.am (TESTS): Add `instspc-data.test'.
($(instspc_tests:.test=.log)): Depend on its log file.
(instspc-data.log): Depend on `instspc-tests.sh'.
* tests/instspc-tests.sh: Recognize new action `generate-data',
and use it to create hand-written and autotools-generated static
files shared by all the `instspc-*.test' tests.
When sourced by the `instspc-*.test' tests, use those previously
created files instead of recreating them from scratch.
(unindent, create_input_data): New subroutines.
Some other related changes and refactorings.
From a suggestion by Ralf Wildenhues.
2011-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
python: fix spurious failure in tests
* tests/python-vars.test: Ignore cached values from config.site
by exporting CONFIG_SITE=/dev/null. Be laxer in matching the
expected values of output variables `pythondir' and `pyexecdir',
since they can change quite unpredictably among different python
installations. Also, avoid "hyping" debugging output, thus
offering smaller trace output and more informative diff.
Report and suggestions by Ralf Wildenhues.
* tests/python-virtualenv.test: Require python, since we call it
even after the virtualenv has been deactivated. Ignore cached
values from config.site by exporting CONFIG_SITE=/dev/null.
2011-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: tweak few tests on simple and parallel test drivers
* tests/check-exported-srcdir.test: Improve heading comments.
* tests/check-tests-in-builddir.test: Likewise. Also, unset the
`FOO_EXIT_STATUS' variable, so that any pre-existing value in the
environment won't risk to interfere with the test.
Suggestions by Ralf Wildenhues.
2011-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
python: extend and improve tests, fix minor glitches
* m4/python.m4 (AM_PATH_PYTHON): Ensure the "checking ..." messages
from configure are always complete, even in case of failure. Tiny
cosmetic improvement in info/error messages.
* tests/python.test: Also check that automake complains if the
PYTHON primary is used but the `py-compile' script is not present.
Make grepping of generated Makefile.in laxer w.r.t. whitespace.
Add trailing `:' command.
* tests/python2.test: Remove repeated calls aclocal: they are
useless because configure.in is never modified. Make grepping
of automake stderr more comprehensive. Remove the pre-existing
`py-compile' file before trying to install it with `--add-missing'.
Add trailing `:' command.
* tests/python3.test: Add trailing `:' command.
* tests/python11.test: Likewise.
* tests/python4.test: Likewise. Also, try to pass PYTHON config
variable to configure from the environment, rather than only from
the command line.
* tests/python5.test: Ensure that the "checking ..." messages from
configure are always complete. Use proper m4 quoting. Add a
trailing `:' command.
* tests/python6.test: Simplify test logic, by checking for files
created by configure rather then grepping its output.
* tests/python7.test: Likewise.
* tests/python8.test: Also check that `$PYTHON' is meaningfully
set in the ACTION-IF-TRUE argument of AM_PATH_PYTHON.
* tests/python9.test: Likewise.
* tests/python10.test: Add trailing `:' command.
(Makefile.am): Declare `disttest' target as `.PHONY', and add
an `ls -l' to its recipe, for debugging.
* tests/nobase-python.test: In testing "make uninstall" and
"make install" results, prefer idioms that make verbose logs
more helpful. Remove a couple of lines of dead code. Add a
trailing `:' command.
* tests/python5b.test: New test, checking that configure performs
the check on the python version even when the choice of the python
interpreter is forced by the user.
* tests/python-dist.test: New test, checking the distribution of
*_PYTHON files.
* tests/python-vars.test: New test, checking that AM_PATH_PYTHON
correctly set all the output variables advertised in the manual.
* tests/python-virtualenv.test: New test, checking that python
support offered by automake works well with "virtual python
environments" created by the `virtualenv' program.
* tests/instdir-prog.test: Also check `$(pyexecdir)'. Existing
checks made slightly stricter.
* tests/instdir-prog.test: Also check `$(pyexecdir)'. Existing
* tests/instdir-ltlib.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-02-01 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: more tests on simple and parallel test drivers
* tests/parallel-tests-subdir.test: New test.
* tests/check-exported-srcdir.test: Likewise.
* tests/check-tests-in-builddir.test: Likewise.
* tests/check-tests_environment.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures in lflags*.test
* tests/lflags.test: Remove 'LEX' from the environment, so
that it won't be erroneously picked up by `make -e'.
* tests/lflags2.test: Likewise.
2011-01-24 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: color-tests issues with parallel make
* doc/automake.texi (Simple Tests): Document that automatic
recognition of a capable terminal attached to stdout can fail
with some make implementation when running in parallel mode,
thus causing colored test output not to be automatically
activated when it should.
2011-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: test semantics of "dummy" per-target flags
* tests/specflg-dummy.test: New test, ensuring that even "dummy"
per-target flags triggers the use of renamed objects.
* tests/Makefile.am (TESTS): Update.
Suggestion by Ralf Wildenhues.
2011-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests defs: sanitize IFS
* tests/defs ($IFS): Define to <space>, <tab>, <newline>.
($sp): New variable, holding a single whitespace character.
($tab): New variable, holding a tabulation character.
($nl): New variable, holding a newline character.
2011-01-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: avoid instspc* failures due to make's whitespace trimming
* tests/instspc-tests.sh: Prepend './' when passing the test
characters, to avoid leading whitespace characters to be trimmed
from macros set from environment variables. Fixes testsuite
failures with HP-UX and Tru64/OSF make.
2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: fix VPATH auto-expansion workarounds.
* tests/suffix10.test, tests/suffix11.test, tests/suffix12.test,
tests/suffix3.test, tests/suffix5.test, tests/suffix8.test:
Ensure $< is not surrounded by white space, to prevent Solaris
make from applying automatic VPATH text expansion.
tests: fix VPATH auto-expansion workarounds.
* tests/parallel-tests8.test, tests/suffix13.test:
Ensure $< is not surrounded by white space, to prevent Solaris
make from applying automatic VPATH text expansion.
2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures in yflags*.test
* tests/yflags.test: Remove 'YACC' from the environment, so
that it won't be erroneously picked up by `make -e'.
* tests/yflags2.test: Likewise.
2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: avoid fn99*.test failures due to buggy AIX 5.3 cp -R.
* tests/fn99.test, tests/fn99subdir.test: Skip if an initial
`cp -R' of the subdir tree already fails; AIX 5.3 cp messes
up its internal memory when copying this tree.
2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini <stefano.lattarini@gmail.com>
Add comment to check-TESTS rule working around make 3.80 bug.
* lib/am/check.am (check-TESTS): Update comment.
2011-01-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: less strict double-colon spy.test again.
* tests/spy.test: We know BSD make doesn't invoke more than one
double-colon rule, so no need to expose that failure.
2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
install-sh: avoid Tru64 sh `test' operator precedence issues.
* lib/install-sh: Protect file names and directory components
that consist of `=', `(', `)', or `!'. Move protection as early
as possible, to avoid errors such as with Tru64 sh `test -z ='.
* tests/instsh2.test: Extend test to cover more possibilities.
Fixes 1.12 instspc-equal-install.test failure on Tru64/OSF 5.1.
2011-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
docs: automake testsuite doesn't use TESTS_ENVIRONMENT anymore
* doc/automake.texi (Simple Tests): Do not claim Automake uses
TESTS_ENVIRONMENT for the perl driver. Instead, point to the
parallel-tests driver.
2011-01-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: check for presence of cscope with redirected input.
* tests/defs: Add required test for cscope.
Fixes cscope3.test hang with Sun C 5.9 cscope.
tests: avoid false failure in cygnus-dependency-tracking.test.
* tests/cygnus-dependency-tracking.test: Be less restrictive
when grepping the compiler error message, GCC 3.4.6 on FreeBSD
does not mention an undefined symbol.
2011-01-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: revert not turning off errexit in instspc-test.sh
* tests/instspc-tests.sh: Turn off errexit while sourcing defs,
the scripts might still not be clean.
2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: work around Tru64 sh -e issues for instspc*.test.
Apparently, Tru64 sh does not like turning off errexit mode,
and gets confused.
* tests/defs: Document 'errexit' cleanliness requirement.
* tests/defs-static.in: Likewise. Avoid error from command
substitution to abort instspc*.test with Tru64/OSF 5.1 sh.
* tests/instspc-tests.sh: Drop now-unneeded temporary errexit
dropping. Add strategic '|| Exit' to let tests work on Tru64.
2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Allow _AM_DEPENDENCIES to be used later in configure.
* m4/depend.m4 (_AM_DEPENDENCIES): Remove a previously existing
conftest.dir before recreating it.
Fixes bug#7864.
Report by Eric Blake, from report by Scott McCreary against M4.
2011-01-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: avoid failure on w32 file systems.
* tests/parallel-tests-unreadable-log.test: SKIP if file cannot
be turned unreadable.
2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: allow double-colon spy.test to work with HP-UX make.
* tests/spy.test: Fix comment typos. Ensure prerequisites we
do not want to depend on are strictly older than the target.
Also test with a target out of date wrt. more than one rule.
2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Avoid local $_ perl variable, for Perl before 5.9.1.
* lib/Automake/Options.pm (_process_option_list): Do not
lexically localize $_. Fixes bootstrap on AIX 5.1.
Bug introduced in commit `v1.11-622-gf90a06c'.
2011-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove useless requirements from cond36.test
* tests/cond36.test ($required): Remove.
Since we are at it, add a trailing `:' command.
2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: avoid failing command substitution in errexit mode.
* tests/vartypo2.test, tests/vartypos.test: Rewrite to not use
a command substitution with a nonzero exit status, that causes
IRIX and Tru64/OSF sh to fail the whole test.
2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: work around Tru64/OSF 5.1 sh read bugs.
* lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
Test file readability before redirecting input from it, to avoid
exiting Tru64/OSF 5.1 sh which treats read as special builtin.
* tests/parallel-tests-unreadable-log.test: New test.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* NEWS, README: Update copyright years.
2011-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: hard error in case of internal failures or signal caught
* tests/defs: Exit with status 99 (hard error) rather than
1 (failure) on unexpected/internal errors, or when a signal
is caught by the client script.
Tests defs: don't let useless variables leak in test scripts.
* tests/defs ($priv_check_temp, $overwrite_status, $ro_dir_temp,
$create_status, $r2h, $libtool_found, $gettext_found, $aclocaldir,
$extra_includes): Unset once they've served their purpose.
2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix parallel-tests.test failure with HP-UX make.
* tests/parallel-tests.test: Sleep inside inner tests, so logs
are newer than logs of tests they depend on, for HP-UX make.
2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
docs: ensure example are separated with empty lines in the input
* doc/automake.texi (Extending aclocal, Emacs Lisp, Rebuilding)
(API Versioning, Renamed Objects, Multiple Outputs): Add empty
lines before `@example' and after `@end example' lines, so info
output is rendered correctly, and a following @noindent honored.
Report by Stefano Lattarini.
2011-01-15 Jim Meyering <meyering@redhat.com>
tests: fix comment typo
* tests/substref.test: Fix grammar in a comment.
2011-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures in two texinfo tests
* tests/txinfo.test ($required): Add 'makeinfo'.
* tests/txinfo8.test: Create a dummy 'textutils.info' file, so
that make won't try to run makeinfo (which could be unavailable)
to build it.
Found by NixOS Hydra, reported by Ralf Wildenhues.
2011-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Update docs w.r.t. warning and strictness options.
* doc/automake.texi (Strictness): Document that some warnings are
turned off by default in `foreign' strictness.
(Options): Divide into new sections "Options generalities" and
"List of Automake options". Fix typo (colon instead of full
stop). Document option precedence (AUTOMAKE_OPTIONS wins over
AM_INIT_AUTOMAKE which wins over command line). Also document
interactions between options specifying strictness and those
specifying warnings.
More tests on warnings/strictness precedence.
* tests/warning-groups-win-over-strictness.test: New test, similar
to `warnings-win-over-strictness.test', but checking the explicit
catch-all warning flags (like `-Wall' and `-Wnone').
* tests/Makefile.am (TESTS): Update.
Update NEWS about the warnings-over-strictness precedence.
* NEWS: Automake explicit warning levels always take precedence
over the implicit warning levels implied by Automake strictness.
For PR automake/547:
Warnings win over strictness in AUTOMAKE_OPTIONS.
Ensure that, for what concerns the options specified in
AUTOMAKE_OPTIONS, explicitly-defined warnings always take
precedence over implicit strictness-implied warnings.
This finally fixes Automake bug#7669 a.k.a. PR/547.
* automake.in (handle_options): Call 'process_option_list'
only once per set of options.
* lib/Automake/Options.pm (process_global_option_list,
process_option_list): Add sanity checks.
($_options_processed, $_global_options_processed): New
internal variables, used by the sanity checks above.
* tests/warnings-win-over-strictness.test: Extend.
For PR automake/547:
Change signature of 'Automake::Options::_process_option_list()'.
This only modifies internal details in the automake implementation,
bearing no externally visible effect, but preparing the way for the
final fix of Automake bug#7669 a.k.a. PR/547.
* lib/Automake/Options.pm (_process_option_list): Accept as
arguments a list of hash references with keys 'option' and 'where',
where 'option' is an option as might occur in AUTOMAKE_OPTIONS or
AM_INIT_AUTOMAKE, and 'where' is the location where it occurred.
(process_option_list, process_global_option_list): Updated.
* automake.in (handle_options, scan_autoconf_traces): Update.
Add more tests about AUTOMAKE_OPTIONS.
In view of soon-to-follow refactorings (still in the pursuit of a
fix for Automake bug#7669 a.k.a. PR/547), add some more tests on
AUTOMAKE_OPTIONS support, to prevent obvious regressions.
* tests/amopts-variable-expansion.test: New test.
* tests/amopts-location.test: Likewise.
* tests/Makefile.am (TESTS): Update.
For PR automake/547:
Warnings win over strictness in AM_INIT_AUTOMAKE.
This change ensures that, for what concerns the options specified
in AM_INIT_AUTOMAKE, explicitly-defined warnings always take
precedence over implicit strictness-implied warnings. Related to
Automake bug#7669 a.k.a. PR/547.
* lib/Automake/Options.pm (_process_option_list): Parse explicit
warnings only after the strictness level has been set. Fix POD
documentation.
* tests/warnings-win-over-strictness.test: Extend.
For PR automake/547:
Warnings win over strictness on command line.
Ensure that, on the command line at least, explicitly defined
warnings always take precedence over implicit strictness-implied
warnings. Related to Automake bug#7669 a.k.a. PR/547.
* automake.in (parse_arguments): Parse warnings only after the
strictness level has been processed.
* tests/gnuwarn.test: Update, plus miscellaneous improvements.
* tests/warnings-win-over-strictness.test: New test.
* tests/Makefile.am (TESTS): Update.
More tests on warnings and strictness.
* tests/warnings-strictness-interactions.test: New test.
* tests/warnings-unknown.test: Likewise.
* tests/Makefile.am (TESTS): Update.
New test on silent-rules mode and portability warnings.
* tests/silent-nowarn.test: New test.
* tests/Makefile.am (TESTS): Update.
Add new tests on strictness and warnings precedence and overriding.
* tests/strictness-override.test: New test.
* tests/strictness-precedence.test: New test.
* tests/warnings-override.test: New test.
* tests/warnings-precedence.test: New test.
* tests/Makefile.am (TESTS): Update.
2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix remake rule-induced test failures with HP-UX make.
* tests/remake1a.test: Require GNU make.
2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix remake rule-induced test failures with HP-UX make.
* tests/colon6.test: Update timestamp of subdir Makefile, so we
do not spuriously invoke the nonexistent toplevel am--refresh
rule.
tests: fix typos in colon6.test
* tests/colon6.test: Fix typos.
2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini <stefano.lattarini@gmail.com>
tests: explain MSYS setup failure issue, improve test.
* tests/defs: Add comment and failure message, improve fail
logic.
2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix libobj2.test failure with non-GNU make: define $(AR).
* tests/libobj2.test: Ensure $(AR) is suitably defined.
2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: avoid spurious failures due to fork failure in test setup
* tests/defs: Ensure $me is always nonempty, to avoid spurious
failures on MinGW/MSYS in case the preceding sed command could
not be spawned.
Avoid configure warnings from wait about reused PIDs.
* m4/sanity.m4 (AM_SANITY_CHECK): Hide wait stderr output.
Fixes spurious failure of depcomp2.test.
2011-01-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Avoid testsuite failures due to Autoconf Fortran change.
Autoconf v2.68-21-g727ce95 causes AC_F77_LIBRARY_LDFLAGS to
require computing the canonical host name. Ensure config.guess
and config.sub files are present for respective checks.
* tests/compile_f_c_cxx.test: Add stub files.
* tests/flibs.test: Likewise.
* tests/fort4.test: Use $AUTOMAKE -a for installing files.
2011-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: clustered '-d' not recognized in YFLAGS
This change fixes automake bug#7828.
* doc/automake.texi (Yacc and Lex): Document that automake
recognizes '-d' in AM_YFLAGS only if it's not clustered with
other options.
From a report by Юрий Пухальский.
2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: add checks on automatically-distributed files
Related to automake bug#7819.
* tests/autodist.test: New test.
* tests/autodist-subdir.test: Likewise.
* tests/autodist-acconfig.test: Likewise.
* tests/autodist-acconfig-no-subdir.test: Likewise.
* tests/autodist-aclocal-m4.test: Likewise.
* tests/autodist-config-headers.test: Likewise.
* tests/autodist-configure-no-subdir.test: Likewise.
* tests/autodist-stamp-vti.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: do not force yacc-requiring tests to use bison
* tests/defs.in: New required entry 'yacc'. Remove old
required entry 'bison'.
* tests/cond35.test ($required): Require yacc, not bison.
* tests/cond36.test: Likewise.
* tests/pr204.test: Likewise.
* tests/silent-many-gcc.test: Likewise.
* tests/silent-many-generic.test: Likewise.
* tests/silent-yacc-gcc.test: Likewise.
* tests/silent-yacc-generic.test: Likewise.
* tests/subpkg.test: Likewise.
* tests/suffix10.test: Likewise.
* tests/yacc-basic.test: Likewise.
* tests/yacc-clean.test: Likewise.
* tests/yacc-d-basic.test: Likewise.
* tests/yacc-d-vpath.test: Likewise.
* tests/yacc-dist-nobuild.test: Likewise.
* tests/yacc-nodist.test: Likewise.
* tests/yacc4.test: Likewise.
* tests/yacc6.test: Likewise.
* tests/yacc7.test: Likewise.
* tests/yacc8.test: Likewise.
* tests/yaccdry.test: Likewise.
* tests/yaccvpath.test: Likewise.
2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more consistent checks about invalid options
* tests/aclocal.test: Grepping of automake stderr for messages
reporting invalid options made stricter.
* tests/no-outdir-option.test: Likewise. Also, create a dummy
`Makefile.am', to ensure that the automake failures are really
caused only by unrecognized options.
* tests/automake.test: Added trailing `:' command. Removed
redundant checks on `--help' and `--version' option (already
performed in the test `help*.test').
2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: enable 'errexit' shell flag by default.
* tests/defs: Enable `errexit' shell flag (near the end).
Removed redundant comment about the enabling of shell traces.
* tests/README (Writing test cases): Update, and use nicer
formatting in a couple of places.
* All tests: Adjusted by removing now-redundant calls to
'set -e'.
2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: work around a texi+cygnus bug causing a spurious XFAIL
* tests/txinfo5b.test: New test, like txinfo5.test but calling
automake with the `-Wno-override' option to work around a bug
in the texinfo + cygnus interaction.
* tests/txinfo5.test: Update heading comments.
* tests/Makefile.am (TEST): Updated.
2011-01-09 Dave Hart <davehart@gmail.com> (tiny change)
Fix another typo in Rule.pm comment.
* lib/Automake/Rule.pm: Fix typo.
2011-01-09 Peter Rosin <peda@lysator.liu.se>
Fix another typo in Rule.pm comment.
* lib/Automake/Rule.pm: Fix typo.
2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: texinfo unrecognized extensions
* tests/txinfo-unrecognized-extension.test: New test.
* tests/Makefile.am (TESTS): Update.
Improve, extend and tweak tests on Texinfo support.
* tests/instdir-texi.test: Add a call to `ls -l' after that to
`make', for debugging. When looking for required tools, do not
redirect the output of "$tool --help" to /dev/null, and do not
uselessly run it in a subshell.
* tests/txinfo.test: Rewritten to run autoconf, ./configure and
make. All checks moved into Makefile.am.
* tests/txinfo8.test: Likewise, and modernize the generated
configure.in.
* tests/txinfo2.test: Moved checks into Makefile.am, and other
minor improvements.
* tests/txinfo5.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command.
* tests/txinfo6.test: Likewise, and make grepping of generated
Makefile.in stricter.
* tests/txinfo7.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command. Do not add unnecessary stuff
to Makefile.am.
* tests/txinfo9.test: Verify that more targets which are expected
to be generated only once really are. Make grepping less strict,
to avoid exposing too much internal details. More minor changes.
* tests/txinfo16.test: Add trailing `:'. Prefer cat over echo
for appending to configure.in. Updated/fixed heading comments.
* tests/txinfo23.test: Likewise, and extended a little by making
it check that no info file is created in the $(srcdir).
* tests/txinfo24.test: Likewise.
* tests/txinfo25.test: Likewise.
* tests/txinfo18.test: Add trailing `:'. Prefer cat over echo
for appending to configure.in. Also, check that index files are
cleaned also by "make clean", not only by "make distclean".
* tests/txinfo22.test: Prefer `$me' over hard-coded test name,
and added trailing `:' command. This testcase also used to check
that automake ignores in-line comments when using variables, but
preserves them in the output; these checks (added in commit
"Release-1-7f-4-g9177ef8") do not really pertain to this test,
so they have been moved ...
* tests/comments-in-var-defn.test: ... into this new test.
* tests/txinfo4.test: Escape literal dots in grep regexps. Add
trailing `:' command.
* tests/txinfo29.test: Likewise. Relax grepping of generated
Makefile.in w.r.t. whitespaces. Prefer `cat' over `echo' to
append to configure.in.
* tests/txinfo3.test: Likewise.
* tests/vtexi.test: Improve grepping of Makefile.in (sometimes
make it stricter, sometimes laxer). Move `set -e' setting just
after the inclusion of ./defs. De-uglify a sed command. Other
minor cosmetic improvements.
* tests/vtexi2.test: Make grepping of Makefile.in stricter. Add
trailing `:' command.
* tests/vtexi3.test: New test on version.texi support.
* tests/vtexi4.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in 'tests/yflags-conditional.test'
* tests/yflags-conditional.test: Filter out message "warnings are
treated as errors" from automake stderr, to avoid a false positive
when grepping for extraneous warning messages.
2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: warn about conditional content in *YFLAGS variables
This change fixes automake bug#7804.
* automake.in (lang_yacc_target_hook): Warn if any of the relevant
*YFLAGS variables has conditional contents (not only a conditional
definition). Related refactoring.
* NEWS: Updated.
* tests/yflags-conditional.test: Updated and extended.
* tests/yflags-conditional-force.test: New test.
* tests/Makefile.am (TESTS): Updated.
2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: support variable expansions in *YFLAGS definition.
This change fixes automake bug#7800.
* automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
instead of 'variable_value' to get the value of *YFLAGS variables.
Related changes.
($DASH_D_PATTERN): Removed.
* tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
* tests/yacc-clean.test: Remove workaround for now-fixed bug.
* NEWS: Update.
2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: more tests on *YFLAGS support
* tests/yflags-var-expand.test: New test, still xfailing. It
exposes automake bug#7800 -- "automake fails to honor `-d' in
AM_YFLAGS when variable expansions are involved".
* tests/yflags-d-false-positive.test: New test, checking that
automake do not spuriously see `-d' in *YFLAGS when that isn't
really there.
* tests/yflags-force-override.test: New test, checking that
automake can cope with definition of the YFLAGS variable in
Makefile.am (even if that is an extremely bad practice, as that
variable is user-reserved).
* tests/yflags-cmdline-override.test: New test, checking that
automake can cope with user-redefinition of YFLAGS at configure
time and/or at make time.
* tests/yflags-conditional.test: New test, checks that automake
warns on conditionally-defined *YFLAGS variables.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: extend and improve tests
* tests/yacc-basic.test: Also check that the intermediate C file
is mentioned in the generated Makefile.in, and that it is created
by the first make invocation.
* tests/yacc3.test: Test removed, superseded by ...
* tests/yacc-d-basic.test: ... this new test.
* tests/yacc2.test: Add reference to that new test in the heading
comments.
* tests/yacc-d-vpath.test: New test.
* tests/yaccvpath.test: Updated heading comments. Do not require
gcc anymore, as any working C compiler should be enough. Remove
redundant comments.
* tests/yacc-nodist.test: New test.
* tests/yacc-dist-nobuild.test: New test.
* tests/Makefile.am (TESTS): Update.
2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Extend, fix and improve tests on Lex and Yacc support.
* tests/lexcpp.test: New test script, on support for Lex + C++.
* tests/lexvpath.test: New test script, test build and rebuild
rules for lexers in VPATH setup.
* tests/yacc-basic.test: New test script, run simple "semantic"
checks on basic Yacc support (similarly to what lex3.test does
for Lex support).
* tests/lex.test: Don't create useless dummy source file joe.l.
Remove extra blank lines.
* tests/lex4.test: Add trailing `:' command. Do not create dummy
useless lex source file.
* tests/lex2.test: Likewise. Call automake with the `-a' option,
so that it doesn't fail for the absence of `ylwrap' script. Make
grepping of automake stderr stricter.
* tests/yacc7.test: Add trailing `:' command. Enable `errexit'
shell flag earlier (just after having sourced ./defs).
* tests/yacc4.test: Likewise. Also ...
(configure.in): Use pre-populated skeleton set up by ./defs,
instead of writing one from scratch.
Other minor cosmetic changes.
* tests/yacc5.test: Likewise.
* tests/yaccvpath.test: Likewise. Also ...
($distdir): New variable.
Use it throughout.
* tests/lex5.test: Likewise.
* tests/lex3.test: Likewise. Check the distdir, rather than
grepping the distribution tarball. Extend the test on the
created binary, and be sure to avoid hangs. Add some comments.
* tests/yacc.test: Use stricter grepping. Add trailing `:'.
* tests/yacc6.test: Likewise.
* tests/yacc3.test: Likewise. Do not create the unused file
`Makefile.sed'. Remove useless rules from Makefile.am. Other
minor cosmetic changes.
* tests/yacc2.test: Make grepping of generated `Makefile.in' and
of automake error messages stricter. Do not redirect output of
grep to /dev/null. Move call to aclocal earlier. Reduce the
number of empty blank lines. Fix a typo in comments.
* tests/yacc8.test: Fixed bugs that reduced the completeness of
the tests. Added trailing `:' command.
(configure.in): Use pre-populated skeleton set up by ./defs,
instead of writing one from scratch.
* tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
`.yxx', rather than only `.yy'.
* tests/Makefile.am (TESTS): Update.
2011-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: remove trailing whitespaces
* doc/automake.texi: Remove trailing whitespaces.
* tests/cond13.test: Likewise.
* tests/cond14.test: Likewise.
* tests/fort4.test: Likewise.
* tests/fort5.test: Likewise.
* tests/libobj17.test: Likewise.
* tests/suffix7.test: Likewise.
* tests/vtexi2.test: Likewise.
automake: minor fixes in comments
* automake.in: Some minor fixes and enhancements in comments.
2011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Add test coverage for deleted header files.
* tests/depcomp6.test, tests/depcomp7.test: Update tests to
also check for the deleted header bug. If no dependency
tracking mechanism could be found, SKIP rather than exit
successfully. Use GNU style spacing and ANSI C prototypes.
Fix typos in Rule.pm comments.
* lib/Automake/Rule.pm: Fix typos in comments.
docs: split 'amhello Explained' node.
* doc/automake.texi (amhello Explained): Split node ...
(amhello's configure.ac Setup Explained)
(amhello's Makefile.am Setup Explained) : ... into these two.
(Top, Hello World): Adjust, and add @anchor for stable URL links.
Suggestion by Karl Berry in automake bug#7766.
2011-01-08 Karl Berry <karl@freefriends.org>
Eric Blake <eblake@redhat.com>
docs: reference defining directories in amhello node.
* doc/automake.texi (amhello Explained): Point to Autoconf
manual for how to convert directory values into macros.
(Optional): Fix grammar nit.
2011-01-07 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc: "make clean" removes .c and .h files from non-distributed .y
Previously, while automake did *not* distribute C source and header
files derived from non-distributed Yacc sources, it still caused
them to be removed only by "make maintainer-clean" only, and not by
simply "make clean" or "make distclean".
This caused "make distcheck" to fail, unless the developer put
those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
by hand.
This change fixes this issue, by making non-distributed `.c' and
`.h' files generated by non-distributed Yacc sources cleaned by
"make clean".
* tests/automake.in (lang_yacc_target_hook): Make C source and
header files derived from non-distributed Yacc files cleaned by
"make clean", not only by "make maintainer-clean".
* tests/yacc-clean.test: New test.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
2011-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
* NEWS: Fix typo (forgotten word).
2011-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
docs: how to work around checks on invalid primary/directory couples
* doc/automake.texi (Uniform): Document the blessed idiom which can
be used to work around automake checks on invalid primary/directory
couples (such as `lib_PROGRAMS' or `doc_LIBRARIES').
2010-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
Tests: normalize use of the 'errexit' shell flag.
* tests/maken3.test (check_targets): Remove redundant call to
'set -e'.
* tests/maken4.test: Likewise.
* tests/ansi5.test: Call 'set -e' just after './defs' has been
sourced.
* tests/ansi6.test: Likewise.
* tests/ansi7.test: Likewise.
* tests/cond16.test: Likewise.
* tests/cond17.test: Likewise.
* tests/cond18.test: Likewise.
* tests/cond19.test: Likewise.
* tests/cond20.test: Likewise.
* tests/cond21.test: Likewise.
* tests/instdat2.test: Likewise.
* tests/instdir-texi.test: Likewise.
* tests/parallel-tests3.test: Likewise.
* tests/remake1a.test: Likewise.
* tests/ccnoco.test: Likewise, and add trailing `:' command.
* tests/comment4.test: Likewise.
* tests/gcj4.test: Likewise.
* tests/nodist2.test: Likewise.
* tests/nodist3.test: Enable 'errexit' shell flag (this should
have been done in commit v1.11-248-g317e17b, but the relevant
hunk has been forgotten somehow).
* tests/output.test: Likewise.
* tests/gnits2.test: Likewise, and display captured stderr to
script's stderr, not to script's stdout.
* tests/gnits3.test: Likewise. Also, prefer 'cat' over 'echo'
to append to Makefile.am, and really check that the exit status
of "make installcheck" indicates failure.
2011-01-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Sync auxiliary files from upstream.
* lib/config.guess, lib/config.sub, lib/texinfo.tex:
Sync from upstream.
Avoid caching bug in cygnus mode test.
* tests/cygnus-requires-maintainer-mode.test: Remove
autom4te.cache directory before rerunning aclocal, to
remove trace caches.
Fix maintainer-check regression.
* tests/subobj11a.test: Pass DISTCHECK_CONFIGURE_FLAGS in the
environment.
Bump copyright years.
* aclocal.in (write_aclocal, version): Bump copyright years.
* automake.in (gen_copyright, version): Likewise.
* doc/automake.texi: Likewise.
2010-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
* NEWS: Add missing blank line between two entries.
2010-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Improve and extend tests `suffix*.test'.
* tests/suffix.test: Check that suffix rules for C compilation are
only included once. Try also with a static library.
* tests/suffix2.test: Add a new grep to help potential debugging.
Do not run automake with the `--add-missing' options, since we
already create all the needed auxiliary files. Try also *without*
the `no-dependencies' automake option.
* tests/suffix4.test: Make grepping of Makefile.in stricter.
* tests/suffix3.test: Rewritten to run also autoconf, ./configure
and make.
* tests/suffix5.test: Likewise.
* tests/suffix6.test: Fix botched recipe indentation (eight spaces
were used instead of a tabulation character). Extend to check
that `.obj' is handled like `.$(OBJEXT)' (as is done for `.o').
Improved parsing & grepping of generated Makefile.in. Other minor
fixes and improvements.
* tests/suffix10.test: Move some checks in Makefile.am. Also run
"make all".
* tests/suffix12.test: Likewise, and account for VPATH issues in
weaker make implementations.
* tests/suffix11.test: Likewise. Also, run "make distcheck", for
completeness, and related changes.
* tests/suffix8.test: Likewise. Also, do not put `gcc' anymore
in $required.
* tests/suffix13.test: Do not use the `--force-missing' automake
option unnecessarily.
* tests/suffix6b.test: New test, semantic sister of `suffix6.test'.
* tests/suffix6c.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
2010-12-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini <stefano.lattarini@gmail.com>
Work around a bug in file-inclusion mechanism of Solaris make.
* automake.in (handle_single_transform): In the name of the
dependency file: collapse multiple slash characters into a single
one.
* tests/subobj11a.test: New test.
* tests/subobj11b.test: Likewise.
* tests/subobj11c.test: Likewise.
* tests/depcomp8a.test: Likewise.
* tests/depcomp8b.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
* NEWS: Updated.
Report by Stefano Lattarini, quick fix by Ralf Wildenhues, final
patch and tests by Stefano Lattarini.
2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix two spurious testsuite failures on IRIX 6.5.
* tests/suffix13.test (Makefile.am): Account for VPATH issues on
weaker make implementations (e.g. IRIX 6.5).
* tests/parallel-tests8.test: Likewise, plus a required related
change.
Reported by Ralf Wildenhues. The bugs have been there from the
first versions of the affected test scripts.
2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: cygnus mode doesn't require AM_CYGWIN32 macro.
* doc/automake.texi (Cygnus): Mode 'cygnus' does not require
the AM_CYGWIN32 macro (and indeed hasn't required it since at
least commit Release-1-2-31-g3038064 "merged changes from
Cygnus" of 1997-08-25).
2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Add some tests on 'cygnus' mode.
* tests/clean2.test: Extend.
* tests/cygnus-check-without-all.test: New test.
* tests/cygnus-dependency-tracking.test: Likewise.
* tests/cygnus-distclean.test: Likewise.
* tests/cygnus-imply-foreign.test: Likewise.
* tests/cygnus-no-dist.test: Likewise.
* tests/cygnus-no-installinfo.test: Likewise.
* tests/cygnus-requires-maintainer-mode.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix parallel testsuite run with Zsh.
This change deals with a Zsh incompatibility in the handling
of the special shell variable `$0' in sourced files; this
incompatibility used to cause utter breakage when the
Automake testsuite was run in parallel mode with Zsh as
the $(TEST_LOG_COMPILER).
For more information, please refer to the thread "Fix parallel
testsuite run with zsh" on automake-patches, dated 2010-12-22:
<http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00135.html>
This change works around the problems described above for Zsh 4.3
or later, and offers better error messages (instead of random
failures) for earlier Zsh version.
* tests/README (Supported shells): When describing the manual
workaround about the Zsh incompatibility in the handling of `$0',
tell that it is now needed only with Zsh versions preceding 4.3.
Done also some minor rewordings.
* tests/defs-static.in ($argv0): New variable, offers a workaround
for the Zsh incompatibility in the handling of `$0'.
Abort if that variable cannot be correctly set (can happen only
in older Zsh version).
* tests/defs ($me): Define using `$argv0', not `$0'.
2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Tests defs: keep track of original $AUTOMAKE and $ACLOCAL values.
This is especially useful for tests which might want to run
automake and aclocal without additional flags and warnings.
* tests/defs-static.in ($original_ACLOCAL): New variable.
($original_AUTOMAKE): Likewise.
* tests/help.test: Use them.
* tests/help2.test: Likewise.
* tests/help3.test: Likewise.
* tests/help4.test: Likewise.
From a suggestion by Ralf Wildenhues.
2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
distlinksbrk.test: Work around botched "make -k".
* tests/distlinksbrk.test: Run "make" multiple times and grep
its output each time for a single error message, rather than
running "make -k" one single time and grepping its output for
all the expected error messages. This should work around make
implementations with limited (broken?) `-k' support; for more
information, see these subthreads on the automake-patches list:
- 2010-11-15, "Testsuite failures on HP-UX 11.23",
<http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00162.html>
- 2010-11-15, "Testsuite failures on IRIX 6.5",
<http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00166.html>
2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Minor improvements to test 'amopts.test'.
* tests/amopts.test: Remove botched comment. Make grepping of
automake stderr slighty stricter. Add trailing `:' command.
2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
backcompat6.test: avoid comments inside recipe commands.
* tests/backcompat6.test: Remove shell comments from makefile rule
commands, as they are not portable to (at least) Tru64 make.
2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
man8.test: avoid comments inside recipe commands.
* tests/man8.test: Remove shell comments from makefile rule
commands, as they are not portable to (at least) Tru64 make.
2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix sed-related buglet in test "subdir5.test"
* tests/subdir5.test: Always terminate text passed to the
`i' sed command with a newline, to work around limitations
in e.g. older OpenBSD sed.
2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix spurious failures in tests on AC_CONFIG_AUX_DIR.
* tests/auxdir7.test: Do not try to needlessly overwrite the files
`install-sh' and `missing'. This avoid spurious failures in "make
distcheck", when those files might be copied as read-only from the
`lib' directory.
* tests/auxdir8.test: Likewise.
2010-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
Make test 'posixsubst-script' portable to MinGW/MSYS.
* tests/posixsubst-script.test: Ensure that the generated dummy
scripts really start with a shebang line, to work around a
limitation of 'test -x' on MinGW/MSYS.
Reported by Ralf Wildenhues.
Improve comments in tests `posixsubst*.test'.
* tests/posixsubst-data.test: Improve comment explaining why we
try also empty match suffix.
* tests/posixsubst-extradist.test: Likewise.
* tests/posixsubst-ldadd.test: Likewise.
* tests/posixsubst-libraries.test: Likewise.
* tests/posixsubst-ltlibraries.test: Likewise.
* tests/posixsubst-programs.test: Likewise.
* tests/posixsubst-scripts.test: Likewise.
* tests/posixsubst-sources.test: Likewise.
* tests/posixsubst-tests.test: Likewise.
Suggested by Ralf Wildenhues.
2010-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: fix blunder in example about python extension modules
* doc/automake.texi (Python): Use `quaternion_la_SOURCES',
not `quaternion_SOURCES', to declare the sources of python
extension module `quaternion.la'.
2010-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: list LTLIBRARIES among Automake primaries
* doc/automake.texi (Uniform): List `LTLIBRARIES' among
the Automake primaries.
2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Tests defs: requirement 'xsi-shell' must be synced with libtool.
* tests/defs (xsi-shell): Add comment telling to keep the
XSI-conformance checks in sync with libtool.
2010-12-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Minor cleanups in canon7.test.
* tests/canon7.test (_foo_bar_SOURCES): Remove libs.c.
(configure.in): Remove AC_PROG_CXX.
2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Avoid false positive in sc_tests_plain_make maintainer-check.
* Makefile.am (sc_tests_plain_make): Ensure to only match full
`make' words. Avoid false positive with remake11.test.
2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix canon7.test failure.
* tests/canon7.test (_foo_bar_SOURCES): Add foobar.c.
(lib.h, libd.c, libs.c): Use const for constant strings.
2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix typos in test comments.
* tests/posixsubst-data.test, tests/posixsubst-extradist.test,
tests/posixsubst-ldadd.test, tests/posixsubst-libraries.test,
tests/posixsubst-ltlibraries.test, tests/posixsubst-programs.test,
tests/posixsubst-scripts.test, tests/posixsubst-sources.test,
tests/posixsubst-tests.test: Fix typos.
2010-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
More uses of AS_HELP_STRING in automake macros.
* m4/depend.m4 (AM_DEP_TRACK): Use `AS_HELP_STRING' to format
the help message added to the generated configure.
* m4/dmalloc.m4 (AM_WITH_DMALLOC): Likewise.
* m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
* m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
* m4/multi.m4 (AM_ENABLE_MULTILIB): Likewise.
Also, bumped all serial numbers of the modified m4 files.
2010-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Improve tests on generated portions of configure help screen.
* tests/help-depend.test: Grepping of configure help screen
relaxed to cater for possible line wrapping, and tightened in
other respects.
* tests/help-depend2.test: Likewise.
* tests/help-dmalloc.test: Likewise.
* tests/help-lispdir.test: Likewise.
* tests/help-maintainer.test: Likewise.
* tests/help-multilib.test: Likewise.
* tests/help-silent.test: Likewise.
* tests/help-upc.test: Likewise.
* tests/help-init.test: Grepping of configure help screen
tightened.
2010-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Extended tests on AC_CONFIG_AUX_DIR.
* tests/auxdir.test: Enable `errexit' shell flag. Prefer `$me'
over hard-coded test name. Use proper m4 quoting. Add trailing
`:' command.
* tests/auxdir2.test: Likewise. Try to call automake also with
the `-a' option, so that it will not fail for spurious reasons.
* tests/auxdir3.test: Add an explanatory comment and a trailing
`:' command.
* tests/auxdir4.test: Prefer `$me' over hard-coded test name.
Make grepping of automake stderr slightly stricter. Also, now
this test just checks about Automake's reaction to unportable
auxiliary directory names (and it has been extended in this
respect). Moved the checks about non-existent auxiliary
directories to ...
* tests/auxdir5.test: ... this new test.
* tests/auxdir6.test: New test.
* tests/auxdir7.test: Likewise.
* tests/auxdir8.test: Likewise.
* tests/auxdir9.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
2010-12-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Tests: extend checks on remake rules.
This adds proper semantical tests (i.e. run make to check the
rebuild rules are correctly triggered) in addition to tentative
grepping of the generated Makefile.in(s).
* tests/remake.test: Enable `errexit' shell flag, and related
changes. Modernize `configure.in'. Add trailing `:' command.
Improve heading comments, and add a reference to new sister test
remake1a.test.
* tests/remake3.test: Likewise (but with sister test being
remake3a.test).
* tests/remake2.test: Improve heading comments. Enable `errexit'
shell flag, and related changes. Modernize `configure.in'. Make
grepping of `Makefile.in' slightly stricter. Add trailing `:'
command.
* tests/remake5.test: Also run the `distcheck' target. Add
trailing `:' command. Use proper m4 quoting in configure.in.
* tests/remake4.test: Prefer `$me' over hard-coded test name.
* tests/remake7.test: Use the `configure.in' stub created by
./defs, rather than writing it from scratch.
* tests/remake6.test: Likewise. Also, add trailing `:' command,
and ensure verbose printing of captured make output.
* tests/remake1a.test: New test, sister of remake.test.
* tests/remake3a.test: New test, sister of remake3.test.
* tests/remake8a.test: New test.
* tests/remake8b.test: Likewise.
* tests/remake9a.test: Likewise.
* tests/remake9b.test: Likewise.
* tests/remake9c.test: Likewise.
* tests/remake9d.test: Likewise.
* tests/remake10a.test: Likewise.
* tests/remake10b.test: Likewise.
* tests/remake10c.test: Likewise.
* tests/remake11.test: Likewise.
* tests/remake12.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
2010-12-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Improve and extend tests on canonicalization.
* tests/canon-name.test: Add trailing `:' command. When writing
configure.in, prefer to use $me instead of hard-coding the test
name.
* tests/canon3.test: Prefer trailing `:' over trailing `Exit 0'.
* tests/canon4.test: Likewise. Make grepping of Makefile.in
stricter. Improve heading comment, and add reference to ...
* tests/canon6.test: ... this new test (sister test of the
previous one).
* tests/canon.test: Prefer cat + here-doc over echo to append
text to configure.in. Extend grepping of Automake stderr. Add
trailing `:' command.
* tests/canon5.test: Likewise.
* tests/canon7.test: New file, stress test on canonicalization.
* tests/canon8.test: New test, for better coverage (check that
the `@' character is not transliterated in canonicalizations).
* tests/Makefile.am: Updated.
2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Libobj tests: refer to automake bug tracker for limitations.
* tests/libobj15b.test (configure.in): In the comment explaining
why an apparently redundant AC_OUTPUT is indeed needed, refer
to the relevant entry in the Automake bug tracker rather than
describing the bug in detail with a FIXME-style comment.
* tests/libobj15c.test: Likewise.
* tests/libobj20b.test: Likewise.
Libobj tests: do not use `##' automake comments in-line.
* tests/libobj19.test (Makefile.am): Do not use inline `##'
comments in the definition of AUTOMAKE_OPTIONS.
* tests/libobj20c.test: Likewise.
Report by Ralf Wildenhues.
2010-12-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Tests defs: more uses of $top_testsrcdir.
* tests/compile6.test: Use `$top_testsrcdir' instead of
`$testsrcdir/..'.
2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Tests required tools: also try `-v' option for GNU compilers.
* tests/defs.in: In the loop on "$required" tools, for gcc
and g++, also run "gcc -v" (resp. "g++ -v"), to get more
information, and for consistency with gcj.
2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Tests defs: avoid some useless subshells.
* tests/defs: In the loop on "$required" tools: avoid subshells
where not needed.
2010-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Extend tests on AC_LIBOBJ and friends.
* tests/aclibobj.test: Removed, superseded by ...
* tests/libobj-basic.test: ... this new test, which runs autoconf,
./configure and make, to ensure everything really works.
* tests/libobj3.test: Add trailing `:' command. Escape literal
dot in grep regexp.
* tests/libobj4.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command. Use proper m4 quoting.
* tests/ltlibobjs.test: Likewise.
* tests/libobj5.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command. Make more robust by using
longer filenames to be grepped.
* tests/libobj8.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command. Use the configure.in
stub provided by ./defs, rather than writing it from scratch.
* tests/libobj2.test: Likewise. Also, add calls to autoconf,
./configure and make, to ensure everything really works.
* tests/libobj7.test: Likewise, and ensure that at least one
function listed in AC_REPLACE_FUNCTIONS is truly replaced.
* tests/libobj13.test: Make grepping of Automake stderr slightly
stricter. Add trailing `:' command.
* tests/libobj12.test: Likewise. Also, prefer "cat + here-doc"
over "echo" to append to Makefile.am, and some cosmetic changes
in spacing.
* tests/libobj14.test: Call `Exit 1' if sourcing of ./defs fails.
Slighty improve m4 quoting. Add trailing `:' command.
* tests/libobj10.test: Add calls to autoconf, ./configure and
make, to ensure everything really works. Also, remove tests that
nonexistent source for AC_LIBOBJ cause an Automake failure: this
is already checked by ...
* tests/libobj15a.test: ... this new test.
* tests/libobj15b.test: New test, sister test of libobj15a.test,
checks AC_LIBSOURCE instead of AC_LIBOBJ.
* tests/libobj15c.test: New test, sister test of libobj15a.test,
checks AC_LIBSOURCES instead of AC_LIBOBJ.
* tests/libobj11.test: Removed, superseded by ...
* tests/libobj16a.test: ... this new test.
* tests/libobj16b.test: New test, sister test of libobj16a.test,
but using oldish/deprecated idioms.
* tests/libobj17.test: New test.
* tests/libobj18.test: Likewise.
* tests/libobj19.test: Likewise.
* tests/libobj20a.test: Likewise.
* tests/libobj20b.test: Likewise.
* tests/libobj20c.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
2010-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
Test `$(var:suf=rpl)' expansion in special automake variables.
* tests/posixsubst-data.test: New test.
* tests/posixsubst-extradist.test: Likewise.
* tests/posixsubst-ldadd.test: Likewise.
* tests/posixsubst-libraries.test: Likewise.
* tests/posixsubst-ltlibraries.test: Likewise.
* tests/posixsubst-programs.test: Likewise.
* tests/posixsubst-scripts.test: Likewise.
* tests/posixsubst-sources.test: Likewise.
* tests/posixsubst-tests.test: Likewise.
* tests/Makefile.am (TESTS): Update.
2010-12-07 Stefano Lattarini <stefano.lattarini@gmail.com>
Make tests `colon*.test' more "semantic".
Prefer running configure and make over grepping the generated
files; this is both more correct and less fragile.
* tests/colon.test: Made more "semantic", as described above.
* tests/colon5.test: Likewise.
* tests/colon6.test: Likewise.
* tests/colon7.test: Likewise.
* tests/colon2.test: Likewise, and improve syncing with sister
test `colon3.test'.
* tests/colon3.test: Likewise (but with the sister test being
`colon2.test' here).
2010-12-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Avoid running installed automake from 'libtool --help'.
* tests/subobj9.test: Export AUTOCONF and AUTOMAKE.
Together with fixed Libtool, this fixes check-coverage to not
invoke installed automake.
2010-12-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Separate checks on target overriding into multiple test scripts.
* tests/overrid.test: Deleted, its contents separated into ...
* tests/override-suggest-local.test: ... this new test ...
* tests/override-html.test: ... and this new test ...
* tests/override-conditional-1.test: ... and this new test ...
* tests/override-conditional-2.test: ... and this new test (still
xfailing).
* tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
Enable `set -e' in more tests (plus some tweakings).
* tests/implicit.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command.
* tests/insh2.test: Likewise.
* tests/instman2.test: Likewise.
* tests/interp.test: Likewise.
* tests/interp2.test: Likewise.
* tests/library.test: Likewise.
* tests/mclean.test: Likewise.
* tests/info.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command. Remove useless chaff from
generated Makefile.am. Add a "FIXME" comment.
* tests/include.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command. Prefer cat + here-doc over
echo to append to configure.in. Make tests more robust by using
longer and less common names to grep. Remove an useless call to
echo. Remove an useless subshell.
* tests/header.test: Enable `errexit' shell flag, and related
changes. Use proper m4 quoting. Add excerpts from the original
report of the bug tested for by this script.
* tests/gcj.test: Enable `errexit' shell flag, and related
changes. Use proper m4 quoting. Add trailing `:' command.
* tests/gcj3.test: Likewise.
* tests/ldflags.test: Likewise.
* tests/libtool.test: Likewise.
* tests/listval.test: Likewise.
* tests/javaprim.test: Likewise, and prefer cat + here-doc over
echo to append to configure.in.
* tests/javasubst.test: Likewise.
* tests/discorver.test: Enable `errexit' shell flag. Prefer
trailing `:' over trailing `Exit 0'.
* tests/instdat.test: Enable `errexit' shell flag, and related
changes. Use proper m4 quoting. Avoid useless subshell. Prefer
cat + here-doc over echo to append to configure.in.
* tests/libtool2.test: Enable `errexit' shell flag, and related
changes. Add trailing `:' command. Use the configure.in
stub provided by ./defs, rather than writing it from scratch.
Modernize, improve and/or tweak some test scripts.
* tests/maintclean.test: Use proper m4 quoting. Add trailing `:'
command.
* tests/sinclude.test: Likewise, and add a couple of blank lines,
for clarity.
* tests/make.test: Move setting of `errexit' shell flag earlier in
the script (just after inclusion of ./defs). Use the configure.in
stub created by ./defs, rather than writing it from scratch. Some
cosmetic changes in spacing. Ensure we wait enough time before
touching configure.in to trigger the rebuild rules.
* tests/makej.test: Use `$me' instead of hard-coding the test
name. Add trailing `:' command.
* tests/version7.test: Likewise.
* tests/space.test: Enable `errexit' shell flag, and related
changes.
* tests/makevars.test: Likewise. Also, prefer trailing `:' over
trailing `Exit 0', and be more tolerant of white spaces when
grepping Makefile.in.
2010-12-02 Stefano Lattarini <stefano.lattarini@gmail.com>
* tests/silent8.test: Use "|| Exit 1" after ". ./defs".
Enable `set -e' in more tests (plus some tweakings).
* tests/mkinstall.test: Enable `errexit' shell flag, and related
changes. Add a trailing `:' command, if needed.
* tests/mdate2.test: Likewise.
* tests/objc.test: Likewise.
* tests/noinst.test: Likewise.
* tests/outdir.test: Likewise.
* tests/number.test: Likewise.
* tests/pluseq.test: Likewise.
* tests/req.test: Likewise.
* tests/rulepat.test: Likewise.
* tests/specflg6.test: Likewise.
* tests/spell3.test: Likewise.
* tests/parse.test: Likewise, and ...
(configure.in): Use the stub created by ./defs, rather than
writing it from scratch. Remove useless calls to AC_PROG_RANLIB
and AC_OUTPUT.
* tests/mdate4.test: Likewise.
* tests/mkinstall.test: Likewise, and ...
(configure.in): ... drop useless call to `AC_OUTPUT'.
* tests/output.test: Enable `errexit' shell flag, and related
changes. Add a trailing `:' command.
(configure.in): Modernize.
* tests/output2.test: Likewise.
* tests/output3.test: Likewise.
* tests/output4.test: Likewise.
* tests/mdate3.test: Enable `errexit' shell flag, and related
changes. Prefer `$me' over hard-coded test name. Do not move
non-existent or useless files in the build auxiliary directory.
* tests/nodistdir.test: Enable `errexit' shell flag, and related
changes. Prefer trailing `:' over trailing `Exit 0'.
* tests/nodist.test: Likewise. Also, prefer cat + here-doc over
echo to create input test files, and do not create useless dummy
C source files.
* tests/nodist2.test: Likewise.
* tests/ppf77.test: Enable `errexit' shell flag, with related
changes. Add a trailing `:' command. Do not create useless
dummy source files.
* tests/spelling.test: Enable `errexit' shell flag, with related
changes. Add a trailing `:' command. Also, grep Automake error
message.
* tests/specflg3.test: Enable `errexit' shell flag, with related
changes. Avoid unportable use of `-e' option of fgrep. Prefer
trailing `:' over trailing `Exit 0'. Remove extra empty lines,
and cosmetic changes to whitespaces.
* tests/obsolete.test: Enable `errexit' shell flag, with related
changes. Improve verbosity. Other miscellaneous changes.
2010-11-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Improve and extend tests on `:=' variable assignments.
* tests/colneq.test: Avoid redundant use of variable assignments
in Makefile.am. Use command-line automake options instead of
editing AUTOMAKE_OPTIONS in Makefile.am. Make grepping of the
generated Makefile.in slightly stricter. Add a trailing `:'
command.
* tests/colneq2.test: Do not create unneeded dummy files. Run
also autoconf, ./configure and make. Add trailing `:' command.
* tests/colneq3.test: New test, similar to colneq.test, but
running also autoconf, ./configure and make.
* tests/Makefile.am (TESTS): Update.
2010-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Remove long-deprecated options --Werror and --Wno-error.
These options has been deprecated at least since commit
"Release-1-6-1b-35-gc037f20", dated 2002-07-06.
* automake.in (parse_arguments): Do not recognize anymore options
`--Werror' and `--Wno-error' as synonyms of respectively `-Werror'
and `-Wno-error'.
* tests/werror.test: Update: use `-Werror' instead of `--Werror'.
* NEWS: Update.
2010-11-25 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix spurious failures in `silent*.test' for $CC != gcc
In some tests on automake-produced silent rules, we forced the
use of gcc depmode to improve testsuite coverage; but this has
unsurprisingly led to spurious failures when some non-GNU C
compilers were used. So we are now careful to require GCC in
tests that force gcc depmode.
From reports by Ralf Wildenhues.
* tests/silent5.test: Test removed, its content split into ...
* tests/silent-many-generic.test, tests/silent-many-gcc.test: ...
these new sister tests, the latter of which forces gcc depmode
and lists "gcc" in $required.
* tests/silentlex.test: Test removed, its content split into ...
* tests/silent-lex-generic.test, tests/silent-lex-gcc.test: ...
these new sister tests, the latter of which forces gcc depmode
and lists "gcc" in $required.
* tests/silentyacc.test: Test removed, its content split into ...
* tests/silent-yacc-generic.test, tests/silent-yacc-gcc.test: ...
these new sister tests, the latter of which forces gcc depmode and
lists "gcc" in $required.
* tests/Makefile.am (TESTS): Updated.
2010-11-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Tests: consistently use "|| Exit 1" after ". ./defs".
* tests/autohdr.test: Use `. ./defs || Exit 1', not bare
`. ./defs', for consistency with other tests.
* tests/autohdr2.test: Likewise.
* tests/autohdr3.test: Likewise.
* tests/autohdr4.test: Likewise.
* tests/cond23.test: Likewise.
* tests/cond24.test: Likewise.
* tests/cond25.test: Likewise.
* tests/cond26.test: Likewise.
* tests/cond27.test: Likewise.
* tests/cond28.test: Likewise.
* tests/cond29.test: Likewise.
* tests/cond30.test: Likewise.
* tests/cond31.test: Likewise.
* tests/cond32.test: Likewise.
* tests/cond33.test: Likewise.
* tests/cond34.test: Likewise.
* tests/cond35.test: Likewise.
* tests/cond36.test: Likewise.
* tests/cond37.test: Likewise.
* tests/cond38.test: Likewise.
* tests/cond39.test: Likewise.
* tests/cond40.test: Likewise.
* tests/cond41.test: Likewise.
* tests/cond42.test: Likewise.
* tests/cond43.test: Likewise.
* tests/cond44.test: Likewise.
* tests/cond45.test: Likewise.
* tests/dollarvar.test: Likewise.
* tests/dollarvar2.test: Likewise.
* tests/hfs.test: Likewise.
* tests/libobj14.test: Likewise.
* tests/percent.test: Likewise.
* tests/percent2.test: Likewise.
* tests/phony.test: Likewise.
* tests/silent.test: Likewise.
* tests/silent2.test: Likewise.
* tests/silent3.test: Likewise.
* tests/silent4.test: Likewise.
* tests/silent5.test: Likewise.
* tests/silent6.test: Likewise.
* tests/silent7.test: Likewise.
* tests/silent9.test: Likewise.
* tests/silentcxx.test: Likewise.
* tests/silentf77.test: Likewise.
* tests/silentf90.test: Likewise.
* tests/silentlex.test: Likewise.
* tests/silentyacc.test: Likewise.
Avoid useless cleaning in some `silent*.test' tests.
* tests/silentf77.test: Removed useless calls to "make clean"
and "make maintainer-clean".
* tests/silentf90.test: Likewise.
* tests/silent3.test: Removed useless call to "make distclean".
* tests/silent4.test: Likewise.
* tests/silent9.test: Likewise.
2010-11-19 Ian Lance Taylor <iant@google.com>
Sync config-ml.in from GCC.
* config-ml.in: Add Go support: treat GOC and GOCFLAGS like other
compiler/flag environment variables.
2010-11-20 Stefano Lattarini <stefano.lattarini@gmail.com>
release-stats: account for more generated tests.
* Makefile.am (release-stats): Be sure to take into account all
the generated tests, by grepping the test scripts to decide which
ones of them are automatically generated.
2010-11-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Code cleanup after removal of option `--output-directory'.
* automake.in ($output_directory): Remove, it's unconditionally
defined to `.' and used only ...
(generate_makefile): ... in this subroutine, which now has been
edited and simplified accordingly.
Remove obsolete automake option `--output-directory'.
This option has been deprecated since version 1.7 (2002/2003).
* automake.in ($output_directory): Define to `.' unconditionally.
(parse_arguments): Remove handling of equivalent options `-o' and
`--output-directory'.
* tests/outdir.test: Removed.
* tests/no-outdir-option.test: New test.
* tests/Makefile.am (TESTS): Updated.
* NEWS: Updated.
2010-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Automake::Config: remove extra trailing semicolon.
* lib/Automake/Config.in: Remove extra trailing semicolon.
help4.test: fix botched heading comment.
* tests/help4.test: Fixed the heading comment, since it
didn't correctly describe what checks the testcase was
supposed to perform.
help2.test: add checks on aclocal too.
* tests/help2.test: Check that also `aclocal --version' and
`aclocal --help' work with configure.in and acinclude.m4 both
broken.
2010-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
New test on repeated automake options.
* tests/repeated-options.test: New test, check that automake
does not complain on repeated options, nor generate broken or
incorrect makefiles.
* tests/Makefile.am (TESTS): Updated.
2010-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix spurious failures of silent-rules tests with Sun Fortran.
* tests/silentf77.test: Strip from the make output some verbose
messages possibly printed by the SunStudio fortran compilers, to
avoid spurious failures. Add a trailing `:' command.
* tests/silentf90.test: Likewise.
2010-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix spurious failures of silent5.test with Sun Fortran.
* tests/silent5.test: Strip from the make output some verbose
messages possibly printed by the SunStudio fortran compilers,
to avoid spurious failures. This bug has been there from the
very first version of this test script.
2010-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix regression in colon{5,6}.test (failures on AIX 5.3).
* tests/colon5.test: Also substitute `@SHELL@' with `$SHELL' when
post-processing the generated Makefile.in, to work around a bug
of AIX 5.3 make which doesn't allow setting the `$(SHELL)' macro
on the commend line. Calls to `$MAKE' adjusted accordingly.
* tests/colon6.test: Likewise.
Regression introduced in commit v1.11-175-gf9fe878 "Modernize,
improve and/or extend tests `colon*.test", and reported by Ralf
Wildenhues.
2010-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix regression in ansi.test (failure on AIX 5.3).
* tests/ansi.test: Remove redundant hackish check done using a
hand-postprocessed Makefile.in. This check worked by setting
the `$(SHELL)' macro on the command line of make, but this is
not supported by the AIX 5.3 make implementation.
This bug has been lurking for a long time, and was activated by
commit v1.11-125-gc1f6cdb "Enable `errexit' shell flag in various
tests". Report by Ralf Wildenhues.
2010-11-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
backcompat5.test: avoid '##'-style comments inside recipe commands.
* tests/backcompat5.test: Remove double-hash comments
from makefile rule commands, they are not part of the
Automake API. Fixes testsuite failure with Tru64 make.
tests: avoid '##'-style comments inside recipe commands.
* tests/confh.test, tests/confh8.test: Remove
double-hash comments from makefile rule commands, they
are not part of the Automake API.
2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: work around dash quoting issue in case statements.
* tests/color.test, tests/color2.test: Quote variable in case
pattern, to avoid skipping tests with dash 0.5.5.1.
2010-11-16 Peter Rosin <peda@lysator.liu.se>
Skip MSVC oriented tests if the shell is not capable.
* tests/defs: New required entry 'xsi-shell'.
* tests/ar-lib.test, tests/compile3.test, tests/compile6.test:
Require a XSI capable shell.
Reported by Ralf Wildenhues.
2010-11-15 Peter Rosin <peda@lysator.liu.se>
compile: clear the `eat' variable earlier.
* lib/compile: Clear the `eat' variable earlier.
($scriptversion): Update.
* tests/compile3.test: Prevent regressions.
2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
More stable configure output from sanity check.
* m4/sanity.m4 (AM_SANITY_CHECK): Always print check line
about ensuring newer files, even if we don't actually need
to wait any more.
2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Rebuild menus in the manual.
* doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs).
Thanks to Ian Lance Taylor for the suggestion.
Fix install-strip when $(STRIP) contains several words.
* lib/am/install.am (install-strip): Update comment. Use
separate sub-make invocations for empty and nonempty $(STRIP),
to fix quoting issues.
* tests/strip2.test, tests/strip3.test: New tests.
* tests/Makefile.am (TESTS): Adjust.
2010-11-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix yaccdry.test failure: require bison.
* tests/yaccdry.test: Require bison.
Found by NixOS Hydra.
2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix bug in test `backcompat6.test' (MSYS portability).
* tests/backcompat6.test (Makefile.am): Grep the output from the
test program, rather than diffing it, to avoid spurious failures
on MinGW/MSYS due to LF vs. CRLF line endings.
Reported by Ralf Wildenhues.
2010-11-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Deprecate obsolete macro AM_WITH_REGEX.
* m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete,
and state that it should be removed two years from now.
(AM_WITH_REGEX): Raise an m4-time warning of the "obsolete"
category when this macro is used.
* doc/automake.texi (Public Macros): Move description of
`AM_WITH_REGEX' from here ...
(Obsolete Macros): ... to here, and declare it as obsolete
and "to be removed in a future version".
* tests/regex-obsolete.test: New test.
* tests/Makefile.am (TESTS): Update.
2010-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
Improve and extend tests on man pages support.
* tests/man.test: Enable `errexit' shell flag, and related changes.
Make grepping of generated Makefile.in slightly stricter.
* tests/man3.test: Add trailing `:' command.
* tests/man5.test: Prefer cat + here-doc over echo to append to
configure.in.
* tests/man2.test: Likewise, and add trailing `:' command.
* tests/man4.test: More thorough and consistent checking of make
error messages. Place fake `help2man' program in a new `bin'
directory rather than in `.'. Move the checks using the real
`help2man' program to ...
* tests/man6.test: ... this new test, and extend them. This test
passes with GNU make and Solaris make, still fails with BSD make.
* tests/man7.test: New test, extracted from old man4.test, which
checks for a bug in maintainer-clean w.r.t. generated manpages.
* tests/man8.test: New test, extracted from old man4.test, which
checks for a bug in distcheck w.r.t. generated manpages. Passes
with GNU make and Solaris make, still fails with BSD make.
2010-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
Minor improvements and extensions to various tests.
* tests/defun.test: Also run autoconf and grep the generated
configure to make sure that aclocal truly picks up all the
required macros.
* tests/compile_f_c_cxx.test: Prefer trailing `:' over trailing
`Exit 0'. Do not create useless dummy source files. Do not set
useless `$(foo_LDADD)' variable in `Makefile.am'. Do not call
useless macro `AC_F77_LIBRARY_LDFLAGS' in `configure.in'.
* tests/compile_f90_c_cxx.test: Likewise.
* tests/suffix10.test: Slightly stricter grepping of make output.
* tests/compile.test: Add trailing `:' command.
* tests/defun2.test: Likewise.
* tests/vars3.test: Likewise.
* tests/vartar.test: Likewise.
* tests/vars.test: Likewise. Also, extend test by checking
that the definition of `MY_FLAGS*' variables is preserved in
the generated `Makefile.in'.
* tests/stamph2.test: Prefer trailing `:' over trailing `Exit 0'.
Use proper m4 quoting in `configure.in'.
2010-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Tests defs: improve messages for skipped tests.
* tests/defs: Give meaningful messages about the reasons of a
test skip; this is especially useful as this file is run without
verbose xtraces on. Related reorderings in the code and new
comments.
2010-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Tests defs: move static definitions in a new file `defs-static'.
The new file is meant to be idempotent w.r.t. multiple inclusions.
* tests/defs.in: Removed, its contents split among ...
* tests/defs-static.in: ... this new file ...
* tests/defs: ... and this new file, including the former.
* configure.ac (AC_CONFIG_FILES): Remove `tests/defs', add
`tests/defs-static'.
(AC_CONFIG_LINKS): Add `tests/defs'.
* tests/Makefile.am ($(parallel_tests)): Update.
($(instspc_tests)): Likewise.
* tests/.gitignore: Update.
Tests defs: $testsbuilddir is now AC_SUBST'ed.
* tests/defs.in ($testsbuilddir): Substitute from @abs_builddir@.
Add sanity check on $testsbuilddir, similar to those on
$testsrcdir and $top_testsrcdir.
Tests defs: do not print message "Running test $0" anymore.
* tests/defs.in: Printing the message "=== Running test $0" at
the beginning of each tests made sense when Automake used the old
test-driver, which sent all the output directly to stdout/stderr.
Now that the parallel test-driver is used, which saves output of
each test in its corresponding log file, that old message is just
useless noise.
Tests defs: rename $curdir -> $testbuilddir
* tests/defs.in: Rename $curdir to $testbuildir, for clarity and
consistency with $testsrcdir and $top_testsrcdir.
Tests defs: prefer "$curdir" over "`pwd`".
* tests/defs.in: We already save the value of `pwd` in $curdir
early in the file, so there no need to recalculate it later, when
the current working directory is not changed.
Tests defs: use `$me' in more error messages.
* tests/defs.in: Also use `$me' in error messages referring to
missing `defs' or `defs.in', since that variable is now defined
before those checks.
Tests defs: do not use `Exit' where plain `exit' suffices.
* tests/defs.in: Use "exit 77" rather than "Exit 77" to skip the
test when required libtool/gettext macros are not found, since
such skips would take place before the exit trap is installed.
Tests defs: improve and extends comments.
* tests/defs.in: Improve and extends some comments, especially in
relation with the changes introduced by the previous reordering.
Tests defs: various reorderings.
* tests/defs.in: Reordered various snippets of code in a
clearer way.
2010-11-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix bug in test `backcompat4.test' (stale autom4te cache).
* tests/backcompat4.test: Remove stale autom4te cache directory
before re-running aclocal and automake. Also, since we are at
it, be more verbose in displaying contents of generated files,
to ease debuggability.
Reported by Ralf Wildenhues.
2010-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix a bug in variable concatenation with `+='.
* lib/Automake/VarDef.pm (append): Since the content of the
"appended-to" variable is going to be unconditionally normalized
later, simply separate the appended value with a single whitespace
character, instead of trying to be uselessly smarter by using
escaped newlines. This fixes a bug in which extra backslashes
where erroneously inserted in the variable's final value.
* tests/pluseq11.test: New test, exposing the bug.
* tests/Makefile.am (TESTS): Update.
Reported by Andy Wingo.
2010-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
Modernize, improve and/or tweak various test scripts.
* tests/stamph2.test: Improve m4 quoting in `configure.in', and
prefer trailing `:' over trailing `Exit 0'.
* tests/syntax.test: Escape literal dots in grep regexps.
* tests/copy.test: Enable `errexit' shell flag. Extend test by
checking with `test' utility that the script `install-sh' is
copied, but not symlinked.
* tests/depdist.test: Move setting of `errexit' shell flag earlier
in the script (just after inclusion of ./defs). Avoid obsoleted
constructs in generated `configure.in'. Prefer to do our checks
by running configure and make over grepping Makefile.in.
* tests/target-cflags: Move setting of `errexit' shell flag
earlier in the script (just after inclusion of ./defs). Use the
`configure.in' stub created by `./defs', rather than writing it
from scratch.
* tests/target-clash: Do not uselessly run autoconf.
* tests/ctarget1.test: Renamed ...
* tests/cond-basic.test: ... to this. Use the `configure.in' stub
created by `./defs', rather than writing it from scratch.
Move setting of `errexit' shell flag earlier in the script (just
after inclusion of ./defs). Other minor cosmetic changes.
* tests/Makefile.am (TESTS): Updated.
2010-11-06 Stefano Lattarini <stefano.lattarini@gmail.com>
New tests on obsoleted usages of automake/autoconf macros (such
as AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT).
* tests/backcompat.test: New test script.
* tests/backcompat2.test: Likewise.
* tests/backcompat3.test: Likewise.
* tests/backcompat4.test: Likewise.
* tests/backcompat5.test: Likewise.
* tests/backcompat6.test: Likewise.
* tests/init.test: Extended and improved, esp. by trying more
combinations of calls to AC_INIT and AM_INIT_AUTOMAKE with few
arguments.
* tests/Makefile.am (TESTS): Updated.
2010-11-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix bug in rules for creating vala vapi/header files.
* automake.in (lang_vala_finish_target): Add forgotten "fi" in an
if control structure in a generated make rules. Bug introduced
by previous commit `v1.11-221-gd7c1679', and revealed by failure
of test `vala2.test'.
2010-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix and document rules to not touch the tree with `make -n'.
* doc/automake.texi (Multiple Outputs): Document the problem of
modifications during dry-run execution, propose solution.
* NEWS: Update.
* automake.in (lang_vala_finish_target): Split recipe so the
stamp file is not removed with GNU `make -n'.
(lang_yacc_target_hook): Separate removal of parser output file
and header remaking.
* lib/am/lisp.am ($(am__ELCFILES)): Determine whether -n was
passed to make, take care not to remove any files in that case.
* lib/am/remake-hdr.am (%CONFIG_H%): Separate removal of
%STAMP% file from induced remaking of config header.
* tests/autohdrdry.test, tests/lispdry.test, tests/yaccdry.test:
New tests.
* tests/Makefile.am (TESTS): Update.
2010-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix potential bug in generated tests `instpc-*.test'.
This bug is due to the changes introduced by the recently-merged
"tests-init" branch. In that branch, `tests/defs' didn't define
anymore `$srcdir', instead defining directly `$testsrcdir'; but
the generated tests were using `$srcdir', hence the bug.
Luckily, since the Automake parallel test driver automatically
exports `srcdir' to a proper value, that prevented the bug from
manifesting itself.
* tests/Makefile.am ($(instspc_tests)): In the generated test
scripts, use `$testsrcdir', not `$srcdir'.
2010-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
Overhauled and modularized tests in `instspc.test'.
The test `instspc.test' was way too big and fragile. Its running
time was very long. It also produced a log that was nearly
unreadable due to its length, making it very difficult to find
out the reason for failures.
Also, it was too much monolithic, with a single (maybe spurious)
failure in a corner case causing the whole test to fail (even if
everything worked as expected in the other 99% of cases).
The present change should solve these problems, by separating
`instspc.test' into many smaller, self-contained, auto-generated
tests.
* tests/instspc.test: Removed.
* tests/instspc-tests.sh: New script, fulfilling a double role:
1. it generates a Makefile.am snippet `tests/instspc-tests.am',
containing the definition of a list of new tests which will take
over the older `instspc.test', and
2. it is sourced by said generated tests with proper parameters
pre-set, to run the "meat" of the checks.
This apparent abuse is indeed required because the test generation
code and test execution code are inevitably intertwined.
* tests/Makefile.am ($(srcdir)/instspc-tests.am): Include this
snippet, which (among the other things) defines ...
(instspc_tests): ... this new macro, containing the list of the
newly generated `instspc*.test' tests, and ...
(instspc_xfail_tests): ... this new macro, containing the list
of the `instspc*.test' tests expected to fail.
($(instspc_tests)): New rule, generates the `instspc*.test' tests.
($(instspc_tests:.test=.log)): New rule, registers the dependency
of all `instspc*.test' tests on the `instspc-tests.sh' script.
(TESTS): Add `$(instspc_tests)', remove `instspc.test'.
(XFAIL_TESTS): Add `$(xfail_instspc_tests)'.
(EXTRA_DIST): Distribute instspc-tests.sh.
(MAINTAINERCLEANFILES): Added $(instspc_tests).
Other minor cosmetic changes.
* bootstrap: Generate instspc-tests.am.
* tests/.gitignore: Updated.
2010-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Add FAQ entry for bug reporting instructions.
* doc/automake.texi (Reporting Bugs): New section.
(Introduction): Refer to it.
2010-10-07 Peter Rosin <peda@lysator.liu.se>
depcomp: add new one-pass depmode for MSVC 7 and later.
* lib/depcomp: Add new depmodes 'msvc7' and 'msvc7msys' which
make use of the -showIncludes option added in MSVC 7.
* m4/depend.m4 (_AM_DEPENDENCIES): Handle the new depmodes
similarly to 'msvisualcpp' and 'msvcmsys' as MSVC does not
support the -o option.
2010-10-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Add support for newer python versions.
* m4/python.m4 (AM_PATH_PYTHON): Add python2.7 and python3.2 to
_AM_PYTHON_INTERPRETER_LIST. Since we are at it, break a long
line and fix indentation.
* THANKS: Updated.
From a report by Thomas Klausner.
Add test for `AM_WITH_DMALLOC' macro.
* tests/dmalloc.test: New test.
* tests/Makefile.am (TESTS): Update.
Fix nits and bugs in tests `help*.test'.
* tests/help4.test: Fix broken sed commands used to strip `-W...'
flags away from "$AUTOMAKE" and "$ACLOCAL".
* tests/help3.test: Likewise, and fix a botched comment.
* tests/help.test: Likewise. Also, use "AUTOMAKE_fails ..."
instead of "$AUTOMAKE ... && Exit 1", for consistency and to
please maintainer-check.
* tests/help2.test: Likewise.
2010-10-03 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Improve tests `help*.test' (also fixes maintcheck failures).
* tests/help.test: To run automake, use `$AUTOMAKE' with all `-W'
flags stripped away rather than hard-coded `automake-$APIVERSION',
to better honour user-overrides. Similarly for aclocal.
* tests/help2.test: Likewise.
* tests/help3.test: Likewise.
* tests/help4.test: Likewise.
2010-10-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
tests: fix ar-lib.test for echo that interprets backslashes.
* tests/ar-lib.test: Use printf instead of echo. Avoid test -a.
More robust quoting.
2010-10-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
maintainer-check coverage for variables before rules.
* Makefile.am (sc_ensure_testsuite_has_run): Suggest keeping
around the test directories.
(sc_tests_makefile_variable_order): New rule with a heuristic to
catch ordering violations.
Document and fix expansion of variables before rules.
* doc/automake.texi (General Operation): Document that variables
are expanded before rules.
* lib/am/check.am (am__check_post): Reword a bit so it does not
get matched as a rule.
Suggestion by Ben Pfaff.
2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Coverage and minor fixes for variable typo detection.
* automake.in (check_typos): Remove `EXTRA_' prefix when
computing canonical name.
* tests/vartypo2.test, tests/vartypos.test: New tests.
* tests/Makefile.am (TESTS): Update.
Implement EXTRA_maude_DEPENDENCIES for programs and libraries.
* automake.in (handle_programs, handle_libraries)
(handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
* doc/automake.texi (Linking, Program and Library Variables)
(LIBOBJS): Document EXTRA_*_DEPENDENCIES.
* lib/am/library.am (%LIBRARY%): Also depend on
$(EXTRA_%XLIBRARY%_DEPENDENCIES).
* lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
(%XLTLIBRARY%_DEPENDENCIES).
* lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
$(EXTRA_%XPROGRAM%_DEPENDENCIES).
* tests/extradep.test, tests/extradep2.test: New tests.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
Suggested by Eric Blake.
tests: avoid running into timing issues due to sanity change.
* tests/acloca10.test, tests/acloca18.test, tests/aclocal9.test:
Insert strategic sleep before aclocal reruns, to ensure files
are newer.
* tests/python11.test: Use --force for repeated autotools runs.
Reports from the NixOS Hydra build daemon via Ludovic Courtès.
Fix timestamp issues by ensuring configure takes at least a second.
* m4/sanity.m4 (AM_SANITY_CHECK): If we didn't sleep here,
start a sleep in the background and wait for it to finish
before creating config.status, hopefully fixing all spurious
testsuite failures involving botched time stamps.
* NEWS: Update.
Reports by Ludovic Courtès, Peter Breitenlohner, and others.
2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Revert "parallel-tests: avoid command-line length limit issue."
This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835,
because it re-opened the bug fixed by v1.11-10-g218e678.
2010-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parallel-tests: avoid command-line length limit issue.
* automake.in (handle_tests): New argument $makefile, new
substitution %MAKEFILE%.
(generate_makefile): Adjust.
* lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
sanitized TEST_LOGS value as makefile snippet on standard
input to $(MAKE), to avoid exceeding the command line limit on
w32 (MSYS).
* NEWS: Update.
Report by Bob Friesenhahn.
2010-09-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Extend tests on `--help' and `--version' options.
* tests/help.test: Create a new empty directory and chdir into
it, rather than removing already present files. Run the aclocal
and automake wrapper scripts directly, instead of relying on
$AUTOMAKE and $ACLOCAL. Be sure to correctly match literal dots
in aclocal's and automake's stderr. Add a trailing `:' command.
* tests/help2.test: New test, checking that options `--help' and
`--version' works in directories with broken `configure.in'.
* tests/help3.test: New test, checking that options `--help' and
`--version' take precedence on the other options.
* tests/help4.test: New test, checking that the first among the
`--help' and `--version' options to be specified on the command
line wins.
* tests/Makefile.am (TESTS): Updated.
2010-09-25 Stefano Lattarini <stefano.lattarini@gmail.com>
Testsuite: Use `$PATH_SEPARATOR', not `:', when extending PATH.
* tests/compile2.test: Do no uselessly (implicitly) repeat the
computation of PATH_SEPARATOR again.
* tests/instmany-mans.test: Use `$PATH_SEPARATOR', not `:', when
extending/redefining PATH.
* tests/instmany-python.test: Likewise.
* tests/instmany.test: Likewise.
* tests/man4.test: Likewise.
* tests/mkinst3.test: Likewise.
* tests/mmodely.test: Likewise.
* tests/multlib.test: Likewise.
* tests/txinfo30.test: Likewise.
* tests/README (Section "Writing test cases" subsection "Do"):
Updated.
* Makefile.am (sc_tests_PATH_SEPARATOR): New maintainer check.
(syntax_check_rules): Updated.
Testsuite: new variables `$PATH_SEPARATOR' and `$APIVERSION'.
* tests/defs.in ($APIVERSION): New AC_SUBST'd variable.
($ACLOCAL, $AUTOMAKE): Use it.
($PATH_SEPARATOR): New AC_SUBST'd variables.
($PATH): Use it.
2010-09-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Manual: be more agnostic w.r.t. version control system used.
* doc/automake.texi (Basics of Distribution): Also refer to `.svn'
directories as a type of probably-unwanted files that are copied
regardless when adding directories to EXTRA_DIST.
(The dist Hook): Show a dist-hook example which removes Subversion
`.svn' private directories from distdir, rather than CVS private
directories.
(missing and AM_MAINTAINER_MODE): Try to be more agnostic w.r.t.
the version control system used.
Manual: index refer to target "git-dist", not "cvs-dist".
* doc/automake.texi (General Operation): Index the non-standard
example about "git-dist" under the "git-dist" label, not under
the "cvs-dist" one.
Perl modules: remove references to "Automake CVS repository".
* lib/Automake/Channels.pm: Update comments to refer to "Automke's
git repository" rather than to "Automake's CVS repository".
* lib/Automake/Configure_ac.pm: Likewise.
* lib/Automake/FileUtils.pm: Likewise.
* lib/Automake/Struct.pm: Likewise.
* lib/Automake/XFile.pm: Likewise.
* lib/Automake/Version.pm (=head1 DESCRIPTION): Refer to "git
branches" rather than "CVS branches".
Remove obsolete .cvsignore files.
* .cvsignore, doc/.cvsignore, lib/.cvsignore, lib/am/.cvsignore,
lib/Automake/.cvsignore, lib/Automake/tests/.cvsignore,
m4/.cvsignore, tests/.cvsignore: Files deleted. Even when using
savannah's CVS readonly mirror there's no way to commit back to
the real repository, so this files are not worth maintaining or
keeping around.
2010-09-21 Stefano Lattarini <stefano.lattarini@gmail.com>
* m4/dmalloc.m4: Bump serial number and copyright years.
2010-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix broken link in `AM_WITH_DMALLOC' help screen.
* m4/dmalloc.m4 (AM_WITH_DMALLOC): Refer only to the dmalloc site
`http://www.dmalloc.com', not to the dmalloc tarball there (which
seems to have been removed, substituted by multiple release
tarballs now).
2010-09-21 Peter Rosin <peda@lysator.liu.se>
compile: implement library search to support MSVC static linking
* lib/compile (func_cl_wrapper): Implement library search and
-static option so that the user can select whether to prefer
dll import libraries or static libraries. This enables MSVC to
link against dlls generated by libtool without requiring libtool
or workarounds such as -lfoo.dll etc. Makes the tests/static.at
test case in libtool pass.
* tests/compile3.test: Don't trip up if there happens to exist
a "foo" library in the library search path.
* tests/compile6.test: New test, verifying the library search.
* tests/Makefile.am (TESTS): Update.
2010-09-17 Eric Blake <eblake@redhat.com>
Avoid triple-space after period.
* automake.in (handle_single_transform): Avoid 3 spaces at
sentence end.
* ChangeLog.03: Likewise.
* lib/Automake/ChannelDefs.pm: Likewise.
* lib/Automake/Channels.pm (_print_message): Likewise.
* lib/Automake/Rule.pm (rule): Likewise.
* lib/Automake/Variable.pm (var): Likewise.
* lib/am/distdir.am: Likewise.
* tests/insthook.test: Likewise.
2010-09-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Test automake-generated portions of configure help screen.
* tests/help-depend.test: New test.
* tests/help-depend2.test: Likewise.
* tests/help-dmalloc.test: Likewise.
* tests/help-init.test: Likewise.
* tests/help-lispdir.test: Likewise.
* tests/help-maintainer.test: Likewise.
* tests/help-multilib.test: Likewise.
* tests/help-regex.test: Likewise.
* tests/help-silent.test: Likewise.
* tests/help-upc.test: Likewise.
* tests/mmode.test: Remove tests on `configure --help' output,
they are superseded by tests in `help-maintainer.test'.
* tests/Makefile.am (TESTS): Update.
2010-09-14 Stefano Lattarini <stefano.lattarini@gmail.com>
* tests/README: Don't put GCS mandated tools in $required.
2010-09-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* HACKING: Hint at old commits with `git describe' output.
2010-09-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Prefer `$(am__cd)' to plain `cd' in our Makefiles.
* Makefile.am (recheck, dist-hook, git-dist, path-check, fetch)
(release-stats): Use `$(am__cd)' rather than plain `cd'.
* tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
2010-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix regression in test `colon4.test'.
* tests/colon4.test: Fix botched editing to `configure.in'
that made the test useless. Since we are at it, improve
comments and make grepping of generated Makefile.in slightly
stricter.
Regression introduced by change "Modernize, improve and/or
extend tests `colon*.test" (Stefano Lattarini, 2010-08-08).
2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
Do not require "gzip" explicitly in tests.
The gzip utility is simply expected to be present on any decent
target system for Automake. So it's pointless to put it in
$required.
* tests/install2.test ($required): Do not require "gzip".
* tests/lex3.test: Likewise.
* tests/pr9.test: Likewise.
From a suggestion by Ralf Wildenhues.
2010-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Use AS_HELP_STRING in AM_SILENT_RULES.
* m4/silent.m4 (AM_SILENT_RULES): Use `AS_HELP_STRING' to format
help message regarding configure options `--enable-silent-rules'
and `--disable-silent-rules'. Also throw in a couple of cosmetic
changes in the related `case' statement (indentation, balancing
of parentheses).
* THANKS: Update.
From a report by Jeff A. Daily.
2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
Make some `confh*.test' tests more "semantic" (plus tweakings).
* tests/confh.test: Run "autoconf", "configure" and "make check",
instead of munging/grepping the generated `Makefile.in'.
* tests/confh4.test: Relax the grepping of Makefile.in w.r.t.
white spaces. Do not create useless dummy source file `foo.c'
and useless dummy header file `acconfig.h'.
(configure.in): Remove superfluous call to `AC_OUTPUT'.
* tests/confh6.test: Add trailing `:' command.
* tests/confh7.test: In comments, add reference to ...
* tests/confh8.test: ... this new test, "semantic" sister
of `confh7.test'.
* tests/Makefile.am (TESTS): Updated.
Prompted by a report from Ralf Wildenhues.
2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
Remove useless whitespace padding in XFAIL_TESTS definition.
* tests/Makefile.am (XFAIL_TESTS): Remove whitespace padding.
2010-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parallel-tests: avoid command-line length limit issue.
* automake.in (handle_tests): New argument $makefile, new
substitution %MAKEFILE%.
(generate_makefile): Adjust.
* lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
sanitized TEST_LOGS value as makefile snippet on standard
input to $(MAKE), to avoid exceeding the command line limit on
w32 (MSYS).
* NEWS: Update.
Report by Bob Friesenhahn.
Posix 2008 requires make to set errexit.
* lib/am/check.am: Update comment.
2010-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Tests defs: remove variable $testaclocaldir.
* tests/defs.in ($testaclocaldir): Removed.
* tests/aclocal.test: Use `$top_testsrcdir/m4' directly, not
`$testaclocaldir'.
Tests defs: $srcdir and $top_srcdir renaming.
* tests/defs.in ($srcdir): Remove, define $testsrcdir directly.
* tests/Makefile.am ($(parallel_tests)): Generation of derived
tests updated.
Tests defs: new variable $top_testsrcdir.
* tests/defs.in ($top_testsrcdir): Define unconditionally
to @abs_top_srcdir@. Use it throughout.
* tests/ar-lib.test: Use `$top_testsrcdir' instead of
`$testsrcdir/..'.
* tests/auxdir.test: Likewise.
* tests/compile.test: Likewise.
* tests/compile2.test: Likewise.
* tests/compile3.test: Likewise.
* tests/compile5.test: Likewise.
* tests/mdate6.test: Likewise.
* tests/mkinst3.test: Likewise.
* tests/multlib.test: Likewise.
* tests/txinfo22.test: Likewise.
Tests defs: $srcdir is unconditionally substituted.
* tests/defs.in ($srcdir): Define unconditionally to @abs_srcdir@.
Remove code for $srcdir normalization, which is now useless.
2010-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Tests defs: make spacing more consistent.
* tests/defs.in: Make spacing more consistent in indentation.
Especially, indent using only spaces, not tabs. Also, move
a comment to a better position.
Improve code for requiring libtool and gettext in tests.
* tests/defs.in: Stricter (and more correct) detection of wheter
libtool, libtoolize and/or gettext are in $required.
2010-08-27 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix bug in test missing6.test.
* tests/missing6.test: Fix the hack used to edit `configure.in',
to avoid producing a configure script that breaks with shells
that do not support $LINENO. Also throw in a couple of cosmetic
changes.
2010-09-02 Peter Rosin <peda@lysator.liu.se>
Make ar-lib support backslashed files in archives.
* lib/ar-lib: If an archive member contains a backslash, make sure
it is escaped when the archive member is extracted.
* tests/ar-lib.test: Test the above.
2010-08-31 Peter Rosin <peda@lysator.liu.se>
Do file name conversion for object files in the compile wrapper.
* lib/compile (func_cl_wrapper): Do file name conversion for object
files (i.e. extensions .obj, .OBJ, .o and .O) if needed.
* tests/compile4.test: Test the above.
2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Speed up removal of auxiliary linker output files for ltlibraries.
* lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Rewrite using just
one `rm' invocation.
Report by Bob Friesenhahn.
Improve robustness of mdate-sh script.
* lib/mdate-sh: Sanitize zsh behavior on startup, to ensure
$ls_command is word-split properly upon invocation.
(error): New function.
(main): Use it. Improve error checking to avoid endless loop
in case $ls_command gave bogus output. Fix eval quotation.
* tests/mdate6.test: New test, to expose eval quotation error.
* tests/Makefile.am: Update.
2010-08-18 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix potential regressions in depcomp{3,5}.test.
* tests/depcomp3.test: Do not uselessly escape the character `$'
in makefile rules, when it's used to expand a make macro.
* tests/depcomp5.test: Likewise.
2010-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Docs: clarify how to avoid automatic dependencies tracking.
* doc/automake.texi (Automatic dependency tracking): Mention that
automatic dependencies tracking is enabled by default, but that
the package developer can disable it altogether. Add a reference
to the proper section for a more in-depth explanation.
Fix typo in manual (`Makefile.in' instead of `Makefile.am').
* doc/automake.texi (Automatic dependency tracking): Fix typo.
2010-08-16 Bruno Haible <bruno@clisp.org>
Don't hide the table of contents.
* doc/automake.texi: Move the table of contents to the beginning.
2010-08-16 Peter Rosin <peda@lysator.liu.se>
Optimize compile script on MSYS.
* lib/compile (func_file_conv): Add new argument 'lazy' which
takes an optional list of conversion types where the requested
conversion isn't needed.
(func_cl_wrapper): Take advantage of the above for cases where
MSYS is doing the conversion for us.
Suggested by Ralf Wildenhues.
2010-08-16 Peter Rosin <peda@lysator.liu.se>
Support more C++ file extensions for MSVC in the compile script.
* lib/compile (func_cl_wrapper): MSVC only recognizes the .cpp
file extension as C++, unless it's given a hint. So hint about
.cc, .CC, .cxx, .CXX, c++ and C++. Also do path conversion on
.c, .cpp, .CPP, .lib, .LIB and .Lib files.
* tests/compile3.test: Test the C++ hinting.
2010-08-12 Peter Rosin <peda@lysator.liu.se>
Enable the use of "link -lib" as the wrapped archiver.
* lib/ar-lib: Enable the use of "link -lib" as the wrapped
archiver, as well as allowing some other options to be passed
through to the wrapped archiver.
* tests/ar-lib.test: Test the above.
2010-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Tweak and/or extend some `acloca*.test' tests.
* tests/aclocal8.test: Ensure verbose printing of captured
output.
* tests/aclocal.test: Likewise. Also, add trailing `:'
command.
* tests/acloca19.test: Likewise.
* tests/aclocal5.test: Add trailing `:' command, and prefer
`$me' over hard-coded test name.
* tests/aclocal6.test: Likewise.
* tests/aclocal18.test: Add trailing `:' command, and make
some grepping slightly stricter.
* tests/acloca14.test: Likewise. Also, prefer `diff' over
`cmp', and add some "cosmetic" blank lines.
2010-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Tweak and extend tests `pr[!0-9]*.test'.
* tests/primary3.test: Add trailing `:' command.
* tests/primary.test: Make grepping of Automake's stderr stricter.
Also, add trailing `:' command, and cosmetic changes in spacing.
* tests/primary2.test: Likewise.
* tests/prefix.test: Enable `errexit' shell flags, and related
changes. Add a trailing `:' command.
* tests/proginst.test: Likewise.
Modernize, improve and extend tests for PR (`pr[0-9]*.test').
* tests/pr2.test: Add trailing `:' command.
* tests/pr229.test: Likewise.
* tests/pr401.test: Likewise.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
* tests/pr300-prog.test: Likewise, plus cosmetic changes in
spacing.
* tests/pr300-lib.test: Likewise.
* tests/pr300-ltlib.test: Likewise, and ensure verbose printing
of captured make stdout.
* tests/pr211.test: Add trailing `:' command. Also, use the
`configure.in' stub created by ./defs, rather than writing it
from scratch.
* tests/pr204.test: Likewise, plus cosmetic spacing changes.
* tests/pr287.test: Likewise, and move setting of `errexit' shell
flag earlier in the script (just after inclusion of ./defs).
* tests/pr220.test: Make grepping of Automake's stderr stricter.
Also, add trailing `:' command, and cosmetic changes in spacing.
* tests/pr224.test: Move setting of `errexit' shell flag earlier
in the script (just after inclusion of ./defs). Do not export
`CC=gcc' to configure explicitly (it's already exported globally
in ./defs, since we have "gcc" in $required). Use the stub for
`configure.in' created by ./defs, rather than writing it from
scratch. Do not create dummy files required by "gnu" mode (e.g.
README, NEWS), since we run automake in foreign mode anyway.
* tests/pr72.test: Enable `errexit' shell flags, and related
changes. Extend existing checks a bit.
* tests/pr9.test: Likewise. Also, avoid obsolescent constructs in
the generated `configure.in', and extend existing checks over the
generated tarball a bit.
* tests/pr87.test: Enable `errexit' shell flags, and related
changes. Add a trailing `:' command. Also, do not create dummy
files required by "gnu" mode (e.g. README, NEWS), since we run
automake in foreign mode anyway.
* tests/pr243.test: Avoid obsolescent constructs in the generated
`configure.in'. Enable the `errexit' shell flag, and related
changes. Cosmetic changes to spacing, add trailing `:' command,
and add a "FIXME" comment.
* tests/pr266.test: Likewise, and add explicit command line switch
`--enable-dependency-tracking' to the ./configure call.
* tests/pr279.test: Avoid obsolescent constructs in the generated
`configure.in'; also, use the `configure.in' stub created by
./defs, rather than writing it from scratch. Enable `errexit'
shell flag, and related changes. Add trailing `:' command.
* tests/pr279-2.test: Likewise, and make grepping of Makefile.in
stricter.
* tests/pr307.test: Move setting of `errexit' shell flag earlier
in the script (just after inclusion of ./defs). Escape literal
dots in grep regular expressions. Also, add a trailing `:'
command, and cosmetic changes to spacing.
Tests for PR: add excerpts from original bug report, for clarity.
* tests/pr2.test: Ditto.
* tests/pr9.test: Likewise.
* tests/pr72.test: Likewise.
* tests/pr87.test: Likewise.
* tests/pr211.test: Likewise.
* tests/pr220.test: Likewise.
* tests/pr224.test: Likewise.
* tests/pr229.test: Likewise.
* tests/pr243.test: Likewise.
* tests/pr266.test: Likewise.
* tests/pr279.test: Likewise, and tell to keep it in sync
with its sister test.
* tests/pr279-2.test: Likewise.
2010-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
Tweak, extend and improve tests `cond[a-z]*.test'.
* tests/condd.test: Add trailing `:' command. Typofix in
comment.
* tests/condhook.test: Make sure target `install-data-hook' is
not called by `make install', but that data files are installed.
Use proper m4 quoting in configure.in. Add trailing `:' command.
* tests/condhook2.test: New test, sister test of condhook, with
inverted semantic.
* tests/condinc2.test: Use proper m4 quoting in configure.in.
Prefer trailing `:' command over trailing `Exit 0'.
* tests/condman2.test: Enable errexit shell flag, and related
changes. Add trailing `:' command.
* tests/condman.test: Likewise. Also, do not create useless
dummy manpages, and use proper m4 quoting in configure.in.
* tests/condman3.test: New test, similar to condman.test, but
it also runs ./configure and "make install", and check the
installed files.
* tests/Makefile.am (TESTS): Updated.
Modernize, improve and/or extend tests `colon*.test.
* tests/colon.test: Rely on the `configure.in' stub created by
`./defs', rather than writing one from scratch. Do not create
a useless dummy file. Add trailing `:' command.
* tests/colon4.test: Enable the `errexit' shell flag, and
related changes. Rely on the `configure.in' stub created by
`./defs', rather than writing one from scratch.
* tests/colon7.test: Enable `errexit' shell flag, and related
changes. Improve the generated `configure.in' file. Add
trailing `:' command.
* tests/colon2.test: Likewise. Also, add some new checks.
* tests/colon5.test: Improve the generated `configure.in' file.
Add new, much deeper checks. Add trailing `:' command.
* tests/colon6.test: Likewise.
* tests/colon3.test: Add trailing `:' command. Remove useless
comments and echos. Improve the generated `configure.in' file.
make some grepping tests stricter. Add a "FIXME" comments about
planned improvements.
Improve and extend tests `asm*.test'.
* tests/asm.test: Use configure.in stub generated by ./defs,
and avoid obsoleted autoconf constructs. Make grepping of
Automake stderr stricter. Do not create useless source file.
Improve verbose messages. Minor cosmetic changes. Tell to
keep it in sync with other sister tests asm*.test.
* tests/asm2.test: Likewise.
* tests/asm3.test: Likewise.
Modernize, improve and/or extend test scripts `conf*.test'.
* tests/confh5.test: Cosmetic changes.
* tests/conff.test: Likewise.
* tests/confdeps.test: Likewise.
* tests/conflnk.test: Likewise.
* tests/conflnk2.test: Likewise.
* tests/confsub.test: Likewise.
* tests/confvar.test: Likewise, and make grepping of Makefile.in
stricter.
* tests/confvar2.test: Likewise.
* tests/conflnk3.test: Cosmetic changes. Re-enable a temporarily
disabled test (which didn't work with autoconf <= 2.59, but now we
are requiring autoconf 2.62, so...)
* tests/conflnk4.test: Cosmetic changes, and extend existing tests
accordingly to "TODO" comments.
* tests/conff2.test: Make grepping of Automake's stderr stricter.
Add some comments explaining why we don't use the `configure.in'
stub preset be ./defs.
* tests/confh.test: Use the `configure.in' stub created by ./defs,
rather than writing one from scratch, and do not call AC_OUTPUT.
Enable `errexit' shell flag, and related changes. Prefer diff over
cmp to compare text files. Prefer perl over sed to fetch the value
of $(DIST_COMMON) from Makefile.in. Make grepping of the contents
of $(DIST_COMMON) stricter.
* tests/confh4.test: Use the `configure.in' stub created by ./defs,
rather than writing one from scratch. Make grepping of Makefile.in
stricter.
* tests/confh5.test: Make grepping of `config.h' stricter. Add a
comment.
* tests/configure.test: Avoid obsolescent constructs in generated
`configure.ac'. Do not write `configure.in' two times. Escape
literal dots in grep regular expressions.
* tests/confincl.test: Enable `errexit' shell flag, and related
changes. Prefer fgrep over grep. Other cosmetic changes.
* tests/config.test: Renamed to ...
* tests/confh6.test: ... this. Fix m4 quoting in `configure.in',
and make grepping of `config.h' and `config.h.in' stricter.
* tests/conf2.test: Renamed ...
* tests/confh7.test: ... to this. Use the `configure.in' stub
created by ./defs, rather than writing one from scratch. Try to
run the checks both with and without AC_PROG_CC and AC_OUTPUT in
`configure.in'.
* tests/Makefile.am (TESTS): Updated.
Minor improvements and fixes in tests `depcomp*.test'.
* tests/depcomp.test: Do not create useless dummy source files.
Add a trailing `:' command.
* tests/depcomp2.test: Use `unset' on the CFLAGS variable to ensure
it's not in in the environment, rather than exporting it with an
empty value. Do not pass CC=gcc to configure, as that's already
done in ./defs since we have gcc in $required. Ensure verbose
printing of captured stderr, and normalize its checking. Add a
trailing `:' command.
* tests/depcomp3.test: Quote literal dots and dollar characters in
grep regexps. Always use `: >' rather than `touch' to create empty
files. Explicitly declare phony targets as such in the created
Makefile.am. Add a trailing `:' command.
* tests/depcomp4.test: Quote literal dots and dollar characters in
grep regexp. Explicitly declare phony targets as such in the
created Makefile.am. Ensure verbose printing of captured makes'
stoud/stderr. Add a trailing `:' command.
* tests/depcomp5.test: Move setting of `errexit' shell flag earlier
in the script (just after inclusion of ./defs). Quote literal dots
and dollar characters in grep regexps. Explicitly declare phony
targets as such in the created Makefile.am. Add a trailing `:'
command.
* tests/depcomp6.test: Consistently use m4 quoting in the generated
configure.in. Cosmetic fixes to spacing. Make the "dummy" `if'
statement required by OpenBSD's sh `set -e' more robust, and add
explanatory comments to it.
* tests/depcomp7.test: Likewise, and add a trailing `:' command.
Separate failing part of test `all.test'.
* tests/all.test: Keep only (x)failing part of the test. Working
checks moved out to ...
* tests/all2.test: ... this new test.
* tests/Makefile.am (TESTS): Updated.
Modernize, improve and extend tests `subobj*.test'.
* tests/subobjname.test: Add trailing `:' command.
* tests/subobj.test: Make grepping of `Makefile.in' stricter.
Escape literal dots in grep regexps.
* tests/subobj2.test: Add trailing `:' command. Do not use the
unportable fgrep option `-e'.
* tests/subobj3.test: Add trailing `:' command.
(configure.in): Use proper m4 quoting, and avoid obsolescent
constructs.
* tests/subobj8.test: Likewise. Also, enable `errexit' shell
flag, with related changes
* tests/subobj4.test: Likewise. Also, make grepping of
`Makefile.in' stricter.
* tests/subobj5.test: Add trailing `:' command. Move setting of
`errexit' shell flag earlier in the script (just after inclusion
of ./defs).
(configure.in): Use the stub created by `./defs', rather than
writing it from scratch, and avoid obsolescent constructs.
* tests/subobj6.test: Add trailing `:' command. Move setting of
`errexit' shell flag earlier in the script (just after inclusion
of ./defs). Do not create useless dummy ac-init file `f'.
* tests/subobj7.test: Do not create useless dummy ac-init file
`f'.
(configure.in): Use the stub created by `./defs', rather than
writing it from scratch, and avoid obsolescent constructs.
* tests/subobj9.test: Move setting of `errexit' shell flag earlier
in the script (just after inclusion of ./defs). Fail the test if
`make distcheck' fails. Ensure verbose printing of captured make
stdout. Avoid useless fork by doing simple grep instead of using
test -n "`COMMAND | grep ...`".
(configure.in): Normalize the call to AC_INIT w.r.t. other tests.
(Makefile.am): Explicitly mark target "print" as phony.
* tests/subobj10.test: Removed duplicated call to `set -e'. Add
trailing `:' command.
(configure.in): Normalize the call to AC_INIT w.r.t. other tests.
Remove a couple of obsoleted tests.
* tests/fpinstall.test: Removed.
* tests/fpinst2.test: Likewise.
* tests/Makefile.am (TESTS): Updated.
Bootstrap: updated HACKING entry.
* HACKING ("Working with git"): Explain how to override the
autoconf and autom4te programs used by the bootstrap process.
Bootstrap: fixlet.
* bootstrap: Do not remove `lib/Automake/Config.pm' anymore,
since we don't generate it. Correctly quote arguments of
`eval' builtin. Fixed a botched error message. Removed an
extra blank line.
Bootstrap: don't search perl in $PATH.
* bootstrap: Do not explicitly search perl in $PATH anymore.
($PATH_SEPARATOR): Removed, it's no more needed.
Bootstrap: let the user choose which autoconf to use.
* bootstrap ($AUTOCONF): New variable, from the environment.
($AUTOM4TE): Likewise, for clarity.
Use "$AUTOCONF" instead of calling "autoconf" directly.
Minor improvements to tests ar*.test.
* tests/ar.test: Add trailing `:' command.
* tests/ar2.test: Likewise, and make grepping of generated
Makefile.in stricter.
2010-08-06 Peter Rosin <peda@lysator.liu.se>
Add new auxiliary 'ar-lib' script, wrapping Microsoft lib.
* lib/ar-lib: New auxiliary script.
* lib/Makefile.am: Add above.
* tests/ar-lib.test: New test.
* tests/Makefile.am: Add above.
* automake.in (@common_files): Distribute the 'ar-lib' script.
* doc/automake.texi (Auxiliary Programs): Mention the new
'ar-lib' script.
(Optional): Mention 'ar-lib' in AC_CONFIG_AUX_DIR.
* NEWS: Update.
2010-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix shell pattern negation in compile script.
* lib/compile (func_file_conv): Use `!' not `^' for pattern
negation.
2010-08-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix maintainer-check failure.
* tests/cond5.test: Quote sleep argument, this isn't about
time stamp differences.
Sync auxiliary files from upstream.
* lib/config.guess, lib/config.sub, lib/texinfo.tex:
Sync from upstream.
2010-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Work around a nasty bug (segfault) of Solaris make.
* lib/am/check.am (recheck, recheck-html): Trim trailing spaces
from $list, to avoid triggering a nasty bug (potential segfault)
on Solaris make.
2010-08-06 Peter Rosin <peda@lysator.liu.se>
Make cond5.test more robust on MSYS.
* tests/cond5.test: Add delay before the first kill attempt to
cater for problems with MSYS bash.
2010-08-01 Peter Rosin <peda@lysator.liu.se>
Wrap some MSVC options in the compile script.
* lib/compile: MSVC supports naming the output file, the option
is just not called -o, so transform -o into the appropriate form
for MSVC. Also wrap some other options while at it (-L, -l, -Wl,
-Xlinker and -I) and convert file names to windows form where
needed for those options to make MSVC more usable in an
autotooled environment.
* doc/automake.texi (Auxiliary Programs): Document the above
extension of the compile script.
* NEWS: Updated.
* tests/defs.in: New required entry 'cl'.
* tests/compile3.test: New test.
* tests/compile4.test: New test.
* tests/compile5.test: New test.
* tests/Makefile.am: Update.
2010-07-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Add example git work flow; discuss merge --log in HACKING.
* HACKING: Update.
Suggestion by Stefano Lattarini.
Add more hints for debugging make rules.
* doc/automake.texi (Debugging Make Rules): Show command to find
out expanded values of variables; point to makefile debugger.
* THANKS: Update.
Prompted by suggestion from Ludovic Courtès and Andy Wingo.
2010-07-27 Patrick Welche <prlw1@cam.ac.uk> (tiny change)
Fix typo in the manual.
* doc/automake.texi (Scripts): Fix typo.
2010-07-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Document current policy for development with git.
* HACKING (Working with git): Overhaul.
Prompted by suggestion from Stefano Lattarini.
Fix AM_COND_IF for gone-invalid condition shell expression.
* m4/cond-if.m4 (AM_COND_IF): test contents of $COND_TRUE
variable, rather than re-evaluating the shell expression for
the condition.
* tests/cond40.test: Extend test.
* NEWS: Update.
Avoid syntax error if IF-TRUE part of AM_COND_IF expands empty.
* m4/cond-if.m4 (AM_COND_IF): Ensure IF-TRUE part is never empty
to avoid shell syntax error if the m4 expansion is empty.
* tests/cond40.test: Enhance test.
Coverage: bogus option to AM_INIT_AUTOMAKE.
* tests/init2.test: New test.
* tests/Makefile.am: Update.
2010-07-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Modernize and improve test scripts `subdir*.test'.
* tests/subdir.test: Enable `errexit' shell flag, and related
changes. Use the `configure.in' stub created by `./defs',
rather than writing one from scratch.
* tests/subdir2.test: Likewise.
* tests/subdir4.test: Likewise.
* tests/subdir3.test: Enable `errexit' shell flag, and related
changes. Do not create useless dummy source files.
* tests/subdir5.test: Make grepping of Makefile.in (in topdir
and in subdirs) stricter. Some minor changes to keep it more
in sync with the related test `subdir8.test'.
* tests/subdir8.test: Likewise (but with the related test being
`subdir5.test' here).
* tests/subdir6.test: Cosmetic change in spacing.
* tests/subdir9.test: Define and use new variable `$distdir'. Add
trailing `:' command.
* tests/subdir10.test: Cosmetic consistency-related change.
* tests/subdirbuiltsources.test: Cosmetic changes in spacings.
(configure.in): Use stub created by `./defs', rather than writing
it from scratch. Do not use obsoleted and/or deprecated forms of
autoconf/automake macros.
Modernize and improve test scripts `dist*.test'.
* tests/distcleancheck.test: Do not add useless `-e' option to
a $MAKE call. Extend test by grepping stderr of make.
* tests/distcom2.test: Do not run the same test script on the
Makefile.in twice, but save its output in an intermediate file
instead. Make grepping of DIST_COMMON definition stricter.
Display the content of more files, to ease debugging. Add a
trailing `:' command. Improved heading comments w.r.t. sister
test(s).
* tests/distcom6.test: Likewise, and avoid to uselessly run
autoconf.
* tests/distcom3.test: Ensure verbose printing of captured stdout
and stderr. Make grepping of captured stderr stricter. Also,
add trailing `:' command.
* tests/distcom4.test: Declare the target `test' in the generated
Makefile.am as `.PHONY'. Display content of more files, to ease
debugging. Add trailing `:' command.
* tests/distcom5.test: Likewise. Also, factor out common sed
script in subroutine `extract_distcommon'.
* tests/distcom7.test: Prefer cat + here-doc over echo to write
test Makefile.am files. Add a trailing `:' command.
* tests/distname.test: Prefer `gzip -d' over `gunzip'. Move the
call to `set -e' earlier. Be stricter and more verbose in the
checking of the generated tarball.
(configure.in): Use the stub provided by ./defs, instead of
writing it from scratch. Avoid obsoleted constructs. Remove
useless call to `AM_PROG_CC_C_O'.
* tests/distdir.test: Various minor improvements/normalizations.
* tests/distlinks.test: Likewise.
2010-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
Improve and extend test cond5.test.
* tests/cond5.test: Do not blindly sleep 60 seconds before polling
the background automake process, but poll it every 10 seconds for
at most 30 times (this makes the test both faster on good machines,
and more resilient to spurious timeout-due failures when in low
priority or on heavily-loaded systems).
Check also that automake writes the expected error messages on the
standard error.
Enable `errexit' flag, and related changes.
Rely on the `configure.in' stub created by `./defs', rather than
writing one from scratch.
2010-06-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Update program --help output to match current GCS.
* configure.ac: Set and substitute PACKAGE_URL if AC_PACKAGE_URL
is not defined, for compatibility to Autoconf < 2.64.
* Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT and
PACKAGE_URL.
(sc_diff_automake_in_automake): Update number of diff lines for
additional substitutions.
* aclocal.in (usage): Use PACKAGE_BUGREPORT. Point to Automake
home page and GNU general help page.
* automake.in (usage): Likewise.
* doc/automake.texi: New flag PACKAGE_BUGREPORT, to factor email
address.
(Introduction, Creating amhello, amhello Explained, Options):
Use it throughout.
* lib/Automake/Makefile.am (do_subst): Substitute
PACKAGE_BUGREPORT.
* lib/Automake/Config.in ($PACKAGE_BUGREPORT): New global.
* lib/Automake/ChannelDefs.pm: Use it for footer of fatal
messages.
Clean up @var handling in the manual.
* doc/automake.texi: Throughout the manual, lower-case @var
names, replace a few one-character names.
2010-06-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix typo-related bug in test script silent5.test.
* tests/silent5.test: Use $EGREP, not $GREP (which is not even
defined).
Tests: remove useless repetitions of `foreign' automake option.
* tests/multlib.test (configure.in): Remove useless use of
`foreign' option in AM_INIT_AUTOMAKE (the `--foreign' option is
already in $AUTOMAKE by default, so no point in repeating it).
* tests/subobj10.test: Likewise.
* tests/subobj9.test: Likewise.
* tests/lex3.test (Makefile.am): Similarly, remove useless use
of `foreign' option in AUTOMAKE_OPTIONS.
* tests/lex5.test: Likewise.
* tests/pr279.test: Likewise.
* tests/pr279-2.test: Likewise.
* tests/specflg3.test: Likewise.
* tests/target-cflags.test: Likewise.
Drop useless requirement "gzip" in lex5.test.
* tests/lex5.test ($required): Do not list "gzip", as it's
never used.
2010-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix bugs in test script silent5.test.
* tests/silent5.test: Fixed a nasty bug (due to the use of grep
instead of egrep) that could have led to false negatives.
2010-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Add a test checking that distributed broken symlinks cause
`make dist' to fail.
* tests/distlinksbrk.test: New test.
* tests/Makefile.am (TESTS): Updated.
2010-06-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix minor testsuite issues, update docs, for Yacc/Lex changes.
* doc/automake.texi (Yacc and Lex): Mention AM_YFLAGS, YFLAGS
and AM_LFLAGS, LFLAGS in the order in which they now appear in
the rules.
* NEWS: Update.
* tests/lflags.test, tests/lflags2.test, tests/yflags.test,
tests/yflags2.test: Prefer `make -e' over `make VAR=VAL', to
please maintainer-check. Ensure generated C files contain a
declaration, to please compilers.
2010-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix bugs in Automake Yacc/Lex support w.r.t. $(AM_FLAGS) and
$(FLAGS) precedence.
* automake.in: Fix registration of languages "Lex", "Lex (C++)",
"Yacc" and "Yacc (C++)", so that $(LFLAGS) has precedence over
$(AM_LFLAGS) and $(YFLAGS) has precedence over $(AM_YFLAGS).
* tests/Makefile.am (XFAIL_TESTS): Updated accordingly.
* NEWS: Updated.
New tests, exposing bugs in Automake Yacc/Lex support w.r.t.
$(AM_FLAGS) and $(FLAGS) precedence.
* tests/lflags.test: New test, check that user $(LFLAGS) takes
precedence over automake (AM_LFLAGS) and (foo_LFLAGS). Still
xfailing.
* tests/lflags2.test: Likewise.
* tests/yflags.test: New test, check that user $(YFLAGS) takes
precedence over automake (AM_YFLAGS) and (foo_YFLAGS). Still
xfailing.
* tests/yflags2.test: Likewise.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Extended accordingly.
2010-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Modernize, improve and extend tests `suffix*.test'.
* tests/suffix3.test: Enable `errexit' shell flag, and related
changes.
* tests/suffix4.test: Likewise.
* tests/suffix6.test: Likewise, and do not create a useless dummy
source file.
* tests/suffix7.test: Likewise.
* tests/suffix5.test: Enable `errexit' shell flag, and related
changes. Make grepping of Makefile.in slightly stricter.
* tests/suffix.test: Enable `errexit' shell flag, and related
changes. Also, do not redirect grep output to /dev/null, as this
might unmotivatedly hide useful information.
* tests/suffix2.test: Move setting of `errexit' shell flag earlier
in the script (just after inclusion of ./defs). Use a more
idiomatic way to count text occurrences in Makefile.in with
grep. Do not create useless dummy source files.
* tests/suffix10.test: Ensure verbose printing of captured make
stdout. Minor cosmetic changes.
* tests/suffix8.test: Likewise. Also, drop useless call to the
env(1) utility, and make grepping of make output stricter by using
$FGREP rather than plain grep.
* tests/suffix11.test: Likewise.
* tests/suffix12.test: Likewise.
* tests/suffix9.test: Prefer cat + here-doc over echo to append to
the `configure.in' stub. Cosmetic changes.
* tests/suffix13.test: Cosmetic spacing change.
2010-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Add useful comment in test script ext.test.
* tests/ext.test: Add a comment explaining why an apparently
useless `if' statement is indeed required.
2010-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Add useful comment in test script obsolete.test.
* tests/obsolete.test: Add a comment explaining why we need
an indirection in adding $AUTOUPDATE to $required.
Normalize whitespaces in 'tests/Makefile.am'.
* tests/Makefile.am (TESTS): Use only spaces, not tabs, in the
definition of this variable.
Parallel tests generation: improve comments (tiny change).
* tests/Makefile.am ($(parallel_tests)): Added useful comment to
generated tests.
Tests defs: truly get rid of `$am_defs_included' (unused variable)
* tests/defs.in ($am_defs_included): Remove, its now unused. It
should have been removed in a previous changeset, but the removal
was done only partially (oversight).
2010-06-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Remove a couple of unneeded conditionals from tests.
* tests/pr243.test, tests/pr266.test, tests/strip.test: No need
for the FOOTEST conditional.
2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Modernize, improve and/or fix various test scripts.
* tests/symlink3.test: Deleted, separated into two new, more
complete tests ...
* tests/forcemiss.test: ... this one ...
* tests/forcemiss2.test: ... and this one.
* tests/symlink2.test: Enable `errexit' shell flag, make test
stricter, and skip it if symlink creation is not supported.
* tests/postproc.test: Enable `errexit' shell flag, related
changes, and a couple of unrelated cosmetic changes.
* tests/recurs.test: Use the `configure.in' stub created by
`./defs', rather than writing one from scratch. Make grepping
of Automake stderr slightly stricter.
* tests/substtarg.test: Likewise.
* tests/strip.test: Likewise, and move the call to `set -e'
earlier (just after the inclusion of `./defs'). Also, make sure
that the script installed by `make install-script' is equal to
the original one.
* tests/substref.test: Use the `configure.in' stub created by
`./defs', rather than writing one from scratch. Move the call
to `set -e' earlier (just after the inclusion of `./defs').
Avoid to explicitly export CC for configure (that's already done
in ./defs). Avoid potential problems with unpredictable make
output. Finally, make grepping of Makefile.in stricter.
* tests/substre2.test: Ensure verbose printing of the captured
make's output, and make its grepping slightly stricter.
* tests/cygwin32.test: Enable `errexit' shell flag, and related
changes. Also, do not create useless dummy source/data files.
* tests/scripts.test: Likewise.
* tests/recurs2.test: Likewise. Also, use the `configure.in'
stub created by `./defs'.
* tests/Makefile.am (TESTS): Updated.
Modernize, improve and/or fix tests `pluseq*.test.
* tests/pluseq5.test: Append to configure.in using cat with an
here-doc, not using echo.
* tests/pluseq10.test: Make sure that the captured output of
`make' command is always displayed. Where possible, use $FGREP
instead of grep (this change makes some checks slightly stricter).
* tests/pluseq8.test: Enable `errexit' shell flag, with related
changes.
* tests/pluseq.test: Likewise. Also, do not create useless dummy
data files, and use better m4 quoting in generated configure.in.
* tests/pluseq2.test: Likewise. Also, append to configure.in
using cat with an here-doc, not using echo.
* tests/pluseq3.test: Likewise.
* tests/pluseq4.test: Likewise.
* tests/pluseq6.test: Likewise.
* tests/pluseq7.test: Do not create useless dummy source file.
* tests/pluseq9.test: Slightly extended w.r.t. the grepping of
Automake stderr. Some unrelated cosmetic changes.
2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
cscope.test: ensure verbose printing of captured stderr.
* tests/cscope.test: Print captured stderr before failing.
2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Testsuite: ensure verbose printing of captured stderr.
* tests/acloca18.test: Print captured stderr before either failing
or grepping it. Be sure to send captured stderr to stderr, not to
stdout.
* tests/ansi3b.test: Likewise.
* tests/cond39.test: Likewise.
* tests/configure.test: Likewise.
* tests/missing3.test: Likewise.
* tests/missing6.test: Likewise.
* tests/output-order.test: Likewise.
* tests/pr300-ltlib.test: Likewise.
* tests/python6.test: Likewise.
* tests/python7.test: Likewise.
* tests/python8.test: Likewise.
* tests/python9.test: Likewise.
* tests/subobj.test: Likewise.
* tests/vars3.test: Likewise.
* tests/missing4.test: Likewise, and fix a call to grep not to use
the `-c' flag.
* tests/ansi3.test: Likewise, and rely on the `configure.in' stub
created by `./defs', rather than writing one from scratch.
Enable `errexit' shell flag in various tests.
* tests/backsl.test: Enable the `errexit' shell flag, and
related changes.
* tests/backsl2.test: Likewise.
* tests/block.test: Likewise.
* tests/canon2.test: Likewise.
* tests/canon4.test: Likewise.
* tests/comment2.test: Likewise.
* tests/condlib.test: Likewise.
* tests/cond15.test: Likewise, and prefer $FGREP over grep.
* tests/canon3.test: Likewise. Also, avoid to create an useless
dummy source file.
* tests/acoutpt2.test: Enable the `errexit' shell flag, and some
related changes. Do some cosmetic improvements in the generated
`configure.in' file.
* tests/cond4.test: Likewise.
* tests/cond14.test: Likewise.
* tests/condinc.test: Likewise.
* tests/cond7.test: Likewise. Also, remove useless setting of
AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am.
* tests/ansi.test: Enable the `errexit' shell flag, and related
changes. Extended, esp. by running autoconf, ./configure and
make, and by looking into the distdir.
2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Extend tests/README w.r.t. trailing `:' in test scripts.
* tests/README (section "Writing test cases" subsection "Do"):
Explain why apparently redundant trailing `:' and `Exit 0' in
test scripts can indeed be useful.
2010-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Improve determination of PATH separator in bootstrap script.
* bootstrap: Determine what the PATH separator is the same way
autoconf does.
Minor improvements in bootstrap script.
* bootstrap: Consistently use two-spaces indentation. Cosmetic
improvement to comments.
($me): New variable, containing program basename.
Prepend it to all error messages.
Testsuite now works with BSD make in parallel mode.
* tests/defs.in: Unset variables __MKLVL__ and MAKE_JOBS_FIFO,
which are exported by BSD make when run in parallel mode, and
which can confuse make processes spawned by our testsuite.
This change fixes a lot of spurious failure when the testsuite
is run with BSD make in parallel mode.
2010-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Modernize, improve and/or fix various test scripts.
* tests/sanity.test: Rely on the `configure.in' stub created by
`./defs', rather than writing one from scratch.
* tests/depend2.test: Likewise. Also, call `set -e' just after
the inclusion of `./defs', instead that later in the script.
* tests/canon5.test: Avoid a useless `|| Exit 1' after a call to
$AUTOMAKE, and improve the positioning of an $ACLOCAL call.
* tests/exeext4.test: Use $FGREP instead of grep, where possible.
Make auxiliary rules in the generated Makefile more silent.
These changes make some checks slightly stricter.
* tests/ext2.test: Call `Exit 1' if inclusion of `./defs' fails.
* tests/gettext2.test: Place final `:' at the end of the script,
rather than in the middle.
* tests/exeext.test: Call `set -e' just after the inclusion of
`./defs', instead that later in the script.
* tests/extra5.test: Likewise.
* tests/confdeps.test: Likewise. Also, prefer `mv -f' over
plain `mv', just to be sure.
* tests/depcomp.test: Enable `errexit' shell flag, with related
changes. Also, modernize the generated configure.in.
* tests/cond9.test: Likewise. Also, rely on the `configure.in'
stub created by `./defs', rather than writing one from scratch.
* tests/cond10.test: Likewise.
* tests/depcomp2.test: Likewise.
* tests/depend3.test: Likewise.
* tests/distcom7.test: Likewise.
* tests/fortdep.test: Likewise. Also, remove definition of
AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am,
since that flag is already provided by $AUTOMAKE.
* tests/mdate.test: Made stricter, by checking that Automake
actually failed, and by making a stricter grep on the error
message. Also, set shell `errexit flag'.
* tests/python2.test: Improved verbose messages.
Make test `ammissing.test' stricter.
* tests/ammissing.test: Fail if $ACLOCAL succeeds unexpectedly.
Enable `errexit' shell flag.
2010-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix error in generation of parallel tests.
* tests/defs.in ($am_skip_defs): New variable, to be used when
./defs must be sourced multiple times. If set, unset it and
only define $srcdir; otherwise, also go through the rest of
the script.
($am_defs_included): Remove, no more needed.
* tests/Makefile.am ($(parallel_tests)): Update accordingly,
using only $srcdir from defs.
Fixes potential test failures of tests that use $required.
2010-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
Enable `errexit' shell flag in some test scripts.
* tests/subcond.test: Enabled `errexit' shell flag, and related
minor changes.
* tests/subst.test: Likewise.
* tests/vars.test: Likewise.
* tests/version4.test: Likewise.
* tests/vpath.test: Likewise.
* tests/vtexi2.test: Likewise.
* tests/werror.test: Likewise.
* tests/whoami.test: Likewise.
* tests/tags.test: Likewise, and avoid to crate an useless dummy
header file.
* tests/acsilent.test: Likewise, and don't use an easily-avoided
command substitution.
* tests/unused.test: Likewise, and don't use an easily-avoided
command substitution.
* tests/version.test: Likewise, and avoid deprecated constructs
in the generated `configure.in'.
* tests/version2.test: Likewise, and avoid deprecated constructs
in the generated `configure.in'.
2010-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Improve declaration of dependencies in the testsuite.
* tests/Makefile.am (check_SCRIPTS): Remove. Instead, let ...
($(TEST_LOGS)): ... all test logs depend on the scripts.
* test/gen-parallel-tests: For each parallel test foo-p.test,
let `foo-p.log' also depend on `foo.test', since it is sourced.
2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Coverage for TAGS_DEPENDENCIES warning.
* tests/tags2.test: New test.
* tests/Makefile.am: Update.
Coverage for use of anachronistic variables.
* tests/oldvars.test: New test.
* tests/Makefile.am: Update.
Testsuite coverage for bogus macro file serial numbers.
* tests/acloca18.test: Also test ill-formed serial numbers
and serial numbers after macro definitions.
Coverage for aclocal diagnosing underquoted macros.
* tests/acloca23.test: New test.
* tests/Makefile.am: Update.
2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Prefer AUTOMAKE_fails over `$AUTOMAKE | grep' in tests.
* tests/ldadd.test: Enable errexit. Use AUTOMAKE_fails so
the verbose log contains all output.
* tests/mdate.test: Likewise.
Prompted by Stefano Lattarini's change to discover.test.
2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
More minor message fixes.
* aclocal.in (scan_file): Fix recommended info command line.
* automake.in (handle_lib_objects): No need to prepend function
name to prog_error message.
(handle_tags): Add missing word and missing space in error
message.
(handle_dist): Add missing closing single quote in message.
Line-wrap one long message for readability.
2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix distcheck failure with distributed generated parallel tests.
* tests/Makefile.am ($(parallel_tests)): Cope with $(srcdir)
being different from the value at developer `make dist' time.
* tests/defs.in: Protect against multiple inclusion, by using ...
($am_defs_included): ... this new variable.
($srcdir): Do not compute, but simply define to `@abs_srcdir@'
as substituted by configure.
Report, suggestions and first fix by Ralf Wildenhues, final
patch by Stefano Lattarini.
2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Improve tests link*.test (enable `errexit' shell flag).
* tests/link_c_cxx.test: Enable `errexit shell flag, and related
changes. Also, do not create useless source files.
* tests/link_dist.test: Likewise.
* tests/link_f90_only.test: Likewise.
* tests/link_f_only.test: Likewise.
* tests/link_fc.test: Likewise.
* tests/link_fccxx.test: Likewise.
* tests/link_fcxx.test: Likewise.
2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Improve ext.test semantics, avoid OpenBSD sh errexit issue.
* tests/ext.test: Inside shell compound command, use
`if $cmd; then Exit 1; fi' rather than `$cmd && Exit 1', to
fix failure with OpenBSD sh introduced with last patch.
Actually ensure that a rule for .EXT.o is created for each
known extension EXT.
2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Enable `errexit' shell flag in some test scripts.
* tests/dash.test: Enable `errexit' shell flag, and related
changes.
* tests/defun.test: Likewise.
* tests/defun2.test: Likewise.
* tests/dejagnu.test: Likewise.
* tests/double.test: Likewise.
* tests/distcom2.test: Likewise.
* tests/empty2.test: Likewise.
* tests/empty3.test: Likewise.
* tests/empty4.test: Likewise.
* tests/exdir.test: Likewise.
* tests/ext.test: Likewise.
* tests/extra.test: Likewise.
* tests/extra2.test: Likewise.
* tests/extra3.test: Likewise.
* tests/extra4.test: Likewise.
* tests/flibs.test: Likewise.
* tests/fnoc.test: Likewise.
* tests/fo.test: Likewise.
* tests/instexec.test: Likewise.
* tests/ltdeps.test: Likewise.
* tests/nodep.test: Likewise.
* tests/nodepcomp.test: Likewise.
* tests/f90only.test: Likewise, and remove botched/obsoleted
comments and unnecessary commands.
* tests/fonly.test: Likewise, and remove botched/obsoleted
comments and unnecessary commands.
* tests/discover.test: Likewise, and made stricter.
Enable `errexit' shell flag in all tests cxx*.test.
* tests/cxx.test: Enabled `errexit' shell flag, and related
minor changes.
* tests/cxxansi.test: Likewise.
* tests/cxxcpp.test: Likewise.
* tests/cxxlibobj.test: Likewise.
* tests/cxxlink.test: Likewise.
* tests/cxxo.test: Likewise.
Enable `errexit' shell flag in various tests.
* tests/acoutnoq.test: Enabled `errexit' shell flag, and related
minor changes.
* tests/acoutpt.test: Likewise.
* tests/acoutqnl.test: Likewise.
* tests/amassign.test: Likewise.
* tests/ansi2.test: Likewise.
* tests/ansi4.test: Likewise.
* tests/badprog.test: Likewise.
* tests/checkall.test: Likewise.
* tests/clean.test: Likewise.
* tests/colneq2.test: Likewise.
* tests/colon.test: Likewise.
* tests/colon5.test: Likewise.
* tests/colon6.test: Likewise.
* tests/comment.test: Likewise.
* tests/compile_f90_c_cxx.test: Likewise.
* tests/compile_f_c_cxx.test: Likewise.
* tests/cond3.test: Likewise.
* tests/cond6.test: Likewise.
* tests/cond13.test: Likewise.
* tests/conf2.test: Likewise.
* tests/confvar.test: Likewise.
* tests/confvar2.test: Likewise.
* tests/cond8.test: Likewise, plus a cosmetic change.
* tests/confh4.test: Likewise. Also, add in the heading comments
an excerpt from the original bug report which motivated the
creation of this test, to make its purpose clearer.
2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Rewrite manual to be gender-neutral.
* doc/automake.texi (GNU Build System)
(Standard Directory Variables, General Operation, CVS)
(Hard-Coded Install Paths, Dependencies As Side Effects):
Rewrite text to not contain gender-specific pronouns when
speaking about developers or users, either by avoiding pronouns
or by addressing them as `you' instead.
* THANKS: Update.
Report by Christina Gratorp.
* AUTHORS: Update.
2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Tiny fix in silent8.test (display output of `make' command).
* tests/silent8.test: Make sure that the captured output of `make'
command is always displayed.
Make tests on user extensibility of silent-rules mode stricter.
* tests/silent6.test: Made stricter w.r.t. the grepping of the
output produced by `make'.
* tests/silent7.test: Likewise.
Tests on silent-mode for C/Libtool made stricter.
* tests/silent.test: Made stricter w.r.t. the grepping of the
output produced by `make'.
* tests/silent2.test: Likewise.
* tests/silent4.test: Likewise.
* tests/silent9.test: Likewise.
* tests/silent3.test: Likewise, and add a final `make distclean'
command to keep it better in sync with tests/silent{4,9}.test.
Improved test silent5.test.
* tests/silent5.test: Remove by hand all generated C files after
non-verbose builds, to ensure the following builds are clean.
Try to clean and rebuild with the same verbosity and without
removing generated sources in between, to check that this does
not trigger a different set of rules. Make grepping of make's
output stricter. Improved/added some comments.
New tests for Automake silent-mode with Fortran.
* tests/silentf77.test: New test.
* tests/silentf90.test: Likewise.
* tests/Makefile.am (TESTS): Updated accordingly.
New test `silentcxx.test' (Automake silent-mode with C++).
* tests/silentcxx.test: New test.
* tests/Makefile.am (TESTS): Updated accordingly.
New test `silentyacc.test' (Automake silent-mode with Yacc).
* tests/silentyacc.test: New test.
* tests/Makefile.am (TESTS): Updated accordingly.
New test `silentlex.test' (Automake silent-mode with Lex).
* tests/silentlex.test: New test.
* tests/Makefile.am (TESTS): Updated accordingly.
Relax tests on silent-rules to cater to overly verbose makes.
* tests/silent.test: When testing silent builds, don't fail if
make's output simply contains the `mv' substring, but only if
it contains the `mv ' substring (note the trailing space).
* tests/silent2.test: Likewise.
* tests/silent3.test: Likewise.
* tests/silent4.test: Likewise.
* tests/silent5.test: Likewise.
* tests/silent9.test: Likewise.
2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Extend test on `nostdinc' automake option.
* tests/nostdinc.test: Enable `errexit' shell flag. Related and
unrelated minor changes. Make the grepping of the generated
Makefile.in slightly stricter. Generate and run configure, so that
the generated Makefile can be grepped too.
2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Make gnupload portable to EBCDIC hosts.
* lib/gnupload: Use literal newline as argument for 'tr' rather
than \015, for EBCDIC hosts. Also, avoid unportable nested
double-quotes and backquotes.
* THANKS: Update.
Report from Eric Blake and Steve Goetze via gnulib.
2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix Autoconf version required by Automake's configure.
Automake configure script used to tell that automake required
autoconf 2.60 or later, but then it checked for autoconf >= 2.62,
and if that was not found, it gave an error saying that Automake
required configure 2.61a-341 or later. This change should
eliminate such inconsistencies.
* configure.ac ($required_autoconf_version): New variable.
Use it throughout.
2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix truncated comment in Makefile.am.
* Makefile.am (sc_tests_logs_duplicate_prefixes): Fix unfinished
sentence in comment.
Report by Stefano Lattarini.
Relax silent8.test for NetBSD make.
* tests/silent8.test: Accept ./foo.info in output as well.
Fix unportable sed script in maintainer-check test.
* Makefile.am (sc_tests_Exit_not_exit): Rewrite sed script to
not contain semicolon after 'b' or brace commands, for NetBSD.
Wildcards are not portable to NetBSD make.
* doc/automake.texi (Wildcards): Document portability issue.
* tests/extra10.test, tests/extra11.test, tests/extra12.test:
Require GNU make.
2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Make test for configure.in vs. configure.ac stricter.
* tests/configure.test: Use a configure.in file that provokes
an automake error, to ensure configure.ac is preferred.
Avoid possible false negatives in dejagnu7.test.
* tests/dejagnu7.test: Enable shell `errexit' flag. Also, avoid
unportable use of fgrep option `-e'.
Fix conflnk3.test to work with Solaris/Heirloom Sh.
* tests/conflnk3.test: Use `test -r FILE' and `test ! -r FILE'
instead of respectively `test -e FILE' and `test ! -e FILE',
since Solaris Sh doesn't grok the latter. Do not SKIP the test
if the shell doesn't support `test -e'.
2010-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Warning and error message formatting cleanups.
* aclocal.in (parse_arguments, main): Remove trailing period or
newline in error or warning messages, avoid capitalization of
the first word of a message.
* automake.in (check_user_variables, handle_languages)
(handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files)
(scan_autoconf_files, cond_stack_if, require_file_internal)
(usage, generate_makefile, parse_arguments): Likewise.
* lib/Automake/ChannelDefs.pm (set_strictness): Likewise.
* lib/Automake/Configure_ac.pm (find_configure_ac): Likewise.
* lib/Automake/Options.pm (set_strictness): Likewise.
* lib/Automake/Rule.pm (define): Likewise.
* lib/Automake/Variable.pm (define, variables_dump): Likewise.
* tests/ltinstloc.test, tests/suffix11.test: Adjust expected
error message.
* lib/Automake/Channels.pm (setup_channel): Reword error message
to be the same as in msg.
Fix placing of ellipses in English text and synopses.
* Makefile.am: Be sure to add a space before `...' in natural
language text.
* automake.in (scan_autoconf_traces): Likewise.
* lib/Automake/Rule.pm (define): Likewise.
* lib/Automake/Variable.pm (define): Likewise.
* lib/am/dejagnu.am: Likewise.
* lib/am/progs.am: Likewise.
* lib/gnupload (dprint, upload): Likewise.
* tests/confdeps.test: Likewise.
* tests/location.test: Adjust expected output.
* automake.in (usage): In synopsis, use singular for OPTION,
* remove space before ellipsis.
* aclocal.in (usage): Likewise. Also, fix indentation.
Fix more duplicate message prefixes.
* lib/Automake/XFile.pm (seek): Do not prepend $me.
($me): Remove now-unused package-global.
* aclocal.in (check_acinclude): Remove duplicate 'warning: '
prefix.
Fix typo in manual.
* doc/automake.texi (Simple Tests using parallel-tests): Add
missing closing parenthesis.
Fix leftover call to removed function macros_dump.
* automake.in (read_main_am_file): Call variables_dump, not
macros_dump. Print actual error before list of variables.
2010-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Minor improvements in comments of test `silent3.test'.
* tests/silent3.test: Tell to keep it in sync with `silent9.test'
too.
2010-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
testsuite: ensure verbose printing of captured output.
* tests/acloca14.test, tests/acloca18.test, tests/aclocal.test,
tests/fort2.test, tests/help.test, tests/missing3.test,
tests/missing6.test: Print captured stdout or stderr before
grepping it.
2010-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Make test badopt.test stricter (by enabling `set -e').
* tests/badopt.test: Add call to `set -e'. Due to this change,
an unexpected failure in the call to `$ACLOCAL' (whose outcome
was previously unchecked) would cause the whole test to fail.
Also, bumped the copyright years.
Make test for configure.in vs. configure.ac stricter.
* tests/configure.test: Use a configure.in file that provokes
an automake error, to ensure configure.ac is preferred.
Use `set -e' in confsub.test (avoids possible false negatives).
* tests/confsub.test: Enable shell `errexit' flag, and related
changes (this helps avoiding some possible minor false negatives).
Also, bumped copyright years.
2010-04-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix -Werror handling for presence of configure.in and configure.ac.
* lib/Automake/Variable.pm (Automake::Variable): Do not initialize
$configure_ac at the global level, before command-line arguments
have been parsed.
(require_variables): Initialize it here.
* tests/configure.test: New test.
* tests/Makefile.am: Update.
Report by Stefano Lattarini.
2010-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Avoid possible false negatives in confh5.test.
* tests/confh5.test: Enable shell `errexit' flag, and bumped
copyright years. Due to this change, any unexpected failure
in calls to $ACLOCAL, $AUTOMAKE, $AUTOCONF or $AUTOHEADER, or
a failure in grepping expected text in output files should now
cause the whole test to fail.
2010-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Fixed typo in POD documentation of Automake::Channels.
* lib/Automake/Channels.pm: Fixed typo in POD documentation:
@<...> was used instead of C<...>.
2010-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Refactor tests on Automake TESTS color output.
* tests/color.test: Tests using the expect program moved out to...
* tests/color2.test: ... this new file.
* tests/Makefile.am (TESTS): Extended accordingly.
2010-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix typos in comments in test confh5.test
* tests/confh5.test: Fix a couple of typos in comments.
Avoid possible false negatives in canon-name.test.
* tests/canon-name.test: Enable shell `errexit' flag. Improve
test description.
2010-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Print 'warnings are treated as errors' note if needed.
* lib/Automake/Channels.pm: Fix typo in comment.
(_print_message): If -Werror is enabled, print a 'warnings are
treated as errors' note before the first such warning.
* tests/warnopts.test: Adjust comment to mention expected warning.
Adjust code to ignore 'warnings are treated as errors' note.
* tests/location.test: Adjust expected output with -Werror.
* tests/werror4.test: New test.
* tests/Makefile.am: Update.
* NEWS: Update.
Ensure we don't print 'warning:' or 'error:' twice.
* Makefile.am (sc_ensure_testsuite_has_run): New helper rule.
(sc_tests_logs_duplicate_prefixes): New rule, to check for
wrong-looking warning and error messages in the test suite logs.
* aclocal.in (scan_configure_dep, scan_file): Remove duplicate
`warning: ' prefix.
* tests/vars3.test: Rename variable to avoid false positive.
Prepend type to warning, error, and fatal messages.
For the first part of messages of types `error' or `fatal',
prepend `error: ' to the message. Prepend `warning: ' to
warning messages, whatever the setting of -Werror.
* lib/Automake/Channels.pm (partial): Move up definition.
(_format_message): Emit `header' and `footer' strings only with
the first resp. last part of a set of partial messages.
* lib/Automake/ChannelDefs.pm: Add missing '1;' statement at the
end of the module.
(Automake::ChannelDefs): Setup warning channels with header
`warning: ', error and fatal messages with header `error: '.
* tests/condinc2.test, tests/ltinstloc.test: Adjust expected
error messages.
* tests/comment5.test: Likewise. Also, include stack notes
should not start with `error:'.
* tests/location.test: Likewise. Also, try both -Werror and
-Wno-error.
* NEWS: Update.
Report by Bruno Haible.
Fix capitalization of error messages, reword one message.
* lib/Automake/Variable.pm (define): Do not capitalize the first
word in the error message.
* automake.in (require_file_internal): Likewise. Also, reword
and line-wrap for better readability.
* tests/distcom7.test, tests/pluseq5.test, tests/pluseq9.test:
Adjust tests.
Fix connected warnings about obsolete exeext override.
* lib/Automake/Rule.pm (define): Merge two warnings that belong
together, by setting the 'partial' flag for the first one.
Fix per-Makefile.am setting of -Werror.
Before this patch, 'AUTOMAKE_OPTIONS = -Werror' in one
Makefile.am would carry over to other Makefile.am files
treated afterwards by the same thread, causing inconsistent
and unstable exit status values.
* lib/Automake/Channels.pm (dup_channel_setup)
(drop_channel_setup): Save and restore the setting of
$warnings_are_errors.
* tests/werror3.test: New test.
* tests/Makefile.am: Adjust.
* NEWS: Update.
2010-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Bugfix in confh5.test w.r.t. Solaris/Heirloom Sh.
* tests/confh5.test: In the generated Makefile.am: do not use
`test ! -e FILE' to check for the non-existence of a file, since
that is not supported by Solaris/Heirloom Sh.
Make test `aclocal3.test' stricter.
* tests/aclocal3.test: Add call to `set -e'. Fail if $ACLOCAL
succeeds unexpectedly.
Add tests checking that symlinks are resolved by `make dist'.
* tests/distlinks.test: New test.
* tests/Makefile.am (TESTS): Updated accordingly.
Suggested by observations from Ralf Wildenhues.
2010-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Use -9 for maximum xz compression with dist-xz.
* lib/am/distdir.am (dist-xz, dist, dist-all): Pass -9 to xz.
* NEWS, THANKS: Update.
Report by Pavel Sanda.
2010-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Avoid possible false negatives in cond46.test.
* tests/cond46.test: Enable shell `errexit' flag (and bumped
copyright years). Due to this change, the testcase should now
fail on unexpected failures in calls to $ACLOCAL/$AUTOMAKE (whose
outcomes were previously unchecked), and on failures in grepping
the expected diagnostic in Automake stderr.
2010-04-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Generated tests are now just a thin layer around other tests.
* tests/Makefile.am: Rewrite the rule to generate the `*-p.test'
test scripts so that any of them simply includes the corresponding
`*.test' script (after setting `$parallel_tests' to `yes').
* tests/.gitignore: Add wildcard for temporary files used in the
generation of `*-p.test' tests.
2010-03-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Avoid an unportable use of `$status' shell variable.
* Makefile.am (path-check): Don't use the `$status' shell variable
in the target's rules, as it's special in Zsh (equivalent to `$?',
and readonly).
Avoid another use of `chmod -R'.
* Makefile.am (path-check): To be safe, do not use `chmod -R' on
$(distdir) before removing it (as Solaris `chmod -R' touches
symlink targets). Instead, use the cleanup strategy used in
distdir.am.
2010-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Remove uses of @acronym and @sc.
* doc/automake.texi (Public Macros, Limitations on File Names):
Remove all usage of @acronym and @sc in the manual.
Suggested by Karl Berry.
2010-03-13 Karl Berry <karl@freefriends.org>
GNU hello uses fdl.texi, not gpl.texi.
* doc/automake.texi (Texinfo): Adjust example to upstream
change.
2010-03-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Formatting cleanups in macro comments.
* automake.in, lib/Automake/Channels.pm,
lib/Automake/FileUtils.pm, lib/Automake/Options.pm,
lib/Automake/Variable.pm, lib/Automake/XFile.pm,
m4/options.m4, m4/substnot.m4: Fix macro comment format.
2010-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Avoid generation of `tests/defs-p' file.
* tests/defs.in: In the generated `configure.in' snippet: call
`AM_INIT_AUTOMAKE' with the `parallel-tests' option if the shell
variable `parallel_tests' is set to `yes'.
* tests/Makefile.am (defs-p): Target removed.
(check_SCRIPTS): Removed `defs-p'.
(clean-local-check): Do not unlink `defs-p' anymore.
($(parallel_tests)): Transformation rules for the test scripts
adjusted.
* tests/gen-parallel-tests: Selection rules for the test
scripts adjusted.
* tests/parallel-tests.test: Set `$parallel_tests' to `yes'
then include `./defs' (rather than simply including `./defs-p').
* tests/parallel-tests2.test: Likewise.
* tests/parallel-tests3.test: Likewise.
* tests/parallel-tests4.test: Likewise.
* tests/parallel-tests5.test: Likewise.
* tests/parallel-tests6.test: Likewise.
* tests/parallel-tests7.test: Likewise.
* tests/parallel-tests8.test: Likewise.
* tests/parallel-tests9.test: Likewise.
* tests/parallel-tests10.test: Likewise.
* tests/README (Section "Writing Test Cases" subsection "Do"):
Adjusted the parts referring to tests checking `parallel-tests'
behaviour. Some other minor related improvements.
* tests/.gitignore (defs-p): Removed.
2010-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Remove redundant unset of variable TESTS from some test scripts.
* tests/color.test: Do not unset the `TESTS' variable, as it's
already unset in the `defs' file.
* tests/check5.test: Likewise.
* tests/check8.test: Likewise.
* tests/check9.test: Likewise.
* tests/check10.test: Likewise.
* tests/check11.test: Likewise.
* tests/parallel-tests.test: Likewise.
* tests/parallel-tests3.test: Likewise.
* tests/parallel-tests4.test: Likewise.
* tests/parallel-tests5.test: Likewise.
* tests/parallel-tests6.test: Likewise.
* tests/parallel-tests7.test: Likewise.
2010-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix cscope test on systems without working Fortran compiler.
* tests/cscope.test: Skip remainder of test if `$MAKE all' fails.
* THANKS: Update.
Report by Peter Johansson.
2010-02-24 Antonio Diaz Diaz <ant_diaz@teleline.es> (tiny change)
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Add lzip compression support.
* automake.in (handle_dist): Recognize dist-lzip.
(make_paragraphs): Map LZIP to dist-lzip.
* doc/automake.texi (Dist): Add dist-lzip.
(Options): Likewise.
* lib/Automake/Options.pm (_process_option_list): Add dist-lzip.
* lib/am/distdir.am
(dist dist-all): Add command to create an lzip-compressed tarball.
(distcheck): Handle lzip-compressed tarballs just like the others.
* tests/defs.in: Test for lzip, too.
* tests/lzip.test: New file, based on nogzip.test.
* tests/Makefile.am (TESTS): Add lzip.test.
* NEWS: Update.
2010-02-22 Karl Berry <karl@gnu.org>
Improve help message of mdate-sh.
* mdate-sh: mention actual output format in help message.
2010-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Deprecate dist-lzma in favor of dist-xz.
* doc/automake.texi (The Types of Distributions, Options):
Adjust text to reflect renaming of lzma to xz.
* NEWS: Update.
Missing deprecation noted by Antonio Diaz Diaz.
2010-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Add tests about support of wildcards in EXTRA_DIST.
* tests/extra10.test: New test, check basic support of wildcards
in EXTRA_DIST.
* tests/extra11.test: New test, check more complex usage of
wildcards in EXTRA_DIST.
* tests/extra12.test: New test, check usage of wildcards in
EXTRA_DIST when $builddir != $srcdir.
* tests/Makefile.am (TESTS): Updated accordingly.
Necessity of these new tests suggested by Braden McDaniel
and Ralf Wildenhues.
2010-02-08 Simon Josefsson <simon@josefsson.org>
Fix copyright statement in gnupload script.
* lib/gnupload: Fix copyright statement.
2010-02-06 Dmitry V. Levin <ldv@altlinux.org> (tiny change)
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix exit status of signal handlers in shell scripts.
The value of `$?' on entrance to signal handlers in shell scripts
cannot be relied upon, so set the exit code explicitly to
128 + SIG<SIGNAL>.
* lib/am/check.am (am__check_pre): Use `exit 143' in signal handler.
* lib/elisp-comp: Likewise.
* lib/install-sh: Likewise.
* lib/ylwrap: Likewise. Also, fix script to trap signal 13, not 3.
* NEWS, THANKS: Update.
Bug report, analysis, and initial patch by Dmitry V. Levin.
2010-02-06 Karl Berry <karl@gnu.org>
Improve gnupload usage text.
* gnupload (usage): Shorten to make more likely to fit on a tty
line. Mention CMD in the synopsis. With ..., plural is implied.
2010-01-28 Christos Kontas <xakon@yahoo.com> (tiny change)
Fix some typos in the manual
* doc/automake.texi (Nested Packages, Rebuilding): Fix typos.
2010-01-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix silent-rules output for disabled dependency tracking.
* lib/am/depend2.am [!%FASTDEP%]: Rework silent-rules variable
expansion code to also work in the case where %AMDEP% expands
to FALSE at config.status time, using new substitution string
%VERBOSE-NODEP%.
* automake.in (verbose_nodep_flag): New function, appending
`@am__nodep@' to the verbose-variable name.
(handle_languages): If dependencies are not disabled, use it to
set %VERBOSE-NODEP%.
* m4/depend.m4: Substitute am__nodep as '_no', so the second
verbose-variable will always expand to an empty string, if
dependencies are enabled.
* tests/silent5.test: Also test --disable-dependency-tracking;
also test per-target flags for non-C language files.
* tests/silent9.test: New test, like silent4.test but disable
dependency tracking.
* tests/Makefile.am: Adjust.
* NEWS, THANKS: Update.
Report by Dmitry V. Levin <ldv@altlinux.org>.
2010-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Slighty improve tests acoutbs.test and acoutbs2.test.
* tests/acoutbs2.test: Enable `errexit' shell flag. Check that
autoconf and configure work, that the file `zot' is created by
configure, and that no file containing a backslash in its name is
created.
* tests/acoutbs.test: Likewise, plus updated copyright years.
Fix test acoutbs2.test.
* tests/acoutbs2: In the generated configure.in: add proper calls
to AC_INIT and AM_INIT_AUTOMAKE, and remove explicit definition of
PACKAGE and VERSION. Add a call to aclocal before calling automake.
Updated copyright years.
* tests/Makefile.am (XFAIL_TESTS): Removed acoutbs2.test.
Add forgotten test scripts to $(TESTS).
* tests/Makefile.am (TESTS): Added test scripts present on the
filesystem, which were erroneously left out from $(TESTS):
acoutbs2.test, badopt.test, extra2.test.
(XFAIL_TESTS): Added acoutbs2.test.
2010-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Sync auxiliary files from upstream.
* INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub:
Sync from upstream.
Bump copyright years.
* aclocal.in (write_aclocal, version): Bump copyright years.
* automake.in (gen_copyright, version): Likewise.
* doc/automake.texi: Likewise.
Rotate ChangeLog.
* ChangeLog.09: New file, rotated from ...
* ChangeLog: ... here.
* Makefile.am (EXTRA_DIST): Distribute ChangeLog.09.
-----
Copyright (C) 2010-2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification, are
permitted provided the copyright notice and this notice are preserved.
;; Variables:
;; coding: utf-8
;; End: