tests: fetch the 'compile' script for subdir objects
[automake.git] / ChangeLog.11
blob50b37ec97e9dce1d254ae0c9f9a67713bcd24066
1 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
3         tests: drop unnecessary requirement in 'subpkg.test'
4         * tests/subpkg.test ($required): Drop "bison", it is not required
5         anymore since commit `v1.11-502-g7e5ae80'.
7 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
9         gitlog-to-changelog: new auxiliary script, synced from gnulib
11         We have plans to stop maintaining a version-controlled ChangeLog
12         file in the Automake repository, and instead begin to generate it
13         automatically from the git log messages.  To do so, we will use
14         the `gitlog-to-changelog' script from gnulib.
16         * lib/gitlog-to-changelog: New, synced from gnulib.
17         * Makefile.am (fetch): Fetch and sync it.
18         * lib/Makefile.am (EXTRA_DIST): Distribute it.
20 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
22         regex: remove obsolete macro AM_WITH_REGEX
23         Today, practically nobody uses the GNU rx library, which, according
24         to its own website <http://www.gnu.org/software/rx/rx.html>, has
25         been "decommissioned".  Consequently, the automake-provided macro
26         AM_WITH_REGEX is not used nor required anymore.
27         * m4/regex.m4: Delete.
28         * m4/Makefile.am (dist_automake_ac_DATA): Do not list it anymore.
29         * doc/automake.texi (Obsolete Macros): Remove description, and in
30         fact any mention, of `AM_WITH_REGEX'.
31         * tests/regex.test: Delete.
32         * tests/help-regex.test: Likewise.
33         * tests/regex-obsolete.test: Likewise.
34         * tests/list-of-tests.mk: Do not list them anymore.
35         * NEWS: Update.
36         See also commits `v1.11-587-g5f335be' and `v1.11-433-g37b0aee',
37         where that macro had been deprecated.
39 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
41         cosmetics: be more consistent in copyright notices in tests
42         * tests/cond39.test: Update the heading copyright notice, to be
43         consistent with the formulation used in the other files.
44         * tests/cond40.test: Likewise.
45         * tests/cond41.test: Likewise.
46         * tests/cond42.test: Likewise.
47         * tests/cond43.test: Likewise.
48         * tests/conflnk4.test: Likewise.
49         * tests/extra8.test: Likewise.
50         * tests/extra9.test: Likewise.
51         * tests/suffix13.test: Likewise.
52         * tests/vala.test: Likewise.
53         * tests/vala1.test: Likewise.
54         * tests/vala2.test: Likewise.
55         * tests/vala3.test: Likewise.
56         * tests/vala4.test: Likewise.
57         * tests/vala5.test: Likewise.
58         * lib/Automake/tests/Condition.pl: Likewise.
59         * lib/Automake/tests/Condition-t.pl: Likewise.
60         * lib/Automake/tests/DisjConditions.pl: Likewise.
61         * lib/Automake/tests/DisjConditions-t.pl: Likewise.
62         * lib/Automake/tests/Version.pl: Likewise.
63         * lib/Automake/tests/Wrap.pl: Likewise.
64         * lib/Automake/tests/Cond2.pl: Add copyright notice.
65         * lib/Automake/tests/Cond3.pl: Likewise.
66         * lib/Automake/tests/DisjCon2.pl: Likewise.
67         * lib/Automake/tests/DisjCon3.pl: Likewise.
68         * lib/Automake/tests/Version2.pl: Likewise.
69         * lib/Automake/tests/Version3.pl: Likewise.
71 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
73         tap/awk: "Bail out!" recognized also after leading whitespace
74         Newer versions of TAP::Harness (e.g., 3.23 on Perl 5.14.1)
75         recognize a "Bail out!" directive also when it is prepended by
76         leading whitespace; this was not the case for older TAP:Harness
77         versions, (e.g., for version 3.17 on Perl 5.12.4), and for our
78         TAP driver implemented in awk.
79         * lib/tap-driver.sh: Handle the "Bail out!" directive also when
80         it is preceded by leading whitespace.
81         * tests/tap-spurious.test: Remove the tests checking that a
82         "Bail out!" string coming right after leading whitespace does
83         not trigger a bailout action.
84         * tests/tap-bailout-leading-space.test: New test.
85         * tests/list-of-tests.mk: Add it.
86         Problem reported by Jim Meyering in automake bug#10374.
88 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
90         tests: fix spurious failure of cond29.test
91         * tests/cond29.test: Limit the amount of virtual memory available
92         to the automake process to ~ 150 MB, rather than only ~ 20 MB, to
93         account for higher (but still acceptable) memory usages on some
94         systems (in this case, a Fedora 16 distro on ppc64).  To be
95         sure not to reduce coverage, increase the number of potential
96         combinations of automake conditionals from 2**22 = 4194304 to
97         2**24 = 16777216.
98         We have actually verified that the new version of the test case
99         catches the Automake 1.7 it is intended to check against, using
100         the Automake 1.7.9 tarball downloaded from:
101           <http://ftp.gnu.org/gnu/automake/automake-1.7.9.tar.gz>
102         Reported by Jim Meyering in automake bug#10374.
104 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
106         docs: "aclocal --install -I /abs/dir" actually copies files
108         This change is for automake bug#8407.
110         In the past, there had been some debate and confusion about
111         whether "aclocal --install" should copy third-party .m4 files
112         in the first directory passed to the `-I' option even when
113         such directory was given as an absolute path, or whether it
114         was better to do so only for directories specified with a
115         relative path.
117         The rationale for this latter behaviour was that, before the
118         existence of the `ACLOCAL_PATH' variable, the only way (a poor
119         way, I might add) for a common user to extend the search path
120         of a system-wide installation of aclocal was to export something
121         like ACLOCAL="aclocal -I /my/extra/macros" in the environment.
122         Today, the correct way to proceed is undoubtedly through the
123         use of ACLOCAL_PATH, so we can settle the question once and for
124         all, and start verifying the correct behaviour of `-I' with a
125         new test.
127         * tests/aclocal-install-absdir.test: New test.
128         * tests/Makefile.am (TESTS): Add it.
129         * doc/automake.texi (aclocal Options): Be more explicit about
130         this part of `--install' semantics.
132 2011-12-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
134         docs: fix node names for automake and aclocal invocations
136         With the older node names, an "info automake" command issued
137         from the command line would have opened the node about the
138         invocation of the automake program, rather than the Top node
139         of the automake documentation.  To invoke the Top node, one
140         had to issue the command "info Automake" instead (note the
141         different capitalization).  This was suboptimal, and certainly
142         confusing.
144         With this change, "info automake" will open the Top node of the
145         automake documentation; to access the nodes about the invocation
146         of the automake and aclocal program, one has now to issue "info
147         automake-invocation" and "info aclocal-invocation" respectively.
149         This change fixes automake bug#8071.
151         See also commits `v2.61a-22-ge9215d1' and `v2.61a-72-g8c07b48' in
152         the autoconf git repository, which tackled a similar issue.
154         * doc/automake.texi (@direntry): Rename nodes `aclocal' and
155         `automake' to `aclocal-invocation' and `automake-invocation'
156         respectively.
157         * NEWS: Update.
159 2011-12-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
161         tests: tweak tests on silent-rules for makes without nested vars
162         * tests/silent-nested-vars.test: Define $MAKE to `./mymake' in
163         the environment, so that it will be automatically picked up by
164         configure.  Related tweaks and simplifications.
165         Remove the checks verifying that silent rules are respected also
166         when the 'subdir-objects' option is set, the checks testing the
167         old syntax for user-defined silent rules, and the tests using
168         the default $MAKE programs: they are redundant w.r.t. other test
169         cases.  Related simplifications.
170         Remove the temporary files used in a sanity check as soon as they
171         are not needed anymore.
172         Do not capture also the standard error of configure: we only want
173         to grep its standard output.
174         Consistently use `stdout' for the name of files where to save the
175         standard output captured from make and configure, for consistency
176         with other tests.
177         Make grepping of configure output and of the generated Makefile
178         stricter.
179         Improve and tweak the `mymake' script a little.
180         * tests/silent6.test: Make grepping of make stdout slightly
181         stricter.  After having configured with silent rules disabled,
182         try to force the use silent rules with `make V=1'.
184 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
186         silent-rules: fallback for makes without nested vars
188         This fixes two problems reported for Automake (Bug#9928, Bug#10237)
189         and is in response to a bug report for building coreutils on HP
190         NonStop OS (Bug#10234).  The problem is that HP NonStop 'make'
191         treats a line like "AM_V_CC = $(am__v_CC_$(V))" as one that
192         expands a macro with the funny name am__v_CC_$(V instead of the
193         desired name am__v_CC_1 or am__v_CC_0, and since the funny macro
194         is not defined the line is equivalent to "AM_V_CC = )"; this
195         inserts a stray ")" when $(AM_V_CC) is used, which eventually
196         causes 'make' to fail.
198         The basic idea is that instead of generating Makefile.in lines like
199         "AM_V_CC = $(am__v_CC_$(V))", we generate
200         "AM_V_CC = $(am__v_CC_@AM_V@)".  We then AC_SUBST $(V) for @AM_V@
201         in the usual case where `make' supports nested variables,
202         and substitute 1 (or 0) otherwise.  Similarly for usages like
203         $(am__v_CC_$(AM_DEFAULT_VERBOSITY)).
205         With this change, make implementations that doesn't grasp nested
206         variable expansions will still be able to run Makefiles generated
207         using the silent-rules option.  They won't allow the user to
208         override the make verbosity at runtime through redefinition of
209         $(V) (as in "make V=0"); but this is still an improvement over not
210         being able to work at all.
212         * NEWS: Document this.
213         * automake.in (define_verbose_var): When defining the variables,
214         use @AM_V@ rather than $(V), and use @AM_DEFAULT_V@ rather than
215         $(AM_DEFAULT_VERBOSITY).
216         * doc/automake.texi (Automake silent-rules Option): Explain new system.
217         * m4/silent.m4 (AM_SILENT_RULES): Check whether `make' supports
218         nested variables, and substitute AM_V and AM_DEFAULT_V accordingly.
219         * tests/silent-nested-vars.test: New test.
220         * tests/Makefile.am (TESTS): Add it.
222 2011-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
224         gitignore: use only one .gitignore file, in the top-level directory
225         * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
226         lib/Automake/tests/.gitignore, tests/.gitignore: Deleted, their
227         contents merged into ...
228         * .gitignore: ... this top-level file.  Since we are at it, improve
229         it by anchoring files where it makes sense.
231 2011-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
233         tests: one more fixlet for gettext macros requirement
234         * tests/gettext-macros.test (configure.in): Add calls to
235         AC_INIT and AC_PROG_CC, to avoid a spurious failure in the
236         later aclocal invocation.
237         Luckily, this wart wasn't causing any spurious SKIP or FAIL,
238         but only the redundant addition to the `-Wno-syntax' option
239         to some aclocal invocations in the gettext tests.
241 2011-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
243         tests: fix handling of gettext macros requirement
245         The code introduced in the earlier change `v1.11-581-gb7d67d5'
246         and aimed at automatically fetching all the .m4 files provided by
247         gettext has proven inadequate, since it hasn't managed to truly
248         and always get *all* the required .m4 files.  For example, it has
249         failed to fetch the file `intldir.m4' (present in gettext 0.18.1,
250         and where the macro `AM_GNU_GETTEXT_INTL_SUBDIR' is defined),
251         which in turn has caused spurious SKIPs of at least the test
252         `gettext3.test'.
254         The reason for this debacle is that autopoint looks at the version
255         specified in AM_GNU_GETTEXT_VERSION to decide which version of the
256         gettext infrastructure to bring in; since we were unconditionally
257         specifying the older 0.10.35 version, the newer `.m4' files weren't
258         brought in.
260         * tests/gettext-macros.test: In AM_GNU_GETTEXT_VERSION, instead
261         of unconditionally specifying the older 0.10.35 version, specify
262         the version of the available `gettextize' or `autopoint' program,
263         dynamically extracted with the help of ...
264         (extract_program_version):... this new function, and saved ...
265         ($autopoint_version): ... in this new variable.
267 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
269         tests: automatically handle deps also for generated tests
270         * tests/gen-testsuite-part: The test scripts are now scanned for
271         automatic dependency generation *after* the auto-generated tests
272         have been created, so they too will be scanned.  It is a little
273         tricky to ensure that the freshly-generated tests are correctly
274         scanned, and we do that with the help of ...
275         (@generated_tests): ... this new variable.
276         Other related minor changes and refactorings.
278 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
280         tests: auto-generate deps for tests requiring libtool/gettext
281         * tests/gen-testsuite-part: Tests requiring libtool (or related
282         programs) will need libtool-provided m4 macros, so they should
283         be run after `libtool-macros.test'.  Similarly for gettext tests.
284         So, generate proper declarations of such dependencies.
285         * tests/Makefile.am: Remove now-unneeded hand-written declaration
286         of those dependencies.
288 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
290         tests: remove FIXME comments from tricks to pacify syntax checks
291         Originally, I myself had insisted on adding those "FIXME" comments
292         near every unusual construct or use of "creative quoting" whose
293         only purpose was to avoid false positive from out syntax checks.
294         I did that with the expectation that we could have easily and soon
295         added a whitelisting capability to our maintainer-specific syntax
296         checks.  This hasn't been the case unfortunately, and now those
297         "FIXME" in the comments are just distracting noise, making it more
298         difficult to grep the test cases for stuff that could really use a
299         fix or an improvement.  So just get rid of them.
300         * tests/instdir-ltlib.test: Remove that extra "FIXME".
301         * tests/instdir-prog.test: Likewise.
302         * tests/parallel-tests3.test: Likewise.
303         * tests/parallel-tests-dry-run.test: Likewise.
304         * tests/parallel-tests-console-output.test: Likewise.
305         * tests/parallel-tests-no-color-in-log.test: Likewise.
306         * tests/tap-realtime.test: Likewise.
307         * tests/test-trs-recover.test: Likewise.
308         * tests/tap-deps.test: Likewise.
310 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
312         tests: few minor fixlets, improvements and tweakings
313         * tests/defs-static.in ($top_testbuilddir): New, for consistency
314         and completeness.
315         * tests/Makefile.am (do_subst): Substitute @abs_top_testbuilddir@
316         as well.
317         * tests/java-compile-run-mested.test: Prefer AM_TESTS_ENVIRONMENT
318         over TESTS_ENVIRONMENT, now that the former has become available.
319         * tests/java-compile-run-flat.test: Correct a botched "FIXME"
320         comment.
321         * tests/tap-realtime.test: Remove extra whitespace in comments.
322         * tests/missing-tar.test: Use `get_shell_script' to bring in the
323         `missing' script, to increase coverage.  Remove redundant call to
324         `set -e'.  Fix a typo in comments.
325         * tests/get-sysconf.test: Remove redundant definitions of
326         `$top_testsrcdir', `testbuilddir' and `$top_testbuilddir'.
328 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
330         tests: remove redundant uses of `set -e'
331         * tests/deleted-am.test: Do not set the `errexit' shell flag, as
332         it is already set by `tests/defs'.
333         * tests/deleted-m4.test: Likewise.
334         * tests/dist-missing-am.test: Likewise.
335         * tests/dist-missing-am.test: Likewise.
336         * tests/dist-missing-m4.test: Likewise.
337         * tests/dist-missing-included-m4.test: Likewise.
338         * tests/get-sysconf.test: Likewise.
339         * tests/makefile-deps.test: Likewise.
340         * tests/remake-m4-pr10111.test: Likewise.
341         * tests/remake-am-pr10111.test: Likewise.
342         * tests/remake-deleted-am.test: Likewise.
343         * tests/remake-deleted-am2.test: Likewise.
344         * tests/remake-deleted-am-subdir.test: Likewise.
345         * tests/remake-renamed-am.test: Likewise.
347 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
349         tests: fix failure due to debugging code forgotten into a test
350         * tests/missing-tar.test: Don't ever call the `missing' script
351         with `sh -x'; this was used for debugging, but an instance of
352         it slipped into the committed test case.  Bug revealed by a
353         failure on a Solaris 10 system with GNU tar installed as `gtar'.
355 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
357         Merge branch 'master' into testsuite-work
358         * tests/gettext-macros.test: In the generated `get.sh' file,
359         use `skip_all_', not `skip_'.
360         * tests/libtool-macros.test: Likewise.
361         * tests/list-of-tests.mk: Update.
363 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
365         tests: avoid spurious failure of libtool and gettext tests
367         On Solaris 10 (and presumably earlier), /bin/sh trips up on
368         here-documents that contains a command substitution *and* are
369         fed to a shell function:
371           # All as expected.
372           $ cat <<END
373           `pwd`
374           END
375           /home/stefano
376           $ echo status = $?
377           status = 0
379           # An apparently innocuous function ...
380           $ kitty () { cat; }
381           # ... but hilarity ensues!
382           $ kitty <<END
383           `pwd`
384           END
385           /tmp/sh137723: cannot open
386           $ echo status = $?
387           status = 1
389         We need to work around this misbehaviour in a couple of our
390         tests (whose failures where causing cascading failures in a
391         lot of other tests).
393         * tests/gettext-macros.test: Avoid the use of command substitution
394         in a here-document passed to the `indent' function, by using the
395         `echo' builtin instead.
396         * tests/libtool-macros.test: Likewise.
398         See also:
399         <http://lists.gnu.org/archive/html/bug-autoconf/2011-12/msg00001.html>
401 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
403         Merge branch 'maint' into master.
404         * m4/regex.m4: Bump serial number by some notches, for good
405         measure.  Prefer the deprecation message from maint over that
406         from master.
407         * m4/python.m4: Bump serial number.
408         * tests/Makefile.am (canon6.log): Depend on `libtool-macros.log'.
409         (canon7.log): Likewise.
410         (extradep2.log): Likewise.
411         (ar-lib4.log): Likewise.
412         (ar-lib6a.log): Likewise.
413         (ar-lib6b.log): Likewise.
414         (vartypo2): Likewise.
415         (posixsubst-ltlibraries.log): Likewise.
416         * tests/defs: Adjust the path of the included `get.sh' scripts
417         generated by `libtool-macros.test' and `gettext-macros.test'.
418         * aclocal.m4: Delete, it's auto-generated now. 
419         * configure: Likewise.
420         * Makefile.in: Likewise.
421         * doc/Makefile.in: Likewise.
422         * m4/Makefile.in: Likewise.
423         * tests/Makefile.in: Likewise.
424         * lib/Makefile.in: Likewise.
425         * lib/am/Makefile.in: Likewise.
426         * lib/Automake/Makefile.in: Likewise.
427         * lib/Automake/tests/Makefile.in: Likewise.
428         * .gitignore: Correctly ignored the autogenerated files
429         that are not committed anymore.
431 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
433         hacking: distribute it, and mention it in the ChangeLog
434         Not distributing the HACKING file might make it more difficult,
435         for some random curious user, to get informed about or interested
436         in the Automake development process, or to send us patches.
437         * Makefile.am (EXTRA_DIST): Add HACKING.
438         * HACKING: It's OK to distribute this file, and to mention it in
439         the ChangeLog.
441 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
443         regex: deprecate the obsolete macro AM_WITH_REGEX
444         This is a backport of commit v1.11-433-g37b0aee.
445         Today, practically nobody uses the GNU rx library, which, according
446         to its own website <http://www.gnu.org/software/rx/rx.html>, has
447         been "decommissioned".  Consequently, the automake-provided macro
448         AM_WITH_REGEX is not used nor required anymore.  Deprecate it, so
449         that it will be possible to safely remove it in the next major
450         automake version.
451         * m4/regex.m4 (AM_WITH_REGEX): Give a warning of the class
452         `obsolete' when this macro is used.
453         * doc/automake.texi (Public Macros): Move description of
454         `AM_WITH_REGEX' from here ...
455         (Obsolete Macros): ... to here, and declare it as obsolete
456         and "to be removed in a future version".
457         * tests/regex-obsolete.test: New test.
458         * tests/Makefile.am (TESTS): Add it.
459         * NEWS: Update.
460         See also:
461         <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00131.html>
463 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
465         maint: distribute .xz tarballs, not .bz2 ones
466         Many GNU packages are moving towards xz-compressed tarballs, so
467         let's follow suit, by dropping the creation and distribution of
468         a bzip2-compressed tarball and switching to xz instead.
469         For compatibility and safeness, we will continue to create and
470         distribute a gzip-compressed tarball as well.
471         * configure.ac (AM_INIT_AUTOMAKE): Drop `dist-bzip2', add
472         `dist-xz'.
473         * NEWS: Update
474         Suggested by Jim Meyering.
476 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
478         include: avoid "deleted .am file" problem
479         * automake.in (handle_configure): When processing `configure.am',
480         also expand `HAVE-MAKEFILE-IN-DEPS' to a boolean telling whether
481         `MAKEFILE-IN-DEPS' is empty or not.
482         * lib/am/configure.am [?HAVE-MAKEFILE-IN-DEPS?]
483         (%MAKEFILE-IN-DEPS%): New target without dependencies, to
484         avoid the "deleted .am file" problem.  Emit this only when
485         `?HAVE-MAKEFILE-IN-DEPS?' is true, to avoid generating an
486         "empty" dependency declaration.
487         * tests/deleted-am.test: Make grepping of error message stricter.
488         * tests/dist-missing-am.test: Likewise.
489         * tests/remake-deleted-am.test: New test.
490         * tests/remake-deleted-am-2.test: Likewise.
491         * tests/remake-deleted-am-subdir.test: Likewise.
492         * tests/remake-renamed-am.test: Likewise.
493         * tests/makefile-deps.test: Likewise.
494         * tests/Makefile.am (TESTS): Add the new tests.
495         * NEWS: Update.
496         Fixes automake bug#9768.
497         Report by Peter Johansson.
498         See also commit `Release-1-10-40-gd0ebf71', which fixed a similar
499         problem for .m4 files included by configure.ac.
501 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
503         maint: better use of autoconf 2.68 features
504         * configure.ac: Now that Automake requires autoconf 2.68 for its
505         own bootstrapping and build system, we can assume that PACKAGE_URL
506         gets automatically AC_SUBT'd.
508 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
510         cosmetics: use proper m4 quoting in configure.ac
511         * configure.ac (AC_CONFIG_SRCDIR): Use proper m4 quoting
512         for its arguments.
513         (AC_CONFIG_AUX_DIR): Likewise.
514         (AC_PROG_PATH): Likewise.
516 2011-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
518         tests: better handling of gettext and libtool requirements
520         This change fixes automake bug#9807.
522         Before this change, the automake testsuite only looked for the
523         `.m4' files containing libtool and gettext macros definitions in
524         the directory `${prefix}/share/aclocal' (and in the directories
525         specified by the `dirlist' file in there, if any), where ${prefix}
526         was the configure-time automake installation prefix (defaulting
527         to `/usr/local').
529         This approach had various shortcomings and disadvantages.  Let's
530         briefly describe the three major ones.
532         First, on most GNU/Linux systems, a libtool or gettext installed
533         from distro-provided packages (e.g., by dpkg on Debian/Ubuntu, or
534         by rmp on RedHat/Fedora) would have `/usr', not `/usr/local', as
535         its ${prefix}; so, trying to run the automake testsuite with a
536         simple "./configure && make && make check" would have failed to
537         execute the libtool and gettext tests on most GNU/Linux distros.
538         It's true that it was quite easy to work around this issue, by
539         creating a proper `/usr/local/share/aclocal/dirlist' file with
540         an entry pointing to `/usr/share/aclocal' (a workaround in fact
541         used by most automake developers); but the typical user wasn't
542         aware of the necessity of this trick, so the libtool and gettext
543         tests was usually skipped on testsuite runs "in the wild", thus
544         needlessly reducing coverage.
546         Second, the older testsuite behaviour made more difficult for
547         the developers to run the testsuite with non-default libtool or
548         gettext.  For example, assume the developer is working on a system
549         that has a default libtool version 1.5 installed in the /usr/local
550         hierarchy; to improve coverage, the developer installs also a more
551         modern libtool version, say 2.4, in its home directory, let's say
552         in ~/libtool-2.4; he then tries to run the automake testsuite with
553         this more modern libtool by doing an (apparently) simple:
554           $ PATH=$HOME/libtool-2.4:$PATH make check
555         But the automake testsuite would still look for libtool macros in
556         /usr/local/share/aclocal, not in ~/libtool-2.4/share/aclocal, so
557         the wrong version of the macros would be picked up, and the tests
558         would either fail spuriously or (which would be worse) pass without
559         truly covering the libtool version the developers was thinking to
560         be testing with.
561         Worse again, the automake testsuite would *unconditionally* look
562         for libtool macros in /usr/local/share/aclocal, so even something
563         like:
564           $ export ACLOCAL_PATH=$HOME/libtool-2.4/share/aclocal
565           $ PATH=$HOME/libtool-2.4:$PATH make check
566         wouldn't work.
568         Third and last, during a "make distcheck", automake is configured
569         with a ${prefix} pointing to a proper subdirectory of the build
570         directory (usually `pwd`/_inst), which gets created on-the-fly;
571         in this case, with the old approach, the automake testsuite never
572         found the libtool and gettext macro files, ans so the libtool and
573         gettext tests was *always* skipped in a "make distcheck".
575         * tests/libtool-macros.test: New helper test, looking (with the
576         help of the `libtoolize' script) for libtool macro files required
577         by most libtool tests, and making them easily accessible.
578         * tests/gettext-macros.test: New helper test, looking (with the
579         help of the `libtoolize' script) for libtool macro files required
580         by most libtool tests, and making them easily accessible.
581         * tests/defs.in: Update to make it rely on the results and setups
582         of `libtool-macros.test' and `gettext-macros.test'.
583         * tests/Makefile.am: Declare dependency of all the logs of libtool
584         tests from `libtool-macros.log', and all the logs of gettext tests
585         from `gettext-macros.log'.
586         (TESTS): Add the new tests.
588 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
590         fix: typos and grammaros in comments of the new test
591         * tests/get-sysconf.test: Fix few typos, grammaros and botched
592         wording.  Reported by Eric Blake.
594 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
596         tests: report useful system information in 'test-suite.log'
597         It has already happened various times that a user has run the
598         automake testsuite, experienced a failure, read the messages
599         telling him "See tests/test-suite.log" and "Please report to
600         bug-automake@gnu.org", and done exactly that -- sending us only
601         the contents of `tests/test-suite.log', which are usually not
602         enough to start debugging the reported failure.  So we have to
603         ask him for more details, and usually also for the `config.log'
604         file generated by configure.  It's time to fix this recurring
605         feedback inefficiency.  We do so by creating a dummy test case
606         that takes care of copying the contents of `config.log', plus
607         other useful system information, in the final `test-suite.log'.
608         * tests/get-sysconf.test: New test, gathering system information
609         and then always terminating with a SKIP, so that its output gets
610         copied in `test-suite.log'.
611         * tests/Makefile.am (TESTS): Add it.
613 2011-12-07  Reuben Thomas  <rrt@sc3d.org>  (tiny change)
615         python: remove relics for Python 1.5 support
616         * m4/python.m4: The comments in here claim to support only
617         Python >= 2.0, yet this file still has specific support for
618         Python 1.5.  Just remove it, python 1.5 is 12 years old now,
619         and practically defunct.
620         * NEWS: Update.
621         See also commit `Release-1-10-205-gd5bec12', "Support for
622         Python 3.0, drop support for pre-2.0."
624 2011-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
626         configure: remove extraneous 'eval's from AM_RUN_LOG invocations
627         * configure.ac: Remove extra 'eval's from AM_RUN_LOG invocations;
628         for example, instead of "AM_RUN_LOG([eval $PERL --version])",
629         simply use "AM_RUN_LOG([$PERL --version])"
631 2011-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
633         configure: report TeX version in config.log
634         * configure.ac: If possible, report the version of the selected
635         TeX program; this should render the logs more informative.
637 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
639         maint: snapshots from `maint' are still development snapshots
640         The maintenance-oriented development line in the `maint' branch,
641         while being usually pretty stable and 99% backward-compatible,
642         is not always right off production-quality; but until now, the
643         Automake package version declared in configure.ac hid this fact,
644         since it appeared to be the version of a stable release (e.g.,
645         11.1).  Fix this.
646         * configure.ac (AC_INIT): Bump version to "1.11.0a".
648 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
650         configure: print proper message for test releases
651         * configure.ac: If the current release is detected to be a test
652         release or a development snapshot, print a proper warning for
653         the user.
654         * README-alpha: Delete, it's obsolete now (and in fact this file
655         hasn't been touched in eleven years, since release 1.4b or so).
656         * HACKING (Release procedure): Don't say to update README-alpha.
658 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
660         devel: help in comparing Makefile.in from different commits
661         Now that the generated Makefile.in, configure and aclocal.m4 files
662         are no longer committed in Automake's git repository, a simple
663         "git diff" or "git log" no longer shows if and how a change in
664         Automake results in changes to the Makefile.in files and/or
665         configure script of its own build system.  Still, the ability to
666         peek so easily at such differences has proved itself quite useful
667         in the past, often revealing inconsistencies and blunders, and
668         sometimes even bugs; so it would be a pity to lose that altogether.
669         With this change, we add a new maintainer recipe that re-introduces
670         much of that capability, by generating and comparing on the fly the
671         Makefile.in, configure and aclocal.m4 derived from two arbitrary
672         commits of the Automake repository.
673         * Makefile.am (autodiffs, compare-autodiffs): New phony targets.
675 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
677         repo: don't commit generated files in the git repository anymore
678         It has been quite some time since autoconf and libtool have stopped
679         committing the generated autotools files in their git repositories,
680         with no significant ill effects we're aware of.  It's true that the
681         autoconf bootstrap process has now the minor annoyance that a
682         pre-installed autoconf is required to complete it; but luckily
683         automake will not have a similar annoyance, since our bootstrap
684         script take care, through some hoops, to use the very automake and
685         aclocal versions from the current git checkout to generate the
686         required aclocal.m4 and Makefile.in files.  In fact, this has been
687         a necessity also in the past, because automake has been known to
688         use in its own build system new development features that hadn't
689         been present in any previously released automake distribution.
690         * .gitignore: Ignore configure, aclocal.m4, and all the
691         Makefile.in files.
692         * configure.ac (AC_PREREQ): New macro call, to require the
693         latest autoconf (2.68 for the moment).
695 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
697         missing: don't try to re-run tar with a munged command line
698         * lib/missing: If the default `tar' program fails with the given
699         arguments, and GNU tar is not available, don't try to re-run the
700         default `tar' with a munged command line (e.g., ditching possibly
701         unportable options), as that could be subtly alter the intended
702         semantics (and maybe even create a somewhat corrupted tarball).
703         Also, it's worth noting that the main purpose of the `missing'
704         script is to allow a non-developer to build the package in the
705         face of slightly-skewed timestamps, not to provide wrappers for
706         all the maintainer tools -- so we don't have to try too hard
707         when `missing' is just called to wrap `tar'.
708         * tests/missing-tar.test: New test.
709         * tests/Makefile.am (TESTS): Add it.
711 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
713         missing: inform the user if GNU tar is called
714         * lib/missing: If the code trying to run GNU tar is reached, it
715         means that the previous attempt to run the default tar program
716         has failed, very likely producing some error message.  At this
717         point, just running GNU tar without further comments might be
718         confusing.
720 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
722         missing: if GNU tar exists but fails when called, give up
723         * lib/missing: If the code trying to run GNU tar is reached,
724         don't continue if the invoked GNU tar program fails, as there
725         is little point in doing so (and can even be confusing and
726         counter-productive).
728 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
730         missing: miscellaneous fixlets
731         * lib/missing: Some shells, such as Solaris or FreeBSD /bin/sh,
732         warn about missing programs before performing redirections.
733         Therefore, where we have to silently check whether a program
734         exists, perform redirections on a subshell.
735         Remove redundant uses of double-quotes in variable definitions.
736         Delete an extra blank line.
738 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
740         maint: remove executable bit from automake.in
741         * automake.in: This file is not meant to be executed, only to
742         be preprocessed to create the `automake' script; so don't leave
743         it executable.
745 2011-12-20  Peter Rosin  <peda@lysator.liu.se>
747         tests: fix spurious failure on systems lacking unistd.h
748         This is for automake bug#10324.
749         * tests/silent-lex-generic.test (foo.l): Add a dummy #define of
750         YY_NO_UNISTD_H, so that the generated foo.c file won't require
751         unistd.h to be present (it is not present when compiling with,
752         e.g., MSVC 9).
754 2011-12-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
756         tests: fix spurious failure on MSYS/MinGW and Cygwin
757         * tests/primary-prefix-couples-force-valid.test (Makefile.am):
758         Correctly append $(EXEEXT) to the path of built binaries.
760 2011-12-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
762         test defs: hack to support autoconf-wrapper programs
763         * tests/defs-static.in ($AUTOCONF): Add a dummy `-B' option to the
764         autoconf invocation, so that, when the Debian autoconf wrapper is
765         involved, it will correctly dispatch an autoconf >= 2.50 instead of
766         defaulting to autoconf 2.13.
767         ($AUTOHEADER, $AUTORECONF): Likewise, but for autoheader and
768         autoreconf respectively.
769         Reported by Bruno Haible:
770         <http://lists.gnu.org/archive/html/automake/2011-12/msg00039.html>
772 2011-12-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
774         tests: fix a minor spurious failure with FreeBSD make
775         * tests/remake-am-pr10111.test: Avoid using `#' comments in
776         makefile recipes, as these have been confusing FreeBSD make.
777         The failure was masked by the fact that this test is currently
778         expected to fail.
779         Suggested by a report from Bruno Haible.
781 2011-12-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
783         tests: make two test scripts executable
784         * tests/remake-am-pr10111.test: Make executable.
785         * tests/remake-m4-pr10111.test: Likewise.
787 2011-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
789         readme: reference webpages for automake mailing lists
790         * README: Rationalize and reorganize the (brief) description of
791         the automake mailing lists.   In particular, instead of suggesting
792         the reader to write to the `-request' addresses to subscribe to
793         mailing lists, point him to the relevant webpages, where he can
794         also subscribe via a web form.
796 2011-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
798         readme: update advice about testsuite execution
799         * README: Now that the automake testsuite uses the parallel-tests
800         driver, there is no need for the user to capture the stdout of
801         "make check" to determine which tests have failed: a detailed log
802         is automatically saved into the `tests/test-suite.log' file.
803         Since we are at it, improve the wording by dropping an extra
804         "please".
806 2011-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
808         readme: don't reference the old homepage at sources.redhat.com
809         * README: Don't reference the old homepage at sources.redhat.com,
810         which is no longer active; reference the homepage on www.gnu.org
811         instead.  See also automake bug#10157 and bug#10248.
812         * tests/README: Likewise, and remove related extra-pedantic advice
813         about copyright papers for test cases (we'll ask for those papers
814         explicitly when we think they are warranted).
816 2011-12-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
818         hacking: some more fixlets
819         * HACKING (Release Procedure): Place the list of pre-release
820         bootstrap-and-test commands on a line of its own, so it's easy to
821         select and then paste it into a terminal window.
822         Fix the explanation of "make git-release", as, since the previous
823         change, "make git-release" would simply run "make dist" rather
824         than "make distcheck".
825         Suggestion from Jim Meyering.
827 2011-12-12  Peter Rosin  <peda@lysator.liu.se>
829         * NEWS: Fix typo in 'make dist-bzip2' description.
831 2011-12-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
833         release: don't run "make distcheck" automatically
834         * Makefile.am (git-dist): The developers should test extensively
835         before finally creating the release tarball; so don't run "make
836         distcheck" on their behalf here; instead ...
837         * HACKING (Release procedure): ... state here that "make check"
838         and "make distcheck" should be run before calling "make git-dist".
840 2011-12-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
842         tests: fix spurious failure in 'color2.test'
843         * tests/color2.test: (expect-make): Add an "expect eof" directive,
844         so that the collected output from the spawned make program will be
845         displayed on stdout, as desired.
846         Since we are at it, also correctly remove a temporary file which
847         we was trying to delete using a wrong filename.
848         Problem introduced in merge `v1.11-1579-g8d3466c', probably by a
849         botched edit or conflict resolution.
851 2011-12-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
853         tests: fix spurious failure in 'lex3.test'
854         * tests/lex3.test (foo.l): Remove duplicated definition of
855         `yywrap'.  Problem introduced in merge `v1.11-1579-g8d3466c'.
857 2011-12-09  Jim Meyering  <meyering@redhat.com>
858             Stefano Lattarini  <stefano.lattarini@gmail.com>
860         dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings
861         Before the present change, automake-generated `dist-xz' rule used
862         a hard-coded `xz -9'.  That was a problem because on this front,
863         xz differs from gzip and bzip2.  While the latter two don't incur
864         any run-time decompression penalty for using a higher compression
865         level, specifying -9 with xz imposes a potentially fatal virtual
866         memory requirement on any client that wants to decompress your
867         tar.xz file.
868         People have complained that a tarball compressed with -9 cannot
869         be uncompressed in a low-memory environment (wrt-based embedded).
870         Hence, instead of defaulting to -9, which is useful only for very
871         large tarballs, it defaults to -e (equivalent to -6e).  This
872         limits the default memory requirements imposed on decompressors,
873         yet still gives very good compression ratios.
874         * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made
875         it impossible to override.  Actually don't default to -9, either,
876         since that induced inordinately large virtual memory usage when
877         merely decompressing.  Instead, use its XZ_OPT envvar, defaulting
878         to -e if not defined.  Suggested by Lasse Collin.
879         (dist-bzip2): Similarly, do not hard-code -9, but do continue to
880         use -9 by default.  Honor the BZIP2 envvar.
881         * NEWS: Update.
882         * doc/automake.texi (The Types of Distributions): Describe the
883         newly enabled environment variables.
885 2011-12-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
887         * NEWS: Fix typos, grammaros and suboptimal wording.
888         Reported by Jim Meyering.
890 2011-12-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
892         maint: sync auxiliary files from upstream
893         * lib/texinfo.tex: Synced from upstream, by "make fetch".
894         * lib/config.guess: Likewise.
895         * lib/config.sub: Likewise.
897 2011-12-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
899         tests: fix spurious failures due to missing 'yywrap()' function
901         The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
902         the "lex library" expected to provide a `yywrap' function (function
903         which is required to link most lex-generated programs).  On the
904         contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
905         fail, configure declares that no lex library is needed, and simply
906         proceeds with the configuration process -- only for the build to
907         possibly fail later, at make time.
909         This behaviour is intended; the Autoconf manual reads:
910          ``You are encouraged to use Flex in your sources, since it is
911            both more pleasant to use than plain Lex and the C source it
912            produces is portable.  In order to ensure portability, however,
913            you must either provide a function `yywrap' or, if you don't use
914            it (e.g., your scanner has no `#include'-like feature), simply
915            include a `%noyywrap' statement in the scanner's source.''
917         This AC_PROG_LEX behaviour is causing some spurious failures of
918         the Automake testsuite in environments which lack a proper library
919         providing `yywrap' (this happens for example on Fedora-based
920         systems).   The proper workaround is to simply provide a fall-back
921         implementation of `yywrap' in our lexers.
923         See also partially-overlapping commit `v1.11-871-geb147a1' (from
924         the 'testsuite-work' branch), which was motivated by similar
925         spurious failures experienced when cross-compiling.
927         From a report by Jim Meyering:
928         <http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html>
930         * tests/cond35.test: Provide a dummy `yywrap' function.
931         * tests/lex3.test: Likewise.
932         * tests/silent-lex-generic.test: Likewise.
933         * tests/silent-lex-gcc.test: Likewise.
934         * tests/silent-many-generic.test: Likewise.
935         * tests/silent-many-gcc.test: Likewise.
937 2011-12-04  Paul Eggert  <eggert@cs.ucla.edu>
939         depcomp: spelling fix
940         * lib/depcomp (-h): Fix misspelling in usage diagnostic.
942 2011-11-28  Peter Rosin  <peda@lysator.liu.se>
944         tests: fix 'distcheck-override-infodir.test' on Cygwin
945         * tests/distcheck-override-infodir.test (Makefile.am): Do not add
946         any `/' between $(DESTDIR) and the following paths.  Otherwise,
947         when $(DESTDIR) is empty, the recipes will try to access files
948         with a leading double slash, which have an implementation-defined
949         interpretation (e.g., for Cygwin, they mean UNC paths).
951 2011-11-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
953         cosmetics: typofix in comments
954         * tests/remake-am-pr10111.test (Makefile.am): Fix typo in comments.
955         * THANKS: Update.
956         Reported by Krzysztof Żelechowski.
958 2011-11-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
960         coverage: undistributed '.am' and '.m4' files are diagnosed
961         The stub rules emitted to work around the "deleted header problem"
962         for `.m4' files (included by autoconf in e.g., configure.ac) and
963         for `.am' files (included by automake in e.g., Makefile.am) should
964         not prevent "make" from correctly complaining when such a required
965         file is missing from a distribution tarball.
966         * tests/dist-missing-am.test: New test.
967         * tests/dist-missing-m4.test: Likewise.
968         * tests/dist-missing-included-m4.test: Likewise.
969         * tests/Makefile.am (TESTS): Add them.
970         Suggestion by Ralf Wildenhues.
972 2011-11-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
974         coverage: required but missing '.am' and '.m4' files are diagnosed
975         The stub rules emitted to work around the "deleted header problem"
976         for `.m4' files (included by autoconf in e.g., configure.ac) and
977         for `.am' files (included by automake in e.g., Makefile.am) should
978         not prevent the remake rules from correctly erroring out when a
979         still-required file is missing.
980         * tests/deleted-am.test: New test.
981         * tests/deleted-m4.test: Likewise.
982         * tests/Makefile.am (TESTS): Add them.
984 2011-11-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
986         coverage: expose automake bug#10111 in the testsuite
987         * tests/remake-am-pr10111.test: New test, xfailing.
988         * tests/remake-m4-pr10111.test: Likewise.
989         * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
991 2011-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
993         texinfo: work around Solaris 10 xpg4 shell bug in install rules
994         * lib/am/texinfos.am (install-html-am): Use an extra variable
995         indirection to work around a bug in Solaris 10 /usr/xpg4/bin/sh.
996         Bug revealed by a failure of `txinfo21.test'.  See also:
997         <http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html>
998         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
1000 2011-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1002         configure: report perl version in config.log
1003         * configure.ac: Report the version of the selected perl interpreter
1004         in config.log; this should render the logs more informative.
1006 2011-11-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
1008         tests: fix spurious failure with older install-info
1009         * tests/install-info-dir.test (foo.texi): Also add proper
1010         `@settitle', `@dircategory' and `@direntry' directive, otherwise
1011         older versions of `install-info' (e.g., 4.8) will fail to create
1012         the `dir' index file in ${infodir}.
1013         Problem revealed by a failure on NetBSD 5.1.
1015 2011-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1017         maintcheck: fix spurious failure in 'color2.test'
1018         * tests/color2.test: Avoid creative quoting to avoid a spurious
1019         failure of the `sc_tests_Exit_not_exit' maintainer check.
1021 2011-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1023         tests: fix spurious error in 'uninstall-fail.test' on Solaris
1024         * tests/uninstall-fail.test: Solaris 10 /usr/xpg4/bin/sh can add
1025         a line number before the `:' in the error messages issued by shell
1026         builtins.  Account for that in our grepping of make output.
1028 2011-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1030         tests: fix typo in 'uninstall-fail.test'
1031         * tests/uninstall-fail.test: Always use `$rm_f_is_silent_on_error'
1032         instead of the bogus `$rm_f_is_silent_on_failure'.
1034 2011-11-19  Paul Eggert  <eggert@cs.ucla.edu>
1036         * lib/install-sh: Spelling fix in comment.
1038 2011-11-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
1040         tests: avoid a spurious failure of 'ltinit.test' MinGW
1041         * tests/ltinit.test: Be laxer in grepping configure output, to
1042         avoid spurious failures on systems which lack POSIX dynamic
1043         linking (e.g., MinGW), or when cross-compiling for such systems.
1044         See also commit `v1.11-855-ge9e5d4a'.
1045         Report and suggestion from Peter Rosin.
1047 2011-11-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1049         tests: testsuite is now safe to run with dmake in parallel mode
1050         * tests/defs.in: Unset variables DMAKE_CHILD, DMAKE_DEF_PRINTED
1051         and DMAKE_MAX_JOBS, which are exported by Solaris dmake when run
1052         in parallel mode, and which might confuse make processes spawned
1053         by our testsuite.
1055 2011-11-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1057         tests: fix spurious failures w.r.t. parallel make and colorization
1058         * tests/color2.test: Skip the test if the $MAKE program fails to
1059         consider the standard output as a tty when spawned by `expect'.
1060         This is required for make implementations, like FreeBSD make and
1061         Solaris dmake, that redirect the output of recipes to temporary
1062         files or pipes when run in parallel mode.  Since we are at it,
1063         simplify the detection of a working `expect' program, and throw
1064         in other minor simplifications.
1066 2011-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1068         tests: fix spurious failure in 'distcheck-override-infodir.test'
1069         * tests/distcheck-override-infodir.test ($required): Add
1070         'install-info'.
1072 2011-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1074         tests: avoid another failure of 'uninstall-fail.test' on Solaris
1075         * tests/uninstall-fail.test: On Solaris 10, if `/bin/rm' is run
1076         with the `-f' option, it doesn't print any error message when
1077         failing to remove a file (due to e.g., "Permission denied").
1078         Yikes.  Cater to this incompatibility, by relaxing the test when
1079         a faulty `rm' is detected.
1081 2011-11-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
1083         tests: various minor tweakings, mostly related to AM_PROG_AR
1084         * tests/alloca2.test: Ensure we don't experience a spurious failure
1085         due to a missing `AM_PROG_AR' macro or a missing `ar-lib' auxiliary
1086         script.
1087         * tests/libtool4.test: Likewise.
1088         * tests/ldadd.test: Likewise.  Since we are at it, make grepping of
1089         automake stderr stricter.
1090         * tests/reqd2.test: Likewise.
1091         * tests/pr211.test: Ensure automake fails also with `-Wnone', since
1092         the error we are testing for is an hard error, not a mere warning.
1093         * tests/syntax.test: Likewise, and ensure we don't fail to other
1094         errors by removing use of `lib_LTLIBRARIES' in Makefile.am.  Since
1095         we are at it, make grepping of automake stderr stricter.
1097 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1099         ar-lib: fix configure output for "unrecognized archiver interface"
1100         * m4/ar-lib.m4: Ensure that, even when an error is hit while trying
1101         to determine the archiver interface kind, the "checking archiver
1102         interface" message from configure is properly terminated before
1103         an error message is printed, to avoid slightly garbled output.
1104         * tests/ar4.test: Enhance.
1105         * tests/ar5.test: Likewise.
1107 2011-11-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1109         warnings: fix buglets for portability warnings
1110         * lib/Automake/ChannelDefs.pm (switch_warning): Ensure the
1111         correct implications and inter-dependencies between warnings
1112         in the categories `portability', `extra-portability' and
1113         `recursive-portability' are respected.  Also add detailed
1114         explicative comments, and references to the relevant tests.
1115         * tests/dollarvar2.test: Update and extend.  Also, remove
1116         some unnecessary uses of `--force' option in automake calls.
1117         * tests/extra-portability3.test: New test.
1118         * tests/Makefile.am (TESTS): Add it.
1120 2011-11-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1122         tests: extend tests on 'extra-portability' warning category
1123         * tests/extra-portability.test: Redefine `$AUTOMAKE' to ensure we
1124         have complete control over the automake options.  Extend by using
1125         also a setup where no `portability' warning is present (only an
1126         `extra-portability' warning is).  Other minor extensions.  Remove
1127         some redundant, verbose comments about the expected diagnostic.
1129 2011-11-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1131         tests: various minor tweakings, mostly related to AM_PROG_AR
1132         * tests/alloca.test: Adjust to new portability requirements due
1133         to the new AM_PROG_AR macro.
1134         * tests/discover.test: Likewise.
1135         * tests/libobj3.test: Likewise.
1136         * tests/pluseq7.test: Likewise.  Also, make grepping of automake
1137         expected error message stricter.
1138         * tests/stdlib.test: Likewise, and extend the test a bit.
1139         * tests/parse.test (configure.in): Remove redundant call to
1140         AC_PROG_RANLIB.
1141         * tests/library2.test: Adjust to new portability requirements
1142         due to the new AM_PROG_AR macro.  Also ...
1143         (configure.in): ... add call to AC_PROG_CC, to ensure automake
1144         really fails for the expected reason.
1146 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1148         ar-lib: fix configure output for "unrecognized archiver interface"
1149         * m4/ar-lib.m4: Ensure that, even when an error is hit while trying
1150         to determine the archiver interface kind, the "checking archiver
1151         interface" message from configure is properly terminated before
1152         an error message is printed, to avoid slightly garbled output.
1153         * tests/ar4.test: Enhance.
1154         * tests/ar5.test: Likewise.
1156 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1158         tests: more faithful 'installcheck' support in few tests
1159         * tests/ar-lib5a.test: Use the `$am_scriptdir' variable instead
1160         of "$testsrcdir/../lib" or "$top_testsrcdir/lib", to test more
1161         faithfully under "make installcheck".
1162         * tests/ar-lib5a.test: Likewise.
1163         * tests/libobj-basic.test: Likewise.
1164         * tests/libobj19.test: Likewise.
1165         * tests/suffix5.test: Likewise.
1167 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1169         tests: remove redundant settings of `errexit' shell flag
1170         * tests/aclocal-path-install-serial.test: Do not set the
1171         `errexit' shell flag, as it is already set by `tests/defs'.
1172         * tests/ar-lib2.test: Likewise.
1173         * tests/ar-lib3.test: Likewise.
1174         * tests/ar-lib4.test: Likewise.
1175         * tests/ar-lib5a.test: Likewise.
1176         * tests/ar-lib5b.test: Likewise.
1177         * tests/ar-lib6a.test: Likewise.
1178         * tests/ar-lib6b.test: Likewise.
1179         * tests/ar-lib7.test: Likewise.
1180         * tests/ar3.test: Likewise.
1181         * tests/ar4.test: Likewise.
1182         * tests/ar5.test: Likewise.
1183         * tests/extra-portability.test: Likewise.
1184         * tests/extra-portability2.test: Likewise.
1185         * tests/extra-portability3.test: Likewise.
1186         * tests/install-info-dir.test: Likewise.
1187         * tests/maintmode-configure-msg.test: Likewise.
1189 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1191         generated tests: avoid extra "FIXME" comments
1192         * tests/gen-testsuite-part: Avoid putting too much "FIXME"
1193         comments in the generated test scripts, since they end up
1194         being just counter-productive noise when one has to grep
1195         the test scripts looking for real "FIXME" items.
1197 2011-09-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1199         cosmetics: fix typo in 'prove-runner' script
1200         * tests/prove-runner: Remove erroneously-repeated word.
1201         * THANKS: Update.
1202         Reported by Dave Hart.
1204 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1206         Merge branch 'master' into testsuite-work
1207         * tests/extra-portability.test: Use `$am_original_AUTOMAKE'
1208         instead of the obsolete `$original_AUTOMAKE'.
1209         * tests/extra-portability3.test: Likewise.
1210         * tests/list-of-tests.mk: Update.
1212 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1214         Merge branch 'msvc' into master
1215         * tests/extra-portability3.test: Use `$original_AUTOMAKE' instead
1216         of hackishly extracting the first component of `$AUTOMAKE'.
1217         * tests/extra-portability.test: Likewise.  Also, since we are at
1218         it, throw in a couple of small extensions and tweakings (suggested
1219         by the minor merge conflicts).
1221 2011-11-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1223         warnings: fix buglets for portability warnings
1224         * lib/Automake/ChannelDefs.pm (switch_warning): Ensure the
1225         correct implications and inter-dependencies between warnings
1226         in the categories `portability', `extra-portability' and
1227         `recursive-portability' are respected.  Also add detailed
1228         explicative comments, and references to the relevant tests.
1229         * tests/dollarvar2.test: Update and extend.  Also, remove
1230         some unnecessary uses of `--force' option in automake calls.
1231         * tests/extra-portability3.test: New test.
1232         * tests/Makefile.am (TESTS): Add it.
1234 2011-11-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1236         tests: extend tests on 'extra-portability' warning category
1237         * tests/extra-portability.test: Redefine `$AUTOMAKE' to ensure we
1238         have complete control over the automake options.  Extend by using
1239         also a setup where no `portability' warning is present (only an
1240         `extra-portability' warning is).  Other minor extensions.  Remove
1241         some redundant, verbose comments about the expected diagnostic.
1243 2011-11-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1245         test defs: new functions to analyze configure help screen
1246         * tests/defs (extract_configure_help, grep_configure_help): New
1247         functions.
1248         * tests/maintmode-configure-msg.test: Use them, reducing code
1249         duplication and test brittleness.
1250         * tests/help-depend.test: Likewise.
1251         * tests/help-depend2.test: Likewise.
1252         * tests/help-dmalloc.test: Likewise.
1253         * tests/help-lispdir.test: Likewise.
1254         * tests/help-multilib.test: Likewise.
1255         * tests/help-python.test: Likewise.
1256         * tests/help-regex.test: Likewise.
1257         * tests/help-silent.test: Likewise.
1258         * tests/help-upc.test: Likewise.
1259         * tests/help-init.test: Make grepping of configure help screen
1260         slightly stricter.
1261         * tests/self-check-configure-help.test: New self test.
1262         * tests/Makefile.am (TESTS): Add it.
1263         From a report by Jim Meyering.
1265 2011-11-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1267         Merge branch 'master' into testsuite-work
1269         * tests/instspc.tap: Adjust to new portability requirements
1270         due to the new AM_PROG_AR macro.
1271         * tests/lex-lib.test: Likewise.
1272         * tests/extra-portability2.test: Use `$am_original_AUTOMAKE'
1273         instead of the obsolete `$original_AUTOMAKE'.
1274         * tests/list-of-tests.mk: Update.
1276 2011-11-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1278         tests: various minor tweakings, mostly related to AM_PROG_AR
1279         * tests/alloca.test: Adjust to new portability requirements due
1280         to the new AM_PROG_AR macro.
1281         * tests/discover.test: Likewise.
1282         * tests/libobj3.test: Likewise.
1283         * tests/pluseq7.test: Likewise.  Also, make grepping of automake
1284         expected error message stricter.
1285         * tests/stdlib.test: Likewise, and extend the test a bit.
1286         * tests/parse.test (configure.in): Remove redundant call to
1287         AC_PROG_RANLIB.
1288         * tests/library2.test: Adjust to new portability requirements
1289         due to the new AM_PROG_AR macro.  Also ...
1290         (configure.in): ... add call to AC_PROG_CC, to ensure automake
1291         really fails for the expected reason.
1293 2011-11-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1295         Merge branch 'msvc' into master
1297         * tests/instspc-tests.sh: Adjust to new portability requirements
1298         due to the new AM_PROG_AR macro.
1299         * tests/libobj-basic.test: Likewise.
1300         * tests/libobj2.test: Likewise.
1301         * tests/libobj15a.test: Likewise.
1302         * tests/libobj15b.test: Likewise.
1303         * tests/libobj15c.test: Likewise.
1304         * tests/libobj16a.test: Likewise.
1305         * tests/libobj16b.test: Likewise.
1306         * tests/libobj17.test: Likewise.
1307         * tests/libobj18.test: Likewise.
1308         * tests/libobj19.test: Likewise.
1309         * tests/libobj20a.test: Likewise.
1310         * tests/libobj20b.test: Likewise.
1311         * tests/libobj20c.test: Likewise.
1312         * tests/canon6.test: Likewise.
1313         * tests/canon6.test: Likewise.
1314         * tests/canon7.tests: Likewise.
1315         * tests/extra9.test: Likewise.
1316         * tests/extradep.test: Likewise.
1317         * tests/extradep2.test: Likewise.
1318         * tests/posixsubst-ldadd.test: Likewise.
1319         * tests/posixsubst-libraries.test: Likewise.
1320         * tests/posixsubst-ltlibraries.test: Likewise.
1321         * tests/python-virtualenv.test: Likewise.
1322         * tests/vartypos.test: Likewise.
1323         * tests/vartypo2.test: Likewise.
1324         * tests/suffix.test: Update to take into account previous
1325         master-only changes.
1326         * tests/suffix2.test: Likewise.
1327         * tests/libobj7.test: Call automake with the `--add-missing'
1328         option, instead of creating a dummy `ar-lib' file, since this
1329         test now also runs "./configure" and "make".
1330         * tests/suffix5.test: Copy the real `ar-lib' script file,
1331         instead of creating a dummy one, since this test now also
1332         runs "./configure" and "make".
1333         * tests/extra-portability2.test: Fix this test not to rely
1334         on the older, faulty semantics of "strictness specification
1335         always reset warning level", which has been fixed in commit
1336         v1.11-623-g1609491 (see also automake bug#7669 a.k.a. PR/547).
1337         Since we are at it, throw inf few other minor unrelated
1338         improvements.
1339         * tests/extra-portability.test: Explicitly pass `-Wall' to
1340         automake calls, for clarity.
1342 2011-10-21  Peter Rosin  <peda@lysator.liu.se>
1344         warnings: new 'extra-portability' category, for AM_PROG_AR
1345         * lib/Automake/ChannelDefs.pm: Register new extra-portability
1346         warning channel.
1347         (switch_warning): Turn off extra-portability if portability is
1348         turned off, and turn on portability if extra-portability is
1349         turned on.
1350         (set_strictness): Silence extra-portability for --gnits, --gnu
1351         and --foreign.
1352         * tests/extra-portability2.test: New test, checking that the
1353         extra-portability channel is silenced by --gnits, --gnu and
1354         --foreign.
1355         * doc/automake.texi (Invoking Automake): Document the new warning
1356         category and its interaction with the portability category.
1357         * tests/extra-portability.test: New test, checking the interaction
1358         between the portability and extra-portability warning categories.
1359         * automake.in (handle_libraries, handle_ltlibraries): Move the
1360         AM_PROG_AR warnings to the new extra-portability channel.
1361         * tests/ar2.test: Adjust to the new warning channel.
1362         * tests/pr300-lib.test: Likewise.
1363         * tests/pr300-ltlib.test: Likewise.
1364         * tests/pr307.test: Likewise.
1365         * tests/pr401.test: Likewise.
1366         * tests/pr401b.test: Likewise.
1367         * tests/pr401c.test: Likewise.
1368         * tests/pr72.test: Likewise.
1369         * NEWS: Likewise.
1370         * tests/Makefile.am (TESTS): Update.
1372 2011-10-21  Peter Rosin  <peda@lysator.liu.se>
1373             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1374             Stefano Lattarini  <stefano.lattarini@gmail.com>
1376         Add new 'AM_PROG_AR' macro, triggering the 'ar-lib' script.
1377         * m4/ar-lib.m4: New macro AM_PROG_AR, which locates an
1378         archiver and triggers the auxiliary 'ar-lib' script if needed.
1379         * m4/Makefile.am (dist_m4data_DATA): Update.
1380         * automake.in ($seen_ar): New variable.
1381         (scan_autoconf_traces): Set it.
1382         (handle_libraries, handle_ltlibraries): Require AM_PROG_AR for
1383         portability.
1384         * doc/automake.texi (Public Macros): Mention the new
1385         'AM_PROG_AR' macro.
1386         (Subpackages): Add AM_PROG_AR to the example.
1387         (A Library): Adjust recommendations for AR given the new
1388         AM_PROG_AR macro.
1389         * All relevant tests: Adjust to new portability requirements due
1390         to the new AM_PROG_AR macro.
1391         * tests/ar-lib2.test: New test, checking that AM_PROG_AR triggers
1392         install of ar-lib.
1393         * tests/ar-lib3.test: New test, checking that lib_LIBRARIES
1394         requires AM_PROG_AR.
1395         * tests/ar-lib4.test: New test, checking that lib_LTLIBRARIES
1396         requires AM_PROG_AR.
1397         * tests/ar-lib5a.test: New test, checking that AM_PROG_AR triggers
1398         use of ar-lib when the archiver is Microsoft lib.
1399         * tests/ar-lib5b.test: New test, checking that AM_PROG_AR triggers
1400         use of ar-lib when the archiver is a faked lib.
1401         * tests/ar-lib6a.test: New test, checking the ordering of
1402         AM_PROG_AR and LT_INIT.
1403         * tests/ar-lib6b.test: New test, checking the ordering of
1404         AM_PROG_AR and AC_PROG_LIBTOOL.
1405         * tests/ar-lib7.test: New test, checking that automake warns
1406         if ar-lib is missing.
1407         * tests/ar3.test: New test, checking that AR and ARFLAGS may
1408         be overridden by the user even if AM_PROG_AR is used.
1409         * tests/ar4.test: New test, checking that AM_PROG_AR bails out
1410         if it cannot determine the archiver interface.
1411         * tests/ar5.test: New test, checking that AM_PROG_AR runs its
1412         optional argument if it cannot determine the archiver interface.
1413         * tests/defs.in: New required entry 'lib'.
1414         * tests/Makefile.am (TESTS): Update.
1415         * NEWS: Update.
1417 2011-11-03  Zack Weinberg <zackw@panix.com>  (tiny change)
1418             Stefano Lattarini  <stefano.lattarini@gmail.com>
1420         maint-mode: fix botched configure messages
1421         This change fixes automake bug#9890.
1422         * m4/maintainer.m4 (AM_MAINTAINER_MODE): Fix the "checking ..."
1423         configure message related to the enabling/disabling of maintainer
1424         mode.
1425         * tests/help-maintainer.test: Renamed ...
1426         * tests/maintmode-configure-msg.test: ... to this, and extended
1427         to cover the fixed bug.  Also, since we are at it, make grepping
1428         of configure help screens stricter, and throw in some few other
1429         changes to reduce code duplication and enhance readability.
1430         * tests/Makefile.am (TESTS): Update.
1431         * THANKS: Update with Zack's new e-mail address.
1432         Report and initial patch by Zack Weinberg, test cases added by
1433         Stefano Lattarini.
1435 2011-10-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1437         info: allow user to inhibit creation/update of '${infodir}/dir'
1438         With this change, we allow the user to request the install-info
1439         rules not to update the `${infodir}/dir' file, by setting the
1440         environment variable `AM_UPDATE_INFO_DIR' to the value "no".
1441         This is especially useful to distro packagers, and is a definite
1442         improvement over our previous hack of looking whether the
1443         `install-info' program was the Debian or GNU version -- hack
1444         which had been silently broken with recent versions of debian
1445         install-info BTW (probably since dpkg 1.15.4, 2009-09-06).
1446         This change fixes automake bug#9773.  See also Debian Bug#543992.
1447         * lib/am/texinfos.am: Don't look anymore at the output of
1448         `install-info --version' to decide whether to use it to update
1449         the `${infodir}/dir' or not; instead, honour the environment
1450         variable `AM_UPDATE_INFO_DIR'.
1451         * tests/install-info-dir.test: New test.
1452         * tests/Makefile.am (TESTS): Add it.
1453         * tests/defs: Also unset `AM_UPDATE_INFO_DIR', to avoid unwanted
1454         interferences from the environment.
1455         * doc/automake.texi (Texinfo): Update.
1456         * NEWS: Likewise.
1457         * THANKS: Likewise.
1458         Report by Jonathan Nieder.
1460 2011-10-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
1462         test defs: new function 'am_keeping_testdirs', for better APIs
1464         This change is meant to make it easier for TAP-based test scripts
1465         to remove files left over by completed (sub)tests, while still
1466         honoring the user-provided `$keep_testdirs' setting.
1468         * tests/defs (am_keeping_testdirs): New function, telling whether
1469         we should keep the test directories around, even in case of
1470         success (by default, we don't).
1471         (exit trap): Use it.
1472         * tests/depmod.tap: Likewise.
1473         * tests/instspc.tap: Likewise.  Also, fix some pre-existing
1474         "copy & paste" bugs, and a typo in comments.
1476 2011-10-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
1478         tests: remove redundant `set -e', and other minor improvements
1479         * tests/dejagnu-absolute-builddir.test: Do not set the `errexit'
1480         shell flag, as it is already set by `tests/defs'.
1481         * tests/dejagnu-relative-srcdir.test: Likewise.
1482         * tests/dejagnu-siteexp-append.test: Likewise.
1483         * tests/dejagnu-siteexp-useredit.test: Likewise, and fix a typo
1484         in comments.
1485         * tests/dejagnu-siteexp-extend.test: Likewise, and prefer the
1486         use of `$distdir' over hard-coded `$me-1.0'.  Also ...
1487         (write_check_for): ... use `unindent' when writing from an
1488         here-doc, for better code indentation.
1490 2011-10-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
1492         deps: partially revert commit `v1.11-512-geeee551'
1493         This change partly reverts commit "Create subdirs for generated
1494         sources even when not dep tracking", of 2011-04-02.
1495         That commit had caused the bugs #8485 and #8526.  Since we are
1496         nearing the bug-fixing automake release 1.11.2, the safest policy
1497         at the moment is to just revert the problematic hunks: an older,
1498         known bug is better than a regression.
1499         * automake.in (handle_single_transform): Don't add a dirstamp
1500         dependency, even when $object is derived and lands in a subdir.
1501         * tests/Makefile.am (XFAIL_TESTS): Add lex-subobj-nodep.test,
1502         remove yacc-dist-nobuild-subdir.test.
1504 2011-10-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
1506         tests: few improvements to some `ar-lib' related tests
1508         * tests/ar-lib5a.test (Makefile.am): Also check that the target
1509         library has truly been created.
1510         (ar-lib): Use the real `ar-lib' script (mildly patched) rather
1511         than a dummy one, to ensure better "real-life coverage".  Fix
1512         botched shebang line.
1513         * tests/ar-lib5b.test: Extend the PATH variable to make the dummy
1514         `lib' script accessible, instead of explicitly calling it by its
1515         relative/absolute path.
1516         (ar-lib): Fix botched shebang line.
1517         (bin/lib): Likewise.  Also, add explicative comments, and make
1518         slightly stricter.
1520 2011-10-24  Peter Rosin  <peda@lysator.liu.se>
1522         Merge branch 'maint' into msvc
1524         * tests/subpkg-yacc.test: Adjust to new portability requirements due
1525         to the new AM_PROG_AR macro.
1527 2011-10-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
1529         dejagnu: allow the package developer to extend site.exp
1530         Fixes automake bug#7873.
1531         * lib/am/dejagnu.am (site.exp): Depend from the files listed in
1532         $(EXTRA_DEJAGNU_SITE_CONFIG), if any.  Append their contents to
1533         the generated site.exp (still preserving user edits).
1534         * doc/automake.texi (Dejagnu Tests): Update.
1535         * tests/dejagnu-siteexp-append.test: New test.
1536         * tests/dejagnu-siteexp-extend.test: Likewise.
1537         * tests/dejagnu-siteexp-useredit.test: Likewise.
1538         * tests/Makefile.am (TESTS): Update.
1539         * NEWS: Update.
1540         Suggestion by Rainer Orth.
1542 2011-10-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
1544         dejagnu: ensure 'srcdir' is defined as a relative directory
1545         This change fixes automake bug#7833.
1546         * lib/am/dejagnu.am (check-DEJAGNU): Prefer using plain $(srcdir)
1547         over calculating and using the absolute path of $(srcdir).
1548         * tests/dejagnu-relative-srcdir.test: New test.
1549         * tests/dejagnu-absolute-builddir.test: Likewise.
1550         * tests/Makefile.am (TESTS): Update.
1551         Report by Ian Lance Taylor.  Suggestions by Ralf Wildenhues.
1553 2010-12-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1555         Fix testsuite failure of check12.test without DejaGNU.
1556         * tests/check12.test: Require runtest.
1558 2010-12-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
1560         Extend and improve tests on DejaGnu support.
1561         * tests/dejagnu.test: Do not create useless dummy test script.
1562         Add trailing `:' command.  In heading comments, add reference
1563         to ...
1564         * tests/check12.test: ... this new "semantic" test, covering
1565         concurrent use of dejagnu tests, simple tests and `check-local'
1566         target.
1567         * tests/dejagnu2.test: Make test more reliable, by avoid weak
1568         grepping of make output.  Prefer `cat' over `echo' to append
1569         to configure.in.  Quote literal dots in grep regexps.  Prefer
1570         `grep -c ...' over `grep ... | wc -l'.  Make grepping of
1571         automake stderr slightly stricter.  Add trailing `:' command.
1572         * tests/dejagnu3.test: Prefer `cat' over `echo' to append to
1573         configure.in.  Check stderr of expected-to-fail "make" call.
1574         Remove extra blank lines from Makefile.am.
1575         * tests/dejagnu4.test: Prefer `cat' over `echo' to append to
1576         configure.in.  Prefer `mv -f' over plain `mv' when the target
1577         file already exists.  Avoid extra mkdir calls by creating more
1578         directories at once.  Better use of blank lines.  Check that
1579         the `*.log' and `*.sum' files are created by runtest also when
1580         "make check" fails.
1581         * tests/dejagnu7.test: Prefer `cat' over `echo' to append to
1582         configure.in.  Better use of blank lines.  Add a trailing `:'
1583         command.
1584         * tests/dejagnu6.test: Likewise, and give the dejagnu test a
1585         more descriptive name.
1586         * tests/dejagnu5.test: Likewise.  Also, simply define package
1587         name to `$me' rather than using a non-obvious sed script to
1588         extract it from `AC_INIT', and write the Makefile.am with only
1589         one command.
1590         * tests/Makefile.am (TESTS): Updated.
1592 2011-10-21  Peter Rosin  <peda@lysator.liu.se>
1594         * THANKS: Fix whitespace issue.
1596 2011-10-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
1598         tests: fix spurious failures due to missing 'yywrap()' function
1600         The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
1601         the "lex library" expected to provide a `yywrap' function (function
1602         which is required to link most lex-generated programs).  On the
1603         contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
1604         fail, configure declares that no lex library is needed, and simply
1605         proceeds with the configuration process -- only for the build to
1606         possibly fail later, at make time.
1608         This behaviour is intended; the Autoconf manual reads:
1609          ``You are encouraged to use Flex in your sources, since it is
1610            both more pleasant to use than plain Lex and the C source it
1611            produces is portable.  In order to ensure portability, however,
1612            you must either provide a function `yywrap' or, if you don't use
1613            it (e.g., your scanner has no `#include'-like feature), simply
1614            include a `%noyywrap' statement in the scanner's source.''
1616         This AC_PROG_LEX behaviour is causing some spurious failures of
1617         the Automake testsuite in environments which lack a proper library
1618         providing `yywrap' (this happens for example on Fedora-based
1619         systems).   The proper workaround is to simply provide a fall-back
1620         implementation of `yywrap' in our lexers.
1622         See also partially-overlapping commit `v1.11-871-geb147a1' (from
1623         the 'testsuite-work' branch), which was motivated by similar
1624         spurious failures experienced when cross-compiling.
1626         Reported by Jim Meyering:
1627         <http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html>
1629         * tests/cond35.test: Provide a dummy `yywrap' function.
1630         * tests/lex3.test: Likewise.
1631         * tests/lexvpath.test: Likewise.
1632         * tests/silent-lex-generic.test: Likewise.
1633         * tests/silent-lex-gcc.test: Likewise.
1635 2011-10-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
1637         tests: more faithful 'installcheck' support in few tests
1638         * tests/test-driver-acsubst.test: Use the `$am_scriptdir'
1639         variable instead of `$testsrcdir/../lib', to test more
1640         faithfully under "make installcheck".
1641         * tests/test-driver-cond.test: Likewise.
1642         * tests/dist-auxfile.test: Likewise, and add one more use
1643         of `fatal_' to report hard errors.
1644         * tests/tests/dist-auxdir-many-subdirs.test: Likewise.
1646 2011-10-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
1648         tests: remove redundant settings of `errexit' shell flag
1649         * tests/aclocal-path-install-serial.test: Do not set the
1650         `errexit' shell flag, as it is already set by `tests/defs'.
1651         * tests/aclocal-path-install.test: Likewise.
1652         * tests/aclocal-path-nonexistent.test: Likewise.
1653         * tests/aclocal-path-precedence.test: Likewise.
1654         * tests/aclocal-path.test: Likewise.
1655         * tests/dist-auxfile-2.test: Likewise.
1656         * tests/dist-auxfile.test: Likewise.
1657         * tests/distcheck-pr9579.test: Likewise.
1658         * tests/javadir-undefined.test: Likewise.
1659         * tests/subpkg-yacc.test: Likewise.
1660         * tests/test-extensions-cond.test: Likewise.
1661         * tests/test-extensions.test: Likewise.
1662         * tests/uninstall-fail.test: Likewise.
1663         * tests/uninstall-pr9578.test: Likewise.
1664         * tests/distcheck-override-infodir.test: Likewise.  Also,
1665         fix typo in heading comments since we are at it.
1667 2011-10-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
1669         fixup: add forgotten test scripts to $(TESTS)
1670         * tests/list-of-tests.mk: Add various test scripts that are in
1671         the git repository but weren't correctly listed in $(TESTS).
1672         The inconsistency had been caused by botched/incomplete merges,
1673         and revealed by the "maintainer-check-list-of-tests" target.
1675 2011-10-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
1677         tests: fix spurious failure with FreeBSD make and Yacc in VPATH
1678         * tests/subpkg.test: Some cosmetic adjustments.  Move the tests
1679         checking that $(YLWRAP) is defined and installed properly when
1680         ylwrap is in a default auxdir found in a parent package ...
1681         * tests/subpkg-yacc.test: ... into this new test, which carefully
1682         avoids to trigger the known bug#7884 (combo FreeBSD make plus Yacc
1683         plus VPATH build).
1684         * tests/Makefile.am (TESTS): Update.
1686 2011-10-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
1688         tests: avoid spurious failure in 'parallel-tests3.test'
1689         This fixes automake bug#8788.
1690         * tests/parallel-tests3.test: To ensure that the serial run of
1691         the dummy testsuite is still ongoing when the parallel run has
1692         terminated, use `kill -0', not a bare `kill'.  This will prevent
1693         a testsuite crash on NetBSD 5.1, and a testsuite hang on FreeBSD
1694         8.2.  Also, since we are at it, try harder to avoid possible
1695         hangs of the script in other unusual situations.
1697 2011-10-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
1699         tests: fix spurious failures with "chatty" make implementations
1700         * tests/distcheck-missing-m4.test: On failure, some make
1701         implementations (such as Solaris make) print the whole failed
1702         recipe on standard output.  This was causing a spurious failure
1703         in the checks grepping the output from make.  Work around this.
1704         * tests/distcheck-outdated-m4.test: Likewise.
1706 2011-10-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
1708         tests: fix spurious failure on fast machines
1709         * tests/aclocal-path-precedence.test: Also remove the `configure'
1710         script between different test runs, to ensure it is always remade
1711         by autoconf.  Add proper explicative comments.
1713 2011-10-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
1715         tests: avoid spurious failure of 'uninstall-fail.test' on Solaris
1716         * tests/uninstall-fail.test: All the Solaris 10 shells (/bin/sh,
1717         /bin/ksh, and /usr/xpg4/bin/sh), upon failing to chdir to a
1718         directory with the `cd' builtin, print a message like:
1719           "sh: /root: permission denied"
1720         which doesn't report the `cd' builtin anywhere.  Relax the grepping
1721         of the error message accordingly.
1723 2011-10-20  Jim Meyering  <meyering@redhat.com>
1725         tests: fix aclocal-print-acdir.test
1726         * tests/aclocal-print-acdir.test: Adjust to pass.
1728 2011-10-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
1730         tests: avoid spurious failure of 'uninstall-fail.test' on Cygwin
1731         * tests/uninstall-fail.test: Be sure to really skip this test
1732         on systems that allows files to be removed from unwritable
1733         directories.  Motivated by a spurious failure on Cygwin 1.5.
1735 2011-10-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1737         tests: fix spurious failure with autoconf 2.62
1738         * tests/aclocal-path-precedence.test: Rewrite configure.in,
1739         rather than appending to it, to avoid spurious failures (at
1740         least with autoconf 2.62) due to repeated calls to AC_INIT.
1741         Also, add package name and version arguments to AC_INIT, to
1742         avoid spurious errors from automake.
1744 2011-10-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
1746         docs: avoid using colon character inside arguments of @pxref
1747         Fixes automake bug#9753
1748         * doc/automake.texi (VPATH Builds): Avoid using colon character
1749         `:' inside arguments of @pxref, as this can cause problems in
1750         the generated `.info' files, and such an usage will be explicitly
1751         forbidden by future texinfo documentation.
1752         * THANKS: Update.
1753         Reported by Дилян Палаузов.
1755 2011-10-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1757         refactor: improve signature of 'check_directory' sub in automake
1758         * automake.in (check_directory): Take the relative directory
1759         the directory to be checked is expected to be found into as
1760         an optional parameter, rather than reading it from the global
1761         variable `$relative_dir'.
1762         (scan_autoconf_traces, check_directories_in_var): Adjust.
1764 2011-10-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1766         cosmetics: remove obsolete comment
1767         * automake.in (push_required_file): Remove "FIXME" comment stating
1768         that the special handling of `$config_aux_dir' breaks threaded
1769         automake: this is not true anymore after the recent commits (see
1770         in particular commit `v1.11-1225-gf672944').
1772 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1774         tests: fix spurious failure with Solaris /bin/sh
1775         * tests/dist-auxfile.test: Don't use redirected `:' in a loop,
1776         it hits a bug in Solaris 10 /bin/sh.
1778 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1780         threaded-am: better serialization for required config files
1781         With this change, we make serialization/de-serialization of
1782         required config files installs more granular, and in the process
1783         fix the bug introduced by commit `v1.11-1219-g326ecba'.
1784         * automake.in ($required_conf_file_queue): Move its declaration
1785         earlier.
1786         (require_file_internal): Add a new argument telling whether the
1787         function should act immediately or queue its action for the master
1788         thread to handle.
1789         (queue_required_conf_file): Renamed ...
1790         (queue_required_file_check_or_copy): ... to this.
1791         (require_queued_conf_file): Renamed ...
1792         (require_queued_file_check_or_copy): ... to this, and make it call
1793         `required_file_check_or_copy' instead of `require_file_internal'.
1794         (require_conf_file, handle_makefiles_threaded): Adjust and simplify
1795         accordingly.
1796         * tests/Makefile.am (XFAIL_TESTS): Remove `parallel-am.test'.
1798 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1800         automake: refactor, break up 'require_file_internal'
1801         This refactoring is only required in view of future changes.
1802         * automake.in (require_file_internal): Move the guts of this
1803         function ...
1804         (required_file_check_or_copy): ... into this new function.  This
1805         ensures that calls to `push_required_file' and code that copies
1806         required files are placed in separate functions; this will be
1807         very useful for reorganizing de-serialization of file installs
1808         in future changes.
1810 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1812         dist: separate auxiliary file instantiation from DIST_COMMON update
1813         This change simplifies the automake internals dealing with the
1814         checking, copying and distributing of required auxiliary files.
1815         With this change, a required auxiliary file is *unconditionally*
1816         added to the contents of the DIST_COMMON variable in the generated
1817         Makefile.in, before checking whether it exists, or trying to copy
1818         it (if `--add-missing' is in use).  This shouldn't be a problem,
1819         since if the checking or copying of the file fails, automake will
1820         bail out, the Makefile.in won't be created, and thus its content
1821         will not matter.  OK, this is not completely true when threaded
1822         automake is in use, but then, such a situation was also possible
1823         before this patch, so no regression here, which is enough for us.
1824         This change is the first of a series of steps aimed at fixing
1825         the regression introduced in threaded automake usage by commit
1826         `v1.11-1219-g326ecba'.
1827         * automake.in (require_file_internal): Add the required file to
1828         DIST_COMMON unconditionally.
1829         * tests/missing-auxfile-stops-makefiles-creation.test: New test.
1830         * tests/Makefile.am (TESTS): Add it.
1832 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1834         refactor: rename a subroutine to a more proper name
1835         * automake.in (maybe_push_require_file): Renamed ...
1836         (push_required_file): ... to this.
1837         All callers adjusted.
1839 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1841         dist: truly always distribute files in AC_REQUIRE_AUX_FILE
1842         This change fixes automake bug#9651.
1843         * automake.in (handle_dist): Files whose distribution is required
1844         by configure.ac are now correctly distributed even if the build-aux
1845         directory coincides with the top-level directory.
1846         * tests/Makefile.am (XFAIL_TESTS): Remove `dist-auxfile.test'.
1847         * NEWS: Update.
1849 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1851         dist: simplify automake code accordingly to the previous changes
1852         After the previous change `v1.11-1219-g326ecba', every Makefile.am
1853         requiring a file in the "config auxdir" will cause it to be listed
1854         in the DIST_COMMON variable of the corresponding generated
1855         Makefile.in, not only of the top-level Makefile.in.  Thus we don't
1856         need to worry anymore about trying to distribute files in the
1857         config auxdir from the top-level Makefile or the Makefile in
1858         config auxdir (if any).  This allows us to carry out some useful
1859         simplifications in the automake script.
1860         This will however cause some changes in the generated Makefile;
1861         for example, if the `PROGRAMS' primary is used only in a subdir
1862         Makefile.am, the `depcomp' script will be distributed only by
1863         `subdir/Makefile', not by the top-level Makefile.  This change
1864         can be seen as an internal detail though, and definitely warranted
1865         by the nice simplifications the current commit provides.
1866         * automake.in ($automake_will_process_aux_dir): Variable removed.
1867         (scan_autoconf_files): Adjust and simplify.
1868         (handle_makefiles_threaded): Likewise.
1869         (get_number_of_threads): Likewise.
1870         (require_file_internal): Likewise.
1871         (maybe_push_required_file): Its return value is not used anymore,
1872         so return nothing.  Add special handling for distributed files from
1873         `$config_libobj_dir'.  Also, catch "this can't happen" situations,
1874         and abort accordingly.  Fix function description to better fit its
1875         new role.
1876         * tests/libobj19.test: Extend to also check situations where the
1877         Makefile.am using $(LIBOBJS) is not the top-level one.
1878         * tests/distcom6.test: Delete, merged into ...
1879         * tests/distcom2.test: ... this test, which has been update to
1880         account for the changed automake semantics.
1881         * tests/Makefile.am (TESTS): Update.
1882         * NEWS: Update.
1884 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1886         dist: auxiliary files can be distributed from subdir Makefiles
1887         With this change, we make it possible for a subdir Makefile.am
1888         to distribute files in the config auxdir; while this means that
1889         some files might be copied multiple times, it simplify some logic
1890         in the automake script, and fix at least one important bug.  In
1891         fact, before this change, the auxiliary script `test-driver' was
1892         not being distributed as expected when TESTS was defined only in
1893         a subdir Makefile (which is a pretty common setup indeed).  Now
1894         this does not happen anymore: so the present change fixes automake
1895         bug#9546.
1896         Another welcome collateral effect is that `dist-auxfile-2.test'
1897         now passes.
1898         OTOH, the present changes *breaks threaded automake*.  The reason
1899         is that automake needs to serialize file installations spawned
1900         by `--add-missing' (this isn't for cosmetic reasons, but is
1901         really needed to avoid possible race conditions and botched output
1902         files).  Currently the code that installs required files is
1903         intertwined with the code that declares the DIST_COMMON variables;
1904         so, upon de-serialization, the definition of DIST_COMMON might get
1905         emitted in the wrong Makefile.in.
1906         Some follow-up refactoring in automake will soon take care of
1907         remedying this situation.  For the moment, we just declare some
1908         "parallel-am" tests as xfailing.
1909         * automake.in (maybe_push_required_file): Add ad-hoc handling for
1910         the case where the directory part of the required file is different
1911         from the subdir where the current Makefile.am resides, but is equal
1912         to the "config-aux directory" ($config_auxdir).  This is needed to
1913         allow a construct in a non-top-level Makefile.am to require a file
1914         in the config-aux directory.
1915         * tests/test-driver-is-distributed.test: Extend and adjust.  This
1916         test now passes.
1917         * tests/java-compile-run-nested.test: Call automake with the `-a'
1918         option to ensure that the `test-driver' auxiliary script gets
1919         correctly installed.  This test now passes.
1920         * tests/distcom-subdir.test: New test.
1921         * tests/dist-readonly.test: Likewise.
1922         * tests/dist-repeated.test: Likewise.
1923         * tests/dist-auxdir-many-subdirs.test: Likewise.
1924         * tests/distcom7.test: Removed, it's obsolete now.
1925         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
1927 2011-10-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
1929         coverage: conditional contents in LOG_DRIVER variables
1930         * tests/test-driver-cond.test: New test.
1931         * tests/Makefile.am (TESTS): Add it.
1933 2011-10-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
1935         coverage: LOG_DRIVER variables can be defined through AC_SUBST
1936         * tests/test-driver-acsubst.test: New test.
1937         * tests/Makefile.am (TESTS): Add it.
1939 2011-10-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1941         parallel-tests: warn on conditional TEST_EXTENSIONS definition
1942         Before this change, automake would have still bailed out, but
1943         with a confusing error message (about an invalid redefinition
1944         of TEST_EXTENSIONS).
1945         * automake.in (handle_tests): Warn explicitly if TEST_EXTENSIONS
1946         has conditional contents.
1947         * tests/test-extensions-con.test: New test.
1948         * tests/Makefile.am (TESTS): Add it.
1949         * NEWS: Update.
1951 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1953         parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS
1954         Even after the last commit `v1.11-476-g90bea64', the checks
1955         performed by automake on entries in $(TEST_EXTENSIONS) tried to
1956         allow for @substitited@ stuff.  This however ends up allowing
1957         quite brittle setups, which, most importantly, are of no real
1958         practical usefulness anyway.  So it's better to just disallow
1959         @substitutions@ in TEST_EXTENSIONS altogether, offering a clear
1960         error message, instead of risking weird bugs and unexpected
1961         behaviors in the generated Makefile.in.
1962         * automake.in ($TEST_EXTENSION_PATTERN): Turned from a regular
1963         expression ...
1964         (is_valid_test_extension): ... into this subroutine.  Don't allow
1965         generic @substitutions@ anymore (possibly making an exception for
1966         `@EXEEXT@' under the proper circumstances).
1967         * tests/test-extensions.test: Adjust and extend.  This test does
1968         not cause any internal error in automake anymore now.
1970 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1972         tests: fix spurious failure in 'insthook.test'
1973         * tests/insthook.test (Makefile.am): Add a proper `uninstall-hook'
1974         target to remove the symlink created by the `install-exec-hook'
1975         target; this prevents "make distcheck" from failing spuriously.
1976         Since we are at it, delete an extra blank line, and add a trailing
1977         `:' command.
1979 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1981         maintcheck: fix spurious failure
1982         * lib/am/distdir.am: Use `$(infodir)', not `${infodir}', to avoid
1983         complaints from the `sc_no_brace_variable_expansions' maintainer
1984         check.
1986 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1988         tests: fix spurious error in 'test-extensions.test'
1989         * tests/test-extensions.test: Call automake with the option
1990         `--add-missing', to ensure the required script `test-driver'
1991         gets installed.  Note that the test still fails due to an
1992         internal error in automake, though.
1994 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1996         tests: avoid few useless uses of the `-e' make option
1997         * tests/python12.test: Using `make -e' is not required to override
1998         the DESTDIR variable, since this variable shouldn't be defined in
1999         any automake-generated Makefile.in file.
2000         * tests/man2.test: Likewise.
2001         * tests/man5.test: Likewise.
2003 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2005         fix: make a test script executable
2006         * tests/nobase-nodist.test: Make executable.
2008 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2010         coverage: expose automake bug#9651
2011         * tests/dist-auxfile.test: New test, xfailing.
2012         * tests/dist-auxfile-2.test: Likewise.
2013         * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
2015 2011-10-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
2017         parallel-tests: automake error our on invalid TEST_EXTENSIONS
2018         This change fixes automake bug#9400.
2019         * automake.in (handle_tests): Bail out if a suffix specified in
2020         TEST_EXTENSIONS would produce an invalid `xxx_LOG_COMPILER'
2021         variable or an invalid suffix rule.  Before this change, automake
2022         would have issued a confusing error messages (about invalid or
2023         non-POSIX variables being defined), and in some situations would
2024         have even produced a broken `Makefile.in' file.
2025         ($TEST_EXTENSION_PATTERN): New helper variable.
2026         * doc/automake.texi (Simple Tests using parallel-tests): Document
2027         the limitations on TEST_EXTENSIONS explicitly.
2028         * NEWS: Update.
2029         * tests/test-extensions.test: New test.
2030         * tests/Makefile.am (TESTS): Update.
2032 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2034         docs: don't suggest installing `.m4' files in hard-coded location
2035         This change fixes automake bug#7988.
2036         * doc/automake.texi (aclocal Options): State that the use of
2037         the `--print-ac-dir' option to determine the directory where
2038         third-party packages can install their `.m4' files is discouraged
2039         now.
2040         (Extending aclocal): Suggest telling the user about ACLOCAL_PATH.
2041         * THANKS: Update.
2042         Report by Peter Johansson.
2044 2011-09-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
2046         distuninstallcheck: fail also when only one file is left installed
2047         This change fixes automake bug#9579.
2048         * lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring
2049         a potential `dir' file created by install-info and left installed.
2050         Also, be more careful about "this can't happen" kind of errors.
2051         (am__distuninstallcheck_listfiles): New internal helper macro.
2052         * tests/distcheck-pr9579.test: New test.
2053         * tests/distcheck-override-infodir.test: Likewise.
2054         * tests/Makefile.am (TESTS): Add them.
2055         * NEWS, THANKS: Update.
2056         Report by Nick Bowler.
2058 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2060         tap/awk: improve comments about Korn shell signal handling issues
2061         * lib/tap-driver.sh: Link an Austin Group discussion about how
2062         shells are allowed, and even encouraged, to set the special
2063         variable `$?' to values greater than 256 to report termination
2064         of a child by a signal.  Improve and extend comments about our
2065         workarounds for unusual korn shell signals' propagation.
2066         Thanks to Eric Blake for the pointers.
2068 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2070         maintcheck: fix usage of `cd' instead of `$(am__cd)'
2071         * lib/am/inst-vars.am (am__uninstall_files_from_dir): Use
2072         `$(am__cd)', not plain `cd'.
2074 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2076         tap/awk: account for unusual korn shell signal handling behaviour
2077         This change has been motivated by a testsuite failure on Debian
2078         with the AT&T Korn Shell version 93u-1.
2079         * lib/tap-driver.sh: Temporarily ignore some common signals when
2080         waiting for the test command to complete, to avoid premature exit
2081         in Korn shells that propagate to themselves signals that have
2082         killed a child process.
2083         See also related commit `v1.11-1342-g6321ad3'.
2085 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2087         tap/awk: handle exit statuses > 256 (seen on few korn shells)
2088         Some Korn shells, when a child process die due to signal number
2089         n, can leave in $? an exit status of 256+n instead of the more
2090         standard 128+n.  Apparently, both behaviours are allowed by
2091         POSIX, so be prepared to handle them both.
2092         This change has been motivated by a testsuite failure on Debian
2093         with the AT&T Korn Shell version 93u-1.
2094         * lib/tap-driver.sh (get_test_exit_message): Handle the described
2095         Korn Shell behaviour too.
2096         ($scriptversion): Update.
2098 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2100         tests: remove redundant workaround for Solaris /bin/sh
2101         After previous commit `v1.11-1424-g27a399a', some workarounds for
2102         Solaris 10 /bin/sh are no more required, and in fact they have
2103         started causing XPASS results on Solaris.
2104         * tests/tap-signal.tap: Remove unneeded workarounds for Solaris 10
2105         /bin/sh.  Some related minor code reorganizations.
2107 2011-09-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
2109         uninstall: "make uninstall" before "make install" works
2110         This change fixes automake bug#9578.
2111         * lib/am/inst-vars.am (am__uninstall_files_from_dir): New internal
2112         macro, that defines a shell code fragment to uninstall files from
2113         a given directory.
2114         * lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use it, to reduce code
2115         duplication and improve consistency and correctness.
2116         * lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise.
2117         * lib/am/lisp.am (uninstall-%DIR%LISP): Likewise.
2118         * lib/am/mans.am (uninstall-man%SECTION%): Likewise.
2119         * lib/am/python.am (uninstall-%DIR%LIBRARIES): Likewise.
2120         * lib/am/scripts.am (uninstall-%DIR%SCRIPTS): Likewise.
2121         * tests/uninstall-pr9578.test: New test.
2122         * tests/uninstall-fail.test: New test.
2123         * tests/Makefile.am (TESTS): Add them.
2124         * NEWS, THANKS: Update.
2125         Report by Nick Bowler.
2127 2011-09-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
2129         tests: fix tests on aclocal search path precedences
2130         * tests/aclocal-path-precedence.test: Call `$ACLOCAL' with the
2131         proper overridden system acdir.
2133 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2135         tests: fix spurious failures in tests on TAP + signals
2136         * tests/tap-signal.tap: Write the dummy test scripts as perl
2137         scripts, not as shell scripts, to work around unportabilities
2138         in the handling of signals.  In fact, even with bash, the older
2139         script were unable to properly deliver a SIGQUIT to themselves
2140         consistently.
2142 2011-09-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
2144         tests: fix spurious failure in test on ACLOCAL_PATH precedences
2145         * tests/aclocal-path-precedence.test: Do not merely append to
2146         `configure.in', it should be created from scratch.  Pass package
2147         name and version to AC_INIT as arguments, otherwise autoconf will
2148         complain.
2150 2011-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
2152         docs: remove mention of deprecated option `--acdir'
2153         * doc/automake.texi (aclocal Options): Remove mention of
2154         deprecated `--acdir' option.
2156 2011-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
2158         * NEWS: Cleanup after botched merges.
2160 2011-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
2162         * NEWS: Fix typo.
2164 2011-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
2166         docs: document planned precedence changes in aclocal search path
2167         * doc/automake.texi (Macro Search Path): Explicitly state that the
2168         lookup order for extra directories of `.m4' files will be changed
2169         in the next major release.
2170         * NEWS: Likewise.
2172 2011-09-19  Paolo Bonzini  <bonzini@gnu.org>
2173             Stefano Lattarini  <stefano.lattarini@gmail.com>
2175         aclocal: handle ACLOCAL_PATH environment variable
2176         * aclocal.in (parse_ACLOCAL_PATH): New function, parse ACLOCAL_PATH
2177         as a colon-separated list of directories to be included in the
2178         search path.
2179         * doc/automake.texi (Macro Search Path): Document new behavior and
2180         the precedence rules for various elements of the search path.
2181         * tests/aclocal-path.test: New test.
2182         * tests/aclocal-path-install.test: Likewise.
2183         * tests/aclocal-path-install-serial.test: Likewise.
2184         * tests/aclocal-path-precedence.test: Likewise.
2185         * tests/aclocal-path-nonexistent.test: Likewise.
2186         * tests/Makefile.am (TESTS): Add them.
2187         * NEWS: Update.
2188         * tests/distcheck-missing-m4.test: Extend by also checking
2189         interactions with ACLOCAL_PATH.
2190         * tests/distcheck-outdated-m4.test: Likewise, and fix a couple
2191         of botched comments since we are at it.
2193 2011-09-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
2195         tests: fix spurious failure in 'primary-prefix-valid-couples.test'
2196         * tests/primary-prefix-valid-couples.test: After commit
2197         v1.11-464-gc9dfc36, `java_JAVA' is not a valid prefix/primary
2198         combination by default anymore: one has to explicitly define
2199         $(javadir) to make it so.  So just drop `java_JAVA' from our
2200         Makefile.am  Also, since we are at it, ...
2201         (configure.in): ... remove AM_PROG_GCJ from here, as it's not
2202         really required.
2204 2011-09-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
2206         docs: deprecate JAVA primary
2207         * doc/automake.texi (Java): Deprecate the JAVA primary, stating
2208         that it will become obsolete in automake 1.12 and probably removed
2209         altogether in automake 1.13.  Reflect this in the section title,
2210         by appending the string "(deprecated feature)".
2211         (@menu, @detailmenu): Update.
2212         (Java Support with gcj): The cross-referenced support for bytecode
2213         compilation with the JAVA primary is rudimentary and deprecated.
2214         State that explicitly.
2216 2011-09-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
2218         docs: clearer distinction between `.java' with javac and with gcj
2219         * doc/automake.texi (Java support): Rename this node ...
2220         (Java support with gcj): ... to this, and change its title from
2221         "Compiling Java sources" to "Compiling Java sources using gcj".
2222         (@detailmenu, @menu, @cindex): Update and make more precise.
2223         (Java): Change the title of this node from simply "Java" to
2224         "Java bytecode compilation".
2225         (@detailmenu, @menu, @cindex): Update and make more precise.
2227 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2229         java: complain if java_JAVA is used but $(javadir) is undefined
2230         Fixes automake bug#8461.
2231         * automake.in (handle_java): Remove inappropriate "java" argument
2232         from the calls to `&am_install_var' and `&am_primary_prefixes'.
2233         * tests/instdir-java.test (Makefile.am): Define `$(javadir)'.
2234         * tests/javadir-undefined.test: New test.
2235         * tests/Makefile.am (TESTS): Add it.
2236         * NEWS: Update.
2238 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2240         parallel-tests: expose automake bug#9546
2241         * tests/test-driver-is-distributed.test: New test.
2242         * tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
2244 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2246         py-compile tests: more faithful 'installcheck' support
2247         * tests/py-compile-basedir.test: Use the `$am_scriptsdir' variable
2248         instead of `$testsrcdir/../lib', to test more faithfully under
2249         "make installcheck".  More uses of the `fatal_' subroutine to
2250         diagnose hard errors.
2251         * tests/py-compile-basic.test: Likewise.
2252         * tests/py-compile-basic2.test: Likewise.
2253         * tests/py-compile-destdir.test: Likewise.
2254         * tests/py-compile-env.test: Likewise.
2255         * tests/py-compile-option-terminate.test: Likewise.
2256         * tests/py-compile-usage.test: Likewise.
2258 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2260         tests: remove redundant settings of `errexit' shell flag
2261         * tests/aclocal-acdir.test: Do not set the `errexit' shell
2262         flag, as it is already set by `tests/defs'.
2263         * tests/aclocal-print-acdir.test: Likewise.
2264         * tests/distcheck-missing-m4.test: Likewise.
2265         * tests/distcheck-outdated-m4.test: Likewise.
2266         * tests/java-clean.test: Likewise.
2267         * tests/java-compile-install.test: Likewise.
2268         * tests/java-compile-run-flat.test: Likewise.
2269         * tests/java-compile-run-nested.test: Likewise.
2270         * tests/java-mix.test: Likewise.
2271         * tests/java-no-duplicate.test: Likewise.
2272         * tests/java-nobase.test: Likewise.
2273         * tests/java-rebuild.test: Likewise.
2274         * tests/java-sources.test: Likewise.
2275         * tests/java-uninstall.test: Likewise.
2276         * tests/javaflags.test: Likewise.
2277         * tests/nobase-nodist.test: Likewise.
2278         * tests/py-compile-basedir.test: Likewise.
2279         * tests/py-compile-basic.test: Likewise.
2280         * tests/py-compile-basic2.test: Likewise.
2281         * tests/py-compile-destdir.test: Likewise.
2282         * tests/py-compile-env.test: Likewise.
2283         * tests/py-compile-option-terminate.test: Likewise.
2284         * tests/py-compile-usage.test: Likewise.  Since we are at it,
2285         add an extra blank line, for clarity.
2287 2011-09-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
2289         automake: remove special handling of `ANSI2KNR' make variable
2290         * automake.in (define_configure_variable): Remove special-cased
2291         handling of `ANSI2KNR' variable.  Related minor simplifications.
2293 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2295         coverage: test interactions of `nobase_' and `nodist_'
2296         * tests/nobase-nodist.test: New test.
2297         * tests/Makefile.am (TESTS): Add it.
2299 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2301         java: fix various blunders in test 'java-mix.test'
2302         * tests/java-mix.test: Add missing call to `set -e'.  Fix inverted
2303         semantics (`.java' files are expected *not* to be distributed by
2304         default, not the other way round).  Fix various typos in the name
2305         of the `.java' files.  Correct other minor blunders.  Improve some
2306         comments.
2308 2011-09-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
2310         automake: remove code duplication in 'handle_tests'
2311         * automake.in (handle_tests): Factor out some code dealing with
2312         test extensions and rules for generation of `.log' files into ...
2313         (handle_per_suffix_test): ... this new subroutine.
2314         * tests/parallel-tests-exeext.test: New test.
2315         * tests/Makefile.am (TESTS): Update.
2317 2011-09-13  Peter Rosin  <peda@lysator.liu.se>
2319         * tests/defs [$sh_errexit_works = yes]: Output 'SIGINT' for signal 2.
2321 2011-09-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2323         self tests: work around 'unset' spurious non-zero return value
2324         * tests/self-check-exit.tap ($init): Unset the possibly already
2325         unset variable `am_explicit_skips' when the `errexit' shell flag
2326         is not yet active, for the benefit of shell that return a non-zero
2327         status when unsetting an already-unset variable.
2329 2011-09-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2331         tests: an explicative comment on signal-related woes
2332         * tests/self-check-exit.tap: Add pointer to a bug-autoconf
2333         discussion explaining why this test needs to temporarily block
2334         SIGINT.
2336 2011-09-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2338         tests: also trap SIGQUIT; other fixes
2339         Some shells seems to just ignore SIGQUIT under some circumstances,
2340         even when it is not blocked; however, if the signal it trapped,
2341         the trap gets correctly executed.
2342         * tests/defs [$sh_errexit_works = yes]: Also trap SIGQUIT. Add
2343         extensive explanation of why we do so.
2344         * tests/self-check-cleanup.tap: Improve and fix to ensure that an
2345         earlier failure does not prevent the rest of the test to execute.
2346         Problem revealed by a failure in `self-check-cleanup.tap'.
2348 2011-09-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2350         test defs: work around weird ksh behaviour w.r.t. signal handling
2351         * tests/defs (is_blocked_signal): Use perl to determine whether a
2352         signal is trapped, since trying to do it portably within the shell
2353         means opening a nasty can of worms.
2354         For more information and background, see:
2355          <http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html>
2356          <http://mail.opensolaris.org/pipermail/ksh93-integration-discuss/2009-February/004121.html>
2357          <http://www.cons.org/cracauer/sigint.html>
2359 2011-09-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
2361         cosmetics: fix various typos and grammaros
2362         * NEWS: Fix typos.
2363         * tests/py-compile-basic.test: Likewise.
2364         * tests/py-compile-basedir.test: Fix botched wording in comments.
2365         * tests/py-compile-option-terminate.test: Fix typo and incomplete
2366         comment.
2367         Suggestions by Peter Rosin.
2369 2011-09-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
2371         tests: remove redundant line from a test script
2372         * tests/test-log.test (fail.test): Remove extra `echo' command,
2373         probably due to a past copy&paste blunder.
2375 2011-09-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
2377         tests: convert another test to TAP
2378         * tests/primary-prefix-invalid-couples.test: Renamed ...
2379         * tests/primary-prefix-invalid-couples.tap: ... to this, and
2380         converted to the use of the TAP protocols (this requires only
2381         very minimal changes this time).
2382         * tests/list-of-tests.mk: Update.
2384 2011-09-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
2386         tests: fix spurious failure on fast machines
2387         * tests/aclocal-acdir.test: Avoid spurious failures due to caching
2388         issues, by cleaning the autom4te cache between all the aclocal
2389         invocations, and by always calling autoconf with the `--force'
2390         flag.
2392 2011-09-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
2394         tests: minor optimizations/simplifications in some aclocal tests
2395         * acloca11.test: Instead of running ./configure and then grepping
2396         the file it has produced, directly grep configure.  Add trailing
2397         `:' command.
2398         * acloca12.test: Likewise.
2399         * acloca10.test: Likewise.  Also, remove the autom4te caches
2400         by hand, instead of sleeping to ensure they get outdated and
2401         ignored.
2402         * aclocal9.test: Likewise.
2403         * acloca18.test: Likewise.  Also, do not remove file `foo',
2404         which is not being created anymore.
2405         * acloca20.test: The test makes sense only if the system support
2406         real symlinks, so skip it if this is not the case.  This allows
2407         for various simplifications.
2409 2011-09-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
2411         prove: avoid weird signal-related bug
2412         * tests/defs (trap): In the trap code dealing with SIGPIPE
2413         signal, ignore further signals of the same kind.
2414         See also Test::Harness issue [rt.cpan.org #70855], archived at
2415         <https://rt.cpan.org/Ticket/Display.html?id=70855>
2417 2011-09-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
2419         tests: allow use of `prove' to run automake testsuite
2420         * tests/prove-runner: New helper script; mostly it wraps
2421         our `*.test' test scripts to make them runnable by the
2422         `prove' utility.
2423         * tests/Makefile.am (EXTRA_DIST): Distribute it.
2424         (PROVE, AM_PROVEFLAGS, AM_PROVECMD): New variables.
2425         (prove, installprove): New targets, used run the automake
2426         testsuite through the `prove' utility.
2427         * tests/gen-testsuite-part: For any considered dependency,
2428         generate a variables that groups all the tests depending on
2429         it.  This is especially useful for use in the new `prove'
2430         and `installprove' targets, which cannot rely on make for
2431         inter-test dependencies, and have to handle them "by hand".
2433 2011-09-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
2435         tests defs: more namespace-safeness
2436         ($using_tap): Renamed ...
2437         ($am_using_tap): ... to this.
2438         ($parallel_tests): Renamed ...
2439         ($am_parallel_tests): ... to this.
2440         ($test_prefer_config_shell): Renamed ...
2441         ($am_test_prefer_config_shell): ... to this.
2442         ($original_AUTOMAKE): Renamed ...
2443         ($am_original_AUTOMAKE): ... to this.
2444         ($original_ACLOCAL): Renamed ...
2445         ($am_original_ACLOCAL): ... to this.
2446         * tests/defs, tests/defs-static.in, tests/gen-testsuite-part,
2447         tests/README, and all callers: Adjusted.
2448         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Adjust, and rewrite
2449         to make future adjustments easier.
2450         * tests/defs (funcs_file_): Renamed ...
2451         (am_funcs_file): ... to this.
2452         * Makefile.am (sc_tests_obsolete_variables): New maintainer
2453         check.
2454         (syntax_check_rules): Add it.
2456 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
2458         aclocal: better URL reference in error message
2459         * aclocal.in (scan_file): In the error message about underquoted
2460         definitions, reference the automake page at `www.gnu.org', not
2461         at `sources.redhat.com'.
2463 2011-09-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
2465         tests: avoid creating useless files in some test directories
2466         * tests/aclocal.test: Define `$am_create_testdir' to "empty"
2467         before sourcing ./defs, to avoid bringing in unused auxiliary
2468         files.  Related adjustments.
2469         * tests/aclocal3.test: Likewise.
2470         * tests/aclocal8.test: Likewise.
2471         * tests/aclocal9.test: Likewise.
2472         * tests/acloca10.test: Likewise.
2473         * tests/acloca11.test: Likewise.
2474         * tests/acloca12.test: Likewise.
2475         * tests/acloca15.test: Likewise.
2476         * tests/acloca16.test: Likewise.
2477         * tests/acloca17.test: Likewise.
2478         * tests/acloca18.test: Likewise.
2479         * tests/acloca20.test: Likewise.
2480         * tests/acloca21.test: Likewise.
2481         * tests/acloca23.test: Likewise.
2482         * tests/aclocal-print-acdir.test: Likewise.
2483         * tests/ar-lib.test: Likewise.
2484         * tests/compile.test: Likewise.
2485         * tests/compile2.test: Likewise.
2486         * tests/compile3.test: Likewise.
2487         * tests/compile6.test: Likewise.
2488         * tests/instsh2.test: Likewise.
2489         * tests/instsh3.test: Likewise.
2490         * tests/mdate5.test: Likewise.
2491         * tests/mdate6.test: Likewise.
2492         * tests/missing3.test: Likewise.
2493         * tests/missing5.test: Likewise.
2494         * tests/mkinst3.test: Likewise.
2495         * tests/self-check-explicit-skips.test: Likewise.
2496         * tests/self-check-report.test: Likewise.
2497         * tests/self-check-sanity.test: Likewise.
2498         * tests/tap-driver-stderr.test: Likewise.
2500 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
2502         test defs: more environment cleanup
2503         * tests/defs: Also unset the XFAIL_TESTS, and various
2504         LOG_DRIVER, LOG_COMPILER variables (and corresponding
2505         flags variable).
2507 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
2509         tests: allow depmod.tap to only run a subset of its tests
2510         * tests/depmod.tap: If command-line arguments are passed to the
2511         tests, they are now taken as the list of test names for which the
2512         checks are to be run.
2514 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
2516         tests: allow instspc.tap to only run a subset of its tests
2517         * tests/instspc.tap: If command-line arguments are passed to the
2518         tests, they are now taken as the list of test names for which the
2519         checks are to be run.
2521 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
2523         coverage: distcheck-hook to catch missing/outdated *.m4 files
2524         Related to automake bug#9037.
2525         * tests/distcheck-missing-m4.test: New test.
2526         * tests/distcheck-outdated-m4.test: Likewise.
2527         * tests/distcheck-hook-m4.am: New data file, used by the new
2528         tests.
2529         * tests/Makefile.am (distcheck-m4-missing.log,
2530         distcheck-m4-outdated.log): Depend on it.
2531         (EXTRA_DIST): Distribute it.
2532         (TESTS): Add the new tests.
2534 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2536         tests: more granularity in variables for tools overriding
2537         Among the other things, this change makes it possible to use, at
2538         the same time, an autoconf version in the automake testsuite and
2539         another one in the automake build system; even more importantly, it
2540         makes it possible to use, say, a non-GNU make implementation in the
2541         test scripts, while at the same time using GNU make to drive the
2542         execution of the automake's test suite.
2543         * tests/defs-static.in (TEX, EGREP, FGREP, SHELL, PERL, MAKE,
2544         AUTOCONF, AUTOM4TE, AUTORECONF, AUTOHEADER, AUTOUPDATE,
2545         original_AUTOMAKE, original_ACLOCAL): Allow and prefer overriding
2546         through corresponding `AM_TESTSUITE_..' variables; for example,
2547         $GREP can now be overridden by an exported `$AM_TESTSUITE_GREP'
2549 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2551         testsuite: fix `skip_row_' subroutine in tap-functions.sh
2552         * tests/tap-functions.sh (skip_row_): Use `seq_', not `seq', to
2553         be portable to non-GNU systems.
2554         Bug revealed by a testsuite error on Solaris.
2556 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2558         installcheck: support it in our own testsuite
2559         * NEWS: Update.
2560         * tests/defs-static.in ($am_running_installcheck): New variable.
2561         Initialize it to a default of "no", and sanity-check its value.
2562         ($am_datadir, $am_docdir, $am_automake_acdir, $am_system_acdir,
2563         $am_bindir, $am_scriptdir, $am_pkgvdir): New variables,
2564         initialized from AC_SUBST'ed values which are adaptively chosen
2565         depending on whether the testsuite is running in "simple" mode
2566         or in "installcheck" mode.
2567         ($MISSING): Remove, it's not really required by the testsuite.
2568         ($PATH): Update using `$am_bindir', not `$testbuilddir'.
2569         * Makefile.am (installcheck-local): New target.
2570         * lib/Automake/tests/Makefile.am (installcheck-local): New target.
2571         (AM_TESTS_ENVIRONMENT, AM_PL_LOG_FLAGS): Adaptively choose the
2572         `-I' flags for perl based on whether the tests are being run by
2573         "make check" or "make installcheck".
2574         * tests/Makefile.am (installcheck-local): New target.
2575         (defs-static): Generate it at make time, not at configure time,
2576         in order to correctly resolve all the indirections in the
2577         AC_SUBST'd variables; done with the help of ...
2578         (do_subst): ... this new macro.
2579         (EXTRA_DIST): Explicitly distribute `defs-static.in'.
2580         (CLEANFILES): Remove `defs-static'.
2581         * configure.ac (AC_CONFIG_FILES): Remove `tests/defs-static'.
2582         (AC_SUBST): Substitute also `automake_acdir', `system_acdir',
2583         `scriptdir' and `amdir' to proper values.
2584         * lib/Makefile.am (scriptdir):  Don't explicitly define anymore.
2585         * lib/am/Makefile.am (amdir): Likewise.
2586         * m4/acdir/dirlist: Remove, it's not needed anymore.  Instead
2587         use ...
2588         * m4/acdir/.placeholder: ... this file.
2589         * m4/Makefile.am (EXTRA_DIST): Update.
2590         (automake_acdir, system_acdir): Don't explicitly define anymore.
2591         * tests/aclocal-print-acdir.test: Use new `$am_...dir' variables,
2592         instead of hard-coding values with $testsrcdir and $testbuilddir,
2593         to test more faithfully under "make installcheck".
2594         * tests/amhello-binpkg.test: Likewise.
2595         * tests/amhello-cflags.test: Likewise.
2596         * tests/amhello-cross-compile.test: Likewise.
2597         * tests/ansi2knr-no-more.test: Likewise.
2598         * tests/autodist-stamp-vti.test: Likewise.
2599         * tests/auxdir.test: Likewise.
2600         * tests/check2.test: Likewise.
2601         * tests/copy.test: Likewise.
2602         * tests/multlib.test: Likewise.
2603         * tests/obsolete.test: Likewise.
2604         * tests/parallel-tests-interrupt.test: Likewise.
2605         * tests/repeated-options.test: Likewise.
2606         * tests/suffix5.test: Likewise.
2607         * tests/tap-doc2.test: Likewise.
2608         * tests/txinfo22.test: Likewise.
2609         * tests/vtexi3.test: Likewise.
2610         * tests/defs: Likewise.  Also, print the values of `$using_tap'
2611         and `$am_running_installcheck', to simplify debugging, and do
2612         some related code movings and tweakings.
2613         * tests/aclocal3.test: Update to avoid possible spurious failures
2614         when running under "make installcheck".
2615         * tests/warnings-unknown.test: Likewise.
2616         * tests/location.test: Likewise, and improve debugging input since
2617         we are at it.
2618         * tests/acloca10.test: Adapt and tweak to work also during a
2619         "make installcheck", and not to require a pre-populated `dirlist'
2620         file.
2621         * tests/acloca18.test: Likewise.
2622         * tests/dirlist2.test: Likewise.
2623         * tests/dirlist.test: Likewise, and remove an obsolete comment.
2624         * tests/README: Update.
2625         * tests/dirlist-abspath.test: New test.
2626         * tests/list-of-tests.mk: Update.
2628 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2630         maintcheck: fix spurious failures
2631         * tests/gen-testsuite-part (write_wrapper_script): More uses of
2632         creative quoting in the generated tests, to avoid triggering
2633         failures in the `sc_tests_Exit_not_exit' maintcheck.
2634         * Makefile.am (sc_tests_tap_plan): It's OK for auto-generated
2635         TAP tests that sources an hand-written one not to declare a TAP
2636         plan: the sourced test will do so.
2637         * tests/Makefile.am (checked_test_extensions): Don't define
2638         anymore, the default value `$(TEST_EXTENSIONS)' is correct now.
2639         (expected_list_of_tests): Don't define anymore, the default
2640         value `$(TESTS)' is correct now.
2642 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2644         aclocal: more granularity in acdir overriding
2645         Before this change, using the `--acdir' option caused aclocal to
2646         redefine both the directory of automake-provided m4 macros and the
2647         directory of third-party system-wide m4 macros.  With this change,
2648         we deprecate the `--acdir' aclocal option, and introduce two new
2649         options `--automake-acdir' and `--system-acdir', to allow for more
2650         granularity.
2651         * aclocal.in (@automake_includes, @system_includes,
2652         @user_includes): Fix and extend comments.
2653         (usage): Update.
2654         (handle_acdir_option): New function.
2655         (parse_arguments): Recognize new options `--system-acdir' and
2656         `automake-acdir', and handle `--acdir' using the new function
2657         above.  Simplify logic by assuming that the directory of
2658         third-party system-wide m4 files always exists.
2659         * tests/aclocal.in: Update to use the new options, instead of
2660         the deprecated. `--acdir'.
2661         * m4/dirlist: Move ...
2662         * m4/acdir/dirlist: ... here.
2663         * m4/Makefile.am (EXTRA_DIST): Update.
2664         (m4datadir): Rename ...
2665         (automake_acdir): ... to this.  Accordingly, ...
2666         (dist_m4data_DATA): ... rename this ...
2667         (dist_automake_ac_DATA): ... to this.
2668         (system_acdir): New, directory.
2669         (dist_system_ac_DATA): New, defined to an empty value; this will
2670         ensure that the $(system_acdir) directory will be created by
2671         "make install".
2672         * tests/aclocal.test: Remove check about the `--print-ac-dir'
2673         option of aclocal, it has been moved into ...
2674         * tests/aclocal-print-acdir.test: ... this new test, and quite
2675         extended.
2676         * tests/aclocal-acdir.test: New test.
2677         * tests/Makefile.am (TESTS): Add the new tests.
2678         * NEWS, bootstrap: Update.
2679         * doc/automake.texi (aclocal Options, Macro Search Path): Update.
2681 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2683         cosmetic: rename gen-tests-deps -> gen-testsuite-part
2684         * tests/gen-tests-deps: Renamed ...
2685         * tests/gen-testsuite-part: ... to this.
2686         * bootstrap: Update.
2687         * tests/Makefile.am ($(srcdir)/tests-deps.am): Don't generate
2688         nor include this ...
2689         ($(srcdir)/testsuite-part.am): ... do with this instead.
2690         * tests/.gitignore (tests-deps.am): Don't ignore this ...
2691         (testsuite-part.am): ... ignore this instead.
2693 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2695         testsuite: revamp generation of autogenerated tests
2696         With this change, we make generated tests be real scripts again
2697         -- albeit only thin layers around the tests they wrap.  It turned
2698         out that the apparently clever tricks we played by having lots
2699         of custom (and auto-generated) `..._LOG_COMPILER' variables and
2700         by having the tests in $(wrap_TESTS) not being real on-file-system
2701         scripts caused more pain and confusion than expected, for only
2702         marginal gains.  Also, that previous setup didn't interact very
2703         well with "make check RECHECK_LOGS=", since the log files for
2704         the "wrappee" tests were always considered out-of-date (which in
2705         hindsight is natural, since these log files depended on wrappee
2706         tests that didn't exist -- and weren't created).  And finally, it
2707         wasn't possible to easily and naturally run the wrappee tests
2708         from the command line -- definitely harmful for debugging and
2709         sanity checking.
2710         * tests/gen-wrap-tests: Deleted, its role subsumed into ...
2711         * tests/gen-tests-deps: ... this script, with the help of
2712         (unindent, atomic_write, build_matcher, write_wrapper_script,
2713         %test_generators): ... these new functions and variables.
2714         Other few minor fixlets and improvements.
2715         * tests/wrap-tests.sh: Delete, not needed anymore.
2716         * tests/Makefile.am ($(srcdir)/wrap-tests.am): Don't generate
2717         nor include anymore.
2718         (EXTRA_DIST): Update.
2719         (wrap_TESTS): Renamed to ...
2720         (generated_TESTS): ... this.
2721         ($(generated_TESTS)): Must have the same dependencies of
2722         `$(srcdir)/tests-deps.am'.
2723         Other minor related reordering and adjustments.
2724         * bootstrap: Do not generate `wrap-tests.am' anymore.
2725         * tests/.gitignore (wrap-tests.am): Don't ignore anymore.
2726         (*-w.test, *-w.tap): Ignore.
2727         * tests/README: Update paragraph on automatically-generated
2728         tests.
2730 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2732         testsuite: automatize generation of dependencies for tests
2733         * tests/gen-test-deps: New script, automatically generates
2734         dependencies for the tests.
2735         * tests/Makefile.am (EXTRA_DIST): Distribute it.
2736         ($(srcdir)/tests-deps.am): New rule.
2737         (include $(srcdir)/tests-deps.am): New inclusion.
2738         Remove hand-written dependencies for tests.  Other related
2739         updates.
2740         * tests/list-of-tests (tap_with_common_setup_TESTS,
2741         tap_other_TESTS): Delete, their content merged back into ...
2742         (handwritten_TESTS): ... this.
2743         * tests/.gitignore (tests-deps.am): New ignored file.
2744         * bootstrap: Generate `tests/tests-deps.am'.
2746 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2748         tests: avoid spurious failure due to bug in older TAP::Parser
2749         Older TAP::Parser versions (e.g., 3.10) erroneously convert a test
2750         number `0' into `1'; do not let this bug cause a spurious failure
2751         in our testsuite.
2752         * tests/tap-test-number-0.test: Skip if the aforementioned
2753         TAP::Parser bug is detected.
2755 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2757         tap/perl: be more portable to older perl versions
2758         * lib/tap-driver.pl (trap_perl_warnings_and_errors): Do not use
2759         the three-args version of the `open' builtin, it is not well
2760         supported by older perl versions (at least perl 5.6.2).
2761         (start): Add a no-op statement to pacify a "possible typo ... used
2762         only once" perl warning.
2764 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2766         tap/perl: be more portable to older TAP::Parser versions
2767         * lib/tap-driver.pl (start): Do not call the `ignore_exit' method
2768         on our TAP parser: it is not supported in older TAP::Parser
2769         versions (e.g., 3.10), and is not really required by our usage of
2770         the parser object.
2772 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2774         tests: fix spurious Cygwin failure of a test on TAP support
2775         * tests/tap-bad-prog.tap (noexec.test): Add forgotten `echo'.
2776         When trying to run it, redirect its output to /dev/null, to
2777         avoid confusing automake's testsuite own TAP driver.
2779 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2781         test defs: fix glitch in TAP version of `warn_' function
2782         * tests/tap-functions.sh (warn_): Do not display the warning
2783         message two times.
2785 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2787         tests: fix another spurious failure due to ignored signals
2788         * tests/tap-signal.test: Renamed ...
2789         * tests/tap-signal.tap: ... to this, converted to the use of the
2790         TAP protocol, and improved not to try to use/trap signals that
2791         are ignored by the parent shell (they will be forcibly ignored
2792         by all the child processes too).  Extend the test a bit since we
2793         are at it.
2794         * tests/list-of-tests.mk: Update.
2796 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2798         tests: fix a spurious failure due to lacking Fortran compilers
2799         * tests/silent-many-generic.test (configure.in): Cause the test
2800         to be skipped if `configure' fails to find working C++, Fortran
2801         and Fortran 77 compilers.
2803 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2805         self tests: more use of TAP
2806         * tests/self-check-reexec.test: Renamed ...
2807         * tests/self-check-reexec.tap: ... to this, converted to the
2808         use of TAP protocol, and extended a bit.
2809         * tests/self-check-seq.test: Renamed ...
2810         * tests/self-check-seq.tap: ... to this, and converted to the
2811         use of TAP protocol.
2812         * tests/list-of-tests.mk: Update.
2814 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2816         self tests: fix spurious failures when /bin/ksh do not exists
2817         * tests/self-check-reexec.test: Ensure that the non-bash shells
2818         we look do really exists.  Since we are at it, also try the name
2819         `ash', non `dash', for the Almquist Shell, for Cygwin 1.5.
2821 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2823         tests: more use of TAP in our own testsuite
2824         * tests/parallel-tests-interrupt.test: Renamed ...
2825         * tests/parallel-tests-interrupt.tap: ... to this, and converted
2826         to the use of TAP protocol.
2827         * tests/self-check-cleanup.test: Renamed ...
2828         * tests/self-check-cleanup.tap: ... to this, and converted to the
2829         use of TAP protocol.
2830         * tests/self-check-dir.test: Renamed ...
2831         * tests/self-check-dir.tap: ... to this, and converted to the use
2832         of TAP protocol.
2833         * tests/self-check-is_newest.test: Renamed ...
2834         * tests/self-check-is_newest.tap: ... to this, and converted to
2835         the use of TAP protocol.
2836         * tests/self-check-unindent.test: Renamed ...
2837         * tests/self-check-unindent.tap: ... to this, and converted to
2838         the use of TAP protocol.
2839         * tests/list-of-tests.mk: Update.
2841 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2843         self tests: sanity check on 'is_blocked_signal' function
2844         * tests/self-check-is-blocked-signal.tap: New test.
2845         * tests/list-of-tests.mk: Update.
2847 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2849         tests: fix spurious failures due to ignored signals
2850         * tests/defs (is_blocked_signal): New function.
2851         * tests/parallel-tests-interrupt.test: Do not try to use/trap
2852         signals that are ignored by the parent shell: they will be
2853         ignored by all the child processes too.
2854         * tests/self-check-exit.test: Likewise.
2855         * tests/self-check-cleanup.test: Likewise, and do few minor
2856         improvements and extensions since we are at it.
2858 2011-09-05  Peter Rosin  <peda@lysator.liu.se>
2860         * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
2862 2011-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
2864         fix: list test 'vala-vpath.test' in XFAIL_TESTS
2865         * tests/Makefile.am (XFAIL_TESTS): Update.
2867 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2869         tests: simplify wrapper for aclocal
2870         * tests/aclocal.in: Remove use of $ACLOCAL_TESTSUITE_FLAGS and
2871         extra `-I' flags; they are not really required, since the file
2872         `m4/amversion.m4' is generated in the srcdir anyway.
2873         * tests/acloca10.test: Remove use of $ACLOCAL_TESTSUITE_FLAGS.
2874         * tests/acloca18.test: Likewise.
2875         * tests/defs.in: Don't nullify $ACLOCAL_TESTSUITE_FLAGS, and do
2876         not export it.
2878 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2880         tests: remove redundant settings of `errexit' shell flag
2881         * doc-parsing-buglets-colneq-subst.test: Do not set the
2882         `errexit' shell flag, as it is already set by `tests/defs'.
2883         * doc-parsing-buglets-tabs.test: Likewise.
2884         * java-empty-classpath.test: Likewise.
2885         * vala-vpath.test: Likewise.
2887 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2889         tests: more uses of `$top_testsrcdir', in the `amhello' tests
2890         * tests/amhello-binpkg.test: Use `$top_testsrcdir' instead
2891         of `$testsrcdir/..'.
2892         * tests/amhello-cflags.test: Likewise.
2893         * tests/amhello-cross-compile.test: Likewise.
2895 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2897         tests: avoid creating useless files in the `amhello' tests
2898         * tests/amhello-binpkg.test: Define `$am_create_testdir' to
2899         "empty" before sourcing ./defs, to avoid bringing in unused
2900         auxiliary files.
2901         * tests/amhello-cflags.test: Likewise.
2902         * tests/amhello-cross-compile.test: Likewise.
2904 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2906         coverage: vala support failing for VPATH from-scratch builds
2907         * tests/vala-vpath.test: New test, xfailing.
2908         * tests/Makefile.am (TESTS): Update.
2909         * THANKS: Update.
2910         From a report by Zbigniew Jędrzejewski-Szmek.
2911         Related to automake bug#8753.
2913 2011-09-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
2915         docs: report few more automake parsing limitations
2916         Partly motivated by automake bug#8360.
2917         * doc/automake.texi (General Operation): Report few more automake
2918         limitations w.r.t. parsing of unusual makefile constructs.  Related
2919         minor reorderings.
2920         * tests/doc-parsing-buglets-colneq-subst.test: New test.
2921         * tests/doc-parsing-buglets-tabs.test: Likewise.
2922         * tests/Makefile.am (TESTS): Update.
2924 2011-09-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
2926         automake: fix regression due to de-ansification support removal
2927         The last change `v1.11-947-g136b489' removed code that automake
2928         was using to decide whether binary objects were built by the
2929         generated Makefile.in, so that it could avoid to emit unneeded
2930         code when this was not the case.  Re-introduce such code in a
2931         less-obfuscated form, and add a test to ensure we don't regress
2932         again.
2933         * automake.in ($must_handle_compiled_objects): New global
2934         variable, telling whether the generated Makefile has to build
2935         compiled objects.
2936         (initialize_per_input): Reset it.
2937         (handle_programs, handle_libraries, handle_ltlibraries): Set
2938         it to a true value when required.
2939         (handle_compile): Don't generate any code if the variable
2940         `$must_handle_compiled_objects' is not set to a true value.
2941         * tests/no-extra-makefile-code.test: New test.
2942         * tests/Makefile.am (TESTS): Add it.
2944 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2946         automake: cleanups after de-ansification support removal (2)
2947         * automake.in ($get_object_extension_was_run): Remove, it's not
2948         really needed anymore.
2949         (&get_object_extension): Remove, it's a no-op now.
2950         All callers adjusted.
2952 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2954         automake: cleanups after de-ansification support removal (1)
2955         * automake.in (lang_c_rewrite, handle_single_transform): Rename
2956         variable `$nonansi_obj' to `$obj'.
2958 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2960         ansi: remove obsolete code/files for de-ANSI-fication support
2961         * lib/ansi2knr.1, lib/ansi2knr.c: Deleted.
2962         * lib/Makefile.am (dist_pkgvdata_DATA): Do not list them anymore.
2963         * lib/am/ansi2knr.am: Delete.
2964         * lib/am/Makefile.am (dist_am_DATA): Do not list it anymore.
2965         * lib/Automake/Variable.pm (%_am_macro_for_var): Remove entries for
2966         `ANSI2KNR' and `U'.
2967         * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Don't care anymore
2968         about possible definition of the `$U' variable.
2969         * automake.in (@common_files): Drop `ansi2knr.1' and `ansi2knr.c'.
2970         (struct): Remove scalar field `ansi'.
2971         All callers adjusted.
2972         (&lang_c_finish, %de_ansi_files): Remove, they're not required
2973         anymore.
2974         All callers adjusted.
2975         ($get_object_extension_was_run): Fix typo in comment.
2976         (&get_object_extension): Drop code dealing with de-ansification;
2977         this function basically a no-op now, but is required to properly
2978         initialize `$get_object_extension_was_run' variable.
2979         (&handle_languages, &handle_compile, &lang_c_rewrite): Drop code
2980         dealing with de-ansification.
2982 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2984         ansi: reject attempts to use automatic de-ANSI-fication support
2985         * tests/protos.m4 (AM_C_PROTOTYPES): Error out whenever called.
2986         * lib/Automake/Options.pm (_process_option_list ): Error out
2987         with a proper error message when the `ansi2knr' option is used.
2988         Related updates to comments.
2989         * tests/depacl2.test: Update.
2990         * tests/ansi2knr-no-more.test: New test.
2991         * tests/Makefile.am (TESTS): Add it.
2992         * NEWS: Update.
2994 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2996         tests: remove tests about obsolete de-ANSI-fication support
2997         * tests/ansi.test: Delete.
2998         * tests/ansi10.test: Likewise.
2999         * tests/ansi2.test: Likewise.
3000         * tests/ansi2knr-deprecation.test: Likewise.
3001         * tests/ansi3.test: Likewise.
3002         * tests/ansi3b.test: Likewise.
3003         * tests/ansi4.test: Likewise.
3004         * tests/ansi5.test: Likewise.
3005         * tests/ansi6.test: Likewise.
3006         * tests/ansi7.test: Likewise.
3007         * tests/ansi8.test: Likewise.
3008         * tests/ansi9.test: Likewise.
3009         * tests/cxxansi.test: Likewise.
3010         * tests/libobj8.test: Likewise.
3011         * tests/subobj3.test: Likewise.
3012         * tests/Makefile.am (TESTS): Update.
3014 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
3016         docs: remove description of de-ANSI-fication support from manual
3017         * doc/automake.texi (Auxiliary Programs): Remove mention of
3018         `ansi2knr.c' and `ansi2knr.1'.
3019         (Obsolete Macros): Remove mention of `AM_C_PROTOTYPES'.  Do not
3020         index it nor variables `ANSI2KNR' and `U' anymore.
3021         (List of Automake options): Remove mention of `ansi2knr' option,
3022         and obsolete entries for concept and option indexes.
3023         (Optional): Remove entry about `AM_C_PROTOTYPES'.
3024         (@c LocalWords): Remove `ansi' and `knr'.
3025         (@menu, @detailmenu): Remove entries about de-ANSI-fication
3026         support.
3028 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3030         tests: better respect of TAP usage in wrapped tests
3031         * tests/gen-wrap-tests: Partial rewrite to take into account the
3032         possibility that the wrapped test uses the TAP protocol.  This
3033         complicates the code quite a bit, but is essential to ensure real
3034         correctness in all the wrapped scripts.
3035         * tests/wrap-tests.sh: Update, and add few more sanity checks.
3037 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3039         tests: use both perl and awk implementations for tests on TAP
3040         * tests/gen-wrap-tests (get_list_for_pltap): New function, gets
3041         the list of tests that check the Automake TAP support.
3042         ($defines_for_pltap): New variable.
3043         ($wrapper_type_list): Add "pltap".
3044         * tests/defs-static.in: Check that `$am_tap_implementation' is
3045         not exported in the environment.
3046         * tests/self-check-env-sanitize.tap: Update.
3048 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3050         tests: two single auxiliary scripts to run/generate wrapped tests
3051         * tests/config-shell-tests.sh, tests/parallel-tests.sh,
3052         tests/gen-config-shell-tests, tests/gen-parallel-tests: Deleted,
3053         their roles taken over by ...
3054         * tests/wrap-tests.sh, tests/gen-wrap-tests: ... these new more
3055         general scripts.
3056         * tests/Makefile.am (EXTRA_DIST): Distribute the new scripts, and
3057         do not distribute the obsolete ones anymore.
3058         ($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am): Do
3059         not include nor generate anymore, they have been superseded by ...
3060         ($(srcdir)/wrap-tests.am): ... this new fragment, automatically
3061         generated by `gen-wrap-tests'.
3062         (PTEST_LOG_COMPILER, SHTST_LOG_COMPILER): Delete, they are now
3063         defined in the new `wrap-tests.am' makefile fragment.
3064         (TEST_EXTENSIONS): Do not append to it anymore, that is now done
3065         by the new `wrap-tests.am' makefile fragment above.
3066         ($(parallel_tests:.ptest=.log), $(config_shell_tests:.shtst=.log),
3067         $(parallel_tests), $(config_shell_tests): Remove this dependencies,
3068         superseded by ...
3069         ($(wrap_TESTS), $(wrap_LOGS)): ... these ones.
3070         (MAINTAINERCLEANFILES): Delete, it's not used anymore.
3071         (TESTS): Do not contain anymore `$(config_shell_tests)' nor
3072         `$(parallel_tests)', contain `$(wrap_TESTS)' instead, as defined
3073         by `$(srcdir)/wrap-tests.am'.
3074         Other related minor edits and reorderings.
3075         * bootstrap, tests/.gitignore, tests/README: Update.
3077 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3079         tests: list of tests placed in a separate Makefile fragment
3080         This change allows us to easily use make instead of by-hand (and
3081         more fragile) grepping to extract the list of hand-written tests
3082         from our Makefiles.
3083         * bootstrap (BOOTSTRAP_MAKE): New variable.
3084         Use it to run make in order to extract the list of hand-written
3085         tests from ...
3086         * tests/list-of-tests.mk: ... this new file, where they are
3087         listed in ...
3088         (handwritten_TESTS, tap_with_common_setup_TESTS, tap_other_TESTS):
3089         ... these variables, extracted respectively from ...
3090         * tests/Makefile.am (handwritten_tests, tap_other_tests,
3091         tap_with_common_setup_tests): ... these older variables, now
3092         removed.
3093         (EXTRA_DIST, expected_list_of_tests): Update w.r.t. the variable
3094         names' changes.
3095         (include $(srcdir)/list-of-tests.mk): New inclusion.
3096         Remove an overkill indirection, and with it ...
3097         (tap_with_common_setup_logs): ... this variable.
3098         ($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am):
3099         Update to match the new interface of ...
3100         (gen-parallel-tests, gen-config-shell-tests): ... these scripts,
3101         that now read the list of tests from the standard input.
3103 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3105         tests: prefer AM_... variables to user-reserved ones in Makefile
3106         * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Renamed ...
3107         (AM_TAP_LOG_DRIVER_FLAGS): ... to this.
3109 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3111         tests: some minor fixlets w.r.t. TAP-based tests
3112         The variable that is used by our test scripts to decide whether
3113         they are "plain" or TAP-based is `using_tap'; however, some
3114         peripheral sanity checks and sanitization code in our testsuite
3115         were erroneously using the `use_tap' variable instead.  Fix that.
3116         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Nullify `using_tap',
3117         not `use_tap'.
3118         * tests/defs-static.in: Check that `using_tap', not `use_tap',
3119         is not exported.
3120         * tests/self-check-env-sanitize.test: Update.
3122 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3124         tests: avoid re-running a test with the 'parallel-tests' option
3125         * tests/backcompat5.test (parallel_tests): Define to "no", to
3126         prevent the generation of a sibling test script that uses the
3127         'parallel-tests' driver.  That would be useless anyway, since
3128         we manually override the contents of configure.in, thus clobbering
3129         the `parallel-tests' option in AM_INIT_AUTOMAKE.
3130         Fix a typo in comments since we are at it.
3132 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3134         tests: defaults to awk+shell driver in tests on TAP support
3135         * tests/defs ($am_tap_implementation): Default to "shell", not
3136         to "perl".
3138 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3140         tests: list "forgotten" test script in TESTS
3141         * tests/Makefile.am (TESTS): Also list ...
3142         * tests/java-empty-classpath.test: ... this test.  Since we are
3143         at it, remove trailing whitespace from a couple of lines.
3145 2011-08-25  Eric Blake  <eblake@redhat.com>
3147         ylwrap: fix unusual indentation whitespace
3148         * lib/ylwrap: Convert tabs to spaces.
3149         Reported by Karl Berry.
3151 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
3153         testsuite: different test scripts cannot share the same basename
3154         If two test scripts have the same basename, they will end up
3155         sharing the same log file, leading to all sort of undefined and
3156         undesired behaviours.  Add a Makefile check verifying that this
3157         is not the case.
3158         * tests/test-logs-repeated.test: New test, verifying previously
3159         unspecified semantics (in the definition of $(TEST_LOGS) from
3160         $(TESTS)) that we use in our new check.
3161         * tests/Makefile.am (TESTS): Update.
3162         (check-no-repeated-test-name): New .PHONY check.
3163         (check-local): Depend on it.
3165 2011-08-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
3167         tests: fix spurious failure for awk implementation of TAP driver
3168         * tests/tap-realtime.test: The awk+shell implementation of the TAP
3169         driver must "read ahead" of one line in order to catch the exit
3170         status of the test script it runs.  So, in the TAP-producer script
3171         here, be sure to echo one "dummy" line after each TAP result line
3172         in order not to cause false positives.
3174 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3176         tap/awk: allow escaping of TAP directives
3177         * lib/tap-driver.sh (setup_result_obj): Handle escaping of TAP
3178         directives in a way tat is (mostly) compatible by what is done
3179         by the TAP::Parser module.
3180         With this change, the tests `tap-escape-directive.test' and
3181         `tap-escape-directive-2.test' now also pass with the shell/awk
3182         implementation of the TAP driver.
3184 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3186         coverage: more about escaping of TAP directives
3187         * tests/tap-escape-directive.test: Make grepping of testsuite
3188         progress output slightly stricter.
3189         * tests/tap-escape-directive-2.test: New test (failing with the
3190         awk implementation of the TAP driver).
3191         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3193 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3195         tap: improve syncing between awk+shell and perl implementations
3196         * lib/tap-driver.pl (stringify_test_result): Renamed ...
3197         (stringify_result_obj): ... to this.  Break up a clause in the
3198         long "if/elsif/.../else" construct to avoid unaesthetic line
3199         breaks and to be more synced with the sibling function in
3200         `tap-driver.sh'.  Rename the `$result', `$PASS' and `$FAIL'
3201         variables to respectively `$result_obj', `$COOKED_PASS' and
3202         `$COOKED_FAIL', for clarity and better syncing.
3203         (handle_tap_test): Renamed  ...
3204         (handle_tap_result): ... to this, and change the name of the
3205         `$test' local variable to `$result_obj'.
3206         (extract_comment): Reimplement using the simpler `index' and
3207         `substr' builtins, rather than with more advanced uses of
3208         regular expressions.
3209         (%test_results, @test_results): Renamed respectively ...
3210         (%test_results_seen, @test_results_list): ... to these, and
3211         related adjustments throughout the `TEST_RESULTS' block.
3212         (main, get_global_test_result): Refactor and do some cosmetic
3213         changes to make these functions clearer and better synced with
3214         sibling code in `tap-driver.sh'.
3215         Other minor cosmetic and typo fixes.
3216         * lib/tap-driver.sh (extract_tap_comment): Remove outdated
3217         "FIXME" comments.
3218         (get_global_test_result): Small reordering to make it better
3219         synced with its sibling function in `tap-driver.pl'.
3220         (stringify_result_obj): Consistently use `result_obj' as the
3221         parameter name.
3222         Other minor cosmetic and typo fixes.
3224 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3226         tap/perl: don't redirect perl warnings/errors to log files
3227         With this change, the test `tap-driver-stderr.test' also passes
3228         with the perl implementation of the TAP driver.
3229         * lib/tap-driver.pl (start): Save the original stderr into the
3230         `OLDERR' file handle, and call ...
3231         (trap_perl_warnings_and_errors): ... this new function, trapping
3232         the `__WARN__' and `__DIE__' "pseudo-signals" to ensure that the
3233         warning and error messages goes to that original stderr stream.
3234         Since we are at it, be sure to prepend all possible "die" message
3235         with the name of the script as given by the `$ME' variable.
3237 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3239         tap/perl: add copyright notice, version string, and emacs stuff
3240         * lib/tap-driver.pl: Add proper copyright notice and bug reporting
3241         address.  Remove obsolete heading comments.  Add trailing comments
3242         for emacs w.r.t. code-formatting rules and automatic updating of
3243         the date-based script version saved into the `$VERSION' variable.
3244         ($VERSION): Define to the current UTC date.
3246 2011-08-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3248         tap/awk: don't redirect awk stderr to log files
3249         * lib/tap-driver.sh: Handle the file descriptors redirections
3250         more smartly, to avoid sending error messages from awk (about
3251         e.g. syntax or I/O errors) to the log files instead that to the
3252         console.
3253         * tests/tap-driver-stderr.test: New test, verifying the improved
3254         driver behaviour.  Notice that this test still fails when using
3255         the perl implementation of the TAP driver.
3256         * tests/Makefile.am (tap_other_tests): Update.
3258 2011-08-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3260         tap/awk: remove obsolete "FIXME" comment
3261         * lib/tap-driver.sh: Remove obsolete "FIXME" comment about our
3262         driver losing the exit status of the tested program; this issue
3263         has been solved in precedent commit `v1.11-1052-gd630a0d'.  Fix
3264         an unrelated typo in comments since we are at it.
3266 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3268         testsuite: avoid spurious failure on Solaris
3269         * tests/tap-signal.test (signal_caught): Fix a regression from
3270         commit `v1.11-1052-gd630a0d' that was causing this test to fail
3271         spuriously on Solaris (due to an already worked-around Solaris
3272         /bin/sh bug, see commit `v1.11-981-g0ef3ef5').
3274 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3276         testsuite: use the new awk+shell TAP driver in our own testsuite
3277         * tests/Makefile.am (TAP_LOG_DRIVER): Redefine to use the new
3278         awk+shell tap driver, which should be complete enough for use in
3279         a "controlled" production environment.
3281 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3283         tap/awk: handle non-zero exit status from the test command
3284         * lib/tap-driver.sh (get_test_exit_message): New function in the
3285         awk script, used to extract the exit status of the test program,
3286         or at least a good guess of it.
3287         (write_test_results): Use it, reporting an ERROR result if it
3288         detects that the test program exited with a non-zero status.
3289         * tests/tap-signal.test: Account for the differences in the
3290         error messages generated by the awk and perl TAP drivers.  Fix
3291         an unrelated typo in comments since we are at it.
3293 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3295         tap/awk: prepare to fetch the exit status of the test command
3296         * lib/tap-driver.sh: Rewrite some logic in the main parsing loop,
3297         to make it possible to read the exit status of the test command
3298         from the last line of the input stream.
3300 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3302         tap/awk: refactor for future changes
3303         * lib/tap-driver.sh: Rewrite the awk script so that the parsing
3304         of the input stream is implemented as a hand-rolled loop in the
3305         BEGIN block, using the `getline' builtin.
3307 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3309         testsuite: avoid spurious failure if rst2html program is missing
3310         * tests/tap-html.test ($required): Require `rst2html'.
3312 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3314         tap/awk: support Solaris /usr/xpg4/bin/awk
3315         * lib/tap-driver.sh: Use `\t', not `\\t', to represent tabulation
3316         character in regexps, even when inside double-quoted strings; that
3317         seems to be more portable to Solaris 10 XPG4 awk.
3319 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3321         tap/awk: support Solaris /usr/bin/nawk
3322         * lib/tap-driver.sh (close_or_die): Remove, the use of the `close'
3323         builtin in there was confusing /usr/bin/nawk from Solaris 10 into
3324         a syntax error.
3325         (write_test_results): Simply use `close' on the `*.trs' file, that
3326         should be enough.
3328 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3330         tap/awk: correctly extract message from SKIP plans
3331         * lib/tap-driver.sh (/^1\.\.0+[ \t]*#/): Add a forgotten `?' to
3332         the regex used to extract the skip message from a "1..0" TAP plan.
3333         * tests/planskip.test: Check for the just-fixed bug.
3334         * tests/tap-planskip-unplanned-corner.test: Don't be too strict
3335         w.r.t. the formatting of the "skip whole test" message, to avoid
3336         failing due to bugs irrelevant for this test (like the one just
3337         fixed).
3339 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3341         tap/awk: support colorized output
3342         * lib/tap-driver.sh: Pass definition of colors to the BEGIN block
3343         of the awk script, using ...
3344         ($init_colors): ... this new variable, which supersedes ...
3345         ($red, $grn, $lgn, $blu, $mgn, $std): ... these variables, which
3346         have been consequently removed.
3347         ($color_tests): We don't have to pass this anymore to the awk
3348         script, so do not convert it to a numeric boolean.
3349         (decorate_result): Implement for real.
3350         With this change, the test 'tap-color.test' now passes.
3352 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3354         tap: real (but still incomplete) awk implementation of TAP driver
3355         * lib/tap-driver.sh: Add an incomplete, but mostly working,
3356         implementation of a TAP parser and driver in awk.  It doesn't yet
3357         support colorized output, fetching of exit status from test
3358         programs, nor a way to escape TAP directives in TAP result lines,
3359         but passes all the tests of TAP support in the automake testsuite,
3360         apart from the following ones:
3361           - tap-color.test
3362           - tap-escape-directive.test
3363           - tap-exit.test
3364           - tap-missing-plan-and-bad-exit.test
3365           - tap-passthrough-exit.test
3366           - tap-planskip-badexit.test
3367           - tap-planskip-unplanned-corner.test
3368           - tap-signal.test
3369         Tested on Debian GNU/Linux with GNU awk 3.1.7 and 3.0.2, "original
3370         awk" 2010-05-23-1, and mawk 1.3.3-15 (with which also the test
3371         `tap-realtime.test' fails, in addition to those listed above).
3373 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3375         testsuite: fix spurious failure due to Solaris 'wc' incompatibility
3376         * tests/tap-number-wordboundary.test ($planned): Strip any extra
3377         whitespace from the output of `wc', to cater to Solaris 10.
3379 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3381         coverage: keyword "SKIP" in TAP plan is case-insensitive
3382         * tests/tap-planskip-case-insensitive.test: New test.
3383         * tests/tap-planskip.test: Remove now-duplicated checks.
3384         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3386 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3388         coverage: ambiguous use of TAP "TODO"/"SKIP" directives
3389         * tests/tap-ambiguous-directive.test: New test.
3390         * tests/tap-todo-skip-together.test: Reference it in heading
3391         comments.
3392         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3394 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3396         coverage: non-directive comments in TAP results are preserved
3397         * tests/tap-result-comment.test: New test.
3398         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3400 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
3402         coverage: TAP result number followed by non-whitespace word boundary
3403         * tests/tap-number-wordboundary.test: New test.
3404         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3406 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
3408         coverage: a TAP result numbered "0" is always out-of-order
3409         * tests/tap-test-number-0.test: New, checks that a test result
3410         numbered as 0 is to be considered out-of-order; this is
3411         consistent with the behaviour of the `prove' utility.
3412         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3414 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
3416         cosmetics: fix botched indentation in perl TAP driver
3417         * lib/tap-driver.pl (main, Getopt::Long::GetOptions): Fix
3418         improper or botched indentation.
3420 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
3422         coverage: some more tests on corner cases of TAP support
3423         * tests/tap-no-spurious.test: Extend checks verifying that a line
3424         matching, say, the regex "^ok[a-zA-Z0-9_]" is *not* considered a
3425         TAP result.
3426         * tests/tap-no-spurious-numbers.test: New test, checking that our
3427         TAP driver doesn't spuriously recognize as TAP result numbers what
3428         is not (even if it seems pretty close).
3429         * tests/tap-negative-numbers.test: New test, checking that our
3430         TAP driver doesn't spuriously recognize negative TAP result
3431         numbers, but correctly interprets them as test descriptions
3432         instead.
3433         * tests/tap-plan-leading-zero.test, tap-numbers-leading-zero.test:
3434         New tests, checking how our driver fares in recognizing numbers
3435         with leading zeroes in TAP results or TAP plans.
3436         * tests/tap-planskip-malformed.test: New test, checking that a
3437         malformed TAP plan is not recognized as a valid plan.
3438         * tests/tap-plan-whitespace.test: New test, checking that a TAP
3439         plan line with trailing whitespace is recognized and handled
3440         correctly.
3441         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3443 2011-08-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
3445         testsuite: various fixlets and tweakings
3446         * tests/seenc.test: Make grepping of automake stderr stricter.
3447         Add a trailing `:' command.
3448         * tests/symlink.test: Likewise.  Also, define `$am_create_testdir'
3449         to "empty" to avoid bringing in unused auxiliary files (only to
3450         have to remove them right away), and use proper m4 quoting in
3451         `configure.in'.
3452         * tests/vpath.test: Make grepping of generated `Makefile.in'
3453         slightly stricter.  Prefer trailing `:' over trailing `Exit 0'.
3454         * tests/suffix6c.test: Unset OBJEXT to avoid interferences from
3455         the environment.
3456         * tests/suffix12.test: Do not whitespace-indent `##' comments
3457         when they are embedded in a makefile rule: having them indented
3458         is not part of the Automake API, and might cause failures with
3459         e.g., Tru64 make.
3460         * tests/syntax.test: Simplify the `Makefile.am' to ensure that
3461         automake doesn't fail for the wrong reasons.  Make grepping of
3462         automake stderr slightly stricter.
3463         * tests/test-harness-vpath-rewrite.test: Remove useless variable
3464         definition from `Makefile.am'.
3465         * tests/test-driver-custom-multitest.test: Fix typo in comments.
3466         * tests/self-check-me.tap: Fix minor typo in test description.
3467         * tests/vars3.test: Make grepping of automake stderr stricter
3468         and safer.
3469         * tests/version6.test: Add sanity check, verifying that the
3470         version number extracted from `automake --version' output seems
3471         legit.
3472         * tests/auxdir2.test: Renamed ...
3473         * tests/auxdir-compauted.tap: ... to this, and converted to the
3474         use of TAP.
3475         * tests/auxdir4.test: Renamed ...
3476         * tests/auxdir-unportable.tap: ... to this, and converted to the
3477         use of TAP.
3478         * tests/auxdir3.test: Renamed ...
3479         * tests/auxdir-misplaced.test: ... to this.
3480         * tests/auxdir5.test: Renamed ...
3481         * tests/auxdir-nonexistent.test: ... to this.
3482         * tests/auxdir9.test: Renamed ...
3483         * tests/auxdir-autodetect.test: ... to this.
3484         * tests/Makefile.am (TESTS): Update.
3485         (XFAIL_TESTS): Remove `auxdir2.test'.
3487 2011-08-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
3489         testsuite: fix some redundant autotools calls in tests on TAP
3490         * tests/tap-deps.test: Do not call autotools and configure; there
3491         is no need to, since this script sources `tap-setup.sh'.
3492         * tests/tap-empty-diagnostic.test: Likewise.
3493         * tests/tap-escape-directive.test: Likewise.
3494         * tests/tap-fancy2.test: Likewise.
3495         * tests/tap-no-spurious.test: Likewise.
3496         * tests/tap-out-of-order.test: Likewise.
3498 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3500         * THANKS (Daniel Richard G.): Update e-mail address.
3502 2011-08-16  Daniel Richard G. <skunk@iskunk.org>  (tiny change)
3503             Stefano Lattarini  <stefano.lattarini@gmail.com>
3505         java: avoid compilation errors when CLASSPATH is empty
3506         * lib/am/java.am (CLASSPATH_ENV): When redefining `$CLASSPATH',
3507         do not append an empty component in case the previous value of
3508         CLASSPATH is empty or unset.
3509         * tests/java-empty-classpath.test: New test.
3510         * tests/Makefile.am (TESTS): Update.
3511         Fixes automake bug#9306.
3513 2011-08-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3515         parallel-tests: no more spurious successes for FreeBSD make
3516         Work around a bug of FreeBSD make bug that was causing the
3517         automake-generated "check" target to complete with success
3518         even if some tests failed; this happened only when FreeBSD
3519         make was run in concurrent mode (as in, e.g., "make -j2
3520         check").  The bug is not present in NetBSD make.
3521         This change fixes automake bug#9245:
3522          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>
3523         See also FreeBSD PR bin/159730:
3524          <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>
3525         * lib/am/check.am [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Use a
3526         more "safe" (and apparently redundant) idiom to exit with error,
3527         so that the non-zero exit status is picked up also by FreeBSD
3528         make when it's running in concurrent mode.
3529         * NEWS: Update.
3530         * tests/check-concurrency-bug9245.test: New test.
3531         * tests/Makefile.am (TESTS): Update.
3533 2011-08-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
3535         hacking: we now require autoconf 2.68
3536         * HACKING ("Working in git"): Use autoconf and autom4te 2.68,
3537         not 2.67, in the examples.
3539 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3541         tap: improve granularity for tests on problematic TAP messages
3542         * tests/tap-message-0.test: Break up into ...
3543         * tests/tap-msg0-result.test, tests/tap-msg0-directive.test,
3544         tests/tap-msg0-planskip.test, tests/tap-msg0-misc.test,
3545         tests/tap-msg0-bailout.test: ... these new tests, and extend
3546         a little.
3547         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3549 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3551         tap: correctly handle string "0" in TAP messages
3552         * lib/tap-driver.pl (is_null_string): New function, can be used
3553         to determine whether a given string variable is empty or undefined.
3554         Useful to avoid pitfalls like:
3555           if ($message) { print "$message\n"; }
3556         which wouldn't print anything if $message is the literal "0".
3557         (handle_tap_test, handle_tap_plan, handle_tap_bailout): Use it,
3558         to avoid missing messages composed only by a literal "0" in TAP
3559         result descriptions and in skip, todo and bailout explanations.
3560         * tests/tap-message-0.test: Enhance.
3561         * tests/Makefile.am (XFAIL_TESTS): Remove it, it passes now.
3563 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3565         tap: a minor simplification in the perl TAP driver
3566         * lib/tap-driver.pl: The `--disable-hard-errors' option is a
3567         no-op, so just ignore it and its argument.
3569 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3571         parallel-tests: fix help screen for test driver scripts
3572         * lib/tap-driver.pl ($USAGE): The `--trs-file' option is mandatory
3573         too.
3574         * lib/tap-driver.sh (print_usage): Likewise.
3575         * lib/test-driver (print_usage): Likewise.
3576         ($scriptversion): Update.
3578 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3580         tap: add a dummy TAP driver script implemented in shell + awk
3581         The user can also now decide which implementation of the TAP driver
3582         to use in the testsuite by defining the `$am_tap_implementation'
3583         variable to either "perl" or "shell".  Future enhancements will
3584         allow the testsuite to automatically run the test scripts on TAP
3585         support with both the TAP driver implementations, to improve
3586         coverage.
3587         * tests/defs (fetch_tap_driver): Honor the `$am_tap_implementation'
3588         variable to decide which implementation of the TAP driver to fetch.
3589         ($am_tap_implementation): Default to "perl".
3590         * tests/tap-common-setup.test: Do not fetch the TAP driver, the
3591         code in tap-setup.sh does that already (and respecting runtime
3592         overriding of `$am_tap_implementation').
3593         * lib/tap-driver: Renamed ...
3594         * lib/tap-driver.pl: ... to this, and ...
3595         ($ME): ... adjusted this.
3596         * doc/automake.texi: Adjust to the renaming.
3597         * tests/Makefile.am (TAP_LOG_DRIVER): Likewise.
3598         * tests/tap-doc2.test: Likewise.
3599         * lib/tap-driver.sh: New script, still mostly dummy.
3600         * lib/Makefile.am (dist_script_DATA): Update, and since we are at
3601         it, rewrite it to make it easier to add new entries in the future.
3603 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3605         testsuite: refactor tests on TAP support in view of future changes
3606         * tests/defs (fetch_tap_driver): New subroutine; it fetches the
3607         automake-provided TAP driver from the `lib/' directory into the
3608         current directory, and edits its shebang line so that it will be
3609         run with the perl interpreter determined at configure time.
3610         * tests/tap-setup.sh: Use it.
3611         * tests/tap-common-setup.test: There's no need to AC_SUBST `PERL'
3612         anymore, nor to use it in the Makefile to run the TAP driver.
3613         Also, use the `fetch_tap_driver' function instead of copying the
3614         `tap-driver' auxiliary script directly.
3615         * tests/tap-bad-prog.tap: Likewise.
3616         * tests/tap-diagnostic-custom.test: Likewise.
3617         * tests/tap-doc.test: Likewise.
3618         * tests/tap-merge-stdout-stderr.test: Likewise.
3619         * tests/tap-more.test: Likewise.
3620         * tests/tap-more2.test: Likewise.
3621         * tests/tap-recheck.test: Likewise.
3622         * tests/tap-summary-aux.sh: Likewise.
3623         * tests/tap-basic.test: Likewise, and fix a grammaro in comments
3624         since we are at it.
3626 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3628         test defs: fix typo in comments
3629         * tests/defs (get_shell_script): Fix typo in the function
3630         description.
3632 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3634         coverage: missing tap plan and non-zero exit status
3635         * tests/tap-missing-plan-and-bad-exit.test: New test.
3636         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3638 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3640         testsuite: fix an unportable use of sed
3641         * tests/tap-todo-skip-whitespace.test: Alternation with "\|" in
3642         sed regular expressions is not portable to (at least) FreeBSD
3643         sed; do not use it.
3645 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3647         testsuite: avoid spurious failure if rst2html program is missing
3648         * tests/test-driver-custom-no-html.test: Account for the
3649         possibility of a lacking `rst2html' program in our final
3650         grepping of make output.
3652 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3654         tap: improve diagnosing and reporting of plan mismatches
3655         Problem exposed by a failure in the test 'tap-plan-errors.test'.
3656         * lib/tap-driver (NO_PLAN, EARLY_PLAN, LATE_PLAN): New constants.
3657         (Throughout the file): Use more complex semantics for `$plan_seen',
3658         which now also remember whether the plan that has been seen is an
3659         "early" or "late" plan; in turn, this makes ...
3660         ($tap_stopped): ... this variable redundant; remove it.
3661         (handle_tap_plan): Adjust to avoid producing spurious or confusing
3662         error messages about extra or mismatched "late" TAP plans.
3663         * tests/tap-plan-corned.test: Adjust and extend.
3664         * tests/tap-color.test: Likewise.
3666 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3668         tap: log all TAP stream, even after a "Bail out!"
3669         * lib/tap-driver ($bailed_out): New global boolean variable,
3670         telling whether a "Bail out!" directive has been seen or not.
3671         (handle_tap_bailout): This function does not anymore stop the
3672         reading from TAP stream; instead, it sets `$bailed_out' to a
3673         true value, so that only the subsequent parsing of the input
3674         TAP stream is stopped.
3675         (finish): Remove, no more needed, its contents inlined into ...
3676         (main): ... this function, with related adjustments in the code
3677         flow.
3678         (get_test_exit_message): Do not "flush" the input TAP stream
3679         to fetch the exit status of test script, it is not anymore
3680         required.  Add a sanity check.
3681         * tests/tap-bailout-and-logging.test: New test.
3682         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3684 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3686         coverage: TAP diagnostics after "Bail out!" aren't reported
3687         This is compatible with the behaviour of the `prove' utility.
3688         * tests/tap-bailout-suppress-later-diagnostic.test: New test.
3689         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3691 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3693         coverage: TAP errors after a "Bail out!" directive aren't reported
3694         This is compatible with the behaviour of the `prove' utility.
3695         * tests/tap-bailout-suppress-later-errors.test: New test.
3696         * tests/tap-bailout-badexit.test: Renamed ...
3697         * tests/tap-bailout-suppress-badexit.test: ... to this, for
3698         consistency.
3699         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3701 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3703         testsuite: reorganize tests on TAP plans
3704         * tests/tap-skip-whole.test: Rename ...
3705         * tests/tap-planskip.test: ... to this
3706         * tests/tap-skip-whole-badexit.test: Rename ...
3707         * tests/tap-planskip-badexit.test: ... to this.
3708         * tests/tap-skip-whole-bailout.test: Rename ...
3709         * tests/tap-planskip-bailout.test: ... to this.
3710         * tests/tap-skip-whole-bailout.test: Rename ...
3711         * tests/tap-planskip-later-errors.test: ... to this.
3712         * tests/tap-skip-whole-unplanned.test: Rename ...
3713         * tests/tap-planskip-unplanned.test: ... to this.
3714         * tests/tap-skip-whole-whitespace.test: Rename ...
3715         * tests/tap-planskip-whitespace.test: ... to this.
3716         * tests/tap-skip-whole-continue.test: Rename ...
3717         * tests/tap-planskip-and-logging.test: ... to this, extend to try
3718         more cases, and fix heading comments.
3719         * tests/tap-skip-whole-lastline.test: Rename ...
3720         * tests/tap-planskip-late.test: ... to this, fix heading comments,
3721         and remove some checks that are just a duplication of those already
3722         performed in the previous script.
3723         * tests/tap-results-with-planskip.test: Rename to ...
3724         * tests/tap-planskip-unplanned-corner.test: ... this, and improve
3725         hading comments.
3726         * tests/tap-planskip-later-errors.test: New test.
3727         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3729 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3731         coverage: more TAP driver consistency w.r.t. 'prove'
3732         * tests/skip-results-with-planskip.test: New test, verifies that
3733         test results seen in a TAP stream that has a "plan with SKIP" are
3734         flagged as errors.
3735         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3737 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3739         tap: improve some comments in the TAP driver
3740         * lib/tap-driver (handle_tap_plan): Improve comments describing
3741         possible errors in a "plan with SKIP" directive.
3743 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3745         tap: non-zero exit status after "Bail out!" should not be reported
3746         This new behaviour is more consistent with that of the `prove'
3747         utility.  Also, experience with the use of TAP in the Automake's
3748         own test suite has shown that reporting non-zero exit status from
3749         a script after it has issued a "Bail out!" directive is mostly
3750         redundant, more introducing noise rather than conveying useful
3751         information.
3752         * lib/tap-driver (finish): Inline the part of it that was getting
3753         the script exit status ...
3754         (main): ... in here.
3755         * tests/tap-bailout-badexit.test: New test.
3756         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3758 2011-08-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
3760         tap: a "plan with SKIP" after test results is an error
3761         This new behaviour is both more natural and more consistent with
3762         that of the `prove' utility.
3763         * lib/tap-driver (handle_tap_plan): Do not stop TAP parsing when
3764         a "plan with SKIP" line (e.g., "1..0 # SKIP") is encountered, and
3765         do not print a "SKIP" line if some TAP result has already been
3766         seen.
3767         * tests/tap-skip-whole.test: Adapt.
3768         * tests/tap-skip-whole-lastline.test: Likewise.
3769         * tests/tap-global-result.test: Adapt and extend.
3770         * tests/tap-skip-plan-errors.test: Likewise, and fix an obsolete
3771         small part of a comment.
3772         * tests/tap-skip-whole-bailout.test: New test.
3773         * tests/tap-skip-whole-unplanned.test: Likewise.
3774         * tests/tap-skip-whole-continue.test: Likewise.
3775         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3777 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3779         test harness: avoid possible fork bomb
3780         This fixes a regression w.r.t. the master branch, exposed by
3781         test 'parallel-tests-fork-bomb.test'.
3782         * lib/am/check.am (am--redo-logs): Detect possible infinite
3783         recursion due to a test log in $(TEST_LOGS) being the same
3784         as $(TEST_SUITE_LOG).
3786 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3788         coverage: enhance test against infinite recursion in test harness
3789         * tests/parallel-tests-fork-bomb.test: Enhance and extend a
3790         little now, for soon-to-be-implemented more explicit and safer
3791         semantics.
3793 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3795         coverage: possible infinite recursion in the test harness
3796         Motivated by a regression in the 'test-protocols' branch.
3797         * tests/parallel-tests-fork-bomb.test: New test, checking that
3798         if $(TEST_SUITE_LOG) is in $(TEST_LOGS), we obtain a diagnosed
3799         error rather than a make hang or a fork bomb.
3800         * tests/Makefile.am (TESTS): Update.
3802 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3804         test defs: yet more environment cleanup
3805         * tests/defs: Also unset the TEST_SUITE_LOG variable.
3807 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3809         self tests: some minor refactoring
3810         * tests/self-check-exit.tap: Disable the `errexit' shell flag;
3811         this allow to remove some boilerplate idioms and to make some
3812         code slightly less cumbersome.
3813         * tests/self-check-me.tap: Likewise.
3815 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3817         maintcheck: look for TAP-based tests without TAP plan
3818         * Makefile.am (sc_tests_tap_plan): New maintainer check.
3819         (syntax_check_rules): Add it.
3820         * tests/suffix10.tap: Declare a TAP plan.
3821         * tests/add-missing.tap: Likewise.
3823 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3825         testsuite: avoid confusing SKIP messages for errored tests
3826         * tests/defs [$use_tap] (exit trap): Don't print the test plan
3827         in case the client script exited with a non-zero status.  This
3828         avoids the display of redundant "SKIP" messages for tests with
3829         lazy plans that error out before any test is run.
3831 2011-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3833         testsuite: keep more debugging info around in 'add-missing.tap'
3834         * tests/add-missing.tap: Use a different directory for each test,
3835         so that in case of failure more information is kept around.
3836         Since we are at it, remove redundant TAP diagnostic, and define
3837         `$am_create_testdir' to "empty" to avoid bringing in unused
3838         auxiliary files.
3840 2011-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3842         testsuite: more granular count of test results in our TAP library
3843         * tests/tap-functions.sh ($tap_bad_count_): Removed, superseded
3844         by ...
3845         ($tap_fail_count_, $tap_xpass_count_): ... these new variables,
3846         which keep more granular counts.
3847         ($tap_pass_count_: New variable.
3848         * tests/defs (exit trap): Adjust and simplify accordingly.
3850 2011-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3852         testsuite: fixlets and improvements in two long TAP-based tests
3853         * tests/depmod.tap: Clean up the subdirectories used by tests that
3854         passed, to avoid ending up with a too big test directory.  This is
3855         especially important since, on each and every system, at least some
3856         tests in this script are expected to be skipped (which ones exactly
3857         depends on the system), thus causing the test directory not to be
3858         removed when the script terminates.
3859         * tests/instspc.tap: Likewise (with the difference that tests here
3860         are not expected to be skipped, but to xfail).  Give more explicit
3861         error message in case of setup failure.  Skip the proper number of
3862         tests when required, to avoid spurious errors due to mismatched
3863         plan.  Also, really avoid to run the unsupported test cases when
3864         the need to skip them is detected.
3866 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3868         test harness: recursive make invocations must use $(AM_MAKEFLAGS)
3869         * lib/am/check.am ($(TEST_SUITE_LOG)): Pass $(AM_MAKEFLAGS)
3870         to $(MAKE) when issuing a recursive make call.
3871         Problem detected by the `sc_tests_make_without_am_makeflags'
3872         maintainer check.
3874 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3876         tests: fix spurious failure in 'suffix-chain.tap'
3877         * tests/suffix-chain.test: Use more uncommon suffixes that
3878         don't trigger built-in recipes with FreeBSD make.
3880 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3882         testsuite: improvements to our shell TAP library and APIs
3883         These improvements impact only the Automake's own testsuite.
3884         * tests/tap-functions.sh (plan_): Allow new special arguments
3885         "unknown" a.k.a. "later" and "lazy" a.k.a. "now".  Perform
3886         sanity check the given arguments.  Adjust incorrect comments.
3887         (lazy_plan_): Removed, superseded by the new version of `plan_'.
3888         (not): New function, run a command and inverts its exit status.
3889         (ok_, not_ok_, skip_): These are just shorthands for common
3890         `result_' usages.
3891         (xfail_, xpass_, reset_test_count_): Removed, they are not used,
3892         nor does a legitimate use for them seem in sight.
3893         (not): New function, to run a command inverting its exit status.
3894         (command_not_ok_): Removed, superseded by `command_ok_' + `not'.
3895         (command_ok_): Extended to accept TAP directives.
3896         * tests/defs (trap): Don't use `late_plan_' anymore, use
3897         `plan_ "now"' instead.
3898         * tests/ac-output-old.tap: Update to take advantage of the new
3899         APIs.
3900         * tests/self-check-env-sanitize.tap: Likewise.
3901         * tests/suffix-chain.tap: Likewise.
3902         * tests/suffix10.tap: Likewise.
3903         * tests/suffix11.tap: Likewise.
3904         * tests/suffix3.tap: Likewise.
3905         * tests/suffix8.tap: Likewise.
3906         * tests/tap-bad-prog.tap: Likewise.
3907         * tests/self-check-exit.tap: Likewise, plus a small improvement
3908         in the name of a variable.
3910 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3912         testsuite: convert some `suffix*' tests to TAP
3913         This will allow us to explicitly declare some expected failures
3914         involving Solaris make as such, instead of partly papering over
3915         them with skips and partly letting them fail too loudly.
3916         * tests/suffix-chain.test: Rename ...
3917         * tests/suffix-chain.tap: ... to this, and convert to the use of
3918         TAP.  Also, fix some bugs since we are at it, and ...
3919         ($required): ... require `cc'.
3920         * tests/suffix3.test: Rename ...
3921         * tests/suffix3.tap: ... to this, and convert to the use of TAP.
3922         Also, since we are at it, throw in some formatting fixes.
3923         * tests/suffix8.test: Rename ...
3924         * tests/suffix8.tap: ... to this, and convert to the use of TAP.
3925         Also, since we are at it, throw in some formatting fixes.
3926         * tests/suffix10.test: Rename ...
3927         * tests/suffix10.tap: ... to this, and convert to the use of TAP.
3928         * tests/suffix11.test: Rename ...
3929         * tests/suffix11.tap: ... to this, and convert to the use of TAP.
3930         * tests/Makefile.am (TESTS): Update.
3932 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3934         tests: don't let a known Solaris make bug poison too many tests
3935         See automake bug#7670 and bug#7824.
3936         * tests/defs (make_can_chain_suffix_rules): New function, tell
3937         whether the make implementation in use can chain suffix rules
3938         automatically or not.
3939         * tests/suffix3.test: Use it to avoid issuing calls to make that
3940         are unportable to make implementations that are not smart enough
3941         to chain suffix rules automatically.
3942         * tests/suffix8.test: Use it to avoid issuing calls to make that
3943         * tests/suffix10.test: Use it to avoid issuing calls to make that
3944         * tests/suffix11.test: Use it to avoid issuing calls to make that
3945         * tests/suffix-chain.test: New test, exposes the limitation that
3946         we have papered over in the tests above.
3948 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3950         gitignore: more use of anchors
3951         * .gitignore: Anchor files that are intended to be ignored only
3952         if found in the same directory of the `.gitignore' file, not also
3953         in its subdirectories.
3954         * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
3955         lib/Automake/tests/.gitignore, tests/.gitignore: Likewise.  Also,
3956         where needed, add new entries that were once implied by the
3957         non-anchored entries in the upper-level `.gitignore' files.
3959 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3961         self tests: avoid spurious output on console, and related fixlets
3962         * tests/self-check-cleanup.test: Set `$stderr_fileno_' to `2'
3963         in the self tests, to avoid spurious diagnostic on console.
3964         * tests/self-check-exit.tap: Only unset `am_explicit_skips' and
3965         `$stderr_fileno_' in the self tests, not at the global level, it
3966         is more correct.
3967         ($init): New variable, to reduce code duplication.
3968         Some refactoring and adjustments to the name of the tests.
3970 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3972         test defs: few more sanity checks
3973         * tests/defs: Catch some more (very unlikely) set-up or internal
3974         errors, and diagnose them explicitly.  This is intended mostly
3975         to be a theoretic-only improvement.
3977 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3979         test defs: really make them "set -e" clean
3980         Motivated by a spurious failure of test `instsh3-w.shtst' on
3981         Solaris 10.
3982         * tests/defs: Make really "set -e" clean, to avoid spurious
3983         failures in case this file is sourced by a test script that has
3984         already set the `errexit' flag.  To be sure we don't regress,
3985         move the `set -e' call much earlier, and make the comment telling
3986         about the expected "set -e" cleanliness more loud and outstanding.
3988 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3990         self tests: register an expected failures with Solaris /bin/sh
3991         Solaris 10 /bin/sh erroneously exit with success right away when
3992         the following three conditions are met at the same time:
3993          1. the `errexit' flag is active,
3994          2. an exit trap is installed, and
3995          3. a non-existing command is issued.
3996         * tests/self-exit.tap: When that bug is detected, issue an XFAIL
3997         rather than a FAIL.  Since we are at it, improve by avoiding
3998         creation of stray temporary files when testing for non-executable
3999         commands.
4001 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
4003         gitignore: update and improve for the testsuite files
4004         * tests/.gitignore: Don't ignore temporary partial log files,
4005         autogenerated tests and makefile fragments that are not used
4006         anymore.  Anchor all the remaining patterns.
4008 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
4010         self tests: some new uses of TAP, few extensions
4011         * tests/self-check-me.test: Renamed ...
4012         * tests/self-check-me.tap: .. to this, and converted to use TAP.
4013         * tests/self-check-exit.test: Renamed ...
4014         * tests/self-check-exit.tap: .. to this, and converted to use TAP.
4015         Set `$stderr_fileno_' to `2', to avoid spurious messages on the
4016         console.  Add a new test, and relax another one.
4017         * tests/self-check-env-sanitize.test: Renamed ...
4018         * tests/self-check-env-sanitize.tap: .. to this, and converted to
4019         the use TAP.
4020         * tests/Makefile.am (TESTS): Update.
4022 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
4024         test defs: test directory creation more configurable
4025         After this change, the individual tests will be able to tell
4026         `./defs' whether or not to create a temporary test directory
4027         for them, and if yes, whether or not to pre-populate it.
4028         * tests/defs: Only create the temporary test directory if the
4029         variable `$am_create_testdir' is not set to "no".  In this
4030         case, only pre-populate it if that variable is not set to
4031         `$empty'.
4032         * tests/defs-static.in: Check that `$am_create_testdir' is not
4033         exported in the environment.
4034         * tests/self-check-env-sanitize.test: Update.
4035         * tests/self-check-dir.test: Extend, and make deeper and more
4036         robust.
4037         * tests/README (Section "Writing test cases" subsection "Do"):
4038         Update.
4039         * tests/autodist.test: Set `$am_create_testdir' instead of
4040         removing by hand files created by ./defs.
4041         * tests/tap-doc2.test: Likewise.
4043 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4045         testsuite: more uses of the `seq_' function
4046         * tests/parallel-tests-exit-statuses.test: Use the `seq_' function
4047         from `tests/defs', instead of duplicating its semantics.
4048         * tests/testsuite-summary-count.test: Likewise.
4050 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4052         testsuite: drop redundant environment sanitization
4053         * tests/Makefile.am (TESTS_ENVIRONMENT): Don't remove `planned'
4054         from the environment.
4055         * tests/defs-static.in: Don't complain if `planned' is set in
4056         the environment.
4057         * tests/self-check-env-sanitize.test: Update.
4059 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4061         test defs: fix bug in plain version of `skip_all_'
4062         * tests/plain-functions.sh (skip_all_): Call `skip_', not `skip'.
4064 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4066         test defs: small cleanups and tweakings
4067         * tests/defs: Where possible, prefer `framework_failure_' or
4068         `fatal_' to `Exit 99'.  Try to catch more possible hard errors
4069         and setup failures.  Do not hide expected error messages.  Avoid
4070         a couple of forks when copying files from `$(top_srcdir)/lib'.
4071         ($signal): Remove, no more needed.
4073 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4075         testsuite: improve interface for giving early TAP plan
4076         Since commit `v1.11-976-g4740f56', an early TAP plan can also be
4077         specified after input lines have already been seen, as long as
4078         no one of them is a TAP result line.  We can now take advantage
4079         of this in our own testsuite, allowing the TAP-based scripts to
4080         specify their earlier plan after having included `./defs'.  In
4081         particular, this offers the benefit of allowing those scripts to
4082         issue a "skip all" plan (e.g., "1..0 # SKIP reason ...") after
4083         the inclusion of `./defs', which wasn't possible with the older
4084         interface (introduced in commit `v1.11-1114-g0286308').
4085         * tests/defs: Don't try to call `plan_' if `$planned' is defined,
4086         the calling scripts can do that directly now.
4087         * tests/ac-output-old.tap: Use `plan_' directly instead of
4088         setting `$planned' before including `./defs'.
4089         * tests/automake-cmdline.tap: Likewise.
4090         * tests/depmod.tap: Likewise.
4091         * tests/instspc.tap: Likewise.
4092         * tests/tap-bad-prog.tap: Likewise.
4093         * tests/add-missing.tap: Don't set `$planned'.
4095 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4097         test defs: fix bug in TAP version of `skip_all_'
4098         * tests/tap-functions (skip_all_): Set `$have_tap_plan_' to "yes"
4099         when called, so that the exit trap won't write another TAP plan.
4101 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4103         test defs: fix skip directives to work also with TAP-based tests
4104         * test/defs: Use `skip_all_', not `skip_', to issue a skip of the
4105         whole calling test script.
4107 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4109         test defs: more environment cleanup
4110         * tests/defs: Also unset variables AM_COLOR_TESTS and
4111         AM_TESTS_ENVIRONMENT.
4113 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4115         test harness: more minor VPATH-rewrite issues
4116         * tests/am/check.am (am__set_TESTS_bases, $(TEST_SUITE_LOGS),
4117         am--redo-logs, recheck, recheck-html): Cosmetic fixlets to
4118         minimize the risk of unwanted VPATH rewrites.
4119         (check-TESTS): Likewise, and normalize trailing whitespace
4120         since we are at it.
4121         Bugs exposed by test cases `check6-p.test' and `check7-p.test'.
4123 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4125         test harness: "make -n check" works correctly with Solaris make
4126         To avoid some recipes being executed with "make -n", we used the
4127         trick of issuing recursive make calls not directly with $(MAKE),
4128         but with a simple indirection instead:
4129           ...
4130           am__stealth_MAKE = $(MAKE)
4131           ...
4132           target:
4133               ... $(am__stealth_MAKE) ...
4134           ...
4135         This hack worked with GNU make, but, unfortunately, not with
4136         Solaris make.  The present change removes the hack, and uses more
4137         proper idioms to avoid unwanted recipe executions with "make -n".
4138         Bug exposed by test case `parallel-tests-dry-run.test'.
4139         * lib/am/check.am (am__stealth_MAKE): Remove, no more used.
4140         (.log.trs): Break recipe in multiple shell invocations.
4141         ($(TEST_SUITE_LOG)): Likewise, and move some corner-case parts of
4142         the recipe to ...
4143         (am--redo-logs): ... this new internal helper .PHONY target.
4145 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4147         tests: fix spurious failure with Solaris make
4148         * tests/distcheck-configure-flags-am.test: Avoid using `+=' too
4149         liberally with AM_DISTCHECK_CONFIGURE_FLAGS, since the line breaks
4150         so introduced, in conjunction with single quotes, might confuse
4151         Solaris make.
4153 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4155         test harness: fixlet in workaround for VPATH rewrite issue
4156         Fixes a minor in previous commit `v1.11-983-gfda3de5'.
4157         * lib/am/check.am (am__set_TESTS_bases): Add forgotten end-of-line
4158         anchor to sed expression.  In comments, add reference to ...
4159         * tests/test-trs-basic.test: ... this test, which has been adapted
4160         and tightened (and tweaked).
4162 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4164         test harness: work around a VPATH rewrite issue
4165         * lib/am/check.am (am__TEST_BASES): Removed, it's role taken
4166         over by ...
4167         (am__set_TESTS_bases): ... these new variable.
4168         ($(TEST_SUITE_LOG): Use it, to avoid VPATH rewrite issues.
4169         * automake.in (handle_tests): Update the code for the cleanup
4170         of the `.trs' file to use `$(TEST_LOGS)' instead of
4171         `$(am__TEST_BASES)'.
4172         * tests/test-harness-vpath-rewrite.test: New test, better
4173         exposing the problem fixed by this change
4174         * tests/Makefile.am (TESTS): Add it.
4175         * tests/test-trs-basic.test: Update and extend.
4177 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4179         parallel-tests: work around Solaris XPG4 make segfault
4180         Issue exposed by test `posixsubst-tests-p.test', and similar to
4181         the problem solved by commit `v1.11-159-ge7aa360'.
4182         * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Trim trailing
4183         whitespace from $list, to avoid triggering a nasty bug (potential
4184         segfault) on Solaris XPG4 make and Heirloom make.
4186 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4188         testsuite: fix weird spurious failure with Solaris /bin/sh
4189         Solaris /bin/sh, when killed with a SIGTERM or SIGINT signal, can
4190         apparently end up exiting with exit status 208, instead of leaving
4191         the correct wide exit status to the parent.  See:
4192          <http://dbaspot.com/shell/396118-bourne-shell-exit-code-term.html>
4193         Work around this incompatibility.
4194         * tap-signal.test: Look for the above Solaris bug.
4195         (signal_caught): Adapt to handle it.
4197 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4199         testsuite: fix another spurious failure on Solaris make
4200         * tests/parallel-tests-log-override-recheck.test: Filter make
4201         output before grepping it, for make implementations that, like
4202         Solaris' one, print the whole of the failed recipe on failure.
4204 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4206         testsuite: fix two spurious failures on Solaris make
4207         * tests/tests-environment-and-log-compiler.test: Do not fail if
4208         "make -n check" fails, as that is issued only for debugging, its
4209         semantics being tested in other test scripts.
4210         * tests/test-driver-strip-vpath.test: Likewise.
4212 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4214         tap driver: refactor and remove dead code
4215         * lib/tap-driver (get_tap_line): Removed, ...
4216         (all callers): ... updated to use $parser->next directly instead.
4217         (peek_tap_line, unget_tap_line, @tap_lines): Remove, they're not
4218         used anymore.
4219         (TAP_PEEKING): Block deleted, all its subroutines and variables
4220         having been removed.
4222 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4224         testsuite: fix spurious failure in a test on TAP support
4225         * tests/tap-passthrough-exit.test: When the `--ignore-exit' flag
4226         of the TAP driver is used, don't look for a message reporting the
4227         non-zero exit statuses of tests in the log files; such message is
4228         not expected to be there anymore.  Related simplifications.
4230 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4232         tap: plan location is more liberal w.r.t. non-TAP lines
4233         With this change, only lines that are TAP results will matter
4234         w.r.t. the position of the TAP plan in the input; for example,
4235         this input:
4236           this is a non-TAP line
4237           # and this a TAP diagnostic line
4238           1..1
4239           ok 1
4240         was considered to be an error, diagnosed with a message "test
4241         plan in middle of output"; as effect of the current change, such
4242         input is now valid.  This is more consistent with the behaviour
4243         of the `prove' utility.
4244         * lib/tap-driver ($lineno): Removed, no more needed.
4245         ($tap_stopped): New global variable.
4246         (stringify_test_result): Return "ERROR" if a TAP result is found
4247         when `$tap_stopped' is set to true.
4248         (handle_tap_test): Diagnose TAP results that comes after a late
4249         plan.  Add a couple of blank lines, for clarity.
4250         (handle_tap_plan): Set `$tap_stopped' to true after a late plan
4251         is encountered.  Do not complain anymore for extra non-TAP lines
4252         preceding or following the plan.  Adjust comments.
4253         (main): Don't increment $lineno anymore.
4254         * tests/tap-plan.test: Extend a bit, and remove stale comment.
4255         * tests/tap-color.test: Adjust.
4256         * tests/tap-passthrough.test: Likewise.
4257         * tests/tap-plan-corner.test: Adjust and extend.
4258         * tests/tap-plan-errors.test: Likewise.
4259         * tests/tap-plan-middle.test: New test.
4260         * tests/tap-plan-corner2.test: Delete, it's obsolete now.
4261         * tests/Makefile.am (XFAIL_TESTS): Remove it.
4262         (tap_with_common_setup_tests): Likewise, and add
4263         `tap-plan-corner.test'.
4265 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4267         testsuite: remove now-passing test from XFAIL_TESTS
4268         * tests/Makefile.am (XFAIL_TESTS): Remove `tap-signal.test',
4269         which is passing since previous commit `v1.11-974-gc7fa872'.
4271 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4273         test defs: get name of TAP-using tests correctly
4274         This change fixes the names of the temporary directories used
4275         by the TAP-based tests (e.g., test `foo.tap' now uses `foo.dir'
4276         rather than `foo.tap.dir'); more importantly, this make the
4277         variable `$destdir' defined in `tests/defs' usable also in the
4278         TAP tests.
4279         ($me): Also strip the any `.tap' suffix from the name of the
4280         test.
4282 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4284         testsuite: TAP tests properly decide when to remove tempdirs
4285         Before this change, the TAP tests in the Automake testsuite were
4286         removing the temporary test directory even when they failed or
4287         were skipped, thus making debugging more difficult.
4288         * tests/tap-functions.sh (incr_tap_count): Removed, superseded
4289         by ...
4290         (incr_): ... this function, which can increment the value of any
4291         variable passed to it.
4292         (result_):  Updated to use `incr_' instead of the now-removed
4293         `incr_tap_count_'.  Keep count of failures, xfailures, xpasses,
4294         and skips, using ...
4295         ($tap_skip_count_, $tap_bad_count, _$tap_xfail_count_): ...
4296         these new variables.
4297         * tests/defs (trap): Try to use their values to decide whether
4298         the temporary directory being used by the test script should be
4299         removed or not.  Other code reorganizations.  And move the code
4300         for the removal of the temporary directory out to ...
4301         (rm_rf_): ... this new subroutine.
4302         (Main code): Use that instead of duplicating the code.
4304 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4306         testsuite: improve and refactor our custom TAP shell library
4307         This change is mostly done in preparation for the next one.
4308         * tests/tap-functions.sh (result_with_directive_): Merge into ...
4309         (result_): ... this function, which has been greatly extended and
4310         improved in various ways.
4311         (ok_, not_ok_, skip_, xfail_, xpass_): Adjust.
4312         Adjust comments.  Remove an extra empty line.
4313         * tests/instspc.tap: Use the new improved interface of `result_'.
4314         * tests/tap-bad-prog.tap: Likewise.
4316 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4318         testsuite: update "user interface" description in tests/README
4319         * tests/README (Subsection "Interpretation"): Mention the "ERROR"
4320         outcome.
4321         (Subsection "Getting details from failures"): Don't tell that the
4322         test scripts can be run directly, this is not 100% true; anymore;
4323         instead ...
4324         (Subsection "About the tests"): ... use this new subsection to
4325         explain how to run the tests (either simple or TAP-based) by hand.
4326         (Subsection "Supported shells"): Extend to refer to TAP tests too.
4328 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4330         testsuite: TAP tests can have early plan now
4331         * tests/defs: When using TAP, allow the user to specify the number
4332         of tests through the `$planned' variable.
4333         (trap): Do not print the auto-generated plan if an explicit one
4334         has already been printed.
4335         * tests/defs-static.in: Complain and bail out if the `$planned'
4336         variable is exported in the environment.  Reformat the code to
4337         facilitate future additions.
4338         * tests/Makefile.am (TESTS_ENVIRONMENT): Neutralize `$planned'.
4339         * tests/self-check-env-sanitize.test: Update.
4340         * tests/ac-output-old.tap: Give an explicit TAP plan, by defining
4341         `$planned' just before including `./defs'.
4342         * tests/depmode.tap: Likewise.
4343         * tests/automake-cmdline.tap: Likewise.
4344         * tests/tap-bad-prog.tap: Likewise.
4345         * tests/instspc.tap: Likewise, and related adjustments.
4346         * tests/add-missing.tap: Make it explicit that we have no a-priori
4347         plan, and tell why.
4349 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4351         testsuite: run autogenerated tests with $(LOG_COMPILER) too
4352         This change enhances consistency in the testsuite.
4353         * tests/Makefile.am: Some cosmetic reordering, to keep the
4354         definition of FOO_LOG_COMPILER near to the place where `.foo'
4355         is added to $(TEST_EXTENSIONS).
4356         (PTEST_LOG_COMPILER): Run `$(srcdir)/parallel-tests.sh' with
4357         `$(LOG_COMPILER)', not with `$(SHELL)'.
4358         (SHTST_LOG_COMPILER): Likewise.
4360 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4362         testsuite: run TAP and "plain" tests with the same $(LOG_COMPILER)
4363         With this change, it will be easier to override, at make time, the
4364         shell used to run the tests.
4365         * tests/Makefile.am (LOG_COMPILER): Define to `$(SHELL)'.
4366         (TEST_LOG_COMPILER): Re-define to `$(LOG_COMPILER)'.
4367         (TAP_LOG_COMPILER): Likewise.
4369 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4371         testsuite: run TAP-based tests explicitly with $(SHELL)
4372         * tests/Makefile.am (TAP_LOG_COMPILER): Define to `$(SHELL)'.
4374 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4376         tap driver: handle signals received by the tests being run
4377         * lib/tap-driver (get_test_exit_message): Also deal with signals,
4378         by using the `wait' method of the TAP::Parser object instead of
4379         the `exit' method.  This required the use of the standard perl
4380         module `POSIX'.
4381         * doc/automake.texi (Use TAP with the Automake test harness):
4382         Document that `--ignore-exit' has effect also on terminating
4383         signals.  Add a "synchronizing" comment that references the tests
4384         'tap-exit.test' and 'tap-signal.test'.
4385         * tests/tap-signal.test: Extend and adjust.
4387 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4389         test driver: a preparatory refactoring (2)
4390         * lib/tap-driver (finish): Move code to fetch the message about
4391         the exit status of the test being run to ...
4392         (get_test_exit_message): ... this new subroutine.
4394 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4396         tap driver: a preparatory refactoring (1)
4397         * lib/tap-driver (finish): Do not flush the TAP stream nor
4398         fetch the exit status of the TAP producer if running with
4399         the `--ignore-exit' option.  Obviously, don't try to write
4400         such exit status in the test log anymore.
4402 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4404         cosmetics: typofix in the name of a function in the TAP driver
4405         * lib/tap-driver (testuite_error): Renamed ...
4406         (testsuite_error): ... to this, and minor related reformatting.
4408 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4410         tap: scripts with a SKIP plan but with exit status != 0 must error
4411         This change has been motivated by Automake's own testsuite.  Some
4412         TAP tests there were erroring out (due to unexpected, unhandled
4413         failures) before having encountered TAP result, so that the
4414         simple-minded shell library implementing TAP generation ended up
4415         printing a "1..0" trailing test plan; this caused the script to be
4416         reported as a SKIP rather than an ERROR -- a nasty false negative.
4417         * lib/tap-driver: Add prototypes for each subroutine, to free up
4418         the order in which they can be defined and called.
4419         (main): Move the code checking for a bad exit status of the TAP
4420         producer ...
4421         (finish): ... here, and flush the TAP stream to ensure that the
4422         parser always obtains the producer's exit status.
4423         * tests/tap-skip-whole-badexit.test: New test.
4424         * tests/Makefile.am (tap_with_common_setup_tests): Add it.
4426 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4428         tap: fix whitespace munging of diagnostic messages
4429         * lib/tap-driver (extract_tap_comment): Pass the `g' flag to the
4430         substitution operator, to strip also trailing whitespaces.  Fixes
4431         a failure in test `tap-whitespace-normalization.test'.
4433 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4435         testsuite: refactor and cleanup 'instspc.tap'
4436         * tests/instspc.tap (is_in_list): New helper subroutine.
4437         (expected_to_fail): Re-implement using it.
4438         (define_problematic_string): Likewise.  Also, rename the special
4439         arguments `build-fail' and 'install-fail' to respectively
4440         `builddir-fail' and `destdir-fail', and other related changes.
4441         (Test data definition): Adapt.
4442         ($instspc_xfail_builds_list): Renamed ...
4443         ($builddir_xfails): ... to this.
4444         ($instspc_xfail_installs_list): Renamed ...
4445         ($destdir_xfails): ... to this.
4446         ($instspc_names_list): Renamed ...
4447         ($test_names_list): ... to this.
4448         ($instspc_test_string): Renamed ...
4449         ($test_string): ... to this.
4450         Add some explicative and "FIXME" comments.
4452 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4454         testsuite: use TAP for `depmod*' tests, related simplifications
4455         * tests/depmod-tests.sh: Delete this complex and multifarious
4456         script, moving all it checks it used to perform into ...
4457         * tests/depmod.tap: ... this TAP-based test script.  And extend
4458         it quite a bit, since the new form of the test was papering over
4459         some pre-existing failures (this was due to the fact that the
4460         values used for the VPATH were shorter in the new test script).
4461         * tests/depmod-data.test: Deleted.
4462         * tests/Makefile.am ($(srcdir)/depmod-tests.am): Don't include
4463         nor generate it anymore.
4464         (EXTRA_DIST): Don't distribute depmod-tests.sh anymore.
4465         (TEST_EXTENSIONS): Remove '.depmod'.
4466         (DEPMOD_LOG_COMPILER): Deleted.
4467         (depmod-data.log, $(depmod_tests:.depmod=.log)): Delete
4468         dependencies for these files, which are not used anymore.
4469         ($(depmod_tests)): Delete this dummy dependency declaration.
4470         (TESTS): Remove $(depmod_tests).
4471         (handwritten_tests): Remove depmod-data.test, add depmod.tap.
4472         * bootstrap: Don't generate tests/depmod-tests.am anymore.
4474 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4476         testsuite: use TAP for `instspc*' tests, related simplifications
4477         * tests/instspc-tests.sh: Delete this complex and multifarious
4478         script, moving all it checks it used to perform into ...
4479         * tests/instspc.tap: ... this TAP-based test script.
4480         * tests/instspc-data.test: Deleted.
4481         * tests/Makefile.am ($(srcdir)/instspc-tests.am): Don't include
4482         nor generate it anymore.
4483         (EXTRA_DIST): Don't distribute instspc-tests.sh anymore.
4484         (TEST_EXTENSIONS): Remove '.instspc'.
4485         (INSTSPC_LOG_COMPILER): Deleted.
4486         (XFAIL_TESTS): Remove $(instspc_xfail_tests).
4487         (instspc-data.log, $(instspc_tests:.instspc=.log)): Delete
4488         dependencies for these files, which are not used anymore.
4489         ($(instspc_tests)): Delete this dummy dependency declaration.
4490         (TESTS): Remove $(instspc_tests).
4491         (handwritten_tests): Remove instspc-data.test, add instspc.tap.
4492         * bootstrap: Don't generate tests/instspc-tests.am anymore.
4494 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4496         testsuite: do fd redirections with $(AM_TESTS_FD_REDIRECT)
4497         * tests/Makefile.am: The redirections of file descriptors needed
4498         by our test scripts is now done using the $(AM_TESTS_FD_REDIRECT)
4499         variable (the new blessed way since commit `v1.11-906-gb9e9d54'),
4500         not using an hack involving $(AM_TESTS_ENVIRONMENT).  This has
4501         the further benefit of allowing the use of $(TESTS_ENVIRONMENT)
4502         again on part of the users.
4503         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Remove redirection of
4504         file descriptors.
4505         (AM_TESTS_FD_REDIRECT): Redirect file descriptor 9 to original
4506         stderr.
4507         Comments adjusted.
4508         * tests/plain-functions.sh ($stderr_fileno_): Update comment.
4510 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4512         testsuite: use custom TAP diagnostic in our own tests
4513         This change allow us to easily and transparently avoid spurious
4514         TAP diagnostic in our own testsuite, with the help of the new
4515         `--diagnostic-string' option of our TAP test driver.
4516         * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Also pass option
4517         `--diagnostic-string' with value `#%#' (necessarily obtained
4518         through some shell indirections).
4519         * tests/tap-functions.sh (diag_): Assume that the string denoting
4520         TAP diagnostic is stored in the `$diag_string_' variable.  Update
4521         comments.
4522         ($diag_string_): Initialize to "#".
4523         * tests/defs ($diag_string_): Re-define to "#%#".
4524         (show_): Remove, it's obsolete now.
4525         * add-missing.tap: Don't use `show_' anymore to avoid spurious
4526         TAP diagnostic; `cat' should suffice now.
4528 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4530         tap: fix typo in TAP driver version message
4531         * lib/tap-driver (anonymous subroutine printing the script version
4532         message): Add missing trailing newline to the version message.
4534 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4536         tap docs: we don't support pragma or version directives (yet)
4537         * doc/automake.texi (Incompatibilities with other TAP parsers
4538         and drivers): Document that limitation.  Normalize an unrelated
4539         "TODO" item.
4541 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4543         tap: new option to change the string designating TAP diagnostic
4544         Here we introduce a new option `--diagnostic-string' in our TAP
4545         test driver, that allows the user to specify which string should
4546         denote the beginning of a TAP diagnostic line.  This change is
4547         not gratuitous, nor result if over-engineering: it is motivated
4548         by real issues that have emerged during the use of TAP in the
4549         Automake's own testsuite (see the commit `v1.11-1082-g9b967c2'
4550         "testsuite: yet more use of TAP, and related extensions").
4551         * doc/automake.texi (Use TAP with Automake test harness): Document
4552         the new option.
4553         (Incompatibilities with other TAP parsers and drivers): Report it
4554         as a potential source of incompatibility.
4555         * lib/tap-driver ($diag_string): New global variable, defaulting
4556         to "#", and whose value can be changed ...
4557         (Getopt::Long::GetOptions): ... by the newly recognized option
4558         `--diagnostic-string'.
4559         (handle_tap_comment): Subroutine removed, some of its simple logic
4560         inlined ...
4561         (main): ... in here, where now ...
4562         (extract_tap_comment): ... this new subroutine is used.
4563         ($USAGE): Adjust.
4564         * tests/tap-diagnostic.test: Make one check slightly stricter.
4565         * tests/tap-diag-custom.test: New test.
4566         * tests/Makefile.am (tap_other_tests): Add it.
4568 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4570         check: add small "synchronization" comment to `test-driver'
4571         * lib/test-driver: Add comment to the code initializing ANSI color
4572         escapes, telling to keep it in sync with the similar initialization
4573         in `lib/am/check.am'.
4575 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4577         maintcheck: fix spurious failure w.r.t. use of bare "exit"
4578         * tests/check12.test: Cosmetic changes to avoid triggering a
4579         spurious failure of the `sc_tests_Exit_not_exit' maintainer
4580         check.
4582 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4584         check: update comments to reflect recent heavy changes
4585         * lib/am/check.am [%?PARALLEL_TESTS%]: Update the comments to
4586         reflect the recent changes.  Remove quite many comments that
4587         were merely duplicating excerpts from the Automake manual.
4589 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4591         check: small cleanups and refactorings in test harness and drivers
4592         * lib/tap-driver (yn): New subroutine, converts a boolean value to
4593         a "yes" or "no" string.
4594         (write_test_results): Use it, and related reformatting.
4595         * lib/test-driver (trap): Also remove the `.trs' file on signals,
4596         for extra safety.
4597         (fatal): Remove this function, it's never used.
4598         ($logfile, $trsfile): Renamed ...
4599         ($log_file, $trs_file): ... to these, for clarity, and in order to
4600         be more consistent with the `tap-driver' script.
4601         Improve a couple of comments.
4602         * automake.in (handle_tests): Don't define anymore the now-obsolete
4603         make macro `$(TEST_LOGS_TMP)', nor add it to the list of files to
4604         be removed upon "make mostlyclean".
4605         * lib/am/check.am ($(TEST_SUITE_LOG)): New shell function `f_ok',
4606         tells whether a path refers to an existing, regular, readable file.
4607         Use it throughout.
4608         (recheck): Be safer w.r.t. make implementation that run recipes
4609         with `errexit' shell flag active.
4611 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4613         testsuite: use AM_TESTS_FD_REDIRECT where appropriate
4614         * parallel-tests-interrupt.test: Use AM_TESTS_FD_REDIRECT, not
4615         AM_TESTS_ENVIRONMENT, to define file descriptors' redirection
4616         for "make check".  Fix botched comment.
4618 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4620         docs: some fixlets in documentation on testsuites support
4621         * doc/automake.texi (Script-based Testsuites): Rename node ...
4622         (Scripts-based Testsuites): ... to this.  Break overly long lines
4623         in an example (were causing problems with PDF output).
4624         (Parallel Test Harness): Don't intend paragraphs that come after
4625         examples or bulleted list.
4626         (Overview of Custom Test Drivers Support): Fix typo s/the the/the/.
4627         (Declaring Custom Test Drivers): When giving an aside, prefer comma
4628         to parentheses, as it disrupts the reading flow less.
4629         (API for Custom Test Drivers): Remove a sentence that was basically
4630         duplicated from the previous subsection.
4631         (Command-line arguments for test drivers): Don't intend paragraph
4632         coming after an itemized list.  Clarify wording and fix grammaros.
4633         Add a couple of cross-references to earlier explanations of `.log'
4634         and `.trs' files.
4635         (Links and external resources): Node renamed ...
4636         (Links and external resources on TAP): ... to this, for clarity.
4637         Slightly extend and clarify introductory sentence.
4639 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4641         test harness: be aware of more metadata, simplify test drivers
4642         * lib/am/check.am ($(TEST_SUITE_LOG)):  When producing the
4643         global test log, take into account the new metadata field
4644         `:global-test-result:, to write nicely formatted RST section
4645         titles, instead of leaving this chore to the individual test
4646         drivers.
4647         (am_rst_section): Re-introduce this variable, as removed in
4648         commit `v1.11-870-ga27c9c4'.
4649         * lib/test-driver, lib/tap-driver: Write the global test result
4650         as metadata in the `.trs' file, not as (part of) a formatted RST
4651         subsection title in the `.log' file.  Related simplifications;
4652         in particular, get rid of temporary files usage.
4653         * doc/automake.texi (Log files generation and test results
4654         recording): Document the new metadata.
4655         * tests/check12.test: Update.
4656         * tests/parallel-tests-harderror.test: Likewise.
4657         * tests/parallel-tests-interrupt.test: Likewise.
4658         * tests/parallel-tests-log-override-2.test: Likewise.
4659         * tests/parallel-tests-log-override-recheck.test: Likewise.
4660         * tests/parallel-tests-unreadable.test: Likewise.
4661         * tests/tap-global-result.test: Likewise.
4662         * tests/test-metadata-results.test: Likewise.
4663         * tests/test-log.test: Likewise, and another minor unrelated fix.
4664         * tests/test-metadata-global-result.test: New test.
4665         * tests/Makefile.am (TESTS): Update.
4667 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4669         tap: check that also a trailing TAP plan can hold a skip directive
4670         * tests/tap-skip-whole-lastline.test: New test.
4671         * tests/Makefile.am (tap_with_common_setup_tests): Add it.
4673 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4675         testsuite: more correct names for a couple of tests
4676         * tests/parallel-tests-ext-driver.test: Rename ...
4677         * tests/parallel-tests-log-compiler-1.test: ... to this, and
4678         adjust heading comments.
4679         * tests/parallel-tests-ext-driver-prog.test: Rename ...
4680         * tests/parallel-tests-log-compiler-2.test: ... to this, and
4681         adjust heading comments.
4682         * tests/Makefile.am (TESTS): Update.
4684 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4686         testsuite: fix another spurious failure
4687         * tests/parallel-tests-ext-driver.test: Name out custom/dummy
4688         log compilers as `foo-compiler' rather `foo-driver'; not only
4689         this is less confusing, it also avoids errors due to the dummy
4690         log compiler `test-driver' overriding the `test-driver' helper
4691         script installed by Automake.
4692         * tests/parallel-tests-ext-driver-prog.test: Adjust heading
4693         comments.
4695 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4697         testsuite: fix a spurious failure
4698         * tests/parallel-tests-ext-driver.test: Exporting of environment
4699         variables directly from $(LOG_COMPILER) variables is not allowed
4700         anymore.  Adjust to this.
4702 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4704         testsuite: yet more use of TAP, and related extensions
4705         * tests/defs (show_): New function, display the contents of one or
4706         more files on stdout, with bells & whistles (both for cosmetic and
4707         practical reasons, the latter aimed at avoiding spurious TAP
4708         diagnostic).
4709         (AUTOMAKE_run): Extend and adapt to make it compatible with TAP
4710         based tests.  Since we are at it, make its implementation more
4711         namespace-safe, and improve its command-line interface.
4712         (AUTOMAKE_fails): Adapt to the new command-line interface of
4713         `AUTOMAKE_run'.
4714         * tests/add-missing.test: Renamed ...
4715         * tests/add-missing.tap: ... to this, and converted to the use
4716         of the TAP protocol, and of the new `show_' function.
4717         * tests/automake.test: Renamed ...
4718         * tests/automake-cmdline.tap: ... to this, and converted to the
4719         use of the TAP protocol.
4720         * tests/getopt.test:  Adapt to the new command-line interface
4721         of `AUTOMAKE_run'.
4722         * tests/cond44.test: Likewise.
4723         * tests/cond45.test: Likewise.
4724         * tests/configure.test: Likewise.
4725         * tests/license2.test: Likewise.
4726         * tests/parallel-am.test: Likewise.
4727         * tests/parallel-am3.test: Likewise.
4728         * tests/tags2.test: Likewise.
4729         * tests/werror3.test: Likewise.
4730         * tests/werror4.test: Likewise.
4731         * tests/amopts-variable-expansion.test: Likewise.
4732         * tests/warnings-win-over-strictness.test: Likewise.
4733         * tests/Makefile.am (TESTS): Update.
4734         (TAP_LOG_DRIVER_FLAGS): Add `--merge', so that TAP diagnostic is
4735         reported in the testsuite progress output.
4737 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4739         maintcheck: fix more maintainer-check failures
4740         * tests/test-driver-custom-no-html.test (no-rst): Use `EOF',
4741         not `EoL', as the here-document delimiter.
4742         * tests/test-trs-basic.test: Use `cat + here-doc' rather
4743         than `echo' when creating the dummy test scripts, to please
4744         maintainer-check.
4745         * tests/test-trs-recover.test: Use creative quoting where
4746         needed, to please maintainer-check.
4747         * tests/parallel-tests-no-color-in-log.test: Likewise.
4748         * tests/parallel-tests-dry-run.test: Likewise.
4750 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4752         maintcheck: fix maintainer-check failures, both real and spurious
4753         * tests/amhello-binpkg.test: Use "$MAKE", not bare "make".
4754         * Makefile.am (sc_perl_local): Also allow perl special variable
4755         `$~' to be localized.  And be slightly laxer in the regexp, to
4756         allow for usages like "local $_ = $foo;".
4757         (sc_tests_overriding_macros_on_cmdline): Also allow for command
4758         line overriding of the `DISABLE_HARD_ERRORS' make variable.  Try
4759         to avoid false positives for usages like "$MAKE || st=$?".
4761 2011-08-03  Bruno Haible  <bruno@clisp.org>
4763         docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support
4764         * doc/automake.texi (Program Variables): Recommend -I options to
4765         both the build directory and the source directory when needed.
4767 2011-07-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
4769         tests: relax a test on amhello examples to cater to Solaris tar
4770         * tests/amhello-binpkg.test: When the tar implementation in use
4771         is not GNU tar, relax the tests on tar output, to avoid spurious
4772         failures.  For example, "tar cvf ..." with GNU tar can output
4773         lines like "./usr/bin/hello" on the standard output, while with
4774         Solaris tar it can output lines like "a ./usr/bin/hello 8K" on
4775         standard output, and with Heirloom tar it can output lines like
4776         "a ./usr/bin/hello 15 tape blocks" on standard error.
4778 2011-07-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
4780         test defs: function 'is_newest' now works also with directories
4781         * tests/defs (is_newest): Call `find' with the `-prune' option,
4782         so that it won't descend in the directories (which could cause
4783         spurious results).
4784         * tests/self-check-is_newest: Extend accordingly.
4785         From a report by Jim Meyering, see automake bug#9147.
4787 2011-07-15  Benoit Sigoure  <tsunanet@gmail.com>
4789         docs: add references between the 2 sections on java support
4790         * doc/automake.texi (Java Support, Java): Add cross-references.
4792 2011-07-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4794         Sync auxiliary files from upstream.
4795         * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
4796         lib/texinfo.tex: Sync from upstream.
4798 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4800         tests: fix weakness in 'tests-environment-backcompat.test'
4801         * tests/tests-environment-backcompat.test: Do not override the
4802         content of xfailing test `baz.test' with a "weaker" version that
4803         fails unconditionally: the test must fail only when the 'strict'
4804         pragma is in use, in order not to reduce coverage.
4806 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4808         docs, tests: synchronize examples on silent-rules from config.site
4809         * doc/automake.texi (Automake silent-rules Option): Reference test
4810         'silent-configsite.test' in comments.
4812 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4814         tests: portability fixes in tests on amhello examples
4815         * tests/amhello-binpkg.test: Don't use "tar xzf too.tag.gz" to
4816         extract a gzip-compressed tarball, that's unportable to some
4817         tar implementations; use the "gzip -dc fo.tar.gz | tar xf -"
4818         idiom instead.
4819         * tests/amhello-cflags.test: Likewise.
4820         * tests/amhello-cross-compile.test: Likewise.
4821         Suggestion from Ralf Wildenhues.
4823 2011-07-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4825         remake: add test ensuring that slower remakes don't hang
4826         * tests/remake-subdir-long-time.test: New test.
4827         * tests/Makefile.am (TESTS): Update.
4828         Suggestion by Ralf Wildenhues.
4830 2011-07-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4832         remake: fix outdated comment in configure.am
4833         * lib/am/configure.am: Fix comment falsified by changes in
4834         commit `v1.11-366-gbee9871'.
4835         Suggestion by Ralf Wildenhues.
4837 2011-07-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
4839         docs, tests: synchronize examples from docs to tests
4840         * tests/README (Writing test cases): Give suggestions on how to
4841         keep test cases and examples in the documentation synchronized.
4842         * doc/automake.texi: Improve or fix existing testcase-referencing
4843         comments, and add many new ones.
4844         * HACKING (Administrivia): Suggest to test complex examples and
4845         idioms from the manual.
4846         * tests/specflg8.test: Improve synchronization with the example
4847         in the manual.
4848         * tests/output11.test:Likewise.
4849         * tests/txinfo21.test:Likewise.
4850         * tests/interp.test: Likewise.
4851         * tests/amhello-cflags.test: New test.
4852         * tests/amhello-cross-compile.test: Likewise.
4853         * tests/amhello-binpkg.test: Likewise.
4854         * tests/tests-environment-backcompat.test: Likewise.
4855         * tests/parallel-tests-log-compiler-example.test: Likewise.
4856         * tests/Makefile.am (TESTS): Update.
4858 2011-06-30   Stefano Lattarini  <stefano.lattarini@gmail.com>
4860         coverage: new test on parallel-tests TESTS runtime overriding
4861         * tests/parallel-tests-cmdline-override.test: New test, check that
4862         we can use indirections when overriding TESTS and TEST_LOGS from
4863         the command line.
4864         * tests/Makefile.am (TESTS): Update.
4866 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4868         gitignore: ignore `*.trs' files in lib/Automake/tests
4869         * lib/Automake/tests/.gitignore: Add `*.trs' pattern.
4871 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4873         testsuite: list another "forgotten" test script in Makefile.am
4874         * tests/Makefile.am (TESTS): Also list test script
4875         `test-driver-trs-suffix-registered.test'; it had been introduced
4876         in commit `v1.11-910-g0c81b43', but by mistake it wasn't added
4877         to the list of tests in the Makefile back then.
4879 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4881         testsuite: list "forgotten" test script in Makefile.am
4882         * tests/Makefile.am (TESTS): Also list the test script
4883         `parallel-tests-no-color-in-log.test'; it had been introduced in
4884         commit `v1.11-899-geaac33f', but by mistake it wasn't added to
4885         the list of tests in the Makefile back then.
4887 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4889         testsuite: remove duplicated mention of a test in Makefile.am
4890         * tests/Makefile.am (tap_other_tests): Remove `tap-empty.test',
4891         it is already listed in `$(tap_with_common_setup_tests)'.
4893 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4895         testsuite: one more use of TAP in our own tests
4896         * tests/tap-bad-prog.test, tests/tap-bad-prog2.test: Merged
4897         into ...
4898         * tests/tap-bad-prog.tap: ... this TAP-generating test.
4899         * tests/Makefile.am (tap_other_tests): Remove plan-bad-prog.test
4900         and plan-bad-prog2.test.
4901         (XFAIL_TESTS): Remove plan-bad-prog2.test.
4902         (plan-bad-prog2.log): Remove.
4904 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4906         testsuite: scaffolding to allow use of TAP in our own tests
4907         Now that Automake has initial support for the TAP test protocol,
4908         we can start "eating our own dog food" and rewrite some tests to
4909         use TAP; this should allow for better granularity, especially in
4910         the control of skips and expected failures.  With this change, we
4911         set up the initial scaffolding required by the planned TAP tests,
4912         and convert few older tests to use TAP, mostly in order to verify
4913         that there are no obvious errors.  The tests in our testsuite that
4914         use the TAP protocol will be marked by the new `.tap' extension.
4915         * tests/plain-functions.sh: New file containing definition of
4916         helper shell functions used by the "protocol-less" tests of the
4917         Automake testsuite.
4918         * tests/tap-functions.sh:  New file containing definition of
4919         helper shell functions used by the TAP-producing tests of the
4920         Automake testsuite.
4921         * tests/defs: Remove definitions of some functions that are
4922         now defined in `plain-functions.sh'.  Instead, source one of
4923         `plain-functions.sh' or `tap-functions.sh', depending on whether
4924         `$use_tap' is set to "no" or "yes".
4925         (exit trap): Call `late_plan_' if `$use_tap' is true.  Also,
4926         unset shell traces before issuing the latest commands, to avoid
4927         confusing the tap driver with spurious output.
4928         * tests/defs-static.in ($use_tap): New variable, by default set
4929         to "yes" if the calling test script has a `.tap' suffix, and to
4930         "no" otherwise.  The individual scripts can override it though.
4931         In code sanity-checking the environment, verify that `$use_tap'
4932         is not exported.
4933         * tests/self-check-env-sanitize.test: Update, and small related
4934         reformatting.
4935         * tests/self-check-tap.test: New very minimal self test.
4936         * tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test,
4937         tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test:
4938         Removed, merged into ...
4939         * tests/ac-output-old.tap: ... this new test, that uses TAP.
4940         * tests/Makefile.am (TAP_LOG_DRIVER): Define to invoke our own
4941         `tap-driver' script.
4942         (TAP_LOG_DRIVER_FLAGS): Define to `--merge', so that the stdout
4943         and stderr of the test scripts remains synced.
4944         (TEST_EXTENSIONS): Define, to add the `.tap' suffix; also list
4945         the `.test' suffix explicitly.
4946         (EXTRA_DIST): Distribute the new files `plain-functions.sh' and
4947         `tap-functions.sh'.
4948         ($(TEST_LOGS)): Depends on them.
4949         (AM_TESTS_ENVIRONMENT): Ensure that `use_tap' is not exported in
4950         the environment of the tests.
4951         (TESTS): Update.
4953 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4955         * NEWS: Fix typo, and related reformatting.
4957 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4959         * NEWS: add mention of new experimental TAP support
4961 2011-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
4963         testsuite: rename some test scripts
4964         * tests/parallel-tests-am_tests_environment.test: Renamed ...
4965         * tests/am-tests-environment.test: ... to this.
4966         * tests/check-tests_environment.test: Renamed ...
4967         * tests/tests-environment.test: ... to this.
4968         * tests/parallel-test-driver-install.test: Renamed ...
4969         * tests/parallel-tests-driver-install.test: ... to this.
4970         * tests/parallel-tests-make-n.test: Renamed ...
4971         * tests/parallel-tests-dry-run.test: ... to this.
4972         * tests/Makefile.am (TESTS): Updated.
4974 2011-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
4976         coverage: parallel-tests and lazy dependencies on EXTRA_PROGRAMS
4977         * tests/parallel-tests-extra-programs.test: New test.
4978         * tests/Makefile.am (TESTS): Update.
4979         * doc/automake.texi (Parallel Test Harness): Add a comment
4980         pointing to the new test.
4982 2011-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
4984         docs: improve, extend and fix documentation on TAP support
4985         * doc/automake.texi ("Using the TAP test protocol"): Divide this
4986         section into ...
4987         ("Introduction to TAP", "Use TAP with the Automake test harness",
4988         "Incompatibilities with other TAP parsers and drivers", "Links
4989         and external resources"): ... these subsections, extend them by
4990         adding more information and examples, and improve them by removing
4991         incomplete and/or temporary wordings and TODO items.
4992         ("Script-based Testsuites", "Parallel Test Harness"): Add a couple
4993         of anchors to improve the granularity of cross-references.
4994         * tests/tap-doc2.test: New test, verifying the correctness of the
4995         new examples given in the manual.
4996         * tests/Makefile.am (tap_other_tests): Add the new test.
4998 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5000         testsuite: separate the only failing check of an xfailing test
5001         * tests/plan-bad-prog.test: Move the only failing check of this
5002         test (i.e., the one about the total number of "ERROR" outcomes)
5003         into ...
5004         * tests/plan-bad-prog2.test: ... this new test.
5005         * tests/Makefile.am (XFAIL_TESTS): Remove `plan-bad-prog.test',
5006         add `plan-bad-prog2.test'.
5007         (tap_other_tests): Add `plan-bad-prog2.test'.
5008         (plan-bad-prog2.log): Depend on `plan-bad-prog.test'.
5010 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5012         testsuite: fix spurious errors in an xfailing test on TAP support
5013         * tests/plan-bad-prog.test: Fix typo in the name of the test
5014         being made unreadable.  Correct the wording of the potential
5015         skip message, and simplify the condition under which the test
5016         is to be skipped.  Escape literal dots in grep regexps.
5018 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5020         testsuite: better granularity in a couple of tests on TAP support
5021         * tests/tap-summary-aux.sh: New auxiliary script, filled with code
5022         moved out from ...
5023         * tests/tap-summary.test: ... this test, from which the checks on
5024         colored testsuite have further been moved into ...
5025         * tests/tap-summary-color.test: ... this new test, which in turn
5026         * tests/Makefile.am (tap_other_tests): Add `tap-summary-color.test'.
5027         (EXTRA_DIST): Distribute `tap-summary-aux.sh'
5028         (tap-summary.log): Depend on `tap-summary-aux.sh'.
5029         (tap-summary-color.log): Likewise.
5031 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5033         testsuite: optimize tests on TAP for speed and against duplication
5034         The creation and configuration of common files and data used by
5035         many tests on TAP is, with this change, factored out into a new
5036         dedicated auxiliary test, from which those tests will depend upon.
5037         This reduces code duplication in tests and, more importantly,
5038         offers a noticeable speedup in the involved tests (30-40%).
5039         * tests/tap-common-setup.test: New test, setting up the common
5040         files and data used by various tests on TAP support.
5041         * tests/tap-setup.sh: New file, to be sourced by tests wanting to
5042         bring in data generated by `tap-common-setup.test'.
5043         * tests/tap-autonumber.test: Update to use the pre-computed data
5044         files.
5045         * tests/tap-bailout.test: Likewise.
5046         * tests/tap-color.test: Likewise.
5047         * tests/tap-deps.test: Likewise.
5048         * tests/tap-diagnostic.test: Likewise.
5049         * tests/tap-empty-diagnostic.test: Likewise.
5050         * tests/tap-empty.test: Likewise.
5051         * tests/tap-escape-directive.test: Likewise.
5052         * tests/tap-exit.test: Likewise.
5053         * tests/tap-signal.test: Likewise.
5054         * tests/tap-fancy.test: Likewise.
5055         * tests/tap-fancy2.test: Likewise.
5056         * tests/tap-global-log.test: Likewise.
5057         * tests/tap-global-result.test: Likewise.
5058         * tests/tap-html.test: Likewise.
5059         * tests/tap-log.test: Likewise.
5060         * tests/tap-merge-stdout-stderr.test: Likewise.
5061         * tests/tap-no-merge-stdout-stderr.test: Likewise.
5062         * tests/tap-message-0.test: Likewise.
5063         * tests/tap-no-disable-hard-error.test: Likewise.
5064         * tests/tap-no-spurious-summary.test: Likewise.
5065         * tests/tap-no-spurious.test: Likewise.
5066         * tests/tap-not-ok-skip.test: Likewise.
5067         * tests/tap-numeric-description.test: Likewise.
5068         * tests/tap-out-of-order.test: Likewise.
5069         * tests/tap-passthrough.test: Likewise.
5070         * tests/tap-passthrough-exit.test: Likewise.
5071         * tests/tap-plan.test: Likewise.
5072         * tests/tap-plan-corner.test: Likewise.
5073         * tests/tap-plan-corner2.test: Likewise.
5074         * tests/tap-plan-errors.test: Likewise.
5075         * tests/tap-realtime.test: Likewise.
5076         * tests/tap-recheck-logs.test: Likewise.
5077         * tests/tap-skip-whole.test: Likewise.
5078         * tests/tap-todo-skip-together.test: Likewise.
5079         * tests/tap-todo-skip-whitespace.test: Likewise.
5080         * tests/tap-todo-skip.test: Likewise.
5081         * tests/tap-unplanned.test: Likewise.
5082         * tests/tap-with-and-without-number.test: Likewise.
5083         * tests/tap-xfail-tests.test: Likewise.
5084         * tests/tap-skip-whole-whitespace.test: Likewise, and remove
5085         redundant definitions of `$sp' and `$tab' (they are already
5086         defined in `tests/defs').
5087         * tests/tap-whitespace-normalization.test: Likewise.
5088         * tests/Makefile.am (TESTS): Update.
5089         (EXTRA_DIST): Distribute `tap-setup.sh'.
5090         (tap_with_common_setup_tests, tap_with_common_setup_logs)): New
5091         variables, holding respectively the list of tests using the files
5092         pre-computed by `tap-common-setup.test', and the list of their
5093         corresponding log files.
5094         (tap_other_tests): New variable, holding the list of other tests
5095         on TAP support.
5096         ($(tap_with_common_setup_logs)): Depend on `tap-common-setup.log'
5097         and `tap-setup.sh'.
5099 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5101         test harness: use new `.trs' files to hold test metadata
5102         With this change, the test harness will keep test metadata in
5103         dedicated `.trs' files, instead of having them embedded into the
5104         `.log' files.  This allows for easier forward-compatibility and
5105         extension of test metadata, and for more flexibility in the
5106         format of the `.log' files.  Note that this change makes the
5107         `:end-metadata:' field obsolete.
5108         * doc/automake.texi (Parallel Test Harness, Log files generation
5109         and test results recording): Document the new APIs and behaviour;
5110         some related minor rewordings and fixlets.
5111         * NEWS: Update.
5112         * automake.in (handle_tests): When bringing in the content of
5113         `check2.am', substitute %BASE% with the basename of the `.log'
5114         file being created by a rule.  Add the generated `.trs' files
5115         to the list of files to be cleaned by "make mostlyclean".
5116         * lib/am/check.am (am__test_driver_flags): Rename ...
5117         (am__common_driver_flags): ... to this, and remove the flags
5118         `--test-name' and `--log-file' from it: they are now define in
5119         the proper rules in `check2.am'.
5120         (am__TEST_BASES): New internal variable, holding the names of
5121         the tests, with any registered extension removed.
5122         (am__stealth_MAKE): New internal variable, can be used instead of
5123         $(MAKE) in recipes requiring a recursive call to make, but which
5124         are not intended to be executed by "make -n".
5125         (.log.trs): New suffix rule, to recover from deletion of `.trs'
5126         files.
5127         ($(TEST_SUITE_LOG)): Almost completely rewritten to follow the
5128         new API of "test logs in `.log' files, test metadata in `.trs'
5129         files".  It goes to some length to work correctly in face of
5130         unreadable or missing `.log' and `.trs' files, and to error out
5131         with proper error messages when this is not possible.
5132         [%?PARALLEL_TESTS%] (check-TESTS): Also remove relevant "stale"
5133         `.trs' files (in addition to `.log files) before remaking the
5134         $(TEST_SUITE_LOG).
5135         (recheck, recheck-html): Look for the `:recheck:' field in the
5136         `.trs' files, not in the `.log' files.
5137         * lib/am/check2.am (?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Adjust
5138         the call to the test driver, in particularly passing the new
5139         option `--trs-file'.
5140         [%am__EXEEXT%] (?GENERIC?%EXT%$(EXEEXT).log): Likewise.
5141         * lib/tap-driver ($USAGE): Adjust the help screen.
5142         (Getopt::Long::GetOptions): Handle the `--trs-file' option,
5143         through the use of ...
5144         ($trs_file): ... this new global variable.
5145         (finish): Write metadata for the test run to `$trs_file' rather
5146         then to `$log_file', through the use of ...
5147         (write_test_results): ... this new function.
5148         * lib/test-driver (print_usage): Update the help screen.
5149         (Option parsing): Handle the `--trs-file' option, through the
5150         use of ...
5151         ($resfile): ... this new global variable.
5152         (Main code): Write metadata for the test run to `$trsfile' rather
5153         than to `$logfile'.
5154         Minor related adjustments to comments.
5155         * tests/.gitignore: Ignore `*.trs' files.
5156         * tests/parallel-tests-unreadable-log.test: Moved ...
5157         * tests/parallel-tests-unreadable.test: ... to this, and extended
5158         to also check the semantics for unreadable `.trs' files.
5159         * tests/test-driver-end-metadata.test: Deleted as obsolete.
5160         * tests/test-driver-metadata-no-leading-space.test: Likewise.
5161         * tests/test-driver-global-log.test: Renamed ...
5162         * tests/test-metadata-global-log.test: ... to this, and modified
5163         as to verify the new APIs and semantics.
5164         * tests/test-driver-recheck: Renamed ...
5165         * tests/test-metadata-recheck.test: ... to this, and modified
5166         likewise.
5167         * tests/parallel-tests-once.test: New test.
5168         * tests/parallel-tests-make-n.test: Likewise.
5169         * test-metadata-results.test: Likewise.
5170         * test-missing.test: Likewise.
5171         * test-missing2.test: Likewise.
5172         * test-trs-basic.test: Likewise.
5173         * test-trs-recover.test: Likewise.
5174         * test-trs-recover2.test: Likewise.
5175         * tests/Makefile.am (TESTS): Update.
5177 2011-07-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
5179         test harness: allow more metadata in log files
5180         This change reworks and improves the parallel test harness to use
5181         more specialized reStructuredText fields in the log files (instead
5182         of relying on specially-placed of "magic lines" and more indirect
5183         semantical formatting); the new fields are the following:
5184          - ":recheck:": tell whether the associated test will have to be
5185            re-run by "make recheck";
5186          - ":copy-in-global-log:": tell whether the content of the log
5187            file should be copied in the "global log" `test-suite.log';
5188          - ":end-metadata:", which inhibits the scanning of the rest of
5189            the log file (for what concerns test metadata).
5190         Also, the special `:test-result:' value "END" has been removed,
5191         superseded by the new `:end-metadata:' field.
5192         * doc/automake.texi (Log files generation and test results
5193         recording): Document the new API and semantics.  Remove or fix
5194         some obsolete comments.
5195         * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
5196         Adjust comments and code.
5197         * lib/tap-driver (finish): Adjust, with the help of ...
5198         (must_recheck, copy_in_global_log): ... these new functions.
5199         * lib/test-driver (Main code): Adjust, with the help of ...
5200         ($recheck, $gcopy): ... these new variables.
5201         * tests/trivial-test-driver: Update to obey the new APIs.
5202         * tests/test-driver-recheck.test: Likewise.
5203         * tests/test-driver-global-log.test: Likewise.
5204         * tests/tap-passthrough.test: Relax the test, avoiding to check
5205         what is written in `test-suite.log'; such check has been moved ...
5206         * tests/tap-global-log.test: ... in this new test, and extended.
5207         * tests/test-driver-metadata-no-leading-space.test: New test.
5208         * tests/test-driver-end-test-results.test: Removed, it checked
5209         the old APIs; superseded by ...
5210         * tests/test-driver-end-metadata.test: ... this new test.
5211         * tests/tap-log.test: Improve syncing with ...
5212         * tests/test-log.test: ... this new test.
5213         * tests/parallel-tests.test: Remove some duplication w.r.t. this
5214         last new test.  Updated heading comments.
5215         * tests/Makefile.am (TESTS): Update.
5217 2011-07-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
5219         testsuite: fix a spurious failure with non-bash shells
5220         * tests/tap-fancy2.test: Remove an unportable use of backslashes
5221         with the `echo' builtin, which was causing some shells (among them
5222         bash and Debian /bin/ksh) to print a `\\' string, while other
5223         shells (among them zsh, dash, and Solaris /bin/sh and /bin/ksh)
5224         were unexpectedly printing a single `\' character.  Since we are
5225         at it, add a sanity check to ensure that this issue does not
5226         resurface.
5228 2011-07-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
5230         testsuite: fix spurious failures with Solaris /bin/sh
5231         * tests/tap-more.test: Use `echo > file', not `: > file', to
5232         create empty files in the "for" loops; this is required since,
5233         as documented in the autoconf manual, Solaris 10 /bin/sh
5234         "optimizes" away the `:' command after the first iteration,
5235         even if it is redirected.
5236         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
5237         * tests/tap-numeric-description.test: Partial rewrite to avoid
5238         using positional parameters from the 10th onward, which are
5239         unportable to Solaris /bin/sh (using `${10}' causes the shell
5240         to die with "bad substitution").
5242 2011-07-31  Stefano Lattarini  <stefano.lattarini@gmail.com>
5244         simple tests: support developer-defined fd redirections
5245         Motivated by coreutils bug#8846, and related discussions:
5246          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
5247          <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
5248         In those threads it has been shown how problematic it can be to do
5249         portable file descriptor redirections in the testsuite when using
5250         the Automake testsuite harness.  This change should remedy to that
5251         situation.
5252         * lib/am/check2.am (?GENERIC?%EXT%$(EXEEXT).log,
5253         ?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Append redirection defined
5254         in $(AM_TESTS_FD_REDIRECT) to the command-line invocations of the
5255         test scripts.
5256         * lib/am/check.am [!%?PARALLEL_TESTS%] $(check-TESTS): Likewise.
5257         * NEWS: Update.
5258         * doc/automake.texi (Script-based Testsuites): Document the new
5259         feature.
5260         * tests/check-fd-redirect.test: New test.
5261         * tests/parallel-tests-fd-redirect.test: Likewise.
5262         * tests/parallel-tests-am_tests_environment.test: Remove checks
5263         about the use of redirections in AM_TESTS_ENVIRONMENT: they would
5264         check deprecated (if not undefined) behaviour now.  Strengthen a
5265         couple of still valid checks, to keep the test more in sync with
5266         the documentation.  Improve debugging information.
5267         * tests/Makefile.am (TESTS): Update.
5269 2011-07-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
5271         docs: rework and extend documentation on testsuites support
5272         * doc/automake.texi (Generalities about Testing): New section.
5273         (Simple Tests using parallel-tests): Section removed, merged
5274         into ...
5275         (Simple Tests): ... this one, which on the other hand has been
5276         subdivided into ...
5277         (Script-based Testsuites, Serial Test Harness, Parallel Test
5278         Harness): ... these new subsection.
5279         (DejaGnu Tests): Minor adjustments.
5280         Other related typofixes and rewordings throughout the manual;
5281         in particular, avoid to use the term "test driver" for three
5282         different concepts (and use instead "test harness" and "test
5283         runner" where appropriate).
5284         * tests/tap-doc.test: New test.
5285         * tests/tap-no-disable-hard-error.test: Likewise.
5286         * tests/Makefile.am (TESTS): Update.
5288 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5290         tap: support colorization of testsuite progress output
5291         * lib/tap-driver (%COLORS): New variable (definition extracted
5292         from `lib/am/check.am:$(am__tty_colors)', with some obvious
5293         adjustments.
5294         (report): Adjust to colorize console output when required,
5295         using ...
5296         (decorate_result): ... this new function.
5297         (colored): New function, used by the one above.
5298         * tests/tap-summary.test: Also run the checks when `color-tests'
5299         is in use.
5300         * tests/Makefile.am (XFAIL_TESTS): Remove `tap-color.test'.
5302 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5304         tap: some preparatory refactoring (2)
5305         This is a follow-up simplification.
5306         * lib/tap-driver (console_output): Renamed ...
5307         (report): ... to this, and extended to appropriately register
5308         the test results when needed.
5309         (testsuite_error, handle_tap_comment, handle_tap_test,
5310         handle_tap_plan): Adjusted accordingly.
5312 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5314         tap: some preparatory refactoring (1)
5315         This refactoring is aimed at simplifying the introduction of
5316         colored console output for the TAP driver.
5317         * lib/tap-driver (console_output): Now accept two arguments, the
5318         first one indicating which kind of thing is to be displayed (for
5319         now only a test result or a diagnostic comment), and the second
5320         one (if present) the message associated to it.
5321         (handle_tap_test, handle_tap_comment, handle_tap_plan,
5322         testsuite_error): Adapt to the new `console_output' interface.
5324 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5326         tap: add experimental TAP-aware driver
5327         * doc/automake.texi (Using the TAP test protocol): New section.
5328         (Overview of Custom Test Drivers Support): Minor updates.
5329         * lib/tap-driver: New script, TAP-aware test driver for Automake;
5330         implemented in perl and based on TAP::Parser.
5331         * lib/Makefile.am (dist_script_DATA): Add it.
5332         * tests/tap-autonumber.test: New test.
5333         * tests/tap-bailout.test: Likewise.
5334         * tests/tap-basic.test: Likewise.
5335         * tests/tap-deps.test: Likewise.
5336         * tests/tap-diagnostic.test: Likewise.
5337         * tests/tap-empty.test: Likewise.
5338         * tests/tap-empty-diagnostic.test: Likewise.
5339         * tests/tap-escape-directive.test: Likewise.
5340         * tests/tap-exit.test: Likewise.
5341         * tests/tap-fancy.test: Likewise.
5342         * tests/tap-fancy2.test: Likewise.
5343         * tests/tap-global-result.test: Likewise.
5344         * tests/tap-html.test: Likewise.
5345         * tests/tap-log.test: Likewise.
5346         * tests/tap-merge-stdout-stderr.test: Likewise.
5347         * tests/tap-more.test: Likewise.
5348         * tests/tap-more2.test: Likewise.
5349         * tests/tap-no-merge-stdout-stderr.test: Likewise.
5350         * tests/tap-no-spurious-summary.test: Likewise.
5351         * tests/tap-no-spurious.test: Likewise.
5352         * tests/tap-not-ok-skip.test: Likewise.
5353         * tests/tap-numeric-description.test: Likewise.
5354         * tests/tap-out-of-order.test: Likewise.
5355         * tests/tap-passthrough.test: Likewise.
5356         * tests/tap-plan.test: Likewise.
5357         * tests/tap-plan-errors.test: Likewise.
5358         * tests/tap-plan-corner.test: Likewise.
5359         * tests/tap-realtime.test: Likewise.
5360         * tests/tap-recheck-logs.test: Likewise.
5361         * tests/tap-recheck.test: Likewise.
5362         * tests/tap-skip-whole.test: Likewise.
5363         * tests/tap-summary.test: Likewise.
5364         * tests/tap-todo-skip.test: Likewise.
5365         * tests/tap-todo-skip-together.test: Likewise.
5366         * tests/tap-todo-skip-whitespace.test: Likewise.
5367         * tests/tap-skipall-whitespace.test: Likewise.
5368         * tests/tap-unplanned.test: Likewise.
5369         * tests/tap-whitespace-normalization.test: Likewise.
5370         * tests/tap-with-and-without-number.test: Likewise.
5371         * tests/tap-xfail-tests.test: Likewise.
5372         * tests/tap-bad-prog.test: New xfailing test.
5373         * tests/tap-color.test: Likewise.
5374         * tests/tap-plan-corner2.test: Likewise.
5375         * tests/tap-message-0.test: Likewise.
5376         * tests/tap-signal.test: Likewise.
5377         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
5379 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5381         test defs: new auxiliary function 'count_test_results'
5382         * tests/defs (count_test_results): New function.
5383         * tests/check11.test: Use it.
5384         * tests/test-driver-custom-multitest.test: Likewise.
5385         * tests/test-driver-custom-multitest-recheck.test: Likewise.
5386         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
5387         * tests/parallel-tests-log-override-recheck.test: Likewise.
5388         * tests/parallel-tests-log-override-recheck.test: Likewise.
5389         * tests/parallel-tests-no-spurious-summary.test: Likewise, and
5390         slightly improve debugging output.
5391         * tests/parallel-tests.test: Make use of `count_test_results'.
5392         Also, make grepping of "make check" output slightly stricter
5393         * tests/parallel-tests9.test: Likewise.
5394         * tests/parallel-tests-log-override-2.test: Likewise, and throw
5395         in a small optimization.
5397 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5399         parallel-tests: simplify testsuite summary
5400         Prefer a more deterministic, "tabular" format for the testsuite
5401         summary, always listing the numbers of passed, failed, xfailed,
5402         xpassed, skipped and errored tests, even when these numbers are
5403         zero.  This simplify the logic of testsuite summary creation,
5404         makes it more easily machine-parseable, and will probably allow
5405         for easier addition of new kinds of test results in the future.
5406         * lib/am/check.am (am__tty_colors_dummy): New make variable, to
5407         reduce code duplication.  Extracted from previous versions of
5408         $(am__tty_colors), and extended by defining two new variables
5409         `$mgn' and `$brg'.
5410         [%?COLOR%, %!?COLOR%] (am__tty_colors): Use that new variable.
5411         (am__text_box): Delete, is not needed anymore.
5412         ($(TEST_SUITE_LOG)): Rewrite associated rules to implement the
5413         new testsuite summary format.
5414         * NEWS: Update.
5415         * tests/check10.test: Don't run with the parallel-tests harness
5416         too, that makes no sense anymore.
5417         * tests/color.test: Update and adjust.
5418         * tests/color2.test: Likewise.
5419         * tests/parallel-tests.test: Likewise.
5420         * tests/parallel-tests3.test: Likewise.
5421         * tests/parallel-tests6.test: Likewise.
5422         * tests/parallel-tests9.test: Likewise.
5423         * tests/parallel-tests-unreadable-log.test: Likewise.
5424         * tests/parallel-tests-empty-testlogs.test: Likewise.
5425         * tests/parallel-tests-log-override-recheck.test: Likewise.
5426         * tests/parallel-tests-no-spurious-summary.test: Likewise.
5427         * tests/test-driver-custom-multitest.test: Likewise.
5428         * tests/test-driver-end-test-results.test: Likewise.
5429         * tests/parallel-tests-no-color-in-log.test: New test.
5430         * tests/testsuite-summary-color.test: Likewise.
5431         * tests/testsuite-summary-count.test: Likewise.
5432         * tests/testsuite-summary-count-many.test: Likewise.
5433         * tests/testsuite-summary-reference-log.test: Likewise.
5434         * tests/testsuite-summary-checks.sh: New auxiliary script, used
5435         by the new tests above.
5436         * tests/extract-testsuite-summary: Likewise.
5437         * tests/trivial-test-driver: Optimize for speed when there are
5438         lots of of tests.
5439         * tests/Makefile.am (EXTRA_DIST): Distribute them.
5440         (testsuite-summary-color.log, testsuite-summary-count.log): Depend
5441         on them.
5442         (testsuite-summary-count-many.log): Depend on the auxiliary scripts
5443         'trivial-test-driver' and 'extract-testsuite-summary'.
5444         (TESTS): Update.
5446 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5448         parallel-tests: new recognized test result 'ERROR'
5449         * lib/am/check.am ($(TEST_SUITE_LOG)): Recognize a new test result
5450         `ERROR'.  Use it when encountering unreadable test logs (previously
5451         a simple `FAIL' was used in this situations).
5452         * lib/test-driver: Set the global test result to `ERROR' when the
5453         test exit status is 99.  When doing colorized output, color `ERROR'
5454         results in magenta.
5455         * doc/automake.texi (Log files generation and test results
5456         recording): Update by listing `ERROR' too among the list of valid
5457         `:test-results:' arguments.
5458         * NEWS: Update.
5459         * tests/trivial-test-driver: Update.
5460         * tests/parallel-tests.test: Likewise.
5461         * tests/parallel-tests-harderror.test: Likewise.
5462         * tests/parallel-tests-no-spurious-summary.test: Likewise.
5463         * tests/test-driver-global-log.test: Likewise.
5464         * tests/test-driver-recheck.test: Likewise.
5465         * tests/test-driver-custom-multitest-recheck.test: Likewise.
5466         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
5467         * tests/test-driver-custom-multitest.test: Likewise.
5468         * tests/test-driver-custom-no-html.test: Likewise.
5469         * tests/test-driver-end-test-results.test: Likewise.
5470         * tests/color.test: Likewise.  Also, make stricter, and also test
5471         from VPATH.
5472         * tests/color2.test: Likewise, and improve syncing with color.test.
5473         * tests/parallel-tests-exit-statuses.test: New test.
5474         * tests/parallel-tests-console-output.test: Likewise.
5475         * tests/Makefile.am (TESTS): Update.
5477 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5479         parallel-tests: make parsing of test results safer
5480         The new code for parsing the testsuite-generated `.log' files,
5481         as introduced in commit `v1.11-872-gc96b881', considers each
5482         `:test-result:' field anywhere in a `.log' file as a declaration
5483         of a test result, and accounts for it as such in the testsuite
5484         summary.  Unfortunately this could easily cause spurious test
5485         failures being reported in the testsuite summary.  This happened
5486         in practice with the Automake's own testsuite; for example:
5487           $ make check TESTS='check12-p.test'; echo exit: $?
5488           ...
5489           PASS: check12-p.test
5490           =====================================
5491           4 of 5 tests failed
5492           See tests/test-suite.log
5493           Please report to bug-automake@gnu.org
5494           =====================================
5495           make[2]: *** [test-suite.log] Error 1
5496           make: *** [check-am] Error 2
5497           exit: 2
5498         This change introduces a new special `:test-result:' "END", that,
5499         when seen, prevents the rest of the log file from being parsed.
5500         For more information, refer to the thread:
5501         <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00199.html>
5502         * lib/am/check.am ($(TEST_SUITE_LOG)): Stop the parsing of a log
5503         file as soon as the special ":test-result:END" directive is seen.
5504         Related changes and enhancements.
5505         * lib/test-driver: Protect the rest of the log after the result
5506         lined with a ":test-result:END" directive.
5507         * doc/automake.texi (Log files generation and test results
5508         recording): Update, and related improvements.
5509         * tests/parallel-tests-no-spurious-summary.test: New test.
5510         * tests/test-driver-end-test-results.test: Likewise.
5511         * tests/Makefile.am (TESTS): Update.
5513 2011-06-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
5515         docs: document custom test drivers and protocols
5516         * doc/automake.texi (Simple Tests): Note that the TESTS_ENVIRONMENT
5517         use suggested here is not portable to 'parallel-tests'.
5518         (Simple Tests using parallel-tests): Document new restrictions on
5519         the uses of TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT.
5520         (Custom Test Drivers): New section and node.
5521         (Overview of Custom Test Drivers Support): New subsection.
5522         (Declaring Custom Test Drivers in @file{Makefile.am}): Likewise.
5523         (APIs for Custom Test Drivers): Likewise.
5524         (Options): Update description of color-tests.
5525         * lib/am/check ($(TEST_SUITE_LOG)): Remove comments that have been
5526         moved into the manual.
5527         (recheck, recheck-html): Minor adjustments to better conform to the
5528         documentation (this should cause no semantic changes w.r.t. the
5529         former behaviour); minor improvements and extensions to existing
5530         comments.
5531         * tests/test-driver-create-log-dir.test: New test.
5532         * tests/test-driver-strip-vpath.test: Likewise.
5533         * tests/test-driver-global-log.test: Likewise.
5534         * tests/test-driver-recheck.test: Likewise.
5535         * tests/Makefile.am (TESTS): Update.
5537 2011-07-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5539         tests: small enhancement to 'primary3.test'
5540         * tests/primary3.test: Also test that the program named `foo.la'
5541         has been effectively created.
5543 2011-07-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5545         tests: a small simplification in 'pr8365-remake-timing.test'
5546         * tests/pr8365-remake-timing.test: Avoid redundant definition
5547         and use of `$save_AUTOCONF' variable.
5549 2011-07-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5551         tests: remove an extra leading blank line
5552         * tests/override-conditional-1.test: Remove extra blank line
5553         placed before the shebang line.
5555 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5557         tests: fix typos, grammaros and other blunders in comments
5558         All affected files changed.
5560 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5562         test defs: new subroutine 'seq_', simulating GNU seq(1)
5563         * tests/defs (seq_): New subroutine.
5564         * tests/instmany.test: Use it.
5565         * tests/instmany-mans.test: Likewise.
5566         * tests/instmany-python.test: Likewise.
5567         * tests/self-check-seq.test: New self test.
5568         * tests/Makefile.am (TESTS): Update.
5570 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5572         tests: remove duplication about testing of config.* aux files
5573         * tests/add-missing.test: Also check that the `AC_CANONICAL_SYSTEM'
5574         autoconf macro causes the `config.sub' and `config.guess' scripts
5575         to be installed by `automake --add-missing'.  Since we are at it,
5576         fix minor buglets and cosmetic issues in the `check_' function.
5577         * tests/hosts.test: Removed, completely subsumed by the previous
5578         test now.
5579         * tests/Makefile.am (TESTS): Update.
5581 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5583         tests: more uses of the 'unindent' subroutine
5584         * tests/backcompat.test: Prefer `unindent' over plain `cat' for
5585         here documents created from within a loop of if/else body.
5586         * tests/backcompat2.test: Likewise.
5587         * tests/backcompat4.test: Likewise.
5588         * tests/init.test: Likewise.
5589         * tests/instmany.test: Likewise.
5590         * tests/instmany-mans.test: Likewise.
5591         * tests/instmany-python.test: Likewise.
5592         * tests/missing5.test: Likewise.
5593         * tests/parallel-am2.test : Likewise.
5594         * tests/parallel-am3.test : Likewise.
5595         * tests/pr307.test: Likewise.
5596         * tests/depend4.test: Likewise.  Since we are at it, normalize
5597         other code formatting.
5598         * tests/instfail-java.test: Prefer `echo' over `cat' + here-doc
5599         inside a for loop.
5601 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5603         tests: avoid '##'-style comments inside recipe commands
5604         * tests/autodist.test: Do not whitespace-indent `##' comments when
5605         they are embedded in a makefile rule: having them indented is not
5606         part of the Automake API, and might cause failures with e.g., Tru64
5607         make.
5608         * tests/autodist-subdir.test: Likewise.
5609         * tests/backcompat.test: Likewise.
5610         * tests/backcompat6.test: Likewise.
5611         * tests/colon7.test: Likewise.
5612         * tests/posixsubst-scripts.test: Likewise.
5613         * tests/posixsubst-sources.test: Likewise.
5615 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5617         tests: tweak, improve and extend tests on lisp support
5618         * tests/lisp2.test: Prettify, and improve debugging output.  Make
5619         grepping of automake stderr stricter.
5620         * tests/lisp7.test: Ensure verbose printing of captured make
5621         output.  Add trailing `:' command.
5622         * tests/lisp8.test: Likewise.
5623         * tests/lisp3.test: Likewise.  Also, check that `.el' files and
5624         compiled `.elc' files get installed by "make install", and
5625         uninstalled by "make uninstall".
5626         * tests/lisp4.test: Ensure installed `.el' files gets removed by
5627         "make uninstall".  Related changes.  Add trailing `:' command.
5628         * tests/lisp5.test: Likewise.
5629         * tests/lisp6.test: Use proper m4 quoting in configure.in.  Fix
5630         use of blank lines, to improve clarity and symmetry.  Fix typo in
5631         comment.  Add trailing `:' command.
5633 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5635         tests: drop useless requirement in 'license.test'
5636         * tests/license.test: Drop  useless requirement "makeinfo".  Add
5637         an extra blank line, for clarity.
5639 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
5641         tests defs: more uses of $top_testsrcdir
5642         * tests/autodist-stamp-vti.test: Use `$top_testsrcdir' instead
5643         of `$testsrcdir/..'.
5644         * tests/repeated-options.test: Likewise.
5645         * tests/suffix5.test: Likewise.
5646         * tests/vtexi3.test: Likewise.
5648 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
5650         self tests: fix typo in comment
5651         * tests/self-check-exit.test: Fix typo in heading comments.
5653 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
5655         tests: remove redundant settings of `errexit' shell flag
5656         * tests/amhello-binpkg.test: Do not set the `errexit' shell
5657         flag, as it is already set by `tests/defs'.
5658         * tests/amhello-cflags.test: Likewise.
5659         * tests/amhello-cross-compile.test: Likewise.
5660         * tests/ansi2knr-deprecation.test: Likewise.
5661         * tests/autodist-no-duplicate.test: Likewise.
5662         * tests/distcheck-configure-flags-am.test: Likewise.
5663         * tests/distcheck-configure-flags-subpkg.test: Likewise.
5664         * tests/distcheck-configure-flags.test: Likewise.
5665         * tests/distcheck-hook.test: Likewise.
5666         * tests/distcheck-hook2.test: Likewise.
5667         * tests/parallel-tests-am_tests_environment.test: Likewise.
5668         * tests/parallel-tests-harderror.test: Likewise.
5669         * tests/parallel-tests-log-compiler-example.test: Likewise.
5670         * tests/parallel-tests-log-override-1.test: Likewise.
5671         * tests/parallel-tests-log-override-2.test: Likewise.
5672         * tests/parallel-tests-log-override-recheck.test: Likewise.
5673         * tests/primary-prefix-couples-documented-valid.test: Likewise.
5674         * tests/primary-prefix-couples-force-valid.test: Likewise.
5675         * tests/primary-prefix-invalid-couples.test: Likewise.
5676         * tests/primary-prefix-valid-couples.test: Likewise.
5677         * tests/remake-subdir-from-subdir.test: Likewise.
5678         * tests/remake-subdir-gnu.test: Likewise.
5679         * tests/remake-subdir-long-time.test: Likewise.
5680         * tests/remake-subdir.test: Likewise.
5681         * tests/remake-subdir2.test: Likewise.
5682         * tests/silent-configsite.test: Likewise.
5683         * tests/tests-environment-backcompat.test: Likewise.
5685 2011-06-29   Stefano Lattarini  <stefano.lattarini@gmail.com>
5687         docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
5688         * doc/automake.texi (Simple Tests using parallel-tests): Ditto, and
5689         related adjustments.
5690         Suggestion by Ralf Wildenhues.
5692 2011-06-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
5694         docs: fix unportable example of AM_TESTS_ENVIRONMENT usage
5695         * doc/automake.texi (Simple Tests using parallel-tests): The
5696         old example on AM_TESTS_ENVIRONMENT relied on unportable shell
5697         features, and in particular didn't work with various Korn
5698         Shells (see also commit `v1.11-925-g29ca903').  Give another
5699         example, simpler this time, but still inspired to real-world
5700         usage (the GNU coreutils testsuite).
5702 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5704         docs: avoid a footnote, some related rewordings and improvements
5705         * doc/automake.texi (Dist): Reword the part about automatically
5706         distributed files to avoid a footnote.  Since we are at it, extend
5707         a bit, and add an example and a reference to a relevant test case.
5709 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5711         docs: minor cosmetic fixes
5712         * doc/automake.texi: Break few overly long lines, throughout the
5713         file.
5714         ("Simple Tests"): Move @vindex for XFAIL_TESTS to the correct
5715         position, i.e., before and not after the paragraph where it is
5716         introduced.
5717         ("Options" @item ansi2knr): Use @pxref instead of @xref.  This
5718         fixes a texinfo warning.
5719         ("Other things Automake recognizes" @item AM_C_PROTOTYPES): Use
5720         @pxref instead of @ref.
5722 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5724         help: improve text about automatically-distributed files
5725         This change fixes automake bug#7819.
5726         * automake.in (usage): Distinguish between files that are always
5727         automatically distributed when found, and those which are only
5728         "under certain conditions".
5729         * doc/automake.texi (Basics of Distribution): Update accordingly.
5730         * tests/autodist-subdir.test: Update.
5731         * tests/autodist-no-duplicate.test: Likewise.
5732         * tests/autodist.test: Likewise.
5733         (configure.in): Remove useless call to AM_MAINTAINER_MODE.
5735 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5737         refactor: split 'usage' subroutine in automake
5738         This change is related to automake bug#7819.
5739         * automake.in (print_autodist_files): New subroutine,
5740         extracted from ...
5741         (usage): ... this, which now uses it.
5742         * tests/autodist-no-duplicate.test: New test.
5743         * tests/Makefile.am (TESTS): Update.
5745 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5747         tests: fix bug in 'autodist.test'
5748         * tests/autodist.test: Avoid spurious failure due to no
5749         `defs-static' file being found in the parent directory.
5751 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
5753         parallel-tests: allow each test to have multiple results
5754         With this change, we improve the code creating the `test-suite.log'
5755         global log and the console testsuite summary to make it able to
5756         grasp multiple results per test script.  This is required in order
5757         to introduce the planned support for test protocols, like TAP and
5758         SubUnit, which can indeed run multiple tests per test script, each
5759         with its individual result.
5760         The implementation makes use of a custom reStructuredText field
5761         `:test-result:'.
5762         Note that no new documentation is added by this change; that is
5763         be left for follow-up changes.
5764         * lib/check.am ($(TEST_SUITE_LOG)): When processing .log files,
5765         recognize a report of a test's result only if it is declared with
5766         the custom `:test-result:' reStructuredText field placed at the
5767         beginning of a line.  Extend and add explanatory comments.
5768         (recheck, recheck-html): Add explanatory comments.
5769         * lib/test-driver: Write an appropriate reStructuredText field
5770         `:test-result:' in the generated log file.  Use a reStructuredText
5771         transition to better separate the test outcome report from the
5772         test script's registered output.  Improve comments.
5773         * tests/test-driver-custom-xfail-tests.test: Adjust.
5774         * tests/parallel-tests7.test: Adjust.
5775         * tests/parallel-tests-empty-testlogs.test: New test.
5776         * tests/parallel-tests-recheck-override.test: Likewise.
5777         * tests/parallel-tests2.test: Extend and keep more in-sync with ...
5778         * tests/test-driver-custom-html.test: ... this new related test.
5779         * tests/test-driver-custom-no-html.test: New test.
5780         * tests/test-driver-custom-multitest.test: Likewise.
5781         * tests/test-driver-custom-multitest-recheck.test: Likewise.
5782         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
5783         * tests/trivial-test-driver: New file, used by the last four tests
5784         above.
5785         * tests/Makefile.am (TESTS): Update.
5786         (EXTRA_DIST): Distribute `trivial-test-driver'.
5787         (test-driver-custom-multitest.log): Depend on `trivial-test-driver'.
5788         (test-driver-custom-multitest-recheck.log): Likewise.
5789         (test-driver-custom-multitest-recheck2.log): Likewise.
5790         (test-driver-custom-html.log): Likewise.
5792 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
5794         parallel-tests: allow custom driver scripts
5795         Allow suffix-based definition of custom "driver script" for the
5796         test scripts.  These driver scripts will be responsible of
5797         launching the tests (or their corresponding $(LOG_COMPILER), if
5798         they have an associated one), interpreting and displaying the
5799         test results, and writing the `.log' files.
5800         This new API should allow easy and flexible use of different
5801         test protocols in the future; in particular, we plan to use it
5802         to implement TAP and SubUnit harnesses.
5803         Note that no new documentation is added by this change; that is
5804         be left for follow-up changes.
5805         * automake.in (handle_tests): Define default for $(LOG_DRIVER),
5806         and, for any registered test extension `<ext>', define defaults
5807         for $(<ext>_LOG_DRIVER).  Substitute %DRIVER% using these new
5808         variables, instead of the old internal $(am__test_driver).  When
5809         processing check2.am, also substitute %DRIVER_FLAGS%.
5810         Require auxiliary script `test-driver' only if no driver has been
5811         explicitly defined for the test script kinds.
5812         * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
5813         ?!GENERIC?%OBJ%): Pass the %DRIVER_FLAGS% to the %DRIVER% call.
5814         * tests/parallel-tests-no-extra-driver.test: New test.
5815         * tests/test-driver-custom.test: Likewise.
5816         * tests/test-driver-custom-xfail-tests.test: Likewise.
5817         * tests/test-driver-fail.test: Likewise.
5818         * tests/Makefile.am: Update.
5819         * NEWS: Update.
5821 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
5823         parallel-tests: add auxiliary script 'test-driver', refactor
5824         This refactoring should cause no API of functionality change,
5825         and is meant only to simplify the future implementation of TAP
5826         and SubUnit testsuite drivers.  More precisely, our roadmap is
5827         to move most of the "testsuite driving" features out of the
5828         Automake-generated Makefiles, and into external scripts with
5829         well-defined interfaces.  This will allow the user to define
5830         its own personalized testsuite drivers, and will also offer us
5831         a framework upon which to implement our new TAP and SubUnit
5832         drivers, all in a very unobtrusive way and retaining an high
5833         degree of code reuse and backward-compatibility.
5834         * lib/test-driver: New auxiliary script.
5835         * lib/Makefile.am (dist_SCRIPT_DATA): Add it.
5836         * automake.in (handle_tests): Require the new auxiliary script
5837         `test-driver', and define a new internal makefile variable
5838         `$(am__test_driver)', used to call it.  Perform new substitution
5839         on `DRIVER' when processing the `check2.am' file.
5840         * lib/check.am (am__tty_colors): Define new shell variable
5841         `$am__color_tests'.
5842         (am__rst_section): Removed, its role taken over by the new
5843         `test-driver' script.
5844         (am__test_driver_flags): New variable, contains the command
5845         line options passed to `test-driver'.
5846         (am__check_pre): Do not deal with temporary files and exit
5847         traps anymore, as the `test-driver' script takes care of that
5848         now.  Define shell variable `$am__enable_hard_errors', used by
5849         `$(am__test_driver_flags)'.  Reorder so that we don't need to
5850         save and restore the value of the `TERM' environment variable
5851         anymore.
5852         Other related adjustments.
5853         (am__check_post): Remove, as its role has been completely taken
5854         over by the `test-driver' script.
5855         * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
5856         ?!GENERIC?%OBJ%): Call the test script through the Automake
5857         substituted `%DRIVER%', and honor the command-line options
5858         in `$(am__test_driver_flags)'.  Do not call the obsoleted
5859         `$(am__check_post)' anymore.
5860         * doc/automake.texi (Auxiliary Programs): Mention the new
5861         `test-driver' script.
5862         (Optional): Mention `test-driver' in AC_CONFIG_AUX_DIR.
5863         Since we are at it, break the list of auxiliary scripts by
5864         placing one per line, to simplify potential future additions
5865         of new scripts.
5866         * tests/check.test: Adjust.
5867         * tests/check2.test : Likewise.
5868         * tests/check3.test : Likewise.
5869         * tests/check4.test : Likewise.
5870         * tests/check10.test: Likewise.
5871         * tests/color.test: Likewise.
5872         * tests/color2.test: Likewise.
5873         * tests/comment9.test: Likewise.
5874         * tests/dejagnu.test: Likewise.
5875         * tests/exeext4.test: Likewise.
5876         * tests/maken3.test: Likewise.
5877         * tests/maken4.test: Likewise.
5878         * tests/parallel-tests-interrupt.test: Likewise.
5879         * tests/posixsubst-tests.test: Likewise.
5880         * tests/repeated-options.test: Likewise.
5881         * tests/check-no-test-driver.test: New test.
5882         * tests/parallel-test-driver-install.test: Likewise.
5883         * tests/Makefile.am (TESTS): Update.
5884         * NEWS: Update.
5886 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
5888         maintcheck: extend 'sc_tests_plain_*' checks
5889         * Makefile.am (sc_tests_plain_autom4te): New check.
5890         (sc_tests_plain_autoreconf): Likewise.
5891         (sc_tests_plain_autoheader): Likewise.
5892         (syntax_check_rules): Update.
5894 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
5896         tests: interactions between TESTS_ENVIRONMENT and LOG_COMPILER
5897         * tests/tests-environment-and-log-compiler.test: New test,
5898         checking that we can use variables and functions set by
5899         TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT in LOG_COMPILER
5900         and LOG_FLAGS (for tests both with and without registered
5901         extensions).
5902         * tests/Makefile.am (TESTS): Update.
5904 2011-06-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5906         tests: make 'subst-no-trailing-empty-line.test' more robust
5907         * tests/subst-no-trailing-empty-line.test: Strengthen existing
5908         checks, to try more scenarios and be slightly stricter in some
5909         grepping checks.
5911 2011-06-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5913         tests: fix an incomplete comment
5914         * tests/subst-no-trailing-empty-line.test: Fix an incomplete
5915         comment, and move it to a more proper place.  Minor cosmetic
5916         fixes to other comments.
5918 2011-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
5920         maintcheck: avoid few more spurious failures
5921         * tests/depmod-data.test: Use creative quoting to avoid
5922         spuriously triggering the `sc_tests_Exit_not_exit' maintainer
5923         check.  Commit `v1.11-900-g3453b8e' attempted to fix it, but
5924         succeeded only partially.
5925         * tests/cond33.test: Fix header comments, not to reference
5926         obsolescent make variable `$(mkdir_p)'.
5927         * tests/cond4.test: Rewrite "$MAKE exp=..." as "exp=.. $MAKE -e",
5928         to please `sc_tests_overriding_macros_on_cmdline'
5929         * tests/cond19.test: Likewise.
5930         * tests/cond32.test: Likewise.
5931         * tests/add-missing.test: Use "AUTOMAKE_fails" instead of
5932         "$AUTOMAKE ... && Exit 1", to please `sc_tests_automake_fails'.
5934 2011-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
5936         maintcheck: avoid few spurious failures
5937         * Makefile.am (sc_tests_plain_aclocal, sc_tests_plain_perl,
5938         sc_tests_plain_autoconf, sc_tests_plain_automake,
5939         sc_tests_plain_autoupate): Be stricter in matching an erroneous
5940         literal command, i.e., `aclocal', `automake', `perl', etc.
5942 2011-06-20  Bert Wesarg <bert.wesarg@googlemail.com>  (tiny change)
5944         check: don't use multi-line coloring for the report
5945         "less -R" can't handle multi-line coloring as it is done for the
5946         check reports of the serial and parallel testsuite, because of
5947         performance reasons.  Thus, color each line of the check report
5948         by its own.
5949         * lib/am/check.am (am__text_box): Accept colors for lines, and
5950         color each line by its own.
5951         [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Let am__text_box handle
5952         the line coloring.
5953         [!%?PARALLEL_TESTS%] $(check-TESTS): Color each report line by
5954         its own.
5955         * THANKS: Update.
5957 2011-06-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5959         docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
5960         * doc/automake.texi (Checking the Distribution): Explain that the
5961         developers should take care of making their code buildable without
5962         requiring any special configure options, so that in general
5963         AM_DISTCHECK_CONFIGURE_FLAGS shouldn't be used.  Give an example
5964         of where its use is legitimate.
5965         Suggestions from Ralf Wildenhues and Eric Blake.
5967 2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
5969         ansi2knr: deprecate, it will go away in the next major release
5970         * doc/automake.texi: Loudly and repeatedly state that the old
5971         de-ANSI-fication features are now deprecated and will be removed
5972         in the next major Automake release.  Other related adjustments.
5973         * lib/Automake/Options.pm (_process_option_list ): Give a warning
5974         in the `obsolete' category when the `ansi2knr' option is used.
5975         * m4/protos.m4 (AM_C_PROTOTYPES): Deprecate this macro: a warning
5976         in the `obsolete' category will be emitted it if is used.
5977         * tests/ansi2knr-deprecation.test: New test.
5978         * tests/Makefile.am (TESTS): Update.
5979         * tests/ansi.test: Adjust, by calling autoconf and/or automake
5980         with the `-Wno-obsolete' flag.
5981         * tests/ansi10.test: Likewise.
5982         * tests/ansi2.test: Likewise.
5983         * tests/ansi3.test: Likewise.
5984         * tests/ansi3b.test: Likewise.
5985         * tests/ansi4.test: Likewise.
5986         * tests/ansi5.test: Likewise.
5987         * tests/ansi6.test: Likewise.
5988         * tests/ansi7.test: Likewise.
5989         * tests/ansi8.test: Likewise.
5990         * tests/ansi9.test: Likewise.
5991         * tests/cxxansi.test: Likewise.
5992         * tests/libobj8.test: Likewise.
5993         * NEWS: Update about the future planned backward-incompatibility
5994         due to the removal of de-ANSI-fication feature.
5996 2011-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
5998         docs: primary/prefix combination "pkglib_PROGRAMS" is now invalid
5999         * doc/automake.texi (Program Sources): pkglib_PROGRAMS is not a
6000         valid combination anymore, so don't document it.  Inconsistency
6001         introduced in commit `v1.11-373-g9ca6326'.
6003 2011-06-19  Jim Meyering  <meyering@redhat.com>
6005         docs: replace obsolete @vindex entry with a useful one
6006         * doc/automake.texi (Program Sources): Do not index obsolete
6007         pkglib_PROGRAMS here.  Do index pkglibexec_PROGRAMS.
6009 2011-06-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
6011         tests: more checks on portable fd redirection in TESTS_ENVIRONMENT
6012         * tests/tests-environment-fd-redirect.test: Extend by also using
6013         a perl script among the tests.  Run the test shell script with
6014         the `errexit' flag active.  Export `VERBOSE' to yes when running
6015         "make check", to give more debugging information in case of
6016         failures.  Look for a Korn Shell also in `/usr/bin', not on only
6017         in `/bin'.
6019 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6021         tests: optimize tests on primary/prefix mismatch for speed
6022         * tests/primary-prefix-invalid-couples.test: Partial rewrite, in
6023         order to use just a single automake invocation rather than one
6024         invocation for each invalid primary/prefix couple.  This improves
6025         the test script execution time by an order of magnitude.
6026         Since we are at it, throw in some other improvements to avoid
6027         unrelated automake warnings and failures that could potentially
6028         cause false positives w.r.t. the automake exit status.
6030 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6032         news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
6033         * NEWS (Miscellaneous changes): Update.
6035 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
6037         maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
6038         * Makefile.am (sc_tests_overriding_macros_on_cmdline): It's now
6039         acceptable that the test scripts override DISTCHECK_CONFIGURE_FLAGS
6040         on the make command line.  Update comments accordingly.  Since we
6041         are at it, make the relevant grepping rules slightly tighter.
6043 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
6045         distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
6046         * doc/automake.texi (Checking the Distribution): Suggest to use
6047         AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to
6048         define (in the top-level Makefile.am) extra flags to be passed
6049         to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS
6050         should be reserved for the user.  Add proper `@vindex' directive.
6051         Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a
6052         subpackage Makefile.am, but the flags in it are passed down to
6053         the configure script of the subpackage.
6054         * lib/am/distdir.am (distcheck): Also pass the flags in
6055         $(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation.
6056         Update comments.
6057         * tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS,
6058         DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in
6059         the environment, they might improperly influence our testsuite.
6060         * tests/distcheck-configure-flags.test: New test.
6061         * tests/distcheck-configure-flags-am.test: Likewise.
6062         * tests/distcheck-configure-flags-subpkg.test: Likewise.
6063         * distcheck-hook.test: Likewise.
6064         * distcheck-hook2.test: Likewise.
6065         * tests/Makefile.am (TESTS): Update.
6066         Closes automake bug#8784.
6068 2010-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
6070         docs: better documentation for silent make rules
6071         * doc/automake.texi (Options): Detailed description of the
6072         automake option `silent-rules' moved from here ...
6073         (Silent Make): ... into this new chapter, expanded, improved,
6074         and subdivided into ...
6075         (Make verbosity, Tricks For Silencing Make,
6076         Automake silent-rules Option): ... these new sections.
6077         (@menu, @detailmenu): Update.
6078         * tests/silent-configsite.test: New test, checking that the
6079         user can control default mode of silent-rules from config.site,
6080         as is documented in the manual.
6081         * tests/Makefile.am (TESTS): Updated.
6083 2011-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
6085         Warnings about primary/prefix mismatch fixed and extended.
6086         * automake.in (%standard_prefix): Add `doc' and `locale'.
6087         Rename `pkgdatadir' to `pkgdata'.  Similarly for`pkglibdir',
6088         `pkgincludedir' and `pkglibexecdir'.
6089         (handle_programs): List `pkglibexec', not `pkglib', among the
6090         prefixes valid for the `PROGRAMS' primary.
6091         (handle_data): List also `doc' among the prefixes valid for
6092         the `DATA' primary.  This is required by automake's own build
6093         system.
6094         * tests/dirforbid.test: Test removed, superseded by ...
6095         * tests/primary-prefix-invalid-couples.test: ... this new test.
6096         * tests/primary-prefix-valid-couples.test: New test.
6097         * tests/primary-prefix-couples-documented-valid.test: Likewise.
6098         * tests/primary-prefix-couples-force-valid.test: Likewise.
6099         * tests/java3.test: Adjusted, and extended a bit.
6100         * tests/Makefile.am (TESTS): Updated.
6101         * NEWS: Updated.
6102         From a report by Eric Blake.
6104 2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
6106         tests: check portable fd redirection in TESTS_ENVIRONMENT
6107         * tests/tests-environment-fd-redirect.test: New test.
6108         * tests/Makefile.am (TESTS): Update.
6109         Motivated by coreutils bug#8846:
6110          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
6111         See also following CC:ed thread on bug-autoconf list:
6112          <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
6114 2011-06-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
6116         tests: make test 'self-check-reexec.test' more portable
6117         * tests/self-check-reexec.test: Rewrite not to require a Korn
6118         Shell able to grok variable expansions such as `${.sh.version}';
6119         Solaris 10 /bin/ksh fails on this for example.  Instead, just
6120         require bash and a shell that is not bash.
6122 2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
6123             Jim Meyering  <meyering@redhat.com>
6125         test defs: fix ksh-related portability bug in warning messages
6126         Running "make check" normally prints a diagnostic to the outermost
6127         stderr (usually a tty) to explain why a test is skipped, thus
6128         giving better and faster feedback to the user.  It used to do
6129         so by redirecting file descriptor 9 to stderr (via "exec 9>&2")
6130         before invoking the test scripts, which then would write any skip
6131         explanation to file descriptor 9 via the `skip_' function defined
6132         in `tests/defs'.
6133         However, various Korn Shells (at least Solaris 10's /bin/ksh and
6134         Debian GNU/Linux's /bin/ksh) and the HP-UX's /bin/sh close open
6135         file descriptors > 2 upon an `exec' system call; thus the effects
6136         of "exec 9>&2" are cancelled upon fork-and-exec, so we would get
6137         a "Bad file number" diagnostic and no skip explanation with those
6138         shells.
6139         The present change remedies this situation.
6140         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Redirect more portably,
6141         via a trailing "9>&2", rather than the prior "exec 9>&2; ...".  Add
6142         explanatory comments.
6143         * tests/defs (stderr_fileno_): Update the advice in comments.
6144         Based on commit v8.12-82-g6b68745 "tests: accommodate HP-UX and
6145         ksh-derived shells" in GNU coreutils.
6146         Further references, with lots of discussion:
6147          <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
6148          <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488>
6149          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
6151 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6153         tests: remove 'test_prefer_config_shell' from the environment
6154         Since commit `v1.11-910-g7df1a9b', the once user-overridable
6155         variable `$test_prefer_config_shell' has become an internal
6156         detail, and the test scripts now complain and bail out if it is
6157         set in the environment.
6158         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Unset the variable
6159         `test_prefer_config_shell' if it is set in the environment.
6161 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6163         tests: autogenerate list of wrapped tests for `lib/' shell scripts
6164         * tests/gen-config-shell-tests: New script, generates distributed
6165         makefile snippet `tests/config-shell-tests.am' to list all tests
6166         that use the `get_shell_script' function, with names mangled to
6167         use suffix `-w.shtst', in ...
6168         * tests/Makefile.am (config_shell_tests): ... this macro, whose
6169         definition has been consequently removed from Makefile.am.
6170         (EXTRA_DIST): Distribute the new script.
6171         ($(srcdir)/config-shell-tests.am): Generate using the new script.
6172         (include): Include the `config-shell-tests.am' fragment.
6173         * bootstrap: Invoke `tests/gen-config-shell-tests' to generate
6174         `tests/config-shell-tests.am'.
6175         * tests/.gitignore: Ignore `config-shell-tests.am'.
6176         * tests/gen-parallel-tests: Fixlet in heading comments.
6178 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6180         tests: test mdate-sh with /bin/sh too
6181         * tests/mdate5.test: Fetch the `mdate-sh' script using the
6182         `get_shell_script' function, and run it directly instead of
6183         using `$SHELL'.
6184         * tests/mdate6.test: Likewise.  Since we are at it, make checks
6185         on the `mdate-sh' output stricter, remove now unneeded calls to
6186         aclocal and automake and creation/extension of `configure.in',
6187         `Makefile.am' and `textutils.tex' files, and add a trailing `:'
6188         command.
6189         * tests/Makefile.am (config_shell_tests): Add `mdate5-w.shtst'
6190         and `mdate6-w.shtst'.
6192 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6194         tests: extend tests on `--add-missing' and `--copy' a bit
6195         * tests/add-missing.test: Fix typo in heading comments.  Try with
6196         another testcase that install many (but not all) the auxiliary
6197         scripts at once, and uses non-standard (but valid and documented)
6198         setups (e.g., defining YACC in Makefile.am instead of calling
6199         AC_PROG_YACC from configure.in).
6200         * tests/copy.test: Reference `add-missing.test' in heading
6201         comments.  Try few more test scenarios.
6203 2011-06-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
6205         tests: few fixlets and improvements
6206         * tests/cond31.test ($required): Remove `cc', it's not really
6207         needed.
6208         * tests/confh.test: Call autoheader too.  The lack of this call
6209         wasn't causing spurious failures because the automatic remake
6210         rules were somehow invoking it on our behalf (at make time).
6211         * tests/fn99subdir.test: Use $subdirname throughout, instead of
6212         ${subdirname}, for consistency with the rest of the testsuite.
6213         Avoid an unnecessary subshell, which could also cause spurious
6214         passes, being guarded by a trailing `|| Exit 1', which neutralize
6215         the `errexit' flag.  Remove an unnecessary `|| Exit 1' guard.
6216         * tests/insh2.test: Rewrite to avoid hackish Makefile.in munging,
6217         and to also run configure and make.
6219 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6221         tests: don't hard-code test name in txinfo21.test
6222         * tests/txinfo21.test: Use `$me' instead of hard-coding the
6223         current testcase name "txinfo21".  Add a trailing `:' command
6224         since we are at it.
6226 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
6228         tests: new test dedicated to `--add-missing' and `--copy'
6229         * tests/add-missing.test: New test.
6230         * tests/Makefile.am (TESTS): Update.
6231         Suggested by Peter Rosin.
6233 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6235         testsuite: use 'fatal_' and 'framework_failure_' for hard errors
6236         * tests/defs (require_xsi): Use `fatal_', not `framework_failure',
6237         to report an invalid usage.
6238         * tests/remake-gnulib-remove-header.test: Prefer using `fatal_'
6239         with a proper error message over a direct call to `Exit 99'.
6240         * tests/pr8365-remake-timing.test: Likewise.
6241         * tests/cygnus-imply-foreign.test: Likewise.
6242         * tests/missing6.test: Likewise.
6243         * tests/cond8.test: Likewise.
6244         * tests/cond33.test: Likewise.
6245         * tests/python-virtualenv.test: Prefer using `framework_failure_'
6246         with a proper error message over a direct call to `Exit 99'.
6247         * tests/instspc-tests.sh: Prefer using `framework_failure_' and
6248         `fatal_' over direct calls to `Exit 99'.
6249         (fatal_): Define this (which is a simplified version of the one
6250         in `tests/defs') for early uses (i.e., before `tests/defs'
6251         gets sourced).
6252         * tests/depmode-tests.sh: Likewise.  Also, simplify the
6253         'get_depmodes' function and calls to it accordingly.
6255 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6257         self tests: check new 'fatal_' function
6258         * tests/self-check-exit.test: Also check the new 'fatal_'
6259         function.
6261 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6263         test defs: new function 'fatal_', for hard errors
6264         Before this patch, the only way offered by tests/defs to
6265         properly signal a hard error was the `framework_failure_'
6266         function.  But the error message issued by that function,
6267         as its name would suggest, refers to a set-up failure in the
6268         testsuite, while hard errors can obviously also be due to
6269         other reasons.  The best way to fix this inconsistency is to
6270         introduce a new function with a more general error message.
6271         Inspired by a recent similar change to Gnulib's tests/init.sh.
6272         * tests/defs (fatal_): New function.
6273         * tests/README (Section "Writing test cases" subsection "Do"):
6274         Suggest the use of `fatal_', not of `framework_failure_', for
6275         generic hard errors.  The latter should be reserved for "real"
6276         set-up failures.
6278 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6280         py-compile: '--' and non-option arguments terminate the option list
6281         * lib/py-compile: Any non-option argument, or the special `--'
6282         argument, now explicitly terminates the list of options.
6283         * tests/py-compile-option-terminate.test: New test.
6284         * tests/Makefile.am (TESTS): Update.
6285         * NEWS: Update.
6287 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6289         py-compile: complain on unrecognized options
6290         * lib/py-compile: Complain on unrecognized options.  Don't be too
6291         lax in matching `--help' and `--version' options.
6292         * tests/py-compile-usage.test: Extend accordingly.
6293         * NEWS: Update.
6295 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6297         py-compile: normalize error and help messages
6298         * lib/py-compile: Now error messages do not begin with a capital
6299         letter, nor end with a period, as per GNU standards.  Prepend the
6300         error messages with the name of the script, not with its path.
6301         When an invalid usage is recognized, always display the customary
6302         message "Try `py-compile --help' ..." on a line of its own.
6303         ($me): New variable, containing the name of the
6304         program, i.e., `py-compile'.  Use it throughout.
6305         (usage_error): New function, used to display error messages about
6306         invalid usage.
6307         * tests/py-compile-usage.test: Extend and tighten accordingly.
6309 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6311         python tests: add "unit tests" on py-compile
6312         * tests/py-compile-basic.test: New test.
6313         * tests/py-compile-basic2.test: New test.
6314         * tests/py-compile-basedir.test: Likewise.
6315         * tests/py-compile-destdir.test: Likewise.
6316         * tests/py-compile-env.test: Likewise.
6317         * tests/py-compile-usage.test: Likewise.
6318         * tests/Makefile.am (TESTS): Update.
6319         Tested with python 2.0.1, 2.4.6, 2.6.6, 2.7.1, and 3.1.3.
6321 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6323         py-compile: the '--destdir' option now accepts a blank argument
6324         * lib/py-compile (Option parsing): Do not count an empty argument
6325         to `--destdir' or `--basedir' as a missing argument.
6326         * lib/python.am: Simplify accordingly, passing the `--destdir'
6327         option to py-compile unconditionally, even if `$(DESTDIR)' is
6328         empty.
6329         * NEWS: Update.
6331 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6333         python: run the 'py-compile' script with $(SHELL)
6334         * lib/python.am (install-%DIR%PYTHON): Run each instance of
6335         py-compile using $(SHELL).  Since we are at it, break overly
6336         long lines.
6337         (am__py_compile): New variable, to reduce code duplication.
6340 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
6342         tests: `lib/' shell scripts transparently tested also with $SHELL
6343         With the previous commit, the user could prefer the use of $SHELL
6344         over /bin/sh in some tests checking the Automake-provided shell
6345         scripts by manually exporting `test_prefer_config_shell' to "yes"
6346         in the environment.  With this commit, we ensure that such tests
6347         *always* and *transparently* run using both $SHELL and /bin/sh
6348         to execute the checked scripts.  The `test_prefer_config_shell'
6349         variable becomes an internal detail, and is no more meant to be
6350         manually defined or overridden.
6351         * tests/defs-static.in: Check that `test_prefer_config_shell' is
6352         not exported in the environment.  Error out if this is the case.
6353         * tests/config-shell-tests.sh: New file, driver script to run
6354         checks on the shell scripts in `lib/' using the $SHELL determined
6355         at configure time instead of the default system shell /bin/sh.
6356         * Makefile.am (TESTS_EXTENSIONS): Add `.shtst'.
6357         (SHTST_LOG_COMPILER): Define, it calls `config-shell-tests.sh'.
6358         (config_shell_tests): Define to a list of tests that wraps other
6359         `*.test' tests using `config-shell-tests.sh'.
6360         ($(config_shell_tests)): Dummy dependency declaration required
6361         in order to have make actually produce expected log files from
6362         the `.shtst.log' suffix rule.
6363         (EXTRA_DIST): Distribute `config-shell-tests.sh'.
6364         (TESTS): Add `$(config_shell_tests)'.
6365         * tests/self-check-env-sanitize.test: Update, by checking that
6366         `test_prefer_config_shell' isn't exported in the environment.
6368 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
6370         tests: can use also $SHELL to check shell scripts from `lib/'
6371         * tests/ar-lib.test: If the variable `$test_prefer_config_shell'
6372         is set to "yes", run the script under test with configure-time
6373         determined $SHELL, rather than with /bin/sh.
6374         The `$test_prefer_config_shell' variable defaults to empty, but
6375         can be overridden at runtime by the user, thus allowing more
6376         coverage.
6377         * tests/compile.test: Likewise.
6378         * tests/compile2.test: Likewise.
6379         * tests/compile3.test: Likewise.
6380         * tests/compile4.test: Likewise.
6381         * tests/compile5.test: Likewise.
6382         * tests/compile6.test: Likewise.
6383         * tests/instsh2.test: Likewise.
6384         * tests/instsh3.test: Likewise.
6385         * tests/mkinst3.test: Likewise.
6386         * tests/missing.test: Likewise.
6387         * tests/missing2.test: Likewise.
6388         * tests/missing3.test: Likewise.
6389         * tests/missing5.test: Likewise.
6390         * tests/defs (get_shell_script): New subroutine, factoring out
6391         code common to the tests above.
6392         (xsi-lib-shell): If `$test_prefer_config_shell' is set to "yes",
6393         check that $SHELL, not /bin/sh, supports XSI constructs, as we
6394         expect the test will use $SHELL and not /bin/sh to run the
6395         script being tested.
6397 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
6399         tests defs: better requirements for XSI shells
6400         This change avoids potential spurious failures with tests using
6401         the requirement 'xsi-shell' to mean that they want */bin/sh* (not
6402         $SHELL) to be XSI-conforming.  This idiom used to work before
6403         commit `v1.11-874-g1321be7' (as back then the test scripts were
6404         unconditionally run with /bin/sh), but has become inconsistent
6405         now that the test scripts re-execute themselves with configure
6406         determined $SHELL.
6407         The described spurious failures have already occurred in practice,
6408         for examples on Solaris systems which also had GNU Bash installed.
6409         From a suggestion by Peter Rosin.  See discussion at:
6410         <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00016.html>
6411         * tests/defs (xsi-shell): Now check that $SHELL, rather than the
6412         shell currently running the test script, is an XSI shell.
6413         (xsi-bin-sh): New requirement, checking that /bin/sh (which can
6414         differ from $SHELL) is an XSI shell.
6415         (xsi-lib-shell): New requirement, checking that the shell that
6416         should be used to test the Automake-provided scripts from `lib/'
6417         is an XSI shell.  For the moment, this is just an alias for
6418         `xsi-bin-sh'.
6419         (require_xsi): New subroutine, used to factor out code common to
6420         the requirements above.
6421         ($xsi_shell_code): New variable, contains shell code supposed to
6422         work only with XSI shells.  Used by the new subroutine above.
6423         * tests/ar-lib.test ($required): Require 'xsi-lib-shell' instead
6424         of 'xsi-shell', since the script we test here is run with /bin/sh,
6425         not with $SHELL.
6426         * tests/compile3.test: Likewise.
6427         * tests/compile6.test: Likewise.
6429 2011-06-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
6431         tests: fix typo-related error in auxdir2.test
6432         * tests/auxdir2.test (configure.in):  Close m4 quoting in the
6433         argument to AC_CONFIG_AUX_DIR.  Without this, aclocal fails with
6434         "ERROR: end of file in string".  This problem hasn't been exposed
6435         by the testsuite before because this test is in XFAIL_TESTS, so
6436         its failure went unnoticed, even if it was due to a wrong cause.
6437         Bug introduced in commit v1.11-249-g49ac3de.
6439 2011-06-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
6441         self tests: check that `$me' can be overridden
6442         * tests/self-check-me.test: Check that `$me' can be overridden
6443         before sourcing ./defs, with or without sourcing ./defs-static
6444         beforehand, and that this override is honored.  Update heading
6445         comments.
6447 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6449         self tests: fix another spurious failure
6450         Our ad-hoc usage of `tests/defs' in the testsuite's self tests
6451         stopped working properly when we made the test scripts re-execute
6452         themselves with the configure-time $SHELL.  Fix this.
6453         Fixes a regression introduced by commit 'v1.11-874-g1321be7'.
6454         * tests/self-check-exit.test: Export `AM_TESTS_REEXEC' to "no"
6455         before running the self tests.  This fixes a spurious failure
6456         present only when the test was run by hand.
6458 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6460         silent-rules tests: fix spurious failures with Sun Studio C++
6461         * tests/silentcxx.test: The C++ compiler from Sun Studio is named
6462         `CC'.  Account for this in our grepping checks on the make output.
6463         Since we are at it, throw in a couple of improvements to comments
6464         and formatting.
6465         * tests/silent-many-generic.test: The C++ compiler from Sun Studio
6466         is named `CC', and this can cause spurious failures in our grepping
6467         of the make output.  Work around this by using a wrapper script
6468         around the C++ compiler (generated on the fly), since filtering the
6469         make output proved to be too fragile.
6471 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6473         tests: fix spurious failure in backcompat2.test on NetBSD
6474         * tests/backcompat2.test: Add trailing `:' in the body of a `for'
6475         loop, in case the last command there might have an exit status
6476         different 0.  This work around `set -e' issues in some BSD shells,
6477         e.g., NetBSD /bin/ksh.
6479 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6481         tests: fix spurious failure in autohdr3.test
6482         * tests/autohder3.test (Makefile.am): Let `test' depend on `all',
6483         so that config.h header is truly remade.
6484         Remove now useless call to `$MAKE' when non-GNU make is in use.
6485         Failure introduced by commit `v1.11-895-g5e62b96'.
6487 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6489         tests: fix spurious failure of cond29.test on NetBSD
6490         * tests/cond29.test: Skip if we cannot safely limit the maximal
6491         size of used virtual memory to 20K.  This fixes a spurious failure
6492         on NetBSD.
6493         Bug introduced in commit `v1.11-885-g908d335'.
6495 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6497         maintcheck: fix again few more failures
6498         * tests/cond29.test: To please the `sc_tests_Exit_not_exit'
6499         maintainer check, avoid using `sh -c "exit 0"' where a simple
6500         `sh -c :' will do.
6501         * tests/depmod-data.test: Use creative quoting to avoid
6502         spuriously triggering the `sc_tests_Exit_not_exit' maintainer
6503         check.
6505 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6507         maintcheck: fix some more failures
6508         * tests/instdir-ltlib.test: Use creative quoting to avoid
6509         spuriously triggering the `sc_rm_minus_f' maintainer check.
6510         * tests/instdir-prog.test: Likewise.
6511         * tests/instspc-data.test: Use creative quoting to avoid
6512         spuriously triggering the `sc_tests_Exit_not_exit' maintainer
6513         check.
6515 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6517         maintcheck: fix some failures, extend some checks
6518         * Makefile.am (sc_diff_automake_in_automake): Update, as we
6519         now expect 9 lines, not 8, to be changed from `automake.in'
6520         to `automake'.
6521         (sc_diff_aclocal_in_aclocal): New maintainer check, similar to
6522         the above, and checking that only 10 lines are changed from
6523         `aclocal.in' to `aclocal'.
6524         (syntax_check_rules): Update.
6525         (sc_tests_Exit_not_exit): Exempt self tests `self-check-*.test'
6526         from this check, as they can legitimately use the bare `exit'
6527         builtin in various places.
6528         * doc/automake.texi (Python): Remove stray `@' from the end of
6529         a line.  Typo introduced in commit `v1.11-312-g5bf7af6'.
6530         * tests/depcomp8a.test: Pass DISTCHECK_CONFIGURE_FLAGS to make
6531         from the environment rather than from the command line, to
6532         pacify the `sc_tests_overriding_macros_on_cmdline' maintainer
6533         check.
6534         * tests/depcomp8b.test: Likewise.
6536 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6538         tests: don't require GNU make where it's not strictly needed
6539         * tests/autohdr3.test: Rewrite to be stricter when make is GNU
6540         make.  Drop the requirement of GNU make.
6541         * tests/aclocal5.test: Drop GNU make requirement, it's not truly
6542         needed.  Add reference to similar tests `remake-subdir*.test'.
6543         * remake-subdir-gnu.test, remake-subdir-from-subdir.test,
6544         remake-subdir.test, remake-subdir2.test: Add reference to
6545         each other, and to related test `aclocal5.test'.
6546         * tests/aclocal6.test: Drop GNU make requirement, it's not
6547         truly needed.
6548         * tests/confh6.test: Likewise.
6549         * tests/lex3.test: Likewise.
6550         * tests/remake11.test: Likewise.
6551         * tests/subdir5.test: Likewise.
6552         * tests/subdir8.test: Likewise.
6553         * tests/werror2.test: Likewise.
6554         * tests/conff.test: Likewise, and ensure verbose printing of
6555         captured make output.
6556         * tests/lex5.test: Tweak so that GNU make is no more required.
6557         * tests/version7.test: Likewise.
6558         * tests/maken2.test: Add explicative comment for why this test
6559         requires GNU make.
6560         * tests/maken4.test: Let it run also with BSD makes supporting
6561         the `.MAKE' special target.
6562         * tests/output6.test: Use proper m4 quoting in configure.in.
6563         Expand make macros with one-character name using `$(x)', not
6564         `$x', for portability.  Move checks in the makefiles, rather
6565         than relying on grepping the output from make.  Drop the now
6566         unneeded GNU make requirement.
6568 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
6570         remake: behave better with non-GNU make in subdirectories
6571         Currently, with every decent make program, it is possible to
6572         rebuild out-of-date autotools-generated files with a simple
6573         "make Makefile" -- but for this to work reliably with non-GNU
6574         make implementations, the command must be issued from the
6575         top-level directory.  This patch removes such limitation.
6576         * lib/am/configure.am (am--refresh): Depend on `%MAKEFILE%'.
6577         * tests/remake-subdir.test: New test.
6578         * tests/remake-subdir2.test: Likewise.
6579         * tests/remake-subdir-gnu.test: Likewise.
6580         * tests/remake-subdir-from-subdir.test: Likewise.
6581         * tests/Makefile.am (TESTS): Update.
6583 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6585         lex tests: fix spurious failures with Solaris lex
6586         * tests/lex-lib.test (foo.l): Avoid empty "rules section", which
6587         can confuse Solaris lex.
6588         * tests/lex-libobj.test (foo.l): Likewise.
6590 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6592         lex tests: do not force the use of flex unconditionally
6593         * tests/defs (lex): Act more similarly to what the `yacc'
6594         requirement does, i.e., only force the use of flex if the
6595         $LEX variable is left unset by the user.
6596         (flex): Use `skip_' to skip the test if flex is not found.
6598 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6600         lex tests: avoid possible hang; fix and extend
6601         * tests/lex3.test (foo.l:yywrap): Return 1, not 0, to avoid hangs.
6602         Bug introduced in commit 'v1.11-871-geb147a1'.
6603         (Makefile.am): Do not add `@LEXLIB@' to `$(LDADD)', as we define
6604         our own `yywrap' function.
6605         * tests/lex.test (tscan.l): In `yywrap', return 1, not 0, for
6606         consistency with the default flex implementation.
6607         * tests/lex-libobj.test (yywrap.c): Likewise.
6608         * tests/lex-subobj-nodep.test (s1.l): Likewise.
6609         * tests/lexvpath.test (foo.c): Likewise.
6610         * tests/silent-lex-gcc (foo.l): Likewise.
6611         * tests/silent-lex-generic (foo.l): Likewise.
6612         * tests/silent-many-gcc (foo5.l): Likewise.
6613         * tests/silent-many-generic (foo5.l): Likewise.
6614         * tests/lex-lib.test (mu.c): Likewise.
6615         Update heading comments, to refer to ...
6616         * tests/lex-lib-external.test: ... this new test, which checks
6617         that we can get use the `yywrap' function from a system-wide
6618         library, if that's available.
6620 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6622         tests: prefer `skip_' over `echo ...; Exit 77'
6623         * tests/self-check-cleanup.test: When the test must be skipped,
6624         use `skip_ REASON' instead of `echo REASON; Exit 77'.  Also,
6625         make the skip message shorter and clearer.
6627 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6629         tests: fix spurious failures in self tests
6630         Our ad-hoc usage of `tests/defs' in the testsuite's self tests
6631         stopped working properly when we made the test scripts re-execute
6632         themselves with the configure-time $SHELL.  Fix this.
6633         Fixes a bug introduced by commit 'v1.11-874-g1321be7'.
6634         * tests/defs: Only check that we can find the client test script
6635         when we must re-execute it.
6636         * tests/self-check-cleanup.test: Export `AM_TESTS_REEXEC' to "no"
6637         before running the self tests.
6638         * tests/self-check-dir.test: Likewise.
6639         * tests/self-check-explicit-skips.test: Likewise.
6640         * tests/self-check-me.test: Likewise.
6641         * tests/self-check-sanity.test: Likewise.
6642         * tests/self-check-reexec.test: New test.
6643         * tests/Makefile.am (TESTS): Update.
6645 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6647         tests: prefer ulimit over timeout in test on a memory-hogging bug
6648         * tests/cond29.test: Use 'ulimit' instead of 'timeout' to ensure
6649         that automake does not uses up too much resources.  This is really
6650         and improvement because the bug tested by this script wasn't just
6651         a "it hangs" or "it runs too slow" bug, but rather a memory-hogging
6652         bug (due to combinatorial explosion when many Automake conditionals
6653         had to be handled) which could easily crash the whole system, which
6654         is unacceptable.  The requirement of a proper and working 'ulimit'
6655         builtin might cause the test to be skipped on more systems, but
6656         that shouldn't be a problem since the bug isn't about a portability
6657         issue, but is rather an automake internal implementation problem.
6658         I've verified that the test as updated by this patch still passes
6659         with automake 1.8.5, automake 1.10.2, and obviously the development
6660         version of automake, and that it fails with automake 1.7.9.
6662 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6664         testsuite: avoid generating `*-p.test' tests, use a wrapper script
6665         The generated `*-p.test' tests had already become just thin layers
6666         around the corresponding test scripts.  This change makes the final
6667         step, converting to the use of a generic wrapper script and thus
6668         avoiding the extra test generation (similarly to what is done for
6669         the `*.instspc' and `*.depmod' tests).
6670         * tests/parallel-tests.sh: New file, driver script to run checks
6671         the on the `parallel-tests' semantics by wrapping tests that use
6672         the generic "Simple Tests" driver.
6673         * tests/gen-parallel-tests: Update, mostly to reflect the new
6674         `.ptest' extensions used for tests in $(parallel_tests).
6675         * Makefile.am (TESTS_EXTENSIONS): Add `.ptest'.
6676         (PTEST_LOG_COMPILER): Define, it calls `parallel-tests.sh'.
6677         ($(parallel_tests)): Do not really generate `*-p.test' tests
6678         anymore; this is now just a dummy dependency declaration required
6679         in order to have make actually produce expected log files from
6680         the `.ptest.log' suffix rule.
6681         (EXTRA_DIST): Distribute `parallel-tests.sh'.
6682         (MAINTAINERCLEANFILES): Don't remove the `$(parallel_tests)', it
6683         is not necessary anymore.
6684         (generated_tests): Variable definition removed.
6685         (TESTS): Update, by listing `$(parallel_tests)' directly instead
6686         of `$(generated_tests)'
6687         (expected_list_of_tests): Remove `$(generated_tests)'.
6688         (maintainer-check-list-of-tests): No need to explicitly depend on
6689         `$(expected_list_of_tests)' anymore.
6691 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
6693         automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE
6694         Currently, the Automake's own configure script allow definition
6695         of AUTOCONF and AUTOM4TE, expected to point respectively to an
6696         autoconf and autom4te programs.  But while these definitions are
6697         honoured in the Automake's build systems and test suite, they
6698         were *not* honoured in the generated `automake' and `aclocal'
6699         scripts.  This behaviour, apart from being wrong in that it does
6700         not allow the user enough freedom in choosing his tools, also
6701         caused inconsistencies in the test suite, brining to spurious
6702         failures.
6703         Problem reported by Graham Reitz on the automake list; see thread:
6704         <http://lists.gnu.org/archive/html/automake/2011-05/msg00022.html>
6705         * automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'.
6706         * aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'.
6707         * Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and
6708         `@am_AUTOM4TE'.
6709         * NEWS: Update.
6710         * THANKS: Update.
6712 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
6714         build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too
6715         Our build system allows the user to override AUTOCONF and AUTOHEADER
6716         at configure time, and honours these overrides in our testsuite.
6717         But it didn't do the same with AUTOM4TE, AUTORECONF and AUTOUPDATE.
6718         This change fixes that inconsistency.
6719         * configure.ac (am_AUTOM4TE, am_AUTOUPDATE, am_AUTORECONF): New
6720         AC_SUBSTitutions.  Update comments.
6721         * tests/defs.in ($AUTOUPDATE): Default to `@am_AUTOUPDATE@' now.
6722         ($AUTOM4TE): New variable, defaulting to `@am_AUTOM4TE@'.
6723         ($AUTORECONF): New variable, defaulting to `@am_AUTORECONF@'.
6724         * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Update.
6726 2011-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
6728         parallel-tests: stricter checks on DISABLE_HARD_ERRORS support
6729         * tests/parallel-tests-harderror.test: New test, doing more
6730         in-depth checks on DISABLE_HARD_ERRORS.
6731         * tests/parallel-tests.test: Remove tests on DISABLE_HARD_ERRORS,
6732         now redundant.
6733         * tests/Makefile.am (TESTS): Update.
6735 2011-05-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6736             Stefano Lattarini  <stefano.lattarini@gmail.com>
6738         tests/README: fix example about `make -e' usage
6739         * tests/README (Section "Writing test cases" subsection "Do"): When
6740         some variable is never initialized in the Makefile, `-e' is not
6741         necessary in order to override it.  DESTDIR is such a variable: we
6742         ensure that we do not ever initialize it.  And as such, it is quite
6743         portable to use:
6744           $ make DESTDIR=/foo/bar install
6745         and in fact, quite widely used.
6746         So our example about when `make -e' is required, which references
6747         the `DESTDIR' variable, is poorly chosen, if not downright wrong.
6748         Rewrite it to use `prefix' as the overridden variable instead.
6750 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
6752         tests: don't require gfortran if any fortran compiler is enough
6753         * tests/silentf90.test ($required): Require `fortran', not
6754         `gfortran'.
6755         * tests/silentf77.test ($required): Require `fortran77', not
6756         `gfortran'.
6757         * tests/silent-many-generic.test ($required): Require `fortran'
6758         and `fortran77' rather than `gfortran'.
6760 2011-05-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
6762         tests: improve `ccnoco*.test', better cross-compiling support
6763         * tests/ccnoco3.test (Mycomp): Use the `$CC' chosen by `tests/defs'
6764         instead of forcing `gcc' unconditionally.  This ensures better
6765         coverage in case of cross-compiling, when GCC can be named e.g.,
6766         `i586-mingw32msvc-gcc', instead of simply `gcc'.
6767         * tests/ccnoco.test: Likewise.  Remove redundant checks.  Modernize
6768         the created `configure.in'.  Run tests both in-tree and in VPATH.
6769         Export `CC' to the overridden value only once.
6770         * tests/ccnoco2.test: Slightly stricter grepping of automake
6771         stderr.  Add trailing `:' command.
6773 2011-05-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
6775         testsuite: each test case depends on `defs-static'
6776         * tests/Makefile.am ($(TEST_LOGS)): Depends on `defs-static' too.
6777         Simplify comments.
6779 2011-05-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
6781         testsuite: use $SHELL to run tests which are shell scripts
6782         * tests/Makefile.am (TEST_LOG_COMPILER): Define so that the
6783         configure-time $SHELL is used to run the tests.
6784         * tests/defs: Add code to re-execute by default the running
6785         test script with configure-time $SHELL.  Updated comments.
6786         * configure.ac: Check that `set -e' is working for $SHELL,
6787         not for /bin/sh.
6788         * tests/defs-static.in: Update comments.
6789         * tests/README (Supported shells): Updated.
6790         (Getting details from failures): Don't tell that tests are
6791         run by /bin/sh by default.
6793 2011-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
6795         tests: split 'subst2.test' to improve modularity and coverage
6796         * tests/subst2.test: Test removed, split into ...
6797         * tests/programs-primary-rewritten.test: ... this test ...
6798         * tests/subst-no-trailing-empty-line.test: ... and this one ...
6799         * tests/extra-programs-empty.test: ... and this one.
6800         * tests/Makefile.am (TESTS): Update.
6802 2011-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
6804         tests: tweak and improve tests on Automake conditionals
6805         The "avoid the requirement of a working compiler" we refer about
6806         below is obtained by disabling automatic dependency tracking and
6807         defining `CC' (and `EXEEXT', `OBJEXT', `CXX', etc., if needed) to
6808         dummy values, either directly in the `Makefile.am', or by AC_SUBST
6809         in `configure.in'.
6810         The "cosmetic changes" we refer about below consists in, e.g.,
6811         adding a trailing `:' command to a script, using proper m4 quoting
6812         in `configure.in' files, adding commands that offer more debugging
6813         output, explicitly declaring phony targets as such in Makefiles,
6814         making use of idioms more consistent with those employed in other
6815         tests, following the GNU formatting standards more closely, etc.
6816         * tests/cond.test: Cosmetic changes.
6817         * tests/cond3.test: Likewise.
6818         * tests/cond10.test: Likewise.
6819         * tests/cond14.test: Likewise.
6820         * tests/cond15.test: Likewise.
6821         * tests/cond17.test: Likewise.
6822         * tests/cond40.test: Likewise.
6823         * tests/cond13.test: Likewise, and make grepping of the generated
6824         `Makefile.in' slightly stricter.
6825         * tests/cond6.test: Extend by also running ./configure, make and
6826         "make install".  Few cosmetic changes.
6827         * tests/cond8.test: Likewise.
6828         * tests/cond2.test: Do few cosmetic changes.  Make grepping of
6829         automake stderr stricter.
6830         * tests/cond20.test: Likewise.
6831         * tests/cond23.test: Likewise.
6832         * tests/cond24.test: Likewise.
6833         * tests/cond42.test: Likewise.
6834         * tests/cond46.test: Likewise.
6835         * tests/cond9.test: Move more checks in the `Makefile.am' instead
6836         of grepping make's output.
6837         * tests/cond38.test: Likewise.
6838         * tests/cond11.test: Likewise.  Avoid the requirement of a working
6839         C compiler.
6840         * tests/cond16.test: Likewise.
6841         * tests/cond22.test: Likewise.
6842         * tests/cond30.test: Likewise.
6843         * tests/cond31.test: Likewise.
6844         * tests/cond4.test: Likewise, and drop the now-useless GNU make
6845         requirement as well.
6846         * tests/cond18.test: Likewise.
6847         * tests/cond19.test: Likewise.
6848         * tests/cond22.test: Likewise.
6849         * tests/cond25.test: Add trailing `:' command.
6850         * tests/cond26.test: Likewise.
6851         * tests/cond27.test: Likewise.
6852         * tests/cond28.test: Likewise.
6853         * tests/cond29.test: Use `unindent' function for better formatting.
6854         Other minor cosmetic changes.  Use a `timeout' program (if it's
6855         available) to determine whether the script takes too long, instead
6856         of just hoping that the user will notice an abnormally long test
6857         execution time.
6858         * tests/cond33.test: Extend a bit.  Fix heading comments.  Few more
6859         cosmetic changes.
6860         * tests/cond37.test: Ensure verbose printing of captured make
6861         output.  Minor cosmetic changes.
6862         * tests/cond34.test: Likewise.  Avoid the requirement of a working
6863         C compiler.  Make grepping of make output slightly stricter.
6864         * tests/cond35.test: Quote literal dots in grep regexp.  Add extra
6865         debugging output.  Minor cosmetic changes.
6866         * tests/cond36.test: Likewise.
6867         * tests/cond41.test: Do not simply check that aclocal fails, but
6868         also grep its stderr for the expected error message.
6869         * tests/cond43.test: Likewise (but the program being automake).
6870         Few cosmetic changes.
6871         * tests/condd.test: Avoid the requirement of a working C compiler.
6872         * tests/condman3.test: Extend by using more man pages and more
6873         manpage sections.
6874         * tests/condman.test: Removed, it's completely superseded by
6875         `condman3.test'.
6876         * tests/Makefile.am (TESTS): Update.
6878 2011-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
6880         lex tests: avoid spurious failures when LEXLIB isn't found
6881         The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
6882         the "lex library" expected to provide a `yywrap' function (function
6883         which is required to link most lex-generated programs).  On the
6884         contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
6885         fail, configure declares that no lex library is needed, and simply
6886         proceeds with the configuration process -- only for the build to
6887         possibly fail later, at make time.
6888         This behaviour might be (partly) intended; the Autoconf manual
6889         reads:
6890          ``You are encouraged to use Flex in your sources, since it is
6891            both more pleasant to use than plain Lex and the C source
6892            it produces is portable.  In order to ensure portability,
6893            however, you must either provide a function `yywrap' or, if
6894            you don't use it (e.g., your scanner has no `#include'-like
6895            feature), simply include a `%noyywrap' statement in the
6896            scanner's source.''
6897         This AC_PROG_LEX behaviour is causing some spurious failures of the
6898         Automake testsuite in environments which lack a proper library
6899         providing `yywrap' (this happens for example in Linux->MinGW cross
6900         compilations).  But at this point is clear that a proper workaround
6901         is to simply provide a fall-back implementation of `yywrap' in our
6902         lexers.
6903         * tests/cond35.test: Provide a dummy `yywrap' function.
6904         * tests/lex3.test: Likewise.
6905         * tests/lexvpath.test: Likewise.
6906         * tests/silent-many-gcc.test: Likewise.
6907         * tests/silent-many-generic.test: Likewise.
6908         * tests/silent-lex-gcc.test: Likewise, and a dummy `main' too.
6909         * tests/silent-lex-generic.test: Likewise.
6910         * tests/lex-lib.test: New test.
6911         * tests/lex-libobj.test: New test.
6912         * tests/lex-nowrap.test: New test.
6913         * tests/Makefile.am (TESTS): Update.
6914         * THANKS: Update.
6915         Thanks to Russ Allbery for the suggestion.
6917 2011-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
6919         testsuite: require C++ compiler explicitly in tests needing it
6920         The list of the test scripts which needed a C++ compiler but
6921         failed to require it explicitly has been found by running:
6922           $ tests=`grep -lE 'CXX|\.c(c|\+\+|xx|pp)' *.test | tr '\n' ' '`
6923           $ am_explicit_skips=yes CXX=false make check TESTS="$tests"
6924         and looking for tests that reported FAIL instead of SKIP.
6925         After the present change, all those previously failing tests
6926         either pass or get correctly skipped.
6927         * tests/subobj9.test: Require `c++', instead of explicitly
6928         skipping on configure failure.  Add excerpts and/or details from
6929         the original bug report that prompted this tests to be written.
6930         * tests/silentcxx-gcc.test: Require g++.
6931         * tests/silentcxx.test: Require c++.
6932         * tests/suffix3.test: Likewise.
6934 2011-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
6936         testsuite: don't require g++ where any C++ compiler is enough
6937         * tests/specflg10.test ($required): Use `c++', not g++.
6938         * tests/silent-many-generic.test: Likewise.
6940 2011-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
6942         testsuite: require C compiler explicitly in tests needing it
6943         The list of the test scripts which needed a C compiler but
6944         failed to require it explicitly has been found by running:
6945           $ am_explicit_skips=yes CC=false make check
6946         and looking for tests that reported FAIL instead of SKIP.
6947         After the present change, all those previously failing tests
6948         either pass or get correctly skipped.
6949         * tests/aclocal4.test ($required): Add `cc'.
6950         * tests/ansi.test: Likewise.
6951         * tests/ansi10.test: Likewise.
6952         * tests/ansi3.test: Likewise.
6953         * tests/ansi3b.test: Likewise.
6954         * tests/ansi5.test: Likewise.
6955         * tests/ansi6.test: Likewise.
6956         * tests/ansi7.test: Likewise.
6957         * tests/ansi9.test: Likewise.
6958         * tests/backcompat6.test: Likewise.
6959         * tests/canon7.test: Likewise.
6960         * tests/check5.test: Likewise.
6961         * tests/check7.test: Likewise.
6962         * tests/check8.test: Likewise.
6963         * tests/cond4.test: Likewise.
6964         * tests/cond11.test: Likewise.
6965         * tests/cond16.test: Likewise.
6966         * tests/cond18.test: Likewise.
6967         * tests/cond19.test: Likewise.
6968         * tests/cond22.test: Likewise.
6969         * tests/cond30.test: Likewise.
6970         * tests/cond31.test: Likewise.
6971         * tests/cond32.test: Likewise.
6972         * tests/cond34.test: Likewise.
6973         * tests/cond35.test: Likewise.
6974         * tests/cond39.test: Likewise.
6975         * tests/condd.test: Likewise.
6976         * tests/cygnus-dependency-tracking.test: Likewise.
6977         * tests/depcomp2.test: Likewise.
6978         * tests/depcomp6.test: Likewise.
6979         * tests/depcomp7.test: Likewise.
6980         * tests/depcomp8a.test: Likewise.
6981         * tests/depcomp8b.test: Likewise.
6982         * tests/depdist.test: Likewise.
6983         * tests/depend2.test: Likewise.
6984         * tests/depend5.test: Likewise.
6985         * tests/distcleancheck.test: Likewise.
6986         * tests/distname.test: Likewise.
6987         * tests/exeext.test: Likewise.
6988         * tests/exeext4.test: Likewise.
6989         * tests/extradep.test: Likewise.
6990         * tests/extradep2.test: Likewise.
6991         * tests/gnits2.test: Likewise.
6992         * tests/gnits3.test: Likewise.
6993         * tests/instdir-ltlib.test: Likewise.
6994         * tests/instdir-prog.test: Likewise.
6995         * tests/instfail.test: Likewise.
6996         * tests/instfail-libtool.test: Likewise.
6997         * tests/lex3.test: Likewise.
6998         * tests/lex5.test: Likewise.
6999         * tests/lexvpath.test: Likewise.
7000         * tests/lex-subobj-nodep.test: Likewise.
7001         * tests/lflags.test: Likewise.
7002         * tests/libobj-basic.test: Likewise.
7003         * tests/libobj2.test: Likewise.
7004         * tests/libobj7.test: Likewise.
7005         * tests/libobj10.test: Likewise.
7006         * tests/libobj16a.test: Likewise.
7007         * tests/libobj16b.test: Likewise.
7008         * tests/libobj17.test: Likewise.
7009         * tests/libobj19.test: Likewise.
7010         * tests/libtool2.test: Likewise.
7011         * tests/libtool3.test: Likewise.
7012         * tests/libtool7.test: Likewise.
7013         * tests/libtool9.test: Likewise.
7014         * tests/libtoo10.test: Likewise.
7015         * tests/libtoo11.test: Likewise.
7016         * tests/ltcond.test: Likewise.
7017         * tests/ltcond2.test: Likewise.
7018         * tests/ltconv.test: Likewise.
7019         * tests/ltinit.test: Likewise.
7020         * tests/ltlibsrc.test: Likewise.
7021         * tests/ltorder.test: Likewise.
7022         * tests/nobase.test: Likewise.
7023         * tests/nobase-libtool.test: Likewise.
7024         * tests/mmodely.test: Likewise.
7025         * tests/parallel-tests5.test: Likewise.
7026         * tests/parallel-tests-suffix-prog.test: Likewise.
7027         * tests/parallel-tests-ext-driver-prog.test: Likewise.
7028         * tests/posixsubst-ldadd.test: Likewise.
7029         * tests/posixsubst-libraries.test: Likewise.
7030         * tests/posixsubst-ltlibraries.test: Likewise.
7031         * tests/posixsubst-programs.test: Likewise.
7032         * tests/posixsubst-sources.test: Likewise.
7033         * tests/pr87.test: Likewise.
7034         * tests/pr204.test: Likewise.
7035         * tests/pr224.test: Likewise.
7036         * tests/pr300-lib.test: Likewise.
7037         * tests/pr300-ltlib.test: Likewise.
7038         * tests/pr300-prog.test: Likewise.
7039         * tests/pr401.test: Likewise.
7040         * tests/pr401b.test: Likewise.
7041         * tests/pr401c.test: Likewise.
7042         * tests/remake-gnulib-add-acsubst.test: Likewise.
7043         * tests/remake-gnulib-add-header.test: Likewise.
7044         * tests/regex.test: Likewise.
7045         * tests/repeated-options.test: Likewise.
7046         * tests/silent.test: Likewise.
7047         * tests/silent3.test: Likewise.
7048         * tests/silent9.test: Likewise.
7049         * tests/silent-lex-generic.test: Likewise.
7050         * tests/silent-many-generic.test: Likewise.
7051         * tests/silent-yacc-generic.test: Likewise.
7052         * tests/specflg7.test: Likewise.
7053         * tests/specflg9.test: Likewise.
7054         * tests/specflg10.test: Likewise.
7055         * tests/stdinc.test: Likewise.
7056         * tests/strip.test: Likewise.
7057         * tests/strip2.test: Likewise.
7058         * tests/strip3.test: Likewise.
7059         * tests/subdirbuiltsources.test: Likewise.
7060         * tests/subobj3.test: Likewise.
7061         * tests/subobj6.test: Likewise.
7062         * tests/subobj11a.test: Likewise.
7063         * tests/subpkg.test: Likewise.
7064         * tests/subst2.test: Likewise.
7065         * tests/subst3.test: Likewise.
7066         * tests/substref.test: Likewise.
7067         * tests/substre2.test: Likewise.
7068         * tests/suffix5.test: Likewise.
7069         * tests/suffix8.test: Likewise.
7070         * tests/suffix10.test: Likewise.
7071         * tests/suffix11.test: Likewise.
7072         * tests/suffix12.test: Likewise.
7073         * tests/suffix13.test: Likewise.
7074         * tests/target-cflags.test: Likewise.
7075         * tests/transform.test: Likewise.
7076         * tests/transform2.test: Likewise.
7077         * tests/yacc-basic.test: Likewise.
7078         * tests/yacc-d-basic.test: Likewise.
7079         * tests/yacc-clean.test: Likewise.
7080         * tests/yacc-dist-nobuild.test: Likewise.
7081         * tests/yacc-nodist.test: Likewise.
7082         * tests/yaccvpath.test: Likewise.
7083         * tests/yacc-d-vpath.test: Likewise.
7084         * tests/yacc4.test: Likewise.
7085         * tests/yacc7.test: Likewise.
7086         * tests/yacc8.test: Likewise.
7087         * tests/yaccdry.test: Likewise.
7088         * tests/yflags-cmdline-override.test: Likewise.
7089         * tests/yflags-force-override.test: Likewise.
7090         * tests/python-virtualenv.test: Likewise.  Also, improve skip
7091         messages.
7092         * tests/subobj5.test ($required): Add `cc'.
7093         (Makefile.am): Set `AUTOMAKE_OPTIONS' to `subdir-objects', and
7094         add new checking rules `test-build' and `test-distdir'.
7095         Extend the test by building and examining the distdir, the
7096         program, and the object files.
7097         * tests/postproc.test ($required): Add `cc'.
7098         Avoid the explicit `|| Exit $?' after call to configure, which
7099         is now either redundant (e.g., when `am_explicit_skips' is
7100         unset), or counter-productive (e.g., when `am_explicit_skips'
7101         is set to "yes").
7102         * tests/pr243.test: Likewise.
7103         * tests/pr266.test: Likewise.
7104         * tests/pr220.test: Simplify so that it doesn't require a
7105         C compiler anymore.
7106         * tests/subdir5.test: Likewise.
7107         * tests/subdir8.test: Likewise.
7108         * tests/lflags.test: Likewise.
7109         * tests/yflags.test: Likewise.
7110         * tests/yflags-force-conditional.test: Likewise.
7111         * tests/lflags2.test: Simplify so that it doesn't require a
7112         C++ compiler anymore.   
7113         * tests/yflags2.test: Likewise.
7114         * tests/autohdrdry.test (configure.in): Remove unneeded call
7115         to `AC_PROG_CC'.
7116         * tests/pr287.test: Likewise.
7117         * tests/check6.test: Likewise.
7118         * tests/cond21.test: Likewise, plus some cosmetic adjustments.
7119         * tests/upc.test: Skip if configure fails with status `77'.
7120         * tests/upc3.test: Likewise.
7121         * tests/vala4.test: Likewise.
7122         * tests/nostdinc.test: Likewise.  Also, make grepping checks
7123         on `Makefile.in'.  Update heading comments.
7124         * tests/compile5.test: When we must skip, skip explicitly,
7125         and with a meaningful message.
7126         * tests/instspc-tests.sh: When running in "test-build" or
7127         "test-install" mode (as determined by the value of variable
7128         `$instspc_action'), require `cc'.  Adjust comments.
7129         * tests/depmod-tests.sh: Likewise.
7131 2011-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
7133         testsuite: allow user to ask for stricter skip semantics
7134         Given how the Automake testsuite is currently structured, if a
7135         command in a test script fails with status `77', the global test
7136         outcome is considered a SKIP, because the value of `77' for `$?'
7137         is passed to the exit trap.  Indeed, this happens in practice, as
7138         an autoconf-generated configure script can exit with status `77'
7139         if it fails to find, e.g., a required compiler.
7140         While this behaviour is quite useful for avoiding spurious test
7141         failures in the wild, it can also sometimes prevent the Automake
7142         developers to easily see and declare the requirements of their
7143         tests.
7144         This change introduces a new variable `am_explicit_skips', meant to
7145         be user-overridable, and which, when set to a "true" value (i.e.,
7146         `yes' or `1'), require a direct call to `Exit 77' in order to make
7147         the test outcome be considered a SKIP.
7148         * tests/defs.in ($am__test_skipped): New variable, initialized
7149         to `no'.
7150         (Exit): Set `$am__test_skipped' to `yes' if passed an exit status
7151         of 77.
7152         (trap '...' 0): When `$am_explicit_skips' is set to a "true" value,
7153         reset an exit status of `77' to `78' if $am__test_skipped is not
7154         set to `yes'.
7155         * tests/self-check-exit.test: Adjust: unset `am_explicit_skips'.
7156         * tests/self-check-explicit-skips.test: New test.
7157         * tests/Makefile.am (TESTS): Update.
7159 2011-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
7161         testsuite: user can force skipping of compiler-requiring tests
7162         * tests/defs (cc, c++, fortran, fortran77): Skip the test if
7163         the relevant compiler is disabled by having the corresponding
7164         variable (CC, CXX, FC and F77, respectively) set to "false".
7165         (yacc): For consistency, skip the test when the YACC variable
7166         is set to "false", not when it's set to "no".  Since we are at
7167         it, fix the skip message to be shorter and more consistent.
7169 2011-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7171         tests: tweak and improve tests on "Simple Tests" driver
7172         * tests/check.test: Make grepping of generated Makefile.in
7173         slightly stricter.  Add trailing `:' command.
7174         * tests/check2.test: Ensure verbose printing of captured make
7175         output.  Make grepping of generated Makefile.in and of make
7176         output stricter.  Add trailing `:' command.
7177         * tests/check3.test: Likewise.  Also, fix minor error in a
7178         comment.
7179         * tests/check4.test: Stricter grepping of make output.  Use
7180         `using_gmake' subroutine instead of copy&paste from defs.in
7181         to determine whether $MAKE is GNU make.  Add a trailing `:'
7182         command.
7183         * tests/check6.test: Add trailing `:' command.
7184         * tests/check10.test: Prefer redirection `>' over `>>' when
7185         creating new files.  Ensure verbose printing of captured make
7186         output.
7187         * tests/check11.test: Likewise.
7188         * tests/check7.test: Likewise.  Make grepping of make output
7189         stricter.  Prefer "make distcheck" over a simple "make check"
7190         in a VPATH build. Add trailing `:' command.
7191         (a.c): Format following GNU coding standards.
7192         (Makefile.am): Explicitly declare target `print-xfail-tests'
7193         as PHONY.  Distribute $(check_SCRIPTS), for distcheck.
7194         * tests/parallel-tests.test: Prefer redirection `>' over `>>'
7195         when creating new files.
7196         * tests/parallel-tests2.test: Likewise.
7197         * tests/parallel-tests9.test: Likewise.
7198         * tests/parallel-tests8.test: Likewise.  Make grepping of
7199         automake stderr stricter.
7200         * tests/check8.test: Likewise.  Make formatting of created
7201         *.c files more consistent with GNU Coding Standards.
7202         * tests/check-subst-prog.test (configure.in): Break overly
7203         long lines.
7204         (pass-prog.c, xfail-prog.c): Format them more consistently
7205         with GNU Coding Standards.
7206         * tests/parallel-tests3.test: Use a shorter and clearer skip
7207         message.  Use the `unindent' subroutine to improve readability
7208         of indented loop bodies.  Simplify the hack used to please
7209         maintainer-check.
7210         * tests/parallel-tests5.test: Make formatting of created *.c
7211         files more consistent with GNU Coding Standards.  Use the
7212         `unindent' subroutine to improve readability of indented loop
7213         bodies.
7214         * tests/parallel-tests10.test: Add blank line, for clarity.
7215         Prefer trailing `:' over trailing `Exit 0', for consistency
7216         with other tests.
7218 2011-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
7220         tests/README: small consistency improvement
7221         * tests/README (Section "User interface" subsection "Running the
7222         tests"): In examples, be more consistent w.r.t. the differences
7223         between GNU and non-GNU make.
7225 2011-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
7227         tests/README: suggest how to run tests in cross-compile mode
7228         * tests/README (Section "User interface" subsection "Running the
7229         tests"): Briefly explain how to override 'host_alias' at runtime
7230         to force the use of cross-compilers by the testsuite.  Give an
7231         example.
7233 2011-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
7235         test defs: better detection of cross-compile mode
7236         * configure.ac (AC_CANONICAL_HOST): New, probably not strictly
7237         necessary, but useful to complements AC_CANONICAL_BUILD.
7238         * tests/defs-static.in ($host_alias, $build_alias): New variables,
7239         exported, user-overridable, defaults AC_SUBST'd by configure.
7240         * tests/defs (cross_compiling): Consider cross-compilation mode
7241         active only if `$host_alias' is not empty *and* it differs from
7242         `$build_alias'.  This is more faithful to the way configure
7243         determines whether it is cross-compiling, but still allows the
7244         user to easily force cross-compilation by overriding `host_alias'
7245         and `build_alias' at runtime.
7246         From a report by Ralf Wildenhues.
7248 2011-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
7250         testsuite: avoid re-running few tests with 'parallel-tests' option
7251         Some tests in our testsuite use the 'simple-tests' driver only
7252         marginally, or simply as a mean to conveniently check unrelated
7253         invariants.  It makes little sense to force these tests to also
7254         run with the 'parallel-tests' Automake option active, as doing so
7255         offers no real gain in coverage, while often causing a measurable
7256         overhead in execution time (for an already too-slow testsuite).
7257         * tests/pr401.test (parallel_tests): Define to "no", to prevent
7258         the generation of a sibling test script using the 'parallel-tests'
7259         driver.
7260         * tests/pr401b.test: Likewise.
7261         * tests/pr401c.test: Likewise.
7262         * tests/java-flat.test: Likewise, and properly update heading
7263         comments.
7264         * tests/java-nested.test: Likewise, but defining `parallel_tests'
7265         to "yes" instead, for improved coverage in conjunction with the
7266         sister test `java-flat.test'.
7268 2011-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
7270         testsuite: allow tests to avoid the use of 'parallel-tests' option
7271         * tests/gen-parallel-tests: Do not generate "siblings" for tests
7272         that explicitly define the `parallel_tests', whether to "yes" or
7273         to any other value.  Extend heading comments to give a rationale
7274         for this behaviour.
7275         * tests/README: Update.
7277 2011-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
7279         tests/README: update obsoleted advice
7280         * tests/README (Section "Writing test cases" subsection "Do"):
7281         Do not suggest to use the `*-p.test' pattern for the names of
7282         hand-written tests which use the `parallel-tests' Automake option.
7283         Not only is this not respected by the existing tests, but it is
7284         more likely to cause conflicts with auto-generated tests.
7285         So, suggest to *avoid* using the `*-p.test' pattern in names
7286         of hand-written tests instead.
7287         (Section "Writing test cases" subsection "Do not"):  When
7288         suggesting not to override Makefile variables using command
7289         line arguments, do not use the badly outdated variables `U'
7290         and 'ANSI2KNR' in the example; instead, use the more common
7291         and typical `DESTDIR'.
7293 2011-05-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
7295         tests: avoid spurious failures in cross-compile mode
7296         * tests/depcomp2.test: Ensure verbose printing of captured stderr
7297         from configure.
7298         * tests/ansi3.test ($required): Add 'native', as the ansi2knr
7299         functionality is not meant to work with a cross-compiler.
7300         * tests/ansi3b.test: Likewise.
7301         * tests/ansi5.test: Likewise.
7302         * tests/ansi6.test: Likewise.
7303         * tests/ansi7.test: Likewise.
7304         * tests/ansi8.test: Likewise.
7305         * tests/ansi10.test: Likewise.
7306         * tests/subobj3.test: Likewise.
7307         * tests/check8.test ($required): Add 'native', as this test is
7308         not meant to work with a cross-compiler.
7309         * tests/gnits2.test: Likewise.
7310         * tests/ltconv.test: Likewise.
7311         * tests/ltcond2.test: Likewise.
7312         * tests/parallel-tests5.test: Likewise.
7313         * tests/specflg7.test: Likewise.
7314         * tests/specflg8.test: Likewise.
7315         * tests/check5.test: Likewise.  Also, ensure verbose printing of
7316         captured make output, and thrown in few cosmetic and consistency
7317         improvements.
7318         * tests/ltinit.test: Be laxer in grepping configure output, to
7319         avoid spurious failures on systems which lack POSIX dynamic
7320         linking (e.g., MinGW), or when cross-compiling for such systems.
7321         * tests/ansi9.test: Skip parts of the test that would require a
7322         native compiler.
7323         * tests/backcompat6.test: Likewise.
7324         * tests/depcomp8a.test: Likewise.
7325         * tests/pr401.test: Likewise.
7326         * tests/pr401b.test: Likewise.
7327         * tests/pr401c.test: Likewise.
7328         * tests/target-cflags.test: Likewise.
7329         * tests/lex3.test: Likewise.
7330         * tests/yacc-basic.test: Likewise.
7331         * tests/autohdr4.test: Likewise.  Also, extend the test to ensure
7332         more coverage in cross-compile mode.
7333         * tests/canon7.test: Likewise.
7334         * tests/check9.test: Removed, split into two new tests ...
7335         * tests/check-subst-prog.test: ... this one, which requires a
7336         native C compiler ...
7337         * tests/check-subst.test: ... and this one, which doesn't require
7338         any compiler.
7339         * tests/parallel-tests4.test: Removed, split into two new tests ...
7340         * tests/parallel-tests-suffix-prog.test: ... this one, which
7341         requires a native C compiler ...
7342         * tests/parallel-tests-suffix.test: ... and this one, which
7343         doesn't require any compiler.
7344         * tests/parallel-tests7.test: Removed, split into two new tests ...
7345         * tests/parallel-tests-ext-driver-prog.test: ... this one, which
7346         requires a native C compiler ...
7347         * tests/parallel-tests-ext-driver.test: ... and this one, which
7348         doesn't require any compiler.
7349         * tests/Makefile.am (TESTS): Update.
7351 2011-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
7353         test defs: rename requirement 'non-cross' -> 'native'
7354         * tests/defs.in (non-cross): Rename requirement ...
7355         (native): ... to this, which is clearer and fits the
7356         existing lingo better.
7357         Suggestion by Ralf Wildenhues.
7359 2011-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
7361         testsuite: be more cross-compile friendly
7362         * tests/defs.in (cross_compiling): New subroutine.
7363         (am__tool_prefix): New internal variable.
7364         (gcc, g++, gcj): Force the use of the correct "tool prefix"
7365         when cross compiling.
7366         (gfortran, g77, non-cross): New requirements.
7368 2011-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
7370         tests: fix portability issues in 'repeated-options.test'
7371         * tests/repeated-options.test: Do not assume that object files
7372         have `.o' suffix and executables have no default suffix; instead,
7373         use `$(OBJEXT)' and `$(EXEEXT)'.
7375 2011-05-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
7377         check: document and test $(TEST_SUITE_LOG) overriding
7378         * doc/automake.texi (Simple Tests using parallel-tests): Explain
7379         how and why TEST_SUITE_LOG can be overridden at runtime.
7380         * tests/parallel-tests-log-override-1.test: New test, check that
7381         the newly documented idiom and similar usages are truly supported.
7382         * tests/parallel-tests-log-override-2.test: Likewise.
7383         * tests/parallel-tests-log-override-recheck.test: Likewise.
7384         * tests/Makefile.am (TESTS): Update.
7386 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7388         tests: fix spurious failure of extradep.test on FreeBSD
7389         * tests/extradep.test: When using `ls -t' to determine whether a
7390         file has been updated, make sure to use as reference a file whose
7391         timestamp is expected to be *strictly* older that that of the file
7392         being checked.  This is required because at least FreeBSD `ls' do
7393         not sort files with the same timestamp in alphabetical order when
7394         using the `-t' option.
7395         * tests/extradep2.test: Likewise.
7397 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7399         tests: fix spurious failure of txinfo21.test on FreeBSD
7400         * tests/txinfo21.test: Use the `is_newest' subroutine instead of
7401         the `ls -t' hack to to determine whether a file has been updated.
7402         This is required because at least FreeBSD `ls' do not sort files
7403         with the same timestamp in alphabetical order when using the `-t'
7404         option.
7406 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7408         tests: fix syntax error in 'silentcxx-gcc.test'
7409         * tests/silentcxx-gcc.test (for config_args in ...): Remove extra
7410         trailing backslash from the list of looped-on items.
7412 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7414         depmod tests: fix bug in depmodes list extraction
7415         * tests/depmod-tests.sh (get_depmodes): Use `echo $all_depmodes'
7416         instead of `... | tr "$nl" "$sp"' to strip extra whitespaces and
7417         newlines from `$all_depmodes'.  The latter idiom with `tr' is
7418         wrong since it gets run before `./defs' is sourced, and thus `$nl'
7419         and `$sp' are undefined.
7420         Bug revealad by FreeBSD tr(1) implementation, which doesn't accept
7421         empty strings as arguments.
7423 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7425         tests defs: use `skip_' for skipping java-related tests
7426         * tests/defs.in (java, javac): Use `skip_' to signal test
7427         skipping.
7429 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7431         tests: add excerpts from few original bug reports, for clarity.
7432         * tests/comment6.test: Add excerpts and/or details from the
7433         original bug report that prompted this tests to be added and/or
7434         extended.
7435         * tests/dejagnu4.test: Likewise.
7436         * tests/installdir.test: Likewise.
7438 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7440         tests defs: allow requirements for compilers (mostly dummy)
7441         Most of the new requirements that are now accepted in `$required'
7442         as consequence of this patch are still dummy.  They are planned
7443         to be implemented only in master (or in some derived branch), but
7444         having them here (even just as no-op) will allow for an easier
7445         integration/backporting of potential new testcases.
7446         * tests/defs.in (cc, c++, fortran, fortran77): New requirements,
7447         still dummy.
7448         (flex): New requirement, picking LEX for configure.
7449         (lex): New requirement, alias for `flex'.  A more appropriate
7450         implementation, looking for a generic `lex' program, will follow
7451         in the future.
7453 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7455         tests: 'silent-many-gcc.test' improved and made more robust
7456         * tests/silent-many-gcc.test:  Also force "fast" gcc depmode
7457         for C++ compilations.  Add sanity checks verifying that the
7458         cache variables we force are really used by configure.  Fix
7459         typo in comments.
7461 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7463         tests: drop useless requirements of 'g++'
7464         * tests/lflags2.test ($required): Remove 'g++', as any working
7465         C++ compiler should be enough, and ./configure will cause the
7466         test to skip if no working C++ compiler is found.
7467         * tests/yflags2.test: Likewise.
7468         * tests/subobj9.test: Likewise.
7469         * tests/silentcxx.test: Likewise.  Also, do not force depmodes
7470         that could cause non-GNU C++ compilers to fail.
7471         * tests/silentcxx-gcc.test: New test, like `silentcxx.test',
7472         but forcing "fast" gcc depmode (and thus requiring the GNU C++
7473         compiler).
7474         * tests/specflg10.test: Add proper "fixme" comment telling that
7475         we should make this test work with a generic C++ compiler.
7476         * tests/Makefile.am (TESTS): Update.
7478 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7480         tests defs: one more environment sanitization (corner case)
7481         * tests/defs (am__using_gmake): Initialize.  The `using_gmake'
7482         subroutine was using this variable for caching, but wasn't
7483         initializing it, which could cause problems in the (admittedly
7484         very unlikely) case in which it was pre-existent in the
7485         environment.
7487 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7489         tests: add forgotten test scripts to $(TESTS)
7490         * tests/Makefile.am (TESTS): Added test scripts  man[678].test,
7491         which have been present on the filesystem and in the repository,
7492         but which had erroneously been left out from $(TESTS).
7494 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7496         tests: ensure verbose printing of captured make output
7497         * tests/libtool7.test: Ensure verbose printing of captured
7498         make output.
7499         * tests/libtool9.test: Likewise.
7501 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7503         maintcheck: consistency of list of test scripts
7504         * CheckListOfTests.am: New file.
7505         (maintainer-check-list-of-tests): New target,
7506         check for consistency between list of tests defined in the
7507         including Makefile and list of tests on the filesystem.
7508         (clean-maintcheck-testslist-tmp): New rule, to clean up the
7509         temporary files that might be left around by the rules associated
7510         with the previous target.
7511         (clean-local): Depend on it.
7512         * lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
7513         (maintainer-check): Added dependency from the new target
7514         `maintainer-check-list-of-tests'.
7515         * tests/Makefile.am: Likewise.  Also ...
7516         (checked_test_extensions): Define to `.test'.
7517         (expected_test_list): Define properly.
7518         * Makefile.am (maintainer-check-list-of-test): New target,
7519         calling recursively into `tests/' and `lib/Automake/tests/',
7520         using ...
7521         (TEST_SUBDIRS): ... this new variable.
7523 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7525         tests: drop useless requirements of gcc (plus testsuite tweakings)
7526         * tests/libobj14.test ($required): Remove 'gcc', as we never run
7527         the C compiler.
7528         * tests/targetclash.test: Likewise.
7529         * tests/ansi6.test ($required): Remove 'gcc', as any working
7530         C compiler should be enough.
7531         * tests/ansi7.test: Likewise.
7532         * tests/ansi9.test: Likewise.
7533         * tests/ansi10.test: Likewise.
7534         * tests/lex5.test: Likewise.
7535         * tests/lexvpath.test: Likewise.
7536         * tests/mmodely.test: Likewise.
7537         * tests/pr204.test: Likewise.
7538         * tests/pr300-lib.test: Likewise.
7539         * tests/pr300-prog.test: Likewise.
7540         * tests/primary3.test: Likewise.
7541         * tests/specflg7.test: Likewise.
7542         * tests/specflg8.test: Likewise.
7543         * tests/subdir5.test: Likewise.
7544         * tests/subdir8.test: Likewise.
7545         * tests/subobj6.test: Likewise.
7546         * tests/subst3.test: Likewise.
7547         * tests/substre2.test: Likewise.
7548         * tests/yacc6.test: Likewise.
7549         * tests/yacc8.test: Likewise.
7550         * tests/depcomp2.test: Likewise.  Also, avoid clobbering user-set
7551         CFLAGS.
7552         * tests/lex3.test: Likewise.
7553         * tests/ansi3.test: Likewise.  Also, avoid 'CC=gcc' in configure.
7554         * tests/ansi3b.test: Likewise.
7555         * tests/ansi5.test: Likewise.
7556         * tests/autohdr4.test ($required): Remove 'gcc', as any working
7557         C compiler should be enough.
7558         Also, do not reject slow dependency extractors (which we might
7559         be forced to use now that $CC is not necessarily gcc anymore).
7560         * tests/cond16.test ($required): Remove 'gcc', as any working
7561         C compiler should be enough.
7562         Since we are at it, throw in few minor tweakings (mostly cosmetic,
7563         stylistic, or consistency-related).
7564         * tests/cond18.test: Likewise.
7565         * tests/cond35.test: Likewise.
7566         * tests/gnits2.test: Likewise.
7567         * tests/libtool3.test: Likewise.
7568         * tests/libtool7.test: Likewise.
7569         * tests/libtool9.test: Likewise.
7570         * tests/ltcond.test: Likewise.
7571         * tests/ltcond2.test: Likewise.
7572         * tests/ltconv.test: Likewise.
7573         * tests/ltlibsrc.test: Likewise.
7574         * tests/nobase.test: Likewise.
7575         * tests/nobase-libtool.test: Likewise.
7576         * tests/pr220.test: Likewise.
7577         * tests/pr224.test: Likewise.
7578         * tests/pr300-ltlib.test: Likewise.
7579         * tests/pr401.test: Likewise.
7580         * tests/pr401b.test: Likewise.
7581         * tests/pr401c.test: Likewise.
7582         * tests/subpkg.test: Likewise.
7583         * tests/target-cflags.test: Likewise.
7584         * tests/transform.test: Likewise.
7585         * tests/yacc4.test: Likewise.
7586         * tests/cond19.test: Likewise.  Also, avoid clobbering user-set
7587         CFLAGS.
7588         * tests/cond4.test: Likewise.
7589         * tests/depend2.test: Likewise.
7590         * tests/pr87.test: Likewise.
7591         * tests/subobj3.test: Likewise.
7592         * tests/substref.test: Likewise.
7594 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7596         test defs: increase coverage w.r.t. GNU make
7597         * tests/defs (GNUmake): Instead of just skipping the tests
7598         requiring GNU make if $MAKE is not GNU make, try to look for
7599         it and, if found, redefine $MAKE accordingly.  This will help
7600         to transparently increase coverage on non-GNU systems which
7601         have GNU make available in PATH.
7603 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7605         tests: improve few inter-tests references
7606         * tests/acloca22.test: Improve and extend the heading comments.
7607         Add reference to related tests 'remake-deleted-m4-file.test' and
7608         'remake-renamed-m4-macro-and-file.test'.  Since we are at it,
7609         add trailing `:' command, and few blank lines for readability.
7610         * tests/remake-renamed-m4-macro-and-file.test: In the heading
7611         comments, add reference to the related test 'acloca22.test'.
7613 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7615         tests: fix spurious failure in 'color2.test'
7616         * tests/color2.test: If $MAKE contains command-line arguments (as
7617         in e.g., "make -j2"), expect's directive "spawn $env(MAKE)" fails
7618         spuriously, because it tries to run "$MAKE" as a single command.
7619         Fix this with proper uses of the TCL `eval' builtin.
7621 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7623         tests: few more checks on automatic remake support
7624         * tests/remake-all-1.test: New test, check that the "all" target
7625         triggers rebuilt of outdated Makefiles.
7626         * tests/remake-all-2.test: Likewise, but for when the makefiles
7627         are not named `Makefile'.
7628         * tests/Makefile.am (TESTS): Update.
7630 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7632         tests: check some remake features with non-GNU make too
7633         * tests/acloca14.test ($required): Drop "GNUmake".  This test
7634         works as-is with non-GNU make implementations.
7635         * tests/remake1a.test: Likewise.
7636         * tests/aclocal4.test ($required): Drop "GNUmake".
7637         Modify the test to have it work also with non-GNU make.
7638         * tests/remake5.test: Likewise.
7639         * tests/remake8a.test: Likewise.
7640         * tests/remake8b.test: Likewise.
7641         * tests/remake9a.test: Likewise.
7642         * tests/remake9b.test: Likewise.
7643         * tests/remake9c.test: Likewise.
7644         * tests/remake9d.test: Likewise.
7645         * tests/remake10a.test: Likewise.
7646         * tests/remake10b.test: Likewise.
7647         * tests/remake10c.test: Likewise.
7648         * tests/remake12.test: ($required): Drop "GNUmake".
7649         Adapt the test to make it work also with non-GNU make (if
7650         it supports an "include" directive).
7652 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7654         tests: extend tests on dependency tracking with VPATH
7655         * tests/depmod-tests.sh: New script, fulfilling a threefold role:
7656         1. it is called to generate a Makefile.am snippet, containing the
7657            definition of proper lists of tests;
7658         2. it is called to set up a directory containing some common data
7659            files and autotools-generated files used by the aforementioned
7660            tests (this is done for speed reasons only); and
7661         3. it is called to properly run those tests, one at a time.
7662         * tests/depcomp9.test: Delete, it's obsolete now.
7663         * tests/depcomp10.test: Likewise.
7664         * tests/Makefile.am ($(srcdir)/depmod-tests.am): Include this
7665         snippet, which defines ...
7666         (depmode_tests): ... this new macro, containing the list of the
7667         newly generated `*.depmod' tests.
7668         (TESTS_EXTENSIONS): Add `.depmod'.
7669         (DEPMOD_LOG_COMPILER): Define.  It calls `depmod-tests.sh', so that
7670         the "depmode tests" will be executed by passing that driver script
7671         a proper parameter.
7672         ($(depmod_tests)): New dependency declaration (dummy, but required
7673         in order to have make actually produce expected log files from the
7674         `.depmod.log' suffix rule).
7675         (TESTS): Add $(depmod_tests).
7676         (EXTRA_DIST): Distribute depmod-tests.sh.
7677         Other minor cosmetic changes and reorderings.
7678         * bootstrap: Generate depmod-tests.am.
7679         * tests/.gitignore: Updated.
7681 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7683         tests: avoid extra test generation (for `instspc' tests)
7684         We don't really need to generate tons and tons of wrapper test
7685         scripts (presently, ~ 90) just to run what is basically a single
7686         test (specifically, `instspc-tests.sh') with different parameters.
7687         In fact, the possibility of running a single driver script with
7688         multiple files/configurations/parameters is one of the major
7689         selling points of the 'parallel-tests' testsuite driver of
7690         automake.  So why not use ourselves more extensively the best
7691         features we provide?
7692         * tests/instspc-tests.sh: Update heading comments.  Expect
7693         to be executed, not sourced.  Update handling of command-line
7694         arguments.  Adjust to reflect the renaming of "instspc tests"
7695         from `instspc-*.test' to `*.instspc'.
7696         * tests/instspc-data.test: Update heading comments.  Execute
7697         driver script `instspc-tests.sh', instead of sourcing it.
7698         Give more informative messages in case of internal errors.
7699         * tests/Makefile.am (TESTS_EXTENSIONS): Define explicitly (to
7700         `.test' and `.instspc').
7701         (TESTS): Add `$(instspc_tests)'.
7702         (generated_tests): Remove `$(instspc_tests)'.
7703         (INSTSPC_LOG_COMPILER): Define.  Calls `instspc-tests.sh', so
7704         that the "instspc tests" will be now executed by passing that
7705         driver script a proper parameter.
7706         ($(instspc_tests)): Remove, we don't need anymore to generate
7707         this tests.
7708         ($(instspc_tests:.test=.log)): Remove, substituted by ...
7709         ($(instspc_tests:.instspc=.log)): ... this.
7710         ($(instspc_tests)): New dependency declaration (dummy, but
7711         required in order to have make actually produce expected log
7712         files from the `.instspc.log' suffix rule).
7713         (MAINTAINERCLEANFILES, generated_tests): Don't extend with
7714         $(instspc_tests) anymore.
7715         Update comments.
7717 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7719         build: improve the definition of the list of testcases
7720         * tests/Makefile.am (handwritten_tests): New variable.
7721         (generated_tests): Likewise.
7722         (TESTS): Redefine as the union of the above.
7723         (EXTRA_DIST): Extend using $(handwritten_tests) and
7724         $(generated_tests) rather than $(TESTS).
7725         * tests/gen-parallel-tests: Update accordingly, and
7726         make more robust.
7728 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7730         tests skips: shorter and clearer messages
7731         * tests/defs: Use shorter messages when giving reasons for test
7732         skipping; it turns out these shorter messages are also clearer.
7733         If more info might be useful, send them to the log file only.
7735 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7737         tests: fix self check spurious failure with older bash versions
7738         * tests/self-check-cleanup.test: Add trailing `:' to the test code
7739         passed to $SHELL, otherwise older versions of bash (at least 2.05
7740         and 3.2.39) fail to correctly remove the temporary directory in
7741         the exit trap.
7743 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7745         tests: add sanity check to 'self-check-cleanup.test'
7746         * tests/self-check-cleanup.test: Check that the "hacked" file
7747         `defs-static' used by the test differs from the "vanilla" one
7748         in builddir.  This also offers a little more debugging output.
7750 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7752         testsuite: display reasons for skips to the console
7753         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Open file descriptor
7754         `9' to the original stderr; define `stderr_fileno_' to `9', and
7755         export it.
7756         * tests/self-check-report.test: Prevent new spurious failures by
7757         removing from the environment any definition of `stderr_fileno_'.
7759 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7761         testsuite: use `skip_' for skipping of tests
7762         * tests/defs: Use the `skip_' subroutine for test skipping.  Also
7763         give sometimes more detailed messages about the reasons for the
7764         skipping.
7765         * tests/canon7.test: Likewise.
7766         * tests/color.test: Likewise.
7767         * tests/color2.test: Likewise.
7768         * tests/compile2.test: Likewise.
7769         * tests/dejagnu7.test: Likewise.
7770         * tests/depcomp6.test: Likewise.
7771         * tests/depcomp9.test: Likewise.
7772         * tests/depcomp10.test: Likewise.
7773         * tests/distlinks.test: Likewise.
7774         * tests/distlinksbrk.test: Likewise.
7775         * tests/fn99.test: Likewise.
7776         * tests/fn99subdir.test: Likewise.
7777         * tests/forcemiss2.test: Likewise.
7778         * tests/fort5.test: Likewise.
7779         * tests/gettext3.test: Likewise.
7780         * tests/install2.test: Likewise.
7781         * tests/instfail-info.test: Likewise.
7782         * tests/instfail-java.test: Likewise.
7783         * tests/instfail-libtool.test: Likewise.
7784         * tests/instfail.test: Likewise.
7785         * tests/instmany-mans.test: Likewise.
7786         * tests/instmany-python.test: Likewise.
7787         * tests/instmany.test: Likewise.
7788         * tests/instsh3.test: Likewise.
7789         * tests/ltinit.test: Likewise.
7790         * tests/makej2.test: Likewise.
7791         * tests/mdate6.test: Likewise.
7792         * tests/mkinst3.test: Likewise.
7793         * tests/parallel-tests3.test: Likewise.
7794         * tests/parallel-tests-reset-term.test: Likewise.
7795         * tests/parallel-tests-unreadable-log.test: Likewise,
7796         * tests/python-virtualenv.test: Likewise.
7797         * tests/remake-gnulib-remove-header.test: Likewise.
7798         * tests/subobj9.test: Likewise.
7799         * tests/symlink2.test: Likewise.
7800         * tests/tar.test: Likewise.
7801         * tests/tar2.test: Likewise.
7802         * tests/txinfo26.test: Likewise.
7803         * tests/vala2.test: Likewise.
7804         * tests/vala3.test: Likewise.
7805         * tests/vala5.test: Likewise.
7806         * tests/vtexi4.test: Likewise.
7807         * tests/instdir-texi.test: Likewise.
7808         * tests/txinfo21.test: Likewise.
7810 2011-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
7812         testsuite: more environment sanitization
7813         * tests/defs: Move the checks verifying that the variables `me',
7814         `parallel_tests' and `required' aren't set in the environment ...
7815         * tests/defs-static.in: ... in here, with some optimizations to
7816         avoid useless forks.  Also, do the same checks for the variables
7817         `original_AUTOMAKE' and `original_ACLOCAL' too.
7818         * tests/self-check-env-sanitize.test: Update.
7819         * tests/Makefile.am (TESTS_ENVIRONMENT): Unset also variables
7820         `original_AUTOMAKE' and `original_ACLOCAL'.
7822 2011-04-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
7824         tests: fix spurious failure (non-renamed AM_TESTS_SETUP usage)
7825         * tests/parallel-tests-reset-term.test: Use AM_TESTS_ENVIRONMENT
7826         instead of AM_TESTS_SETUP (which has been removed in commit
7827         v1.11-349-g12f48fa).
7828         Fix spurious failure introduced by merge `v1.11-781-gfeed175'.
7830 2011-04-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
7832         tests: fix spurious failure in a test on TESTS (VPATH-related)
7833         * tests/check-tests-in-builddir.test: When not using the
7834         parallel-tests option, do not check that VPATH components are
7835         not present in the displayed test name, since the simple-tests
7836         driver do not try to strip them.
7838 2011-04-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
7840         tests: fix spurious failure in self-check-env-sanitize.test
7841         * tests/self-check-env-sanitize.test: Open file descriptor `5'
7842         to stdout.
7843         Fix spurious failure introduced by merge `v1.11-788-g3b0c8d5'.
7845 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7847         test: self check subroutines for skipping/failing of tests
7848         * tests/self-check-report.test: New test.
7849         * tests/Makefile.am (TESTS): Update.
7851 2011-04-23  Jim Meyering  <meyering@redhat.com>
7852             Stefano Lattarini  <stefano.lattarini@gmail.com>
7854         test defs: new subroutines for test skipping/failing
7855         * tests/defs.in (Exit): Move definition of this function earlier.
7856         (warn_, skip_, fail_, framework_failure_): New functions, inspired
7857         to the homonyms in gnulib's tests/init.sh.
7858         ($stderr_fileno_): New global variable, used by the new functions
7859         above.
7860         * tests/README: Updated.
7861         From a suggestion by Ralf Wildenhues.
7863 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7865         tests: fix typo (copy & paste blunder) in heading comment
7866         * tests/maintclean-vpath.test: Correctly refer to the sister test
7867         as `maintclean.test', not as `maintclean-vpath.test'.
7869 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7871         tests: remove redundant test `mclean.test'
7872         * tests/mclean.test: Remove, it's a weak grepping test completely
7873         superseded by the much more complete `maintclean.test'.
7874         * tests/Makefile.am (TESTS): Update.
7876 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7878         java tests: use $PATH_SEPARATOR where appropriate
7879         * tests/java-compile-run-nested.test: Use `$PATH_SEPARATOR', not
7880         `:', to separate entries of extended PATH and CLASSPATH variables.
7881         * tests/java-compile-run-flat.test: Likewise.
7883 2011-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
7885         java coverage: test JAVACFLAGS and AM_JAVACFLAGS
7886         * tests/javaflags.test: New test.
7887         * tests/Makefile.am (TESTS): Update.
7889 2011-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
7891         java coverage: test rebuild rules for java
7892         * tests/java-rebuild.test: New test.
7893         * tests/Makefile.am (TESTS): Update.
7895 2011-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
7897         java coverage: try to build and run a java program
7898         * tests/java-compile-run-flat.test: New test, try to build and run
7899         a "UNIX-style" java program (complete with wrapper shell script
7900         and the like) with a "flat" source-tree setup (i.e., everything in
7901         the top-level directory).
7902         * tests/java-compile-nested.test: Likewise, but using a more
7903         typical "nested" source-tree setup.
7904         * tests/Makefile.am (TESTS): Update.
7906 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7908         test defs: new requirement for the default java interpreter
7909         * tests/defs.in (for tool in $required): New requirement 'java'.
7911 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7913         java tests: tweak and make stricter a couple of tests
7914         * tests/javasubst.test: Use proper m4 quoting.  Add trailing `:'
7915         command.  Enable `errexit' shell flag, and related changes.
7916         Prefer cat + here-doc over echo to append to configure.in.
7917         Make grepping of Makefile.in stricter.  Add debugging output.
7918         Improve heading comments.
7919         * tests/javaprim.test: Likewise.
7921 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7923         java coverage: add test on uninstall with JAVA primary
7924         * tests/java-uninstall.test: New test.
7925         * tests/Makefile.am (TESTS): Update.
7927 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7929         java tests: require java compiler more properly
7930         * tests/java-extra.test: Use "required=javac" instead of ad-hoc
7931         configure check.
7932         * tests/java-noinst.test: Likewise.
7934 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7936         java: allow both JAVA and nobase_JAVA in the same Makefile.am
7937         * automake.in (handle_java): Also strip `nobase_' from the given
7938         prefix, when needed.
7939         * tests/java-clean.test: Update and extend.
7940         * tests/java-compile-install.test: Likewise.
7941         * tests/java-no-duplicate.test: Likewise.
7942         * tests/java-sources.test: Likewise.
7943         * tests/java-noinst.test: Likewise.
7944         * tests/java-mix-dist-nodist.test: Renamed to ...
7945         * tests/java-mix.test: ... this, and extended.
7946         * tests/java-nobase.test: New test, still xfailing due to
7947         unrelated issues.
7948         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
7950 2011-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
7952         testsuite: more environment sanitization
7953         * tests/defs.in: Sanity check: abort if any of `parallel_tests'
7954         or `required' is in the environment.
7955         ($sed_unindent_prog): Initialize to empty, to avoid interferences
7956         from the environment.
7957         * tests/self-check-me-in-env.test: Renamed to ...
7958         * tests/self-check-env-sanitize.test: ... this, and extended.
7959         * tests/Makefile.am (TESTS): Update.
7960         (TESTS_ENVIRONMENT): Unset variables `parallel_tests' and
7961         `required'.  Adjust comments.
7963 2011-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
7965         tests: in self-checks, use $SHELL, not /bin/sh
7966         * tests/self-check-me-in-env.test: Include `./defs-static' to get
7967         the definition of `$SHELL'.  Use `$SHELL' instead of `/bin/sh' to
7968         execute the tests.
7970 2011-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
7972         tests: prefer AM_TESTS_ENVIRONMENT to TESTS_ENVIRONMENT
7973         * tests/Makefile.am (TESTS_ENVIRONMENT): Renamed to ...
7974         (AM_TESTS_ENVIRONMENT): ... this.
7976 2011-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
7978         tests: don't allow `$me' to be overridden from the environment
7979         * tests/defs.in: Sanity check: abort if $me is in the environment.
7980         * tests/self-check-me-in-env.test: New test.
7981         * tests/Makefile.am (TESTS_ENVIRONMENT): Unset variable `me'.
7982         (TESTS): Update.
7983         Suggestion by Ralf Wildenhues.
7985 2011-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
7987         check: rename AM_TESTS_SETUP -> AM_TESTS_ENVIRONMENT
7988         The AM_TESTS_SETUP naming was not a good one after all.  It may
7989         be technically more correct than AM_TESTS_ENVIRONMENT, but the
7990         latter is a better one simply because it is easier to remember,
7991         and even if you've never heard of it and only know the semantics
7992         of TESTS_ENVIRONMENT, you can have a straightforward way to
7993         figure out how AM_TESTS_ENVIRONMENT would work.
7994         * tests/check.am (am__check_pre): Update.
7995         * doc/automake.in (Simple Tests using parallel-tests): Update.
7996         * tests/parallel-tests-am_tests_setup.test: Renamed ...
7997         * tests/parallel-tests-am_tests_environment.test: ... to this,
7998         and updated.
7999         * tests/Makefile.am (TESTS): Update.
8000         Suggestion and motivation by Ralf Wildenhues.
8002 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8004         test defs: allow overriding of `$me'
8005         * tests/defs.in ($me): Allow overriding by the including test
8006         script.  Add some explicative comments.
8008 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8010         coverage: more tests on the parallel-tests driver
8011         * tests/parallel-tests-interrupt.test: New test.
8012         * tests/parallel-tests-reset-term.test: Likewise.
8013         * tests/Makefile.am (TESTS): Update.
8015 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8017         check: new developer-reserved AM_TESTS_SETUP variable
8018         For reference, see the discussion at:
8019         <http://lists.gnu.org/archive/html/automake-patches/2011-01/msg00213.html>
8020         * lib/am/check.am [%?PARALLEL_TESTS%] (am__check_pre): Pass also
8021         $(AM_TESTS_SETUP).  Comments updated, and some typos fixed.
8022         * doc/automake.texi (Simple Tests using parallel-tests): Document
8023         AM_TESTS_SETUP.  Reorder some of the existing documentation a bit.
8024         * tests/parallel-tests-am_tests_setup.test: New test.
8025         From a suggestion by Ralf Wildenhues.
8027 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8029         depcomp tests: don't reject slower dependency extractors
8030         * tests/depcomp8b.test: Add the `--enable-dependency-tracking'
8031         option to `configure' invocations, so that slower dependency
8032         extractors are not rejected.
8033         * tests/depcomp8a.test: Likewise.  Also ...
8034         (foo.c): ... since we are at it, fix spacing to be consistent
8035         with GNU coding standards.
8037 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8039         m4: add missing serial numbers to a few files
8040         Fixes automake bug#8483.
8041         * m4/amversion.in: Add serial number.
8042         * m4/auxdir.m4: Likewise.
8043         * m4/gcj.m4: Likewise.
8044         * m4/install-sh.m4: Likewise.
8045         * m4/mkdirp.m4: Likewise.
8046         * m4/python.m4: Likewise.
8047         * m4/runlog.m4: Likewise.
8048         * m4/strip.m4: Likewise.
8049         * m4/upc.m4: Likewise.
8051 2011-04-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
8053         tests: fix few bugs in self checks
8054         Related to automake bug#8508.
8055         * tests/self-check-cleanup.test: Be laxer when grepping output
8056         from `ls -l', to account for ACLs and SELinux-only files.
8057         * tests/self-check-dir.test: Source `defs-static' to read in the
8058         correct definition for $SHELL.
8059         * tests/self-check-me.test: Likewise, and extend a bit.
8060         Report from Jim Meyering.
8062 2011-04-16  Jim Meyering  <meyering@redhat.com>
8064         depcomp: correct invalid sed invocation
8065         * lib/depcomp: Insert missing -e before '/:$/d'.
8066         Otherwise, that use of sed would treat '/:$/d' as a file name.
8068 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
8070         maintainer check: quote literal `$' in Makefile rule
8071         * Makefile.am (sc_tests_PATH_SEPARATOR): Escape literal `$'
8072         character in double-quoted string.  Fix a bug in which the rule
8073         emitted an erroneously empty substring in its error message.
8075 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
8077         tests: fix typo in python5b.test
8078         * tests/python5b.test: Remove extra `:' from $PATH redefinition.
8080 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
8082         coverage: test for automake bug#8485 (known regression)
8083         * tests/yacc-dist-nobuild-subdir.test: New test.
8084         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
8086 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
8088         tests: remove redundant settings of `errexit' shell flag
8089         * tests/autodist-acconfig.test: Do not set the `errexit'
8090         shell flag, as it is already set by `tests/defs'.
8091         * tests/autodist-acconfig-no-subdir.test: Likewise.
8092         * tests/autodist-aclocal-m4.test: Likewise.
8093         * tests/autodist-config-headers.test: Likewise.
8094         * tests/autodist-configure-no-subdir.test: Likewise.
8095         * tests/autodist-stamp-vti.test: Likewise.
8096         * tests/autodist-subdir.test: Likewise.
8097         * tests/autodist.test: Likewise.
8098         * tests/check-exported-srcdir.test: Likewise.
8099         * tests/check-tests-in-builddir.test: Likewise.
8100         * tests/check-tests_environment.test: Likewise.
8101         * tests/help-python.test: Likewise.
8102         * tests/java-check.test: Likewise.
8103         * tests/java-extra.test: Likewise.
8104         * tests/java-noinst.test: Likewise.
8105         * tests/lex-subobj-nodep.test: Likewise.
8106         * tests/ltinit.test: Likewise.
8107         * tests/m4-inclusion.test: Likewise.
8108         * tests/maintclean-vpath.test: Likewise.
8109         * tests/parallel-tests-subdir.test: Likewise.
8110         * tests/pr8365-remake-timing.test: Likewise.
8111         * tests/python-dist.test: Likewise.
8112         * tests/python-vars.test: Likewise.
8113         * tests/python-virtualenv.test: Likewise.
8114         * tests/python5b.test: Likewise.
8115         * tests/specflg-dummy.test: Likewise.
8116         * tests/yacc-dist-nobuild-subdir.test: Likewise.
8118 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
8120         test defs: define default $distdir (help reducing duplication)
8121         * tests/defs ($distdir): New variable, might be used in
8122         testcases checking distribution-related features.
8123         * tests/pr9.test: Use it.
8124         * tests/subdir9.test: Likewise.
8125         * tests/lex3.test: Likewise.
8126         * tests/lexvpath.test: Likewise.
8127         * tests/remake-moved-m4-file.test: Likewise.
8128         * tests/remake-renamed-m4-file.test: Likewise.
8129         * tests/remake-renamed-m4-macro-and-file.test: Likewise.
8130         * tests/yacc-basic.test: Likewise.
8131         * tests/yacc-d-basic.test: Likewise.
8132         * tests/yacc-d-vpath.test: Likewise.
8133         * tests/yacc-dist-nobuild.test: Likewise.
8134         * tests/vtexi3.test: Add comment explaining why we redefine
8135         $distdir in this test.
8137 2011-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
8139         depcomp: fix bugs in tests and in the depcomp script
8140         * lib/depcomp (gcc): Remove duplicated `-e' from sed invocation.
8141         * tests/depcomp10.test: Make it executable.  Fix a blunder that
8142         has left part of an intended comment not prefixed by `#', thus
8143         causing shell syntax errors.  In this same comment, break a
8144         too-long reported error message on multiple lines, for clarity.
8145         Add reference to the relevant bug report.  Add a comment which
8146         explains why the test result 'skipped' if the first "make" call
8147         fails.  Add other useful comments.
8148         * tests/depcomp9.test: Slightly improve comments.
8150 2011-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8152         Fix hp depmode for VPATH builds with GNU make.
8153         * lib/depcomp: Be sure to remove VPATH-prefixed object from
8154         dependency output when creating stub rule.
8155         * tests/depcomp10.test: New test.
8156         * tests/Makefile.am (TESTS): Update.
8157         * NEWS: Update.
8158         Report by Bruno Haible.
8160 2011-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
8162         java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am
8163         Fixes automake bug#8434.
8164         * automake.in (handle_java): Strip `dist_' and `nodist_' from
8165         the given prefix.  Define a new internal Makefile variable
8166         `am__java_sources'.  Related adjustments.
8167         * lib/am/java.am (JAVAC, JAVAROOT, CLASSPATH_ENV): Define only the
8168         first time this am file is processed.
8169         (class%DIR%.stamp): Stamp file renamed ...
8170         (class%NDIR%.stamp): ... to this, so that the `dist_' and `nodist_'
8171         prefixes are stripped from the name of the stampfile.  Adjust
8172         declaration of dependencies by using the new automake-generated
8173         internal variable `$(am__java_sources)'.  In the rule, use `$@'
8174         as the name of the target, rather than hard-coding it.
8175         * tests/java.test: Update and extend.
8176         * tests/java-no-duplicate.test: New test.
8177         * tests/java-mix-dist-nodist.test: Likewise.
8178         * tests/java-compile-and-install.test: Likewise.
8179         * tests/java-clean.test: Likewise.
8180         * tests/java-sources.test: Likewise.
8181         * tests/Makefile.am (TESTS): Update.
8183 2011-04-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
8185         coverage: more on java support EXTRA_ and noinst_ prefixes
8186         * tests/java-extra.test: New test, checking support for the
8187         prefix `EXTRA_' with the JAVA primary.
8188         * tests/java-noinst.test: New test, checking support for the
8189         prefix `noinst_' with the JAVA primary.
8190         * tests/Makefile.am (TESTS): Update.
8192 2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
8194         test defs: fix 'javac' requirement for older JDK versions
8195         The Java compiler from JDK 1.5 (and presumably earlier versions)
8196         cannot handle the `-version' option by itself; and while it does
8197         print the version number, it then errors out with an usage error:
8198           $ javac -version
8199           javac 1.5.0_22
8200           javac: no source files
8201           Usage: javac <options> <source files>
8202           ...
8203         Luckily, adding the `-help' option to the `javac' invocation
8204         seems to fix this problem.
8205         * tests/defs.in (javac): Pass also the `-help' option to the
8206         `javac' program.  Add a comment explaining why it is needed.
8207         Report from Ralf Wildenhues.
8209 2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
8211         test defs: new requirement for the default java compiler
8212         * tests/defs.in (for tool in $required): New requirement 'javac'.
8213         * tests/java.test: Use it instead of ad-hoc configure check.
8214         * tests/java-check.test: Likewise.
8215         * tests/java-extra.test: Likewise.
8216         * tests/java-noinst.test: Likewise.
8217         * tests/instfail-java.test: Likewise.
8218         * tests/instdir-java.test: Likewise.
8220 2011-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
8222         java: check_JAVA does not cause compilation by "make all" anymore
8223         Fixes automake bug#8234.
8224         * automake.in (handle_java): Make stamp of class files built from
8225         java sources in $(check_JAVA) a dependency of `check' target, not
8226         `all' target.
8227         * tests/java-check.test: New test.
8228         * tests/Makefile.am (TESTS): Update.
8229         * NEWS: Update.
8230         * THANKS: Update.
8231         Report from Petteri Räty.
8233 2011-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
8234             Bruno Haible  <bruno@clisp.org>
8236         coverage: add tests on remake rules in more complex situations
8237         * tests/defs (using_gmake): New function.
8238         (for tool in $required): Use it when $tool is 'GNUmake'.
8239         * tests/remake-moved-m4-file.test: New test.
8240         * tests/remake-deleted-m4-file.test: Likewise.
8241         * tests/remake-renamed-m4-file.test: Likewise.
8242         * tests/remake-renamed-m4-macro-and-file.test: Likewise.
8243         * tests/remake-renamed-m4-macro.test: Likewise.
8244         * tests/remake-add-acsubst-gnulib.test: Likewise.
8245         * tests/remake-add-header-gnulib.test: Likewise.
8246         * tests/remake-remove-header-gnulib.test: Likewise.
8247         * tests/Makefile.am (TESTS): Update.
8249 2011-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
8251         typofix in 'tests/defs'
8252         * tests/defs: Fix typo (`itslef' instead of `itself') in
8253         comments.
8255 2011-04-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8257         Clarify regex code in depcomp.
8258         * lib/depcomp: Add comment why we don't need regex-escaping here.
8259         Suggested by Stefano Lattarini.
8261 2011-04-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8263         Fix makedepend depmode for VPATH builds.
8264         * lib/depcomp [makedepend]: Remove any VPATH prefix from the
8265         object file name, so a rebuild doesn't attempt to update the
8266         .Po files in the source tree.
8267         * tests/depcomp9.test: New test.
8268         * tests/Makefile.am (TESTS): Update.
8269         * NEWS: Update.
8271 2011-04-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
8273         tests: fix timestamp-related failures
8274         Fixes automake bug#8365.
8275         * tests/aclocal6.test: Sleep before modifying m4 files that should
8276         trigger remake rules.  Remove incorrect/obsoleted comments.
8277         * tests/subdir5.test: Likewise, and extend a bit.
8278         * tests/subdir8.test: Likewise.
8279         * tests/pr8365-remake-timing.test: New xfailing test.
8280         * tests/Makefile.am (TESTS): Update.
8281         Report from Sam Steingold.
8283 2011-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8285         Create subdirs for generated sources even when not dep tracking.
8286         * automake.in (handle_single_transform): If $object is derived
8287         and lands in subdir, be sure to output a dirstamp dependency.
8288         * tests/yacc5.test: Avoid falsely matching the dirstamp
8289         dependency when grepping for a rule.
8290         * tests/lex-subobj-nodep.test: New test.
8291         * tests/Makefile.am (TESTS): Update.
8292         * THANKS: Update.
8293         Report by Ignacy Gawedzki.
8295         Fix locale issue in check-exported-srcdir.test.
8296         * tests/check-exported-srcdir.test: Reformulate glob to not fail
8297         in a locale that ignores or interleaves character case.
8299 2011-04-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
8301         docs: better visibility for aclocal in the index
8302         * doc/automake.texi (@menu): Rename title for entry 'configure'
8303         from "Scanning configure.ac or configure.in" to the more precise
8304         "Scanning configure.ac, using aclocal".
8305         (@detailmenu): Adjust.
8306         (@node configure): Adjust, and extend @cindex calls accordingly.
8307         * THANKS: Update.
8308         From a report by Maynard Johnson.
8310 2011-03-30  Stefano Lattarini  <stefano.lattarini@gmail.com>
8312         tests: improve tests on "maintainer-clean" target
8313         * tests/aclocal6.test: Move checks related to "maintainer-clean"
8314         functionalities into ...
8315         * tests/maintclean-vpath.test: ... this new test.
8316         * tests/maintclean.test: Update heading comments.  Extend to also
8317         test subdirs.  Remove useless disabling of YACC.  Fix m4 quoting
8318         in configure.in.  Add a trailing `:' command.  Remove extra blank
8319         lines.
8320         * tests/Makefile.am (TESTS): Update.
8322 2011-03-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8324         tests: fix unindent to use printf not echo for script.
8325         * tests/defs.in: Use printf rather than echo, as the latter may
8326         interpret the backslashes in the sed script.  Fixes test
8327         failures with dash as /bin/sh.
8329 2011-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8330             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8332         maintcheck: look for problematic names of testcases
8333         The configure.in stub created by default by `tests/defs' obtains
8334         the first argument of AC_INIT from the test name, and this can
8335         cause some supported autoconf versions to fail with a spurious
8336         error if that test name contains the name of an m4 or m4sugar
8337         builtin or macro (e.g., `defn' or `m4_undefine').
8338         See for example the bug fixed by commit v1.11-287-g1325a8a.
8339         This change add a maintainer check that warns about test names
8340         which are possibly problematic in this regard.
8341         * Makefile.am (sc_test_names): New maintainer-check target.
8342         (syntax_check_rules): Add it.
8343         (m4_builtins): New helper variable.
8344         (TESTS): Updated according to the following renamings.
8345         * tests/include.test: Renamed ...
8346         * tests/hdr-vars-defined-once.test: ... to this.
8347         * tests/sinclude.test: Renamed ...
8348         * tests/m4-inclusion.test: ... to this, and simplified
8349         accordingly.
8350         * tests/include2.test: Renamed ...
8351         * tests/dist-included-parent-dir.test: ... to this, for
8352         consistency.
8354 2011-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
8356         tests: fix bug in alloca*.test
8357         * tests/alloca.test: Make grepping of automake stderr stricter,
8358         add a trailing `:' command; also, add AC_PROG_CC to configure.in,
8359         and create a dummy alloca.c file, to ensure that we fail for the
8360         proper reason.
8361         * tests/alloca2.test: Likewise.  Also, look for LT_INIT, not
8362         AC_PROG_LIBTOOL, in the error message (bug introduced with commit
8363         v1.11-315-gd51e7b7 "libtool: suggest LT_INIT if LTLIBRARIES
8364         primary is used").
8365         From a report by Patrick Welche.
8367 2011-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8369         cosmetics: better use of m4 quoting and m4sugar macros
8370         * m4/dmalloc.m4: Better use of m4 quoting.  Bump serial number.
8371         * m4/gcj.m4: Likewise.
8372         * m4/init.m4: Likewise.
8373         * m4/install-sh.m4: Likewise.
8374         * m4/lex.m4: Likewise.
8375         * m4/multi.m4: Likewise.
8376         * m4/option.m4: Likewise.
8377         * m4/python.m4: Likewise.
8378         * m4/sanity.m4: Likewise.
8379         * m4/cond.m4: Likewise.  Also, prefer the m4sugar macro 'm4_if'
8380         over the plain m4 macro 'ifelse'.
8381         * m4/depend.m4: Likewise.
8383 2011-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8385         tests: add test about deprecated use of AC_INIT
8386         * tests/deprecated-acinit.test: New test, check that automake
8387         and autoconf complain about an old-style AC_INIT call used with
8388         a new-style AM_AUTOMAKE_INIT call.
8389         * tests/Makefile.am (TESTS): Update.
8391 2011-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
8393         tests: fix bug (comments-in-var-defn.test + autoconf 2.62)
8394         * tests/comments-in-var-defn.test: The configure.in stub created
8395         by default, which has the AC_INIT first argument obtained by the
8396         test name, causes autoconf 2.62 to fail with a spurious error
8397         message like: "configure.in:1: error: defn: undefined macro:".
8398         Thus, to prevent this, the test is renamed to ...
8399         * tests/comments-in-var-def.test: ... this.
8400         * tests/Makefile.am (TESTS): Updated.
8402 2011-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
8404         cosmetics: convert encoding from ISO-8859 to UTF-8
8405         * ChangeLog.03: Convert encoding to UTF-8.
8406         * ChangeLog.96: Likewise.
8407         * ChangeLog.98: Likewise.
8408         * NEWS: Likewise.
8409         * TODO: Likewise.
8411 2011-03-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
8413         tests: extend checks on the 'unindent' shell function
8414         * tests/self-check-unindent.test: Also check that multiple
8415         instances of 'unindent' can run in parallel (this was not
8416         the case when that function used temporary files).
8418 2011-03-01  Peter Rosin  <peda@lysator.liu.se>
8420         test defs: unindent without temporary file
8421         * tests/defs.in (commented_sed_unindent_prog): Commented Sed program
8422         that strips the "proper" amount of leading whitespace.
8423         (unindent): Lazily strip comments from the above program and use it
8424         to unindent without using a temporary file.
8426 2011-02-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
8428         libtool: suggest LT_INIT if LTLIBRARIES primary is used
8429         When the LTLIBRARIES primary was used, but $(LIBTOOL) wasn't
8430         defined, automake suggested to add a call to AC_PROG_LIBTOOL
8431         in configure.ac.  But that macro is deprecated since Libtool
8432         version 1.9b (2004-08-29), in favor of the newer LT_INIT.  So
8433         suggest the use of this latter macro instead.
8434         * lib/Automake/Variable.pm (%_am_macro_for_var): Pair 'LIBTOOL'
8435         with 'LT_INIT', not with 'AC_PROG_LIBTOOL'.
8436         * tests/libtool4.test: Adjust and extend.  Also, add a call to
8437         macro AC_PROG_CC in configure.in, to help ensuring that automake
8438         does not fail for the wrong reasons.
8439         * tests/ltinit.test: New test, ensure that automake's libtool
8440         support works with LT_INIT-based interface.
8441         Thanks to Jack Kelly for the suggestion.
8443 2011-02-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
8445         tests: add testcases sanity-checking the testsuite
8446         Helper subroutines, variables and other pieces of code defined
8447         in the `tests/defs' and used by many testcases are non-obvious,
8448         and tricky to get to work portably; but until now, they weren't
8449         tested at all in a clear and self-contained way.
8450         This change should remedy to the situation.
8451         * tests/self-check-cleanup.test: New test, check removal of
8452         temporary test working directory by `./defs'.
8453         * tests/self-check-dir.test: New test, check that tests using
8454         `./defs' create a proper temporary directory, and run in it.
8455         * tests/self-check-exit.test: New test, check that, in case of
8456         failing commands, the correct exit status is passed to the exit
8457         trap installed by the `./defs' script.
8458         * tests/self-check-is_newest.test: New test, checking the
8459         `is_newest' subroutine.
8460         * tests/self-check-me.test: New test, checking that $me gets
8461         defined automatically by `tests/defs' if not set, and that it
8462         can be overridden from either the shell or the environment.
8463         * tests/self-check-sanity.test: New test, check that the sanity
8464         checks performed by the `tests/defs' script works correctly.
8465         * tests/self-check-unindent.test: New test, checking the
8466         `unindent' subroutine.
8467         * tests/Makefile.am (TESTS): Update.
8469 2011-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
8471         tests: tempdirs with restrictive permissions are cleaned correctly
8472         Before this change, the removal of a temporary test directory
8473         containing subdirectories with restrictive permissions (such as
8474         'r--r--r--') could fail.
8475         * tests/defs: Ensure that all the subdirectories of a temporary
8476         test directory have the 'read', 'write' and 'execute' bits set,
8477         before trying to remove it with `rm -rf'.
8478         * tests/Makefile.am (clean-local-check): Likewise.
8480 2011-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
8481             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8483         test defs: add subroutine for input unindenting
8484         * tests/defs.in (unindent): New subroutine.
8485         * tests/instspc-tests.sh: Use it.
8487 2011-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8489         python: report the 'PYTHON' influential environment variable
8490         * m4/python.m4 (AM_PATH_PYTHON): Call AC_ARG_VAR on PYTHON.
8491         * doc/automake.texi (Python): Update and extend.
8492         * tests/help-python.test: New test.
8493         * tests/Makefile.am (TESTS): Update.
8494         * THANKS (Jack Kelly): Update e-mail address.
8495         Suggestion by Jack Kelly.
8497 2011-02-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
8499         tests defs: clear TESTS_ENVIRONMENT variable
8500         * tests/defs.in (TESTS_ENVIRONMENT): Unset it, so that values
8501         from environment won't interfere with the testcases.
8502         Suggestion by Ralf Wildenhues.
8504 2011-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8506         tests: `instspc-*.test': do not create useless source file
8507         * tests/instspc-tests.sh (create_input_data): Do not create
8508         unused source file `source2.c'.
8510 2011-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8512         tests: optimize `instspc-*.test' for speed
8513         After the split of `instspc.test' into various generated tests,
8514         the running time of the testsuite has noticeably increased, since
8515         all these new generated tests must run aclocal, autoconf and
8516         automake, whereas previously they were run only once (at the
8517         beginning of `instspc.test').  But luckily, since the new tests
8518         share the same input files for the autotools, this situation can
8519         be easily worked around (at the expenses of a slight increase of
8520         complexity for the testsuite scaffolding).
8521         * tests/instspc-data.test: New helper test, properly calling
8522         the `instspc-tests.sh' script to generate input data for the
8523         others `instspc-*.test' tests.
8524         * tests/Makefile.am (TESTS): Add `instspc-data.test'.
8525         ($(instspc_tests:.test=.log)): Depend on its log file.
8526         (instspc-data.log): Depend on `instspc-tests.sh'.
8527         * tests/instspc-tests.sh: Recognize new action `generate-data',
8528         and use it to create hand-written and autotools-generated static
8529         files shared by all the `instspc-*.test' tests.
8530         When sourced by the `instspc-*.test' tests, use those previously
8531         created files instead of recreating them from scratch.
8532         (unindent, create_input_data): New subroutines.
8533         Some other related changes and refactorings.
8534         From a suggestion by Ralf Wildenhues.
8536 2011-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
8538         python: fix spurious failure in tests
8539         * tests/python-vars.test: Ignore cached values from config.site
8540         by exporting CONFIG_SITE=/dev/null.  Be laxer in matching the
8541         expected values of output variables `pythondir' and `pyexecdir',
8542         since they can change quite unpredictably among different python
8543         installations.  Also, avoid "hyping" debugging output, thus
8544         offering smaller trace output and more informative diff.
8545         Report and suggestions by Ralf Wildenhues.
8546         * tests/python-virtualenv.test: Require python, since we call it
8547         even after the virtualenv has been deactivated.  Ignore cached
8548         values from config.site by exporting CONFIG_SITE=/dev/null.
8550 2011-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
8552         tests: tweak few tests on simple and parallel test drivers
8553         * tests/check-exported-srcdir.test: Improve heading comments.
8554         * tests/check-tests-in-builddir.test: Likewise.  Also, unset the
8555         `FOO_EXIT_STATUS' variable, so that any pre-existing value in the
8556         environment won't risk to interfere with the test.
8557         Suggestions by Ralf Wildenhues.
8559 2011-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
8561         python: extend and improve tests, fix minor glitches
8562         * m4/python.m4 (AM_PATH_PYTHON): Ensure the "checking ..." messages
8563         from configure are always complete, even in case of failure.  Tiny
8564         cosmetic improvement in info/error messages.
8565         * tests/python.test: Also check that automake complains if the
8566         PYTHON primary is used but the `py-compile' script is not present.
8567         Make grepping of generated Makefile.in laxer w.r.t. whitespace.
8568         Add trailing `:' command.
8569         * tests/python2.test: Remove repeated calls aclocal: they are
8570         useless because configure.in is never modified.  Make grepping
8571         of automake stderr more comprehensive.  Remove the pre-existing
8572         `py-compile' file before trying to install it with `--add-missing'.
8573         Add trailing `:' command.
8574         * tests/python3.test: Add trailing `:' command.
8575         * tests/python11.test: Likewise.
8576         * tests/python4.test: Likewise.  Also, try to pass PYTHON config
8577         variable to configure from the environment, rather than only from
8578         the command line.
8579         * tests/python5.test: Ensure that the "checking ..." messages from
8580         configure are always complete.  Use proper m4 quoting.  Add a
8581         trailing `:' command.
8582         * tests/python6.test: Simplify test logic, by checking for files
8583         created by configure rather then grepping its output.
8584         * tests/python7.test: Likewise.
8585         * tests/python8.test: Also check that `$PYTHON' is meaningfully
8586         set in the ACTION-IF-TRUE argument of AM_PATH_PYTHON.
8587         * tests/python9.test: Likewise.
8588         * tests/python10.test: Add trailing `:' command.
8589         (Makefile.am): Declare `disttest' target as `.PHONY', and add
8590         an `ls -l' to its recipe, for debugging.
8591         * tests/nobase-python.test: In testing "make uninstall" and
8592         "make install" results, prefer idioms that make verbose logs
8593         more helpful.  Remove a couple of lines of dead code.  Add a
8594         trailing `:' command.
8595         * tests/python5b.test: New test, checking that configure performs
8596         the check on the python version even when the choice of the python
8597         interpreter is forced by the user.
8598         * tests/python-dist.test: New test, checking the distribution of
8599         *_PYTHON files.
8600         * tests/python-vars.test: New test, checking that AM_PATH_PYTHON
8601         correctly set all the output variables advertised in the manual.
8602         * tests/python-virtualenv.test: New test, checking that python
8603         support offered by automake works well with "virtual python
8604         environments" created by the `virtualenv' program.
8605         * tests/instdir-prog.test: Also check `$(pyexecdir)'.  Existing
8606         checks made slightly stricter.
8607         * tests/instdir-prog.test: Also check `$(pyexecdir)'.  Existing
8608         * tests/instdir-ltlib.test: Likewise.
8609         * tests/Makefile.am (TESTS): Update.
8611 2011-02-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
8613         coverage: more tests on simple and parallel test drivers
8614         * tests/parallel-tests-subdir.test: New test.
8615         * tests/check-exported-srcdir.test: Likewise.
8616         * tests/check-tests-in-builddir.test: Likewise.
8617         * tests/check-tests_environment.test: Likewise.
8618         * tests/Makefile.am (TESTS): Update.
8620 2011-01-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
8622         tests: fix spurious failures in lflags*.test
8623         * tests/lflags.test: Remove 'LEX' from the environment, so
8624         that it won't be erroneously picked up by `make -e'.
8625         * tests/lflags2.test: Likewise.
8627 2011-01-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
8629         docs: color-tests issues with parallel make
8630         * doc/automake.texi (Simple Tests): Document that automatic
8631         recognition of a capable terminal attached to stdout can fail
8632         with some make implementation when running in parallel mode,
8633         thus causing colored test output not to be automatically
8634         activated when it should.
8636 2011-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
8638         coverage: test semantics of "dummy" per-target flags
8639         * tests/specflg-dummy.test: New test, ensuring that even "dummy"
8640         per-target flags triggers the use of renamed objects.
8641         * tests/Makefile.am (TESTS): Update.
8642         Suggestion by Ralf Wildenhues.
8644 2011-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
8646         tests defs: sanitize IFS
8647         * tests/defs ($IFS): Define to <space>, <tab>, <newline>.
8648         ($sp): New variable, holding a single whitespace character.
8649         ($tab): New variable, holding a tabulation character.
8650         ($nl): New variable, holding a newline character.
8652 2011-01-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8654         tests: avoid instspc* failures due to make's whitespace trimming
8655         * tests/instspc-tests.sh: Prepend './' when passing the test
8656         characters, to avoid leading whitespace characters to be trimmed
8657         from macros set from environment variables.  Fixes testsuite
8658         failures with HP-UX and Tru64/OSF make.
8660 2011-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8662         tests: fix VPATH auto-expansion workarounds.
8663         * tests/suffix10.test, tests/suffix11.test, tests/suffix12.test,
8664         tests/suffix3.test, tests/suffix5.test, tests/suffix8.test:
8665         Ensure $< is not surrounded by white space, to prevent Solaris
8666         make from applying automatic VPATH text expansion.
8668         tests: fix VPATH auto-expansion workarounds.
8669         * tests/parallel-tests8.test, tests/suffix13.test:
8670         Ensure $< is not surrounded by white space, to prevent Solaris
8671         make from applying automatic VPATH text expansion.
8673 2011-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
8675         tests: fix spurious failures in yflags*.test
8676         * tests/yflags.test: Remove 'YACC' from the environment, so
8677         that it won't be erroneously picked up by `make -e'.
8678         * tests/yflags2.test: Likewise.
8680 2011-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8682         tests: avoid fn99*.test failures due to buggy AIX 5.3 cp -R.
8683         * tests/fn99.test, tests/fn99subdir.test: Skip if an initial
8684         `cp -R' of the subdir tree already fails; AIX 5.3 cp messes
8685         up its internal memory when copying this tree.
8687 2011-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8688             Stefano Lattarini  <stefano.lattarini@gmail.com>
8690         Add comment to check-TESTS rule working around make 3.80 bug.
8691         * lib/am/check.am (check-TESTS): Update comment.
8693 2011-01-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8695         tests: less strict double-colon spy.test again.
8696         * tests/spy.test: We know BSD make doesn't invoke more than one
8697         double-colon rule, so no need to expose that failure.
8699 2011-01-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8701         install-sh: avoid Tru64 sh `test' operator precedence issues.
8702         * lib/install-sh: Protect file names and directory components
8703         that consist of `=', `(', `)', or `!'.  Move protection as early
8704         as possible, to avoid errors such as with Tru64 sh `test -z ='.
8705         * tests/instsh2.test: Extend test to cover more possibilities.
8706         Fixes 1.12 instspc-equal-install.test failure on Tru64/OSF 5.1.
8708 2011-01-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
8709             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8711         docs: automake testsuite doesn't use TESTS_ENVIRONMENT anymore
8712         * doc/automake.texi (Simple Tests): Do not claim Automake uses
8713         TESTS_ENVIRONMENT for the perl driver.  Instead, point to the
8714         parallel-tests driver.
8716 2011-01-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8718         tests: check for presence of cscope with redirected input.
8719         * tests/defs: Add required test for cscope.
8720         Fixes cscope3.test hang with Sun C 5.9 cscope.
8722         tests: avoid false failure in cygnus-dependency-tracking.test.
8723         * tests/cygnus-dependency-tracking.test: Be less restrictive
8724         when grepping the compiler error message, GCC 3.4.6 on FreeBSD
8725         does not mention an undefined symbol.
8727 2011-01-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8729         tests: revert not turning off errexit in instspc-test.sh
8730         * tests/instspc-tests.sh: Turn off errexit while sourcing defs,
8731         the scripts might still not be clean.
8733 2011-01-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8735         tests: work around Tru64 sh -e issues for instspc*.test.
8736         Apparently, Tru64 sh does not like turning off errexit mode,
8737         and gets confused.
8738         * tests/defs: Document 'errexit' cleanliness requirement.
8739         * tests/defs-static.in: Likewise.  Avoid error from command
8740         substitution to abort instspc*.test with Tru64/OSF 5.1 sh.
8741         * tests/instspc-tests.sh: Drop now-unneeded temporary errexit
8742         dropping.  Add strategic '|| Exit' to let tests work on Tru64.
8744 2011-01-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8746         Allow _AM_DEPENDENCIES to be used later in configure.
8747         * m4/depend.m4 (_AM_DEPENDENCIES): Remove a previously existing
8748         conftest.dir before recreating it.
8749         Fixes bug#7864.
8750         Report by Eric Blake, from report by Scott McCreary against M4.
8752 2011-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8754         tests: avoid failure on w32 file systems.
8755         * tests/parallel-tests-unreadable-log.test: SKIP if file cannot
8756         be turned unreadable.
8758 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8760         tests: allow double-colon spy.test to work with HP-UX make.
8761         * tests/spy.test: Fix comment typos.  Ensure prerequisites we
8762         do not want to depend on are strictly older than the target.
8763         Also test with a target out of date wrt. more than one rule.
8765 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8767         Avoid local $_ perl variable, for Perl before 5.9.1.
8768         * lib/Automake/Options.pm (_process_option_list): Do not
8769         lexically localize $_.  Fixes bootstrap on AIX 5.1.
8770         Bug introduced in commit `v1.11-622-gf90a06c'.
8772 2011-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
8774         tests: remove useless requirements from cond36.test
8775         * tests/cond36.test ($required): Remove.
8776         Since we are at it, add a trailing `:' command.
8778 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8780         tests: avoid failing command substitution in errexit mode.
8781         * tests/vartypo2.test, tests/vartypos.test: Rewrite to not use
8782         a command substitution with a nonzero exit status, that causes
8783         IRIX and Tru64/OSF sh to fail the whole test.
8785 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8786             Stefano Lattarini  <stefano.lattarini@gmail.com>
8788         parallel-tests: work around Tru64/OSF 5.1 sh read bugs.
8789         * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
8790         Test file readability before redirecting input from it, to avoid
8791         exiting Tru64/OSF 5.1 sh which treats read as special builtin.
8792         * tests/parallel-tests-unreadable-log.test: New test.
8793         * tests/Makefile.am (TESTS): Update.
8794         * NEWS: Update.
8796 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8798         * NEWS, README: Update copyright years.
8800 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8802         tests: hard error in case of internal failures or signal caught
8803         * tests/defs: Exit with status 99 (hard error) rather than
8804         1 (failure) on unexpected/internal errors, or when a signal
8805         is caught by the client script.
8807         Tests defs: don't let useless variables leak in test scripts.
8808         * tests/defs ($priv_check_temp, $overwrite_status, $ro_dir_temp,
8809         $create_status, $r2h, $libtool_found, $gettext_found, $aclocaldir,
8810         $extra_includes): Unset once they've served their purpose.
8812 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8814         Fix parallel-tests.test failure with HP-UX make.
8815         * tests/parallel-tests.test: Sleep inside inner tests, so logs
8816         are newer than logs of tests they depend on, for HP-UX make.
8818 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8820         docs: ensure example are separated with empty lines in the input
8821         * doc/automake.texi (Extending aclocal, Emacs Lisp, Rebuilding)
8822         (API Versioning, Renamed Objects, Multiple Outputs): Add empty
8823         lines before `@example' and after `@end example' lines, so info
8824         output is rendered correctly, and a following @noindent honored.
8825         Report by Stefano Lattarini.
8827 2011-01-15  Jim Meyering <meyering@redhat.com>
8829         tests: fix comment typo
8830         * tests/substref.test: Fix grammar in a comment.
8832 2011-01-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
8834         tests: fix spurious failures in two texinfo tests
8835         * tests/txinfo.test ($required): Add 'makeinfo'.
8836         * tests/txinfo8.test: Create a dummy 'textutils.info' file, so
8837         that make won't try to run makeinfo (which could be unavailable)
8838         to build it.
8839         Found by NixOS Hydra, reported by Ralf Wildenhues.
8841 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8843         Update docs w.r.t. warning and strictness options.
8844         * doc/automake.texi (Strictness): Document that some warnings are
8845         turned off by default in `foreign' strictness.
8846         (Options): Divide into new sections "Options generalities" and
8847         "List of Automake options".  Fix typo (colon instead of full
8848         stop).  Document option precedence (AUTOMAKE_OPTIONS wins over
8849         AM_INIT_AUTOMAKE which wins over command line).  Also document
8850         interactions between options specifying strictness and those
8851         specifying warnings.
8853         More tests on warnings/strictness precedence.
8854         * tests/warning-groups-win-over-strictness.test: New test, similar
8855         to `warnings-win-over-strictness.test', but checking the explicit
8856         catch-all warning flags (like `-Wall' and `-Wnone').
8857         * tests/Makefile.am (TESTS): Update.
8859         Update NEWS about the warnings-over-strictness precedence.
8860         * NEWS: Automake explicit warning levels always take precedence
8861         over the implicit warning levels implied by Automake strictness.
8863         For PR automake/547:
8864         Warnings win over strictness in AUTOMAKE_OPTIONS.
8865         Ensure that, for what concerns the options specified in
8866         AUTOMAKE_OPTIONS, explicitly-defined warnings always take
8867         precedence over implicit strictness-implied warnings.
8868         This finally fixes Automake bug#7669 a.k.a. PR/547.
8869         * automake.in (handle_options): Call 'process_option_list'
8870         only once per set of options.
8871         * lib/Automake/Options.pm (process_global_option_list,
8872         process_option_list): Add sanity checks.
8873         ($_options_processed, $_global_options_processed): New
8874         internal variables, used by the sanity checks above.
8875         * tests/warnings-win-over-strictness.test: Extend.
8877         For PR automake/547:
8878         Change signature of 'Automake::Options::_process_option_list()'.
8879         This only modifies internal details in the automake implementation,
8880         bearing no externally visible effect, but preparing the way for the
8881         final fix of Automake bug#7669 a.k.a. PR/547.
8882         * lib/Automake/Options.pm (_process_option_list): Accept as
8883         arguments a list of hash references with keys 'option' and 'where',
8884         where 'option' is an option as might occur in AUTOMAKE_OPTIONS or
8885         AM_INIT_AUTOMAKE, and 'where' is the location where it occurred.
8886         (process_option_list, process_global_option_list): Updated.
8887         * automake.in (handle_options, scan_autoconf_traces): Update.
8889         Add more tests about AUTOMAKE_OPTIONS.
8890         In view of soon-to-follow refactorings (still in the pursuit of a
8891         fix for Automake bug#7669 a.k.a. PR/547), add some more tests on
8892         AUTOMAKE_OPTIONS support, to prevent obvious regressions.
8893         * tests/amopts-variable-expansion.test: New test.
8894         * tests/amopts-location.test: Likewise.
8895         * tests/Makefile.am (TESTS): Update.
8897         For PR automake/547:
8898         Warnings win over strictness in AM_INIT_AUTOMAKE.
8899         This change ensures that, for what concerns the options specified
8900         in AM_INIT_AUTOMAKE,  explicitly-defined warnings always take
8901         precedence over implicit strictness-implied warnings.  Related to
8902         Automake bug#7669 a.k.a. PR/547.
8903         * lib/Automake/Options.pm (_process_option_list): Parse explicit
8904         warnings only after the strictness level has been set.  Fix POD
8905         documentation.
8906         * tests/warnings-win-over-strictness.test: Extend.
8908         For PR automake/547:
8909         Warnings win over strictness on command line.
8910         Ensure that, on the command line at least, explicitly defined
8911         warnings always take precedence over implicit strictness-implied
8912         warnings.  Related to Automake bug#7669 a.k.a. PR/547.
8913         * automake.in (parse_arguments): Parse warnings only after the
8914         strictness level has been processed.
8915         * tests/gnuwarn.test: Update, plus miscellaneous improvements.
8916         * tests/warnings-win-over-strictness.test: New test.
8917         * tests/Makefile.am (TESTS): Update.
8919         More tests on warnings and strictness.
8920         * tests/warnings-strictness-interactions.test: New test.
8921         * tests/warnings-unknown.test: Likewise.
8922         * tests/Makefile.am (TESTS): Update.
8924         New test on silent-rules mode and portability warnings.
8925         * tests/silent-nowarn.test: New test.
8926         * tests/Makefile.am (TESTS): Update.
8928         Add new tests on strictness and warnings precedence and overriding.
8929         * tests/strictness-override.test: New test.
8930         * tests/strictness-precedence.test: New test.
8931         * tests/warnings-override.test: New test.
8932         * tests/warnings-precedence.test: New test.
8933         * tests/Makefile.am (TESTS): Update.
8935 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8937         Fix remake rule-induced test failures with HP-UX make.
8938         * tests/remake1a.test: Require GNU make.
8940 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8942         Fix remake rule-induced test failures with HP-UX make.
8943         * tests/colon6.test: Update timestamp of subdir Makefile, so we
8944         do not spuriously invoke the nonexistent toplevel am--refresh
8945         rule.
8947         tests: fix typos in colon6.test
8948         * tests/colon6.test: Fix typos.
8950 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8951             Stefano Lattarini  <stefano.lattarini@gmail.com>
8953         tests: explain MSYS setup failure issue, improve test.
8954         * tests/defs: Add comment and failure message, improve fail
8955         logic.
8957 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8959         Fix libobj2.test failure with non-GNU make: define $(AR).
8960         * tests/libobj2.test: Ensure $(AR) is suitably defined.
8962 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8964         tests: avoid spurious failures due to fork failure in test setup
8965         * tests/defs: Ensure $me is always nonempty, to avoid spurious
8966         failures on MinGW/MSYS in case the preceding sed command could
8967         not be spawned.
8969         Avoid configure warnings from wait about reused PIDs.
8970         * m4/sanity.m4 (AM_SANITY_CHECK): Hide wait stderr output.
8971         Fixes spurious failure of depcomp2.test.
8973 2011-01-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8975         Avoid testsuite failures due to Autoconf Fortran change.
8976         Autoconf v2.68-21-g727ce95 causes AC_F77_LIBRARY_LDFLAGS to
8977         require computing the canonical host name.  Ensure config.guess
8978         and config.sub files are present for respective checks.
8979         * tests/compile_f_c_cxx.test: Add stub files.
8980         * tests/flibs.test: Likewise.
8981         * tests/fort4.test: Use $AUTOMAKE -a for installing files.
8983 2011-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
8985         docs: clustered '-d' not recognized in YFLAGS
8986         This change fixes automake bug#7828.
8987         * doc/automake.texi (Yacc and Lex): Document that automake
8988         recognizes '-d' in AM_YFLAGS only if it's not clustered with
8989         other options.
8990         From a report by Юрий Пухальский.
8992 2011-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
8994         tests: add checks on automatically-distributed files
8995         Related to automake bug#7819.
8996         * tests/autodist.test: New test.
8997         * tests/autodist-subdir.test: Likewise.
8998         * tests/autodist-acconfig.test: Likewise.
8999         * tests/autodist-acconfig-no-subdir.test: Likewise.
9000         * tests/autodist-aclocal-m4.test: Likewise.
9001         * tests/autodist-config-headers.test: Likewise.
9002         * tests/autodist-configure-no-subdir.test: Likewise.
9003         * tests/autodist-stamp-vti.test: Likewise.
9004         * tests/Makefile.am (TESTS): Update.
9006 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9008         tests: do not force yacc-requiring tests to use bison
9009         * tests/defs.in: New required entry 'yacc'.  Remove old
9010         required entry 'bison'.
9011         * tests/cond35.test ($required): Require yacc, not bison.
9012         * tests/cond36.test: Likewise.
9013         * tests/pr204.test: Likewise.
9014         * tests/silent-many-gcc.test: Likewise.
9015         * tests/silent-many-generic.test: Likewise.
9016         * tests/silent-yacc-gcc.test: Likewise.
9017         * tests/silent-yacc-generic.test: Likewise.
9018         * tests/subpkg.test: Likewise.
9019         * tests/suffix10.test: Likewise.
9020         * tests/yacc-basic.test: Likewise.
9021         * tests/yacc-clean.test: Likewise.
9022         * tests/yacc-d-basic.test: Likewise.
9023         * tests/yacc-d-vpath.test: Likewise.
9024         * tests/yacc-dist-nobuild.test: Likewise.
9025         * tests/yacc-nodist.test: Likewise.
9026         * tests/yacc4.test: Likewise.
9027         * tests/yacc6.test: Likewise.
9028         * tests/yacc7.test: Likewise.
9029         * tests/yacc8.test: Likewise.
9030         * tests/yaccdry.test: Likewise.
9031         * tests/yaccvpath.test: Likewise.
9033 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9035         tests: more consistent checks about invalid options
9036         * tests/aclocal.test: Grepping of automake stderr for messages
9037         reporting invalid options made stricter.
9038         * tests/no-outdir-option.test: Likewise.  Also, create a dummy
9039         `Makefile.am', to ensure that the automake failures are really
9040         caused only by unrecognized options.
9041         * tests/automake.test: Added trailing `:' command.  Removed
9042         redundant checks on `--help' and `--version' option (already
9043         performed in the test `help*.test').
9045 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9047         tests: enable 'errexit' shell flag by default.
9048         * tests/defs: Enable `errexit' shell flag (near the end).
9049         Removed redundant comment about the enabling of shell traces.
9050         * tests/README (Writing test cases): Update, and use nicer
9051         formatting in a couple of places.
9052         * All tests: Adjusted by removing now-redundant calls to
9053         'set -e'.
9055 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9057         tests: work around a texi+cygnus bug causing a spurious XFAIL
9058         * tests/txinfo5b.test: New test, like txinfo5.test but calling
9059         automake with the `-Wno-override' option to work around a bug
9060         in the texinfo + cygnus interaction.
9061         * tests/txinfo5.test: Update heading comments.
9062         * tests/Makefile.am (TEST): Updated.
9064 2011-01-09  Dave Hart  <davehart@gmail.com>  (tiny change)
9066         Fix another typo in Rule.pm comment.
9067         * lib/Automake/Rule.pm: Fix typo.
9069 2011-01-09  Peter Rosin  <peda@lysator.liu.se>
9071         Fix another typo in Rule.pm comment.
9072         * lib/Automake/Rule.pm: Fix typo.
9074 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9076         tests: texinfo unrecognized extensions
9077         * tests/txinfo-unrecognized-extension.test: New test.
9078         * tests/Makefile.am (TESTS): Update.
9080         Improve, extend and tweak tests on Texinfo support.
9081         * tests/instdir-texi.test: Add a call to `ls -l' after that to
9082         `make', for debugging.  When looking for required tools, do not
9083         redirect the output of "$tool --help" to /dev/null, and do not
9084         uselessly run it in a subshell.
9085         * tests/txinfo.test: Rewritten to run autoconf, ./configure and
9086         make.  All checks moved into Makefile.am.
9087         * tests/txinfo8.test: Likewise, and modernize the generated
9088         configure.in.
9089         * tests/txinfo2.test: Moved checks into Makefile.am, and other
9090         minor improvements.
9091         * tests/txinfo5.test: Enable `errexit' shell flag, and related
9092         changes.  Add trailing `:' command.
9093         * tests/txinfo6.test: Likewise, and make grepping of generated
9094         Makefile.in stricter.
9095         * tests/txinfo7.test: Enable `errexit' shell flag, and related
9096         changes.  Add trailing `:' command.  Do not add unnecessary stuff
9097         to Makefile.am.
9098         * tests/txinfo9.test: Verify that more targets which are expected
9099         to be generated only once really are.  Make grepping less strict,
9100         to avoid exposing too much internal details.  More minor changes.
9101         * tests/txinfo16.test: Add trailing `:'.  Prefer cat over echo
9102         for appending to configure.in.  Updated/fixed heading comments.
9103         * tests/txinfo23.test: Likewise, and extended a little by making
9104         it check that no info file is created in the $(srcdir).
9105         * tests/txinfo24.test: Likewise.
9106         * tests/txinfo25.test: Likewise.
9107         * tests/txinfo18.test: Add trailing `:'.  Prefer cat over echo
9108         for appending to configure.in.  Also, check that index files are
9109         cleaned also by "make clean", not only by "make distclean".
9110         * tests/txinfo22.test: Prefer `$me' over hard-coded test name,
9111         and added trailing `:' command.  This testcase also used to check
9112         that automake ignores in-line comments when using variables, but
9113         preserves them in the output; these checks (added in commit
9114         "Release-1-7f-4-g9177ef8") do not really pertain to this test,
9115         so they have been moved ...
9116         * tests/comments-in-var-defn.test: ... into this new test.
9117         * tests/txinfo4.test: Escape literal dots in grep regexps.  Add
9118         trailing `:' command.
9119         * tests/txinfo29.test: Likewise.  Relax grepping of generated
9120         Makefile.in w.r.t. whitespaces.  Prefer `cat' over `echo' to
9121         append to configure.in.
9122         * tests/txinfo3.test: Likewise.
9123         * tests/vtexi.test: Improve grepping of Makefile.in (sometimes
9124         make it stricter, sometimes laxer).  Move `set -e' setting just
9125         after the inclusion of ./defs.  De-uglify a sed command.  Other
9126         minor cosmetic improvements.
9127         * tests/vtexi2.test: Make grepping of Makefile.in stricter.  Add
9128         trailing `:' command.
9129         * tests/vtexi3.test: New test on version.texi support.
9130         * tests/vtexi4.test: Likewise.
9131         * tests/Makefile.am (TESTS): Updated.
9133 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9135         tests: fix spurious failure in 'tests/yflags-conditional.test'
9136         * tests/yflags-conditional.test: Filter out message "warnings are
9137         treated as errors" from automake stderr, to avoid a false positive
9138         when grepping for extraneous warning messages.
9140 2011-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
9142         yacc: warn about conditional content in *YFLAGS variables
9143         This change fixes automake bug#7804.
9144         * automake.in (lang_yacc_target_hook): Warn if any of the relevant
9145         *YFLAGS variables has conditional contents (not only a conditional
9146         definition).  Related refactoring.
9147         * NEWS: Updated.
9148         * tests/yflags-conditional.test: Updated and extended.
9149         * tests/yflags-conditional-force.test: New test.
9150         * tests/Makefile.am (TESTS): Updated.
9152 2011-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
9154         yacc: support variable expansions in *YFLAGS definition.
9155         This change fixes automake bug#7800.
9156         * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
9157         instead of 'variable_value' to get the value of *YFLAGS variables.
9158         Related changes.
9159         ($DASH_D_PATTERN): Removed.
9160         * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
9161         * tests/yacc-clean.test: Remove workaround for now-fixed bug.
9162         * NEWS: Update.
9164 2011-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
9166         yacc: more tests on *YFLAGS support
9167         * tests/yflags-var-expand.test: New test, still xfailing.  It
9168         exposes automake bug#7800 -- "automake fails to honor `-d' in
9169         AM_YFLAGS when variable expansions are involved".
9170         * tests/yflags-d-false-positive.test: New test, checking that
9171         automake do not spuriously see `-d' in *YFLAGS when that isn't
9172         really there.
9173         * tests/yflags-force-override.test: New test, checking that
9174         automake can cope with definition of the YFLAGS variable in
9175         Makefile.am (even if that is an extremely bad practice, as that
9176         variable is user-reserved).
9177         * tests/yflags-cmdline-override.test: New test, checking that
9178         automake can cope with user-redefinition of YFLAGS at configure
9179         time and/or at make time.
9180         * tests/yflags-conditional.test: New test, checks that automake
9181         warns on conditionally-defined *YFLAGS variables.
9182         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
9184 2011-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
9186         yacc: extend and improve tests
9187         * tests/yacc-basic.test: Also check that the intermediate C file
9188         is mentioned in the generated Makefile.in, and that it is created
9189         by the first make invocation.
9190         * tests/yacc3.test: Test removed, superseded by ...
9191         * tests/yacc-d-basic.test: ... this new test.
9192         * tests/yacc2.test: Add reference to that new test in the heading
9193         comments.
9194         * tests/yacc-d-vpath.test: New test.
9195         * tests/yaccvpath.test: Updated heading comments.  Do not require
9196         gcc anymore, as any working C compiler should be enough.  Remove
9197         redundant comments.
9198         * tests/yacc-nodist.test: New test.
9199         * tests/yacc-dist-nobuild.test: New test.
9200         * tests/Makefile.am (TESTS): Update.
9202 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
9204         Extend, fix and improve tests on Lex and Yacc support.
9205         * tests/lexcpp.test: New test script, on support for Lex + C++.
9206         * tests/lexvpath.test: New test script, test build and rebuild
9207         rules for lexers in VPATH setup.
9208         * tests/yacc-basic.test: New test script, run simple "semantic"
9209         checks on basic Yacc support (similarly to what lex3.test does
9210         for Lex support).
9211         * tests/lex.test: Don't create useless dummy source file joe.l.
9212         Remove extra blank lines.
9213         * tests/lex4.test: Add trailing `:' command.  Do not create dummy
9214         useless lex source file.
9215         * tests/lex2.test: Likewise.  Call automake with the `-a' option,
9216         so that it doesn't fail for the absence of `ylwrap' script.  Make
9217         grepping of automake stderr stricter.
9218         * tests/yacc7.test: Add trailing `:' command.  Enable `errexit'
9219         shell flag earlier (just after having sourced ./defs).
9220         * tests/yacc4.test: Likewise.  Also ...
9221         (configure.in): Use pre-populated skeleton set up by ./defs,
9222         instead of writing one from scratch.
9223         Other minor cosmetic changes.
9224         * tests/yacc5.test: Likewise.
9225         * tests/yaccvpath.test: Likewise. Also ...
9226         ($distdir): New variable.
9227         Use it throughout.
9228         * tests/lex5.test: Likewise.
9229         * tests/lex3.test: Likewise.  Check the distdir, rather than
9230         grepping the distribution tarball.  Extend the test on the
9231         created binary, and be sure to avoid hangs.  Add some comments.
9232         * tests/yacc.test: Use stricter grepping.  Add trailing `:'.
9233         * tests/yacc6.test: Likewise.
9234         * tests/yacc3.test: Likewise.  Do not create the unused file
9235         `Makefile.sed'.  Remove useless rules from Makefile.am.  Other
9236         minor cosmetic changes.
9237         * tests/yacc2.test: Make grepping of generated `Makefile.in' and
9238         of automake error messages stricter.  Do not redirect output of
9239         grep to /dev/null.  Move call to aclocal earlier.  Reduce the
9240         number of empty blank lines.  Fix a typo in comments.
9241         * tests/yacc8.test: Fixed bugs that reduced the completeness of
9242         the tests.  Added trailing `:' command.
9243         (configure.in): Use pre-populated skeleton set up by ./defs,
9244         instead of writing one from scratch.
9245         * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
9246         `.yxx', rather than only `.yy'.
9247         * tests/Makefile.am (TESTS): Update.
9249 2011-01-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
9251         cosmetics: remove trailing whitespaces
9252         * doc/automake.texi: Remove trailing whitespaces.
9253         * tests/cond13.test: Likewise.
9254         * tests/cond14.test: Likewise.
9255         * tests/fort4.test: Likewise.
9256         * tests/fort5.test: Likewise.
9257         * tests/libobj17.test: Likewise.
9258         * tests/suffix7.test: Likewise.
9259         * tests/vtexi2.test: Likewise.
9261         automake: minor fixes in comments
9262         * automake.in: Some minor fixes and enhancements in comments.
9264 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9266         Add test coverage for deleted header files.
9267         * tests/depcomp6.test, tests/depcomp7.test: Update tests to
9268         also check for the deleted header bug.  If no dependency
9269         tracking mechanism could be found, SKIP rather than exit
9270         successfully.  Use GNU style spacing and ANSI C prototypes.
9272         Fix typos in Rule.pm comments.
9273         * lib/Automake/Rule.pm: Fix typos in comments.
9275         docs: split 'amhello Explained' node.
9276         * doc/automake.texi (amhello Explained): Split node ...
9277         (amhello's configure.ac Setup Explained)
9278         (amhello's Makefile.am Setup Explained) : ... into these two.
9279         (Top, Hello World): Adjust, and add @anchor for stable URL links.
9280         Suggestion by Karl Berry in automake bug#7766.
9282 2011-01-08  Karl Berry  <karl@freefriends.org>
9283             Eric Blake  <eblake@redhat.com>
9285         docs: reference defining directories in amhello node.
9286         * doc/automake.texi (amhello Explained): Point to Autoconf
9287         manual for how to convert directory values into macros.
9288         (Optional): Fix grammar nit.
9290 2011-01-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9292         yacc: "make clean" removes .c and .h files from non-distributed .y
9293         Previously, while automake did *not* distribute C source and header
9294         files derived from non-distributed Yacc sources, it still caused
9295         them to be removed only by "make maintainer-clean" only, and not by
9296         simply "make clean" or "make distclean".
9297         This caused "make distcheck" to fail, unless the developer put
9298         those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
9299         by hand.
9300         This change fixes this issue, by making non-distributed `.c' and
9301         `.h' files generated by non-distributed Yacc sources cleaned by
9302         "make clean".
9303         * tests/automake.in (lang_yacc_target_hook): Make C source and
9304         header files derived from non-distributed Yacc files cleaned by
9305         "make clean", not only by "make maintainer-clean".
9306         * tests/yacc-clean.test: New test.
9307         * tests/Makefile.am (TESTS): Update.
9308         * NEWS: Update.
9310 2011-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
9312         * NEWS: Fix typo (forgotten word).
9314 2011-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
9315             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9317         docs: how to work around checks on invalid primary/directory couples
9318         * doc/automake.texi (Uniform): Document the blessed idiom which can
9319         be used to work around automake checks on invalid primary/directory
9320         couples (such as `lib_PROGRAMS' or `doc_LIBRARIES').
9322 2010-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
9324         Tests: normalize use of the 'errexit' shell flag.
9325         * tests/maken3.test (check_targets): Remove redundant call to
9326         'set -e'.
9327         * tests/maken4.test: Likewise.
9328         * tests/ansi5.test: Call 'set -e' just after './defs' has been
9329         sourced.
9330         * tests/ansi6.test: Likewise.
9331         * tests/ansi7.test: Likewise.
9332         * tests/cond16.test: Likewise.
9333         * tests/cond17.test: Likewise.
9334         * tests/cond18.test: Likewise.
9335         * tests/cond19.test: Likewise.
9336         * tests/cond20.test: Likewise.
9337         * tests/cond21.test: Likewise.
9338         * tests/instdat2.test: Likewise.
9339         * tests/instdir-texi.test: Likewise.
9340         * tests/parallel-tests3.test: Likewise.
9341         * tests/remake1a.test: Likewise.
9342         * tests/ccnoco.test: Likewise, and add trailing `:' command.
9343         * tests/comment4.test: Likewise.
9344         * tests/gcj4.test: Likewise.
9345         * tests/nodist2.test: Likewise.
9346         * tests/nodist3.test: Enable 'errexit' shell flag (this should
9347         have been done in commit v1.11-248-g317e17b, but the relevant
9348         hunk has been forgotten somehow).
9349         * tests/output.test: Likewise.
9350         * tests/gnits2.test: Likewise, and display captured stderr to
9351         script's stderr, not to script's stdout.
9352         * tests/gnits3.test: Likewise.  Also, prefer 'cat' over 'echo'
9353         to append to Makefile.am, and really check that the exit status
9354         of "make installcheck" indicates failure.
9356 2011-01-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9358         Sync auxiliary files from upstream.
9359         * lib/config.guess, lib/config.sub, lib/texinfo.tex:
9360         Sync from upstream.
9362         Avoid caching bug in cygnus mode test.
9363         * tests/cygnus-requires-maintainer-mode.test: Remove
9364         autom4te.cache directory before rerunning aclocal, to
9365         remove trace caches.
9367         Fix maintainer-check regression.
9368         * tests/subobj11a.test: Pass DISTCHECK_CONFIGURE_FLAGS in the
9369         environment.
9371         Bump copyright years.
9372         * aclocal.in (write_aclocal, version): Bump copyright years.
9373         * automake.in (gen_copyright, version): Likewise.
9374         * doc/automake.texi: Likewise.
9376 2010-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
9378         * NEWS: Add missing blank line between two entries.
9380 2010-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
9382         Improve and extend tests `suffix*.test'.
9383         * tests/suffix.test: Check that suffix rules for C compilation are
9384         only included once.  Try also with a static library.
9385         * tests/suffix2.test: Add a new grep to help potential debugging.
9386         Do not run automake with the `--add-missing' options, since we
9387         already create all the needed auxiliary files.  Try also *without*
9388         the `no-dependencies' automake option.
9389         * tests/suffix4.test: Make grepping of Makefile.in stricter.
9390         * tests/suffix3.test: Rewritten to run also autoconf, ./configure
9391         and make.
9392         * tests/suffix5.test: Likewise.
9393         * tests/suffix6.test: Fix botched recipe indentation (eight spaces
9394         were used instead of a tabulation character).  Extend to check
9395         that `.obj' is handled like `.$(OBJEXT)' (as is done for `.o').
9396         Improved parsing & grepping of generated Makefile.in.  Other minor
9397         fixes and improvements.
9398         * tests/suffix10.test: Move some checks in Makefile.am.  Also run
9399         "make all".
9400         * tests/suffix12.test: Likewise, and account for VPATH issues in
9401         weaker make implementations.
9402         * tests/suffix11.test: Likewise.  Also, run "make distcheck", for
9403         completeness, and related changes.
9404         * tests/suffix8.test: Likewise.  Also, do not put `gcc' anymore
9405         in $required.
9406         * tests/suffix13.test: Do not use the `--force-missing' automake
9407         option unnecessarily.
9408         * tests/suffix6b.test: New test, semantic sister of `suffix6.test'.
9409         * tests/suffix6c.test: Likewise.
9410         * tests/Makefile.am (TESTS): Updated.
9412 2010-12-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9413             Stefano Lattarini  <stefano.lattarini@gmail.com>
9415         Work around a bug in file-inclusion mechanism of Solaris make.
9416         * automake.in (handle_single_transform): In the name of the
9417         dependency file: collapse multiple slash characters into a single
9418         one.
9419         * tests/subobj11a.test: New test.
9420         * tests/subobj11b.test: Likewise.
9421         * tests/subobj11c.test: Likewise.
9422         * tests/depcomp8a.test: Likewise.
9423         * tests/depcomp8b.test: Likewise.
9424         * tests/Makefile.am (TESTS): Updated.
9425         * NEWS: Updated.
9426         Report by Stefano Lattarini, quick fix by Ralf Wildenhues, final
9427         patch and tests by Stefano Lattarini.
9429 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
9431         Fix two spurious testsuite failures on IRIX 6.5.
9432         * tests/suffix13.test (Makefile.am): Account for VPATH issues on
9433         weaker make implementations (e.g. IRIX 6.5).
9434         * tests/parallel-tests8.test: Likewise, plus a required related
9435         change.
9436         Reported by Ralf Wildenhues.  The bugs have been there from the
9437         first versions of the affected test scripts.
9439 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
9441         docs: cygnus mode doesn't require AM_CYGWIN32 macro.
9442         * doc/automake.texi (Cygnus): Mode 'cygnus' does not require
9443         the AM_CYGWIN32 macro (and indeed hasn't required it since at
9444         least commit Release-1-2-31-g3038064 "merged changes from
9445         Cygnus" of 1997-08-25).
9447 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
9449         Add some tests on 'cygnus' mode.
9450         * tests/clean2.test: Extend.
9451         * tests/cygnus-check-without-all.test: New test.
9452         * tests/cygnus-dependency-tracking.test: Likewise.
9453         * tests/cygnus-distclean.test: Likewise.
9454         * tests/cygnus-imply-foreign.test: Likewise.
9455         * tests/cygnus-no-dist.test: Likewise.
9456         * tests/cygnus-no-installinfo.test: Likewise.
9457         * tests/cygnus-requires-maintainer-mode.test: Likewise.
9458         * tests/Makefile.am (TESTS): Update.
9460 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
9462         Fix parallel testsuite run with Zsh.
9463         This change deals with a Zsh incompatibility in the handling
9464         of the special shell variable `$0' in sourced files; this
9465         incompatibility used to cause utter breakage when the
9466         Automake testsuite was run in parallel mode with Zsh as
9467         the $(TEST_LOG_COMPILER).
9468         For more information, please refer to the thread "Fix parallel
9469         testsuite run with zsh" on automake-patches, dated 2010-12-22:
9470          <http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00135.html>
9471         This change works around the problems described above for Zsh 4.3
9472         or later, and offers better error messages (instead of random
9473         failures) for earlier Zsh version.
9474         * tests/README (Supported shells): When describing the manual
9475         workaround about the Zsh incompatibility in the handling of `$0',
9476         tell that it is now needed only with Zsh versions preceding 4.3.
9477         Done also some minor rewordings.
9478         * tests/defs-static.in ($argv0): New variable, offers a workaround
9479         for the Zsh incompatibility in the handling of `$0'.
9480         Abort if that variable cannot be correctly set (can happen only
9481         in older Zsh version).
9482         * tests/defs ($me): Define using `$argv0', not `$0'.
9484 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
9486         Tests defs: keep track of original $AUTOMAKE and $ACLOCAL values.
9487         This is especially useful for tests which might want to run
9488         automake and aclocal without additional flags and warnings.
9489         * tests/defs-static.in ($original_ACLOCAL): New variable.
9490         ($original_AUTOMAKE): Likewise.
9491         * tests/help.test: Use them.
9492         * tests/help2.test: Likewise.
9493         * tests/help3.test: Likewise.
9494         * tests/help4.test: Likewise.
9495         From a suggestion by Ralf Wildenhues.
9497 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
9499         distlinksbrk.test: Work around botched "make -k".
9500         * tests/distlinksbrk.test: Run "make" multiple times and grep
9501         its output each time for a single error message, rather than
9502         running "make -k" one single time and grepping its output for
9503         all the expected error messages.  This should work around make
9504         implementations with limited (broken?) `-k' support; for more
9505         information, see these subthreads on the automake-patches list:
9506           - 2010-11-15, "Testsuite failures on HP-UX 11.23",
9507             <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00162.html>
9508           - 2010-11-15, "Testsuite failures on IRIX 6.5",
9509             <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00166.html>
9511 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
9513         Minor improvements to test 'amopts.test'.
9514         * tests/amopts.test: Remove botched comment.  Make grepping of
9515         automake stderr slighty stricter.  Add trailing `:' command.
9517 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
9519         backcompat6.test: avoid comments inside recipe commands.
9520         * tests/backcompat6.test: Remove shell comments from makefile rule
9521         commands, as they are not portable to (at least) Tru64 make.
9523 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
9525         man8.test: avoid comments inside recipe commands.
9526         * tests/man8.test: Remove shell comments from makefile rule
9527         commands, as they are not portable to (at least) Tru64 make.
9529 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
9531         Fix sed-related buglet in test "subdir5.test"
9532         * tests/subdir5.test: Always terminate text passed to the
9533         `i' sed command with a newline, to work around limitations
9534         in e.g. older OpenBSD sed.
9536 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
9538         Fix spurious failures in tests on AC_CONFIG_AUX_DIR.
9539         * tests/auxdir7.test: Do not try to needlessly overwrite the files
9540         `install-sh' and `missing'.  This avoid spurious failures in "make
9541         distcheck", when those files might be copied as read-only from the
9542         `lib' directory.
9543         * tests/auxdir8.test: Likewise.
9545 2010-12-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
9547         Make test 'posixsubst-script' portable to MinGW/MSYS.
9548         * tests/posixsubst-script.test: Ensure that the generated dummy
9549         scripts really start with a shebang line, to work around a
9550         limitation of 'test -x' on MinGW/MSYS.
9551         Reported by Ralf Wildenhues.
9553         Improve comments in tests `posixsubst*.test'.
9554         * tests/posixsubst-data.test: Improve comment explaining why we
9555         try also empty match suffix.
9556         * tests/posixsubst-extradist.test: Likewise.
9557         * tests/posixsubst-ldadd.test: Likewise.
9558         * tests/posixsubst-libraries.test: Likewise.
9559         * tests/posixsubst-ltlibraries.test: Likewise.
9560         * tests/posixsubst-programs.test: Likewise.
9561         * tests/posixsubst-scripts.test: Likewise.
9562         * tests/posixsubst-sources.test: Likewise.
9563         * tests/posixsubst-tests.test: Likewise.
9564         Suggested by Ralf Wildenhues.
9566 2010-12-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
9568         docs: fix blunder in example about python extension modules
9569         * doc/automake.texi (Python): Use `quaternion_la_SOURCES',
9570         not `quaternion_SOURCES', to declare the sources of python
9571         extension module `quaternion.la'.
9573 2010-12-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
9575         docs: list LTLIBRARIES among Automake primaries
9576         * doc/automake.texi (Uniform): List `LTLIBRARIES' among
9577         the Automake primaries.
9579 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
9580             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9582         Tests defs: requirement 'xsi-shell' must be synced with libtool.
9583         * tests/defs (xsi-shell): Add comment telling to keep the
9584         XSI-conformance checks in sync with libtool.
9586 2010-12-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
9588         Minor cleanups in canon7.test.
9589         * tests/canon7.test (_foo_bar_SOURCES): Remove libs.c.
9590         (configure.in): Remove AC_PROG_CXX.
9592 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9594         Avoid false positive in sc_tests_plain_make maintainer-check.
9595         * Makefile.am (sc_tests_plain_make): Ensure to only match full
9596         `make' words.  Avoid false positive with remake11.test.
9598 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9600         Fix canon7.test failure.
9601         * tests/canon7.test (_foo_bar_SOURCES): Add foobar.c.
9602         (lib.h, libd.c, libs.c): Use const for constant strings.
9604 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9606         Fix typos in test comments.
9607         * tests/posixsubst-data.test, tests/posixsubst-extradist.test,
9608         tests/posixsubst-ldadd.test, tests/posixsubst-libraries.test,
9609         tests/posixsubst-ltlibraries.test, tests/posixsubst-programs.test,
9610         tests/posixsubst-scripts.test, tests/posixsubst-sources.test,
9611         tests/posixsubst-tests.test: Fix typos.
9613 2010-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
9615         More uses of AS_HELP_STRING in automake macros.
9616         * m4/depend.m4 (AM_DEP_TRACK): Use `AS_HELP_STRING' to format
9617         the help message added to the generated configure.
9618         * m4/dmalloc.m4 (AM_WITH_DMALLOC): Likewise.
9619         * m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
9620         * m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
9621         * m4/multi.m4 (AM_ENABLE_MULTILIB): Likewise.
9622         Also, bumped all serial numbers of the modified m4 files.
9624 2010-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
9626         Improve tests on generated portions of configure help screen.
9627         * tests/help-depend.test: Grepping of configure help screen
9628         relaxed to cater for possible line wrapping, and tightened in
9629         other respects.
9630         * tests/help-depend2.test: Likewise.
9631         * tests/help-dmalloc.test: Likewise.
9632         * tests/help-lispdir.test: Likewise.
9633         * tests/help-maintainer.test: Likewise.
9634         * tests/help-multilib.test: Likewise.
9635         * tests/help-silent.test: Likewise.
9636         * tests/help-upc.test: Likewise.
9637         * tests/help-init.test: Grepping of configure help screen
9638         tightened.
9640 2010-12-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
9642         Extended tests on AC_CONFIG_AUX_DIR.
9643         * tests/auxdir.test: Enable `errexit' shell flag.  Prefer `$me'
9644         over hard-coded test name.  Use proper m4 quoting.  Add trailing
9645         `:' command.
9646         * tests/auxdir2.test: Likewise.  Try to call automake also with
9647         the `-a' option, so that it will not fail for spurious reasons.
9648         * tests/auxdir3.test: Add an explanatory comment and a trailing
9649         `:' command.
9650         * tests/auxdir4.test: Prefer `$me' over hard-coded test name.
9651         Make grepping of automake stderr slightly stricter.  Also, now
9652         this test just checks about Automake's reaction to unportable
9653         auxiliary directory names (and it has been extended in this
9654         respect).  Moved the checks about non-existent auxiliary
9655         directories to ...
9656         * tests/auxdir5.test: ... this new test.
9657         * tests/auxdir6.test: New test.
9658         * tests/auxdir7.test: Likewise.
9659         * tests/auxdir8.test: Likewise.
9660         * tests/auxdir9.test: Likewise.
9661         * tests/Makefile.am (TESTS): Updated.
9663 2010-12-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
9665         Tests: extend checks on remake rules.
9666         This adds proper semantical tests (i.e. run make to check the
9667         rebuild rules are correctly triggered) in addition to tentative
9668         grepping of the generated Makefile.in(s).
9669         * tests/remake.test: Enable `errexit' shell flag, and related
9670         changes.  Modernize `configure.in'.  Add trailing `:' command.
9671         Improve heading comments, and add a reference to new sister test
9672         remake1a.test.
9673         * tests/remake3.test: Likewise (but with sister test being
9674         remake3a.test).
9675         * tests/remake2.test: Improve heading comments.  Enable `errexit'
9676         shell flag, and related changes.  Modernize `configure.in'.  Make
9677         grepping of `Makefile.in' slightly stricter.  Add trailing `:'
9678         command.
9679         * tests/remake5.test: Also run the `distcheck' target.  Add
9680         trailing `:' command.  Use proper m4 quoting in configure.in.
9681         * tests/remake4.test: Prefer `$me' over hard-coded test name.
9682         * tests/remake7.test: Use the `configure.in' stub created by
9683         ./defs, rather than writing it from scratch.
9684         * tests/remake6.test: Likewise.  Also, add trailing `:' command,
9685         and ensure verbose printing of captured make output.
9686         * tests/remake1a.test: New test, sister of remake.test.
9687         * tests/remake3a.test: New test, sister of remake3.test.
9688         * tests/remake8a.test: New test.
9689         * tests/remake8b.test: Likewise.
9690         * tests/remake9a.test: Likewise.
9691         * tests/remake9b.test: Likewise.
9692         * tests/remake9c.test: Likewise.
9693         * tests/remake9d.test: Likewise.
9694         * tests/remake10a.test: Likewise.
9695         * tests/remake10b.test: Likewise.
9696         * tests/remake10c.test: Likewise.
9697         * tests/remake11.test: Likewise.
9698         * tests/remake12.test: Likewise.
9699         * tests/Makefile.am (TESTS): Updated.
9701 2010-12-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9703         Improve and extend tests on canonicalization.
9704         * tests/canon-name.test: Add trailing `:' command.  When writing
9705         configure.in, prefer to use $me instead of hard-coding the test
9706         name.
9707         * tests/canon3.test: Prefer trailing `:' over trailing `Exit 0'.
9708         * tests/canon4.test: Likewise.  Make grepping of Makefile.in
9709         stricter.  Improve heading comment, and add reference to ...
9710         * tests/canon6.test: ... this new test (sister test of the
9711         previous one).
9712         * tests/canon.test: Prefer cat + here-doc over echo to append
9713         text to configure.in.  Extend grepping of Automake stderr.  Add
9714         trailing `:' command.
9715         * tests/canon5.test: Likewise.
9716         * tests/canon7.test: New file, stress test on canonicalization.
9717         * tests/canon8.test: New test, for better coverage (check that
9718         the `@' character is not transliterated in canonicalizations).
9719         * tests/Makefile.am: Updated.
9721 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
9723         Libobj tests: refer to automake bug tracker for limitations.
9724         * tests/libobj15b.test (configure.in): In the comment explaining
9725         why an apparently redundant AC_OUTPUT is indeed needed, refer
9726         to the relevant entry in the Automake bug tracker rather than
9727         describing the bug in detail with a FIXME-style comment.
9728         * tests/libobj15c.test: Likewise.
9729         * tests/libobj20b.test: Likewise.
9731         Libobj tests: do not use `##' automake comments in-line.
9732         * tests/libobj19.test (Makefile.am): Do not use inline `##'
9733         comments in the definition of AUTOMAKE_OPTIONS.
9734         * tests/libobj20c.test: Likewise.
9735         Report by Ralf Wildenhues.
9737 2010-12-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
9739         Tests defs: more uses of $top_testsrcdir.
9740         * tests/compile6.test: Use `$top_testsrcdir' instead of
9741         `$testsrcdir/..'.
9743 2010-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
9745         Tests required tools: also try `-v' option for GNU compilers.
9746         * tests/defs.in: In the loop on "$required" tools, for gcc
9747         and g++, also run "gcc -v" (resp. "g++ -v"), to get more
9748         information, and for consistency with gcj.
9750 2010-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
9751             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9753         Tests defs: avoid some useless subshells.
9754         * tests/defs: In the loop on "$required" tools: avoid subshells
9755         where not needed.
9757 2010-12-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
9759         Extend tests on AC_LIBOBJ and friends.
9760         * tests/aclibobj.test: Removed, superseded by ...
9761         * tests/libobj-basic.test: ... this new test, which runs autoconf,
9762         ./configure and make, to ensure everything really works.
9763         * tests/libobj3.test: Add trailing `:' command.  Escape literal
9764         dot in grep regexp.
9765         * tests/libobj4.test: Enable `errexit' shell flag, and related
9766         changes.  Add trailing `:' command.  Use proper m4 quoting.
9767         * tests/ltlibobjs.test: Likewise.
9768         * tests/libobj5.test: Enable `errexit' shell flag, and related
9769         changes.  Add trailing `:' command.  Make more robust by using
9770         longer filenames to be grepped.
9771         * tests/libobj8.test: Enable `errexit' shell flag, and related
9772         changes.  Add trailing `:' command.  Use the configure.in
9773         stub provided by ./defs, rather than writing it from scratch.
9774         * tests/libobj2.test: Likewise.  Also, add calls to autoconf,
9775         ./configure and make, to ensure everything really works.
9776         * tests/libobj7.test: Likewise, and ensure that at least one
9777         function listed in AC_REPLACE_FUNCTIONS is truly replaced.
9778         * tests/libobj13.test: Make grepping of Automake stderr slightly
9779         stricter.  Add trailing `:' command.
9780         * tests/libobj12.test: Likewise.  Also, prefer "cat + here-doc"
9781         over "echo" to append to Makefile.am, and some cosmetic changes
9782         in spacing.
9783         * tests/libobj14.test: Call `Exit 1' if sourcing of ./defs fails.
9784         Slighty improve m4 quoting.  Add trailing `:' command.
9785         * tests/libobj10.test: Add calls to autoconf, ./configure and
9786         make, to ensure everything really works.  Also, remove tests that
9787         nonexistent source for AC_LIBOBJ cause an Automake failure: this
9788         is already checked by ...
9789         * tests/libobj15a.test: ... this new test.
9790         * tests/libobj15b.test: New test, sister test of libobj15a.test,
9791         checks AC_LIBSOURCE instead of AC_LIBOBJ.
9792         * tests/libobj15c.test: New test, sister test of libobj15a.test,
9793         checks AC_LIBSOURCES instead of AC_LIBOBJ.
9794         * tests/libobj11.test: Removed, superseded by ...
9795         * tests/libobj16a.test: ... this new test.
9796         * tests/libobj16b.test: New test, sister test of libobj16a.test,
9797         but using oldish/deprecated idioms.
9798         * tests/libobj17.test: New test.
9799         * tests/libobj18.test: Likewise.
9800         * tests/libobj19.test: Likewise.
9801         * tests/libobj20a.test: Likewise.
9802         * tests/libobj20b.test: Likewise.
9803         * tests/libobj20c.test: Likewise.
9804         * tests/Makefile.am (TESTS): Updated.
9806 2010-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
9808         Test `$(var:suf=rpl)' expansion in special automake variables.
9809         * tests/posixsubst-data.test: New test.
9810         * tests/posixsubst-extradist.test: Likewise.
9811         * tests/posixsubst-ldadd.test: Likewise.
9812         * tests/posixsubst-libraries.test: Likewise.
9813         * tests/posixsubst-ltlibraries.test: Likewise.
9814         * tests/posixsubst-programs.test: Likewise.
9815         * tests/posixsubst-scripts.test: Likewise.
9816         * tests/posixsubst-sources.test: Likewise.
9817         * tests/posixsubst-tests.test: Likewise.
9818         * tests/Makefile.am (TESTS): Update.
9820 2010-12-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9822         Make tests `colon*.test' more "semantic".
9823         Prefer running configure and make over grepping the generated
9824         files; this is both more correct and less fragile.
9825         * tests/colon.test: Made more "semantic", as described above.
9826         * tests/colon5.test: Likewise.
9827         * tests/colon6.test: Likewise.
9828         * tests/colon7.test: Likewise.
9829         * tests/colon2.test: Likewise, and improve syncing with sister
9830         test `colon3.test'.
9831         * tests/colon3.test: Likewise (but with the sister test being
9832         `colon2.test' here).
9834 2010-12-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9836         Avoid running installed automake from 'libtool --help'.
9837         * tests/subobj9.test: Export AUTOCONF and AUTOMAKE.
9838         Together with fixed Libtool, this fixes check-coverage to not
9839         invoke installed automake.
9841 2010-12-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
9843         Separate checks on target overriding into multiple test scripts.
9844         * tests/overrid.test: Deleted, its contents separated into ...
9845         * tests/override-suggest-local.test: ... this new test ...
9846         * tests/override-html.test: ... and this new test ...
9847         * tests/override-conditional-1.test: ... and this new test ...
9848         * tests/override-conditional-2.test: ... and this new test (still
9849         xfailing).
9850         * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
9852         Enable `set -e' in more tests (plus some tweakings).
9853         * tests/implicit.test: Enable `errexit' shell flag, and related
9854         changes.  Add trailing `:' command.
9855         * tests/insh2.test: Likewise.
9856         * tests/instman2.test: Likewise.
9857         * tests/interp.test: Likewise.
9858         * tests/interp2.test: Likewise.
9859         * tests/library.test: Likewise.
9860         * tests/mclean.test: Likewise.
9861         * tests/info.test: Enable `errexit' shell flag, and related
9862         changes.  Add trailing `:' command.  Remove useless chaff from
9863         generated Makefile.am.  Add a "FIXME" comment.
9864         * tests/include.test: Enable `errexit' shell flag, and related
9865         changes.  Add trailing `:' command.  Prefer cat + here-doc over
9866         echo to append to configure.in.  Make tests more robust by using
9867         longer and less common names to grep.  Remove an useless call to
9868         echo.  Remove an useless subshell.
9869         * tests/header.test: Enable `errexit' shell flag, and related
9870         changes.  Use proper m4 quoting.  Add excerpts from the original
9871         report of the bug tested for by this script.
9872         * tests/gcj.test: Enable `errexit' shell flag, and related
9873         changes.  Use proper m4 quoting.  Add trailing `:' command.
9874         * tests/gcj3.test: Likewise.
9875         * tests/ldflags.test: Likewise.
9876         * tests/libtool.test: Likewise.
9877         * tests/listval.test: Likewise.
9878         * tests/javaprim.test: Likewise, and prefer cat + here-doc over
9879         echo to append to configure.in.
9880         * tests/javasubst.test: Likewise.
9881         * tests/discorver.test: Enable `errexit' shell flag.  Prefer
9882         trailing `:' over trailing `Exit 0'.
9883         * tests/instdat.test: Enable `errexit' shell flag, and related
9884         changes.  Use proper m4 quoting.  Avoid useless subshell.  Prefer
9885         cat + here-doc over echo to append to configure.in.
9886         * tests/libtool2.test: Enable `errexit' shell flag, and related
9887         changes.  Add trailing `:' command.  Use the configure.in
9888         stub provided by ./defs, rather than writing it from scratch.
9890         Modernize, improve and/or tweak some test scripts.
9891         * tests/maintclean.test: Use proper m4 quoting.  Add trailing `:'
9892         command.
9893         * tests/sinclude.test: Likewise, and add a couple of blank lines,
9894         for clarity.
9895         * tests/make.test: Move setting of `errexit' shell flag earlier in
9896         the script (just after inclusion of ./defs).  Use the configure.in
9897         stub created by ./defs, rather than writing it from scratch.  Some
9898         cosmetic changes in spacing.  Ensure we wait enough time before
9899         touching configure.in to trigger the rebuild rules.
9900         * tests/makej.test: Use `$me' instead of hard-coding the test
9901         name.  Add trailing `:' command.
9902         * tests/version7.test: Likewise.
9903         * tests/space.test: Enable `errexit' shell flag, and related
9904         changes.
9905         * tests/makevars.test: Likewise.  Also, prefer trailing `:' over
9906         trailing `Exit 0', and be more tolerant of white spaces when
9907         grepping Makefile.in.
9909 2010-12-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
9911         * tests/silent8.test: Use "|| Exit 1" after ". ./defs".
9913         Enable `set -e' in more tests (plus some tweakings).
9914         * tests/mkinstall.test: Enable `errexit' shell flag, and related
9915         changes.  Add a trailing `:' command, if needed.
9916         * tests/mdate2.test: Likewise.
9917         * tests/objc.test: Likewise.
9918         * tests/noinst.test: Likewise.
9919         * tests/outdir.test: Likewise.
9920         * tests/number.test: Likewise.
9921         * tests/pluseq.test: Likewise.
9922         * tests/req.test: Likewise.
9923         * tests/rulepat.test: Likewise.
9924         * tests/specflg6.test: Likewise.
9925         * tests/spell3.test: Likewise.
9926         * tests/parse.test: Likewise, and ...
9927         (configure.in): Use the stub created by ./defs, rather than
9928         writing it from scratch.  Remove useless calls to AC_PROG_RANLIB
9929         and AC_OUTPUT.
9930         * tests/mdate4.test: Likewise.
9931         * tests/mkinstall.test: Likewise, and ...
9932         (configure.in): ... drop useless call to `AC_OUTPUT'.
9933         * tests/output.test: Enable `errexit' shell flag, and related
9934         changes.  Add a trailing `:' command.
9935         (configure.in): Modernize.
9936         * tests/output2.test: Likewise.
9937         * tests/output3.test: Likewise.
9938         * tests/output4.test: Likewise.
9939         * tests/mdate3.test: Enable `errexit' shell flag, and related
9940         changes.  Prefer `$me' over hard-coded test name.  Do not move
9941         non-existent or useless files in the build auxiliary directory.
9942         * tests/nodistdir.test: Enable `errexit' shell flag, and related
9943         changes.  Prefer trailing `:' over trailing `Exit 0'.
9944         * tests/nodist.test: Likewise.  Also, prefer cat + here-doc over
9945         echo to create input test files, and do not create useless dummy
9946         C source files.
9947         * tests/nodist2.test: Likewise.
9948         * tests/ppf77.test: Enable `errexit' shell flag, with related
9949         changes.  Add a trailing `:' command.  Do not create useless
9950         dummy source files.
9951         * tests/spelling.test: Enable `errexit' shell flag, with related
9952         changes.  Add a trailing `:' command.  Also, grep Automake error
9953         message.
9954         * tests/specflg3.test: Enable `errexit' shell flag, with related
9955         changes.  Avoid unportable use of `-e' option of fgrep.  Prefer
9956         trailing `:' over trailing `Exit 0'.  Remove extra empty lines,
9957         and cosmetic changes to whitespaces.
9958         * tests/obsolete.test: Enable `errexit' shell flag, with related
9959         changes.  Improve verbosity.  Other miscellaneous changes.
9961 2010-11-30  Stefano Lattarini  <stefano.lattarini@gmail.com>
9963         Improve and extend tests on `:=' variable assignments.
9964         * tests/colneq.test: Avoid redundant use of variable assignments
9965         in Makefile.am.  Use command-line automake options instead of
9966         editing AUTOMAKE_OPTIONS in Makefile.am.  Make grepping of the
9967         generated Makefile.in slightly stricter.  Add a trailing `:'
9968         command.
9969         * tests/colneq2.test: Do not create unneeded dummy files.  Run
9970         also autoconf, ./configure and make.  Add trailing `:' command.
9971         * tests/colneq3.test: New test, similar to colneq.test, but
9972         running also autoconf, ./configure and make.
9973         * tests/Makefile.am (TESTS): Update.
9975 2010-11-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
9977         Remove long-deprecated options --Werror and --Wno-error.
9978         These options has been deprecated at least since commit
9979         "Release-1-6-1b-35-gc037f20", dated 2002-07-06.
9980         * automake.in (parse_arguments): Do not recognize anymore options
9981         `--Werror' and `--Wno-error' as synonyms of respectively `-Werror'
9982         and `-Wno-error'.
9983         * tests/werror.test: Update: use `-Werror' instead of `--Werror'.
9984         * NEWS: Update.
9986 2010-11-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
9988         Fix spurious failures in `silent*.test' for $CC != gcc
9989         In some tests on automake-produced silent rules, we forced the
9990         use of gcc depmode to improve testsuite coverage; but this has
9991         unsurprisingly led to spurious failures when some non-GNU C
9992         compilers were used.  So we are now careful to require GCC in
9993         tests that force gcc depmode.
9994         From reports by Ralf Wildenhues.
9995         * tests/silent5.test: Test removed, its content split into ...
9996         * tests/silent-many-generic.test, tests/silent-many-gcc.test: ...
9997         these new sister tests, the latter of which forces gcc depmode
9998         and lists "gcc" in $required.
9999         * tests/silentlex.test: Test removed, its content split into ...
10000         * tests/silent-lex-generic.test, tests/silent-lex-gcc.test: ...
10001         these new sister tests, the latter of which forces gcc depmode
10002         and lists "gcc" in $required.
10003         * tests/silentyacc.test: Test removed, its content split into ...
10004         * tests/silent-yacc-generic.test, tests/silent-yacc-gcc.test: ...
10005         these new sister tests, the latter of which forces gcc depmode and
10006         lists "gcc" in $required.
10007         * tests/Makefile.am (TESTS): Updated.
10009 2010-11-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
10011         Tests: consistently use "|| Exit 1" after ". ./defs".
10012         * tests/autohdr.test: Use `. ./defs || Exit 1', not bare
10013         `. ./defs', for consistency with other tests.
10014         * tests/autohdr2.test: Likewise.
10015         * tests/autohdr3.test: Likewise.
10016         * tests/autohdr4.test: Likewise.
10017         * tests/cond23.test: Likewise.
10018         * tests/cond24.test: Likewise.
10019         * tests/cond25.test: Likewise.
10020         * tests/cond26.test: Likewise.
10021         * tests/cond27.test: Likewise.
10022         * tests/cond28.test: Likewise.
10023         * tests/cond29.test: Likewise.
10024         * tests/cond30.test: Likewise.
10025         * tests/cond31.test: Likewise.
10026         * tests/cond32.test: Likewise.
10027         * tests/cond33.test: Likewise.
10028         * tests/cond34.test: Likewise.
10029         * tests/cond35.test: Likewise.
10030         * tests/cond36.test: Likewise.
10031         * tests/cond37.test: Likewise.
10032         * tests/cond38.test: Likewise.
10033         * tests/cond39.test: Likewise.
10034         * tests/cond40.test: Likewise.
10035         * tests/cond41.test: Likewise.
10036         * tests/cond42.test: Likewise.
10037         * tests/cond43.test: Likewise.
10038         * tests/cond44.test: Likewise.
10039         * tests/cond45.test: Likewise.
10040         * tests/dollarvar.test: Likewise.
10041         * tests/dollarvar2.test: Likewise.
10042         * tests/hfs.test: Likewise.
10043         * tests/libobj14.test: Likewise.
10044         * tests/percent.test: Likewise.
10045         * tests/percent2.test: Likewise.
10046         * tests/phony.test: Likewise.
10047         * tests/silent.test: Likewise.
10048         * tests/silent2.test: Likewise.
10049         * tests/silent3.test: Likewise.
10050         * tests/silent4.test: Likewise.
10051         * tests/silent5.test: Likewise.
10052         * tests/silent6.test: Likewise.
10053         * tests/silent7.test: Likewise.
10054         * tests/silent9.test: Likewise.
10055         * tests/silentcxx.test: Likewise.
10056         * tests/silentf77.test: Likewise.
10057         * tests/silentf90.test: Likewise.
10058         * tests/silentlex.test: Likewise.
10059         * tests/silentyacc.test: Likewise.
10061         Avoid useless cleaning in some `silent*.test' tests.
10062         * tests/silentf77.test: Removed useless calls to "make clean"
10063         and "make maintainer-clean".
10064         * tests/silentf90.test: Likewise.
10065         * tests/silent3.test: Removed useless call to "make distclean".
10066         * tests/silent4.test: Likewise.
10067         * tests/silent9.test: Likewise.
10069 2010-11-19  Ian Lance Taylor  <iant@google.com>
10071         Sync config-ml.in from GCC.
10072         * config-ml.in: Add Go support: treat GOC and GOCFLAGS like other
10073         compiler/flag environment variables.
10075 2010-11-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
10077         release-stats: account for more generated tests.
10078         * Makefile.am (release-stats): Be sure to take into account all
10079         the generated tests, by grepping the test scripts to decide which
10080         ones of them are automatically generated.
10082 2010-11-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
10084         Code cleanup after removal of option `--output-directory'.
10085         * automake.in ($output_directory): Remove, it's unconditionally
10086         defined to `.' and used only ...
10087         (generate_makefile): ... in this subroutine, which now has been
10088         edited and simplified accordingly.
10090         Remove obsolete automake option `--output-directory'.
10091         This option has been deprecated since version 1.7 (2002/2003).
10092         * automake.in ($output_directory): Define to `.' unconditionally.
10093         (parse_arguments): Remove handling of equivalent options `-o' and
10094         `--output-directory'.
10095         * tests/outdir.test: Removed.
10096         * tests/no-outdir-option.test: New test.
10097         * tests/Makefile.am (TESTS): Updated.
10098         * NEWS: Updated.
10100 2010-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
10102         Automake::Config: remove extra trailing semicolon.
10103         * lib/Automake/Config.in: Remove extra trailing semicolon.
10105         help4.test: fix botched heading comment.
10106         * tests/help4.test: Fixed the heading comment, since it
10107         didn't correctly describe what checks the testcase was
10108         supposed to perform.
10110         help2.test: add checks on aclocal too.
10111         * tests/help2.test: Check that also `aclocal --version' and
10112         `aclocal --help' work with configure.in and acinclude.m4 both
10113         broken.
10115 2010-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
10117         New test on repeated automake options.
10118         * tests/repeated-options.test: New test, check that automake
10119         does not complain on repeated options, nor generate broken or
10120         incorrect makefiles.
10121         * tests/Makefile.am (TESTS): Updated.
10123 2010-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
10125         Fix spurious failures of silent-rules tests with Sun Fortran.
10126         * tests/silentf77.test: Strip from the make output some verbose
10127         messages possibly printed by the SunStudio fortran compilers, to
10128         avoid spurious failures.  Add a trailing `:' command.
10129         * tests/silentf90.test: Likewise.
10131 2010-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
10133         Fix spurious failures of silent5.test with Sun Fortran.
10134         * tests/silent5.test: Strip from the make output some verbose
10135         messages possibly printed by the SunStudio fortran compilers,
10136         to avoid spurious failures.  This bug has been there from the
10137         very first version of this test script.
10139 2010-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
10141         Fix regression in colon{5,6}.test (failures on AIX 5.3).
10142         * tests/colon5.test: Also substitute `@SHELL@' with `$SHELL' when
10143         post-processing the generated Makefile.in, to work around a bug
10144         of AIX 5.3 make which doesn't allow setting the `$(SHELL)' macro
10145         on the commend line.  Calls to `$MAKE' adjusted accordingly.
10146         * tests/colon6.test: Likewise.
10147         Regression introduced in commit v1.11-175-gf9fe878 "Modernize,
10148         improve and/or extend tests `colon*.test", and reported by Ralf
10149         Wildenhues.
10151 2010-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
10153         Fix regression in ansi.test (failure on AIX 5.3).
10154         * tests/ansi.test: Remove redundant hackish check done using a
10155         hand-postprocessed Makefile.in.  This check worked by setting
10156         the `$(SHELL)' macro on the command line of make, but this is
10157         not supported by the AIX 5.3 make implementation.
10158         This bug has been lurking for a long time, and was activated by
10159         commit v1.11-125-gc1f6cdb "Enable `errexit' shell flag in various
10160         tests".  Report by Ralf Wildenhues.
10162 2010-11-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10164         backcompat5.test: avoid '##'-style comments inside recipe commands.
10165         * tests/backcompat5.test: Remove double-hash comments
10166         from makefile rule commands, they are not part of the
10167         Automake API.  Fixes testsuite failure with Tru64 make.
10169         tests: avoid '##'-style comments inside recipe commands.
10170         * tests/confh.test, tests/confh8.test: Remove
10171         double-hash comments from makefile rule commands, they
10172         are not part of the Automake API.
10174 2010-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10176         tests: work around dash quoting issue in case statements.
10177         * tests/color.test, tests/color2.test: Quote variable in case
10178         pattern, to avoid skipping tests with dash 0.5.5.1.
10180 2010-11-16  Peter Rosin  <peda@lysator.liu.se>
10182         Skip MSVC oriented tests if the shell is not capable.
10183         * tests/defs: New required entry 'xsi-shell'.
10184         * tests/ar-lib.test, tests/compile3.test, tests/compile6.test:
10185         Require a XSI capable shell.
10186         Reported by Ralf Wildenhues.
10188 2010-11-15  Peter Rosin  <peda@lysator.liu.se>
10190         compile: clear the `eat' variable earlier.
10191         * lib/compile: Clear the `eat' variable earlier.
10192         ($scriptversion): Update.
10193         * tests/compile3.test: Prevent regressions.
10195 2010-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10197         More stable configure output from sanity check.
10198         * m4/sanity.m4 (AM_SANITY_CHECK): Always print check line
10199         about ensuring newer files, even if we don't actually need
10200         to wait any more.
10202 2010-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10204         Rebuild menus in the manual.
10205         * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs).
10206         Thanks to Ian Lance Taylor for the suggestion.
10208         Fix install-strip when $(STRIP) contains several words.
10209         * lib/am/install.am (install-strip): Update comment.  Use
10210         separate sub-make invocations for empty and nonempty $(STRIP),
10211         to fix quoting issues.
10212         * tests/strip2.test, tests/strip3.test: New tests.
10213         * tests/Makefile.am (TESTS): Adjust.
10215 2010-11-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10217         Fix yaccdry.test failure: require bison.
10218         * tests/yaccdry.test: Require bison.
10219         Found by NixOS Hydra.
10221 2010-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
10223         Fix bug in test `backcompat6.test' (MSYS portability).
10224         * tests/backcompat6.test (Makefile.am): Grep the output from the
10225         test program, rather than diffing it, to avoid spurious failures
10226         on MinGW/MSYS due to LF vs. CRLF line endings.
10227         Reported by Ralf Wildenhues.
10229 2010-11-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
10231         Deprecate obsolete macro AM_WITH_REGEX.
10232         * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete,
10233         and state that it should be removed two years from now.
10234         (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete"
10235         category when this macro is used.
10236         * doc/automake.texi (Public Macros): Move description of
10237         `AM_WITH_REGEX' from here ...
10238         (Obsolete Macros): ... to here, and declare it as obsolete
10239         and "to be removed in a future version".
10240         * tests/regex-obsolete.test: New test.
10241         * tests/Makefile.am (TESTS): Update.
10243 2010-11-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
10245         Improve and extend tests on man pages support.
10246         * tests/man.test: Enable `errexit' shell flag, and related changes.
10247         Make grepping of generated Makefile.in slightly stricter.
10248         * tests/man3.test:  Add trailing `:' command.
10249         * tests/man5.test: Prefer cat + here-doc over echo to append to
10250         configure.in.
10251         * tests/man2.test: Likewise, and add trailing `:' command.
10252         * tests/man4.test: More thorough and consistent checking of make
10253         error messages.  Place fake `help2man' program in a new `bin'
10254         directory rather than in `.'.  Move the checks using the real
10255         `help2man' program to ...
10256         * tests/man6.test: ... this new test, and extend them.  This test
10257         passes with GNU make and Solaris make, still fails with BSD make.
10258         * tests/man7.test: New test, extracted from old man4.test, which
10259         checks for a bug in maintainer-clean w.r.t. generated manpages.
10260         * tests/man8.test: New test, extracted from old man4.test, which
10261         checks for a bug in distcheck w.r.t. generated manpages.  Passes
10262         with GNU make and Solaris make, still fails with BSD make.
10264 2010-11-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
10266         Minor improvements and extensions to various tests.
10267         * tests/defun.test: Also run autoconf and grep the generated
10268         configure to make sure that aclocal truly picks up all the
10269         required macros.
10270         * tests/compile_f_c_cxx.test: Prefer trailing `:' over trailing
10271         `Exit 0'.  Do not create useless dummy source files.  Do not set
10272         useless `$(foo_LDADD)' variable in `Makefile.am'.  Do not call
10273         useless macro `AC_F77_LIBRARY_LDFLAGS' in `configure.in'.
10274         * tests/compile_f90_c_cxx.test: Likewise.
10275         * tests/suffix10.test: Slightly stricter grepping of make output.
10276         * tests/compile.test: Add trailing `:' command.
10277         * tests/defun2.test: Likewise.
10278         * tests/vars3.test: Likewise.
10279         * tests/vartar.test: Likewise.
10280         * tests/vars.test: Likewise.  Also, extend test by checking
10281         that the definition of `MY_FLAGS*' variables is preserved in
10282         the generated `Makefile.in'.
10283         * tests/stamph2.test: Prefer trailing `:' over trailing `Exit 0'.
10284         Use proper m4 quoting in `configure.in'.
10286 2010-11-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
10288         Tests defs: improve messages for skipped tests.
10289         * tests/defs: Give meaningful messages about the reasons of a
10290         test skip; this is especially useful as this file is run without
10291         verbose xtraces on.  Related reorderings in the code and new
10292         comments.
10294 2010-11-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
10296         Tests defs: move static definitions in a new file `defs-static'.
10297         The new file is meant to be idempotent w.r.t. multiple inclusions.
10298         * tests/defs.in: Removed, its contents split among ...
10299         * tests/defs-static.in: ... this new file ...
10300         * tests/defs: ... and this new file, including the former.
10301         * configure.ac (AC_CONFIG_FILES): Remove `tests/defs', add
10302         `tests/defs-static'.
10303         (AC_CONFIG_LINKS): Add `tests/defs'.
10304         * tests/Makefile.am ($(parallel_tests)): Update.
10305         ($(instspc_tests)): Likewise.
10306         * tests/.gitignore: Update.
10308         Tests defs: $testsbuilddir is now AC_SUBST'ed.
10309         * tests/defs.in ($testsbuilddir): Substitute from @abs_builddir@.
10310         Add sanity check on $testsbuilddir, similar to those on
10311         $testsrcdir and $top_testsrcdir.
10313         Tests defs: do not print message "Running test $0" anymore.
10314         * tests/defs.in: Printing the message "=== Running test $0" at
10315         the beginning of each tests made sense when Automake used the old
10316         test-driver, which sent all the output directly to stdout/stderr.
10317         Now that the parallel test-driver is used, which saves output of
10318         each test in its corresponding log file, that old message is just
10319         useless noise.
10321         Tests defs: rename $curdir -> $testbuilddir
10322         * tests/defs.in: Rename $curdir to $testbuildir, for clarity and
10323         consistency with $testsrcdir and $top_testsrcdir.
10325         Tests defs: prefer "$curdir" over "`pwd`".
10326         * tests/defs.in: We already save the value of `pwd` in $curdir
10327         early in the file, so there no need to recalculate it later, when
10328         the current working directory is not changed.
10330         Tests defs: use `$me' in more error messages.
10331         * tests/defs.in: Also use `$me' in error messages referring to
10332         missing `defs' or `defs.in', since that variable is now defined
10333         before those checks.
10335         Tests defs: do not use `Exit' where plain `exit' suffices.
10336         * tests/defs.in: Use "exit 77" rather than "Exit 77" to skip the
10337         test when required libtool/gettext macros are not found, since
10338         such skips would take place before the exit trap is installed.
10340         Tests defs: improve and extends comments.
10341         * tests/defs.in: Improve and extends some comments, especially in
10342         relation with the changes introduced by the previous reordering.
10344         Tests defs: various reorderings.
10345         * tests/defs.in: Reordered various snippets of code in a
10346         clearer way.
10348 2010-11-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
10350         Fix bug in test `backcompat4.test' (stale autom4te cache).
10351         * tests/backcompat4.test: Remove stale autom4te cache directory
10352         before re-running aclocal and automake.  Also, since we are at
10353         it, be more verbose in displaying contents of generated files,
10354         to ease debuggability.
10355         Reported by Ralf Wildenhues.
10357 2010-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
10359         Fix a bug in variable concatenation with `+='.
10360         * lib/Automake/VarDef.pm (append): Since the content of the
10361         "appended-to" variable is going to be unconditionally normalized
10362         later, simply separate the appended value with a single whitespace
10363         character, instead of trying to be uselessly smarter by using
10364         escaped newlines.  This fixes a bug in which extra backslashes
10365         where erroneously inserted in the variable's final value.
10366         * tests/pluseq11.test: New test, exposing the bug.
10367         * tests/Makefile.am (TESTS): Update.
10368         Reported by Andy Wingo.
10370 2010-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
10372         Modernize, improve and/or tweak various test scripts.
10373         * tests/stamph2.test: Improve m4 quoting in `configure.in', and
10374         prefer trailing `:' over trailing `Exit 0'.
10375         * tests/syntax.test: Escape literal dots in grep regexps.
10376         * tests/copy.test: Enable `errexit' shell flag.  Extend test by
10377         checking with `test' utility that the script `install-sh' is
10378         copied, but not symlinked.
10379         * tests/depdist.test: Move setting of `errexit' shell flag earlier
10380         in the script (just after inclusion of ./defs).  Avoid obsoleted
10381         constructs in generated `configure.in'.  Prefer to do our checks
10382         by running configure and make over grepping Makefile.in.
10383         * tests/target-cflags: Move setting of `errexit' shell flag
10384         earlier in the script (just after inclusion of ./defs). Use the
10385         `configure.in' stub created by `./defs', rather than writing it
10386         from scratch.
10387         * tests/target-clash: Do not uselessly run autoconf.
10388         * tests/ctarget1.test: Renamed ...
10389         * tests/cond-basic.test: ... to this.  Use the `configure.in' stub
10390         created by `./defs', rather than writing it from scratch.
10391         Move setting of `errexit' shell flag earlier in the script (just
10392         after inclusion of ./defs).  Other minor cosmetic changes.
10393         * tests/Makefile.am (TESTS): Updated.
10395 2010-11-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
10397         New tests on obsoleted usages of automake/autoconf macros (such
10398         as AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT).
10399         * tests/backcompat.test: New test script.
10400         * tests/backcompat2.test: Likewise.
10401         * tests/backcompat3.test: Likewise.
10402         * tests/backcompat4.test: Likewise.
10403         * tests/backcompat5.test: Likewise.
10404         * tests/backcompat6.test: Likewise.
10405         * tests/init.test: Extended and improved, esp. by trying more
10406         combinations of calls to AC_INIT and AM_INIT_AUTOMAKE with few
10407         arguments.
10408         * tests/Makefile.am (TESTS): Updated.
10410 2010-11-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
10412         Fix bug in rules for creating vala vapi/header files.
10413         * automake.in (lang_vala_finish_target): Add forgotten "fi" in an
10414         if control structure in a generated make rules.  Bug introduced
10415         by previous commit `v1.11-221-gd7c1679', and revealed by failure
10416         of test `vala2.test'.
10418 2010-11-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10420         Fix and document rules to not touch the tree with `make -n'.
10421         * doc/automake.texi (Multiple Outputs): Document the problem of
10422         modifications during dry-run execution, propose solution.
10423         * NEWS: Update.
10424         * automake.in (lang_vala_finish_target): Split recipe so the
10425         stamp file is not removed with GNU `make -n'.
10426         (lang_yacc_target_hook): Separate removal of parser output file
10427         and header remaking.
10428         * lib/am/lisp.am ($(am__ELCFILES)): Determine whether -n was
10429         passed to make, take care not to remove any files in that case.
10430         * lib/am/remake-hdr.am (%CONFIG_H%): Separate removal of
10431         %STAMP% file from induced remaking of config header.
10432         * tests/autohdrdry.test, tests/lispdry.test, tests/yaccdry.test:
10433         New tests.
10434         * tests/Makefile.am (TESTS): Update.
10436 2010-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
10438         Fix potential bug in generated tests `instpc-*.test'.
10439         This bug is due to the changes introduced by the recently-merged
10440         "tests-init" branch.  In that branch, `tests/defs' didn't define
10441         anymore `$srcdir', instead defining directly `$testsrcdir'; but
10442         the generated tests were using `$srcdir', hence the bug.
10443         Luckily, since the Automake parallel test driver automatically
10444         exports `srcdir' to a proper value, that prevented the bug from
10445         manifesting itself.
10446         * tests/Makefile.am ($(instspc_tests)): In the generated test
10447         scripts, use `$testsrcdir', not `$srcdir'.
10449 2010-11-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
10451         Overhauled and modularized tests in `instspc.test'.
10452         The test `instspc.test' was way too big and fragile.  Its running
10453         time was very long.  It also produced a log that was nearly
10454         unreadable due to its length, making it very difficult to find
10455         out the reason for failures.
10456         Also, it was too much monolithic, with a single (maybe spurious)
10457         failure in a corner case causing the whole test to fail (even if
10458         everything worked as expected in the other 99% of cases).
10459         The present change should solve these problems, by separating
10460         `instspc.test' into many smaller, self-contained, auto-generated
10461         tests.
10462         * tests/instspc.test: Removed.
10463         * tests/instspc-tests.sh: New script, fulfilling a double role:
10464         1. it generates a Makefile.am snippet `tests/instspc-tests.am',
10465         containing the definition of a list of new tests which will take
10466         over the older `instspc.test', and
10467         2. it is sourced by said generated tests with proper parameters
10468         pre-set, to run the "meat" of the checks.
10469         This apparent abuse is indeed required because the test generation
10470         code and test execution code are inevitably intertwined.
10471         * tests/Makefile.am ($(srcdir)/instspc-tests.am): Include this
10472         snippet, which (among the other things) defines ...
10473         (instspc_tests): ... this new macro, containing the list of the
10474         newly generated `instspc*.test' tests, and ...
10475         (instspc_xfail_tests): ... this new macro, containing the list
10476         of the `instspc*.test' tests expected to fail.
10477         ($(instspc_tests)): New rule, generates the `instspc*.test' tests.
10478         ($(instspc_tests:.test=.log)): New rule, registers the dependency
10479         of all `instspc*.test' tests on the `instspc-tests.sh' script.
10480         (TESTS): Add `$(instspc_tests)', remove `instspc.test'.
10481         (XFAIL_TESTS): Add `$(xfail_instspc_tests)'.
10482         (EXTRA_DIST): Distribute instspc-tests.sh.
10483         (MAINTAINERCLEANFILES): Added $(instspc_tests).
10484         Other minor cosmetic changes.
10485         * bootstrap: Generate instspc-tests.am.
10486         * tests/.gitignore: Updated.
10488 2010-11-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10490         Add FAQ entry for bug reporting instructions.
10491         * doc/automake.texi (Reporting Bugs): New section.
10492         (Introduction): Refer to it.
10494 2010-10-07  Peter Rosin  <peda@lysator.liu.se>
10496         depcomp: add new one-pass depmode for MSVC 7 and later.
10497         * lib/depcomp: Add new depmodes 'msvc7' and 'msvc7msys' which
10498         make use of the -showIncludes option added in MSVC 7.
10499         * m4/depend.m4 (_AM_DEPENDENCIES): Handle the new depmodes
10500         similarly to 'msvisualcpp' and 'msvcmsys' as MSVC does not
10501         support the -o option.
10503 2010-10-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
10505         Add support for newer python versions.
10506         * m4/python.m4 (AM_PATH_PYTHON): Add python2.7 and python3.2 to
10507         _AM_PYTHON_INTERPRETER_LIST.  Since we are at it, break a long
10508         line and fix indentation.
10509         * THANKS: Updated.
10510         From a report by Thomas Klausner.
10512         Add test for `AM_WITH_DMALLOC' macro.
10513         * tests/dmalloc.test: New test.
10514         * tests/Makefile.am (TESTS): Update.
10516         Fix nits and bugs in tests `help*.test'.
10517         * tests/help4.test: Fix broken sed commands used to strip `-W...'
10518         flags away from "$AUTOMAKE" and "$ACLOCAL".
10519         * tests/help3.test: Likewise, and fix a botched comment.
10520         * tests/help.test: Likewise.  Also, use "AUTOMAKE_fails ..."
10521         instead of "$AUTOMAKE ... && Exit 1", for consistency and to
10522         please maintainer-check.
10523         * tests/help2.test: Likewise.
10525 2010-10-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
10526             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10528         Improve tests `help*.test' (also fixes maintcheck failures).
10529         * tests/help.test: To run automake, use `$AUTOMAKE' with all `-W'
10530         flags stripped away rather than hard-coded `automake-$APIVERSION',
10531         to better honour user-overrides.  Similarly for aclocal.
10532         * tests/help2.test: Likewise.
10533         * tests/help3.test: Likewise.
10534         * tests/help4.test: Likewise.
10536 2010-10-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10538         tests: fix ar-lib.test for echo that interprets backslashes.
10539         * tests/ar-lib.test: Use printf instead of echo.  Avoid test -a.
10540         More robust quoting.
10542 2010-10-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10544         maintainer-check coverage for variables before rules.
10545         * Makefile.am (sc_ensure_testsuite_has_run): Suggest keeping
10546         around the test directories.
10547         (sc_tests_makefile_variable_order): New rule with a heuristic to
10548         catch ordering violations.
10550         Document and fix expansion of variables before rules.
10551         * doc/automake.texi (General Operation): Document that variables
10552         are expanded before rules.
10553         * lib/am/check.am (am__check_post): Reword a bit so it does not
10554         get matched as a rule.
10555         Suggestion by Ben Pfaff.
10557 2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10559         Coverage and minor fixes for variable typo detection.
10560         * automake.in (check_typos): Remove `EXTRA_' prefix when
10561         computing canonical name.
10562         * tests/vartypo2.test, tests/vartypos.test: New tests.
10563         * tests/Makefile.am (TESTS): Update.
10565         Implement EXTRA_maude_DEPENDENCIES for programs and libraries.
10566         * automake.in (handle_programs, handle_libraries)
10567         (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
10568         * doc/automake.texi (Linking, Program and Library Variables)
10569         (LIBOBJS): Document EXTRA_*_DEPENDENCIES.
10570         * lib/am/library.am (%LIBRARY%): Also depend on
10571         $(EXTRA_%XLIBRARY%_DEPENDENCIES).
10572         * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
10573         (%XLTLIBRARY%_DEPENDENCIES).
10574         * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
10575         $(EXTRA_%XPROGRAM%_DEPENDENCIES).
10576         * tests/extradep.test, tests/extradep2.test: New tests.
10577         * tests/Makefile.am (TESTS): Update.
10578         * NEWS: Update.
10579         Suggested by Eric Blake.
10581         tests: avoid running into timing issues due to sanity change.
10582         * tests/acloca10.test, tests/acloca18.test, tests/aclocal9.test:
10583         Insert strategic sleep before aclocal reruns, to ensure files
10584         are newer.
10585         * tests/python11.test: Use --force for repeated autotools runs.
10586         Reports from the NixOS Hydra build daemon via Ludovic Courtès.
10588         Fix timestamp issues by ensuring configure takes at least a second.
10589         * m4/sanity.m4 (AM_SANITY_CHECK): If we didn't sleep here,
10590         start a sleep in the background and wait for it to finish
10591         before creating config.status, hopefully fixing all spurious
10592         testsuite failures involving botched time stamps.
10593         * NEWS: Update.
10594         Reports by Ludovic Courtès, Peter Breitenlohner, and others.
10596 2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10598         Revert "parallel-tests: avoid command-line length limit issue."
10599         This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835,
10600         because it re-opened the bug fixed by v1.11-10-g218e678.
10602         2010-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10604         parallel-tests: avoid command-line length limit issue.
10605         * automake.in (handle_tests): New argument $makefile, new
10606         substitution %MAKEFILE%.
10607         (generate_makefile): Adjust.
10608         * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
10609         sanitized TEST_LOGS value as makefile snippet on standard
10610         input to $(MAKE), to avoid exceeding the command line limit on
10611         w32 (MSYS).
10612         * NEWS: Update.
10613         Report by Bob Friesenhahn.
10615 2010-09-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
10617         Extend tests on `--help' and `--version' options.
10618         * tests/help.test: Create a new empty directory and chdir into
10619         it, rather than removing already present files.  Run the aclocal
10620         and automake wrapper scripts directly, instead of relying on
10621         $AUTOMAKE and $ACLOCAL.  Be sure to correctly match literal dots
10622         in aclocal's and automake's stderr.  Add a trailing `:' command.
10623         * tests/help2.test: New test, checking that options `--help' and
10624         `--version' works in directories with broken `configure.in'.
10625         * tests/help3.test: New test, checking that options `--help' and
10626         `--version' take precedence on the other options.
10627         * tests/help4.test: New test, checking that the first among the
10628         `--help' and `--version' options to be specified on the command
10629         line wins.
10630         * tests/Makefile.am (TESTS): Updated.
10632 2010-09-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
10634         Testsuite: Use `$PATH_SEPARATOR', not `:', when extending PATH.
10635         * tests/compile2.test: Do no uselessly (implicitly) repeat the
10636         computation of PATH_SEPARATOR again.
10637         * tests/instmany-mans.test: Use `$PATH_SEPARATOR', not `:', when
10638         extending/redefining PATH.
10639         * tests/instmany-python.test: Likewise.
10640         * tests/instmany.test: Likewise.
10641         * tests/man4.test: Likewise.
10642         * tests/mkinst3.test: Likewise.
10643         * tests/mmodely.test: Likewise.
10644         * tests/multlib.test: Likewise.
10645         * tests/txinfo30.test: Likewise.
10646         * tests/README (Section "Writing test cases" subsection "Do"):
10647         Updated.
10648         * Makefile.am (sc_tests_PATH_SEPARATOR): New maintainer check.
10649         (syntax_check_rules): Updated.
10651         Testsuite: new variables `$PATH_SEPARATOR' and `$APIVERSION'.
10652         * tests/defs.in ($APIVERSION):  New AC_SUBST'd variable.
10653         ($ACLOCAL, $AUTOMAKE): Use it.
10654         ($PATH_SEPARATOR):  New AC_SUBST'd variables.
10655         ($PATH): Use it.
10657 2010-09-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
10659         Manual: be more agnostic w.r.t. version control system used.
10660         * doc/automake.texi (Basics of Distribution): Also refer to `.svn'
10661         directories as a type of probably-unwanted files that are copied
10662         regardless when adding directories to EXTRA_DIST.
10663         (The dist Hook): Show a dist-hook example which removes Subversion
10664         `.svn' private directories from distdir, rather than CVS private
10665         directories.
10666         (missing and AM_MAINTAINER_MODE): Try to be more agnostic w.r.t.
10667         the version control system used.
10669         Manual: index refer to target "git-dist", not "cvs-dist".
10670         * doc/automake.texi (General Operation): Index the non-standard
10671         example about "git-dist" under the "git-dist" label, not under
10672         the "cvs-dist" one.
10674         Perl modules: remove references to "Automake CVS repository".
10675         * lib/Automake/Channels.pm: Update comments to refer to "Automke's
10676         git repository" rather than to "Automake's CVS repository".
10677         * lib/Automake/Configure_ac.pm: Likewise.
10678         * lib/Automake/FileUtils.pm: Likewise.
10679         * lib/Automake/Struct.pm: Likewise.
10680         * lib/Automake/XFile.pm: Likewise.
10681         * lib/Automake/Version.pm (=head1 DESCRIPTION): Refer to "git
10682         branches" rather than "CVS branches".
10684         Remove obsolete .cvsignore files.
10685         * .cvsignore, doc/.cvsignore, lib/.cvsignore, lib/am/.cvsignore,
10686         lib/Automake/.cvsignore, lib/Automake/tests/.cvsignore,
10687         m4/.cvsignore, tests/.cvsignore: Files deleted.  Even when using
10688         savannah's CVS readonly mirror there's no way to commit back to
10689         the real repository, so this files are not worth maintaining or
10690         keeping around.
10692 2010-09-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
10694         * m4/dmalloc.m4: Bump serial number and copyright years.
10696 2010-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
10698         Fix broken link in `AM_WITH_DMALLOC' help screen.
10699         * m4/dmalloc.m4 (AM_WITH_DMALLOC): Refer only to the dmalloc site
10700         `http://www.dmalloc.com', not to the dmalloc tarball there (which
10701         seems to have been removed, substituted by multiple release
10702         tarballs now).
10704 2010-09-21  Peter Rosin  <peda@lysator.liu.se>
10706         compile: implement library search to support MSVC static linking
10707         * lib/compile (func_cl_wrapper): Implement library search and
10708         -static option so that the user can select whether to prefer
10709         dll import libraries or static libraries.  This enables MSVC to
10710         link against dlls generated by libtool without requiring libtool
10711         or workarounds such as -lfoo.dll etc.  Makes the tests/static.at
10712         test case in libtool pass.
10713         * tests/compile3.test: Don't trip up if there happens to exist
10714         a "foo" library in the library search path.
10715         * tests/compile6.test: New test, verifying the library search.
10716         * tests/Makefile.am (TESTS): Update.
10718 2010-09-17  Eric Blake  <eblake@redhat.com>
10720         Avoid triple-space after period.
10721         * automake.in (handle_single_transform): Avoid 3 spaces at
10722         sentence end.
10723         * ChangeLog.03: Likewise.
10724         * lib/Automake/ChannelDefs.pm: Likewise.
10725         * lib/Automake/Channels.pm (_print_message): Likewise.
10726         * lib/Automake/Rule.pm (rule): Likewise.
10727         * lib/Automake/Variable.pm (var): Likewise.
10728         * lib/am/distdir.am: Likewise.
10729         * tests/insthook.test: Likewise.
10731 2010-09-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
10733         Test automake-generated portions of configure help screen.
10734         * tests/help-depend.test: New test.
10735         * tests/help-depend2.test: Likewise.
10736         * tests/help-dmalloc.test: Likewise.
10737         * tests/help-init.test: Likewise.
10738         * tests/help-lispdir.test: Likewise.
10739         * tests/help-maintainer.test: Likewise.
10740         * tests/help-multilib.test: Likewise.
10741         * tests/help-regex.test: Likewise.
10742         * tests/help-silent.test: Likewise.
10743         * tests/help-upc.test: Likewise.
10744         * tests/mmode.test: Remove tests on `configure --help' output,
10745         they are superseded by tests in `help-maintainer.test'.
10746         * tests/Makefile.am (TESTS): Update.
10748 2010-09-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
10750         * tests/README: Don't put GCS mandated tools in $required.
10752 2010-09-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10754         * HACKING: Hint at old commits with `git describe' output.
10756 2010-09-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
10758         Prefer `$(am__cd)' to plain `cd' in our Makefiles.
10759         * Makefile.am (recheck, dist-hook, git-dist, path-check, fetch)
10760         (release-stats): Use `$(am__cd)' rather than plain `cd'.
10761         * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
10763 2010-09-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
10765         Fix regression in test `colon4.test'.
10766         * tests/colon4.test: Fix botched editing to `configure.in'
10767         that made the test useless.  Since we are at it, improve
10768         comments and make grepping of generated Makefile.in slightly
10769         stricter.
10770         Regression introduced by change "Modernize, improve and/or
10771         extend tests `colon*.test" (Stefano Lattarini, 2010-08-08).
10773 2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
10775         Do not require "gzip" explicitly in tests.
10776         The gzip utility is simply expected to be present on any decent
10777         target system for Automake.  So it's pointless to put it in
10778         $required.
10779         * tests/install2.test ($required): Do not require "gzip".
10780         * tests/lex3.test: Likewise.
10781         * tests/pr9.test: Likewise.
10782         From a suggestion by Ralf Wildenhues.
10784 2010-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
10786         Use AS_HELP_STRING in AM_SILENT_RULES.
10787         * m4/silent.m4 (AM_SILENT_RULES): Use `AS_HELP_STRING' to format
10788         help message regarding configure options `--enable-silent-rules'
10789         and `--disable-silent-rules'.  Also throw in a couple of cosmetic
10790         changes in the related `case' statement (indentation, balancing
10791         of parentheses).
10792         * THANKS: Update.
10793         From a report by Jeff A. Daily.
10795 2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
10797         Make some `confh*.test' tests more "semantic" (plus tweakings).
10798         * tests/confh.test: Run "autoconf", "configure" and "make check",
10799         instead of munging/grepping the generated `Makefile.in'.
10800         * tests/confh4.test: Relax the grepping of Makefile.in w.r.t.
10801         white spaces.  Do not create useless dummy source file `foo.c'
10802         and useless dummy header file `acconfig.h'.
10803         (configure.in): Remove superfluous call to `AC_OUTPUT'.
10804         * tests/confh6.test: Add trailing `:' command.
10805         * tests/confh7.test: In comments, add reference to ...
10806         * tests/confh8.test: ... this new test, "semantic" sister
10807         of `confh7.test'.
10808         * tests/Makefile.am (TESTS): Updated.
10809         Prompted by a report from Ralf Wildenhues.
10811 2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
10813         Remove useless whitespace padding in XFAIL_TESTS definition.
10814         * tests/Makefile.am (XFAIL_TESTS): Remove whitespace padding.
10816 2010-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10818         parallel-tests: avoid command-line length limit issue.
10819         * automake.in (handle_tests): New argument $makefile, new
10820         substitution %MAKEFILE%.
10821         (generate_makefile): Adjust.
10822         * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
10823         sanitized TEST_LOGS value as makefile snippet on standard
10824         input to $(MAKE), to avoid exceeding the command line limit on
10825         w32 (MSYS).
10826         * NEWS: Update.
10827         Report by Bob Friesenhahn.
10829         Posix 2008 requires make to set errexit.
10830         * lib/am/check.am: Update comment.
10832 2010-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
10834         Tests defs: remove variable $testaclocaldir.
10835         * tests/defs.in ($testaclocaldir): Removed.
10836         * tests/aclocal.test: Use `$top_testsrcdir/m4' directly, not
10837         `$testaclocaldir'.
10839         Tests defs: $srcdir and $top_srcdir renaming.
10840         * tests/defs.in ($srcdir): Remove, define $testsrcdir directly.
10841         * tests/Makefile.am ($(parallel_tests)): Generation of derived
10842         tests updated.
10844         Tests defs: new variable $top_testsrcdir.
10845         * tests/defs.in ($top_testsrcdir): Define unconditionally
10846         to @abs_top_srcdir@.  Use it throughout.
10847         * tests/ar-lib.test: Use `$top_testsrcdir' instead of
10848         `$testsrcdir/..'.
10849         * tests/auxdir.test: Likewise.
10850         * tests/compile.test: Likewise.
10851         * tests/compile2.test: Likewise.
10852         * tests/compile3.test: Likewise.
10853         * tests/compile5.test: Likewise.
10854         * tests/mdate6.test: Likewise.
10855         * tests/mkinst3.test: Likewise.
10856         * tests/multlib.test: Likewise.
10857         * tests/txinfo22.test: Likewise.
10859         Tests defs: $srcdir is unconditionally substituted.
10860         * tests/defs.in ($srcdir): Define unconditionally to @abs_srcdir@.
10861         Remove code for $srcdir normalization, which is now useless.
10863 2010-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
10865         Tests defs: make spacing more consistent.
10866         * tests/defs.in: Make spacing more consistent in indentation.
10867         Especially, indent using only spaces, not tabs.  Also, move
10868         a comment to a better position.
10870         Improve code for requiring libtool and gettext in tests.
10871         * tests/defs.in: Stricter (and more correct) detection of wheter
10872         libtool, libtoolize and/or gettext are in $required.
10875 2010-08-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
10877         Fix bug in test missing6.test.
10878         * tests/missing6.test: Fix the hack used to edit `configure.in',
10879         to avoid producing a configure script that breaks with shells
10880         that do not support $LINENO.  Also throw in a couple of cosmetic
10881         changes.
10883 2010-09-02  Peter Rosin  <peda@lysator.liu.se>
10885         Make ar-lib support backslashed files in archives.
10886         * lib/ar-lib: If an archive member contains a backslash, make sure
10887         it is escaped when the archive member is extracted.
10888         * tests/ar-lib.test: Test the above.
10890 2010-08-31  Peter Rosin  <peda@lysator.liu.se>
10892         Do file name conversion for object files in the compile wrapper.
10893         * lib/compile (func_cl_wrapper): Do file name conversion for object
10894         files (i.e. extensions .obj, .OBJ, .o and .O) if needed.
10895         * tests/compile4.test: Test the above.
10897 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10899         Speed up removal of auxiliary linker output files for ltlibraries.
10900         * lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Rewrite using just
10901         one `rm' invocation.
10902         Report by Bob Friesenhahn.
10904         Improve robustness of mdate-sh script.
10905         * lib/mdate-sh: Sanitize zsh behavior on startup, to ensure
10906         $ls_command is word-split properly upon invocation.
10907         (error): New function.
10908         (main): Use it.  Improve error checking to avoid endless loop
10909         in case $ls_command gave bogus output.  Fix eval quotation.
10910         * tests/mdate6.test: New test, to expose eval quotation error.
10911         * tests/Makefile.am: Update.
10913 2010-08-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
10915         Fix potential regressions in depcomp{3,5}.test.
10916         * tests/depcomp3.test: Do not uselessly escape the character `$'
10917         in makefile rules, when it's used to expand a make macro.
10918         * tests/depcomp5.test: Likewise.
10920 2010-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
10921             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10923         Docs: clarify how to avoid automatic dependencies tracking.
10924         * doc/automake.texi (Automatic dependency tracking): Mention that
10925         automatic dependencies tracking is enabled by default, but that
10926         the package developer can disable it altogether.  Add a reference
10927         to the proper section for a more in-depth explanation.
10929         Fix typo in manual (`Makefile.in' instead of `Makefile.am').
10930         * doc/automake.texi (Automatic dependency tracking): Fix typo.
10932 2010-08-16  Bruno Haible  <bruno@clisp.org>
10934         Don't hide the table of contents.
10935         * doc/automake.texi: Move the table of contents to the beginning.
10937 2010-08-16  Peter Rosin  <peda@lysator.liu.se>
10939         Optimize compile script on MSYS.
10940         * lib/compile (func_file_conv): Add new argument 'lazy' which
10941         takes an optional list of conversion types where the requested
10942         conversion isn't needed.
10943         (func_cl_wrapper): Take advantage of the above for cases where
10944         MSYS is doing the conversion for us.
10945         Suggested by Ralf Wildenhues.
10947 2010-08-16  Peter Rosin  <peda@lysator.liu.se>
10949         Support more C++ file extensions for MSVC in the compile script.
10950         * lib/compile (func_cl_wrapper): MSVC only recognizes the .cpp
10951         file extension as C++, unless it's given a hint. So hint about
10952         .cc, .CC, .cxx, .CXX, c++ and C++. Also do path conversion on
10953         .c, .cpp, .CPP, .lib, .LIB and .Lib files.
10954         * tests/compile3.test: Test the C++ hinting.
10956 2010-08-12  Peter Rosin  <peda@lysator.liu.se>
10958         Enable the use of "link -lib" as the wrapped archiver.
10959         * lib/ar-lib: Enable the use of "link -lib" as the wrapped
10960         archiver, as well as allowing some other options to be passed
10961         through to the wrapped archiver.
10962         * tests/ar-lib.test: Test the above.
10964 2010-08-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
10966         Tweak and/or extend some `acloca*.test' tests.
10967         * tests/aclocal8.test:  Ensure verbose printing of captured
10968         output.
10969         * tests/aclocal.test: Likewise.  Also, add trailing `:'
10970         command.
10971         * tests/acloca19.test: Likewise.
10972         * tests/aclocal5.test: Add trailing `:' command, and prefer
10973         `$me' over hard-coded test name.
10974         * tests/aclocal6.test: Likewise.
10975         * tests/aclocal18.test: Add trailing `:' command, and make
10976         some grepping slightly stricter.
10977         * tests/acloca14.test: Likewise.  Also, prefer `diff' over
10978         `cmp', and add some "cosmetic" blank lines.
10980 2010-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
10982         Tweak and extend tests `pr[!0-9]*.test'.
10983         * tests/primary3.test: Add trailing `:' command.
10984         * tests/primary.test: Make grepping of Automake's stderr stricter.
10985         Also, add trailing `:' command, and cosmetic changes in spacing.
10986         * tests/primary2.test: Likewise.
10987         * tests/prefix.test: Enable `errexit' shell flags, and related
10988         changes.  Add a trailing `:' command.
10989         * tests/proginst.test: Likewise.
10991         Modernize, improve and extend tests for PR (`pr[0-9]*.test').
10992         * tests/pr2.test: Add trailing `:' command.
10993         * tests/pr229.test: Likewise.
10994         * tests/pr401.test: Likewise.
10995         * tests/pr401b.test: Likewise.
10996         * tests/pr401c.test: Likewise.
10997         * tests/pr300-prog.test: Likewise, plus cosmetic changes in
10998         spacing.
10999         * tests/pr300-lib.test: Likewise.
11000         * tests/pr300-ltlib.test: Likewise, and ensure verbose printing
11001         of captured make stdout.
11002         * tests/pr211.test: Add trailing `:' command.  Also, use the
11003         `configure.in' stub created by ./defs, rather than writing it
11004         from scratch.
11005         * tests/pr204.test: Likewise, plus cosmetic spacing changes.
11006         * tests/pr287.test: Likewise, and move setting of `errexit' shell
11007         flag earlier in the script (just after inclusion of ./defs).
11008         * tests/pr220.test: Make grepping of Automake's stderr stricter.
11009         Also, add trailing `:' command, and cosmetic changes in spacing.
11010         * tests/pr224.test: Move setting of `errexit' shell flag earlier
11011         in the script (just after inclusion of ./defs).  Do not export
11012         `CC=gcc' to configure explicitly (it's already exported globally
11013         in ./defs, since we have "gcc" in $required).  Use the stub for
11014         `configure.in' created by ./defs, rather than writing it from
11015         scratch.  Do not create dummy files required by "gnu" mode (e.g.
11016         README, NEWS), since we run automake in foreign mode anyway.
11017         * tests/pr72.test: Enable `errexit' shell flags, and related
11018         changes.  Extend existing checks a bit.
11019         * tests/pr9.test: Likewise.  Also, avoid obsolescent constructs in
11020         the generated `configure.in', and extend existing checks over the
11021         generated tarball a bit.
11022         * tests/pr87.test: Enable `errexit' shell flags, and related
11023         changes.  Add a trailing `:' command.  Also, do not create dummy
11024         files required by "gnu" mode (e.g. README, NEWS), since we run
11025         automake in foreign mode anyway.
11026         * tests/pr243.test: Avoid obsolescent constructs in the generated
11027         `configure.in'.  Enable the `errexit' shell flag, and related
11028         changes.  Cosmetic changes to spacing, add trailing `:' command,
11029         and add a "FIXME" comment.
11030         * tests/pr266.test: Likewise, and add explicit command line switch
11031         `--enable-dependency-tracking' to the ./configure call.
11032         * tests/pr279.test: Avoid obsolescent constructs in the generated
11033         `configure.in'; also, use the `configure.in' stub created by
11034         ./defs, rather than writing it from scratch.  Enable `errexit'
11035         shell flag, and related changes.  Add trailing `:' command.
11036         * tests/pr279-2.test: Likewise, and make grepping of Makefile.in
11037         stricter.
11038         * tests/pr307.test: Move setting of `errexit' shell flag earlier
11039         in the script (just after inclusion of ./defs).  Escape literal
11040         dots in grep regular expressions.  Also, add a trailing `:'
11041         command, and cosmetic changes to spacing.
11043         Tests for PR: add excerpts from original bug report, for clarity.
11044         * tests/pr2.test: Ditto.
11045         * tests/pr9.test: Likewise.
11046         * tests/pr72.test: Likewise.
11047         * tests/pr87.test: Likewise.
11048         * tests/pr211.test: Likewise.
11049         * tests/pr220.test: Likewise.
11050         * tests/pr224.test: Likewise.
11051         * tests/pr229.test: Likewise.
11052         * tests/pr243.test: Likewise.
11053         * tests/pr266.test: Likewise.
11054         * tests/pr279.test: Likewise, and tell to keep it in sync
11055         with its sister test.
11056         * tests/pr279-2.test: Likewise.
11058 2010-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
11060         Tweak, extend and improve tests `cond[a-z]*.test'.
11061         * tests/condd.test: Add trailing `:' command.  Typofix in
11062         comment.
11063         * tests/condhook.test: Make sure target `install-data-hook' is
11064         not called by `make install', but that data files are installed.
11065         Use proper m4 quoting in configure.in. Add trailing `:' command.
11066         * tests/condhook2.test: New test, sister test of condhook, with
11067         inverted semantic.
11068         * tests/condinc2.test: Use proper m4 quoting in configure.in.
11069         Prefer trailing `:' command over trailing `Exit 0'.
11070         * tests/condman2.test: Enable errexit shell flag, and related
11071         changes.  Add trailing `:' command.
11072         * tests/condman.test: Likewise.  Also, do not create useless
11073         dummy manpages, and use proper m4 quoting in configure.in.
11074         * tests/condman3.test: New test, similar to condman.test, but
11075         it also runs ./configure and "make install", and check the
11076         installed files.
11077         * tests/Makefile.am (TESTS): Updated.
11079         Modernize, improve and/or extend tests `colon*.test.
11080         * tests/colon.test: Rely on the `configure.in' stub created by
11081         `./defs', rather than writing one from scratch.  Do not create
11082         a useless dummy file.  Add trailing `:' command.
11083         * tests/colon4.test: Enable the `errexit' shell flag, and
11084         related changes.  Rely on the `configure.in' stub created by
11085         `./defs', rather than writing one from scratch.
11086         * tests/colon7.test: Enable `errexit' shell flag, and related
11087         changes.  Improve the generated `configure.in' file.  Add
11088         trailing `:' command.
11089         * tests/colon2.test: Likewise.  Also, add some new checks.
11090         * tests/colon5.test: Improve the generated `configure.in' file.
11091         Add new, much deeper checks.  Add trailing `:' command.
11092         * tests/colon6.test: Likewise.
11093         * tests/colon3.test: Add trailing `:' command.  Remove useless
11094         comments and echos.  Improve the generated `configure.in' file.
11095         make some grepping tests stricter.  Add a "FIXME" comments about
11096         planned improvements.
11098         Improve and extend tests `asm*.test'.
11099         * tests/asm.test: Use configure.in stub generated by ./defs,
11100         and avoid obsoleted autoconf constructs.  Make grepping of
11101         Automake stderr stricter.  Do not create useless source file.
11102         Improve verbose messages.  Minor cosmetic changes.  Tell to
11103         keep it in sync with other sister tests asm*.test.
11104         * tests/asm2.test: Likewise.
11105         * tests/asm3.test: Likewise.
11107         Modernize, improve and/or extend test scripts `conf*.test'.
11108         * tests/confh5.test: Cosmetic changes.
11109         * tests/conff.test: Likewise.
11110         * tests/confdeps.test: Likewise.
11111         * tests/conflnk.test: Likewise.
11112         * tests/conflnk2.test: Likewise.
11113         * tests/confsub.test: Likewise.
11114         * tests/confvar.test: Likewise, and make grepping of Makefile.in
11115         stricter.
11116         * tests/confvar2.test: Likewise.
11117         * tests/conflnk3.test: Cosmetic changes.  Re-enable a temporarily
11118         disabled test (which didn't work with autoconf <= 2.59, but now we
11119         are requiring autoconf 2.62, so...)
11120         * tests/conflnk4.test: Cosmetic changes, and extend existing tests
11121         accordingly to "TODO" comments.
11122         * tests/conff2.test: Make grepping of Automake's stderr stricter.
11123         Add some comments explaining why we don't use the `configure.in'
11124         stub preset be ./defs.
11125         * tests/confh.test: Use the `configure.in' stub created by ./defs,
11126         rather than writing one from scratch, and do not call AC_OUTPUT.
11127         Enable `errexit' shell flag, and related changes.  Prefer diff over
11128         cmp to compare text files. Prefer perl over sed to fetch the value
11129         of $(DIST_COMMON) from Makefile.in.  Make grepping of the contents
11130         of $(DIST_COMMON) stricter.
11131         * tests/confh4.test: Use the `configure.in' stub created by ./defs,
11132         rather than writing one from scratch.  Make grepping of Makefile.in
11133         stricter.
11134         * tests/confh5.test: Make grepping of `config.h' stricter.  Add a
11135         comment.
11136         * tests/configure.test: Avoid obsolescent constructs in generated
11137         `configure.ac'.  Do not write `configure.in' two times.  Escape
11138         literal dots in grep regular expressions.
11139         * tests/confincl.test:  Enable `errexit' shell flag, and related
11140         changes.  Prefer fgrep over grep.  Other cosmetic changes.
11141         * tests/config.test: Renamed to ...
11142         * tests/confh6.test: ... this.  Fix m4 quoting in `configure.in',
11143         and make grepping of `config.h' and `config.h.in' stricter.
11144         * tests/conf2.test: Renamed ...
11145         * tests/confh7.test: ... to this.  Use the `configure.in' stub
11146         created by ./defs, rather than writing one from scratch.  Try to
11147         run the checks both with and without AC_PROG_CC and AC_OUTPUT in
11148         `configure.in'.
11149         * tests/Makefile.am (TESTS): Updated.
11151         Minor improvements and fixes in tests `depcomp*.test'.
11152         * tests/depcomp.test: Do not create useless dummy source files.
11153         Add a trailing `:' command.
11154         * tests/depcomp2.test: Use `unset' on the CFLAGS variable to ensure
11155         it's not in in the environment, rather than exporting it with an
11156         empty value.  Do not pass CC=gcc to configure, as that's already
11157         done in ./defs since we have gcc in $required.  Ensure verbose
11158         printing of captured stderr, and normalize its checking.  Add a
11159         trailing `:' command.
11160         * tests/depcomp3.test: Quote literal dots and dollar characters in
11161         grep regexps.  Always use `: >' rather than `touch' to create empty
11162         files.  Explicitly declare phony targets as such in the created
11163         Makefile.am.  Add a trailing `:' command.
11164         * tests/depcomp4.test: Quote literal dots and dollar characters in
11165         grep regexp.  Explicitly declare phony targets as such in the
11166         created Makefile.am.  Ensure verbose printing of captured makes'
11167         stoud/stderr.  Add a trailing `:' command.
11168         * tests/depcomp5.test: Move setting of `errexit' shell flag earlier
11169         in the script (just after inclusion of ./defs).  Quote literal dots
11170         and dollar characters in grep regexps.  Explicitly declare phony
11171         targets as such in the created Makefile.am.  Add a trailing `:'
11172         command.
11173         * tests/depcomp6.test: Consistently use m4 quoting in the generated
11174         configure.in.  Cosmetic fixes to spacing.  Make the "dummy" `if'
11175         statement required by OpenBSD's sh `set -e' more robust, and add
11176         explanatory comments to it.
11177         * tests/depcomp7.test: Likewise, and add  a trailing `:' command.
11179         Separate failing part of test `all.test'.
11180         * tests/all.test: Keep only (x)failing part of the test.  Working
11181         checks moved out to ...
11182         * tests/all2.test: ... this new test.
11183         * tests/Makefile.am (TESTS): Updated.
11185         Modernize, improve and extend tests `subobj*.test'.
11186         * tests/subobjname.test:  Add trailing `:' command.
11187         * tests/subobj.test: Make grepping of `Makefile.in' stricter.
11188         Escape literal dots in grep regexps.
11189         * tests/subobj2.test:  Add trailing `:' command.  Do not use the
11190         unportable fgrep option `-e'.
11191         * tests/subobj3.test: Add trailing `:' command.
11192         (configure.in): Use proper m4 quoting, and avoid obsolescent
11193         constructs.
11194         * tests/subobj8.test: Likewise.  Also, enable `errexit' shell
11195         flag, with related changes
11196         * tests/subobj4.test: Likewise.  Also, make grepping of
11197         `Makefile.in' stricter.
11198         * tests/subobj5.test: Add trailing `:' command.  Move setting of
11199         `errexit' shell flag earlier in the script (just after inclusion
11200         of ./defs).
11201         (configure.in): Use the stub created by `./defs', rather than
11202         writing it from scratch, and avoid obsolescent constructs.
11203         * tests/subobj6.test: Add trailing `:' command.  Move setting of
11204         `errexit' shell flag earlier in the script (just after inclusion
11205         of ./defs).  Do not create useless dummy ac-init file `f'.
11206         * tests/subobj7.test: Do not create useless dummy ac-init file
11207         `f'.
11208         (configure.in): Use the stub created by `./defs', rather than
11209         writing it from scratch, and avoid obsolescent constructs.
11210         * tests/subobj9.test: Move setting of `errexit' shell flag earlier
11211         in the script (just after inclusion of ./defs).  Fail the test if
11212         `make distcheck' fails.  Ensure verbose printing of captured make
11213         stdout.  Avoid useless fork by doing simple grep instead of using
11214         test -n "`COMMAND | grep ...`".
11215         (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
11216         (Makefile.am): Explicitly mark target "print" as phony.
11217         * tests/subobj10.test: Removed duplicated call to `set -e'.  Add
11218         trailing `:' command.
11219         (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
11221         Remove a couple of obsoleted tests.
11222         * tests/fpinstall.test: Removed.
11223         * tests/fpinst2.test: Likewise.
11224         * tests/Makefile.am (TESTS): Updated.
11226         Bootstrap: updated HACKING entry.
11227         * HACKING ("Working with git"): Explain how to override the
11228         autoconf and autom4te programs used by the bootstrap process.
11230         Bootstrap: fixlet.
11231         * bootstrap: Do not remove `lib/Automake/Config.pm' anymore,
11232         since we don't generate it.  Correctly quote arguments of
11233         `eval' builtin.  Fixed a botched error message.  Removed an
11234         extra blank line.
11236         Bootstrap: don't search perl in $PATH.
11237         * bootstrap: Do not explicitly search perl in $PATH anymore.
11238         ($PATH_SEPARATOR): Removed, it's no more needed.
11240         Bootstrap: let the user choose which autoconf to use.
11241         * bootstrap ($AUTOCONF): New variable, from the environment.
11242         ($AUTOM4TE): Likewise, for clarity.
11243         Use "$AUTOCONF" instead of calling "autoconf" directly.
11245         Minor improvements to tests ar*.test.
11246         * tests/ar.test: Add trailing `:' command.
11247         * tests/ar2.test: Likewise, and make grepping of generated
11248         Makefile.in stricter.
11250 2010-08-06  Peter Rosin  <peda@lysator.liu.se>
11252         Add new auxiliary 'ar-lib' script, wrapping Microsoft lib.
11253         * lib/ar-lib: New auxiliary script.
11254         * lib/Makefile.am: Add above.
11255         * tests/ar-lib.test: New test.
11256         * tests/Makefile.am: Add above.
11257         * automake.in (@common_files): Distribute the 'ar-lib' script.
11258         * doc/automake.texi (Auxiliary Programs): Mention the new
11259         'ar-lib' script.
11260         (Optional): Mention 'ar-lib' in AC_CONFIG_AUX_DIR.
11261         * NEWS: Update.
11263 2010-08-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11265         Fix shell pattern negation in compile script.
11266         * lib/compile (func_file_conv): Use `!' not `^' for pattern
11267         negation.
11269 2010-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11271         Fix maintainer-check failure.
11272         * tests/cond5.test: Quote sleep argument, this isn't about
11273         time stamp differences.
11275         Sync auxiliary files from upstream.
11276         * lib/config.guess, lib/config.sub, lib/texinfo.tex:
11277         Sync from upstream.
11279 2010-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
11281         Work around a nasty bug (segfault) of Solaris make.
11282         * lib/am/check.am (recheck, recheck-html): Trim trailing spaces
11283         from $list, to avoid triggering a nasty bug (potential segfault)
11284         on Solaris make.
11286 2010-08-06  Peter Rosin  <peda@lysator.liu.se>
11288         Make cond5.test more robust on MSYS.
11289         * tests/cond5.test: Add delay before the first kill attempt to
11290         cater for problems with MSYS bash.
11292 2010-08-01  Peter Rosin  <peda@lysator.liu.se>
11294         Wrap some MSVC options in the compile script.
11295         * lib/compile: MSVC supports naming the output file, the option
11296         is just not called -o, so transform -o into the appropriate form
11297         for MSVC. Also wrap some other options while at it (-L, -l, -Wl,
11298         -Xlinker and -I) and convert file names to windows form where
11299         needed for those options to make MSVC more usable in an
11300         autotooled environment.
11301         * doc/automake.texi (Auxiliary Programs): Document the above
11302         extension of the compile script.
11303         * NEWS: Updated.
11304         * tests/defs.in: New required entry 'cl'.
11305         * tests/compile3.test: New test.
11306         * tests/compile4.test: New test.
11307         * tests/compile5.test: New test.
11308         * tests/Makefile.am: Update.
11310 2010-07-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11312         Add example git work flow; discuss merge --log in HACKING.
11313         * HACKING: Update.
11314         Suggestion by Stefano Lattarini.
11316         Add more hints for debugging make rules.
11317         * doc/automake.texi (Debugging Make Rules): Show command to find
11318         out expanded values of variables; point to makefile debugger.
11319         * THANKS: Update.
11320         Prompted by suggestion from Ludovic Courtès and Andy Wingo.
11322 2010-07-27  Patrick Welche  <prlw1@cam.ac.uk>  (tiny change)
11324         Fix typo in the manual.
11325         * doc/automake.texi (Scripts): Fix typo.
11327 2010-07-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11329         Document current policy for development with git.
11330         * HACKING (Working with git): Overhaul.
11331         Prompted by suggestion from Stefano Lattarini.
11333         Fix AM_COND_IF for gone-invalid condition shell expression.
11334         * m4/cond-if.m4 (AM_COND_IF): test contents of $COND_TRUE
11335         variable, rather than re-evaluating the shell expression for
11336         the condition.
11337         * tests/cond40.test: Extend test.
11338         * NEWS: Update.
11340         Avoid syntax error if IF-TRUE part of AM_COND_IF expands empty.
11341         * m4/cond-if.m4 (AM_COND_IF): Ensure IF-TRUE part is never empty
11342         to avoid shell syntax error if the m4 expansion is empty.
11343         * tests/cond40.test: Enhance test.
11345         Coverage: bogus option to AM_INIT_AUTOMAKE.
11346         * tests/init2.test: New test.
11347         * tests/Makefile.am: Update.
11349 2010-07-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
11351         Modernize and improve test scripts `subdir*.test'.
11352         * tests/subdir.test: Enable `errexit' shell flag, and related
11353         changes.  Use the `configure.in' stub created by `./defs',
11354         rather than writing one from scratch.
11355         * tests/subdir2.test: Likewise.
11356         * tests/subdir4.test: Likewise.
11357         * tests/subdir3.test: Enable `errexit' shell flag, and related
11358         changes.  Do not create useless dummy source files.
11359         * tests/subdir5.test: Make grepping of Makefile.in (in topdir
11360         and in subdirs) stricter.  Some minor changes to keep it more
11361         in sync with the related test `subdir8.test'.
11362         * tests/subdir8.test: Likewise (but with the related test being
11363         `subdir5.test' here).
11364         * tests/subdir6.test: Cosmetic change in spacing.
11365         * tests/subdir9.test: Define and use new variable `$distdir'.  Add
11366         trailing `:' command.
11367         * tests/subdir10.test: Cosmetic consistency-related change.
11368         * tests/subdirbuiltsources.test: Cosmetic changes in spacings.
11369         (configure.in): Use stub created by `./defs', rather than writing
11370         it from scratch.  Do not use obsoleted and/or deprecated forms of
11371         autoconf/automake macros.
11373         Modernize and improve test scripts `dist*.test'.
11374         * tests/distcleancheck.test: Do not add useless `-e' option to
11375         a $MAKE call.  Extend test by grepping stderr of make.
11376         * tests/distcom2.test: Do not run the same test script on the
11377         Makefile.in twice, but save its output in an intermediate file
11378         instead.  Make grepping of DIST_COMMON definition stricter.
11379         Display the content of more files, to ease debugging.  Add a
11380         trailing `:' command.  Improved heading comments w.r.t. sister
11381         test(s).
11382         * tests/distcom6.test: Likewise, and avoid to uselessly run
11383         autoconf.
11384         * tests/distcom3.test: Ensure verbose printing of captured stdout
11385         and stderr.  Make grepping of captured stderr stricter.  Also,
11386         add trailing `:' command.
11387         * tests/distcom4.test: Declare the target `test' in the generated
11388         Makefile.am as `.PHONY'.  Display content of more files, to ease
11389         debugging.  Add trailing `:' command.
11390         * tests/distcom5.test: Likewise.  Also, factor out common sed
11391         script in subroutine `extract_distcommon'.
11392         * tests/distcom7.test: Prefer cat + here-doc over echo to write
11393         test Makefile.am files.  Add a trailing `:' command.
11394         * tests/distname.test: Prefer `gzip -d' over `gunzip'.  Move the
11395         call to `set -e' earlier.  Be stricter and more verbose in the
11396         checking of the generated tarball.
11397         (configure.in): Use the stub provided by ./defs, instead of
11398         writing it from scratch.  Avoid obsoleted constructs.  Remove
11399         useless call to `AM_PROG_CC_C_O'.
11400         * tests/distdir.test: Various minor improvements/normalizations.
11401         * tests/distlinks.test: Likewise.
11403 2010-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
11405         Improve and extend test cond5.test.
11406         * tests/cond5.test: Do not blindly sleep 60 seconds before polling
11407         the background automake process, but poll it every 10 seconds for
11408         at most 30 times (this makes the test both faster on good machines,
11409         and more resilient to spurious timeout-due failures when in low
11410         priority or on heavily-loaded systems).
11411         Check also that automake writes the expected error messages on the
11412         standard error.
11413         Enable `errexit' flag, and related changes.
11414         Rely on the `configure.in' stub created by `./defs', rather than
11415         writing one from scratch.
11417 2010-06-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11419         Update program --help output to match current GCS.
11420         * configure.ac: Set and substitute PACKAGE_URL if AC_PACKAGE_URL
11421         is not defined, for compatibility to Autoconf < 2.64.
11422         * Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT and
11423         PACKAGE_URL.
11424         (sc_diff_automake_in_automake): Update number of diff lines for
11425         additional substitutions.
11426         * aclocal.in (usage): Use PACKAGE_BUGREPORT.  Point to Automake
11427         home page and GNU general help page.
11428         * automake.in (usage): Likewise.
11429         * doc/automake.texi: New flag PACKAGE_BUGREPORT, to factor email
11430         address.
11431         (Introduction, Creating amhello, amhello Explained, Options):
11432         Use it throughout.
11433         * lib/Automake/Makefile.am (do_subst): Substitute
11434         PACKAGE_BUGREPORT.
11435         * lib/Automake/Config.in ($PACKAGE_BUGREPORT): New global.
11436         * lib/Automake/ChannelDefs.pm: Use it for footer of fatal
11437         messages.
11439         Clean up @var handling in the manual.
11440         * doc/automake.texi: Throughout the manual, lower-case @var
11441         names, replace a few one-character names.
11443 2010-06-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
11445         Fix typo-related bug in test script silent5.test.
11446         * tests/silent5.test: Use $EGREP, not $GREP (which is not even
11447         defined).
11449         Tests: remove useless repetitions of `foreign' automake option.
11450         * tests/multlib.test (configure.in): Remove useless use of
11451         `foreign' option in AM_INIT_AUTOMAKE (the `--foreign' option is
11452         already in $AUTOMAKE by default, so no point in repeating it).
11453         * tests/subobj10.test: Likewise.
11454         * tests/subobj9.test: Likewise.
11455         * tests/lex3.test (Makefile.am): Similarly, remove useless use
11456         of `foreign' option in AUTOMAKE_OPTIONS.
11457         * tests/lex5.test: Likewise.
11458         * tests/pr279.test: Likewise.
11459         * tests/pr279-2.test: Likewise.
11460         * tests/specflg3.test: Likewise.
11461         * tests/target-cflags.test: Likewise.
11463         Drop useless requirement "gzip" in lex5.test.
11464         * tests/lex5.test ($required): Do not list "gzip", as it's
11465         never used.
11467 2010-06-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
11469         Fix bugs in test script silent5.test.
11470         * tests/silent5.test: Fixed a nasty bug (due to the use of grep
11471         instead of egrep) that could have led to false negatives.
11473 2010-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
11475         Add a test checking that distributed broken symlinks cause
11476         `make dist' to fail.
11477         * tests/distlinksbrk.test: New test.
11478         * tests/Makefile.am (TESTS): Updated.
11480 2010-06-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11482         Fix minor testsuite issues, update docs, for Yacc/Lex changes.
11483         * doc/automake.texi (Yacc and Lex): Mention AM_YFLAGS, YFLAGS
11484         and AM_LFLAGS, LFLAGS in the order in which they now appear in
11485         the rules.
11486         * NEWS: Update.
11487         * tests/lflags.test, tests/lflags2.test, tests/yflags.test,
11488         tests/yflags2.test: Prefer `make -e' over `make VAR=VAL', to
11489         please maintainer-check.  Ensure generated C files contain a
11490         declaration, to please compilers.
11492 2010-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
11494         Fix bugs in Automake Yacc/Lex support w.r.t. $(AM_FLAGS) and
11495         $(FLAGS) precedence.
11496         * automake.in: Fix registration of languages "Lex", "Lex (C++)",
11497         "Yacc" and "Yacc (C++)", so that $(LFLAGS) has precedence over
11498         $(AM_LFLAGS) and $(YFLAGS) has precedence over $(AM_YFLAGS).
11499         * tests/Makefile.am (XFAIL_TESTS): Updated accordingly.
11500         * NEWS: Updated.
11502         New tests, exposing bugs in Automake Yacc/Lex support w.r.t.
11503         $(AM_FLAGS) and $(FLAGS) precedence.
11504         * tests/lflags.test: New test, check that user $(LFLAGS) takes
11505         precedence over automake (AM_LFLAGS) and (foo_LFLAGS).  Still
11506         xfailing.
11507         * tests/lflags2.test: Likewise.
11508         * tests/yflags.test: New test, check that user $(YFLAGS) takes
11509         precedence over automake (AM_YFLAGS) and (foo_YFLAGS).  Still
11510         xfailing.
11511         * tests/yflags2.test: Likewise.
11512         * tests/Makefile.am (TESTS, XFAIL_TESTS): Extended accordingly.
11514 2010-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
11516         Modernize, improve and extend tests `suffix*.test'.
11517         * tests/suffix3.test: Enable `errexit' shell flag, and related
11518         changes.
11519         * tests/suffix4.test: Likewise.
11520         * tests/suffix6.test: Likewise, and do not create a useless dummy
11521         source file.
11522         * tests/suffix7.test: Likewise.
11523         * tests/suffix5.test: Enable `errexit' shell flag, and related
11524         changes.  Make grepping of Makefile.in slightly stricter.
11525         * tests/suffix.test: Enable `errexit' shell flag, and related
11526         changes.  Also, do not redirect grep output to /dev/null, as this
11527         might unmotivatedly hide useful information.
11528         * tests/suffix2.test: Move setting of `errexit' shell flag earlier
11529         in the script (just after inclusion of ./defs).  Use a more
11530         idiomatic way to count text occurrences in Makefile.in with
11531         grep.  Do not create useless dummy source files.
11532         * tests/suffix10.test: Ensure verbose printing of captured make
11533         stdout.  Minor cosmetic changes.
11534         * tests/suffix8.test: Likewise.  Also, drop useless call to the
11535         env(1) utility, and make grepping of make output stricter by using
11536         $FGREP rather than plain grep.
11537         * tests/suffix11.test: Likewise.
11538         * tests/suffix12.test: Likewise.
11539         * tests/suffix9.test: Prefer cat + here-doc over echo to append to
11540         the `configure.in' stub.  Cosmetic changes.
11541         * tests/suffix13.test: Cosmetic spacing change.
11543 2010-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
11545         Add useful comment in test script ext.test.
11546         * tests/ext.test: Add a comment explaining why an apparently
11547         useless `if' statement is indeed required.
11549 2010-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
11551         Add useful comment in test script obsolete.test.
11552         * tests/obsolete.test: Add a comment explaining why we need
11553         an indirection in adding $AUTOUPDATE to $required.
11555         Normalize whitespaces in 'tests/Makefile.am'.
11556         * tests/Makefile.am (TESTS): Use only spaces, not tabs, in the
11557         definition of this variable.
11559         Parallel tests generation: improve comments (tiny change).
11560         * tests/Makefile.am ($(parallel_tests)): Added useful comment to
11561         generated tests.
11563         Tests defs: truly get rid of `$am_defs_included' (unused variable)
11564          * tests/defs.in ($am_defs_included): Remove, its now unused.  It
11565         should have been removed in a previous changeset, but the removal
11566         was done only partially (oversight).
11568 2010-06-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11570         Remove a couple of unneeded conditionals from tests.
11571         * tests/pr243.test, tests/pr266.test, tests/strip.test: No need
11572         for the FOOTEST conditional.
11574 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
11576         Modernize, improve and/or fix various test scripts.
11577         * tests/symlink3.test: Deleted, separated into two new, more
11578         complete tests ...
11579         * tests/forcemiss.test: ... this one ...
11580         * tests/forcemiss2.test: ... and this one.
11581         * tests/symlink2.test: Enable `errexit' shell flag, make test
11582         stricter, and skip it if symlink creation is not supported.
11583         * tests/postproc.test: Enable `errexit' shell flag, related
11584         changes, and a couple of unrelated cosmetic changes.
11585         * tests/recurs.test: Use the `configure.in' stub created by
11586         `./defs', rather than writing one from scratch.  Make grepping
11587         of Automake stderr slightly stricter.
11588         * tests/substtarg.test: Likewise.
11589         * tests/strip.test: Likewise, and move the call to `set -e'
11590         earlier (just after the inclusion of `./defs'). Also, make sure
11591         that the script installed by `make install-script' is equal to
11592         the original one.
11593         * tests/substref.test: Use the `configure.in' stub created by
11594         `./defs', rather than writing one from scratch.  Move the call
11595         to `set -e' earlier (just after the inclusion of `./defs').
11596         Avoid to explicitly export CC for configure (that's already done
11597         in ./defs).  Avoid potential problems with unpredictable make
11598         output.  Finally, make grepping of Makefile.in stricter.
11599         * tests/substre2.test: Ensure verbose printing of the captured
11600         make's output, and make its grepping slightly stricter.
11601         * tests/cygwin32.test: Enable `errexit' shell flag, and related
11602         changes.  Also, do not create useless dummy source/data files.
11603         * tests/scripts.test: Likewise.
11604         * tests/recurs2.test: Likewise.  Also, use the `configure.in'
11605         stub created by `./defs'.
11606         * tests/Makefile.am (TESTS): Updated.
11608         Modernize, improve and/or fix tests `pluseq*.test.
11609         * tests/pluseq5.test: Append to configure.in using cat with an
11610         here-doc, not using echo.
11611         * tests/pluseq10.test: Make sure that the captured output of
11612         `make' command is always displayed. Where possible, use $FGREP
11613         instead of grep (this change makes some checks slightly stricter).
11614         * tests/pluseq8.test: Enable `errexit' shell flag, with related
11615         changes.
11616         * tests/pluseq.test: Likewise.  Also, do not create useless dummy
11617         data files, and use better m4 quoting in generated configure.in.
11618         * tests/pluseq2.test: Likewise.  Also, append to configure.in
11619         using cat with an here-doc, not using echo.
11620         * tests/pluseq3.test: Likewise.
11621         * tests/pluseq4.test: Likewise.
11622         * tests/pluseq6.test: Likewise.
11623         * tests/pluseq7.test: Do not create useless dummy source file.
11624         * tests/pluseq9.test: Slightly extended w.r.t. the grepping of
11625         Automake stderr.  Some unrelated cosmetic changes.
11627 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
11629         cscope.test: ensure verbose printing of captured stderr.
11630         * tests/cscope.test: Print captured stderr before failing.
11632 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
11634         Testsuite: ensure verbose printing of captured stderr.
11635         * tests/acloca18.test: Print captured stderr before either failing
11636         or grepping it.  Be sure to send captured stderr to stderr, not to
11637         stdout.
11638         * tests/ansi3b.test: Likewise.
11639         * tests/cond39.test: Likewise.
11640         * tests/configure.test: Likewise.
11641         * tests/missing3.test: Likewise.
11642         * tests/missing6.test: Likewise.
11643         * tests/output-order.test: Likewise.
11644         * tests/pr300-ltlib.test: Likewise.
11645         * tests/python6.test: Likewise.
11646         * tests/python7.test: Likewise.
11647         * tests/python8.test: Likewise.
11648         * tests/python9.test: Likewise.
11649         * tests/subobj.test: Likewise.
11650         * tests/vars3.test: Likewise.
11651         * tests/missing4.test: Likewise, and fix a call to grep not to use
11652         the `-c' flag.
11653         * tests/ansi3.test: Likewise, and rely on the `configure.in' stub
11654         created by `./defs', rather than writing one from scratch.
11656         Enable `errexit' shell flag in various tests.
11657         * tests/backsl.test: Enable the `errexit' shell flag, and
11658         related changes.
11659         * tests/backsl2.test: Likewise.
11660         * tests/block.test: Likewise.
11661         * tests/canon2.test: Likewise.
11662         * tests/canon4.test: Likewise.
11663         * tests/comment2.test: Likewise.
11664         * tests/condlib.test: Likewise.
11665         * tests/cond15.test: Likewise, and prefer $FGREP over grep.
11666         * tests/canon3.test: Likewise.  Also, avoid to create an useless
11667         dummy source file.
11668         * tests/acoutpt2.test: Enable the `errexit' shell flag, and some
11669         related changes.  Do some cosmetic improvements in the generated
11670         `configure.in' file.
11671         * tests/cond4.test: Likewise.
11672         * tests/cond14.test: Likewise.
11673         * tests/condinc.test: Likewise.
11674         * tests/cond7.test: Likewise.  Also, remove useless setting of
11675         AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am.
11676         * tests/ansi.test: Enable the `errexit' shell flag, and related
11677         changes.  Extended, esp. by running autoconf, ./configure and
11678         make, and by looking into the distdir.
11680 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
11681             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11683         Extend tests/README w.r.t. trailing `:' in test scripts.
11684         * tests/README (section "Writing test cases" subsection "Do"):
11685         Explain why apparently redundant trailing `:' and `Exit 0' in
11686         test scripts can indeed be useful.
11688 2010-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
11690         Improve determination of PATH separator in bootstrap script.
11691         * bootstrap: Determine what the PATH separator is the same way
11692         autoconf does.
11694         Minor improvements in bootstrap script.
11695         * bootstrap: Consistently use two-spaces indentation.  Cosmetic
11696         improvement to comments.
11697         ($me): New variable, containing program basename.
11698         Prepend it to all error messages.
11700         Testsuite now works with BSD make in parallel mode.
11701         * tests/defs.in: Unset variables __MKLVL__ and MAKE_JOBS_FIFO,
11702         which are exported by BSD make when run in parallel mode, and
11703         which can confuse make processes spawned by our testsuite.
11704         This change fixes a lot of spurious failure when the testsuite
11705         is run with BSD make in parallel mode.
11707 2010-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
11709         Modernize, improve and/or fix various test scripts.
11710         * tests/sanity.test: Rely on the `configure.in' stub created by
11711         `./defs', rather than writing one from scratch.
11712         * tests/depend2.test: Likewise.  Also, call `set -e' just after
11713         the inclusion of `./defs', instead that later in the script.
11714         * tests/canon5.test: Avoid a useless `|| Exit 1' after a call to
11715         $AUTOMAKE, and improve the positioning of an $ACLOCAL call.
11716         * tests/exeext4.test: Use $FGREP instead of grep, where possible.
11717         Make auxiliary rules in the generated Makefile more silent.
11718         These changes make some checks slightly stricter.
11719         * tests/ext2.test: Call `Exit 1' if inclusion of `./defs' fails.
11720         * tests/gettext2.test: Place final `:' at the end of the script,
11721         rather than in the middle.
11722         * tests/exeext.test: Call `set -e' just after the inclusion of
11723         `./defs', instead that later in the script.
11724         * tests/extra5.test: Likewise.
11725         * tests/confdeps.test: Likewise.  Also, prefer `mv -f' over
11726         plain `mv', just to be sure.
11727         * tests/depcomp.test: Enable `errexit' shell flag, with related
11728         changes.  Also, modernize the generated configure.in.
11729         * tests/cond9.test: Likewise.  Also, rely on the `configure.in'
11730         stub created by `./defs', rather than writing one from scratch.
11731         * tests/cond10.test: Likewise.
11732         * tests/depcomp2.test: Likewise.
11733         * tests/depend3.test: Likewise.
11734         * tests/distcom7.test: Likewise.
11735         * tests/fortdep.test: Likewise.  Also, remove definition of
11736         AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am,
11737         since that flag is already provided by $AUTOMAKE.
11738         * tests/mdate.test: Made stricter, by checking that Automake
11739         actually failed, and by making a stricter grep on the error
11740         message.  Also, set shell `errexit flag'.
11741         * tests/python2.test: Improved verbose messages.
11743         Make test `ammissing.test' stricter.
11744         * tests/ammissing.test: Fail if $ACLOCAL succeeds unexpectedly.
11745         Enable `errexit' shell flag.
11747 2010-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
11748             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11750         Fix error in generation of parallel tests.
11751         * tests/defs.in ($am_skip_defs): New variable, to be used when
11752         ./defs must be sourced multiple times.  If set, unset it and
11753         only define $srcdir; otherwise, also go through the rest of
11754         the script.
11755         ($am_defs_included): Remove, no more needed.
11756         * tests/Makefile.am ($(parallel_tests)): Update accordingly,
11757         using only $srcdir from defs.
11758         Fixes potential test failures of tests that use $required.
11760 2010-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
11762         Enable `errexit' shell flag in some test scripts.
11763         * tests/subcond.test: Enabled `errexit' shell flag, and related
11764         minor changes.
11765         * tests/subst.test: Likewise.
11766         * tests/vars.test: Likewise.
11767         * tests/version4.test: Likewise.
11768         * tests/vpath.test: Likewise.
11769         * tests/vtexi2.test: Likewise.
11770         * tests/werror.test: Likewise.
11771         * tests/whoami.test: Likewise.
11772         * tests/tags.test: Likewise, and avoid to crate an useless dummy
11773         header file.
11774         * tests/acsilent.test: Likewise, and don't use an easily-avoided
11775         command substitution.
11776         * tests/unused.test: Likewise, and don't use an easily-avoided
11777         command substitution.
11778         * tests/version.test: Likewise, and avoid deprecated constructs
11779         in the generated `configure.in'.
11780         * tests/version2.test: Likewise, and avoid deprecated constructs
11781         in the generated `configure.in'.
11783 2010-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
11784             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11786         Improve declaration of dependencies in the testsuite.
11787         * tests/Makefile.am (check_SCRIPTS): Remove.  Instead, let ...
11788         ($(TEST_LOGS)): ... all test logs depend on the scripts.
11789         * test/gen-parallel-tests: For each parallel test foo-p.test,
11790         let `foo-p.log' also depend on `foo.test', since it is sourced.
11792 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11794         Coverage for TAGS_DEPENDENCIES warning.
11795         * tests/tags2.test: New test.
11796         * tests/Makefile.am: Update.
11798         Coverage for use of anachronistic variables.
11799         * tests/oldvars.test: New test.
11800         * tests/Makefile.am: Update.
11802         Testsuite coverage for bogus macro file serial numbers.
11803         * tests/acloca18.test: Also test ill-formed serial numbers
11804         and serial numbers after macro definitions.
11806         Coverage for aclocal diagnosing underquoted macros.
11807         * tests/acloca23.test: New test.
11808         * tests/Makefile.am: Update.
11810 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11812         Prefer AUTOMAKE_fails over `$AUTOMAKE | grep' in tests.
11813         * tests/ldadd.test: Enable errexit.  Use AUTOMAKE_fails so
11814         the verbose log contains all output.
11815         * tests/mdate.test: Likewise.
11816         Prompted by Stefano Lattarini's change to discover.test.
11818 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11820         More minor message fixes.
11821         * aclocal.in (scan_file): Fix recommended info command line.
11822         * automake.in (handle_lib_objects): No need to prepend function
11823         name to prog_error message.
11824         (handle_tags): Add missing word and missing space in error
11825         message.
11826         (handle_dist): Add missing closing single quote in message.
11827         Line-wrap one long message for readability.
11829 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
11830             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11832         Fix distcheck failure with distributed generated parallel tests.
11833         * tests/Makefile.am ($(parallel_tests)): Cope with $(srcdir)
11834         being different from the value at developer `make dist' time.
11835         * tests/defs.in: Protect against multiple inclusion, by using ...
11836         ($am_defs_included): ... this new variable.
11837         ($srcdir): Do not compute, but simply define to `@abs_srcdir@'
11838         as substituted by configure.
11839         Report, suggestions and first fix by Ralf Wildenhues, final
11840         patch by Stefano Lattarini.
11842 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
11844         Improve tests link*.test (enable `errexit' shell flag).
11845         * tests/link_c_cxx.test: Enable `errexit shell flag, and related
11846         changes.  Also, do not create useless source files.
11847         * tests/link_dist.test: Likewise.
11848         * tests/link_f90_only.test: Likewise.
11849         * tests/link_f_only.test: Likewise.
11850         * tests/link_fc.test: Likewise.
11851         * tests/link_fccxx.test: Likewise.
11852         * tests/link_fcxx.test: Likewise.
11854 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11856         Improve ext.test semantics, avoid OpenBSD sh errexit issue.
11857         * tests/ext.test: Inside shell compound command, use
11858         `if $cmd; then Exit 1; fi' rather than `$cmd && Exit 1', to
11859         fix failure with OpenBSD sh introduced with last patch.
11860         Actually ensure that a rule for .EXT.o is created for each
11861         known extension EXT.
11863 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
11865         Enable `errexit' shell flag in some test scripts.
11866         * tests/dash.test: Enable `errexit' shell flag, and related
11867         changes.
11868         * tests/defun.test: Likewise.
11869         * tests/defun2.test: Likewise.
11870         * tests/dejagnu.test: Likewise.
11871         * tests/double.test: Likewise.
11872         * tests/distcom2.test: Likewise.
11873         * tests/empty2.test: Likewise.
11874         * tests/empty3.test: Likewise.
11875         * tests/empty4.test: Likewise.
11876         * tests/exdir.test: Likewise.
11877         * tests/ext.test: Likewise.
11878         * tests/extra.test: Likewise.
11879         * tests/extra2.test: Likewise.
11880         * tests/extra3.test: Likewise.
11881         * tests/extra4.test: Likewise.
11882         * tests/flibs.test: Likewise.
11883         * tests/fnoc.test: Likewise.
11884         * tests/fo.test: Likewise.
11885         * tests/instexec.test: Likewise.
11886         * tests/ltdeps.test: Likewise.
11887         * tests/nodep.test: Likewise.
11888         * tests/nodepcomp.test: Likewise.
11889         * tests/f90only.test: Likewise, and remove botched/obsoleted
11890         comments and unnecessary commands.
11891         * tests/fonly.test: Likewise, and remove botched/obsoleted
11892         comments and unnecessary commands.
11893         * tests/discover.test: Likewise, and made stricter.
11895         Enable `errexit' shell flag in all tests cxx*.test.
11896         * tests/cxx.test: Enabled `errexit' shell flag, and related
11897         minor changes.
11898         * tests/cxxansi.test: Likewise.
11899         * tests/cxxcpp.test: Likewise.
11900         * tests/cxxlibobj.test: Likewise.
11901         * tests/cxxlink.test: Likewise.
11902         * tests/cxxo.test: Likewise.
11904         Enable `errexit' shell flag in various tests.
11905         * tests/acoutnoq.test: Enabled `errexit' shell flag, and related
11906         minor changes.
11907         * tests/acoutpt.test: Likewise.
11908         * tests/acoutqnl.test: Likewise.
11909         * tests/amassign.test: Likewise.
11910         * tests/ansi2.test: Likewise.
11911         * tests/ansi4.test: Likewise.
11912         * tests/badprog.test: Likewise.
11913         * tests/checkall.test: Likewise.
11914         * tests/clean.test: Likewise.
11915         * tests/colneq2.test: Likewise.
11916         * tests/colon.test: Likewise.
11917         * tests/colon5.test: Likewise.
11918         * tests/colon6.test: Likewise.
11919         * tests/comment.test: Likewise.
11920         * tests/compile_f90_c_cxx.test: Likewise.
11921         * tests/compile_f_c_cxx.test: Likewise.
11922         * tests/cond3.test: Likewise.
11923         * tests/cond6.test: Likewise.
11924         * tests/cond13.test: Likewise.
11925         * tests/conf2.test: Likewise.
11926         * tests/confvar.test: Likewise.
11927         * tests/confvar2.test: Likewise.
11928         * tests/cond8.test: Likewise, plus a cosmetic change.
11929         * tests/confh4.test: Likewise.  Also, add in the heading comments
11930         an excerpt from the original bug report which motivated the
11931         creation of this test, to make its purpose clearer.
11933 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11935         Rewrite manual to be gender-neutral.
11936         * doc/automake.texi (GNU Build System)
11937         (Standard Directory Variables, General Operation, CVS)
11938         (Hard-Coded Install Paths, Dependencies As Side Effects):
11939         Rewrite text to not contain gender-specific pronouns when
11940         speaking about developers or users, either by avoiding pronouns
11941         or by addressing them as `you' instead.
11942         * THANKS: Update.
11943         Report by Christina Gratorp.
11945         * AUTHORS: Update.
11947 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
11949         Tiny fix in silent8.test (display output of `make' command).
11950         * tests/silent8.test: Make sure that the captured output of `make'
11951         command is always displayed.
11953         Make tests on user extensibility of silent-rules mode stricter.
11954         * tests/silent6.test: Made stricter w.r.t. the grepping of the
11955         output produced by `make'.
11956         * tests/silent7.test: Likewise.
11958         Tests on silent-mode for C/Libtool made stricter.
11959         * tests/silent.test: Made stricter w.r.t. the grepping of the
11960         output produced by `make'.
11961         * tests/silent2.test: Likewise.
11962         * tests/silent4.test: Likewise.
11963         * tests/silent9.test: Likewise.
11964         * tests/silent3.test: Likewise, and add a final `make distclean'
11965         command to keep it better in sync with tests/silent{4,9}.test.
11967         Improved test silent5.test.
11968         * tests/silent5.test: Remove by hand all generated C files after
11969         non-verbose builds, to ensure the following builds are clean.
11970         Try to clean and rebuild with the same verbosity and without
11971         removing generated sources in between, to check that this does
11972         not trigger a different set of rules.  Make grepping of make's
11973         output stricter.  Improved/added some comments.
11975         New tests for Automake silent-mode with Fortran.
11976         * tests/silentf77.test: New test.
11977         * tests/silentf90.test: Likewise.
11978         * tests/Makefile.am (TESTS): Updated accordingly.
11980         New test `silentcxx.test' (Automake silent-mode with C++).
11981         * tests/silentcxx.test: New test.
11982         * tests/Makefile.am (TESTS): Updated accordingly.
11984         New test `silentyacc.test' (Automake silent-mode with Yacc).
11985         * tests/silentyacc.test: New test.
11986         * tests/Makefile.am (TESTS): Updated accordingly.
11988         New test `silentlex.test' (Automake silent-mode with Lex).
11989         * tests/silentlex.test: New test.
11990         * tests/Makefile.am (TESTS): Updated accordingly.
11992         Relax tests on silent-rules to cater to overly verbose makes.
11993         * tests/silent.test: When testing silent builds, don't fail if
11994         make's output simply contains the `mv' substring, but only if
11995         it contains the `mv ' substring (note the trailing space).
11996         * tests/silent2.test: Likewise.
11997         * tests/silent3.test: Likewise.
11998         * tests/silent4.test: Likewise.
11999         * tests/silent5.test: Likewise.
12000         * tests/silent9.test: Likewise.
12002 2010-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
12004         Extend test on `nostdinc' automake option.
12005         * tests/nostdinc.test: Enable `errexit' shell flag.  Related and
12006         unrelated minor changes.  Make the grepping of the generated
12007         Makefile.in slightly stricter.  Generate and run configure, so that
12008         the generated Makefile can be grepped too.
12010 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12012         Make gnupload portable to EBCDIC hosts.
12013         * lib/gnupload: Use literal newline as argument for 'tr' rather
12014         than \015, for EBCDIC hosts.  Also, avoid unportable nested
12015         double-quotes and backquotes.
12016         * THANKS: Update.
12017         Report from Eric Blake and Steve Goetze via gnulib.
12019 2010-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
12021         Fix Autoconf version required by Automake's configure.
12022         Automake configure script used to tell that automake required
12023         autoconf 2.60 or later, but then it checked for autoconf >= 2.62,
12024         and if that was not found, it gave an error saying that Automake
12025         required configure 2.61a-341 or later.  This change should
12026         eliminate such inconsistencies.
12027         * configure.ac ($required_autoconf_version): New variable.
12028         Use it throughout.
12030 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12032         Fix truncated comment in Makefile.am.
12033         * Makefile.am (sc_tests_logs_duplicate_prefixes): Fix unfinished
12034         sentence in comment.
12035         Report by Stefano Lattarini.
12037         Relax silent8.test for NetBSD make.
12038         * tests/silent8.test: Accept ./foo.info in output as well.
12040         Fix unportable sed script in maintainer-check test.
12041         * Makefile.am (sc_tests_Exit_not_exit): Rewrite sed script to
12042         not contain semicolon after 'b' or brace commands, for NetBSD.
12044         Wildcards are not portable to NetBSD make.
12045         * doc/automake.texi (Wildcards): Document portability issue.
12046         * tests/extra10.test, tests/extra11.test, tests/extra12.test:
12047         Require GNU make.
12049 2010-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
12051         Make test for configure.in vs. configure.ac stricter.
12052         * tests/configure.test: Use a configure.in file that provokes
12053         an automake error, to ensure configure.ac is preferred.
12055         Avoid possible false negatives in dejagnu7.test.
12056         * tests/dejagnu7.test: Enable shell `errexit' flag.  Also, avoid
12057         unportable use of fgrep option `-e'.
12059         Fix conflnk3.test to work with Solaris/Heirloom Sh.
12060         * tests/conflnk3.test: Use `test -r FILE' and `test ! -r FILE'
12061         instead of respectively `test -e FILE' and `test ! -e FILE',
12062         since Solaris Sh doesn't grok the latter.  Do not SKIP the test
12063         if the shell doesn't support `test -e'.
12065 2010-04-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12067         Warning and error message formatting cleanups.
12068         * aclocal.in (parse_arguments, main): Remove trailing period or
12069         newline in error or warning messages, avoid capitalization of
12070         the first word of a message.
12071         * automake.in (check_user_variables, handle_languages)
12072         (handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files)
12073         (scan_autoconf_files, cond_stack_if, require_file_internal)
12074         (usage, generate_makefile, parse_arguments): Likewise.
12075         * lib/Automake/ChannelDefs.pm (set_strictness): Likewise.
12076         * lib/Automake/Configure_ac.pm (find_configure_ac): Likewise.
12077         * lib/Automake/Options.pm (set_strictness): Likewise.
12078         * lib/Automake/Rule.pm (define): Likewise.
12079         * lib/Automake/Variable.pm (define, variables_dump): Likewise.
12080         * tests/ltinstloc.test, tests/suffix11.test: Adjust expected
12081         error message.
12082         * lib/Automake/Channels.pm (setup_channel): Reword error message
12083         to be the same as in msg.
12085         Fix placing of ellipses in English text and synopses.
12086         * Makefile.am: Be sure to add a space before `...' in natural
12087         language text.
12088         * automake.in (scan_autoconf_traces): Likewise.
12089         * lib/Automake/Rule.pm (define): Likewise.
12090         * lib/Automake/Variable.pm (define): Likewise.
12091         * lib/am/dejagnu.am: Likewise.
12092         * lib/am/progs.am: Likewise.
12093         * lib/gnupload (dprint, upload): Likewise.
12094         * tests/confdeps.test: Likewise.
12095         * tests/location.test: Adjust expected output.
12096         * automake.in (usage): In synopsis, use singular for OPTION,
12097         * remove space before ellipsis.
12098         * aclocal.in (usage): Likewise.  Also, fix indentation.
12100         Fix more duplicate message prefixes.
12101         * lib/Automake/XFile.pm (seek): Do not prepend $me.
12102         ($me): Remove now-unused package-global.
12103         * aclocal.in (check_acinclude): Remove duplicate 'warning: '
12104         prefix.
12106         Fix typo in manual.
12107         * doc/automake.texi (Simple Tests using parallel-tests): Add
12108         missing closing parenthesis.
12110         Fix leftover call to removed function macros_dump.
12111         * automake.in (read_main_am_file): Call variables_dump, not
12112         macros_dump.  Print actual error before list of variables.
12114 2010-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
12116         Minor improvements in comments of test `silent3.test'.
12117         * tests/silent3.test: Tell to keep it in sync with `silent9.test'
12118         too.
12120 2010-04-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12122         testsuite: ensure verbose printing of captured output.
12123         * tests/acloca14.test, tests/acloca18.test, tests/aclocal.test,
12124         tests/fort2.test, tests/help.test, tests/missing3.test,
12125         tests/missing6.test: Print captured stdout or stderr before
12126         grepping it.
12128 2010-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
12130         Make test badopt.test stricter (by enabling `set -e').
12131         * tests/badopt.test: Add call to `set -e'.  Due to this change,
12132         an unexpected failure in the call to `$ACLOCAL' (whose outcome
12133         was previously unchecked) would cause the whole test to fail.
12134         Also, bumped the copyright years.
12136         Make test for configure.in vs. configure.ac stricter.
12137         * tests/configure.test: Use a configure.in file that provokes
12138         an automake error, to ensure configure.ac is preferred.
12140         Use `set -e' in confsub.test (avoids possible false negatives).
12141         * tests/confsub.test: Enable shell `errexit' flag, and related
12142         changes (this helps avoiding some possible minor false negatives).
12143         Also, bumped copyright years.
12145 2010-04-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12147         Fix -Werror handling for presence of configure.in and configure.ac.
12148         * lib/Automake/Variable.pm (Automake::Variable): Do not initialize
12149         $configure_ac at the global level, before command-line arguments
12150         have been parsed.
12151         (require_variables): Initialize it here.
12152         * tests/configure.test: New test.
12153         * tests/Makefile.am: Update.
12154         Report by Stefano Lattarini.
12156 2010-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
12158         Avoid possible false negatives in confh5.test.
12159         * tests/confh5.test: Enable shell `errexit' flag, and bumped
12160         copyright years.  Due to this change, any unexpected failure
12161         in calls to $ACLOCAL, $AUTOMAKE, $AUTOCONF or $AUTOHEADER, or
12162         a failure in grepping expected text in output files should now
12163         cause the whole test to fail.
12165 2010-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
12167         Fixed typo in POD documentation of Automake::Channels.
12168         * lib/Automake/Channels.pm: Fixed typo in POD documentation:
12169         @<...> was used instead of C<...>.
12171 2010-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
12173         Refactor tests on Automake TESTS color output.
12174         * tests/color.test: Tests using the expect program moved out to...
12175         * tests/color2.test: ... this new file.
12176         * tests/Makefile.am (TESTS): Extended accordingly.
12178 2010-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
12180         Fix typos in comments in test confh5.test
12181         * tests/confh5.test: Fix a couple of typos in comments.
12183         Avoid possible false negatives in canon-name.test.
12184         * tests/canon-name.test: Enable shell `errexit' flag.  Improve
12185         test description.
12187 2010-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12189         Print 'warnings are treated as errors' note if needed.
12190         * lib/Automake/Channels.pm: Fix typo in comment.
12191         (_print_message): If -Werror is enabled, print a 'warnings are
12192         treated as errors' note before the first such warning.
12193         * tests/warnopts.test: Adjust comment to mention expected warning.
12194         Adjust code to ignore 'warnings are treated as errors' note.
12195         * tests/location.test: Adjust expected output with -Werror.
12196         * tests/werror4.test: New test.
12197         * tests/Makefile.am: Update.
12198         * NEWS: Update.
12200         Ensure we don't print 'warning:' or 'error:' twice.
12201         * Makefile.am (sc_ensure_testsuite_has_run): New helper rule.
12202         (sc_tests_logs_duplicate_prefixes): New rule, to check for
12203         wrong-looking warning and error messages in the test suite logs.
12204         * aclocal.in (scan_configure_dep, scan_file): Remove duplicate
12205         `warning: ' prefix.
12206         * tests/vars3.test: Rename variable to avoid false positive.
12208         Prepend type to warning, error, and fatal messages.
12209         For the first part of messages of types `error' or `fatal',
12210         prepend `error: ' to the message.  Prepend `warning: ' to
12211         warning messages, whatever the setting of -Werror.
12212         * lib/Automake/Channels.pm (partial): Move up definition.
12213         (_format_message): Emit `header' and `footer' strings only with
12214         the first resp. last part of a set of partial messages.
12215         * lib/Automake/ChannelDefs.pm: Add missing '1;' statement at the
12216         end of the module.
12217         (Automake::ChannelDefs): Setup warning channels with header
12218         `warning: ', error and fatal messages with header `error: '.
12219         * tests/condinc2.test, tests/ltinstloc.test: Adjust expected
12220         error messages.
12221         * tests/comment5.test: Likewise.  Also, include stack notes
12222         should not start with `error:'.
12223         * tests/location.test: Likewise.  Also, try both -Werror and
12224         -Wno-error.
12225         * NEWS: Update.
12226         Report by Bruno Haible.
12228         Fix capitalization of error messages, reword one message.
12229         * lib/Automake/Variable.pm (define): Do not capitalize the first
12230         word in the error message.
12231         * automake.in (require_file_internal): Likewise.  Also, reword
12232         and line-wrap for better readability.
12233         * tests/distcom7.test, tests/pluseq5.test, tests/pluseq9.test:
12234         Adjust tests.
12236         Fix connected warnings about obsolete exeext override.
12237         * lib/Automake/Rule.pm (define): Merge two warnings that belong
12238         together, by setting the 'partial' flag for the first one.
12240         Fix per-Makefile.am setting of -Werror.
12241         Before this patch, 'AUTOMAKE_OPTIONS = -Werror' in one
12242         Makefile.am would carry over to other Makefile.am files
12243         treated afterwards by the same thread, causing inconsistent
12244         and unstable exit status values.
12245         * lib/Automake/Channels.pm (dup_channel_setup)
12246         (drop_channel_setup): Save and restore the setting of
12247         $warnings_are_errors.
12248         * tests/werror3.test: New test.
12249         * tests/Makefile.am: Adjust.
12250         * NEWS: Update.
12252 2010-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
12254         Bugfix in confh5.test w.r.t. Solaris/Heirloom Sh.
12255         * tests/confh5.test: In the generated Makefile.am: do not use
12256         `test ! -e FILE' to check for the non-existence of a file, since
12257         that is not supported by Solaris/Heirloom Sh.
12259         Make test `aclocal3.test' stricter.
12260         * tests/aclocal3.test: Add call to `set -e'.  Fail if $ACLOCAL
12261         succeds unexpectedly.
12263         Add tests checking that symlinks are resolved by `make dist'.
12264         * tests/distlinks.test: New test.
12265         * tests/Makefile.am (TESTS): Updated accordingly.
12266         Suggested by observations from Ralf Wildenhues.
12268 2010-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12270         Use -9 for maximum xz compression with dist-xz.
12271         * lib/am/distdir.am (dist-xz, dist, dist-all): Pass -9 to xz.
12272         * NEWS, THANKS: Update.
12273         Report by Pavel Sanda.
12275 2010-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
12277         Avoid possible false negatives in cond46.test.
12278         * tests/cond46.test: Enable shell `errexit' flag (and bumped
12279         copyright years).  Due to this change, the testcase should now
12280         fail on unexpected failures in calls to $ACLOCAL/$AUTOMAKE (whose
12281         outcomes were previously unchecked), and on failures in grepping
12282         the expected diagnostic in Automake stderr.
12284 2010-04-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
12286         Generated tests are now just a thin layer around other tests.
12287         * tests/Makefile.am: Rewrite the rule to generate the `*-p.test'
12288         test scripts so that any of them simply includes the corresponding
12289         `*.test' script (after setting `$parallel_tests' to `yes').
12290         * tests/.gitignore: Add wildcard for temporary files used in the
12291         generation of `*-p.test' tests.
12293 2010-03-30  Stefano Lattarini  <stefano.lattarini@gmail.com>
12295         Avoid an unportable use of `$status' shell variable.
12296         * Makefile.am (path-check): Don't use the `$status' shell variable
12297         in the target's rules, as it's special in Zsh (equivalent to `$?',
12298         and readonly).
12300         Avoid another use of `chmod -R'.
12301         * Makefile.am (path-check): To be safe, do not use `chmod -R' on
12302         $(distdir) before removing it (as Solaris `chmod -R' touches
12303         symlink targets).  Instead, use the cleanup strategy used in
12304         distdir.am.
12306 2010-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12308         Remove uses of @acronym and @sc.
12309         * doc/automake.texi (Public Macros, Limitations on File Names):
12310         Remove all usage of @acronym and @sc in the manual.
12311         Suggested by Karl Berry.
12313 2010-03-13  Karl Berry  <karl@freefriends.org>
12315         GNU hello uses fdl.texi, not gpl.texi.
12316         * doc/automake.texi (Texinfo): Adjust example to upstream
12317         change.
12319 2010-03-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12321         Formatting cleanups in macro comments.
12322         * automake.in, lib/Automake/Channels.pm,
12323         lib/Automake/FileUtils.pm, lib/Automake/Options.pm,
12324         lib/Automake/Variable.pm, lib/Automake/XFile.pm,
12325         m4/options.m4, m4/substnot.m4: Fix macro comment format.
12327 2010-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
12328             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12330         Avoid generation of `tests/defs-p' file.
12331         * tests/defs.in: In the generated `configure.in' snippet: call
12332         `AM_INIT_AUTOMAKE' with the `parallel-tests' option if the shell
12333         variable `parallel_tests' is set to `yes'.
12334         * tests/Makefile.am (defs-p): Target removed.
12335         (check_SCRIPTS): Removed `defs-p'.
12336         (clean-local-check): Do not unlink `defs-p' anymore.
12337         ($(parallel_tests)): Transformation rules for the test scripts
12338         adjusted.
12339         * tests/gen-parallel-tests: Selection rules for the test
12340         scripts adjusted.
12341         * tests/parallel-tests.test: Set `$parallel_tests' to `yes'
12342         then include `./defs' (rather than simply including `./defs-p').
12343         * tests/parallel-tests2.test: Likewise.
12344         * tests/parallel-tests3.test: Likewise.
12345         * tests/parallel-tests4.test: Likewise.
12346         * tests/parallel-tests5.test: Likewise.
12347         * tests/parallel-tests6.test: Likewise.
12348         * tests/parallel-tests7.test: Likewise.
12349         * tests/parallel-tests8.test: Likewise.
12350         * tests/parallel-tests9.test: Likewise.
12351         * tests/parallel-tests10.test: Likewise.
12352         * tests/README (Section "Writing Test Cases" subsection "Do"):
12353         Adjusted the parts referring to tests checking `parallel-tests'
12354         behaviour.  Some other minor related improvements.
12355         * tests/.gitignore (defs-p): Removed.
12357 2010-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
12359         Remove redundant unset of variable TESTS from some test scripts.
12360         * tests/color.test: Do not unset the `TESTS' variable, as it's
12361         already unset in the `defs' file.
12362         * tests/check5.test: Likewise.
12363         * tests/check8.test: Likewise.
12364         * tests/check9.test: Likewise.
12365         * tests/check10.test: Likewise.
12366         * tests/check11.test: Likewise.
12367         * tests/parallel-tests.test: Likewise.
12368         * tests/parallel-tests3.test: Likewise.
12369         * tests/parallel-tests4.test: Likewise.
12370         * tests/parallel-tests5.test: Likewise.
12371         * tests/parallel-tests6.test: Likewise.
12372         * tests/parallel-tests7.test: Likewise.
12374 2010-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12376         Fix cscope test on systems without working Fortran compiler.
12377         * tests/cscope.test: Skip remainder of test if `$MAKE all' fails.
12378         * THANKS: Update.
12379         Report by Peter Johansson.
12381 2010-02-24  Antonio Diaz Diaz  <ant_diaz@teleline.es>  (tiny change)
12382             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12384         Add lzip compression support.
12385         * automake.in (handle_dist): Recognize dist-lzip.
12386         (make_paragraphs): Map LZIP to dist-lzip.
12387         * doc/automake.texi (Dist): Add dist-lzip.
12388         (Options): Likewise.
12389         * lib/Automake/Options.pm (_process_option_list): Add dist-lzip.
12390         * lib/am/distdir.am
12391         (dist dist-all): Add command to create an lzip-compressed tarball.
12392         (distcheck): Handle lzip-compressed tarballs just like the others.
12393         * tests/defs.in: Test for lzip, too.
12394         * tests/lzip.test: New file, based on nogzip.test.
12395         * tests/Makefile.am (TESTS): Add lzip.test.
12396         * NEWS: Update.
12398 2010-02-22  Karl Berry  <karl@gnu.org>
12400         Improve help message of mdate-sh.
12401         * mdate-sh: mention actual output format in help message.
12403 2010-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12405         Deprecate dist-lzma in favor of dist-xz.
12406         * doc/automake.texi (The Types of Distributions, Options):
12407         Adjust text to reflect renaming of lzma to xz.
12408         * NEWS: Update.
12409         Missing deprecation noted by Antonio Diaz Diaz.
12411 2010-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
12413         Add tests about support of wildcards in EXTRA_DIST.
12414         * tests/extra10.test: New test, check basic support of wildcards
12415         in EXTRA_DIST.
12416         * tests/extra11.test: New test, check more complex usage of
12417         wildcards in EXTRA_DIST.
12418         * tests/extra12.test: New test, check usage of wildcards in
12419         EXTRA_DIST when $builddir != $srcdir.
12420         * tests/Makefile.am (TESTS): Updated accordingly.
12421         Necessity of these new tests suggested by Braden McDaniel
12422         and Ralf Wildenhues.
12424 2010-02-08  Simon Josefsson  <simon@josefsson.org>
12426         Fix copyright statement in gnupload script.
12427         * lib/gnupload: Fix copyright statement.
12429 2010-02-06  Dmitry V. Levin  <ldv@altlinux.org>  (tiny change)
12430             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12432         Fix exit status of signal handlers in shell scripts.
12433         The value of `$?' on entrance to signal handlers in shell scripts
12434         cannot be relied upon, so set the exit code explicitly to
12435         128 + SIG<SIGNAL>.
12436         * lib/am/check.am (am__check_pre): Use `exit 143' in signal handler.
12437         * lib/elisp-comp: Likewise.
12438         * lib/install-sh: Likewise.
12439         * lib/ylwrap: Likewise.  Also, fix script to trap signal 13, not 3.
12440         * NEWS, THANKS: Update.
12441         Bug report, analysis, and initial patch by Dmitry V. Levin.
12443 2010-02-06  Karl Berry  <karl@gnu.org>
12445         Improve gnupload usage text.
12446         * gnupload (usage): Shorten to make more likely to fit on a tty
12447         line.  Mention CMD in the synopsis.  With ..., plural is implied.
12449 2010-01-28  Christos Kontas  <xakon@yahoo.com>  (tiny change)
12451         Fix some typos in the manual
12452         * doc/automake.texi (Nested Packages, Rebuilding): Fix typos.
12454 2010-01-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12456         Fix silent-rules output for disabled dependency tracking.
12457         * lib/am/depend2.am [!%FASTDEP%]: Rework silent-rules variable
12458         expansion code to also work in the case where %AMDEP% expands
12459         to FALSE at config.status time, using new substitution string
12460         %VERBOSE-NODEP%.
12461         * automake.in (verbose_nodep_flag): New function, appending
12462         `@am__nodep@' to the verbose-variable name.
12463         (handle_languages): If dependencies are not disabled, use it to
12464         set %VERBOSE-NODEP%.
12465         * m4/depend.m4: Substitute am__nodep as '_no', so the second
12466         verbose-variable will always expand to an empty string, if
12467         dependencies are enabled.
12468         * tests/silent5.test: Also test --disable-dependency-tracking;
12469         also test per-target flags for non-C language files.
12470         * tests/silent9.test: New test, like silent4.test but disable
12471         dependency tracking.
12472         * tests/Makefile.am: Adjust.
12473         * NEWS, THANKS: Update.
12474         Report by Dmitry V. Levin <ldv@altlinux.org>.
12476 2010-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
12478         Slighty improve tests acoutbs.test and acoutbs2.test.
12479         * tests/acoutbs2.test: Enable `errexit' shell flag.  Check that
12480         autoconf and configure work, that the file `zot' is created by
12481         configure, and that no file containing a backslash in its name is
12482         created.
12483         * tests/acoutbs.test: Likewise, plus updated copyright years.
12485         Fix test acoutbs2.test.
12486         * tests/acoutbs2: In the generated configure.in: add proper calls
12487         to AC_INIT and AM_INIT_AUTOMAKE, and remove explicit definition of
12488         PACKAGE and VERSION. Add a call to aclocal before calling automake.
12489         Updated copyright years.
12490         * tests/Makefile.am (XFAIL_TESTS): Removed acoutbs2.test.
12492         Add forgotten test scripts to $(TESTS).
12493         * tests/Makefile.am (TESTS): Added test scripts present on the
12494         filesystem, which were erroneously left out from $(TESTS):
12495         acoutbs2.test, badopt.test, extra2.test.
12496         (XFAIL_TESTS): Added acoutbs2.test.
12498 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12500         Sync auxiliary files from upstream.
12501         * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub:
12502         Sync from upstream.
12504         Bump copyright years.
12505         * aclocal.in (write_aclocal, version): Bump copyright years.
12506         * automake.in (gen_copyright, version): Likewise.
12507         * doc/automake.texi: Likewise.
12509         Rotate ChangeLog.
12510         * ChangeLog.09: New file, rotated from ...
12511         * ChangeLog: ... here.
12512         * Makefile.am (EXTRA_DIST): Distribute ChangeLog.09.
12514 -----
12516 Copyright (C) 2010, 2011  Free Software Foundation, Inc.
12518 Copying and distribution of this file, with or without modification, are
12519 permitted provided the copyright notice and this notice are preserved.
12521 ;; Variables:
12522 ;; coding: utf-8
12523 ;; End: