test harness: improve catching of usage errors in script 'test-driver'
[platform/upstream/automake.git] / old / ChangeLog.11
1 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
2
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'.
6
7 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
8
9         gitlog-to-changelog: new auxiliary script, synced from gnulib
10
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.
15
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.
19
20 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
21
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.
38
39 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
40
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.
70
71 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
72
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.
87
88 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
89
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.
103
104 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
105
106         docs: "aclocal --install -I /abs/dir" actually copies files
107
108         This change is for automake bug#8407.
109
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.
116
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.
126
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.
131
132 2011-12-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
133
134         docs: fix node names for automake and aclocal invocations
135
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.
143
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.
148
149         This change fixes automake bug#8071.
150
151         See also commits `v2.61a-22-ge9215d1' and `v2.61a-72-g8c07b48' in
152         the autoconf git repository, which tackled a similar issue.
153
154         * doc/automake.texi (@direntry): Rename nodes `aclocal' and
155         `automake' to `aclocal-invocation' and `automake-invocation'
156         respectively.
157         * NEWS: Update.
158
159 2011-12-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
160
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'.
183
184 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
185
186         silent-rules: fallback for makes without nested vars
187
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.
197
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)).
204
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.
211
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.
221
222 2011-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
223
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.
230
231 2011-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
232
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.
240
241 2011-12-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
242
243         tests: fix handling of gettext macros requirement
244
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'.
253
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.
259
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.
266
267 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
268
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.
277
278 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
279
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.
287
288 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
289
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.
309
310 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
311
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'.
327
328 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
329
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.
346
347 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
348
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'.
354
355 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
356
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.
362
363 2011-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
364
365         tests: avoid spurious failure of libtool and gettext tests
366
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:
370
371           # All as expected.
372           $ cat <<END
373           `pwd`
374           END
375           /home/stefano
376           $ echo status = $?
377           status = 0
378
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
388
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).
392
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.
397
398         See also:
399         <http://lists.gnu.org/archive/html/bug-autoconf/2011-12/msg00001.html>
400
401 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
402
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.
430
431 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
432
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.
440
441 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
442
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>
462
463 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
464
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.
475
476 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
477
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.
500
501 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
502
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.
507
508 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
509
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.
515
516 2011-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
517
518         tests: better handling of gettext and libtool requirements
519
520         This change fixes automake bug#9807.
521
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').
528
529         This approach had various shortcomings and disadvantages.  Let's
530         briefly describe the three major ones.
531
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.
545
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.
567
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".
574
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.
587
588 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
589
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.
593
594 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
595
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.
612
613 2011-12-07  Reuben Thomas  <rrt@sc3d.org>  (tiny change)
614
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."
623
624 2011-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
625
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])"
630
631 2011-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
632
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.
636
637 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
638
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".
647
648 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
649
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.
657
658 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
659
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.
674
675 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
676
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).
694
695 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
696
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.
710
711 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
712
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.
719
720 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
721
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).
727
728 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
729
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.
737
738 2011-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
739
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.
744
745 2011-12-20  Peter Rosin  <peda@lysator.liu.se>
746
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).
753
754 2011-12-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
755
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.
759
760 2011-12-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
761
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>
771
772 2011-12-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
773
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.
780
781 2011-12-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
782
783         tests: make two test scripts executable
784         * tests/remake-am-pr10111.test: Make executable.
785         * tests/remake-m4-pr10111.test: Likewise.
786
787 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
788
789         yacc/lex tests: remove an unneeded workaround for bug#8485
790
791         * tests/yacc-d-cxx.test: Remove the workaround previously required
792         to avoid spurious failures due to automake bug#8485: that bug has
793         been solved with commit `v1.11-512-g40c3432'.
794
795 2011-12-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
796
797         yacc/lex tests: avoid too much failures with FreeBSD make
798
799         In various Yacc/Lex tests, we used to run "make distcheck" commands
800         whose value was mostly dubious, and, even when it was there, was
801         very, very little.  The presence of these extra distchecks had two
802         disadvantages: it slowed down our already-too-slow testsuite even
803         more, and, much worse, caused a lot of extra failures with FreeBSD,
804         all due to automake bug#7884, which is already exposed by the test
805         case `yacc-dist-nobuild.test'.
806
807         We can improve this situation by simply removing "make distcheck"
808         calls from a few testcases, or making them conditional to the use
809         of GNU make.
810
811         * tests/lex-clean-cxx.test: Do not call "make distcheck".
812         * tests/lex-clean.test: Likewise.
813         * tests/yacc-clean-cxx.test: Likewise.
814         * tests/yacc-clean.test: Likewise.
815         * tests/yflags-force-override.test: Likewise.
816         * tests/yacc-nodist.test: Only run "make distcheck" if make
817         is GNU make.
818
819 2011-12-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
820
821         Merge branch 'maint' into 'yacc-work'
822         * tests/silent-lex.test: Provide a dummy `yywrap()' function, to
823         avoid link errors on systems that doesn't provide a "lex library".
824         See also commit `v1.11-546-gca0ba5d'.
825
826 2011-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
827
828         readme: reference webpages for automake mailing lists
829         * README: Rationalize and reorganize the (brief) description of
830         the automake mailing lists.   In particular, instead of suggesting
831         the reader to write to the `-request' addresses to subscribe to
832         mailing lists, point him to the relevant webpages, where he can
833         also subscribe via a web form.
834
835 2011-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
836
837         readme: update advice about testsuite execution
838         * README: Now that the automake testsuite uses the parallel-tests
839         driver, there is no need for the user to capture the stdout of
840         "make check" to determine which tests have failed: a detailed log
841         is automatically saved into the `tests/test-suite.log' file.
842         Since we are at it, improve the wording by dropping an extra
843         "please".
844
845 2011-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
846
847         readme: don't reference the old homepage at sources.redhat.com
848         * README: Don't reference the old homepage at sources.redhat.com,
849         which is no longer active; reference the homepage on www.gnu.org
850         instead.  See also automake bug#10157 and bug#10248.
851         * tests/README: Likewise, and remove related extra-pedantic advice
852         about copyright papers for test cases (we'll ask for those papers
853         explicitly when we think they are warranted).
854
855 2011-12-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
856
857         hacking: some more fixlets
858         * HACKING (Release Procedure): Place the list of pre-release
859         bootstrap-and-test commands on a line of its own, so it's easy to
860         select and then paste it into a terminal window.
861         Fix the explanation of "make git-release", as, since the previous
862         change, "make git-release" would simply run "make dist" rather
863         than "make distcheck".
864         Suggestion from Jim Meyering.
865
866 2011-12-12  Peter Rosin  <peda@lysator.liu.se>
867
868         * NEWS: Fix typo in 'make dist-bzip2' description.
869
870 2011-12-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
871
872         release: don't run "make distcheck" automatically
873         * Makefile.am (git-dist): The developers should test extensively
874         before finally creating the release tarball; so don't run "make
875         distcheck" on their behalf here; instead ...
876         * HACKING (Release procedure): ... state here that "make check"
877         and "make distcheck" should be run before calling "make git-dist".
878
879 2011-12-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
880
881         tests: fix spurious failure in 'color2.test'
882         * tests/color2.test: (expect-make): Add an "expect eof" directive,
883         so that the collected output from the spawned make program will be
884         displayed on stdout, as desired.
885         Since we are at it, also correctly remove a temporary file which
886         we was trying to delete using a wrong filename.
887         Problem introduced in merge `v1.11-1579-g8d3466c', probably by a
888         botched edit or conflict resolution.
889
890 2011-12-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
891
892         tests: fix spurious failure in 'lex3.test'
893         * tests/lex3.test (foo.l): Remove duplicated definition of
894         `yywrap'.  Problem introduced in merge `v1.11-1579-g8d3466c'.
895
896 2011-12-09  Jim Meyering  <meyering@redhat.com>
897             Stefano Lattarini  <stefano.lattarini@gmail.com>
898
899         dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings
900         Before the present change, automake-generated `dist-xz' rule used
901         a hard-coded `xz -9'.  That was a problem because on this front,
902         xz differs from gzip and bzip2.  While the latter two don't incur
903         any run-time decompression penalty for using a higher compression
904         level, specifying -9 with xz imposes a potentially fatal virtual
905         memory requirement on any client that wants to decompress your
906         tar.xz file.
907         People have complained that a tarball compressed with -9 cannot
908         be uncompressed in a low-memory environment (wrt-based embedded).
909         Hence, instead of defaulting to -9, which is useful only for very
910         large tarballs, it defaults to -e (equivalent to -6e).  This
911         limits the default memory requirements imposed on decompressors,
912         yet still gives very good compression ratios.
913         * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made
914         it impossible to override.  Actually don't default to -9, either,
915         since that induced inordinately large virtual memory usage when
916         merely decompressing.  Instead, use its XZ_OPT envvar, defaulting
917         to -e if not defined.  Suggested by Lasse Collin.
918         (dist-bzip2): Similarly, do not hard-code -9, but do continue to
919         use -9 by default.  Honor the BZIP2 envvar.
920         * NEWS: Update.
921         * doc/automake.texi (The Types of Distributions): Describe the
922         newly enabled environment variables.
923
924 2011-12-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
925
926         * NEWS: Fix typos, grammaros and suboptimal wording.
927         Reported by Jim Meyering.
928
929 2011-12-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
930
931         maint: sync auxiliary files from upstream
932         * lib/texinfo.tex: Synced from upstream, by "make fetch".
933         * lib/config.guess: Likewise.
934         * lib/config.sub: Likewise.
935
936 2011-12-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
937
938         tests: fix spurious failures due to missing 'yywrap()' function
939
940         The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
941         the "lex library" expected to provide a `yywrap' function (function
942         which is required to link most lex-generated programs).  On the
943         contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
944         fail, configure declares that no lex library is needed, and simply
945         proceeds with the configuration process -- only for the build to
946         possibly fail later, at make time.
947
948         This behaviour is intended; the Autoconf manual reads:
949          ``You are encouraged to use Flex in your sources, since it is
950            both more pleasant to use than plain Lex and the C source it
951            produces is portable.  In order to ensure portability, however,
952            you must either provide a function `yywrap' or, if you don't use
953            it (e.g., your scanner has no `#include'-like feature), simply
954            include a `%noyywrap' statement in the scanner's source.''
955
956         This AC_PROG_LEX behaviour is causing some spurious failures of
957         the Automake testsuite in environments which lack a proper library
958         providing `yywrap' (this happens for example on Fedora-based
959         systems).   The proper workaround is to simply provide a fall-back
960         implementation of `yywrap' in our lexers.
961
962         See also partially-overlapping commit `v1.11-871-geb147a1' (from
963         the 'testsuite-work' branch), which was motivated by similar
964         spurious failures experienced when cross-compiling.
965
966         From a report by Jim Meyering:
967         <http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html>
968
969         * tests/cond35.test: Provide a dummy `yywrap' function.
970         * tests/lex3.test: Likewise.
971         * tests/silent-lex-generic.test: Likewise.
972         * tests/silent-lex-gcc.test: Likewise.
973         * tests/silent-many-generic.test: Likewise.
974         * tests/silent-many-gcc.test: Likewise.
975
976 2011-12-04  Paul Eggert  <eggert@cs.ucla.edu>
977
978         depcomp: spelling fix
979         * lib/depcomp (-h): Fix misspelling in usage diagnostic.
980
981 2011-11-28  Peter Rosin  <peda@lysator.liu.se>
982
983         tests: fix 'distcheck-override-infodir.test' on Cygwin
984         * tests/distcheck-override-infodir.test (Makefile.am): Do not add
985         any `/' between $(DESTDIR) and the following paths.  Otherwise,
986         when $(DESTDIR) is empty, the recipes will try to access files
987         with a leading double slash, which have an implementation-defined
988         interpretation (e.g., for Cygwin, they mean UNC paths).
989
990 2011-11-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
991
992         cosmetics: typofix in comments
993         * tests/remake-am-pr10111.test (Makefile.am): Fix typo in comments.
994         * THANKS: Update.
995         Reported by Krzysztof Żelechowski.
996
997 2011-11-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
998
999         coverage: undistributed '.am' and '.m4' files are diagnosed
1000         The stub rules emitted to work around the "deleted header problem"
1001         for `.m4' files (included by autoconf in e.g., configure.ac) and
1002         for `.am' files (included by automake in e.g., Makefile.am) should
1003         not prevent "make" from correctly complaining when such a required
1004         file is missing from a distribution tarball.
1005         * tests/dist-missing-am.test: New test.
1006         * tests/dist-missing-m4.test: Likewise.
1007         * tests/dist-missing-included-m4.test: Likewise.
1008         * tests/Makefile.am (TESTS): Add them.
1009         Suggestion by Ralf Wildenhues.
1010
1011 2011-11-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
1012
1013         coverage: required but missing '.am' and '.m4' files are diagnosed
1014         The stub rules emitted to work around the "deleted header problem"
1015         for `.m4' files (included by autoconf in e.g., configure.ac) and
1016         for `.am' files (included by automake in e.g., Makefile.am) should
1017         not prevent the remake rules from correctly erroring out when a
1018         still-required file is missing.
1019         * tests/deleted-am.test: New test.
1020         * tests/deleted-m4.test: Likewise.
1021         * tests/Makefile.am (TESTS): Add them.
1022
1023 2011-11-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
1024
1025         coverage: expose automake bug#10111 in the testsuite
1026         * tests/remake-am-pr10111.test: New test, xfailing.
1027         * tests/remake-m4-pr10111.test: Likewise.
1028         * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
1029
1030 2011-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
1031
1032         texinfo: work around Solaris 10 xpg4 shell bug in install rules
1033         * lib/am/texinfos.am (install-html-am): Use an extra variable
1034         indirection to work around a bug in Solaris 10 /usr/xpg4/bin/sh.
1035         Bug revealed by a failure of `txinfo21.test'.  See also:
1036         <http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html>
1037         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
1038
1039 2011-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1040
1041         configure: report perl version in config.log
1042         * configure.ac: Report the version of the selected perl interpreter
1043         in config.log; this should render the logs more informative.
1044
1045 2011-11-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
1046
1047         tests: fix spurious failure with older install-info
1048         * tests/install-info-dir.test (foo.texi): Also add proper
1049         `@settitle', `@dircategory' and `@direntry' directive, otherwise
1050         older versions of `install-info' (e.g., 4.8) will fail to create
1051         the `dir' index file in ${infodir}.
1052         Problem revealed by a failure on NetBSD 5.1.
1053
1054 2011-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1055
1056         maintcheck: fix spurious failure in 'color2.test'
1057         * tests/color2.test: Avoid creative quoting to avoid a spurious
1058         failure of the `sc_tests_Exit_not_exit' maintainer check.
1059
1060 2011-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1061
1062         tests: fix spurious error in 'uninstall-fail.test' on Solaris
1063         * tests/uninstall-fail.test: Solaris 10 /usr/xpg4/bin/sh can add
1064         a line number before the `:' in the error messages issued by shell
1065         builtins.  Account for that in our grepping of make output.
1066
1067 2011-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1068
1069         tests: fix typo in 'uninstall-fail.test'
1070         * tests/uninstall-fail.test: Always use `$rm_f_is_silent_on_error'
1071         instead of the bogus `$rm_f_is_silent_on_failure'.
1072
1073 2011-11-19  Paul Eggert  <eggert@cs.ucla.edu>
1074
1075         * lib/install-sh: Spelling fix in comment.
1076
1077 2011-11-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
1078
1079         tests: avoid a spurious failure of 'ltinit.test' MinGW
1080         * tests/ltinit.test: Be laxer in grepping configure output, to
1081         avoid spurious failures on systems which lack POSIX dynamic
1082         linking (e.g., MinGW), or when cross-compiling for such systems.
1083         See also commit `v1.11-855-ge9e5d4a'.
1084         Report and suggestion from Peter Rosin.
1085
1086 2011-11-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1087
1088         tests: testsuite is now safe to run with dmake in parallel mode
1089         * tests/defs.in: Unset variables DMAKE_CHILD, DMAKE_DEF_PRINTED
1090         and DMAKE_MAX_JOBS, which are exported by Solaris dmake when run
1091         in parallel mode, and which might confuse make processes spawned
1092         by our testsuite.
1093
1094 2011-11-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1095
1096         tests: fix spurious failures w.r.t. parallel make and colorization
1097         * tests/color2.test: Skip the test if the $MAKE program fails to
1098         consider the standard output as a tty when spawned by `expect'.
1099         This is required for make implementations, like FreeBSD make and
1100         Solaris dmake, that redirect the output of recipes to temporary
1101         files or pipes when run in parallel mode.  Since we are at it,
1102         simplify the detection of a working `expect' program, and throw
1103         in other minor simplifications.
1104
1105 2011-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1106
1107         tests: fix spurious failure in 'distcheck-override-infodir.test'
1108         * tests/distcheck-override-infodir.test ($required): Add
1109         'install-info'.
1110
1111 2011-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1112
1113         tests: avoid another failure of 'uninstall-fail.test' on Solaris
1114         * tests/uninstall-fail.test: On Solaris 10, if `/bin/rm' is run
1115         with the `-f' option, it doesn't print any error message when
1116         failing to remove a file (due to e.g., "Permission denied").
1117         Yikes.  Cater to this incompatibility, by relaxing the test when
1118         a faulty `rm' is detected.
1119
1120 2011-11-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
1121
1122         tests: various minor tweakings, mostly related to AM_PROG_AR
1123         * tests/alloca2.test: Ensure we don't experience a spurious failure
1124         due to a missing `AM_PROG_AR' macro or a missing `ar-lib' auxiliary
1125         script.
1126         * tests/libtool4.test: Likewise.
1127         * tests/ldadd.test: Likewise.  Since we are at it, make grepping of
1128         automake stderr stricter.
1129         * tests/reqd2.test: Likewise.
1130         * tests/pr211.test: Ensure automake fails also with `-Wnone', since
1131         the error we are testing for is an hard error, not a mere warning.
1132         * tests/syntax.test: Likewise, and ensure we don't fail to other
1133         errors by removing use of `lib_LTLIBRARIES' in Makefile.am.  Since
1134         we are at it, make grepping of automake stderr stricter.
1135
1136 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1137
1138         ar-lib: fix configure output for "unrecognized archiver interface"
1139         * m4/ar-lib.m4: Ensure that, even when an error is hit while trying
1140         to determine the archiver interface kind, the "checking archiver
1141         interface" message from configure is properly terminated before
1142         an error message is printed, to avoid slightly garbled output.
1143         * tests/ar4.test: Enhance.
1144         * tests/ar5.test: Likewise.
1145
1146 2011-11-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1147
1148         warnings: fix buglets for portability warnings
1149         * lib/Automake/ChannelDefs.pm (switch_warning): Ensure the
1150         correct implications and inter-dependencies between warnings
1151         in the categories `portability', `extra-portability' and
1152         `recursive-portability' are respected.  Also add detailed
1153         explicative comments, and references to the relevant tests.
1154         * tests/dollarvar2.test: Update and extend.  Also, remove
1155         some unnecessary uses of `--force' option in automake calls.
1156         * tests/extra-portability3.test: New test.
1157         * tests/Makefile.am (TESTS): Add it.
1158
1159 2011-11-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1160
1161         tests: extend tests on 'extra-portability' warning category
1162         * tests/extra-portability.test: Redefine `$AUTOMAKE' to ensure we
1163         have complete control over the automake options.  Extend by using
1164         also a setup where no `portability' warning is present (only an
1165         `extra-portability' warning is).  Other minor extensions.  Remove
1166         some redundant, verbose comments about the expected diagnostic.
1167
1168 2011-11-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1169
1170         tests: various minor tweakings, mostly related to AM_PROG_AR
1171         * tests/alloca.test: Adjust to new portability requirements due
1172         to the new AM_PROG_AR macro.
1173         * tests/discover.test: Likewise.
1174         * tests/libobj3.test: Likewise.
1175         * tests/pluseq7.test: Likewise.  Also, make grepping of automake
1176         expected error message stricter.
1177         * tests/stdlib.test: Likewise, and extend the test a bit.
1178         * tests/parse.test (configure.in): Remove redundant call to
1179         AC_PROG_RANLIB.
1180         * tests/library2.test: Adjust to new portability requirements
1181         due to the new AM_PROG_AR macro.  Also ...
1182         (configure.in): ... add call to AC_PROG_CC, to ensure automake
1183         really fails for the expected reason.
1184
1185 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1186
1187         ar-lib: fix configure output for "unrecognized archiver interface"
1188         * m4/ar-lib.m4: Ensure that, even when an error is hit while trying
1189         to determine the archiver interface kind, the "checking archiver
1190         interface" message from configure is properly terminated before
1191         an error message is printed, to avoid slightly garbled output.
1192         * tests/ar4.test: Enhance.
1193         * tests/ar5.test: Likewise.
1194
1195 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1196
1197         tests: more faithful 'installcheck' support in few tests
1198         * tests/ar-lib5a.test: Use the `$am_scriptdir' variable instead
1199         of "$testsrcdir/../lib" or "$top_testsrcdir/lib", to test more
1200         faithfully under "make installcheck".
1201         * tests/ar-lib5a.test: Likewise.
1202         * tests/libobj-basic.test: Likewise.
1203         * tests/libobj19.test: Likewise.
1204         * tests/suffix5.test: Likewise.
1205
1206 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1207
1208         tests: remove redundant settings of `errexit' shell flag
1209         * tests/aclocal-path-install-serial.test: Do not set the
1210         `errexit' shell flag, as it is already set by `tests/defs'.
1211         * tests/ar-lib2.test: Likewise.
1212         * tests/ar-lib3.test: Likewise.
1213         * tests/ar-lib4.test: Likewise.
1214         * tests/ar-lib5a.test: Likewise.
1215         * tests/ar-lib5b.test: Likewise.
1216         * tests/ar-lib6a.test: Likewise.
1217         * tests/ar-lib6b.test: Likewise.
1218         * tests/ar-lib7.test: Likewise.
1219         * tests/ar3.test: Likewise.
1220         * tests/ar4.test: Likewise.
1221         * tests/ar5.test: Likewise.
1222         * tests/extra-portability.test: Likewise.
1223         * tests/extra-portability2.test: Likewise.
1224         * tests/extra-portability3.test: Likewise.
1225         * tests/install-info-dir.test: Likewise.
1226         * tests/maintmode-configure-msg.test: Likewise.
1227
1228 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1229
1230         generated tests: avoid extra "FIXME" comments
1231         * tests/gen-testsuite-part: Avoid putting too much "FIXME"
1232         comments in the generated test scripts, since they end up
1233         being just counter-productive noise when one has to grep
1234         the test scripts looking for real "FIXME" items.
1235
1236 2011-09-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1237
1238         cosmetics: fix typo in 'prove-runner' script
1239         * tests/prove-runner: Remove erroneously-repeated word.
1240         * THANKS: Update.
1241         Reported by Dave Hart.
1242
1243 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1244
1245         Merge branch 'master' into testsuite-work
1246         * tests/extra-portability.test: Use `$am_original_AUTOMAKE'
1247         instead of the obsolete `$original_AUTOMAKE'.
1248         * tests/extra-portability3.test: Likewise.
1249         * tests/list-of-tests.mk: Update.
1250
1251 2011-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1252
1253         Merge branch 'msvc' into master
1254         * tests/extra-portability3.test: Use `$original_AUTOMAKE' instead
1255         of hackishly extracting the first component of `$AUTOMAKE'.
1256         * tests/extra-portability.test: Likewise.  Also, since we are at
1257         it, throw in a couple of small extensions and tweakings (suggested
1258         by the minor merge conflicts).
1259
1260 2011-11-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1261
1262         warnings: fix buglets for portability warnings
1263         * lib/Automake/ChannelDefs.pm (switch_warning): Ensure the
1264         correct implications and inter-dependencies between warnings
1265         in the categories `portability', `extra-portability' and
1266         `recursive-portability' are respected.  Also add detailed
1267         explicative comments, and references to the relevant tests.
1268         * tests/dollarvar2.test: Update and extend.  Also, remove
1269         some unnecessary uses of `--force' option in automake calls.
1270         * tests/extra-portability3.test: New test.
1271         * tests/Makefile.am (TESTS): Add it.
1272
1273 2011-11-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1274
1275         tests: extend tests on 'extra-portability' warning category
1276         * tests/extra-portability.test: Redefine `$AUTOMAKE' to ensure we
1277         have complete control over the automake options.  Extend by using
1278         also a setup where no `portability' warning is present (only an
1279         `extra-portability' warning is).  Other minor extensions.  Remove
1280         some redundant, verbose comments about the expected diagnostic.
1281
1282 2011-11-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1283
1284         test defs: new functions to analyze configure help screen
1285         * tests/defs (extract_configure_help, grep_configure_help): New
1286         functions.
1287         * tests/maintmode-configure-msg.test: Use them, reducing code
1288         duplication and test brittleness.
1289         * tests/help-depend.test: Likewise.
1290         * tests/help-depend2.test: Likewise.
1291         * tests/help-dmalloc.test: Likewise.
1292         * tests/help-lispdir.test: Likewise.
1293         * tests/help-multilib.test: Likewise.
1294         * tests/help-python.test: Likewise.
1295         * tests/help-regex.test: Likewise.
1296         * tests/help-silent.test: Likewise.
1297         * tests/help-upc.test: Likewise.
1298         * tests/help-init.test: Make grepping of configure help screen
1299         slightly stricter.
1300         * tests/self-check-configure-help.test: New self test.
1301         * tests/Makefile.am (TESTS): Add it.
1302         From a report by Jim Meyering.
1303
1304 2011-11-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1305
1306         Merge branch 'master' into testsuite-work
1307
1308         * tests/instspc.tap: Adjust to new portability requirements
1309         due to the new AM_PROG_AR macro.
1310         * tests/lex-lib.test: Likewise.
1311         * tests/extra-portability2.test: Use `$am_original_AUTOMAKE'
1312         instead of the obsolete `$original_AUTOMAKE'.
1313         * tests/list-of-tests.mk: Update.
1314
1315 2011-11-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1316
1317         tests: various minor tweakings, mostly related to AM_PROG_AR
1318         * tests/alloca.test: Adjust to new portability requirements due
1319         to the new AM_PROG_AR macro.
1320         * tests/discover.test: Likewise.
1321         * tests/libobj3.test: Likewise.
1322         * tests/pluseq7.test: Likewise.  Also, make grepping of automake
1323         expected error message stricter.
1324         * tests/stdlib.test: Likewise, and extend the test a bit.
1325         * tests/parse.test (configure.in): Remove redundant call to
1326         AC_PROG_RANLIB.
1327         * tests/library2.test: Adjust to new portability requirements
1328         due to the new AM_PROG_AR macro.  Also ...
1329         (configure.in): ... add call to AC_PROG_CC, to ensure automake
1330         really fails for the expected reason.
1331
1332 2011-11-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1333
1334         Merge branch 'msvc' into master
1335
1336         * tests/instspc-tests.sh: Adjust to new portability requirements
1337         due to the new AM_PROG_AR macro.
1338         * tests/libobj-basic.test: Likewise.
1339         * tests/libobj2.test: Likewise.
1340         * tests/libobj15a.test: Likewise.
1341         * tests/libobj15b.test: Likewise.
1342         * tests/libobj15c.test: Likewise.
1343         * tests/libobj16a.test: Likewise.
1344         * tests/libobj16b.test: Likewise.
1345         * tests/libobj17.test: Likewise.
1346         * tests/libobj18.test: Likewise.
1347         * tests/libobj19.test: Likewise.
1348         * tests/libobj20a.test: Likewise.
1349         * tests/libobj20b.test: Likewise.
1350         * tests/libobj20c.test: Likewise.
1351         * tests/canon6.test: Likewise.
1352         * tests/canon6.test: Likewise.
1353         * tests/canon7.tests: Likewise.
1354         * tests/extra9.test: Likewise.
1355         * tests/extradep.test: Likewise.
1356         * tests/extradep2.test: Likewise.
1357         * tests/posixsubst-ldadd.test: Likewise.
1358         * tests/posixsubst-libraries.test: Likewise.
1359         * tests/posixsubst-ltlibraries.test: Likewise.
1360         * tests/python-virtualenv.test: Likewise.
1361         * tests/vartypos.test: Likewise.
1362         * tests/vartypo2.test: Likewise.
1363         * tests/suffix.test: Update to take into account previous
1364         master-only changes.
1365         * tests/suffix2.test: Likewise.
1366         * tests/libobj7.test: Call automake with the `--add-missing'
1367         option, instead of creating a dummy `ar-lib' file, since this
1368         test now also runs "./configure" and "make".
1369         * tests/suffix5.test: Copy the real `ar-lib' script file,
1370         instead of creating a dummy one, since this test now also
1371         runs "./configure" and "make".
1372         * tests/extra-portability2.test: Fix this test not to rely
1373         on the older, faulty semantics of "strictness specification
1374         always reset warning level", which has been fixed in commit
1375         v1.11-623-g1609491 (see also automake bug#7669 a.k.a. PR/547).
1376         Since we are at it, throw inf few other minor unrelated
1377         improvements.
1378         * tests/extra-portability.test: Explicitly pass `-Wall' to
1379         automake calls, for clarity.
1380
1381 2011-10-21  Peter Rosin  <peda@lysator.liu.se>
1382
1383         warnings: new 'extra-portability' category, for AM_PROG_AR
1384         * lib/Automake/ChannelDefs.pm: Register new extra-portability
1385         warning channel.
1386         (switch_warning): Turn off extra-portability if portability is
1387         turned off, and turn on portability if extra-portability is
1388         turned on.
1389         (set_strictness): Silence extra-portability for --gnits, --gnu
1390         and --foreign.
1391         * tests/extra-portability2.test: New test, checking that the
1392         extra-portability channel is silenced by --gnits, --gnu and
1393         --foreign.
1394         * doc/automake.texi (Invoking Automake): Document the new warning
1395         category and its interaction with the portability category.
1396         * tests/extra-portability.test: New test, checking the interaction
1397         between the portability and extra-portability warning categories.
1398         * automake.in (handle_libraries, handle_ltlibraries): Move the
1399         AM_PROG_AR warnings to the new extra-portability channel.
1400         * tests/ar2.test: Adjust to the new warning channel.
1401         * tests/pr300-lib.test: Likewise.
1402         * tests/pr300-ltlib.test: Likewise.
1403         * tests/pr307.test: Likewise.
1404         * tests/pr401.test: Likewise.
1405         * tests/pr401b.test: Likewise.
1406         * tests/pr401c.test: Likewise.
1407         * tests/pr72.test: Likewise.
1408         * NEWS: Likewise.
1409         * tests/Makefile.am (TESTS): Update.
1410
1411 2011-10-21  Peter Rosin  <peda@lysator.liu.se>
1412             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1413             Stefano Lattarini  <stefano.lattarini@gmail.com>
1414
1415         Add new 'AM_PROG_AR' macro, triggering the 'ar-lib' script.
1416         * m4/ar-lib.m4: New macro AM_PROG_AR, which locates an
1417         archiver and triggers the auxiliary 'ar-lib' script if needed.
1418         * m4/Makefile.am (dist_m4data_DATA): Update.
1419         * automake.in ($seen_ar): New variable.
1420         (scan_autoconf_traces): Set it.
1421         (handle_libraries, handle_ltlibraries): Require AM_PROG_AR for
1422         portability.
1423         * doc/automake.texi (Public Macros): Mention the new
1424         'AM_PROG_AR' macro.
1425         (Subpackages): Add AM_PROG_AR to the example.
1426         (A Library): Adjust recommendations for AR given the new
1427         AM_PROG_AR macro.
1428         * All relevant tests: Adjust to new portability requirements due
1429         to the new AM_PROG_AR macro.
1430         * tests/ar-lib2.test: New test, checking that AM_PROG_AR triggers
1431         install of ar-lib.
1432         * tests/ar-lib3.test: New test, checking that lib_LIBRARIES
1433         requires AM_PROG_AR.
1434         * tests/ar-lib4.test: New test, checking that lib_LTLIBRARIES
1435         requires AM_PROG_AR.
1436         * tests/ar-lib5a.test: New test, checking that AM_PROG_AR triggers
1437         use of ar-lib when the archiver is Microsoft lib.
1438         * tests/ar-lib5b.test: New test, checking that AM_PROG_AR triggers
1439         use of ar-lib when the archiver is a faked lib.
1440         * tests/ar-lib6a.test: New test, checking the ordering of
1441         AM_PROG_AR and LT_INIT.
1442         * tests/ar-lib6b.test: New test, checking the ordering of
1443         AM_PROG_AR and AC_PROG_LIBTOOL.
1444         * tests/ar-lib7.test: New test, checking that automake warns
1445         if ar-lib is missing.
1446         * tests/ar3.test: New test, checking that AR and ARFLAGS may
1447         be overridden by the user even if AM_PROG_AR is used.
1448         * tests/ar4.test: New test, checking that AM_PROG_AR bails out
1449         if it cannot determine the archiver interface.
1450         * tests/ar5.test: New test, checking that AM_PROG_AR runs its
1451         optional argument if it cannot determine the archiver interface.
1452         * tests/defs.in: New required entry 'lib'.
1453         * tests/Makefile.am (TESTS): Update.
1454         * NEWS: Update.
1455
1456 2011-11-03  Zack Weinberg <zackw@panix.com>  (tiny change)
1457             Stefano Lattarini  <stefano.lattarini@gmail.com>
1458
1459         maint-mode: fix botched configure messages
1460         This change fixes automake bug#9890.
1461         * m4/maintainer.m4 (AM_MAINTAINER_MODE): Fix the "checking ..."
1462         configure message related to the enabling/disabling of maintainer
1463         mode.
1464         * tests/help-maintainer.test: Renamed ...
1465         * tests/maintmode-configure-msg.test: ... to this, and extended
1466         to cover the fixed bug.  Also, since we are at it, make grepping
1467         of configure help screens stricter, and throw in some few other
1468         changes to reduce code duplication and enhance readability.
1469         * tests/Makefile.am (TESTS): Update.
1470         * THANKS: Update with Zack's new e-mail address.
1471         Report and initial patch by Zack Weinberg, test cases added by
1472         Stefano Lattarini.
1473
1474 2011-10-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1475
1476         info: allow user to inhibit creation/update of '${infodir}/dir'
1477         With this change, we allow the user to request the install-info
1478         rules not to update the `${infodir}/dir' file, by setting the
1479         environment variable `AM_UPDATE_INFO_DIR' to the value "no".
1480         This is especially useful to distro packagers, and is a definite
1481         improvement over our previous hack of looking whether the
1482         `install-info' program was the Debian or GNU version -- hack
1483         which had been silently broken with recent versions of debian
1484         install-info BTW (probably since dpkg 1.15.4, 2009-09-06).
1485         This change fixes automake bug#9773.  See also Debian Bug#543992.
1486         * lib/am/texinfos.am: Don't look anymore at the output of
1487         `install-info --version' to decide whether to use it to update
1488         the `${infodir}/dir' or not; instead, honour the environment
1489         variable `AM_UPDATE_INFO_DIR'.
1490         * tests/install-info-dir.test: New test.
1491         * tests/Makefile.am (TESTS): Add it.
1492         * tests/defs: Also unset `AM_UPDATE_INFO_DIR', to avoid unwanted
1493         interferences from the environment.
1494         * doc/automake.texi (Texinfo): Update.
1495         * NEWS: Likewise.
1496         * THANKS: Likewise.
1497         Report by Jonathan Nieder.
1498
1499 2011-10-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
1500
1501         test defs: new function 'am_keeping_testdirs', for better APIs
1502
1503         This change is meant to make it easier for TAP-based test scripts
1504         to remove files left over by completed (sub)tests, while still
1505         honoring the user-provided `$keep_testdirs' setting.
1506
1507         * tests/defs (am_keeping_testdirs): New function, telling whether
1508         we should keep the test directories around, even in case of
1509         success (by default, we don't).
1510         (exit trap): Use it.
1511         * tests/depmod.tap: Likewise.
1512         * tests/instspc.tap: Likewise.  Also, fix some pre-existing
1513         "copy & paste" bugs, and a typo in comments.
1514
1515 2011-10-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
1516
1517         tests: remove redundant `set -e', and other minor improvements
1518         * tests/dejagnu-absolute-builddir.test: Do not set the `errexit'
1519         shell flag, as it is already set by `tests/defs'.
1520         * tests/dejagnu-relative-srcdir.test: Likewise.
1521         * tests/dejagnu-siteexp-append.test: Likewise.
1522         * tests/dejagnu-siteexp-useredit.test: Likewise, and fix a typo
1523         in comments.
1524         * tests/dejagnu-siteexp-extend.test: Likewise, and prefer the
1525         use of `$distdir' over hard-coded `$me-1.0'.  Also ...
1526         (write_check_for): ... use `unindent' when writing from an
1527         here-doc, for better code indentation.
1528
1529 2011-10-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
1530
1531         deps: partially revert commit `v1.11-512-geeee551'
1532         This change partly reverts commit "Create subdirs for generated
1533         sources even when not dep tracking", of 2011-04-02.
1534         That commit had caused the bugs #8485 and #8526.  Since we are
1535         nearing the bug-fixing automake release 1.11.2, the safest policy
1536         at the moment is to just revert the problematic hunks: an older,
1537         known bug is better than a regression.
1538         * automake.in (handle_single_transform): Don't add a dirstamp
1539         dependency, even when $object is derived and lands in a subdir.
1540         * tests/Makefile.am (XFAIL_TESTS): Add lex-subobj-nodep.test,
1541         remove yacc-dist-nobuild-subdir.test.
1542
1543 2011-10-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
1544
1545         tests: few improvements to some `ar-lib' related tests
1546
1547         * tests/ar-lib5a.test (Makefile.am): Also check that the target
1548         library has truly been created.
1549         (ar-lib): Use the real `ar-lib' script (mildly patched) rather
1550         than a dummy one, to ensure better "real-life coverage".  Fix
1551         botched shebang line.
1552         * tests/ar-lib5b.test: Extend the PATH variable to make the dummy
1553         `lib' script accessible, instead of explicitly calling it by its
1554         relative/absolute path.
1555         (ar-lib): Fix botched shebang line.
1556         (bin/lib): Likewise.  Also, add explicative comments, and make
1557         slightly stricter.
1558
1559 2011-10-24  Peter Rosin  <peda@lysator.liu.se>
1560
1561         Merge branch 'maint' into msvc
1562
1563         * tests/subpkg-yacc.test: Adjust to new portability requirements due
1564         to the new AM_PROG_AR macro.
1565
1566 2011-10-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
1567
1568         dejagnu: allow the package developer to extend site.exp
1569         Fixes automake bug#7873.
1570         * lib/am/dejagnu.am (site.exp): Depend from the files listed in
1571         $(EXTRA_DEJAGNU_SITE_CONFIG), if any.  Append their contents to
1572         the generated site.exp (still preserving user edits).
1573         * doc/automake.texi (Dejagnu Tests): Update.
1574         * tests/dejagnu-siteexp-append.test: New test.
1575         * tests/dejagnu-siteexp-extend.test: Likewise.
1576         * tests/dejagnu-siteexp-useredit.test: Likewise.
1577         * tests/Makefile.am (TESTS): Update.
1578         * NEWS: Update.
1579         Suggestion by Rainer Orth.
1580
1581 2011-10-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
1582
1583         dejagnu: ensure 'srcdir' is defined as a relative directory
1584         This change fixes automake bug#7833.
1585         * lib/am/dejagnu.am (check-DEJAGNU): Prefer using plain $(srcdir)
1586         over calculating and using the absolute path of $(srcdir).
1587         * tests/dejagnu-relative-srcdir.test: New test.
1588         * tests/dejagnu-absolute-builddir.test: Likewise.
1589         * tests/Makefile.am (TESTS): Update.
1590         Report by Ian Lance Taylor.  Suggestions by Ralf Wildenhues.
1591
1592 2010-12-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1593
1594         Fix testsuite failure of check12.test without DejaGNU.
1595         * tests/check12.test: Require runtest.
1596
1597 2010-12-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
1598
1599         Extend and improve tests on DejaGnu support.
1600         * tests/dejagnu.test: Do not create useless dummy test script.
1601         Add trailing `:' command.  In heading comments, add reference
1602         to ...
1603         * tests/check12.test: ... this new "semantic" test, covering
1604         concurrent use of dejagnu tests, simple tests and `check-local'
1605         target.
1606         * tests/dejagnu2.test: Make test more reliable, by avoid weak
1607         grepping of make output.  Prefer `cat' over `echo' to append
1608         to configure.in.  Quote literal dots in grep regexps.  Prefer
1609         `grep -c ...' over `grep ... | wc -l'.  Make grepping of
1610         automake stderr slightly stricter.  Add trailing `:' command.
1611         * tests/dejagnu3.test: Prefer `cat' over `echo' to append to
1612         configure.in.  Check stderr of expected-to-fail "make" call.
1613         Remove extra blank lines from Makefile.am.
1614         * tests/dejagnu4.test: Prefer `cat' over `echo' to append to
1615         configure.in.  Prefer `mv -f' over plain `mv' when the target
1616         file already exists.  Avoid extra mkdir calls by creating more
1617         directories at once.  Better use of blank lines.  Check that
1618         the `*.log' and `*.sum' files are created by runtest also when
1619         "make check" fails.
1620         * tests/dejagnu7.test: Prefer `cat' over `echo' to append to
1621         configure.in.  Better use of blank lines.  Add a trailing `:'
1622         command.
1623         * tests/dejagnu6.test: Likewise, and give the dejagnu test a
1624         more descriptive name.
1625         * tests/dejagnu5.test: Likewise.  Also, simply define package
1626         name to `$me' rather than using a non-obvious sed script to
1627         extract it from `AC_INIT', and write the Makefile.am with only
1628         one command.
1629         * tests/Makefile.am (TESTS): Updated.
1630
1631 2011-10-21  Peter Rosin  <peda@lysator.liu.se>
1632
1633         * THANKS: Fix whitespace issue.
1634
1635 2011-10-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
1636
1637         tests: fix spurious failures due to missing 'yywrap()' function
1638
1639         The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
1640         the "lex library" expected to provide a `yywrap' function (function
1641         which is required to link most lex-generated programs).  On the
1642         contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
1643         fail, configure declares that no lex library is needed, and simply
1644         proceeds with the configuration process -- only for the build to
1645         possibly fail later, at make time.
1646
1647         This behaviour is intended; the Autoconf manual reads:
1648          ``You are encouraged to use Flex in your sources, since it is
1649            both more pleasant to use than plain Lex and the C source it
1650            produces is portable.  In order to ensure portability, however,
1651            you must either provide a function `yywrap' or, if you don't use
1652            it (e.g., your scanner has no `#include'-like feature), simply
1653            include a `%noyywrap' statement in the scanner's source.''
1654
1655         This AC_PROG_LEX behaviour is causing some spurious failures of
1656         the Automake testsuite in environments which lack a proper library
1657         providing `yywrap' (this happens for example on Fedora-based
1658         systems).   The proper workaround is to simply provide a fall-back
1659         implementation of `yywrap' in our lexers.
1660
1661         See also partially-overlapping commit `v1.11-871-geb147a1' (from
1662         the 'testsuite-work' branch), which was motivated by similar
1663         spurious failures experienced when cross-compiling.
1664
1665         Reported by Jim Meyering:
1666         <http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html>
1667
1668         * tests/cond35.test: Provide a dummy `yywrap' function.
1669         * tests/lex3.test: Likewise.
1670         * tests/lexvpath.test: Likewise.
1671         * tests/silent-lex-generic.test: Likewise.
1672         * tests/silent-lex-gcc.test: Likewise.
1673
1674 2011-10-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
1675
1676         tests: more faithful 'installcheck' support in few tests
1677         * tests/test-driver-acsubst.test: Use the `$am_scriptdir'
1678         variable instead of `$testsrcdir/../lib', to test more
1679         faithfully under "make installcheck".
1680         * tests/test-driver-cond.test: Likewise.
1681         * tests/dist-auxfile.test: Likewise, and add one more use
1682         of `fatal_' to report hard errors.
1683         * tests/tests/dist-auxdir-many-subdirs.test: Likewise.
1684
1685 2011-10-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
1686
1687         tests: remove redundant settings of `errexit' shell flag
1688         * tests/aclocal-path-install-serial.test: Do not set the
1689         `errexit' shell flag, as it is already set by `tests/defs'.
1690         * tests/aclocal-path-install.test: Likewise.
1691         * tests/aclocal-path-nonexistent.test: Likewise.
1692         * tests/aclocal-path-precedence.test: Likewise.
1693         * tests/aclocal-path.test: Likewise.
1694         * tests/dist-auxfile-2.test: Likewise.
1695         * tests/dist-auxfile.test: Likewise.
1696         * tests/distcheck-pr9579.test: Likewise.
1697         * tests/javadir-undefined.test: Likewise.
1698         * tests/subpkg-yacc.test: Likewise.
1699         * tests/test-extensions-cond.test: Likewise.
1700         * tests/test-extensions.test: Likewise.
1701         * tests/uninstall-fail.test: Likewise.
1702         * tests/uninstall-pr9578.test: Likewise.
1703         * tests/distcheck-override-infodir.test: Likewise.  Also,
1704         fix typo in heading comments since we are at it.
1705
1706 2011-10-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
1707
1708         fixup: add forgotten test scripts to $(TESTS)
1709         * tests/list-of-tests.mk: Add various test scripts that are in
1710         the git repository but weren't correctly listed in $(TESTS).
1711         The inconsistency had been caused by botched/incomplete merges,
1712         and revealed by the "maintainer-check-list-of-tests" target.
1713
1714 2011-10-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
1715
1716         tests: fix spurious failure with FreeBSD make and Yacc in VPATH
1717         * tests/subpkg.test: Some cosmetic adjustments.  Move the tests
1718         checking that $(YLWRAP) is defined and installed properly when
1719         ylwrap is in a default auxdir found in a parent package ...
1720         * tests/subpkg-yacc.test: ... into this new test, which carefully
1721         avoids to trigger the known bug#7884 (combo FreeBSD make plus Yacc
1722         plus VPATH build).
1723         * tests/Makefile.am (TESTS): Update.
1724
1725 2011-10-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
1726
1727         tests: avoid spurious failure in 'parallel-tests3.test'
1728         This fixes automake bug#8788.
1729         * tests/parallel-tests3.test: To ensure that the serial run of
1730         the dummy testsuite is still ongoing when the parallel run has
1731         terminated, use `kill -0', not a bare `kill'.  This will prevent
1732         a testsuite crash on NetBSD 5.1, and a testsuite hang on FreeBSD
1733         8.2.  Also, since we are at it, try harder to avoid possible
1734         hangs of the script in other unusual situations.
1735
1736 2011-10-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
1737
1738         tests: fix spurious failures with "chatty" make implementations
1739         * tests/distcheck-missing-m4.test: On failure, some make
1740         implementations (such as Solaris make) print the whole failed
1741         recipe on standard output.  This was causing a spurious failure
1742         in the checks grepping the output from make.  Work around this.
1743         * tests/distcheck-outdated-m4.test: Likewise.
1744
1745 2011-10-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
1746
1747         tests: fix spurious failure on fast machines
1748         * tests/aclocal-path-precedence.test: Also remove the `configure'
1749         script between different test runs, to ensure it is always remade
1750         by autoconf.  Add proper explicative comments.
1751
1752 2011-10-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
1753
1754         tests: avoid spurious failure of 'uninstall-fail.test' on Solaris
1755         * tests/uninstall-fail.test: All the Solaris 10 shells (/bin/sh,
1756         /bin/ksh, and /usr/xpg4/bin/sh), upon failing to chdir to a
1757         directory with the `cd' builtin, print a message like:
1758           "sh: /root: permission denied"
1759         which doesn't report the `cd' builtin anywhere.  Relax the grepping
1760         of the error message accordingly.
1761
1762 2011-10-20  Jim Meyering  <meyering@redhat.com>
1763
1764         tests: fix aclocal-print-acdir.test
1765         * tests/aclocal-print-acdir.test: Adjust to pass.
1766
1767 2011-10-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
1768
1769         tests: avoid spurious failure of 'uninstall-fail.test' on Cygwin
1770         * tests/uninstall-fail.test: Be sure to really skip this test
1771         on systems that allows files to be removed from unwritable
1772         directories.  Motivated by a spurious failure on Cygwin 1.5.
1773
1774 2011-10-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1775
1776         tests: fix spurious failure with autoconf 2.62
1777         * tests/aclocal-path-precedence.test: Rewrite configure.in,
1778         rather than appending to it, to avoid spurious failures (at
1779         least with autoconf 2.62) due to repeated calls to AC_INIT.
1780         Also, add package name and version arguments to AC_INIT, to
1781         avoid spurious errors from automake.
1782
1783 2011-10-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
1784
1785         docs: avoid using colon character inside arguments of @pxref
1786         Fixes automake bug#9753
1787         * doc/automake.texi (VPATH Builds): Avoid using colon character
1788         `:' inside arguments of @pxref, as this can cause problems in
1789         the generated `.info' files, and such an usage will be explicitly
1790         forbidden by future texinfo documentation.
1791         * THANKS: Update.
1792         Reported by Дилян Палаузов.
1793
1794 2011-10-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1795
1796         refactor: improve signature of 'check_directory' sub in automake
1797         * automake.in (check_directory): Take the relative directory
1798         the directory to be checked is expected to be found into as
1799         an optional parameter, rather than reading it from the global
1800         variable `$relative_dir'.
1801         (scan_autoconf_traces, check_directories_in_var): Adjust.
1802
1803 2011-10-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1804
1805         cosmetics: remove obsolete comment
1806         * automake.in (push_required_file): Remove "FIXME" comment stating
1807         that the special handling of `$config_aux_dir' breaks threaded
1808         automake: this is not true anymore after the recent commits (see
1809         in particular commit `v1.11-1225-gf672944').
1810
1811 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1812
1813         tests: fix spurious failure with Solaris /bin/sh
1814         * tests/dist-auxfile.test: Don't use redirected `:' in a loop,
1815         it hits a bug in Solaris 10 /bin/sh.
1816
1817 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1818
1819         threaded-am: better serialization for required config files
1820         With this change, we make serialization/de-serialization of
1821         required config files installs more granular, and in the process
1822         fix the bug introduced by commit `v1.11-1219-g326ecba'.
1823         * automake.in ($required_conf_file_queue): Move its declaration
1824         earlier.
1825         (require_file_internal): Add a new argument telling whether the
1826         function should act immediately or queue its action for the master
1827         thread to handle.
1828         (queue_required_conf_file): Renamed ...
1829         (queue_required_file_check_or_copy): ... to this.
1830         (require_queued_conf_file): Renamed ...
1831         (require_queued_file_check_or_copy): ... to this, and make it call
1832         `required_file_check_or_copy' instead of `require_file_internal'.
1833         (require_conf_file, handle_makefiles_threaded): Adjust and simplify
1834         accordingly.
1835         * tests/Makefile.am (XFAIL_TESTS): Remove `parallel-am.test'.
1836
1837 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1838
1839         automake: refactor, break up 'require_file_internal'
1840         This refactoring is only required in view of future changes.
1841         * automake.in (require_file_internal): Move the guts of this
1842         function ...
1843         (required_file_check_or_copy): ... into this new function.  This
1844         ensures that calls to `push_required_file' and code that copies
1845         required files are placed in separate functions; this will be
1846         very useful for reorganizing de-serialization of file installs
1847         in future changes.
1848
1849 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1850
1851         dist: separate auxiliary file instantiation from DIST_COMMON update
1852         This change simplifies the automake internals dealing with the
1853         checking, copying and distributing of required auxiliary files.
1854         With this change, a required auxiliary file is *unconditionally*
1855         added to the contents of the DIST_COMMON variable in the generated
1856         Makefile.in, before checking whether it exists, or trying to copy
1857         it (if `--add-missing' is in use).  This shouldn't be a problem,
1858         since if the checking or copying of the file fails, automake will
1859         bail out, the Makefile.in won't be created, and thus its content
1860         will not matter.  OK, this is not completely true when threaded
1861         automake is in use, but then, such a situation was also possible
1862         before this patch, so no regression here, which is enough for us.
1863         This change is the first of a series of steps aimed at fixing
1864         the regression introduced in threaded automake usage by commit
1865         `v1.11-1219-g326ecba'.
1866         * automake.in (require_file_internal): Add the required file to
1867         DIST_COMMON unconditionally.
1868         * tests/missing-auxfile-stops-makefiles-creation.test: New test.
1869         * tests/Makefile.am (TESTS): Add it.
1870
1871 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1872
1873         refactor: rename a subroutine to a more proper name
1874         * automake.in (maybe_push_require_file): Renamed ...
1875         (push_required_file): ... to this.
1876         All callers adjusted.
1877
1878 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1879
1880         dist: truly always distribute files in AC_REQUIRE_AUX_FILE
1881         This change fixes automake bug#9651.
1882         * automake.in (handle_dist): Files whose distribution is required
1883         by configure.ac are now correctly distributed even if the build-aux
1884         directory coincides with the top-level directory.
1885         * tests/Makefile.am (XFAIL_TESTS): Remove `dist-auxfile.test'.
1886         * NEWS: Update.
1887
1888 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1889
1890         dist: simplify automake code accordingly to the previous changes
1891         After the previous change `v1.11-1219-g326ecba', every Makefile.am
1892         requiring a file in the "config auxdir" will cause it to be listed
1893         in the DIST_COMMON variable of the corresponding generated
1894         Makefile.in, not only of the top-level Makefile.in.  Thus we don't
1895         need to worry anymore about trying to distribute files in the
1896         config auxdir from the top-level Makefile or the Makefile in
1897         config auxdir (if any).  This allows us to carry out some useful
1898         simplifications in the automake script.
1899         This will however cause some changes in the generated Makefile;
1900         for example, if the `PROGRAMS' primary is used only in a subdir
1901         Makefile.am, the `depcomp' script will be distributed only by
1902         `subdir/Makefile', not by the top-level Makefile.  This change
1903         can be seen as an internal detail though, and definitely warranted
1904         by the nice simplifications the current commit provides.
1905         * automake.in ($automake_will_process_aux_dir): Variable removed.
1906         (scan_autoconf_files): Adjust and simplify.
1907         (handle_makefiles_threaded): Likewise.
1908         (get_number_of_threads): Likewise.
1909         (require_file_internal): Likewise.
1910         (maybe_push_required_file): Its return value is not used anymore,
1911         so return nothing.  Add special handling for distributed files from
1912         `$config_libobj_dir'.  Also, catch "this can't happen" situations,
1913         and abort accordingly.  Fix function description to better fit its
1914         new role.
1915         * tests/libobj19.test: Extend to also check situations where the
1916         Makefile.am using $(LIBOBJS) is not the top-level one.
1917         * tests/distcom6.test: Delete, merged into ...
1918         * tests/distcom2.test: ... this test, which has been update to
1919         account for the changed automake semantics.
1920         * tests/Makefile.am (TESTS): Update.
1921         * NEWS: Update.
1922
1923 2011-10-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1924
1925         dist: auxiliary files can be distributed from subdir Makefiles
1926         With this change, we make it possible for a subdir Makefile.am
1927         to distribute files in the config auxdir; while this means that
1928         some files might be copied multiple times, it simplify some logic
1929         in the automake script, and fix at least one important bug.  In
1930         fact, before this change, the auxiliary script `test-driver' was
1931         not being distributed as expected when TESTS was defined only in
1932         a subdir Makefile (which is a pretty common setup indeed).  Now
1933         this does not happen anymore: so the present change fixes automake
1934         bug#9546.
1935         Another welcome collateral effect is that `dist-auxfile-2.test'
1936         now passes.
1937         OTOH, the present changes *breaks threaded automake*.  The reason
1938         is that automake needs to serialize file installations spawned
1939         by `--add-missing' (this isn't for cosmetic reasons, but is
1940         really needed to avoid possible race conditions and botched output
1941         files).  Currently the code that installs required files is
1942         intertwined with the code that declares the DIST_COMMON variables;
1943         so, upon de-serialization, the definition of DIST_COMMON might get
1944         emitted in the wrong Makefile.in.
1945         Some follow-up refactoring in automake will soon take care of
1946         remedying this situation.  For the moment, we just declare some
1947         "parallel-am" tests as xfailing.
1948         * automake.in (maybe_push_required_file): Add ad-hoc handling for
1949         the case where the directory part of the required file is different
1950         from the subdir where the current Makefile.am resides, but is equal
1951         to the "config-aux directory" ($config_auxdir).  This is needed to
1952         allow a construct in a non-top-level Makefile.am to require a file
1953         in the config-aux directory.
1954         * tests/test-driver-is-distributed.test: Extend and adjust.  This
1955         test now passes.
1956         * tests/java-compile-run-nested.test: Call automake with the `-a'
1957         option to ensure that the `test-driver' auxiliary script gets
1958         correctly installed.  This test now passes.
1959         * tests/distcom-subdir.test: New test.
1960         * tests/dist-readonly.test: Likewise.
1961         * tests/dist-repeated.test: Likewise.
1962         * tests/dist-auxdir-many-subdirs.test: Likewise.
1963         * tests/distcom7.test: Removed, it's obsolete now.
1964         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
1965
1966 2011-10-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
1967
1968         coverage: conditional contents in LOG_DRIVER variables
1969         * tests/test-driver-cond.test: New test.
1970         * tests/Makefile.am (TESTS): Add it.
1971
1972 2011-10-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
1973
1974         coverage: LOG_DRIVER variables can be defined through AC_SUBST
1975         * tests/test-driver-acsubst.test: New test.
1976         * tests/Makefile.am (TESTS): Add it.
1977
1978 2011-10-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1979
1980         parallel-tests: warn on conditional TEST_EXTENSIONS definition
1981         Before this change, automake would have still bailed out, but
1982         with a confusing error message (about an invalid redefinition
1983         of TEST_EXTENSIONS).
1984         * automake.in (handle_tests): Warn explicitly if TEST_EXTENSIONS
1985         has conditional contents.
1986         * tests/test-extensions-con.test: New test.
1987         * tests/Makefile.am (TESTS): Add it.
1988         * NEWS: Update.
1989
1990 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1991
1992         parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS
1993         Even after the last commit `v1.11-476-g90bea64', the checks
1994         performed by automake on entries in $(TEST_EXTENSIONS) tried to
1995         allow for @substitited@ stuff.  This however ends up allowing
1996         quite brittle setups, which, most importantly, are of no real
1997         practical usefulness anyway.  So it's better to just disallow
1998         @substitutions@ in TEST_EXTENSIONS altogether, offering a clear
1999         error message, instead of risking weird bugs and unexpected
2000         behaviors in the generated Makefile.in.
2001         * automake.in ($TEST_EXTENSION_PATTERN): Turned from a regular
2002         expression ...
2003         (is_valid_test_extension): ... into this subroutine.  Don't allow
2004         generic @substitutions@ anymore (possibly making an exception for
2005         `@EXEEXT@' under the proper circumstances).
2006         * tests/test-extensions.test: Adjust and extend.  This test does
2007         not cause any internal error in automake anymore now.
2008
2009 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2010
2011         tests: fix spurious failure in 'insthook.test'
2012         * tests/insthook.test (Makefile.am): Add a proper `uninstall-hook'
2013         target to remove the symlink created by the `install-exec-hook'
2014         target; this prevents "make distcheck" from failing spuriously.
2015         Since we are at it, delete an extra blank line, and add a trailing
2016         `:' command.
2017
2018 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2019
2020         maintcheck: fix spurious failure
2021         * lib/am/distdir.am: Use `$(infodir)', not `${infodir}', to avoid
2022         complaints from the `sc_no_brace_variable_expansions' maintainer
2023         check.
2024
2025 2011-10-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2026
2027         * tests/yacc-dist-nobuild.test: Add reference to relevant bug#7884.
2028
2029 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2030
2031         tests: fix spurious error in 'test-extensions.test'
2032         * tests/test-extensions.test: Call automake with the option
2033         `--add-missing', to ensure the required script `test-driver'
2034         gets installed.  Note that the test still fails due to an
2035         internal error in automake, though.
2036
2037 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2038
2039         tests: avoid few useless uses of the `-e' make option
2040         * tests/python12.test: Using `make -e' is not required to override
2041         the DESTDIR variable, since this variable shouldn't be defined in
2042         any automake-generated Makefile.in file.
2043         * tests/man2.test: Likewise.
2044         * tests/man5.test: Likewise.
2045
2046 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2047
2048         fix: make a test script executable
2049         * tests/nobase-nodist.test: Make executable.
2050
2051 2011-10-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2052
2053         coverage: expose automake bug#9651
2054         * tests/dist-auxfile.test: New test, xfailing.
2055         * tests/dist-auxfile-2.test: Likewise.
2056         * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
2057
2058 2011-10-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
2059
2060         parallel-tests: automake error our on invalid TEST_EXTENSIONS
2061         This change fixes automake bug#9400.
2062         * automake.in (handle_tests): Bail out if a suffix specified in
2063         TEST_EXTENSIONS would produce an invalid `xxx_LOG_COMPILER'
2064         variable or an invalid suffix rule.  Before this change, automake
2065         would have issued a confusing error messages (about invalid or
2066         non-POSIX variables being defined), and in some situations would
2067         have even produced a broken `Makefile.in' file.
2068         ($TEST_EXTENSION_PATTERN): New helper variable.
2069         * doc/automake.texi (Simple Tests using parallel-tests): Document
2070         the limitations on TEST_EXTENSIONS explicitly.
2071         * NEWS: Update.
2072         * tests/test-extensions.test: New test.
2073         * tests/Makefile.am (TESTS): Update.
2074
2075 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2076
2077         docs: don't suggest installing `.m4' files in hard-coded location
2078         This change fixes automake bug#7988.
2079         * doc/automake.texi (aclocal Options): State that the use of
2080         the `--print-ac-dir' option to determine the directory where
2081         third-party packages can install their `.m4' files is discouraged
2082         now.
2083         (Extending aclocal): Suggest telling the user about ACLOCAL_PATH.
2084         * THANKS: Update.
2085         Report by Peter Johansson.
2086
2087 2011-09-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
2088
2089         distuninstallcheck: fail also when only one file is left installed
2090         This change fixes automake bug#9579.
2091         * lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring
2092         a potential `dir' file created by install-info and left installed.
2093         Also, be more careful about "this can't happen" kind of errors.
2094         (am__distuninstallcheck_listfiles): New internal helper macro.
2095         * tests/distcheck-pr9579.test: New test.
2096         * tests/distcheck-override-infodir.test: Likewise.
2097         * tests/Makefile.am (TESTS): Add them.
2098         * NEWS, THANKS: Update.
2099         Report by Nick Bowler.
2100
2101 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2102
2103         tap/awk: improve comments about Korn shell signal handling issues
2104         * lib/tap-driver.sh: Link an Austin Group discussion about how
2105         shells are allowed, and even encouraged, to set the special
2106         variable `$?' to values greater than 256 to report termination
2107         of a child by a signal.  Improve and extend comments about our
2108         workarounds for unusual korn shell signals' propagation.
2109         Thanks to Eric Blake for the pointers.
2110
2111 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2112
2113         maintcheck: fix usage of `cd' instead of `$(am__cd)'
2114         * lib/am/inst-vars.am (am__uninstall_files_from_dir): Use
2115         `$(am__cd)', not plain `cd'.
2116
2117 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2118
2119         tap/awk: account for unusual korn shell signal handling behaviour
2120         This change has been motivated by a testsuite failure on Debian
2121         with the AT&T Korn Shell version 93u-1.
2122         * lib/tap-driver.sh: Temporarily ignore some common signals when
2123         waiting for the test command to complete, to avoid premature exit
2124         in Korn shells that propagate to themselves signals that have
2125         killed a child process.
2126         See also related commit `v1.11-1342-g6321ad3'.
2127
2128 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2129
2130         tap/awk: handle exit statuses > 256 (seen on few korn shells)
2131         Some Korn shells, when a child process die due to signal number
2132         n, can leave in $? an exit status of 256+n instead of the more
2133         standard 128+n.  Apparently, both behaviours are allowed by
2134         POSIX, so be prepared to handle them both.
2135         This change has been motivated by a testsuite failure on Debian
2136         with the AT&T Korn Shell version 93u-1.
2137         * lib/tap-driver.sh (get_test_exit_message): Handle the described
2138         Korn Shell behaviour too.
2139         ($scriptversion): Update.
2140
2141 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2142
2143         tests: remove redundant workaround for Solaris /bin/sh
2144         After previous commit `v1.11-1424-g27a399a', some workarounds for
2145         Solaris 10 /bin/sh are no more required, and in fact they have
2146         started causing XPASS results on Solaris.
2147         * tests/tap-signal.tap: Remove unneeded workarounds for Solaris 10
2148         /bin/sh.  Some related minor code reorganizations.
2149
2150 2011-09-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
2151
2152         uninstall: "make uninstall" before "make install" works
2153         This change fixes automake bug#9578.
2154         * lib/am/inst-vars.am (am__uninstall_files_from_dir): New internal
2155         macro, that defines a shell code fragment to uninstall files from
2156         a given directory.
2157         * lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use it, to reduce code
2158         duplication and improve consistency and correctness.
2159         * lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise.
2160         * lib/am/lisp.am (uninstall-%DIR%LISP): Likewise.
2161         * lib/am/mans.am (uninstall-man%SECTION%): Likewise.
2162         * lib/am/python.am (uninstall-%DIR%LIBRARIES): Likewise.
2163         * lib/am/scripts.am (uninstall-%DIR%SCRIPTS): Likewise.
2164         * tests/uninstall-pr9578.test: New test.
2165         * tests/uninstall-fail.test: New test.
2166         * tests/Makefile.am (TESTS): Add them.
2167         * NEWS, THANKS: Update.
2168         Report by Nick Bowler.
2169
2170 2011-09-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
2171
2172         tests: fix tests on aclocal search path precedences
2173         * tests/aclocal-path-precedence.test: Call `$ACLOCAL' with the
2174         proper overridden system acdir.
2175
2176 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2177
2178         tests: fix spurious failures in tests on TAP + signals
2179         * tests/tap-signal.tap: Write the dummy test scripts as perl
2180         scripts, not as shell scripts, to work around unportabilities
2181         in the handling of signals.  In fact, even with bash, the older
2182         script were unable to properly deliver a SIGQUIT to themselves
2183         consistently.
2184
2185 2011-09-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
2186
2187         tests: fix spurious failure in test on ACLOCAL_PATH precedences
2188         * tests/aclocal-path-precedence.test: Do not merely append to
2189         `configure.in', it should be created from scratch.  Pass package
2190         name and version to AC_INIT as arguments, otherwise autoconf will
2191         complain.
2192
2193 2011-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
2194
2195         docs: remove mention of deprecated option `--acdir'
2196         * doc/automake.texi (aclocal Options): Remove mention of
2197         deprecated `--acdir' option.
2198
2199 2011-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
2200
2201         * NEWS: Cleanup after botched merges.
2202
2203 2011-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
2204
2205         * NEWS: Fix typo.
2206
2207 2011-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
2208
2209         docs: document planned precedence changes in aclocal search path
2210         * doc/automake.texi (Macro Search Path): Explicitly state that the
2211         lookup order for extra directories of `.m4' files will be changed
2212         in the next major release.
2213         * NEWS: Likewise.
2214
2215 2011-09-19  Paolo Bonzini  <bonzini@gnu.org>
2216             Stefano Lattarini  <stefano.lattarini@gmail.com>
2217
2218         aclocal: handle ACLOCAL_PATH environment variable
2219         * aclocal.in (parse_ACLOCAL_PATH): New function, parse ACLOCAL_PATH
2220         as a colon-separated list of directories to be included in the
2221         search path.
2222         * doc/automake.texi (Macro Search Path): Document new behavior and
2223         the precedence rules for various elements of the search path.
2224         * tests/aclocal-path.test: New test.
2225         * tests/aclocal-path-install.test: Likewise.
2226         * tests/aclocal-path-install-serial.test: Likewise.
2227         * tests/aclocal-path-precedence.test: Likewise.
2228         * tests/aclocal-path-nonexistent.test: Likewise.
2229         * tests/Makefile.am (TESTS): Add them.
2230         * NEWS: Update.
2231         * tests/distcheck-missing-m4.test: Extend by also checking
2232         interactions with ACLOCAL_PATH.
2233         * tests/distcheck-outdated-m4.test: Likewise, and fix a couple
2234         of botched comments since we are at it.
2235
2236 2011-09-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
2237
2238         tests: fix spurious failure in 'primary-prefix-valid-couples.test'
2239         * tests/primary-prefix-valid-couples.test: After commit
2240         v1.11-464-gc9dfc36, `java_JAVA' is not a valid prefix/primary
2241         combination by default anymore: one has to explicitly define
2242         $(javadir) to make it so.  So just drop `java_JAVA' from our
2243         Makefile.am  Also, since we are at it, ...
2244         (configure.in): ... remove AM_PROG_GCJ from here, as it's not
2245         really required.
2246
2247 2011-09-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
2248
2249         docs: deprecate JAVA primary
2250         * doc/automake.texi (Java): Deprecate the JAVA primary, stating
2251         that it will become obsolete in automake 1.12 and probably removed
2252         altogether in automake 1.13.  Reflect this in the section title,
2253         by appending the string "(deprecated feature)".
2254         (@menu, @detailmenu): Update.
2255         (Java Support with gcj): The cross-referenced support for bytecode
2256         compilation with the JAVA primary is rudimentary and deprecated.
2257         State that explicitly.
2258
2259 2011-09-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
2260
2261         docs: clearer distinction between `.java' with javac and with gcj
2262         * doc/automake.texi (Java support): Rename this node ...
2263         (Java support with gcj): ... to this, and change its title from
2264         "Compiling Java sources" to "Compiling Java sources using gcj".
2265         (@detailmenu, @menu, @cindex): Update and make more precise.
2266         (Java): Change the title of this node from simply "Java" to
2267         "Java bytecode compilation".
2268         (@detailmenu, @menu, @cindex): Update and make more precise.
2269
2270 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2271
2272         java: complain if java_JAVA is used but $(javadir) is undefined
2273         Fixes automake bug#8461.
2274         * automake.in (handle_java): Remove inappropriate "java" argument
2275         from the calls to `&am_install_var' and `&am_primary_prefixes'.
2276         * tests/instdir-java.test (Makefile.am): Define `$(javadir)'.
2277         * tests/javadir-undefined.test: New test.
2278         * tests/Makefile.am (TESTS): Add it.
2279         * NEWS: Update.
2280
2281 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2282
2283         parallel-tests: expose automake bug#9546
2284         * tests/test-driver-is-distributed.test: New test.
2285         * tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
2286
2287 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2288
2289         py-compile tests: more faithful 'installcheck' support
2290         * tests/py-compile-basedir.test: Use the `$am_scriptsdir' variable
2291         instead of `$testsrcdir/../lib', to test more faithfully under
2292         "make installcheck".  More uses of the `fatal_' subroutine to
2293         diagnose hard errors.
2294         * tests/py-compile-basic.test: Likewise.
2295         * tests/py-compile-basic2.test: Likewise.
2296         * tests/py-compile-destdir.test: Likewise.
2297         * tests/py-compile-env.test: Likewise.
2298         * tests/py-compile-option-terminate.test: Likewise.
2299         * tests/py-compile-usage.test: Likewise.
2300
2301 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2302
2303         tests: remove redundant settings of `errexit' shell flag
2304         * tests/aclocal-acdir.test: Do not set the `errexit' shell
2305         flag, as it is already set by `tests/defs'.
2306         * tests/aclocal-print-acdir.test: Likewise.
2307         * tests/distcheck-missing-m4.test: Likewise.
2308         * tests/distcheck-outdated-m4.test: Likewise.
2309         * tests/java-clean.test: Likewise.
2310         * tests/java-compile-install.test: Likewise.
2311         * tests/java-compile-run-flat.test: Likewise.
2312         * tests/java-compile-run-nested.test: Likewise.
2313         * tests/java-mix.test: Likewise.
2314         * tests/java-no-duplicate.test: Likewise.
2315         * tests/java-nobase.test: Likewise.
2316         * tests/java-rebuild.test: Likewise.
2317         * tests/java-sources.test: Likewise.
2318         * tests/java-uninstall.test: Likewise.
2319         * tests/javaflags.test: Likewise.
2320         * tests/nobase-nodist.test: Likewise.
2321         * tests/py-compile-basedir.test: Likewise.
2322         * tests/py-compile-basic.test: Likewise.
2323         * tests/py-compile-basic2.test: Likewise.
2324         * tests/py-compile-destdir.test: Likewise.
2325         * tests/py-compile-env.test: Likewise.
2326         * tests/py-compile-option-terminate.test: Likewise.
2327         * tests/py-compile-usage.test: Likewise.  Since we are at it,
2328         add an extra blank line, for clarity.
2329
2330 2011-09-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
2331
2332         automake: remove special handling of `ANSI2KNR' make variable
2333         * automake.in (define_configure_variable): Remove special-cased
2334         handling of `ANSI2KNR' variable.  Related minor simplifications.
2335
2336 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2337
2338         coverage: test interactions of `nobase_' and `nodist_'
2339         * tests/nobase-nodist.test: New test.
2340         * tests/Makefile.am (TESTS): Add it.
2341
2342 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2343
2344         java: fix various blunders in test 'java-mix.test'
2345         * tests/java-mix.test: Add missing call to `set -e'.  Fix inverted
2346         semantics (`.java' files are expected *not* to be distributed by
2347         default, not the other way round).  Fix various typos in the name
2348         of the `.java' files.  Correct other minor blunders.  Improve some
2349         comments.
2350
2351 2011-09-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
2352
2353         automake: remove code duplication in 'handle_tests'
2354         * automake.in (handle_tests): Factor out some code dealing with
2355         test extensions and rules for generation of `.log' files into ...
2356         (handle_per_suffix_test): ... this new subroutine.
2357         * tests/parallel-tests-exeext.test: New test.
2358         * tests/Makefile.am (TESTS): Update.
2359
2360 2011-09-13  Peter Rosin  <peda@lysator.liu.se>
2361
2362         * tests/defs [$sh_errexit_works = yes]: Output 'SIGINT' for signal 2.
2363
2364 2011-09-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2365
2366         self tests: work around 'unset' spurious non-zero return value
2367         * tests/self-check-exit.tap ($init): Unset the possibly already
2368         unset variable `am_explicit_skips' when the `errexit' shell flag
2369         is not yet active, for the benefit of shell that return a non-zero
2370         status when unsetting an already-unset variable.
2371
2372 2011-09-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2373
2374         tests: an explicative comment on signal-related woes
2375         * tests/self-check-exit.tap: Add pointer to a bug-autoconf
2376         discussion explaining why this test needs to temporarily block
2377         SIGINT.
2378
2379 2011-09-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2380
2381         tests: also trap SIGQUIT; other fixes
2382         Some shells seems to just ignore SIGQUIT under some circumstances,
2383         even when it is not blocked; however, if the signal it trapped,
2384         the trap gets correctly executed.
2385         * tests/defs [$sh_errexit_works = yes]: Also trap SIGQUIT. Add
2386         extensive explanation of why we do so.
2387         * tests/self-check-cleanup.tap: Improve and fix to ensure that an
2388         earlier failure does not prevent the rest of the test to execute.
2389         Problem revealed by a failure in `self-check-cleanup.tap'.
2390
2391 2011-09-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2392
2393         test defs: work around weird ksh behaviour w.r.t. signal handling
2394         * tests/defs (is_blocked_signal): Use perl to determine whether a
2395         signal is trapped, since trying to do it portably within the shell
2396         means opening a nasty can of worms.
2397         For more information and background, see:
2398          <http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html>
2399          <http://mail.opensolaris.org/pipermail/ksh93-integration-discuss/2009-February/004121.html>
2400          <http://www.cons.org/cracauer/sigint.html>
2401
2402 2011-09-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
2403
2404         cosmetics: fix various typos and grammaros
2405         * NEWS: Fix typos.
2406         * tests/py-compile-basic.test: Likewise.
2407         * tests/py-compile-basedir.test: Fix botched wording in comments.
2408         * tests/py-compile-option-terminate.test: Fix typo and incomplete
2409         comment.
2410         Suggestions by Peter Rosin.
2411
2412 2011-09-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
2413
2414         tests: remove redundant line from a test script
2415         * tests/test-log.test (fail.test): Remove extra `echo' command,
2416         probably due to a past copy&paste blunder.
2417
2418 2011-09-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
2419
2420         tests: convert another test to TAP
2421         * tests/primary-prefix-invalid-couples.test: Renamed ...
2422         * tests/primary-prefix-invalid-couples.tap: ... to this, and
2423         converted to the use of the TAP protocols (this requires only
2424         very minimal changes this time).
2425         * tests/list-of-tests.mk: Update.
2426
2427 2011-09-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
2428
2429         tests: fix spurious failure on fast machines
2430         * tests/aclocal-acdir.test: Avoid spurious failures due to caching
2431         issues, by cleaning the autom4te cache between all the aclocal
2432         invocations, and by always calling autoconf with the `--force'
2433         flag.
2434
2435 2011-09-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
2436
2437         tests: minor optimizations/simplifications in some aclocal tests
2438         * acloca11.test: Instead of running ./configure and then grepping
2439         the file it has produced, directly grep configure.  Add trailing
2440         `:' command.
2441         * acloca12.test: Likewise.
2442         * acloca10.test: Likewise.  Also, remove the autom4te caches
2443         by hand, instead of sleeping to ensure they get outdated and
2444         ignored.
2445         * aclocal9.test: Likewise.
2446         * acloca18.test: Likewise.  Also, do not remove file `foo',
2447         which is not being created anymore.
2448         * acloca20.test: The test makes sense only if the system support
2449         real symlinks, so skip it if this is not the case.  This allows
2450         for various simplifications.
2451
2452 2011-09-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
2453
2454         prove: avoid weird signal-related bug
2455         * tests/defs (trap): In the trap code dealing with SIGPIPE
2456         signal, ignore further signals of the same kind.
2457         See also Test::Harness issue [rt.cpan.org #70855], archived at
2458         <https://rt.cpan.org/Ticket/Display.html?id=70855>
2459
2460 2011-09-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
2461
2462         tests: allow use of `prove' to run automake testsuite
2463         * tests/prove-runner: New helper script; mostly it wraps
2464         our `*.test' test scripts to make them runnable by the
2465         `prove' utility.
2466         * tests/Makefile.am (EXTRA_DIST): Distribute it.
2467         (PROVE, AM_PROVEFLAGS, AM_PROVECMD): New variables.
2468         (prove, installprove): New targets, used run the automake
2469         testsuite through the `prove' utility.
2470         * tests/gen-testsuite-part: For any considered dependency,
2471         generate a variables that groups all the tests depending on
2472         it.  This is especially useful for use in the new `prove'
2473         and `installprove' targets, which cannot rely on make for
2474         inter-test dependencies, and have to handle them "by hand".
2475
2476 2011-09-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
2477
2478         tests defs: more namespace-safeness
2479         ($using_tap): Renamed ...
2480         ($am_using_tap): ... to this.
2481         ($parallel_tests): Renamed ...
2482         ($am_parallel_tests): ... to this.
2483         ($test_prefer_config_shell): Renamed ...
2484         ($am_test_prefer_config_shell): ... to this.
2485         ($original_AUTOMAKE): Renamed ...
2486         ($am_original_AUTOMAKE): ... to this.
2487         ($original_ACLOCAL): Renamed ...
2488         ($am_original_ACLOCAL): ... to this.
2489         * tests/defs, tests/defs-static.in, tests/gen-testsuite-part,
2490         tests/README, and all callers: Adjusted.
2491         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Adjust, and rewrite
2492         to make future adjustments easier.
2493         * tests/defs (funcs_file_): Renamed ...
2494         (am_funcs_file): ... to this.
2495         * Makefile.am (sc_tests_obsolete_variables): New maintainer
2496         check.
2497         (syntax_check_rules): Add it.
2498
2499 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
2500
2501         aclocal: better URL reference in error message
2502         * aclocal.in (scan_file): In the error message about underquoted
2503         definitions, reference the automake page at `www.gnu.org', not
2504         at `sources.redhat.com'.
2505
2506 2011-09-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
2507
2508         tests: avoid creating useless files in some test directories
2509         * tests/aclocal.test: Define `$am_create_testdir' to "empty"
2510         before sourcing ./defs, to avoid bringing in unused auxiliary
2511         files.  Related adjustments.
2512         * tests/aclocal3.test: Likewise.
2513         * tests/aclocal8.test: Likewise.
2514         * tests/aclocal9.test: Likewise.
2515         * tests/acloca10.test: Likewise.
2516         * tests/acloca11.test: Likewise.
2517         * tests/acloca12.test: Likewise.
2518         * tests/acloca15.test: Likewise.
2519         * tests/acloca16.test: Likewise.
2520         * tests/acloca17.test: Likewise.
2521         * tests/acloca18.test: Likewise.
2522         * tests/acloca20.test: Likewise.
2523         * tests/acloca21.test: Likewise.
2524         * tests/acloca23.test: Likewise.
2525         * tests/aclocal-print-acdir.test: Likewise.
2526         * tests/ar-lib.test: Likewise.
2527         * tests/compile.test: Likewise.
2528         * tests/compile2.test: Likewise.
2529         * tests/compile3.test: Likewise.
2530         * tests/compile6.test: Likewise.
2531         * tests/instsh2.test: Likewise.
2532         * tests/instsh3.test: Likewise.
2533         * tests/mdate5.test: Likewise.
2534         * tests/mdate6.test: Likewise.
2535         * tests/missing3.test: Likewise.
2536         * tests/missing5.test: Likewise.
2537         * tests/mkinst3.test: Likewise.
2538         * tests/self-check-explicit-skips.test: Likewise.
2539         * tests/self-check-report.test: Likewise.
2540         * tests/self-check-sanity.test: Likewise.
2541         * tests/tap-driver-stderr.test: Likewise.
2542
2543 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
2544
2545         test defs: more environment cleanup
2546         * tests/defs: Also unset the XFAIL_TESTS, and various
2547         LOG_DRIVER, LOG_COMPILER variables (and corresponding
2548         flags variable).
2549
2550 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
2551
2552         tests: allow depmod.tap to only run a subset of its tests
2553         * tests/depmod.tap: If command-line arguments are passed to the
2554         tests, they are now taken as the list of test names for which the
2555         checks are to be run.
2556
2557 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
2558
2559         tests: allow instspc.tap to only run a subset of its tests
2560         * tests/instspc.tap: If command-line arguments are passed to the
2561         tests, they are now taken as the list of test names for which the
2562         checks are to be run.
2563
2564 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
2565
2566         coverage: distcheck-hook to catch missing/outdated *.m4 files
2567         Related to automake bug#9037.
2568         * tests/distcheck-missing-m4.test: New test.
2569         * tests/distcheck-outdated-m4.test: Likewise.
2570         * tests/distcheck-hook-m4.am: New data file, used by the new
2571         tests.
2572         * tests/Makefile.am (distcheck-m4-missing.log,
2573         distcheck-m4-outdated.log): Depend on it.
2574         (EXTRA_DIST): Distribute it.
2575         (TESTS): Add the new tests.
2576
2577 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2578
2579         tests: more granularity in variables for tools overriding
2580         Among the other things, this change makes it possible to use, at
2581         the same time, an autoconf version in the automake testsuite and
2582         another one in the automake build system; even more importantly, it
2583         makes it possible to use, say, a non-GNU make implementation in the
2584         test scripts, while at the same time using GNU make to drive the
2585         execution of the automake's test suite.
2586         * tests/defs-static.in (TEX, EGREP, FGREP, SHELL, PERL, MAKE,
2587         AUTOCONF, AUTOM4TE, AUTORECONF, AUTOHEADER, AUTOUPDATE,
2588         original_AUTOMAKE, original_ACLOCAL): Allow and prefer overriding
2589         through corresponding `AM_TESTSUITE_..' variables; for example,
2590         $GREP can now be overridden by an exported `$AM_TESTSUITE_GREP'
2591
2592 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2593
2594         testsuite: fix `skip_row_' subroutine in tap-functions.sh
2595         * tests/tap-functions.sh (skip_row_): Use `seq_', not `seq', to
2596         be portable to non-GNU systems.
2597         Bug revealed by a testsuite error on Solaris.
2598
2599 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2600
2601         installcheck: support it in our own testsuite
2602         * NEWS: Update.
2603         * tests/defs-static.in ($am_running_installcheck): New variable.
2604         Initialize it to a default of "no", and sanity-check its value.
2605         ($am_datadir, $am_docdir, $am_automake_acdir, $am_system_acdir,
2606         $am_bindir, $am_scriptdir, $am_pkgvdir): New variables,
2607         initialized from AC_SUBST'ed values which are adaptively chosen
2608         depending on whether the testsuite is running in "simple" mode
2609         or in "installcheck" mode.
2610         ($MISSING): Remove, it's not really required by the testsuite.
2611         ($PATH): Update using `$am_bindir', not `$testbuilddir'.
2612         * Makefile.am (installcheck-local): New target.
2613         * lib/Automake/tests/Makefile.am (installcheck-local): New target.
2614         (AM_TESTS_ENVIRONMENT, AM_PL_LOG_FLAGS): Adaptively choose the
2615         `-I' flags for perl based on whether the tests are being run by
2616         "make check" or "make installcheck".
2617         * tests/Makefile.am (installcheck-local): New target.
2618         (defs-static): Generate it at make time, not at configure time,
2619         in order to correctly resolve all the indirections in the
2620         AC_SUBST'd variables; done with the help of ...
2621         (do_subst): ... this new macro.
2622         (EXTRA_DIST): Explicitly distribute `defs-static.in'.
2623         (CLEANFILES): Remove `defs-static'.
2624         * configure.ac (AC_CONFIG_FILES): Remove `tests/defs-static'.
2625         (AC_SUBST): Substitute also `automake_acdir', `system_acdir',
2626         `scriptdir' and `amdir' to proper values.
2627         * lib/Makefile.am (scriptdir):  Don't explicitly define anymore.
2628         * lib/am/Makefile.am (amdir): Likewise.
2629         * m4/acdir/dirlist: Remove, it's not needed anymore.  Instead
2630         use ...
2631         * m4/acdir/.placeholder: ... this file.
2632         * m4/Makefile.am (EXTRA_DIST): Update.
2633         (automake_acdir, system_acdir): Don't explicitly define anymore.
2634         * tests/aclocal-print-acdir.test: Use new `$am_...dir' variables,
2635         instead of hard-coding values with $testsrcdir and $testbuilddir,
2636         to test more faithfully under "make installcheck".
2637         * tests/amhello-binpkg.test: Likewise.
2638         * tests/amhello-cflags.test: Likewise.
2639         * tests/amhello-cross-compile.test: Likewise.
2640         * tests/ansi2knr-no-more.test: Likewise.
2641         * tests/autodist-stamp-vti.test: Likewise.
2642         * tests/auxdir.test: Likewise.
2643         * tests/check2.test: Likewise.
2644         * tests/copy.test: Likewise.
2645         * tests/multlib.test: Likewise.
2646         * tests/obsolete.test: Likewise.
2647         * tests/parallel-tests-interrupt.test: Likewise.
2648         * tests/repeated-options.test: Likewise.
2649         * tests/suffix5.test: Likewise.
2650         * tests/tap-doc2.test: Likewise.
2651         * tests/txinfo22.test: Likewise.
2652         * tests/vtexi3.test: Likewise.
2653         * tests/defs: Likewise.  Also, print the values of `$using_tap'
2654         and `$am_running_installcheck', to simplify debugging, and do
2655         some related code movings and tweakings.
2656         * tests/aclocal3.test: Update to avoid possible spurious failures
2657         when running under "make installcheck".
2658         * tests/warnings-unknown.test: Likewise.
2659         * tests/location.test: Likewise, and improve debugging input since
2660         we are at it.
2661         * tests/acloca10.test: Adapt and tweak to work also during a
2662         "make installcheck", and not to require a pre-populated `dirlist'
2663         file.
2664         * tests/acloca18.test: Likewise.
2665         * tests/dirlist2.test: Likewise.
2666         * tests/dirlist.test: Likewise, and remove an obsolete comment.
2667         * tests/README: Update.
2668         * tests/dirlist-abspath.test: New test.
2669         * tests/list-of-tests.mk: Update.
2670
2671 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2672
2673         maintcheck: fix spurious failures
2674         * tests/gen-testsuite-part (write_wrapper_script): More uses of
2675         creative quoting in the generated tests, to avoid triggering
2676         failures in the `sc_tests_Exit_not_exit' maintcheck.
2677         * Makefile.am (sc_tests_tap_plan): It's OK for auto-generated
2678         TAP tests that sources an hand-written one not to declare a TAP
2679         plan: the sourced test will do so.
2680         * tests/Makefile.am (checked_test_extensions): Don't define
2681         anymore, the default value `$(TEST_EXTENSIONS)' is correct now.
2682         (expected_list_of_tests): Don't define anymore, the default
2683         value `$(TESTS)' is correct now.
2684
2685 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2686
2687         aclocal: more granularity in acdir overriding
2688         Before this change, using the `--acdir' option caused aclocal to
2689         redefine both the directory of automake-provided m4 macros and the
2690         directory of third-party system-wide m4 macros.  With this change,
2691         we deprecate the `--acdir' aclocal option, and introduce two new
2692         options `--automake-acdir' and `--system-acdir', to allow for more
2693         granularity.
2694         * aclocal.in (@automake_includes, @system_includes,
2695         @user_includes): Fix and extend comments.
2696         (usage): Update.
2697         (handle_acdir_option): New function.
2698         (parse_arguments): Recognize new options `--system-acdir' and
2699         `automake-acdir', and handle `--acdir' using the new function
2700         above.  Simplify logic by assuming that the directory of
2701         third-party system-wide m4 files always exists.
2702         * tests/aclocal.in: Update to use the new options, instead of
2703         the deprecated. `--acdir'.
2704         * m4/dirlist: Move ...
2705         * m4/acdir/dirlist: ... here.
2706         * m4/Makefile.am (EXTRA_DIST): Update.
2707         (m4datadir): Rename ...
2708         (automake_acdir): ... to this.  Accordingly, ...
2709         (dist_m4data_DATA): ... rename this ...
2710         (dist_automake_ac_DATA): ... to this.
2711         (system_acdir): New, directory.
2712         (dist_system_ac_DATA): New, defined to an empty value; this will
2713         ensure that the $(system_acdir) directory will be created by
2714         "make install".
2715         * tests/aclocal.test: Remove check about the `--print-ac-dir'
2716         option of aclocal, it has been moved into ...
2717         * tests/aclocal-print-acdir.test: ... this new test, and quite
2718         extended.
2719         * tests/aclocal-acdir.test: New test.
2720         * tests/Makefile.am (TESTS): Add the new tests.
2721         * NEWS, bootstrap: Update.
2722         * doc/automake.texi (aclocal Options, Macro Search Path): Update.
2723
2724 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2725
2726         cosmetic: rename gen-tests-deps -> gen-testsuite-part
2727         * tests/gen-tests-deps: Renamed ...
2728         * tests/gen-testsuite-part: ... to this.
2729         * bootstrap: Update.
2730         * tests/Makefile.am ($(srcdir)/tests-deps.am): Don't generate
2731         nor include this ...
2732         ($(srcdir)/testsuite-part.am): ... do with this instead.
2733         * tests/.gitignore (tests-deps.am): Don't ignore this ...
2734         (testsuite-part.am): ... ignore this instead.
2735
2736 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2737
2738         testsuite: revamp generation of autogenerated tests
2739         With this change, we make generated tests be real scripts again
2740         -- albeit only thin layers around the tests they wrap.  It turned
2741         out that the apparently clever tricks we played by having lots
2742         of custom (and auto-generated) `..._LOG_COMPILER' variables and
2743         by having the tests in $(wrap_TESTS) not being real on-file-system
2744         scripts caused more pain and confusion than expected, for only
2745         marginal gains.  Also, that previous setup didn't interact very
2746         well with "make check RECHECK_LOGS=", since the log files for
2747         the "wrappee" tests were always considered out-of-date (which in
2748         hindsight is natural, since these log files depended on wrappee
2749         tests that didn't exist -- and weren't created).  And finally, it
2750         wasn't possible to easily and naturally run the wrappee tests
2751         from the command line -- definitely harmful for debugging and
2752         sanity checking.
2753         * tests/gen-wrap-tests: Deleted, its role subsumed into ...
2754         * tests/gen-tests-deps: ... this script, with the help of
2755         (unindent, atomic_write, build_matcher, write_wrapper_script,
2756         %test_generators): ... these new functions and variables.
2757         Other few minor fixlets and improvements.
2758         * tests/wrap-tests.sh: Delete, not needed anymore.
2759         * tests/Makefile.am ($(srcdir)/wrap-tests.am): Don't generate
2760         nor include anymore.
2761         (EXTRA_DIST): Update.
2762         (wrap_TESTS): Renamed to ...
2763         (generated_TESTS): ... this.
2764         ($(generated_TESTS)): Must have the same dependencies of
2765         `$(srcdir)/tests-deps.am'.
2766         Other minor related reordering and adjustments.
2767         * bootstrap: Do not generate `wrap-tests.am' anymore.
2768         * tests/.gitignore (wrap-tests.am): Don't ignore anymore.
2769         (*-w.test, *-w.tap): Ignore.
2770         * tests/README: Update paragraph on automatically-generated
2771         tests.
2772
2773 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2774
2775         testsuite: automatize generation of dependencies for tests
2776         * tests/gen-test-deps: New script, automatically generates
2777         dependencies for the tests.
2778         * tests/Makefile.am (EXTRA_DIST): Distribute it.
2779         ($(srcdir)/tests-deps.am): New rule.
2780         (include $(srcdir)/tests-deps.am): New inclusion.
2781         Remove hand-written dependencies for tests.  Other related
2782         updates.
2783         * tests/list-of-tests (tap_with_common_setup_TESTS,
2784         tap_other_TESTS): Delete, their content merged back into ...
2785         (handwritten_TESTS): ... this.
2786         * tests/.gitignore (tests-deps.am): New ignored file.
2787         * bootstrap: Generate `tests/tests-deps.am'.
2788
2789 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2790
2791         tests: avoid spurious failure due to bug in older TAP::Parser
2792         Older TAP::Parser versions (e.g., 3.10) erroneously convert a test
2793         number `0' into `1'; do not let this bug cause a spurious failure
2794         in our testsuite.
2795         * tests/tap-test-number-0.test: Skip if the aforementioned
2796         TAP::Parser bug is detected.
2797
2798 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2799
2800         tap/perl: be more portable to older perl versions
2801         * lib/tap-driver.pl (trap_perl_warnings_and_errors): Do not use
2802         the three-args version of the `open' builtin, it is not well
2803         supported by older perl versions (at least perl 5.6.2).
2804         (start): Add a no-op statement to pacify a "possible typo ... used
2805         only once" perl warning.
2806
2807 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2808
2809         tap/perl: be more portable to older TAP::Parser versions
2810         * lib/tap-driver.pl (start): Do not call the `ignore_exit' method
2811         on our TAP parser: it is not supported in older TAP::Parser
2812         versions (e.g., 3.10), and is not really required by our usage of
2813         the parser object.
2814
2815 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2816
2817         tests: fix spurious Cygwin failure of a test on TAP support
2818         * tests/tap-bad-prog.tap (noexec.test): Add forgotten `echo'.
2819         When trying to run it, redirect its output to /dev/null, to
2820         avoid confusing automake's testsuite own TAP driver.
2821
2822 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2823
2824         test defs: fix glitch in TAP version of `warn_' function
2825         * tests/tap-functions.sh (warn_): Do not display the warning
2826         message two times.
2827
2828 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2829
2830         tests: fix another spurious failure due to ignored signals
2831         * tests/tap-signal.test: Renamed ...
2832         * tests/tap-signal.tap: ... to this, converted to the use of the
2833         TAP protocol, and improved not to try to use/trap signals that
2834         are ignored by the parent shell (they will be forcibly ignored
2835         by all the child processes too).  Extend the test a bit since we
2836         are at it.
2837         * tests/list-of-tests.mk: Update.
2838
2839 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2840
2841         tests: fix a spurious failure due to lacking Fortran compilers
2842         * tests/silent-many-generic.test (configure.in): Cause the test
2843         to be skipped if `configure' fails to find working C++, Fortran
2844         and Fortran 77 compilers.
2845
2846 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2847
2848         self tests: more use of TAP
2849         * tests/self-check-reexec.test: Renamed ...
2850         * tests/self-check-reexec.tap: ... to this, converted to the
2851         use of TAP protocol, and extended a bit.
2852         * tests/self-check-seq.test: Renamed ...
2853         * tests/self-check-seq.tap: ... to this, and converted to the
2854         use of TAP protocol.
2855         * tests/list-of-tests.mk: Update.
2856
2857 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2858
2859         self tests: fix spurious failures when /bin/ksh do not exists
2860         * tests/self-check-reexec.test: Ensure that the non-bash shells
2861         we look do really exists.  Since we are at it, also try the name
2862         `ash', non `dash', for the Almquist Shell, for Cygwin 1.5.
2863
2864 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2865
2866         tests: more use of TAP in our own testsuite
2867         * tests/parallel-tests-interrupt.test: Renamed ...
2868         * tests/parallel-tests-interrupt.tap: ... to this, and converted
2869         to the use of TAP protocol.
2870         * tests/self-check-cleanup.test: Renamed ...
2871         * tests/self-check-cleanup.tap: ... to this, and converted to the
2872         use of TAP protocol.
2873         * tests/self-check-dir.test: Renamed ...
2874         * tests/self-check-dir.tap: ... to this, and converted to the use
2875         of TAP protocol.
2876         * tests/self-check-is_newest.test: Renamed ...
2877         * tests/self-check-is_newest.tap: ... to this, and converted to
2878         the use of TAP protocol.
2879         * tests/self-check-unindent.test: Renamed ...
2880         * tests/self-check-unindent.tap: ... to this, and converted to
2881         the use of TAP protocol.
2882         * tests/list-of-tests.mk: Update.
2883
2884 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2885
2886         self tests: sanity check on 'is_blocked_signal' function
2887         * tests/self-check-is-blocked-signal.tap: New test.
2888         * tests/list-of-tests.mk: Update.
2889
2890 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2891
2892         tests: fix spurious failures due to ignored signals
2893         * tests/defs (is_blocked_signal): New function.
2894         * tests/parallel-tests-interrupt.test: Do not try to use/trap
2895         signals that are ignored by the parent shell: they will be
2896         ignored by all the child processes too.
2897         * tests/self-check-exit.test: Likewise.
2898         * tests/self-check-cleanup.test: Likewise, and do few minor
2899         improvements and extensions since we are at it.
2900
2901 2011-09-05  Peter Rosin  <peda@lysator.liu.se>
2902
2903         * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
2904
2905 2011-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
2906
2907         fix: list test 'vala-vpath.test' in XFAIL_TESTS
2908         * tests/Makefile.am (XFAIL_TESTS): Update.
2909
2910 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2911
2912         tests: simplify wrapper for aclocal
2913         * tests/aclocal.in: Remove use of $ACLOCAL_TESTSUITE_FLAGS and
2914         extra `-I' flags; they are not really required, since the file
2915         `m4/amversion.m4' is generated in the srcdir anyway.
2916         * tests/acloca10.test: Remove use of $ACLOCAL_TESTSUITE_FLAGS.
2917         * tests/acloca18.test: Likewise.
2918         * tests/defs.in: Don't nullify $ACLOCAL_TESTSUITE_FLAGS, and do
2919         not export it.
2920
2921 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2922
2923         tests: remove redundant settings of `errexit' shell flag
2924         * doc-parsing-buglets-colneq-subst.test: Do not set the
2925         `errexit' shell flag, as it is already set by `tests/defs'.
2926         * doc-parsing-buglets-tabs.test: Likewise.
2927         * java-empty-classpath.test: Likewise.
2928         * vala-vpath.test: Likewise.
2929
2930 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2931
2932         tests: more uses of `$top_testsrcdir', in the `amhello' tests
2933         * tests/amhello-binpkg.test: Use `$top_testsrcdir' instead
2934         of `$testsrcdir/..'.
2935         * tests/amhello-cflags.test: Likewise.
2936         * tests/amhello-cross-compile.test: Likewise.
2937
2938 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2939
2940         tests: avoid creating useless files in the `amhello' tests
2941         * tests/amhello-binpkg.test: Define `$am_create_testdir' to
2942         "empty" before sourcing ./defs, to avoid bringing in unused
2943         auxiliary files.
2944         * tests/amhello-cflags.test: Likewise.
2945         * tests/amhello-cross-compile.test: Likewise.
2946
2947 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2948
2949         coverage: vala support failing for VPATH from-scratch builds
2950         * tests/vala-vpath.test: New test, xfailing.
2951         * tests/Makefile.am (TESTS): Update.
2952         * THANKS: Update.
2953         From a report by Zbigniew Jędrzejewski-Szmek.
2954         Related to automake bug#8753.
2955
2956 2011-09-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
2957
2958         docs: report few more automake parsing limitations
2959         Partly motivated by automake bug#8360.
2960         * doc/automake.texi (General Operation): Report few more automake
2961         limitations w.r.t. parsing of unusual makefile constructs.  Related
2962         minor reorderings.
2963         * tests/doc-parsing-buglets-colneq-subst.test: New test.
2964         * tests/doc-parsing-buglets-tabs.test: Likewise.
2965         * tests/Makefile.am (TESTS): Update.
2966
2967 2011-09-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
2968
2969         automake: fix regression due to de-ansification support removal
2970         The last change `v1.11-947-g136b489' removed code that automake
2971         was using to decide whether binary objects were built by the
2972         generated Makefile.in, so that it could avoid to emit unneeded
2973         code when this was not the case.  Re-introduce such code in a
2974         less-obfuscated form, and add a test to ensure we don't regress
2975         again.
2976         * automake.in ($must_handle_compiled_objects): New global
2977         variable, telling whether the generated Makefile has to build
2978         compiled objects.
2979         (initialize_per_input): Reset it.
2980         (handle_programs, handle_libraries, handle_ltlibraries): Set
2981         it to a true value when required.
2982         (handle_compile): Don't generate any code if the variable
2983         `$must_handle_compiled_objects' is not set to a true value.
2984         * tests/no-extra-makefile-code.test: New test.
2985         * tests/Makefile.am (TESTS): Add it.
2986
2987 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2988
2989         automake: cleanups after de-ansification support removal (2)
2990         * automake.in ($get_object_extension_was_run): Remove, it's not
2991         really needed anymore.
2992         (&get_object_extension): Remove, it's a no-op now.
2993         All callers adjusted.
2994
2995 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2996
2997         automake: cleanups after de-ansification support removal (1)
2998         * automake.in (lang_c_rewrite, handle_single_transform): Rename
2999         variable `$nonansi_obj' to `$obj'.
3000
3001 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
3002
3003         ansi: remove obsolete code/files for de-ANSI-fication support
3004         * lib/ansi2knr.1, lib/ansi2knr.c: Deleted.
3005         * lib/Makefile.am (dist_pkgvdata_DATA): Do not list them anymore.
3006         * lib/am/ansi2knr.am: Delete.
3007         * lib/am/Makefile.am (dist_am_DATA): Do not list it anymore.
3008         * lib/Automake/Variable.pm (%_am_macro_for_var): Remove entries for
3009         `ANSI2KNR' and `U'.
3010         * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Don't care anymore
3011         about possible definition of the `$U' variable.
3012         * automake.in (@common_files): Drop `ansi2knr.1' and `ansi2knr.c'.
3013         (struct): Remove scalar field `ansi'.
3014         All callers adjusted.
3015         (&lang_c_finish, %de_ansi_files): Remove, they're not required
3016         anymore.
3017         All callers adjusted.
3018         ($get_object_extension_was_run): Fix typo in comment.
3019         (&get_object_extension): Drop code dealing with de-ansification;
3020         this function basically a no-op now, but is required to properly
3021         initialize `$get_object_extension_was_run' variable.
3022         (&handle_languages, &handle_compile, &lang_c_rewrite): Drop code
3023         dealing with de-ansification.
3024
3025 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
3026
3027         ansi: reject attempts to use automatic de-ANSI-fication support
3028         * tests/protos.m4 (AM_C_PROTOTYPES): Error out whenever called.
3029         * lib/Automake/Options.pm (_process_option_list ): Error out
3030         with a proper error message when the `ansi2knr' option is used.
3031         Related updates to comments.
3032         * tests/depacl2.test: Update.
3033         * tests/ansi2knr-no-more.test: New test.
3034         * tests/Makefile.am (TESTS): Add it.
3035         * NEWS: Update.
3036
3037 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
3038
3039         tests: remove tests about obsolete de-ANSI-fication support
3040         * tests/ansi.test: Delete.
3041         * tests/ansi10.test: Likewise.
3042         * tests/ansi2.test: Likewise.
3043         * tests/ansi2knr-deprecation.test: Likewise.
3044         * tests/ansi3.test: Likewise.
3045         * tests/ansi3b.test: Likewise.
3046         * tests/ansi4.test: Likewise.
3047         * tests/ansi5.test: Likewise.
3048         * tests/ansi6.test: Likewise.
3049         * tests/ansi7.test: Likewise.
3050         * tests/ansi8.test: Likewise.
3051         * tests/ansi9.test: Likewise.
3052         * tests/cxxansi.test: Likewise.
3053         * tests/libobj8.test: Likewise.
3054         * tests/subobj3.test: Likewise.
3055         * tests/Makefile.am (TESTS): Update.
3056
3057 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
3058
3059         docs: remove description of de-ANSI-fication support from manual
3060         * doc/automake.texi (Auxiliary Programs): Remove mention of
3061         `ansi2knr.c' and `ansi2knr.1'.
3062         (Obsolete Macros): Remove mention of `AM_C_PROTOTYPES'.  Do not
3063         index it nor variables `ANSI2KNR' and `U' anymore.
3064         (List of Automake options): Remove mention of `ansi2knr' option,
3065         and obsolete entries for concept and option indexes.
3066         (Optional): Remove entry about `AM_C_PROTOTYPES'.
3067         (@c LocalWords): Remove `ansi' and `knr'.
3068         (@menu, @detailmenu): Remove entries about de-ANSI-fication
3069         support.
3070
3071 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3072
3073         tests: better respect of TAP usage in wrapped tests
3074         * tests/gen-wrap-tests: Partial rewrite to take into account the
3075         possibility that the wrapped test uses the TAP protocol.  This
3076         complicates the code quite a bit, but is essential to ensure real
3077         correctness in all the wrapped scripts.
3078         * tests/wrap-tests.sh: Update, and add few more sanity checks.
3079
3080 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3081
3082         tests: use both perl and awk implementations for tests on TAP
3083         * tests/gen-wrap-tests (get_list_for_pltap): New function, gets
3084         the list of tests that check the Automake TAP support.
3085         ($defines_for_pltap): New variable.
3086         ($wrapper_type_list): Add "pltap".
3087         * tests/defs-static.in: Check that `$am_tap_implementation' is
3088         not exported in the environment.
3089         * tests/self-check-env-sanitize.tap: Update.
3090
3091 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3092
3093         tests: two single auxiliary scripts to run/generate wrapped tests
3094         * tests/config-shell-tests.sh, tests/parallel-tests.sh,
3095         tests/gen-config-shell-tests, tests/gen-parallel-tests: Deleted,
3096         their roles taken over by ...
3097         * tests/wrap-tests.sh, tests/gen-wrap-tests: ... these new more
3098         general scripts.
3099         * tests/Makefile.am (EXTRA_DIST): Distribute the new scripts, and
3100         do not distribute the obsolete ones anymore.
3101         ($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am): Do
3102         not include nor generate anymore, they have been superseded by ...
3103         ($(srcdir)/wrap-tests.am): ... this new fragment, automatically
3104         generated by `gen-wrap-tests'.
3105         (PTEST_LOG_COMPILER, SHTST_LOG_COMPILER): Delete, they are now
3106         defined in the new `wrap-tests.am' makefile fragment.
3107         (TEST_EXTENSIONS): Do not append to it anymore, that is now done
3108         by the new `wrap-tests.am' makefile fragment above.
3109         ($(parallel_tests:.ptest=.log), $(config_shell_tests:.shtst=.log),
3110         $(parallel_tests), $(config_shell_tests): Remove this dependencies,
3111         superseded by ...
3112         ($(wrap_TESTS), $(wrap_LOGS)): ... these ones.
3113         (MAINTAINERCLEANFILES): Delete, it's not used anymore.
3114         (TESTS): Do not contain anymore `$(config_shell_tests)' nor
3115         `$(parallel_tests)', contain `$(wrap_TESTS)' instead, as defined
3116         by `$(srcdir)/wrap-tests.am'.
3117         Other related minor edits and reorderings.
3118         * bootstrap, tests/.gitignore, tests/README: Update.
3119
3120 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3121
3122         tests: list of tests placed in a separate Makefile fragment
3123         This change allows us to easily use make instead of by-hand (and
3124         more fragile) grepping to extract the list of hand-written tests
3125         from our Makefiles.
3126         * bootstrap (BOOTSTRAP_MAKE): New variable.
3127         Use it to run make in order to extract the list of hand-written
3128         tests from ...
3129         * tests/list-of-tests.mk: ... this new file, where they are
3130         listed in ...
3131         (handwritten_TESTS, tap_with_common_setup_TESTS, tap_other_TESTS):
3132         ... these variables, extracted respectively from ...
3133         * tests/Makefile.am (handwritten_tests, tap_other_tests,
3134         tap_with_common_setup_tests): ... these older variables, now
3135         removed.
3136         (EXTRA_DIST, expected_list_of_tests): Update w.r.t. the variable
3137         names' changes.
3138         (include $(srcdir)/list-of-tests.mk): New inclusion.
3139         Remove an overkill indirection, and with it ...
3140         (tap_with_common_setup_logs): ... this variable.
3141         ($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am):
3142         Update to match the new interface of ...
3143         (gen-parallel-tests, gen-config-shell-tests): ... these scripts,
3144         that now read the list of tests from the standard input.
3145
3146 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3147
3148         tests: prefer AM_... variables to user-reserved ones in Makefile
3149         * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Renamed ...
3150         (AM_TAP_LOG_DRIVER_FLAGS): ... to this.
3151
3152 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3153
3154         tests: some minor fixlets w.r.t. TAP-based tests
3155         The variable that is used by our test scripts to decide whether
3156         they are "plain" or TAP-based is `using_tap'; however, some
3157         peripheral sanity checks and sanitization code in our testsuite
3158         were erroneously using the `use_tap' variable instead.  Fix that.
3159         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Nullify `using_tap',
3160         not `use_tap'.
3161         * tests/defs-static.in: Check that `using_tap', not `use_tap',
3162         is not exported.
3163         * tests/self-check-env-sanitize.test: Update.
3164
3165 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3166
3167         tests: avoid re-running a test with the 'parallel-tests' option
3168         * tests/backcompat5.test (parallel_tests): Define to "no", to
3169         prevent the generation of a sibling test script that uses the
3170         'parallel-tests' driver.  That would be useless anyway, since
3171         we manually override the contents of configure.in, thus clobbering
3172         the `parallel-tests' option in AM_INIT_AUTOMAKE.
3173         Fix a typo in comments since we are at it.
3174
3175 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3176
3177         tests: defaults to awk+shell driver in tests on TAP support
3178         * tests/defs ($am_tap_implementation): Default to "shell", not
3179         to "perl".
3180
3181 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3182
3183         tests: list "forgotten" test script in TESTS
3184         * tests/Makefile.am (TESTS): Also list ...
3185         * tests/java-empty-classpath.test: ... this test.  Since we are
3186         at it, remove trailing whitespace from a couple of lines.
3187
3188 2011-08-25  Eric Blake  <eblake@redhat.com>
3189
3190         ylwrap: fix unusual indentation whitespace
3191         * lib/ylwrap: Convert tabs to spaces.
3192         Reported by Karl Berry.
3193
3194 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
3195
3196         testsuite: different test scripts cannot share the same basename
3197         If two test scripts have the same basename, they will end up
3198         sharing the same log file, leading to all sort of undefined and
3199         undesired behaviours.  Add a Makefile check verifying that this
3200         is not the case.
3201         * tests/test-logs-repeated.test: New test, verifying previously
3202         unspecified semantics (in the definition of $(TEST_LOGS) from
3203         $(TESTS)) that we use in our new check.
3204         * tests/Makefile.am (TESTS): Update.
3205         (check-no-repeated-test-name): New .PHONY check.
3206         (check-local): Depend on it.
3207
3208 2011-08-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
3209
3210         tests: fix spurious failure for awk implementation of TAP driver
3211         * tests/tap-realtime.test: The awk+shell implementation of the TAP
3212         driver must "read ahead" of one line in order to catch the exit
3213         status of the test script it runs.  So, in the TAP-producer script
3214         here, be sure to echo one "dummy" line after each TAP result line
3215         in order not to cause false positives.
3216
3217 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3218
3219         tap/awk: allow escaping of TAP directives
3220         * lib/tap-driver.sh (setup_result_obj): Handle escaping of TAP
3221         directives in a way tat is (mostly) compatible by what is done
3222         by the TAP::Parser module.
3223         With this change, the tests `tap-escape-directive.test' and
3224         `tap-escape-directive-2.test' now also pass with the shell/awk
3225         implementation of the TAP driver.
3226
3227 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3228
3229         coverage: more about escaping of TAP directives
3230         * tests/tap-escape-directive.test: Make grepping of testsuite
3231         progress output slightly stricter.
3232         * tests/tap-escape-directive-2.test: New test (failing with the
3233         awk implementation of the TAP driver).
3234         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3235
3236 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3237
3238         tap: improve syncing between awk+shell and perl implementations
3239         * lib/tap-driver.pl (stringify_test_result): Renamed ...
3240         (stringify_result_obj): ... to this.  Break up a clause in the
3241         long "if/elsif/.../else" construct to avoid unaesthetic line
3242         breaks and to be more synced with the sibling function in
3243         `tap-driver.sh'.  Rename the `$result', `$PASS' and `$FAIL'
3244         variables to respectively `$result_obj', `$COOKED_PASS' and
3245         `$COOKED_FAIL', for clarity and better syncing.
3246         (handle_tap_test): Renamed  ...
3247         (handle_tap_result): ... to this, and change the name of the
3248         `$test' local variable to `$result_obj'.
3249         (extract_comment): Reimplement using the simpler `index' and
3250         `substr' builtins, rather than with more advanced uses of
3251         regular expressions.
3252         (%test_results, @test_results): Renamed respectively ...
3253         (%test_results_seen, @test_results_list): ... to these, and
3254         related adjustments throughout the `TEST_RESULTS' block.
3255         (main, get_global_test_result): Refactor and do some cosmetic
3256         changes to make these functions clearer and better synced with
3257         sibling code in `tap-driver.sh'.
3258         Other minor cosmetic and typo fixes.
3259         * lib/tap-driver.sh (extract_tap_comment): Remove outdated
3260         "FIXME" comments.
3261         (get_global_test_result): Small reordering to make it better
3262         synced with its sibling function in `tap-driver.pl'.
3263         (stringify_result_obj): Consistently use `result_obj' as the
3264         parameter name.
3265         Other minor cosmetic and typo fixes.
3266
3267 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3268
3269         tap/perl: don't redirect perl warnings/errors to log files
3270         With this change, the test `tap-driver-stderr.test' also passes
3271         with the perl implementation of the TAP driver.
3272         * lib/tap-driver.pl (start): Save the original stderr into the
3273         `OLDERR' file handle, and call ...
3274         (trap_perl_warnings_and_errors): ... this new function, trapping
3275         the `__WARN__' and `__DIE__' "pseudo-signals" to ensure that the
3276         warning and error messages goes to that original stderr stream.
3277         Since we are at it, be sure to prepend all possible "die" message
3278         with the name of the script as given by the `$ME' variable.
3279
3280 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3281
3282         tap/perl: add copyright notice, version string, and emacs stuff
3283         * lib/tap-driver.pl: Add proper copyright notice and bug reporting
3284         address.  Remove obsolete heading comments.  Add trailing comments
3285         for emacs w.r.t. code-formatting rules and automatic updating of
3286         the date-based script version saved into the `$VERSION' variable.
3287         ($VERSION): Define to the current UTC date.
3288
3289 2011-08-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3290
3291         tap/awk: don't redirect awk stderr to log files
3292         * lib/tap-driver.sh: Handle the file descriptors redirections
3293         more smartly, to avoid sending error messages from awk (about
3294         e.g. syntax or I/O errors) to the log files instead that to the
3295         console.
3296         * tests/tap-driver-stderr.test: New test, verifying the improved
3297         driver behaviour.  Notice that this test still fails when using
3298         the perl implementation of the TAP driver.
3299         * tests/Makefile.am (tap_other_tests): Update.
3300
3301 2011-08-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3302
3303         tap/awk: remove obsolete "FIXME" comment
3304         * lib/tap-driver.sh: Remove obsolete "FIXME" comment about our
3305         driver losing the exit status of the tested program; this issue
3306         has been solved in precedent commit `v1.11-1052-gd630a0d'.  Fix
3307         an unrelated typo in comments since we are at it.
3308
3309 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3310
3311         testsuite: avoid spurious failure on Solaris
3312         * tests/tap-signal.test (signal_caught): Fix a regression from
3313         commit `v1.11-1052-gd630a0d' that was causing this test to fail
3314         spuriously on Solaris (due to an already worked-around Solaris
3315         /bin/sh bug, see commit `v1.11-981-g0ef3ef5').
3316
3317 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3318
3319         testsuite: use the new awk+shell TAP driver in our own testsuite
3320         * tests/Makefile.am (TAP_LOG_DRIVER): Redefine to use the new
3321         awk+shell tap driver, which should be complete enough for use in
3322         a "controlled" production environment.
3323
3324 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3325
3326         tap/awk: handle non-zero exit status from the test command
3327         * lib/tap-driver.sh (get_test_exit_message): New function in the
3328         awk script, used to extract the exit status of the test program,
3329         or at least a good guess of it.
3330         (write_test_results): Use it, reporting an ERROR result if it
3331         detects that the test program exited with a non-zero status.
3332         * tests/tap-signal.test: Account for the differences in the
3333         error messages generated by the awk and perl TAP drivers.  Fix
3334         an unrelated typo in comments since we are at it.
3335
3336 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3337
3338         tap/awk: prepare to fetch the exit status of the test command
3339         * lib/tap-driver.sh: Rewrite some logic in the main parsing loop,
3340         to make it possible to read the exit status of the test command
3341         from the last line of the input stream.
3342
3343 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3344
3345         tap/awk: refactor for future changes
3346         * lib/tap-driver.sh: Rewrite the awk script so that the parsing
3347         of the input stream is implemented as a hand-rolled loop in the
3348         BEGIN block, using the `getline' builtin.
3349
3350 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3351
3352         testsuite: avoid spurious failure if rst2html program is missing
3353         * tests/tap-html.test ($required): Require `rst2html'.
3354
3355 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3356
3357         tap/awk: support Solaris /usr/xpg4/bin/awk
3358         * lib/tap-driver.sh: Use `\t', not `\\t', to represent tabulation
3359         character in regexps, even when inside double-quoted strings; that
3360         seems to be more portable to Solaris 10 XPG4 awk.
3361
3362 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3363
3364         tap/awk: support Solaris /usr/bin/nawk
3365         * lib/tap-driver.sh (close_or_die): Remove, the use of the `close'
3366         builtin in there was confusing /usr/bin/nawk from Solaris 10 into
3367         a syntax error.
3368         (write_test_results): Simply use `close' on the `*.trs' file, that
3369         should be enough.
3370
3371 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3372
3373         tap/awk: correctly extract message from SKIP plans
3374         * lib/tap-driver.sh (/^1\.\.0+[ \t]*#/): Add a forgotten `?' to
3375         the regex used to extract the skip message from a "1..0" TAP plan.
3376         * tests/planskip.test: Check for the just-fixed bug.
3377         * tests/tap-planskip-unplanned-corner.test: Don't be too strict
3378         w.r.t. the formatting of the "skip whole test" message, to avoid
3379         failing due to bugs irrelevant for this test (like the one just
3380         fixed).
3381
3382 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3383
3384         tap/awk: support colorized output
3385         * lib/tap-driver.sh: Pass definition of colors to the BEGIN block
3386         of the awk script, using ...
3387         ($init_colors): ... this new variable, which supersedes ...
3388         ($red, $grn, $lgn, $blu, $mgn, $std): ... these variables, which
3389         have been consequently removed.
3390         ($color_tests): We don't have to pass this anymore to the awk
3391         script, so do not convert it to a numeric boolean.
3392         (decorate_result): Implement for real.
3393         With this change, the test 'tap-color.test' now passes.
3394
3395 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3396
3397         tap: real (but still incomplete) awk implementation of TAP driver
3398         * lib/tap-driver.sh: Add an incomplete, but mostly working,
3399         implementation of a TAP parser and driver in awk.  It doesn't yet
3400         support colorized output, fetching of exit status from test
3401         programs, nor a way to escape TAP directives in TAP result lines,
3402         but passes all the tests of TAP support in the automake testsuite,
3403         apart from the following ones:
3404           - tap-color.test
3405           - tap-escape-directive.test
3406           - tap-exit.test
3407           - tap-missing-plan-and-bad-exit.test
3408           - tap-passthrough-exit.test
3409           - tap-planskip-badexit.test
3410           - tap-planskip-unplanned-corner.test
3411           - tap-signal.test
3412         Tested on Debian GNU/Linux with GNU awk 3.1.7 and 3.0.2, "original
3413         awk" 2010-05-23-1, and mawk 1.3.3-15 (with which also the test
3414         `tap-realtime.test' fails, in addition to those listed above).
3415
3416 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3417
3418         testsuite: fix spurious failure due to Solaris 'wc' incompatibility
3419         * tests/tap-number-wordboundary.test ($planned): Strip any extra
3420         whitespace from the output of `wc', to cater to Solaris 10.
3421
3422 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3423
3424         coverage: keyword "SKIP" in TAP plan is case-insensitive
3425         * tests/tap-planskip-case-insensitive.test: New test.
3426         * tests/tap-planskip.test: Remove now-duplicated checks.
3427         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3428
3429 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3430
3431         coverage: ambiguous use of TAP "TODO"/"SKIP" directives
3432         * tests/tap-ambiguous-directive.test: New test.
3433         * tests/tap-todo-skip-together.test: Reference it in heading
3434         comments.
3435         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3436
3437 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3438
3439         coverage: non-directive comments in TAP results are preserved
3440         * tests/tap-result-comment.test: New test.
3441         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3442
3443 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
3444
3445         coverage: TAP result number followed by non-whitespace word boundary
3446         * tests/tap-number-wordboundary.test: New test.
3447         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3448
3449 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
3450
3451         coverage: a TAP result numbered "0" is always out-of-order
3452         * tests/tap-test-number-0.test: New, checks that a test result
3453         numbered as 0 is to be considered out-of-order; this is
3454         consistent with the behaviour of the `prove' utility.
3455         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3456
3457 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
3458
3459         cosmetics: fix botched indentation in perl TAP driver
3460         * lib/tap-driver.pl (main, Getopt::Long::GetOptions): Fix
3461         improper or botched indentation.
3462
3463 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
3464
3465         coverage: some more tests on corner cases of TAP support
3466         * tests/tap-no-spurious.test: Extend checks verifying that a line
3467         matching, say, the regex "^ok[a-zA-Z0-9_]" is *not* considered a
3468         TAP result.
3469         * tests/tap-no-spurious-numbers.test: New test, checking that our
3470         TAP driver doesn't spuriously recognize as TAP result numbers what
3471         is not (even if it seems pretty close).
3472         * tests/tap-negative-numbers.test: New test, checking that our
3473         TAP driver doesn't spuriously recognize negative TAP result
3474         numbers, but correctly interprets them as test descriptions
3475         instead.
3476         * tests/tap-plan-leading-zero.test, tap-numbers-leading-zero.test:
3477         New tests, checking how our driver fares in recognizing numbers
3478         with leading zeroes in TAP results or TAP plans.
3479         * tests/tap-planskip-malformed.test: New test, checking that a
3480         malformed TAP plan is not recognized as a valid plan.
3481         * tests/tap-plan-whitespace.test: New test, checking that a TAP
3482         plan line with trailing whitespace is recognized and handled
3483         correctly.
3484         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3485
3486 2011-08-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
3487
3488         testsuite: various fixlets and tweakings
3489         * tests/seenc.test: Make grepping of automake stderr stricter.
3490         Add a trailing `:' command.
3491         * tests/symlink.test: Likewise.  Also, define `$am_create_testdir'
3492         to "empty" to avoid bringing in unused auxiliary files (only to
3493         have to remove them right away), and use proper m4 quoting in
3494         `configure.in'.
3495         * tests/vpath.test: Make grepping of generated `Makefile.in'
3496         slightly stricter.  Prefer trailing `:' over trailing `Exit 0'.
3497         * tests/suffix6c.test: Unset OBJEXT to avoid interferences from
3498         the environment.
3499         * tests/suffix12.test: Do not whitespace-indent `##' comments
3500         when they are embedded in a makefile rule: having them indented
3501         is not part of the Automake API, and might cause failures with
3502         e.g., Tru64 make.
3503         * tests/syntax.test: Simplify the `Makefile.am' to ensure that
3504         automake doesn't fail for the wrong reasons.  Make grepping of
3505         automake stderr slightly stricter.
3506         * tests/test-harness-vpath-rewrite.test: Remove useless variable
3507         definition from `Makefile.am'.
3508         * tests/test-driver-custom-multitest.test: Fix typo in comments.
3509         * tests/self-check-me.tap: Fix minor typo in test description.
3510         * tests/vars3.test: Make grepping of automake stderr stricter
3511         and safer.
3512         * tests/version6.test: Add sanity check, verifying that the
3513         version number extracted from `automake --version' output seems
3514         legit.
3515         * tests/auxdir2.test: Renamed ...
3516         * tests/auxdir-compauted.tap: ... to this, and converted to the
3517         use of TAP.
3518         * tests/auxdir4.test: Renamed ...
3519         * tests/auxdir-unportable.tap: ... to this, and converted to the
3520         use of TAP.
3521         * tests/auxdir3.test: Renamed ...
3522         * tests/auxdir-misplaced.test: ... to this.
3523         * tests/auxdir5.test: Renamed ...
3524         * tests/auxdir-nonexistent.test: ... to this.
3525         * tests/auxdir9.test: Renamed ...
3526         * tests/auxdir-autodetect.test: ... to this.
3527         * tests/Makefile.am (TESTS): Update.
3528         (XFAIL_TESTS): Remove `auxdir2.test'.
3529
3530 2011-08-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
3531
3532         testsuite: fix some redundant autotools calls in tests on TAP
3533         * tests/tap-deps.test: Do not call autotools and configure; there
3534         is no need to, since this script sources `tap-setup.sh'.
3535         * tests/tap-empty-diagnostic.test: Likewise.
3536         * tests/tap-escape-directive.test: Likewise.
3537         * tests/tap-fancy2.test: Likewise.
3538         * tests/tap-no-spurious.test: Likewise.
3539         * tests/tap-out-of-order.test: Likewise.
3540
3541 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3542
3543         * THANKS (Daniel Richard G.): Update e-mail address.
3544
3545 2011-08-16  Daniel Richard G. <skunk@iskunk.org>  (tiny change)
3546             Stefano Lattarini  <stefano.lattarini@gmail.com>
3547
3548         java: avoid compilation errors when CLASSPATH is empty
3549         * lib/am/java.am (CLASSPATH_ENV): When redefining `$CLASSPATH',
3550         do not append an empty component in case the previous value of
3551         CLASSPATH is empty or unset.
3552         * tests/java-empty-classpath.test: New test.
3553         * tests/Makefile.am (TESTS): Update.
3554         Fixes automake bug#9306.
3555
3556 2011-08-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3557
3558         parallel-tests: no more spurious successes for FreeBSD make
3559         Work around a bug of FreeBSD make bug that was causing the
3560         automake-generated "check" target to complete with success
3561         even if some tests failed; this happened only when FreeBSD
3562         make was run in concurrent mode (as in, e.g., "make -j2
3563         check").  The bug is not present in NetBSD make.
3564         This change fixes automake bug#9245:
3565          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>
3566         See also FreeBSD PR bin/159730:
3567          <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>
3568         * lib/am/check.am [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Use a
3569         more "safe" (and apparently redundant) idiom to exit with error,
3570         so that the non-zero exit status is picked up also by FreeBSD
3571         make when it's running in concurrent mode.
3572         * NEWS: Update.
3573         * tests/check-concurrency-bug9245.test: New test.
3574         * tests/Makefile.am (TESTS): Update.
3575
3576 2011-08-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
3577
3578         hacking: we now require autoconf 2.68
3579         * HACKING ("Working in git"): Use autoconf and autom4te 2.68,
3580         not 2.67, in the examples.
3581
3582 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3583
3584         tap: improve granularity for tests on problematic TAP messages
3585         * tests/tap-message-0.test: Break up into ...
3586         * tests/tap-msg0-result.test, tests/tap-msg0-directive.test,
3587         tests/tap-msg0-planskip.test, tests/tap-msg0-misc.test,
3588         tests/tap-msg0-bailout.test: ... these new tests, and extend
3589         a little.
3590         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3591
3592 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3593
3594         tap: correctly handle string "0" in TAP messages
3595         * lib/tap-driver.pl (is_null_string): New function, can be used
3596         to determine whether a given string variable is empty or undefined.
3597         Useful to avoid pitfalls like:
3598           if ($message) { print "$message\n"; }
3599         which wouldn't print anything if $message is the literal "0".
3600         (handle_tap_test, handle_tap_plan, handle_tap_bailout): Use it,
3601         to avoid missing messages composed only by a literal "0" in TAP
3602         result descriptions and in skip, todo and bailout explanations.
3603         * tests/tap-message-0.test: Enhance.
3604         * tests/Makefile.am (XFAIL_TESTS): Remove it, it passes now.
3605
3606 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3607
3608         tap: a minor simplification in the perl TAP driver
3609         * lib/tap-driver.pl: The `--disable-hard-errors' option is a
3610         no-op, so just ignore it and its argument.
3611
3612 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3613
3614         parallel-tests: fix help screen for test driver scripts
3615         * lib/tap-driver.pl ($USAGE): The `--trs-file' option is mandatory
3616         too.
3617         * lib/tap-driver.sh (print_usage): Likewise.
3618         * lib/test-driver (print_usage): Likewise.
3619         ($scriptversion): Update.
3620
3621 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3622
3623         tap: add a dummy TAP driver script implemented in shell + awk
3624         The user can also now decide which implementation of the TAP driver
3625         to use in the testsuite by defining the `$am_tap_implementation'
3626         variable to either "perl" or "shell".  Future enhancements will
3627         allow the testsuite to automatically run the test scripts on TAP
3628         support with both the TAP driver implementations, to improve
3629         coverage.
3630         * tests/defs (fetch_tap_driver): Honor the `$am_tap_implementation'
3631         variable to decide which implementation of the TAP driver to fetch.
3632         ($am_tap_implementation): Default to "perl".
3633         * tests/tap-common-setup.test: Do not fetch the TAP driver, the
3634         code in tap-setup.sh does that already (and respecting runtime
3635         overriding of `$am_tap_implementation').
3636         * lib/tap-driver: Renamed ...
3637         * lib/tap-driver.pl: ... to this, and ...
3638         ($ME): ... adjusted this.
3639         * doc/automake.texi: Adjust to the renaming.
3640         * tests/Makefile.am (TAP_LOG_DRIVER): Likewise.
3641         * tests/tap-doc2.test: Likewise.
3642         * lib/tap-driver.sh: New script, still mostly dummy.
3643         * lib/Makefile.am (dist_script_DATA): Update, and since we are at
3644         it, rewrite it to make it easier to add new entries in the future.
3645
3646 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3647
3648         testsuite: refactor tests on TAP support in view of future changes
3649         * tests/defs (fetch_tap_driver): New subroutine; it fetches the
3650         automake-provided TAP driver from the `lib/' directory into the
3651         current directory, and edits its shebang line so that it will be
3652         run with the perl interpreter determined at configure time.
3653         * tests/tap-setup.sh: Use it.
3654         * tests/tap-common-setup.test: There's no need to AC_SUBST `PERL'
3655         anymore, nor to use it in the Makefile to run the TAP driver.
3656         Also, use the `fetch_tap_driver' function instead of copying the
3657         `tap-driver' auxiliary script directly.
3658         * tests/tap-bad-prog.tap: Likewise.
3659         * tests/tap-diagnostic-custom.test: Likewise.
3660         * tests/tap-doc.test: Likewise.
3661         * tests/tap-merge-stdout-stderr.test: Likewise.
3662         * tests/tap-more.test: Likewise.
3663         * tests/tap-more2.test: Likewise.
3664         * tests/tap-recheck.test: Likewise.
3665         * tests/tap-summary-aux.sh: Likewise.
3666         * tests/tap-basic.test: Likewise, and fix a grammaro in comments
3667         since we are at it.
3668
3669 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3670
3671         test defs: fix typo in comments
3672         * tests/defs (get_shell_script): Fix typo in the function
3673         description.
3674
3675 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3676
3677         coverage: missing tap plan and non-zero exit status
3678         * tests/tap-missing-plan-and-bad-exit.test: New test.
3679         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3680
3681 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3682
3683         testsuite: fix an unportable use of sed
3684         * tests/tap-todo-skip-whitespace.test: Alternation with "\|" in
3685         sed regular expressions is not portable to (at least) FreeBSD
3686         sed; do not use it.
3687
3688 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3689
3690         testsuite: avoid spurious failure if rst2html program is missing
3691         * tests/test-driver-custom-no-html.test: Account for the
3692         possibility of a lacking `rst2html' program in our final
3693         grepping of make output.
3694
3695 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3696
3697         tap: improve diagnosing and reporting of plan mismatches
3698         Problem exposed by a failure in the test 'tap-plan-errors.test'.
3699         * lib/tap-driver (NO_PLAN, EARLY_PLAN, LATE_PLAN): New constants.
3700         (Throughout the file): Use more complex semantics for `$plan_seen',
3701         which now also remember whether the plan that has been seen is an
3702         "early" or "late" plan; in turn, this makes ...
3703         ($tap_stopped): ... this variable redundant; remove it.
3704         (handle_tap_plan): Adjust to avoid producing spurious or confusing
3705         error messages about extra or mismatched "late" TAP plans.
3706         * tests/tap-plan-corned.test: Adjust and extend.
3707         * tests/tap-color.test: Likewise.
3708
3709 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3710
3711         tap: log all TAP stream, even after a "Bail out!"
3712         * lib/tap-driver ($bailed_out): New global boolean variable,
3713         telling whether a "Bail out!" directive has been seen or not.
3714         (handle_tap_bailout): This function does not anymore stop the
3715         reading from TAP stream; instead, it sets `$bailed_out' to a
3716         true value, so that only the subsequent parsing of the input
3717         TAP stream is stopped.
3718         (finish): Remove, no more needed, its contents inlined into ...
3719         (main): ... this function, with related adjustments in the code
3720         flow.
3721         (get_test_exit_message): Do not "flush" the input TAP stream
3722         to fetch the exit status of test script, it is not anymore
3723         required.  Add a sanity check.
3724         * tests/tap-bailout-and-logging.test: New test.
3725         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3726
3727 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3728
3729         coverage: TAP diagnostics after "Bail out!" aren't reported
3730         This is compatible with the behaviour of the `prove' utility.
3731         * tests/tap-bailout-suppress-later-diagnostic.test: New test.
3732         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3733
3734 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3735
3736         coverage: TAP errors after a "Bail out!" directive aren't reported
3737         This is compatible with the behaviour of the `prove' utility.
3738         * tests/tap-bailout-suppress-later-errors.test: New test.
3739         * tests/tap-bailout-badexit.test: Renamed ...
3740         * tests/tap-bailout-suppress-badexit.test: ... to this, for
3741         consistency.
3742         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3743
3744 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3745
3746         testsuite: reorganize tests on TAP plans
3747         * tests/tap-skip-whole.test: Rename ...
3748         * tests/tap-planskip.test: ... to this
3749         * tests/tap-skip-whole-badexit.test: Rename ...
3750         * tests/tap-planskip-badexit.test: ... to this.
3751         * tests/tap-skip-whole-bailout.test: Rename ...
3752         * tests/tap-planskip-bailout.test: ... to this.
3753         * tests/tap-skip-whole-bailout.test: Rename ...
3754         * tests/tap-planskip-later-errors.test: ... to this.
3755         * tests/tap-skip-whole-unplanned.test: Rename ...
3756         * tests/tap-planskip-unplanned.test: ... to this.
3757         * tests/tap-skip-whole-whitespace.test: Rename ...
3758         * tests/tap-planskip-whitespace.test: ... to this.
3759         * tests/tap-skip-whole-continue.test: Rename ...
3760         * tests/tap-planskip-and-logging.test: ... to this, extend to try
3761         more cases, and fix heading comments.
3762         * tests/tap-skip-whole-lastline.test: Rename ...
3763         * tests/tap-planskip-late.test: ... to this, fix heading comments,
3764         and remove some checks that are just a duplication of those already
3765         performed in the previous script.
3766         * tests/tap-results-with-planskip.test: Rename to ...
3767         * tests/tap-planskip-unplanned-corner.test: ... this, and improve
3768         hading comments.
3769         * tests/tap-planskip-later-errors.test: New test.
3770         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3771
3772 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3773
3774         coverage: more TAP driver consistency w.r.t. 'prove'
3775         * tests/skip-results-with-planskip.test: New test, verifies that
3776         test results seen in a TAP stream that has a "plan with SKIP" are
3777         flagged as errors.
3778         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3779
3780 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3781
3782         tap: improve some comments in the TAP driver
3783         * lib/tap-driver (handle_tap_plan): Improve comments describing
3784         possible errors in a "plan with SKIP" directive.
3785
3786 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3787
3788         tap: non-zero exit status after "Bail out!" should not be reported
3789         This new behaviour is more consistent with that of the `prove'
3790         utility.  Also, experience with the use of TAP in the Automake's
3791         own test suite has shown that reporting non-zero exit status from
3792         a script after it has issued a "Bail out!" directive is mostly
3793         redundant, more introducing noise rather than conveying useful
3794         information.
3795         * lib/tap-driver (finish): Inline the part of it that was getting
3796         the script exit status ...
3797         (main): ... in here.
3798         * tests/tap-bailout-badexit.test: New test.
3799         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3800
3801 2011-08-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
3802
3803         tap: a "plan with SKIP" after test results is an error
3804         This new behaviour is both more natural and more consistent with
3805         that of the `prove' utility.
3806         * lib/tap-driver (handle_tap_plan): Do not stop TAP parsing when
3807         a "plan with SKIP" line (e.g., "1..0 # SKIP") is encountered, and
3808         do not print a "SKIP" line if some TAP result has already been
3809         seen.
3810         * tests/tap-skip-whole.test: Adapt.
3811         * tests/tap-skip-whole-lastline.test: Likewise.
3812         * tests/tap-global-result.test: Adapt and extend.
3813         * tests/tap-skip-plan-errors.test: Likewise, and fix an obsolete
3814         small part of a comment.
3815         * tests/tap-skip-whole-bailout.test: New test.
3816         * tests/tap-skip-whole-unplanned.test: Likewise.
3817         * tests/tap-skip-whole-continue.test: Likewise.
3818         * tests/Makefile.am (tap_with_common_setup_tests): Update.
3819
3820 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3821
3822         test harness: avoid possible fork bomb
3823         This fixes a regression w.r.t. the master branch, exposed by
3824         test 'parallel-tests-fork-bomb.test'.
3825         * lib/am/check.am (am--redo-logs): Detect possible infinite
3826         recursion due to a test log in $(TEST_LOGS) being the same
3827         as $(TEST_SUITE_LOG).
3828
3829 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3830
3831         coverage: enhance test against infinite recursion in test harness
3832         * tests/parallel-tests-fork-bomb.test: Enhance and extend a
3833         little now, for soon-to-be-implemented more explicit and safer
3834         semantics.
3835
3836 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3837
3838         coverage: possible infinite recursion in the test harness
3839         Motivated by a regression in the 'test-protocols' branch.
3840         * tests/parallel-tests-fork-bomb.test: New test, checking that
3841         if $(TEST_SUITE_LOG) is in $(TEST_LOGS), we obtain a diagnosed
3842         error rather than a make hang or a fork bomb.
3843         * tests/Makefile.am (TESTS): Update.
3844
3845 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3846
3847         test defs: yet more environment cleanup
3848         * tests/defs: Also unset the TEST_SUITE_LOG variable.
3849
3850 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3851
3852         self tests: some minor refactoring
3853         * tests/self-check-exit.tap: Disable the `errexit' shell flag;
3854         this allow to remove some boilerplate idioms and to make some
3855         code slightly less cumbersome.
3856         * tests/self-check-me.tap: Likewise.
3857
3858 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3859
3860         maintcheck: look for TAP-based tests without TAP plan
3861         * Makefile.am (sc_tests_tap_plan): New maintainer check.
3862         (syntax_check_rules): Add it.
3863         * tests/suffix10.tap: Declare a TAP plan.
3864         * tests/add-missing.tap: Likewise.
3865
3866 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3867
3868         testsuite: avoid confusing SKIP messages for errored tests
3869         * tests/defs [$use_tap] (exit trap): Don't print the test plan
3870         in case the client script exited with a non-zero status.  This
3871         avoids the display of redundant "SKIP" messages for tests with
3872         lazy plans that error out before any test is run.
3873
3874 2011-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3875
3876         testsuite: keep more debugging info around in 'add-missing.tap'
3877         * tests/add-missing.tap: Use a different directory for each test,
3878         so that in case of failure more information is kept around.
3879         Since we are at it, remove redundant TAP diagnostic, and define
3880         `$am_create_testdir' to "empty" to avoid bringing in unused
3881         auxiliary files.
3882
3883 2011-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3884
3885         testsuite: more granular count of test results in our TAP library
3886         * tests/tap-functions.sh ($tap_bad_count_): Removed, superseded
3887         by ...
3888         ($tap_fail_count_, $tap_xpass_count_): ... these new variables,
3889         which keep more granular counts.
3890         ($tap_pass_count_: New variable.
3891         * tests/defs (exit trap): Adjust and simplify accordingly.
3892
3893 2011-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3894
3895         testsuite: fixlets and improvements in two long TAP-based tests
3896         * tests/depmod.tap: Clean up the subdirectories used by tests that
3897         passed, to avoid ending up with a too big test directory.  This is
3898         especially important since, on each and every system, at least some
3899         tests in this script are expected to be skipped (which ones exactly
3900         depends on the system), thus causing the test directory not to be
3901         removed when the script terminates.
3902         * tests/instspc.tap: Likewise (with the difference that tests here
3903         are not expected to be skipped, but to xfail).  Give more explicit
3904         error message in case of setup failure.  Skip the proper number of
3905         tests when required, to avoid spurious errors due to mismatched
3906         plan.  Also, really avoid to run the unsupported test cases when
3907         the need to skip them is detected.
3908
3909 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3910
3911         test harness: recursive make invocations must use $(AM_MAKEFLAGS)
3912         * lib/am/check.am ($(TEST_SUITE_LOG)): Pass $(AM_MAKEFLAGS)
3913         to $(MAKE) when issuing a recursive make call.
3914         Problem detected by the `sc_tests_make_without_am_makeflags'
3915         maintainer check.
3916
3917 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3918
3919         tests: fix spurious failure in 'suffix-chain.tap'
3920         * tests/suffix-chain.test: Use more uncommon suffixes that
3921         don't trigger built-in recipes with FreeBSD make.
3922
3923 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3924
3925         testsuite: improvements to our shell TAP library and APIs
3926         These improvements impact only the Automake's own testsuite.
3927         * tests/tap-functions.sh (plan_): Allow new special arguments
3928         "unknown" a.k.a. "later" and "lazy" a.k.a. "now".  Perform
3929         sanity check the given arguments.  Adjust incorrect comments.
3930         (lazy_plan_): Removed, superseded by the new version of `plan_'.
3931         (not): New function, run a command and inverts its exit status.
3932         (ok_, not_ok_, skip_): These are just shorthands for common
3933         `result_' usages.
3934         (xfail_, xpass_, reset_test_count_): Removed, they are not used,
3935         nor does a legitimate use for them seem in sight.
3936         (not): New function, to run a command inverting its exit status.
3937         (command_not_ok_): Removed, superseded by `command_ok_' + `not'.
3938         (command_ok_): Extended to accept TAP directives.
3939         * tests/defs (trap): Don't use `late_plan_' anymore, use
3940         `plan_ "now"' instead.
3941         * tests/ac-output-old.tap: Update to take advantage of the new
3942         APIs.
3943         * tests/self-check-env-sanitize.tap: Likewise.
3944         * tests/suffix-chain.tap: Likewise.
3945         * tests/suffix10.tap: Likewise.
3946         * tests/suffix11.tap: Likewise.
3947         * tests/suffix3.tap: Likewise.
3948         * tests/suffix8.tap: Likewise.
3949         * tests/tap-bad-prog.tap: Likewise.
3950         * tests/self-check-exit.tap: Likewise, plus a small improvement
3951         in the name of a variable.
3952
3953 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3954
3955         testsuite: convert some `suffix*' tests to TAP
3956         This will allow us to explicitly declare some expected failures
3957         involving Solaris make as such, instead of partly papering over
3958         them with skips and partly letting them fail too loudly.
3959         * tests/suffix-chain.test: Rename ...
3960         * tests/suffix-chain.tap: ... to this, and convert to the use of
3961         TAP.  Also, fix some bugs since we are at it, and ...
3962         ($required): ... require `cc'.
3963         * tests/suffix3.test: Rename ...
3964         * tests/suffix3.tap: ... to this, and convert to the use of TAP.
3965         Also, since we are at it, throw in some formatting fixes.
3966         * tests/suffix8.test: Rename ...
3967         * tests/suffix8.tap: ... to this, and convert to the use of TAP.
3968         Also, since we are at it, throw in some formatting fixes.
3969         * tests/suffix10.test: Rename ...
3970         * tests/suffix10.tap: ... to this, and convert to the use of TAP.
3971         * tests/suffix11.test: Rename ...
3972         * tests/suffix11.tap: ... to this, and convert to the use of TAP.
3973         * tests/Makefile.am (TESTS): Update.
3974
3975 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3976
3977         tests: don't let a known Solaris make bug poison too many tests
3978         See automake bug#7670 and bug#7824.
3979         * tests/defs (make_can_chain_suffix_rules): New function, tell
3980         whether the make implementation in use can chain suffix rules
3981         automatically or not.
3982         * tests/suffix3.test: Use it to avoid issuing calls to make that
3983         are unportable to make implementations that are not smart enough
3984         to chain suffix rules automatically.
3985         * tests/suffix8.test: Use it to avoid issuing calls to make that
3986         * tests/suffix10.test: Use it to avoid issuing calls to make that
3987         * tests/suffix11.test: Use it to avoid issuing calls to make that
3988         * tests/suffix-chain.test: New test, exposes the limitation that
3989         we have papered over in the tests above.
3990
3991 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3992
3993         gitignore: more use of anchors
3994         * .gitignore: Anchor files that are intended to be ignored only
3995         if found in the same directory of the `.gitignore' file, not also
3996         in its subdirectories.
3997         * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
3998         lib/Automake/tests/.gitignore, tests/.gitignore: Likewise.  Also,
3999         where needed, add new entries that were once implied by the
4000         non-anchored entries in the upper-level `.gitignore' files.
4001
4002 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
4003
4004         self tests: avoid spurious output on console, and related fixlets
4005         * tests/self-check-cleanup.test: Set `$stderr_fileno_' to `2'
4006         in the self tests, to avoid spurious diagnostic on console.
4007         * tests/self-check-exit.tap: Only unset `am_explicit_skips' and
4008         `$stderr_fileno_' in the self tests, not at the global level, it
4009         is more correct.
4010         ($init): New variable, to reduce code duplication.
4011         Some refactoring and adjustments to the name of the tests.
4012
4013 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
4014
4015         test defs: few more sanity checks
4016         * tests/defs: Catch some more (very unlikely) set-up or internal
4017         errors, and diagnose them explicitly.  This is intended mostly
4018         to be a theoretic-only improvement.
4019
4020 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
4021
4022         test defs: really make them "set -e" clean
4023         Motivated by a spurious failure of test `instsh3-w.shtst' on
4024         Solaris 10.
4025         * tests/defs: Make really "set -e" clean, to avoid spurious
4026         failures in case this file is sourced by a test script that has
4027         already set the `errexit' flag.  To be sure we don't regress,
4028         move the `set -e' call much earlier, and make the comment telling
4029         about the expected "set -e" cleanliness more loud and outstanding.
4030
4031 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
4032
4033         self tests: register an expected failures with Solaris /bin/sh
4034         Solaris 10 /bin/sh erroneously exit with success right away when
4035         the following three conditions are met at the same time:
4036          1. the `errexit' flag is active,
4037          2. an exit trap is installed, and
4038          3. a non-existing command is issued.
4039         * tests/self-exit.tap: When that bug is detected, issue an XFAIL
4040         rather than a FAIL.  Since we are at it, improve by avoiding
4041         creation of stray temporary files when testing for non-executable
4042         commands.
4043
4044 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
4045
4046         gitignore: update and improve for the testsuite files
4047         * tests/.gitignore: Don't ignore temporary partial log files,
4048         autogenerated tests and makefile fragments that are not used
4049         anymore.  Anchor all the remaining patterns.
4050
4051 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
4052
4053         self tests: some new uses of TAP, few extensions
4054         * tests/self-check-me.test: Renamed ...
4055         * tests/self-check-me.tap: .. to this, and converted to use TAP.
4056         * tests/self-check-exit.test: Renamed ...
4057         * tests/self-check-exit.tap: .. to this, and converted to use TAP.
4058         Set `$stderr_fileno_' to `2', to avoid spurious messages on the
4059         console.  Add a new test, and relax another one.
4060         * tests/self-check-env-sanitize.test: Renamed ...
4061         * tests/self-check-env-sanitize.tap: .. to this, and converted to
4062         the use TAP.
4063         * tests/Makefile.am (TESTS): Update.
4064
4065 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
4066
4067         test defs: test directory creation more configurable
4068         After this change, the individual tests will be able to tell
4069         `./defs' whether or not to create a temporary test directory
4070         for them, and if yes, whether or not to pre-populate it.
4071         * tests/defs: Only create the temporary test directory if the
4072         variable `$am_create_testdir' is not set to "no".  In this
4073         case, only pre-populate it if that variable is not set to
4074         `$empty'.
4075         * tests/defs-static.in: Check that `$am_create_testdir' is not
4076         exported in the environment.
4077         * tests/self-check-env-sanitize.test: Update.
4078         * tests/self-check-dir.test: Extend, and make deeper and more
4079         robust.
4080         * tests/README (Section "Writing test cases" subsection "Do"):
4081         Update.
4082         * tests/autodist.test: Set `$am_create_testdir' instead of
4083         removing by hand files created by ./defs.
4084         * tests/tap-doc2.test: Likewise.
4085
4086 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4087
4088         testsuite: more uses of the `seq_' function
4089         * tests/parallel-tests-exit-statuses.test: Use the `seq_' function
4090         from `tests/defs', instead of duplicating its semantics.
4091         * tests/testsuite-summary-count.test: Likewise.
4092
4093 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4094
4095         testsuite: drop redundant environment sanitization
4096         * tests/Makefile.am (TESTS_ENVIRONMENT): Don't remove `planned'
4097         from the environment.
4098         * tests/defs-static.in: Don't complain if `planned' is set in
4099         the environment.
4100         * tests/self-check-env-sanitize.test: Update.
4101
4102 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4103
4104         test defs: fix bug in plain version of `skip_all_'
4105         * tests/plain-functions.sh (skip_all_): Call `skip_', not `skip'.
4106
4107 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4108
4109         test defs: small cleanups and tweakings
4110         * tests/defs: Where possible, prefer `framework_failure_' or
4111         `fatal_' to `Exit 99'.  Try to catch more possible hard errors
4112         and setup failures.  Do not hide expected error messages.  Avoid
4113         a couple of forks when copying files from `$(top_srcdir)/lib'.
4114         ($signal): Remove, no more needed.
4115
4116 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4117
4118         testsuite: improve interface for giving early TAP plan
4119         Since commit `v1.11-976-g4740f56', an early TAP plan can also be
4120         specified after input lines have already been seen, as long as
4121         no one of them is a TAP result line.  We can now take advantage
4122         of this in our own testsuite, allowing the TAP-based scripts to
4123         specify their earlier plan after having included `./defs'.  In
4124         particular, this offers the benefit of allowing those scripts to
4125         issue a "skip all" plan (e.g., "1..0 # SKIP reason ...") after
4126         the inclusion of `./defs', which wasn't possible with the older
4127         interface (introduced in commit `v1.11-1114-g0286308').
4128         * tests/defs: Don't try to call `plan_' if `$planned' is defined,
4129         the calling scripts can do that directly now.
4130         * tests/ac-output-old.tap: Use `plan_' directly instead of
4131         setting `$planned' before including `./defs'.
4132         * tests/automake-cmdline.tap: Likewise.
4133         * tests/depmod.tap: Likewise.
4134         * tests/instspc.tap: Likewise.
4135         * tests/tap-bad-prog.tap: Likewise.
4136         * tests/add-missing.tap: Don't set `$planned'.
4137
4138 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4139
4140         test defs: fix bug in TAP version of `skip_all_'
4141         * tests/tap-functions (skip_all_): Set `$have_tap_plan_' to "yes"
4142         when called, so that the exit trap won't write another TAP plan.
4143
4144 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4145
4146         test defs: fix skip directives to work also with TAP-based tests
4147         * test/defs: Use `skip_all_', not `skip_', to issue a skip of the
4148         whole calling test script.
4149
4150 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4151
4152         test defs: more environment cleanup
4153         * tests/defs: Also unset variables AM_COLOR_TESTS and
4154         AM_TESTS_ENVIRONMENT.
4155
4156 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4157
4158         test harness: more minor VPATH-rewrite issues
4159         * tests/am/check.am (am__set_TESTS_bases, $(TEST_SUITE_LOGS),
4160         am--redo-logs, recheck, recheck-html): Cosmetic fixlets to
4161         minimize the risk of unwanted VPATH rewrites.
4162         (check-TESTS): Likewise, and normalize trailing whitespace
4163         since we are at it.
4164         Bugs exposed by test cases `check6-p.test' and `check7-p.test'.
4165
4166 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4167
4168         test harness: "make -n check" works correctly with Solaris make
4169         To avoid some recipes being executed with "make -n", we used the
4170         trick of issuing recursive make calls not directly with $(MAKE),
4171         but with a simple indirection instead:
4172           ...
4173           am__stealth_MAKE = $(MAKE)
4174           ...
4175           target:
4176               ... $(am__stealth_MAKE) ...
4177           ...
4178         This hack worked with GNU make, but, unfortunately, not with
4179         Solaris make.  The present change removes the hack, and uses more
4180         proper idioms to avoid unwanted recipe executions with "make -n".
4181         Bug exposed by test case `parallel-tests-dry-run.test'.
4182         * lib/am/check.am (am__stealth_MAKE): Remove, no more used.
4183         (.log.trs): Break recipe in multiple shell invocations.
4184         ($(TEST_SUITE_LOG)): Likewise, and move some corner-case parts of
4185         the recipe to ...
4186         (am--redo-logs): ... this new internal helper .PHONY target.
4187
4188 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4189
4190         tests: fix spurious failure with Solaris make
4191         * tests/distcheck-configure-flags-am.test: Avoid using `+=' too
4192         liberally with AM_DISTCHECK_CONFIGURE_FLAGS, since the line breaks
4193         so introduced, in conjunction with single quotes, might confuse
4194         Solaris make.
4195
4196 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4197
4198         test harness: fixlet in workaround for VPATH rewrite issue
4199         Fixes a minor in previous commit `v1.11-983-gfda3de5'.
4200         * lib/am/check.am (am__set_TESTS_bases): Add forgotten end-of-line
4201         anchor to sed expression.  In comments, add reference to ...
4202         * tests/test-trs-basic.test: ... this test, which has been adapted
4203         and tightened (and tweaked).
4204
4205 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4206
4207         test harness: work around a VPATH rewrite issue
4208         * lib/am/check.am (am__TEST_BASES): Removed, it's role taken
4209         over by ...
4210         (am__set_TESTS_bases): ... these new variable.
4211         ($(TEST_SUITE_LOG): Use it, to avoid VPATH rewrite issues.
4212         * automake.in (handle_tests): Update the code for the cleanup
4213         of the `.trs' file to use `$(TEST_LOGS)' instead of
4214         `$(am__TEST_BASES)'.
4215         * tests/test-harness-vpath-rewrite.test: New test, better
4216         exposing the problem fixed by this change
4217         * tests/Makefile.am (TESTS): Add it.
4218         * tests/test-trs-basic.test: Update and extend.
4219
4220 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4221
4222         parallel-tests: work around Solaris XPG4 make segfault
4223         Issue exposed by test `posixsubst-tests-p.test', and similar to
4224         the problem solved by commit `v1.11-159-ge7aa360'.
4225         * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Trim trailing
4226         whitespace from $list, to avoid triggering a nasty bug (potential
4227         segfault) on Solaris XPG4 make and Heirloom make.
4228
4229 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4230
4231         testsuite: fix weird spurious failure with Solaris /bin/sh
4232         Solaris /bin/sh, when killed with a SIGTERM or SIGINT signal, can
4233         apparently end up exiting with exit status 208, instead of leaving
4234         the correct wide exit status to the parent.  See:
4235          <http://dbaspot.com/shell/396118-bourne-shell-exit-code-term.html>
4236         Work around this incompatibility.
4237         * tap-signal.test: Look for the above Solaris bug.
4238         (signal_caught): Adapt to handle it.
4239
4240 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4241
4242         testsuite: fix another spurious failure on Solaris make
4243         * tests/parallel-tests-log-override-recheck.test: Filter make
4244         output before grepping it, for make implementations that, like
4245         Solaris' one, print the whole of the failed recipe on failure.
4246
4247 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4248
4249         testsuite: fix two spurious failures on Solaris make
4250         * tests/tests-environment-and-log-compiler.test: Do not fail if
4251         "make -n check" fails, as that is issued only for debugging, its
4252         semantics being tested in other test scripts.
4253         * tests/test-driver-strip-vpath.test: Likewise.
4254
4255 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4256
4257         tap driver: refactor and remove dead code
4258         * lib/tap-driver (get_tap_line): Removed, ...
4259         (all callers): ... updated to use $parser->next directly instead.
4260         (peek_tap_line, unget_tap_line, @tap_lines): Remove, they're not
4261         used anymore.
4262         (TAP_PEEKING): Block deleted, all its subroutines and variables
4263         having been removed.
4264
4265 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4266
4267         testsuite: fix spurious failure in a test on TAP support
4268         * tests/tap-passthrough-exit.test: When the `--ignore-exit' flag
4269         of the TAP driver is used, don't look for a message reporting the
4270         non-zero exit statuses of tests in the log files; such message is
4271         not expected to be there anymore.  Related simplifications.
4272
4273 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4274
4275         tap: plan location is more liberal w.r.t. non-TAP lines
4276         With this change, only lines that are TAP results will matter
4277         w.r.t. the position of the TAP plan in the input; for example,
4278         this input:
4279           this is a non-TAP line
4280           # and this a TAP diagnostic line
4281           1..1
4282           ok 1
4283         was considered to be an error, diagnosed with a message "test
4284         plan in middle of output"; as effect of the current change, such
4285         input is now valid.  This is more consistent with the behaviour
4286         of the `prove' utility.
4287         * lib/tap-driver ($lineno): Removed, no more needed.
4288         ($tap_stopped): New global variable.
4289         (stringify_test_result): Return "ERROR" if a TAP result is found
4290         when `$tap_stopped' is set to true.
4291         (handle_tap_test): Diagnose TAP results that comes after a late
4292         plan.  Add a couple of blank lines, for clarity.
4293         (handle_tap_plan): Set `$tap_stopped' to true after a late plan
4294         is encountered.  Do not complain anymore for extra non-TAP lines
4295         preceding or following the plan.  Adjust comments.
4296         (main): Don't increment $lineno anymore.
4297         * tests/tap-plan.test: Extend a bit, and remove stale comment.
4298         * tests/tap-color.test: Adjust.
4299         * tests/tap-passthrough.test: Likewise.
4300         * tests/tap-plan-corner.test: Adjust and extend.
4301         * tests/tap-plan-errors.test: Likewise.
4302         * tests/tap-plan-middle.test: New test.
4303         * tests/tap-plan-corner2.test: Delete, it's obsolete now.
4304         * tests/Makefile.am (XFAIL_TESTS): Remove it.
4305         (tap_with_common_setup_tests): Likewise, and add
4306         `tap-plan-corner.test'.
4307
4308 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4309
4310         testsuite: remove now-passing test from XFAIL_TESTS
4311         * tests/Makefile.am (XFAIL_TESTS): Remove `tap-signal.test',
4312         which is passing since previous commit `v1.11-974-gc7fa872'.
4313
4314 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4315
4316         test defs: get name of TAP-using tests correctly
4317         This change fixes the names of the temporary directories used
4318         by the TAP-based tests (e.g., test `foo.tap' now uses `foo.dir'
4319         rather than `foo.tap.dir'); more importantly, this make the
4320         variable `$destdir' defined in `tests/defs' usable also in the
4321         TAP tests.
4322         ($me): Also strip the any `.tap' suffix from the name of the
4323         test.
4324
4325 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4326
4327         testsuite: TAP tests properly decide when to remove tempdirs
4328         Before this change, the TAP tests in the Automake testsuite were
4329         removing the temporary test directory even when they failed or
4330         were skipped, thus making debugging more difficult.
4331         * tests/tap-functions.sh (incr_tap_count): Removed, superseded
4332         by ...
4333         (incr_): ... this function, which can increment the value of any
4334         variable passed to it.
4335         (result_):  Updated to use `incr_' instead of the now-removed
4336         `incr_tap_count_'.  Keep count of failures, xfailures, xpasses,
4337         and skips, using ...
4338         ($tap_skip_count_, $tap_bad_count, _$tap_xfail_count_): ...
4339         these new variables.
4340         * tests/defs (trap): Try to use their values to decide whether
4341         the temporary directory being used by the test script should be
4342         removed or not.  Other code reorganizations.  And move the code
4343         for the removal of the temporary directory out to ...
4344         (rm_rf_): ... this new subroutine.
4345         (Main code): Use that instead of duplicating the code.
4346
4347 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4348
4349         testsuite: improve and refactor our custom TAP shell library
4350         This change is mostly done in preparation for the next one.
4351         * tests/tap-functions.sh (result_with_directive_): Merge into ...
4352         (result_): ... this function, which has been greatly extended and
4353         improved in various ways.
4354         (ok_, not_ok_, skip_, xfail_, xpass_): Adjust.
4355         Adjust comments.  Remove an extra empty line.
4356         * tests/instspc.tap: Use the new improved interface of `result_'.
4357         * tests/tap-bad-prog.tap: Likewise.
4358
4359 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4360
4361         testsuite: update "user interface" description in tests/README
4362         * tests/README (Subsection "Interpretation"): Mention the "ERROR"
4363         outcome.
4364         (Subsection "Getting details from failures"): Don't tell that the
4365         test scripts can be run directly, this is not 100% true; anymore;
4366         instead ...
4367         (Subsection "About the tests"): ... use this new subsection to
4368         explain how to run the tests (either simple or TAP-based) by hand.
4369         (Subsection "Supported shells"): Extend to refer to TAP tests too.
4370
4371 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4372
4373         testsuite: TAP tests can have early plan now
4374         * tests/defs: When using TAP, allow the user to specify the number
4375         of tests through the `$planned' variable.
4376         (trap): Do not print the auto-generated plan if an explicit one
4377         has already been printed.
4378         * tests/defs-static.in: Complain and bail out if the `$planned'
4379         variable is exported in the environment.  Reformat the code to
4380         facilitate future additions.
4381         * tests/Makefile.am (TESTS_ENVIRONMENT): Neutralize `$planned'.
4382         * tests/self-check-env-sanitize.test: Update.
4383         * tests/ac-output-old.tap: Give an explicit TAP plan, by defining
4384         `$planned' just before including `./defs'.
4385         * tests/depmode.tap: Likewise.
4386         * tests/automake-cmdline.tap: Likewise.
4387         * tests/tap-bad-prog.tap: Likewise.
4388         * tests/instspc.tap: Likewise, and related adjustments.
4389         * tests/add-missing.tap: Make it explicit that we have no a-priori
4390         plan, and tell why.
4391
4392 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4393
4394         testsuite: run autogenerated tests with $(LOG_COMPILER) too
4395         This change enhances consistency in the testsuite.
4396         * tests/Makefile.am: Some cosmetic reordering, to keep the
4397         definition of FOO_LOG_COMPILER near to the place where `.foo'
4398         is added to $(TEST_EXTENSIONS).
4399         (PTEST_LOG_COMPILER): Run `$(srcdir)/parallel-tests.sh' with
4400         `$(LOG_COMPILER)', not with `$(SHELL)'.
4401         (SHTST_LOG_COMPILER): Likewise.
4402
4403 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4404
4405         testsuite: run TAP and "plain" tests with the same $(LOG_COMPILER)
4406         With this change, it will be easier to override, at make time, the
4407         shell used to run the tests.
4408         * tests/Makefile.am (LOG_COMPILER): Define to `$(SHELL)'.
4409         (TEST_LOG_COMPILER): Re-define to `$(LOG_COMPILER)'.
4410         (TAP_LOG_COMPILER): Likewise.
4411
4412 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4413
4414         testsuite: run TAP-based tests explicitly with $(SHELL)
4415         * tests/Makefile.am (TAP_LOG_COMPILER): Define to `$(SHELL)'.
4416
4417 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4418
4419         tap driver: handle signals received by the tests being run
4420         * lib/tap-driver (get_test_exit_message): Also deal with signals,
4421         by using the `wait' method of the TAP::Parser object instead of
4422         the `exit' method.  This required the use of the standard perl
4423         module `POSIX'.
4424         * doc/automake.texi (Use TAP with the Automake test harness):
4425         Document that `--ignore-exit' has effect also on terminating
4426         signals.  Add a "synchronizing" comment that references the tests
4427         'tap-exit.test' and 'tap-signal.test'.
4428         * tests/tap-signal.test: Extend and adjust.
4429
4430 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4431
4432         test driver: a preparatory refactoring (2)
4433         * lib/tap-driver (finish): Move code to fetch the message about
4434         the exit status of the test being run to ...
4435         (get_test_exit_message): ... this new subroutine.
4436
4437 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4438
4439         tap driver: a preparatory refactoring (1)
4440         * lib/tap-driver (finish): Do not flush the TAP stream nor
4441         fetch the exit status of the TAP producer if running with
4442         the `--ignore-exit' option.  Obviously, don't try to write
4443         such exit status in the test log anymore.
4444
4445 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4446
4447         cosmetics: typofix in the name of a function in the TAP driver
4448         * lib/tap-driver (testuite_error): Renamed ...
4449         (testsuite_error): ... to this, and minor related reformatting.
4450
4451 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4452
4453         tap: scripts with a SKIP plan but with exit status != 0 must error
4454         This change has been motivated by Automake's own testsuite.  Some
4455         TAP tests there were erroring out (due to unexpected, unhandled
4456         failures) before having encountered TAP result, so that the
4457         simple-minded shell library implementing TAP generation ended up
4458         printing a "1..0" trailing test plan; this caused the script to be
4459         reported as a SKIP rather than an ERROR -- a nasty false negative.
4460         * lib/tap-driver: Add prototypes for each subroutine, to free up
4461         the order in which they can be defined and called.
4462         (main): Move the code checking for a bad exit status of the TAP
4463         producer ...
4464         (finish): ... here, and flush the TAP stream to ensure that the
4465         parser always obtains the producer's exit status.
4466         * tests/tap-skip-whole-badexit.test: New test.
4467         * tests/Makefile.am (tap_with_common_setup_tests): Add it.
4468
4469 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4470
4471         tap: fix whitespace munging of diagnostic messages
4472         * lib/tap-driver (extract_tap_comment): Pass the `g' flag to the
4473         substitution operator, to strip also trailing whitespaces.  Fixes
4474         a failure in test `tap-whitespace-normalization.test'.
4475
4476 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4477
4478         testsuite: refactor and cleanup 'instspc.tap'
4479         * tests/instspc.tap (is_in_list): New helper subroutine.
4480         (expected_to_fail): Re-implement using it.
4481         (define_problematic_string): Likewise.  Also, rename the special
4482         arguments `build-fail' and 'install-fail' to respectively
4483         `builddir-fail' and `destdir-fail', and other related changes.
4484         (Test data definition): Adapt.
4485         ($instspc_xfail_builds_list): Renamed ...
4486         ($builddir_xfails): ... to this.
4487         ($instspc_xfail_installs_list): Renamed ...
4488         ($destdir_xfails): ... to this.
4489         ($instspc_names_list): Renamed ...
4490         ($test_names_list): ... to this.
4491         ($instspc_test_string): Renamed ...
4492         ($test_string): ... to this.
4493         Add some explicative and "FIXME" comments.
4494
4495 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4496
4497         testsuite: use TAP for `depmod*' tests, related simplifications
4498         * tests/depmod-tests.sh: Delete this complex and multifarious
4499         script, moving all it checks it used to perform into ...
4500         * tests/depmod.tap: ... this TAP-based test script.  And extend
4501         it quite a bit, since the new form of the test was papering over
4502         some pre-existing failures (this was due to the fact that the
4503         values used for the VPATH were shorter in the new test script).
4504         * tests/depmod-data.test: Deleted.
4505         * tests/Makefile.am ($(srcdir)/depmod-tests.am): Don't include
4506         nor generate it anymore.
4507         (EXTRA_DIST): Don't distribute depmod-tests.sh anymore.
4508         (TEST_EXTENSIONS): Remove '.depmod'.
4509         (DEPMOD_LOG_COMPILER): Deleted.
4510         (depmod-data.log, $(depmod_tests:.depmod=.log)): Delete
4511         dependencies for these files, which are not used anymore.
4512         ($(depmod_tests)): Delete this dummy dependency declaration.
4513         (TESTS): Remove $(depmod_tests).
4514         (handwritten_tests): Remove depmod-data.test, add depmod.tap.
4515         * bootstrap: Don't generate tests/depmod-tests.am anymore.
4516
4517 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4518
4519         testsuite: use TAP for `instspc*' tests, related simplifications
4520         * tests/instspc-tests.sh: Delete this complex and multifarious
4521         script, moving all it checks it used to perform into ...
4522         * tests/instspc.tap: ... this TAP-based test script.
4523         * tests/instspc-data.test: Deleted.
4524         * tests/Makefile.am ($(srcdir)/instspc-tests.am): Don't include
4525         nor generate it anymore.
4526         (EXTRA_DIST): Don't distribute instspc-tests.sh anymore.
4527         (TEST_EXTENSIONS): Remove '.instspc'.
4528         (INSTSPC_LOG_COMPILER): Deleted.
4529         (XFAIL_TESTS): Remove $(instspc_xfail_tests).
4530         (instspc-data.log, $(instspc_tests:.instspc=.log)): Delete
4531         dependencies for these files, which are not used anymore.
4532         ($(instspc_tests)): Delete this dummy dependency declaration.
4533         (TESTS): Remove $(instspc_tests).
4534         (handwritten_tests): Remove instspc-data.test, add instspc.tap.
4535         * bootstrap: Don't generate tests/instspc-tests.am anymore.
4536
4537 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4538
4539         testsuite: do fd redirections with $(AM_TESTS_FD_REDIRECT)
4540         * tests/Makefile.am: The redirections of file descriptors needed
4541         by our test scripts is now done using the $(AM_TESTS_FD_REDIRECT)
4542         variable (the new blessed way since commit `v1.11-906-gb9e9d54'),
4543         not using an hack involving $(AM_TESTS_ENVIRONMENT).  This has
4544         the further benefit of allowing the use of $(TESTS_ENVIRONMENT)
4545         again on part of the users.
4546         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Remove redirection of
4547         file descriptors.
4548         (AM_TESTS_FD_REDIRECT): Redirect file descriptor 9 to original
4549         stderr.
4550         Comments adjusted.
4551         * tests/plain-functions.sh ($stderr_fileno_): Update comment.
4552
4553 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4554
4555         testsuite: use custom TAP diagnostic in our own tests
4556         This change allow us to easily and transparently avoid spurious
4557         TAP diagnostic in our own testsuite, with the help of the new
4558         `--diagnostic-string' option of our TAP test driver.
4559         * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Also pass option
4560         `--diagnostic-string' with value `#%#' (necessarily obtained
4561         through some shell indirections).
4562         * tests/tap-functions.sh (diag_): Assume that the string denoting
4563         TAP diagnostic is stored in the `$diag_string_' variable.  Update
4564         comments.
4565         ($diag_string_): Initialize to "#".
4566         * tests/defs ($diag_string_): Re-define to "#%#".
4567         (show_): Remove, it's obsolete now.
4568         * add-missing.tap: Don't use `show_' anymore to avoid spurious
4569         TAP diagnostic; `cat' should suffice now.
4570
4571 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4572
4573         tap: fix typo in TAP driver version message
4574         * lib/tap-driver (anonymous subroutine printing the script version
4575         message): Add missing trailing newline to the version message.
4576
4577 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4578
4579         tap docs: we don't support pragma or version directives (yet)
4580         * doc/automake.texi (Incompatibilities with other TAP parsers
4581         and drivers): Document that limitation.  Normalize an unrelated
4582         "TODO" item.
4583
4584 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4585
4586         tap: new option to change the string designating TAP diagnostic
4587         Here we introduce a new option `--diagnostic-string' in our TAP
4588         test driver, that allows the user to specify which string should
4589         denote the beginning of a TAP diagnostic line.  This change is
4590         not gratuitous, nor result if over-engineering: it is motivated
4591         by real issues that have emerged during the use of TAP in the
4592         Automake's own testsuite (see the commit `v1.11-1082-g9b967c2'
4593         "testsuite: yet more use of TAP, and related extensions").
4594         * doc/automake.texi (Use TAP with Automake test harness): Document
4595         the new option.
4596         (Incompatibilities with other TAP parsers and drivers): Report it
4597         as a potential source of incompatibility.
4598         * lib/tap-driver ($diag_string): New global variable, defaulting
4599         to "#", and whose value can be changed ...
4600         (Getopt::Long::GetOptions): ... by the newly recognized option
4601         `--diagnostic-string'.
4602         (handle_tap_comment): Subroutine removed, some of its simple logic
4603         inlined ...
4604         (main): ... in here, where now ...
4605         (extract_tap_comment): ... this new subroutine is used.
4606         ($USAGE): Adjust.
4607         * tests/tap-diagnostic.test: Make one check slightly stricter.
4608         * tests/tap-diag-custom.test: New test.
4609         * tests/Makefile.am (tap_other_tests): Add it.
4610
4611 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4612
4613         check: add small "synchronization" comment to `test-driver'
4614         * lib/test-driver: Add comment to the code initializing ANSI color
4615         escapes, telling to keep it in sync with the similar initialization
4616         in `lib/am/check.am'.
4617
4618 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4619
4620         maintcheck: fix spurious failure w.r.t. use of bare "exit"
4621         * tests/check12.test: Cosmetic changes to avoid triggering a
4622         spurious failure of the `sc_tests_Exit_not_exit' maintainer
4623         check.
4624
4625 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4626
4627         check: update comments to reflect recent heavy changes
4628         * lib/am/check.am [%?PARALLEL_TESTS%]: Update the comments to
4629         reflect the recent changes.  Remove quite many comments that
4630         were merely duplicating excerpts from the Automake manual.
4631
4632 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4633
4634         check: small cleanups and refactorings in test harness and drivers
4635         * lib/tap-driver (yn): New subroutine, converts a boolean value to
4636         a "yes" or "no" string.
4637         (write_test_results): Use it, and related reformatting.
4638         * lib/test-driver (trap): Also remove the `.trs' file on signals,
4639         for extra safety.
4640         (fatal): Remove this function, it's never used.
4641         ($logfile, $trsfile): Renamed ...
4642         ($log_file, $trs_file): ... to these, for clarity, and in order to
4643         be more consistent with the `tap-driver' script.
4644         Improve a couple of comments.
4645         * automake.in (handle_tests): Don't define anymore the now-obsolete
4646         make macro `$(TEST_LOGS_TMP)', nor add it to the list of files to
4647         be removed upon "make mostlyclean".
4648         * lib/am/check.am ($(TEST_SUITE_LOG)): New shell function `f_ok',
4649         tells whether a path refers to an existing, regular, readable file.
4650         Use it throughout.
4651         (recheck): Be safer w.r.t. make implementation that run recipes
4652         with `errexit' shell flag active.
4653
4654 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4655
4656         testsuite: use AM_TESTS_FD_REDIRECT where appropriate
4657         * parallel-tests-interrupt.test: Use AM_TESTS_FD_REDIRECT, not
4658         AM_TESTS_ENVIRONMENT, to define file descriptors' redirection
4659         for "make check".  Fix botched comment.
4660
4661 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
4662
4663         docs: some fixlets in documentation on testsuites support
4664         * doc/automake.texi (Script-based Testsuites): Rename node ...
4665         (Scripts-based Testsuites): ... to this.  Break overly long lines
4666         in an example (were causing problems with PDF output).
4667         (Parallel Test Harness): Don't intend paragraphs that come after
4668         examples or bulleted list.
4669         (Overview of Custom Test Drivers Support): Fix typo s/the the/the/.
4670         (Declaring Custom Test Drivers): When giving an aside, prefer comma
4671         to parentheses, as it disrupts the reading flow less.
4672         (API for Custom Test Drivers): Remove a sentence that was basically
4673         duplicated from the previous subsection.
4674         (Command-line arguments for test drivers): Don't intend paragraph
4675         coming after an itemized list.  Clarify wording and fix grammaros.
4676         Add a couple of cross-references to earlier explanations of `.log'
4677         and `.trs' files.
4678         (Links and external resources): Node renamed ...
4679         (Links and external resources on TAP): ... to this, for clarity.
4680         Slightly extend and clarify introductory sentence.
4681
4682 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4683
4684         test harness: be aware of more metadata, simplify test drivers
4685         * lib/am/check.am ($(TEST_SUITE_LOG)):  When producing the
4686         global test log, take into account the new metadata field
4687         `:global-test-result:, to write nicely formatted RST section
4688         titles, instead of leaving this chore to the individual test
4689         drivers.
4690         (am_rst_section): Re-introduce this variable, as removed in
4691         commit `v1.11-870-ga27c9c4'.
4692         * lib/test-driver, lib/tap-driver: Write the global test result
4693         as metadata in the `.trs' file, not as (part of) a formatted RST
4694         subsection title in the `.log' file.  Related simplifications;
4695         in particular, get rid of temporary files usage.
4696         * doc/automake.texi (Log files generation and test results
4697         recording): Document the new metadata.
4698         * tests/check12.test: Update.
4699         * tests/parallel-tests-harderror.test: Likewise.
4700         * tests/parallel-tests-interrupt.test: Likewise.
4701         * tests/parallel-tests-log-override-2.test: Likewise.
4702         * tests/parallel-tests-log-override-recheck.test: Likewise.
4703         * tests/parallel-tests-unreadable.test: Likewise.
4704         * tests/tap-global-result.test: Likewise.
4705         * tests/test-metadata-results.test: Likewise.
4706         * tests/test-log.test: Likewise, and another minor unrelated fix.
4707         * tests/test-metadata-global-result.test: New test.
4708         * tests/Makefile.am (TESTS): Update.
4709
4710 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4711
4712         tap: check that also a trailing TAP plan can hold a skip directive
4713         * tests/tap-skip-whole-lastline.test: New test.
4714         * tests/Makefile.am (tap_with_common_setup_tests): Add it.
4715
4716 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4717
4718         testsuite: more correct names for a couple of tests
4719         * tests/parallel-tests-ext-driver.test: Rename ...
4720         * tests/parallel-tests-log-compiler-1.test: ... to this, and
4721         adjust heading comments.
4722         * tests/parallel-tests-ext-driver-prog.test: Rename ...
4723         * tests/parallel-tests-log-compiler-2.test: ... to this, and
4724         adjust heading comments.
4725         * tests/Makefile.am (TESTS): Update.
4726
4727 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4728
4729         testsuite: fix another spurious failure
4730         * tests/parallel-tests-ext-driver.test: Name out custom/dummy
4731         log compilers as `foo-compiler' rather `foo-driver'; not only
4732         this is less confusing, it also avoids errors due to the dummy
4733         log compiler `test-driver' overriding the `test-driver' helper
4734         script installed by Automake.
4735         * tests/parallel-tests-ext-driver-prog.test: Adjust heading
4736         comments.
4737
4738 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4739
4740         testsuite: fix a spurious failure
4741         * tests/parallel-tests-ext-driver.test: Exporting of environment
4742         variables directly from $(LOG_COMPILER) variables is not allowed
4743         anymore.  Adjust to this.
4744
4745 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4746
4747         testsuite: yet more use of TAP, and related extensions
4748         * tests/defs (show_): New function, display the contents of one or
4749         more files on stdout, with bells & whistles (both for cosmetic and
4750         practical reasons, the latter aimed at avoiding spurious TAP
4751         diagnostic).
4752         (AUTOMAKE_run): Extend and adapt to make it compatible with TAP
4753         based tests.  Since we are at it, make its implementation more
4754         namespace-safe, and improve its command-line interface.
4755         (AUTOMAKE_fails): Adapt to the new command-line interface of
4756         `AUTOMAKE_run'.
4757         * tests/add-missing.test: Renamed ...
4758         * tests/add-missing.tap: ... to this, and converted to the use
4759         of the TAP protocol, and of the new `show_' function.
4760         * tests/automake.test: Renamed ...
4761         * tests/automake-cmdline.tap: ... to this, and converted to the
4762         use of the TAP protocol.
4763         * tests/getopt.test:  Adapt to the new command-line interface
4764         of `AUTOMAKE_run'.
4765         * tests/cond44.test: Likewise.
4766         * tests/cond45.test: Likewise.
4767         * tests/configure.test: Likewise.
4768         * tests/license2.test: Likewise.
4769         * tests/parallel-am.test: Likewise.
4770         * tests/parallel-am3.test: Likewise.
4771         * tests/tags2.test: Likewise.
4772         * tests/werror3.test: Likewise.
4773         * tests/werror4.test: Likewise.
4774         * tests/amopts-variable-expansion.test: Likewise.
4775         * tests/warnings-win-over-strictness.test: Likewise.
4776         * tests/Makefile.am (TESTS): Update.
4777         (TAP_LOG_DRIVER_FLAGS): Add `--merge', so that TAP diagnostic is
4778         reported in the testsuite progress output.
4779
4780 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4781
4782         maintcheck: fix more maintainer-check failures
4783         * tests/test-driver-custom-no-html.test (no-rst): Use `EOF',
4784         not `EoL', as the here-document delimiter.
4785         * tests/test-trs-basic.test: Use `cat + here-doc' rather
4786         than `echo' when creating the dummy test scripts, to please
4787         maintainer-check.
4788         * tests/test-trs-recover.test: Use creative quoting where
4789         needed, to please maintainer-check.
4790         * tests/parallel-tests-no-color-in-log.test: Likewise.
4791         * tests/parallel-tests-dry-run.test: Likewise.
4792
4793 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4794
4795         maintcheck: fix maintainer-check failures, both real and spurious
4796         * tests/amhello-binpkg.test: Use "$MAKE", not bare "make".
4797         * Makefile.am (sc_perl_local): Also allow perl special variable
4798         `$~' to be localized.  And be slightly laxer in the regexp, to
4799         allow for usages like "local $_ = $foo;".
4800         (sc_tests_overriding_macros_on_cmdline): Also allow for command
4801         line overriding of the `DISABLE_HARD_ERRORS' make variable.  Try
4802         to avoid false positives for usages like "$MAKE || st=$?".
4803
4804 2011-08-03  Bruno Haible  <bruno@clisp.org>
4805
4806         docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support
4807         * doc/automake.texi (Program Variables): Recommend -I options to
4808         both the build directory and the source directory when needed.
4809
4810 2011-07-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
4811
4812         tests: relax a test on amhello examples to cater to Solaris tar
4813         * tests/amhello-binpkg.test: When the tar implementation in use
4814         is not GNU tar, relax the tests on tar output, to avoid spurious
4815         failures.  For example, "tar cvf ..." with GNU tar can output
4816         lines like "./usr/bin/hello" on the standard output, while with
4817         Solaris tar it can output lines like "a ./usr/bin/hello 8K" on
4818         standard output, and with Heirloom tar it can output lines like
4819         "a ./usr/bin/hello 15 tape blocks" on standard error.
4820
4821 2011-07-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
4822
4823         test defs: function 'is_newest' now works also with directories
4824         * tests/defs (is_newest): Call `find' with the `-prune' option,
4825         so that it won't descend in the directories (which could cause
4826         spurious results).
4827         * tests/self-check-is_newest: Extend accordingly.
4828         From a report by Jim Meyering, see automake bug#9147.
4829
4830 2011-07-15  Benoit Sigoure  <tsunanet@gmail.com>
4831
4832         docs: add references between the 2 sections on java support
4833         * doc/automake.texi (Java Support, Java): Add cross-references.
4834
4835 2011-07-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4836
4837         Sync auxiliary files from upstream.
4838         * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
4839         lib/texinfo.tex: Sync from upstream.
4840
4841 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4842
4843         tests: fix weakness in 'tests-environment-backcompat.test'
4844         * tests/tests-environment-backcompat.test: Do not override the
4845         content of xfailing test `baz.test' with a "weaker" version that
4846         fails unconditionally: the test must fail only when the 'strict'
4847         pragma is in use, in order not to reduce coverage.
4848
4849 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4850
4851         docs, tests: synchronize examples on silent-rules from config.site
4852         * doc/automake.texi (Automake silent-rules Option): Reference test
4853         'silent-configsite.test' in comments.
4854
4855 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4856
4857         tests: portability fixes in tests on amhello examples
4858         * tests/amhello-binpkg.test: Don't use "tar xzf too.tag.gz" to
4859         extract a gzip-compressed tarball, that's unportable to some
4860         tar implementations; use the "gzip -dc fo.tar.gz | tar xf -"
4861         idiom instead.
4862         * tests/amhello-cflags.test: Likewise.
4863         * tests/amhello-cross-compile.test: Likewise.
4864         Suggestion from Ralf Wildenhues.
4865
4866 2011-07-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4867
4868         remake: add test ensuring that slower remakes don't hang
4869         * tests/remake-subdir-long-time.test: New test.
4870         * tests/Makefile.am (TESTS): Update.
4871         Suggestion by Ralf Wildenhues.
4872
4873 2011-07-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4874
4875         remake: fix outdated comment in configure.am
4876         * lib/am/configure.am: Fix comment falsified by changes in
4877         commit `v1.11-366-gbee9871'.
4878         Suggestion by Ralf Wildenhues.
4879
4880 2011-07-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
4881
4882         docs, tests: synchronize examples from docs to tests
4883         * tests/README (Writing test cases): Give suggestions on how to
4884         keep test cases and examples in the documentation synchronized.
4885         * doc/automake.texi: Improve or fix existing testcase-referencing
4886         comments, and add many new ones.
4887         * HACKING (Administrivia): Suggest to test complex examples and
4888         idioms from the manual.
4889         * tests/specflg8.test: Improve synchronization with the example
4890         in the manual.
4891         * tests/output11.test:Likewise.
4892         * tests/txinfo21.test:Likewise.
4893         * tests/interp.test: Likewise.
4894         * tests/amhello-cflags.test: New test.
4895         * tests/amhello-cross-compile.test: Likewise.
4896         * tests/amhello-binpkg.test: Likewise.
4897         * tests/tests-environment-backcompat.test: Likewise.
4898         * tests/parallel-tests-log-compiler-example.test: Likewise.
4899         * tests/Makefile.am (TESTS): Update.
4900
4901 2011-06-30   Stefano Lattarini  <stefano.lattarini@gmail.com>
4902
4903         coverage: new test on parallel-tests TESTS runtime overriding
4904         * tests/parallel-tests-cmdline-override.test: New test, check that
4905         we can use indirections when overriding TESTS and TEST_LOGS from
4906         the command line.
4907         * tests/Makefile.am (TESTS): Update.
4908
4909 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4910
4911         gitignore: ignore `*.trs' files in lib/Automake/tests
4912         * lib/Automake/tests/.gitignore: Add `*.trs' pattern.
4913
4914 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4915
4916         testsuite: list another "forgotten" test script in Makefile.am
4917         * tests/Makefile.am (TESTS): Also list test script
4918         `test-driver-trs-suffix-registered.test'; it had been introduced
4919         in commit `v1.11-910-g0c81b43', but by mistake it wasn't added
4920         to the list of tests in the Makefile back then.
4921
4922 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4923
4924         testsuite: list "forgotten" test script in Makefile.am
4925         * tests/Makefile.am (TESTS): Also list the test script
4926         `parallel-tests-no-color-in-log.test'; it had been introduced in
4927         commit `v1.11-899-geaac33f', but by mistake it wasn't added to
4928         the list of tests in the Makefile back then.
4929
4930 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4931
4932         testsuite: remove duplicated mention of a test in Makefile.am
4933         * tests/Makefile.am (tap_other_tests): Remove `tap-empty.test',
4934         it is already listed in `$(tap_with_common_setup_tests)'.
4935
4936 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4937
4938         testsuite: one more use of TAP in our own tests
4939         * tests/tap-bad-prog.test, tests/tap-bad-prog2.test: Merged
4940         into ...
4941         * tests/tap-bad-prog.tap: ... this TAP-generating test.
4942         * tests/Makefile.am (tap_other_tests): Remove plan-bad-prog.test
4943         and plan-bad-prog2.test.
4944         (XFAIL_TESTS): Remove plan-bad-prog2.test.
4945         (plan-bad-prog2.log): Remove.
4946
4947 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4948
4949         testsuite: scaffolding to allow use of TAP in our own tests
4950         Now that Automake has initial support for the TAP test protocol,
4951         we can start "eating our own dog food" and rewrite some tests to
4952         use TAP; this should allow for better granularity, especially in
4953         the control of skips and expected failures.  With this change, we
4954         set up the initial scaffolding required by the planned TAP tests,
4955         and convert few older tests to use TAP, mostly in order to verify
4956         that there are no obvious errors.  The tests in our testsuite that
4957         use the TAP protocol will be marked by the new `.tap' extension.
4958         * tests/plain-functions.sh: New file containing definition of
4959         helper shell functions used by the "protocol-less" tests of the
4960         Automake testsuite.
4961         * tests/tap-functions.sh:  New file containing definition of
4962         helper shell functions used by the TAP-producing tests of the
4963         Automake testsuite.
4964         * tests/defs: Remove definitions of some functions that are
4965         now defined in `plain-functions.sh'.  Instead, source one of
4966         `plain-functions.sh' or `tap-functions.sh', depending on whether
4967         `$use_tap' is set to "no" or "yes".
4968         (exit trap): Call `late_plan_' if `$use_tap' is true.  Also,
4969         unset shell traces before issuing the latest commands, to avoid
4970         confusing the tap driver with spurious output.
4971         * tests/defs-static.in ($use_tap): New variable, by default set
4972         to "yes" if the calling test script has a `.tap' suffix, and to
4973         "no" otherwise.  The individual scripts can override it though.
4974         In code sanity-checking the environment, verify that `$use_tap'
4975         is not exported.
4976         * tests/self-check-env-sanitize.test: Update, and small related
4977         reformatting.
4978         * tests/self-check-tap.test: New very minimal self test.
4979         * tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test,
4980         tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test:
4981         Removed, merged into ...
4982         * tests/ac-output-old.tap: ... this new test, that uses TAP.
4983         * tests/Makefile.am (TAP_LOG_DRIVER): Define to invoke our own
4984         `tap-driver' script.
4985         (TAP_LOG_DRIVER_FLAGS): Define to `--merge', so that the stdout
4986         and stderr of the test scripts remains synced.
4987         (TEST_EXTENSIONS): Define, to add the `.tap' suffix; also list
4988         the `.test' suffix explicitly.
4989         (EXTRA_DIST): Distribute the new files `plain-functions.sh' and
4990         `tap-functions.sh'.
4991         ($(TEST_LOGS)): Depends on them.
4992         (AM_TESTS_ENVIRONMENT): Ensure that `use_tap' is not exported in
4993         the environment of the tests.
4994         (TESTS): Update.
4995
4996 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4997
4998         * NEWS: Fix typo, and related reformatting.
4999
5000 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
5001
5002         * NEWS: add mention of new experimental TAP support
5003
5004 2011-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
5005
5006         testsuite: rename some test scripts
5007         * tests/parallel-tests-am_tests_environment.test: Renamed ...
5008         * tests/am-tests-environment.test: ... to this.
5009         * tests/check-tests_environment.test: Renamed ...
5010         * tests/tests-environment.test: ... to this.
5011         * tests/parallel-test-driver-install.test: Renamed ...
5012         * tests/parallel-tests-driver-install.test: ... to this.
5013         * tests/parallel-tests-make-n.test: Renamed ...
5014         * tests/parallel-tests-dry-run.test: ... to this.
5015         * tests/Makefile.am (TESTS): Updated.
5016
5017 2011-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
5018
5019         coverage: parallel-tests and lazy dependencies on EXTRA_PROGRAMS
5020         * tests/parallel-tests-extra-programs.test: New test.
5021         * tests/Makefile.am (TESTS): Update.
5022         * doc/automake.texi (Parallel Test Harness): Add a comment
5023         pointing to the new test.
5024
5025 2011-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
5026
5027         docs: improve, extend and fix documentation on TAP support
5028         * doc/automake.texi ("Using the TAP test protocol"): Divide this
5029         section into ...
5030         ("Introduction to TAP", "Use TAP with the Automake test harness",
5031         "Incompatibilities with other TAP parsers and drivers", "Links
5032         and external resources"): ... these subsections, extend them by
5033         adding more information and examples, and improve them by removing
5034         incomplete and/or temporary wordings and TODO items.
5035         ("Script-based Testsuites", "Parallel Test Harness"): Add a couple
5036         of anchors to improve the granularity of cross-references.
5037         * tests/tap-doc2.test: New test, verifying the correctness of the
5038         new examples given in the manual.
5039         * tests/Makefile.am (tap_other_tests): Add the new test.
5040
5041 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5042
5043         testsuite: separate the only failing check of an xfailing test
5044         * tests/plan-bad-prog.test: Move the only failing check of this
5045         test (i.e., the one about the total number of "ERROR" outcomes)
5046         into ...
5047         * tests/plan-bad-prog2.test: ... this new test.
5048         * tests/Makefile.am (XFAIL_TESTS): Remove `plan-bad-prog.test',
5049         add `plan-bad-prog2.test'.
5050         (tap_other_tests): Add `plan-bad-prog2.test'.
5051         (plan-bad-prog2.log): Depend on `plan-bad-prog.test'.
5052
5053 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5054
5055         testsuite: fix spurious errors in an xfailing test on TAP support
5056         * tests/plan-bad-prog.test: Fix typo in the name of the test
5057         being made unreadable.  Correct the wording of the potential
5058         skip message, and simplify the condition under which the test
5059         is to be skipped.  Escape literal dots in grep regexps.
5060
5061 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5062
5063         testsuite: better granularity in a couple of tests on TAP support
5064         * tests/tap-summary-aux.sh: New auxiliary script, filled with code
5065         moved out from ...
5066         * tests/tap-summary.test: ... this test, from which the checks on
5067         colored testsuite have further been moved into ...
5068         * tests/tap-summary-color.test: ... this new test, which in turn
5069         * tests/Makefile.am (tap_other_tests): Add `tap-summary-color.test'.
5070         (EXTRA_DIST): Distribute `tap-summary-aux.sh'
5071         (tap-summary.log): Depend on `tap-summary-aux.sh'.
5072         (tap-summary-color.log): Likewise.
5073
5074 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5075
5076         testsuite: optimize tests on TAP for speed and against duplication
5077         The creation and configuration of common files and data used by
5078         many tests on TAP is, with this change, factored out into a new
5079         dedicated auxiliary test, from which those tests will depend upon.
5080         This reduces code duplication in tests and, more importantly,
5081         offers a noticeable speedup in the involved tests (30-40%).
5082         * tests/tap-common-setup.test: New test, setting up the common
5083         files and data used by various tests on TAP support.
5084         * tests/tap-setup.sh: New file, to be sourced by tests wanting to
5085         bring in data generated by `tap-common-setup.test'.
5086         * tests/tap-autonumber.test: Update to use the pre-computed data
5087         files.
5088         * tests/tap-bailout.test: Likewise.
5089         * tests/tap-color.test: Likewise.
5090         * tests/tap-deps.test: Likewise.
5091         * tests/tap-diagnostic.test: Likewise.
5092         * tests/tap-empty-diagnostic.test: Likewise.
5093         * tests/tap-empty.test: Likewise.
5094         * tests/tap-escape-directive.test: Likewise.
5095         * tests/tap-exit.test: Likewise.
5096         * tests/tap-signal.test: Likewise.
5097         * tests/tap-fancy.test: Likewise.
5098         * tests/tap-fancy2.test: Likewise.
5099         * tests/tap-global-log.test: Likewise.
5100         * tests/tap-global-result.test: Likewise.
5101         * tests/tap-html.test: Likewise.
5102         * tests/tap-log.test: Likewise.
5103         * tests/tap-merge-stdout-stderr.test: Likewise.
5104         * tests/tap-no-merge-stdout-stderr.test: Likewise.
5105         * tests/tap-message-0.test: Likewise.
5106         * tests/tap-no-disable-hard-error.test: Likewise.
5107         * tests/tap-no-spurious-summary.test: Likewise.
5108         * tests/tap-no-spurious.test: Likewise.
5109         * tests/tap-not-ok-skip.test: Likewise.
5110         * tests/tap-numeric-description.test: Likewise.
5111         * tests/tap-out-of-order.test: Likewise.
5112         * tests/tap-passthrough.test: Likewise.
5113         * tests/tap-passthrough-exit.test: Likewise.
5114         * tests/tap-plan.test: Likewise.
5115         * tests/tap-plan-corner.test: Likewise.
5116         * tests/tap-plan-corner2.test: Likewise.
5117         * tests/tap-plan-errors.test: Likewise.
5118         * tests/tap-realtime.test: Likewise.
5119         * tests/tap-recheck-logs.test: Likewise.
5120         * tests/tap-skip-whole.test: Likewise.
5121         * tests/tap-todo-skip-together.test: Likewise.
5122         * tests/tap-todo-skip-whitespace.test: Likewise.
5123         * tests/tap-todo-skip.test: Likewise.
5124         * tests/tap-unplanned.test: Likewise.
5125         * tests/tap-with-and-without-number.test: Likewise.
5126         * tests/tap-xfail-tests.test: Likewise.
5127         * tests/tap-skip-whole-whitespace.test: Likewise, and remove
5128         redundant definitions of `$sp' and `$tab' (they are already
5129         defined in `tests/defs').
5130         * tests/tap-whitespace-normalization.test: Likewise.
5131         * tests/Makefile.am (TESTS): Update.
5132         (EXTRA_DIST): Distribute `tap-setup.sh'.
5133         (tap_with_common_setup_tests, tap_with_common_setup_logs)): New
5134         variables, holding respectively the list of tests using the files
5135         pre-computed by `tap-common-setup.test', and the list of their
5136         corresponding log files.
5137         (tap_other_tests): New variable, holding the list of other tests
5138         on TAP support.
5139         ($(tap_with_common_setup_logs)): Depend on `tap-common-setup.log'
5140         and `tap-setup.sh'.
5141
5142 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5143
5144         test harness: use new `.trs' files to hold test metadata
5145         With this change, the test harness will keep test metadata in
5146         dedicated `.trs' files, instead of having them embedded into the
5147         `.log' files.  This allows for easier forward-compatibility and
5148         extension of test metadata, and for more flexibility in the
5149         format of the `.log' files.  Note that this change makes the
5150         `:end-metadata:' field obsolete.
5151         * doc/automake.texi (Parallel Test Harness, Log files generation
5152         and test results recording): Document the new APIs and behaviour;
5153         some related minor rewordings and fixlets.
5154         * NEWS: Update.
5155         * automake.in (handle_tests): When bringing in the content of
5156         `check2.am', substitute %BASE% with the basename of the `.log'
5157         file being created by a rule.  Add the generated `.trs' files
5158         to the list of files to be cleaned by "make mostlyclean".
5159         * lib/am/check.am (am__test_driver_flags): Rename ...
5160         (am__common_driver_flags): ... to this, and remove the flags
5161         `--test-name' and `--log-file' from it: they are now define in
5162         the proper rules in `check2.am'.
5163         (am__TEST_BASES): New internal variable, holding the names of
5164         the tests, with any registered extension removed.
5165         (am__stealth_MAKE): New internal variable, can be used instead of
5166         $(MAKE) in recipes requiring a recursive call to make, but which
5167         are not intended to be executed by "make -n".
5168         (.log.trs): New suffix rule, to recover from deletion of `.trs'
5169         files.
5170         ($(TEST_SUITE_LOG)): Almost completely rewritten to follow the
5171         new API of "test logs in `.log' files, test metadata in `.trs'
5172         files".  It goes to some length to work correctly in face of
5173         unreadable or missing `.log' and `.trs' files, and to error out
5174         with proper error messages when this is not possible.
5175         [%?PARALLEL_TESTS%] (check-TESTS): Also remove relevant "stale"
5176         `.trs' files (in addition to `.log files) before remaking the
5177         $(TEST_SUITE_LOG).
5178         (recheck, recheck-html): Look for the `:recheck:' field in the
5179         `.trs' files, not in the `.log' files.
5180         * lib/am/check2.am (?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Adjust
5181         the call to the test driver, in particularly passing the new
5182         option `--trs-file'.
5183         [%am__EXEEXT%] (?GENERIC?%EXT%$(EXEEXT).log): Likewise.
5184         * lib/tap-driver ($USAGE): Adjust the help screen.
5185         (Getopt::Long::GetOptions): Handle the `--trs-file' option,
5186         through the use of ...
5187         ($trs_file): ... this new global variable.
5188         (finish): Write metadata for the test run to `$trs_file' rather
5189         then to `$log_file', through the use of ...
5190         (write_test_results): ... this new function.
5191         * lib/test-driver (print_usage): Update the help screen.
5192         (Option parsing): Handle the `--trs-file' option, through the
5193         use of ...
5194         ($resfile): ... this new global variable.
5195         (Main code): Write metadata for the test run to `$trsfile' rather
5196         than to `$logfile'.
5197         Minor related adjustments to comments.
5198         * tests/.gitignore: Ignore `*.trs' files.
5199         * tests/parallel-tests-unreadable-log.test: Moved ...
5200         * tests/parallel-tests-unreadable.test: ... to this, and extended
5201         to also check the semantics for unreadable `.trs' files.
5202         * tests/test-driver-end-metadata.test: Deleted as obsolete.
5203         * tests/test-driver-metadata-no-leading-space.test: Likewise.
5204         * tests/test-driver-global-log.test: Renamed ...
5205         * tests/test-metadata-global-log.test: ... to this, and modified
5206         as to verify the new APIs and semantics.
5207         * tests/test-driver-recheck: Renamed ...
5208         * tests/test-metadata-recheck.test: ... to this, and modified
5209         likewise.
5210         * tests/parallel-tests-once.test: New test.
5211         * tests/parallel-tests-make-n.test: Likewise.
5212         * test-metadata-results.test: Likewise.
5213         * test-missing.test: Likewise.
5214         * test-missing2.test: Likewise.
5215         * test-trs-basic.test: Likewise.
5216         * test-trs-recover.test: Likewise.
5217         * test-trs-recover2.test: Likewise.
5218         * tests/Makefile.am (TESTS): Update.
5219
5220 2011-07-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
5221
5222         test harness: allow more metadata in log files
5223         This change reworks and improves the parallel test harness to use
5224         more specialized reStructuredText fields in the log files (instead
5225         of relying on specially-placed of "magic lines" and more indirect
5226         semantical formatting); the new fields are the following:
5227          - ":recheck:": tell whether the associated test will have to be
5228            re-run by "make recheck";
5229          - ":copy-in-global-log:": tell whether the content of the log
5230            file should be copied in the "global log" `test-suite.log';
5231          - ":end-metadata:", which inhibits the scanning of the rest of
5232            the log file (for what concerns test metadata).
5233         Also, the special `:test-result:' value "END" has been removed,
5234         superseded by the new `:end-metadata:' field.
5235         * doc/automake.texi (Log files generation and test results
5236         recording): Document the new API and semantics.  Remove or fix
5237         some obsolete comments.
5238         * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
5239         Adjust comments and code.
5240         * lib/tap-driver (finish): Adjust, with the help of ...
5241         (must_recheck, copy_in_global_log): ... these new functions.
5242         * lib/test-driver (Main code): Adjust, with the help of ...
5243         ($recheck, $gcopy): ... these new variables.
5244         * tests/trivial-test-driver: Update to obey the new APIs.
5245         * tests/test-driver-recheck.test: Likewise.
5246         * tests/test-driver-global-log.test: Likewise.
5247         * tests/tap-passthrough.test: Relax the test, avoiding to check
5248         what is written in `test-suite.log'; such check has been moved ...
5249         * tests/tap-global-log.test: ... in this new test, and extended.
5250         * tests/test-driver-metadata-no-leading-space.test: New test.
5251         * tests/test-driver-end-test-results.test: Removed, it checked
5252         the old APIs; superseded by ...
5253         * tests/test-driver-end-metadata.test: ... this new test.
5254         * tests/tap-log.test: Improve syncing with ...
5255         * tests/test-log.test: ... this new test.
5256         * tests/parallel-tests.test: Remove some duplication w.r.t. this
5257         last new test.  Updated heading comments.
5258         * tests/Makefile.am (TESTS): Update.
5259
5260 2011-07-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
5261
5262         testsuite: fix a spurious failure with non-bash shells
5263         * tests/tap-fancy2.test: Remove an unportable use of backslashes
5264         with the `echo' builtin, which was causing some shells (among them
5265         bash and Debian /bin/ksh) to print a `\\' string, while other
5266         shells (among them zsh, dash, and Solaris /bin/sh and /bin/ksh)
5267         were unexpectedly printing a single `\' character.  Since we are
5268         at it, add a sanity check to ensure that this issue does not
5269         resurface.
5270
5271 2011-07-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
5272
5273         testsuite: fix spurious failures with Solaris /bin/sh
5274         * tests/tap-more.test: Use `echo > file', not `: > file', to
5275         create empty files in the "for" loops; this is required since,
5276         as documented in the autoconf manual, Solaris 10 /bin/sh
5277         "optimizes" away the `:' command after the first iteration,
5278         even if it is redirected.
5279         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
5280         * tests/tap-numeric-description.test: Partial rewrite to avoid
5281         using positional parameters from the 10th onward, which are
5282         unportable to Solaris /bin/sh (using `${10}' causes the shell
5283         to die with "bad substitution").
5284
5285 2011-07-31  Stefano Lattarini  <stefano.lattarini@gmail.com>
5286
5287         simple tests: support developer-defined fd redirections
5288         Motivated by coreutils bug#8846, and related discussions:
5289          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
5290          <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
5291         In those threads it has been shown how problematic it can be to do
5292         portable file descriptor redirections in the testsuite when using
5293         the Automake testsuite harness.  This change should remedy to that
5294         situation.
5295         * lib/am/check2.am (?GENERIC?%EXT%$(EXEEXT).log,
5296         ?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Append redirection defined
5297         in $(AM_TESTS_FD_REDIRECT) to the command-line invocations of the
5298         test scripts.
5299         * lib/am/check.am [!%?PARALLEL_TESTS%] $(check-TESTS): Likewise.
5300         * NEWS: Update.
5301         * doc/automake.texi (Script-based Testsuites): Document the new
5302         feature.
5303         * tests/check-fd-redirect.test: New test.
5304         * tests/parallel-tests-fd-redirect.test: Likewise.
5305         * tests/parallel-tests-am_tests_environment.test: Remove checks
5306         about the use of redirections in AM_TESTS_ENVIRONMENT: they would
5307         check deprecated (if not undefined) behaviour now.  Strengthen a
5308         couple of still valid checks, to keep the test more in sync with
5309         the documentation.  Improve debugging information.
5310         * tests/Makefile.am (TESTS): Update.
5311
5312 2011-07-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
5313
5314         docs: rework and extend documentation on testsuites support
5315         * doc/automake.texi (Generalities about Testing): New section.
5316         (Simple Tests using parallel-tests): Section removed, merged
5317         into ...
5318         (Simple Tests): ... this one, which on the other hand has been
5319         subdivided into ...
5320         (Script-based Testsuites, Serial Test Harness, Parallel Test
5321         Harness): ... these new subsection.
5322         (DejaGnu Tests): Minor adjustments.
5323         Other related typofixes and rewordings throughout the manual;
5324         in particular, avoid to use the term "test driver" for three
5325         different concepts (and use instead "test harness" and "test
5326         runner" where appropriate).
5327         * tests/tap-doc.test: New test.
5328         * tests/tap-no-disable-hard-error.test: Likewise.
5329         * tests/Makefile.am (TESTS): Update.
5330
5331 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5332
5333         tap: support colorization of testsuite progress output
5334         * lib/tap-driver (%COLORS): New variable (definition extracted
5335         from `lib/am/check.am:$(am__tty_colors)', with some obvious
5336         adjustments.
5337         (report): Adjust to colorize console output when required,
5338         using ...
5339         (decorate_result): ... this new function.
5340         (colored): New function, used by the one above.
5341         * tests/tap-summary.test: Also run the checks when `color-tests'
5342         is in use.
5343         * tests/Makefile.am (XFAIL_TESTS): Remove `tap-color.test'.
5344
5345 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5346
5347         tap: some preparatory refactoring (2)
5348         This is a follow-up simplification.
5349         * lib/tap-driver (console_output): Renamed ...
5350         (report): ... to this, and extended to appropriately register
5351         the test results when needed.
5352         (testsuite_error, handle_tap_comment, handle_tap_test,
5353         handle_tap_plan): Adjusted accordingly.
5354
5355 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5356
5357         tap: some preparatory refactoring (1)
5358         This refactoring is aimed at simplifying the introduction of
5359         colored console output for the TAP driver.
5360         * lib/tap-driver (console_output): Now accept two arguments, the
5361         first one indicating which kind of thing is to be displayed (for
5362         now only a test result or a diagnostic comment), and the second
5363         one (if present) the message associated to it.
5364         (handle_tap_test, handle_tap_comment, handle_tap_plan,
5365         testsuite_error): Adapt to the new `console_output' interface.
5366
5367 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5368
5369         tap: add experimental TAP-aware driver
5370         * doc/automake.texi (Using the TAP test protocol): New section.
5371         (Overview of Custom Test Drivers Support): Minor updates.
5372         * lib/tap-driver: New script, TAP-aware test driver for Automake;
5373         implemented in perl and based on TAP::Parser.
5374         * lib/Makefile.am (dist_script_DATA): Add it.
5375         * tests/tap-autonumber.test: New test.
5376         * tests/tap-bailout.test: Likewise.
5377         * tests/tap-basic.test: Likewise.
5378         * tests/tap-deps.test: Likewise.
5379         * tests/tap-diagnostic.test: Likewise.
5380         * tests/tap-empty.test: Likewise.
5381         * tests/tap-empty-diagnostic.test: Likewise.
5382         * tests/tap-escape-directive.test: Likewise.
5383         * tests/tap-exit.test: Likewise.
5384         * tests/tap-fancy.test: Likewise.
5385         * tests/tap-fancy2.test: Likewise.
5386         * tests/tap-global-result.test: Likewise.
5387         * tests/tap-html.test: Likewise.
5388         * tests/tap-log.test: Likewise.
5389         * tests/tap-merge-stdout-stderr.test: Likewise.
5390         * tests/tap-more.test: Likewise.
5391         * tests/tap-more2.test: Likewise.
5392         * tests/tap-no-merge-stdout-stderr.test: Likewise.
5393         * tests/tap-no-spurious-summary.test: Likewise.
5394         * tests/tap-no-spurious.test: Likewise.
5395         * tests/tap-not-ok-skip.test: Likewise.
5396         * tests/tap-numeric-description.test: Likewise.
5397         * tests/tap-out-of-order.test: Likewise.
5398         * tests/tap-passthrough.test: Likewise.
5399         * tests/tap-plan.test: Likewise.
5400         * tests/tap-plan-errors.test: Likewise.
5401         * tests/tap-plan-corner.test: Likewise.
5402         * tests/tap-realtime.test: Likewise.
5403         * tests/tap-recheck-logs.test: Likewise.
5404         * tests/tap-recheck.test: Likewise.
5405         * tests/tap-skip-whole.test: Likewise.
5406         * tests/tap-summary.test: Likewise.
5407         * tests/tap-todo-skip.test: Likewise.
5408         * tests/tap-todo-skip-together.test: Likewise.
5409         * tests/tap-todo-skip-whitespace.test: Likewise.
5410         * tests/tap-skipall-whitespace.test: Likewise.
5411         * tests/tap-unplanned.test: Likewise.
5412         * tests/tap-whitespace-normalization.test: Likewise.
5413         * tests/tap-with-and-without-number.test: Likewise.
5414         * tests/tap-xfail-tests.test: Likewise.
5415         * tests/tap-bad-prog.test: New xfailing test.
5416         * tests/tap-color.test: Likewise.
5417         * tests/tap-plan-corner2.test: Likewise.
5418         * tests/tap-message-0.test: Likewise.
5419         * tests/tap-signal.test: Likewise.
5420         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
5421
5422 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5423
5424         test defs: new auxiliary function 'count_test_results'
5425         * tests/defs (count_test_results): New function.
5426         * tests/check11.test: Use it.
5427         * tests/test-driver-custom-multitest.test: Likewise.
5428         * tests/test-driver-custom-multitest-recheck.test: Likewise.
5429         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
5430         * tests/parallel-tests-log-override-recheck.test: Likewise.
5431         * tests/parallel-tests-log-override-recheck.test: Likewise.
5432         * tests/parallel-tests-no-spurious-summary.test: Likewise, and
5433         slightly improve debugging output.
5434         * tests/parallel-tests.test: Make use of `count_test_results'.
5435         Also, make grepping of "make check" output slightly stricter
5436         * tests/parallel-tests9.test: Likewise.
5437         * tests/parallel-tests-log-override-2.test: Likewise, and throw
5438         in a small optimization.
5439
5440 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5441
5442         parallel-tests: simplify testsuite summary
5443         Prefer a more deterministic, "tabular" format for the testsuite
5444         summary, always listing the numbers of passed, failed, xfailed,
5445         xpassed, skipped and errored tests, even when these numbers are
5446         zero.  This simplify the logic of testsuite summary creation,
5447         makes it more easily machine-parseable, and will probably allow
5448         for easier addition of new kinds of test results in the future.
5449         * lib/am/check.am (am__tty_colors_dummy): New make variable, to
5450         reduce code duplication.  Extracted from previous versions of
5451         $(am__tty_colors), and extended by defining two new variables
5452         `$mgn' and `$brg'.
5453         [%?COLOR%, %!?COLOR%] (am__tty_colors): Use that new variable.
5454         (am__text_box): Delete, is not needed anymore.
5455         ($(TEST_SUITE_LOG)): Rewrite associated rules to implement the
5456         new testsuite summary format.
5457         * NEWS: Update.
5458         * tests/check10.test: Don't run with the parallel-tests harness
5459         too, that makes no sense anymore.
5460         * tests/color.test: Update and adjust.
5461         * tests/color2.test: Likewise.
5462         * tests/parallel-tests.test: Likewise.
5463         * tests/parallel-tests3.test: Likewise.
5464         * tests/parallel-tests6.test: Likewise.
5465         * tests/parallel-tests9.test: Likewise.
5466         * tests/parallel-tests-unreadable-log.test: Likewise.
5467         * tests/parallel-tests-empty-testlogs.test: Likewise.
5468         * tests/parallel-tests-log-override-recheck.test: Likewise.
5469         * tests/parallel-tests-no-spurious-summary.test: Likewise.
5470         * tests/test-driver-custom-multitest.test: Likewise.
5471         * tests/test-driver-end-test-results.test: Likewise.
5472         * tests/parallel-tests-no-color-in-log.test: New test.
5473         * tests/testsuite-summary-color.test: Likewise.
5474         * tests/testsuite-summary-count.test: Likewise.
5475         * tests/testsuite-summary-count-many.test: Likewise.
5476         * tests/testsuite-summary-reference-log.test: Likewise.
5477         * tests/testsuite-summary-checks.sh: New auxiliary script, used
5478         by the new tests above.
5479         * tests/extract-testsuite-summary: Likewise.
5480         * tests/trivial-test-driver: Optimize for speed when there are
5481         lots of of tests.
5482         * tests/Makefile.am (EXTRA_DIST): Distribute them.
5483         (testsuite-summary-color.log, testsuite-summary-count.log): Depend
5484         on them.
5485         (testsuite-summary-count-many.log): Depend on the auxiliary scripts
5486         'trivial-test-driver' and 'extract-testsuite-summary'.
5487         (TESTS): Update.
5488
5489 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5490
5491         parallel-tests: new recognized test result 'ERROR'
5492         * lib/am/check.am ($(TEST_SUITE_LOG)): Recognize a new test result
5493         `ERROR'.  Use it when encountering unreadable test logs (previously
5494         a simple `FAIL' was used in this situations).
5495         * lib/test-driver: Set the global test result to `ERROR' when the
5496         test exit status is 99.  When doing colorized output, color `ERROR'
5497         results in magenta.
5498         * doc/automake.texi (Log files generation and test results
5499         recording): Update by listing `ERROR' too among the list of valid
5500         `:test-results:' arguments.
5501         * NEWS: Update.
5502         * tests/trivial-test-driver: Update.
5503         * tests/parallel-tests.test: Likewise.
5504         * tests/parallel-tests-harderror.test: Likewise.
5505         * tests/parallel-tests-no-spurious-summary.test: Likewise.
5506         * tests/test-driver-global-log.test: Likewise.
5507         * tests/test-driver-recheck.test: Likewise.
5508         * tests/test-driver-custom-multitest-recheck.test: Likewise.
5509         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
5510         * tests/test-driver-custom-multitest.test: Likewise.
5511         * tests/test-driver-custom-no-html.test: Likewise.
5512         * tests/test-driver-end-test-results.test: Likewise.
5513         * tests/color.test: Likewise.  Also, make stricter, and also test
5514         from VPATH.
5515         * tests/color2.test: Likewise, and improve syncing with color.test.
5516         * tests/parallel-tests-exit-statuses.test: New test.
5517         * tests/parallel-tests-console-output.test: Likewise.
5518         * tests/Makefile.am (TESTS): Update.
5519
5520 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5521
5522         parallel-tests: make parsing of test results safer
5523         The new code for parsing the testsuite-generated `.log' files,
5524         as introduced in commit `v1.11-872-gc96b881', considers each
5525         `:test-result:' field anywhere in a `.log' file as a declaration
5526         of a test result, and accounts for it as such in the testsuite
5527         summary.  Unfortunately this could easily cause spurious test
5528         failures being reported in the testsuite summary.  This happened
5529         in practice with the Automake's own testsuite; for example:
5530           $ make check TESTS='check12-p.test'; echo exit: $?
5531           ...
5532           PASS: check12-p.test
5533           =====================================
5534           4 of 5 tests failed
5535           See tests/test-suite.log
5536           Please report to bug-automake@gnu.org
5537           =====================================
5538           make[2]: *** [test-suite.log] Error 1
5539           make: *** [check-am] Error 2
5540           exit: 2
5541         This change introduces a new special `:test-result:' "END", that,
5542         when seen, prevents the rest of the log file from being parsed.
5543         For more information, refer to the thread:
5544         <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00199.html>
5545         * lib/am/check.am ($(TEST_SUITE_LOG)): Stop the parsing of a log
5546         file as soon as the special ":test-result:END" directive is seen.
5547         Related changes and enhancements.
5548         * lib/test-driver: Protect the rest of the log after the result
5549         lined with a ":test-result:END" directive.
5550         * doc/automake.texi (Log files generation and test results
5551         recording): Update, and related improvements.
5552         * tests/parallel-tests-no-spurious-summary.test: New test.
5553         * tests/test-driver-end-test-results.test: Likewise.
5554         * tests/Makefile.am (TESTS): Update.
5555
5556 2011-06-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
5557
5558         docs: document custom test drivers and protocols
5559         * doc/automake.texi (Simple Tests): Note that the TESTS_ENVIRONMENT
5560         use suggested here is not portable to 'parallel-tests'.
5561         (Simple Tests using parallel-tests): Document new restrictions on
5562         the uses of TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT.
5563         (Custom Test Drivers): New section and node.
5564         (Overview of Custom Test Drivers Support): New subsection.
5565         (Declaring Custom Test Drivers in @file{Makefile.am}): Likewise.
5566         (APIs for Custom Test Drivers): Likewise.
5567         (Options): Update description of color-tests.
5568         * lib/am/check ($(TEST_SUITE_LOG)): Remove comments that have been
5569         moved into the manual.
5570         (recheck, recheck-html): Minor adjustments to better conform to the
5571         documentation (this should cause no semantic changes w.r.t. the
5572         former behaviour); minor improvements and extensions to existing
5573         comments.
5574         * tests/test-driver-create-log-dir.test: New test.
5575         * tests/test-driver-strip-vpath.test: Likewise.
5576         * tests/test-driver-global-log.test: Likewise.
5577         * tests/test-driver-recheck.test: Likewise.
5578         * tests/Makefile.am (TESTS): Update.
5579
5580 2011-07-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5581
5582         tests: small enhancement to 'primary3.test'
5583         * tests/primary3.test: Also test that the program named `foo.la'
5584         has been effectively created.
5585
5586 2011-07-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5587
5588         tests: a small simplification in 'pr8365-remake-timing.test'
5589         * tests/pr8365-remake-timing.test: Avoid redundant definition
5590         and use of `$save_AUTOCONF' variable.
5591
5592 2011-07-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5593
5594         tests: remove an extra leading blank line
5595         * tests/override-conditional-1.test: Remove extra blank line
5596         placed before the shebang line.
5597
5598 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5599
5600         tests: fix typos, grammaros and other blunders in comments
5601         All affected files changed.
5602
5603 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5604
5605         test defs: new subroutine 'seq_', simulating GNU seq(1)
5606         * tests/defs (seq_): New subroutine.
5607         * tests/instmany.test: Use it.
5608         * tests/instmany-mans.test: Likewise.
5609         * tests/instmany-python.test: Likewise.
5610         * tests/self-check-seq.test: New self test.
5611         * tests/Makefile.am (TESTS): Update.
5612
5613 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5614
5615         tests: remove duplication about testing of config.* aux files
5616         * tests/add-missing.test: Also check that the `AC_CANONICAL_SYSTEM'
5617         autoconf macro causes the `config.sub' and `config.guess' scripts
5618         to be installed by `automake --add-missing'.  Since we are at it,
5619         fix minor buglets and cosmetic issues in the `check_' function.
5620         * tests/hosts.test: Removed, completely subsumed by the previous
5621         test now.
5622         * tests/Makefile.am (TESTS): Update.
5623
5624 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5625
5626         tests: more uses of the 'unindent' subroutine
5627         * tests/backcompat.test: Prefer `unindent' over plain `cat' for
5628         here documents created from within a loop of if/else body.
5629         * tests/backcompat2.test: Likewise.
5630         * tests/backcompat4.test: Likewise.
5631         * tests/init.test: Likewise.
5632         * tests/instmany.test: Likewise.
5633         * tests/instmany-mans.test: Likewise.
5634         * tests/instmany-python.test: Likewise.
5635         * tests/missing5.test: Likewise.
5636         * tests/parallel-am2.test : Likewise.
5637         * tests/parallel-am3.test : Likewise.
5638         * tests/pr307.test: Likewise.
5639         * tests/depend4.test: Likewise.  Since we are at it, normalize
5640         other code formatting.
5641         * tests/instfail-java.test: Prefer `echo' over `cat' + here-doc
5642         inside a for loop.
5643
5644 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5645
5646         tests: avoid '##'-style comments inside recipe commands
5647         * tests/autodist.test: Do not whitespace-indent `##' comments when
5648         they are embedded in a makefile rule: having them indented is not
5649         part of the Automake API, and might cause failures with e.g., Tru64
5650         make.
5651         * tests/autodist-subdir.test: Likewise.
5652         * tests/backcompat.test: Likewise.
5653         * tests/backcompat6.test: Likewise.
5654         * tests/colon7.test: Likewise.
5655         * tests/posixsubst-scripts.test: Likewise.
5656         * tests/posixsubst-sources.test: Likewise.
5657
5658 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5659
5660         tests: tweak, improve and extend tests on lisp support
5661         * tests/lisp2.test: Prettify, and improve debugging output.  Make
5662         grepping of automake stderr stricter.
5663         * tests/lisp7.test: Ensure verbose printing of captured make
5664         output.  Add trailing `:' command.
5665         * tests/lisp8.test: Likewise.
5666         * tests/lisp3.test: Likewise.  Also, check that `.el' files and
5667         compiled `.elc' files get installed by "make install", and
5668         uninstalled by "make uninstall".
5669         * tests/lisp4.test: Ensure installed `.el' files gets removed by
5670         "make uninstall".  Related changes.  Add trailing `:' command.
5671         * tests/lisp5.test: Likewise.
5672         * tests/lisp6.test: Use proper m4 quoting in configure.in.  Fix
5673         use of blank lines, to improve clarity and symmetry.  Fix typo in
5674         comment.  Add trailing `:' command.
5675
5676 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5677
5678         tests: drop useless requirement in 'license.test'
5679         * tests/license.test: Drop  useless requirement "makeinfo".  Add
5680         an extra blank line, for clarity.
5681
5682 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
5683
5684         tests defs: more uses of $top_testsrcdir
5685         * tests/autodist-stamp-vti.test: Use `$top_testsrcdir' instead
5686         of `$testsrcdir/..'.
5687         * tests/repeated-options.test: Likewise.
5688         * tests/suffix5.test: Likewise.
5689         * tests/vtexi3.test: Likewise.
5690
5691 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
5692
5693         self tests: fix typo in comment
5694         * tests/self-check-exit.test: Fix typo in heading comments.
5695
5696 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
5697
5698         tests: remove redundant settings of `errexit' shell flag
5699         * tests/amhello-binpkg.test: Do not set the `errexit' shell
5700         flag, as it is already set by `tests/defs'.
5701         * tests/amhello-cflags.test: Likewise.
5702         * tests/amhello-cross-compile.test: Likewise.
5703         * tests/ansi2knr-deprecation.test: Likewise.
5704         * tests/autodist-no-duplicate.test: Likewise.
5705         * tests/distcheck-configure-flags-am.test: Likewise.
5706         * tests/distcheck-configure-flags-subpkg.test: Likewise.
5707         * tests/distcheck-configure-flags.test: Likewise.
5708         * tests/distcheck-hook.test: Likewise.
5709         * tests/distcheck-hook2.test: Likewise.
5710         * tests/parallel-tests-am_tests_environment.test: Likewise.
5711         * tests/parallel-tests-harderror.test: Likewise.
5712         * tests/parallel-tests-log-compiler-example.test: Likewise.
5713         * tests/parallel-tests-log-override-1.test: Likewise.
5714         * tests/parallel-tests-log-override-2.test: Likewise.
5715         * tests/parallel-tests-log-override-recheck.test: Likewise.
5716         * tests/primary-prefix-couples-documented-valid.test: Likewise.
5717         * tests/primary-prefix-couples-force-valid.test: Likewise.
5718         * tests/primary-prefix-invalid-couples.test: Likewise.
5719         * tests/primary-prefix-valid-couples.test: Likewise.
5720         * tests/remake-subdir-from-subdir.test: Likewise.
5721         * tests/remake-subdir-gnu.test: Likewise.
5722         * tests/remake-subdir-long-time.test: Likewise.
5723         * tests/remake-subdir.test: Likewise.
5724         * tests/remake-subdir2.test: Likewise.
5725         * tests/silent-configsite.test: Likewise.
5726         * tests/tests-environment-backcompat.test: Likewise.
5727
5728 2011-06-29   Stefano Lattarini  <stefano.lattarini@gmail.com>
5729
5730         docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
5731         * doc/automake.texi (Simple Tests using parallel-tests): Ditto, and
5732         related adjustments.
5733         Suggestion by Ralf Wildenhues.
5734
5735 2011-06-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
5736
5737         docs: fix unportable example of AM_TESTS_ENVIRONMENT usage
5738         * doc/automake.texi (Simple Tests using parallel-tests): The
5739         old example on AM_TESTS_ENVIRONMENT relied on unportable shell
5740         features, and in particular didn't work with various Korn
5741         Shells (see also commit `v1.11-925-g29ca903').  Give another
5742         example, simpler this time, but still inspired to real-world
5743         usage (the GNU coreutils testsuite).
5744
5745 2011-06-28   Stefano Lattarini  <stefano.lattarini@gmail.com>
5746
5747         yacc tests: fix bug in 'yacc-cxx.test'
5748         * tests/yacc-cxx.test: Enable `errexit' shell flag (the lack of
5749         which was masking the bug).
5750         (bar.cxx): Rename to ...
5751         (bar2.cxx): ... this, otherwise automake will (correctly) complain
5752         that object `bar.o' is created by both `bar.cxx' and `bar.c++'.
5753         (Makefile.am): Adjust.
5754
5755 2011-06-28   Stefano Lattarini  <stefano.lattarini@gmail.com>
5756
5757         lex tests: fix spurious link errors on Solaris
5758         On Solaris 10, linking of lex-generated programs was failing in a
5759         couple of lex tests with errors like this:
5760           g++ -g -O2 -o joe joe.o -ll
5761           Undefined symbol     first referenced in file
5762           yywrap()             joe.o
5763           ld: fatal: Symbol referencing errors. No output written to joe
5764           collect2: ld returned 1 exit status
5765         This change fixes it, also fixing at once potential problems for
5766         systems that don't have a "lex library" (this happens for example
5767         when cross-compiling from GNU/Linux to MinGW).
5768         * tests/lex-depend-cxx.test (joe.ll, moe.l++): Define a dummy
5769         `yywrap()' function.
5770         * tests/lex-clean-cxx.test (mainfoo.cc, mainbar.cpp, mainbaz.c++,
5771         mainqux.cxx): Likewise.
5772
5773 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5774
5775         docs: avoid a footnote, some related rewordings and improvements
5776         * doc/automake.texi (Dist): Reword the part about automatically
5777         distributed files to avoid a footnote.  Since we are at it, extend
5778         a bit, and add an example and a reference to a relevant test case.
5779
5780 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5781
5782         docs: minor cosmetic fixes
5783         * doc/automake.texi: Break few overly long lines, throughout the
5784         file.
5785         ("Simple Tests"): Move @vindex for XFAIL_TESTS to the correct
5786         position, i.e., before and not after the paragraph where it is
5787         introduced.
5788         ("Options" @item ansi2knr): Use @pxref instead of @xref.  This
5789         fixes a texinfo warning.
5790         ("Other things Automake recognizes" @item AM_C_PROTOTYPES): Use
5791         @pxref instead of @ref.
5792
5793 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5794
5795         help: improve text about automatically-distributed files
5796         This change fixes automake bug#7819.
5797         * automake.in (usage): Distinguish between files that are always
5798         automatically distributed when found, and those which are only
5799         "under certain conditions".
5800         * doc/automake.texi (Basics of Distribution): Update accordingly.
5801         * tests/autodist-subdir.test: Update.
5802         * tests/autodist-no-duplicate.test: Likewise.
5803         * tests/autodist.test: Likewise.
5804         (configure.in): Remove useless call to AM_MAINTAINER_MODE.
5805
5806 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5807
5808         refactor: split 'usage' subroutine in automake
5809         This change is related to automake bug#7819.
5810         * automake.in (print_autodist_files): New subroutine,
5811         extracted from ...
5812         (usage): ... this, which now uses it.
5813         * tests/autodist-no-duplicate.test: New test.
5814         * tests/Makefile.am (TESTS): Update.
5815
5816 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5817
5818         tests: fix bug in 'autodist.test'
5819         * tests/autodist.test: Avoid spurious failure due to no
5820         `defs-static' file being found in the parent directory.
5821
5822 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
5823
5824         parallel-tests: allow each test to have multiple results
5825         With this change, we improve the code creating the `test-suite.log'
5826         global log and the console testsuite summary to make it able to
5827         grasp multiple results per test script.  This is required in order
5828         to introduce the planned support for test protocols, like TAP and
5829         SubUnit, which can indeed run multiple tests per test script, each
5830         with its individual result.
5831         The implementation makes use of a custom reStructuredText field
5832         `:test-result:'.
5833         Note that no new documentation is added by this change; that is
5834         be left for follow-up changes.
5835         * lib/check.am ($(TEST_SUITE_LOG)): When processing .log files,
5836         recognize a report of a test's result only if it is declared with
5837         the custom `:test-result:' reStructuredText field placed at the
5838         beginning of a line.  Extend and add explanatory comments.
5839         (recheck, recheck-html): Add explanatory comments.
5840         * lib/test-driver: Write an appropriate reStructuredText field
5841         `:test-result:' in the generated log file.  Use a reStructuredText
5842         transition to better separate the test outcome report from the
5843         test script's registered output.  Improve comments.
5844         * tests/test-driver-custom-xfail-tests.test: Adjust.
5845         * tests/parallel-tests7.test: Adjust.
5846         * tests/parallel-tests-empty-testlogs.test: New test.
5847         * tests/parallel-tests-recheck-override.test: Likewise.
5848         * tests/parallel-tests2.test: Extend and keep more in-sync with ...
5849         * tests/test-driver-custom-html.test: ... this new related test.
5850         * tests/test-driver-custom-no-html.test: New test.
5851         * tests/test-driver-custom-multitest.test: Likewise.
5852         * tests/test-driver-custom-multitest-recheck.test: Likewise.
5853         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
5854         * tests/trivial-test-driver: New file, used by the last four tests
5855         above.
5856         * tests/Makefile.am (TESTS): Update.
5857         (EXTRA_DIST): Distribute `trivial-test-driver'.
5858         (test-driver-custom-multitest.log): Depend on `trivial-test-driver'.
5859         (test-driver-custom-multitest-recheck.log): Likewise.
5860         (test-driver-custom-multitest-recheck2.log): Likewise.
5861         (test-driver-custom-html.log): Likewise.
5862
5863 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
5864
5865         parallel-tests: allow custom driver scripts
5866         Allow suffix-based definition of custom "driver script" for the
5867         test scripts.  These driver scripts will be responsible of
5868         launching the tests (or their corresponding $(LOG_COMPILER), if
5869         they have an associated one), interpreting and displaying the
5870         test results, and writing the `.log' files.
5871         This new API should allow easy and flexible use of different
5872         test protocols in the future; in particular, we plan to use it
5873         to implement TAP and SubUnit harnesses.
5874         Note that no new documentation is added by this change; that is
5875         be left for follow-up changes.
5876         * automake.in (handle_tests): Define default for $(LOG_DRIVER),
5877         and, for any registered test extension `<ext>', define defaults
5878         for $(<ext>_LOG_DRIVER).  Substitute %DRIVER% using these new
5879         variables, instead of the old internal $(am__test_driver).  When
5880         processing check2.am, also substitute %DRIVER_FLAGS%.
5881         Require auxiliary script `test-driver' only if no driver has been
5882         explicitly defined for the test script kinds.
5883         * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
5884         ?!GENERIC?%OBJ%): Pass the %DRIVER_FLAGS% to the %DRIVER% call.
5885         * tests/parallel-tests-no-extra-driver.test: New test.
5886         * tests/test-driver-custom.test: Likewise.
5887         * tests/test-driver-custom-xfail-tests.test: Likewise.
5888         * tests/test-driver-fail.test: Likewise.
5889         * tests/Makefile.am: Update.
5890         * NEWS: Update.
5891
5892 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
5893
5894         parallel-tests: add auxiliary script 'test-driver', refactor
5895         This refactoring should cause no API of functionality change,
5896         and is meant only to simplify the future implementation of TAP
5897         and SubUnit testsuite drivers.  More precisely, our roadmap is
5898         to move most of the "testsuite driving" features out of the
5899         Automake-generated Makefiles, and into external scripts with
5900         well-defined interfaces.  This will allow the user to define
5901         its own personalized testsuite drivers, and will also offer us
5902         a framework upon which to implement our new TAP and SubUnit
5903         drivers, all in a very unobtrusive way and retaining an high
5904         degree of code reuse and backward-compatibility.
5905         * lib/test-driver: New auxiliary script.
5906         * lib/Makefile.am (dist_SCRIPT_DATA): Add it.
5907         * automake.in (handle_tests): Require the new auxiliary script
5908         `test-driver', and define a new internal makefile variable
5909         `$(am__test_driver)', used to call it.  Perform new substitution
5910         on `DRIVER' when processing the `check2.am' file.
5911         * lib/check.am (am__tty_colors): Define new shell variable
5912         `$am__color_tests'.
5913         (am__rst_section): Removed, its role taken over by the new
5914         `test-driver' script.
5915         (am__test_driver_flags): New variable, contains the command
5916         line options passed to `test-driver'.
5917         (am__check_pre): Do not deal with temporary files and exit
5918         traps anymore, as the `test-driver' script takes care of that
5919         now.  Define shell variable `$am__enable_hard_errors', used by
5920         `$(am__test_driver_flags)'.  Reorder so that we don't need to
5921         save and restore the value of the `TERM' environment variable
5922         anymore.
5923         Other related adjustments.
5924         (am__check_post): Remove, as its role has been completely taken
5925         over by the `test-driver' script.
5926         * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
5927         ?!GENERIC?%OBJ%): Call the test script through the Automake
5928         substituted `%DRIVER%', and honor the command-line options
5929         in `$(am__test_driver_flags)'.  Do not call the obsoleted
5930         `$(am__check_post)' anymore.
5931         * doc/automake.texi (Auxiliary Programs): Mention the new
5932         `test-driver' script.
5933         (Optional): Mention `test-driver' in AC_CONFIG_AUX_DIR.
5934         Since we are at it, break the list of auxiliary scripts by
5935         placing one per line, to simplify potential future additions
5936         of new scripts.
5937         * tests/check.test: Adjust.
5938         * tests/check2.test : Likewise.
5939         * tests/check3.test : Likewise.
5940         * tests/check4.test : Likewise.
5941         * tests/check10.test: Likewise.
5942         * tests/color.test: Likewise.
5943         * tests/color2.test: Likewise.
5944         * tests/comment9.test: Likewise.
5945         * tests/dejagnu.test: Likewise.
5946         * tests/exeext4.test: Likewise.
5947         * tests/maken3.test: Likewise.
5948         * tests/maken4.test: Likewise.
5949         * tests/parallel-tests-interrupt.test: Likewise.
5950         * tests/posixsubst-tests.test: Likewise.
5951         * tests/repeated-options.test: Likewise.
5952         * tests/check-no-test-driver.test: New test.
5953         * tests/parallel-test-driver-install.test: Likewise.
5954         * tests/Makefile.am (TESTS): Update.
5955         * NEWS: Update.
5956
5957 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
5958
5959         maintcheck: extend 'sc_tests_plain_*' checks
5960         * Makefile.am (sc_tests_plain_autom4te): New check.
5961         (sc_tests_plain_autoreconf): Likewise.
5962         (sc_tests_plain_autoheader): Likewise.
5963         (syntax_check_rules): Update.
5964
5965 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
5966
5967         tests: interactions between TESTS_ENVIRONMENT and LOG_COMPILER
5968         * tests/tests-environment-and-log-compiler.test: New test,
5969         checking that we can use variables and functions set by
5970         TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT in LOG_COMPILER
5971         and LOG_FLAGS (for tests both with and without registered
5972         extensions).
5973         * tests/Makefile.am (TESTS): Update.
5974
5975 2011-06-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5976
5977         tests: make 'subst-no-trailing-empty-line.test' more robust
5978         * tests/subst-no-trailing-empty-line.test: Strengthen existing
5979         checks, to try more scenarios and be slightly stricter in some
5980         grepping checks.
5981
5982 2011-06-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5983
5984         tests: fix an incomplete comment
5985         * tests/subst-no-trailing-empty-line.test: Fix an incomplete
5986         comment, and move it to a more proper place.  Minor cosmetic
5987         fixes to other comments.
5988
5989 2011-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
5990
5991         maintcheck: avoid few more spurious failures
5992         * tests/depmod-data.test: Use creative quoting to avoid
5993         spuriously triggering the `sc_tests_Exit_not_exit' maintainer
5994         check.  Commit `v1.11-900-g3453b8e' attempted to fix it, but
5995         succeeded only partially.
5996         * tests/cond33.test: Fix header comments, not to reference
5997         obsolescent make variable `$(mkdir_p)'.
5998         * tests/cond4.test: Rewrite "$MAKE exp=..." as "exp=.. $MAKE -e",
5999         to please `sc_tests_overriding_macros_on_cmdline'
6000         * tests/cond19.test: Likewise.
6001         * tests/cond32.test: Likewise.
6002         * tests/add-missing.test: Use "AUTOMAKE_fails" instead of
6003         "$AUTOMAKE ... && Exit 1", to please `sc_tests_automake_fails'.
6004
6005 2011-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
6006
6007         maintcheck: avoid few spurious failures
6008         * Makefile.am (sc_tests_plain_aclocal, sc_tests_plain_perl,
6009         sc_tests_plain_autoconf, sc_tests_plain_automake,
6010         sc_tests_plain_autoupate): Be stricter in matching an erroneous
6011         literal command, i.e., `aclocal', `automake', `perl', etc.
6012
6013 2011-06-20  Bert Wesarg <bert.wesarg@googlemail.com>  (tiny change)
6014
6015         check: don't use multi-line coloring for the report
6016         "less -R" can't handle multi-line coloring as it is done for the
6017         check reports of the serial and parallel testsuite, because of
6018         performance reasons.  Thus, color each line of the check report
6019         by its own.
6020         * lib/am/check.am (am__text_box): Accept colors for lines, and
6021         color each line by its own.
6022         [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Let am__text_box handle
6023         the line coloring.
6024         [!%?PARALLEL_TESTS%] $(check-TESTS): Color each report line by
6025         its own.
6026         * THANKS: Update.
6027
6028 2011-06-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
6029
6030         docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
6031         * doc/automake.texi (Checking the Distribution): Explain that the
6032         developers should take care of making their code buildable without
6033         requiring any special configure options, so that in general
6034         AM_DISTCHECK_CONFIGURE_FLAGS shouldn't be used.  Give an example
6035         of where its use is legitimate.
6036         Suggestions from Ralf Wildenhues and Eric Blake.
6037
6038 2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
6039
6040         ansi2knr: deprecate, it will go away in the next major release
6041         * doc/automake.texi: Loudly and repeatedly state that the old
6042         de-ANSI-fication features are now deprecated and will be removed
6043         in the next major Automake release.  Other related adjustments.
6044         * lib/Automake/Options.pm (_process_option_list ): Give a warning
6045         in the `obsolete' category when the `ansi2knr' option is used.
6046         * m4/protos.m4 (AM_C_PROTOTYPES): Deprecate this macro: a warning
6047         in the `obsolete' category will be emitted it if is used.
6048         * tests/ansi2knr-deprecation.test: New test.
6049         * tests/Makefile.am (TESTS): Update.
6050         * tests/ansi.test: Adjust, by calling autoconf and/or automake
6051         with the `-Wno-obsolete' flag.
6052         * tests/ansi10.test: Likewise.
6053         * tests/ansi2.test: Likewise.
6054         * tests/ansi3.test: Likewise.
6055         * tests/ansi3b.test: Likewise.
6056         * tests/ansi4.test: Likewise.
6057         * tests/ansi5.test: Likewise.
6058         * tests/ansi6.test: Likewise.
6059         * tests/ansi7.test: Likewise.
6060         * tests/ansi8.test: Likewise.
6061         * tests/ansi9.test: Likewise.
6062         * tests/cxxansi.test: Likewise.
6063         * tests/libobj8.test: Likewise.
6064         * NEWS: Update about the future planned backward-incompatibility
6065         due to the removal of de-ANSI-fication feature.
6066
6067 2011-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
6068
6069         docs: primary/prefix combination "pkglib_PROGRAMS" is now invalid
6070         * doc/automake.texi (Program Sources): pkglib_PROGRAMS is not a
6071         valid combination anymore, so don't document it.  Inconsistency
6072         introduced in commit `v1.11-373-g9ca6326'.
6073
6074 2011-06-19  Jim Meyering  <meyering@redhat.com>
6075
6076         docs: replace obsolete @vindex entry with a useful one
6077         * doc/automake.texi (Program Sources): Do not index obsolete
6078         pkglib_PROGRAMS here.  Do index pkglibexec_PROGRAMS.
6079
6080 2011-06-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
6081
6082         tests: more checks on portable fd redirection in TESTS_ENVIRONMENT
6083         * tests/tests-environment-fd-redirect.test: Extend by also using
6084         a perl script among the tests.  Run the test shell script with
6085         the `errexit' flag active.  Export `VERBOSE' to yes when running
6086         "make check", to give more debugging information in case of
6087         failures.  Look for a Korn Shell also in `/usr/bin', not on only
6088         in `/bin'.
6089
6090 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6091
6092         tests: optimize tests on primary/prefix mismatch for speed
6093         * tests/primary-prefix-invalid-couples.test: Partial rewrite, in
6094         order to use just a single automake invocation rather than one
6095         invocation for each invalid primary/prefix couple.  This improves
6096         the test script execution time by an order of magnitude.
6097         Since we are at it, throw in some other improvements to avoid
6098         unrelated automake warnings and failures that could potentially
6099         cause false positives w.r.t. the automake exit status.
6100
6101 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6102
6103         news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
6104         * NEWS (Miscellaneous changes): Update.
6105
6106 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
6107
6108         maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
6109         * Makefile.am (sc_tests_overriding_macros_on_cmdline): It's now
6110         acceptable that the test scripts override DISTCHECK_CONFIGURE_FLAGS
6111         on the make command line.  Update comments accordingly.  Since we
6112         are at it, make the relevant grepping rules slightly tighter.
6113
6114 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
6115
6116         distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
6117         * doc/automake.texi (Checking the Distribution): Suggest to use
6118         AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to
6119         define (in the top-level Makefile.am) extra flags to be passed
6120         to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS
6121         should be reserved for the user.  Add proper `@vindex' directive.
6122         Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a
6123         subpackage Makefile.am, but the flags in it are passed down to
6124         the configure script of the subpackage.
6125         * lib/am/distdir.am (distcheck): Also pass the flags in
6126         $(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation.
6127         Update comments.
6128         * tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS,
6129         DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in
6130         the environment, they might improperly influence our testsuite.
6131         * tests/distcheck-configure-flags.test: New test.
6132         * tests/distcheck-configure-flags-am.test: Likewise.
6133         * tests/distcheck-configure-flags-subpkg.test: Likewise.
6134         * distcheck-hook.test: Likewise.
6135         * distcheck-hook2.test: Likewise.
6136         * tests/Makefile.am (TESTS): Update.
6137         Closes automake bug#8784.
6138
6139 2010-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
6140
6141         docs: better documentation for silent make rules
6142         * doc/automake.texi (Options): Detailed description of the
6143         automake option `silent-rules' moved from here ...
6144         (Silent Make): ... into this new chapter, expanded, improved,
6145         and subdivided into ...
6146         (Make verbosity, Tricks For Silencing Make,
6147         Automake silent-rules Option): ... these new sections.
6148         (@menu, @detailmenu): Update.
6149         * tests/silent-configsite.test: New test, checking that the
6150         user can control default mode of silent-rules from config.site,
6151         as is documented in the manual.
6152         * tests/Makefile.am (TESTS): Updated.
6153
6154 2011-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
6155
6156         Warnings about primary/prefix mismatch fixed and extended.
6157         * automake.in (%standard_prefix): Add `doc' and `locale'.
6158         Rename `pkgdatadir' to `pkgdata'.  Similarly for`pkglibdir',
6159         `pkgincludedir' and `pkglibexecdir'.
6160         (handle_programs): List `pkglibexec', not `pkglib', among the
6161         prefixes valid for the `PROGRAMS' primary.
6162         (handle_data): List also `doc' among the prefixes valid for
6163         the `DATA' primary.  This is required by automake's own build
6164         system.
6165         * tests/dirforbid.test: Test removed, superseded by ...
6166         * tests/primary-prefix-invalid-couples.test: ... this new test.
6167         * tests/primary-prefix-valid-couples.test: New test.
6168         * tests/primary-prefix-couples-documented-valid.test: Likewise.
6169         * tests/primary-prefix-couples-force-valid.test: Likewise.
6170         * tests/java3.test: Adjusted, and extended a bit.
6171         * tests/Makefile.am (TESTS): Updated.
6172         * NEWS: Updated.
6173         From a report by Eric Blake.
6174
6175 2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
6176
6177         tests: check portable fd redirection in TESTS_ENVIRONMENT
6178         * tests/tests-environment-fd-redirect.test: New test.
6179         * tests/Makefile.am (TESTS): Update.
6180         Motivated by coreutils bug#8846:
6181          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
6182         See also following CC:ed thread on bug-autoconf list:
6183          <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
6184
6185 2011-06-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
6186
6187         tests: make test 'self-check-reexec.test' more portable
6188         * tests/self-check-reexec.test: Rewrite not to require a Korn
6189         Shell able to grok variable expansions such as `${.sh.version}';
6190         Solaris 10 /bin/ksh fails on this for example.  Instead, just
6191         require bash and a shell that is not bash.
6192
6193 2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
6194             Jim Meyering  <meyering@redhat.com>
6195
6196         test defs: fix ksh-related portability bug in warning messages
6197         Running "make check" normally prints a diagnostic to the outermost
6198         stderr (usually a tty) to explain why a test is skipped, thus
6199         giving better and faster feedback to the user.  It used to do
6200         so by redirecting file descriptor 9 to stderr (via "exec 9>&2")
6201         before invoking the test scripts, which then would write any skip
6202         explanation to file descriptor 9 via the `skip_' function defined
6203         in `tests/defs'.
6204         However, various Korn Shells (at least Solaris 10's /bin/ksh and
6205         Debian GNU/Linux's /bin/ksh) and the HP-UX's /bin/sh close open
6206         file descriptors > 2 upon an `exec' system call; thus the effects
6207         of "exec 9>&2" are cancelled upon fork-and-exec, so we would get
6208         a "Bad file number" diagnostic and no skip explanation with those
6209         shells.
6210         The present change remedies this situation.
6211         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Redirect more portably,
6212         via a trailing "9>&2", rather than the prior "exec 9>&2; ...".  Add
6213         explanatory comments.
6214         * tests/defs (stderr_fileno_): Update the advice in comments.
6215         Based on commit v8.12-82-g6b68745 "tests: accommodate HP-UX and
6216         ksh-derived shells" in GNU coreutils.
6217         Further references, with lots of discussion:
6218          <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
6219          <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488>
6220          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
6221
6222 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6223
6224         tests: remove 'test_prefer_config_shell' from the environment
6225         Since commit `v1.11-910-g7df1a9b', the once user-overridable
6226         variable `$test_prefer_config_shell' has become an internal
6227         detail, and the test scripts now complain and bail out if it is
6228         set in the environment.
6229         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Unset the variable
6230         `test_prefer_config_shell' if it is set in the environment.
6231
6232 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6233
6234         tests: autogenerate list of wrapped tests for `lib/' shell scripts
6235         * tests/gen-config-shell-tests: New script, generates distributed
6236         makefile snippet `tests/config-shell-tests.am' to list all tests
6237         that use the `get_shell_script' function, with names mangled to
6238         use suffix `-w.shtst', in ...
6239         * tests/Makefile.am (config_shell_tests): ... this macro, whose
6240         definition has been consequently removed from Makefile.am.
6241         (EXTRA_DIST): Distribute the new script.
6242         ($(srcdir)/config-shell-tests.am): Generate using the new script.
6243         (include): Include the `config-shell-tests.am' fragment.
6244         * bootstrap: Invoke `tests/gen-config-shell-tests' to generate
6245         `tests/config-shell-tests.am'.
6246         * tests/.gitignore: Ignore `config-shell-tests.am'.
6247         * tests/gen-parallel-tests: Fixlet in heading comments.
6248
6249 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6250
6251         tests: test mdate-sh with /bin/sh too
6252         * tests/mdate5.test: Fetch the `mdate-sh' script using the
6253         `get_shell_script' function, and run it directly instead of
6254         using `$SHELL'.
6255         * tests/mdate6.test: Likewise.  Since we are at it, make checks
6256         on the `mdate-sh' output stricter, remove now unneeded calls to
6257         aclocal and automake and creation/extension of `configure.in',
6258         `Makefile.am' and `textutils.tex' files, and add a trailing `:'
6259         command.
6260         * tests/Makefile.am (config_shell_tests): Add `mdate5-w.shtst'
6261         and `mdate6-w.shtst'.
6262
6263 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6264
6265         tests: extend tests on `--add-missing' and `--copy' a bit
6266         * tests/add-missing.test: Fix typo in heading comments.  Try with
6267         another testcase that install many (but not all) the auxiliary
6268         scripts at once, and uses non-standard (but valid and documented)
6269         setups (e.g., defining YACC in Makefile.am instead of calling
6270         AC_PROG_YACC from configure.in).
6271         * tests/copy.test: Reference `add-missing.test' in heading
6272         comments.  Try few more test scenarios.
6273
6274 2011-06-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
6275
6276         tests: few fixlets and improvements
6277         * tests/cond31.test ($required): Remove `cc', it's not really
6278         needed.
6279         * tests/confh.test: Call autoheader too.  The lack of this call
6280         wasn't causing spurious failures because the automatic remake
6281         rules were somehow invoking it on our behalf (at make time).
6282         * tests/fn99subdir.test: Use $subdirname throughout, instead of
6283         ${subdirname}, for consistency with the rest of the testsuite.
6284         Avoid an unnecessary subshell, which could also cause spurious
6285         passes, being guarded by a trailing `|| Exit 1', which neutralize
6286         the `errexit' flag.  Remove an unnecessary `|| Exit 1' guard.
6287         * tests/insh2.test: Rewrite to avoid hackish Makefile.in munging,
6288         and to also run configure and make.
6289
6290 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6291
6292         tests: don't hard-code test name in txinfo21.test
6293         * tests/txinfo21.test: Use `$me' instead of hard-coding the
6294         current testcase name "txinfo21".  Add a trailing `:' command
6295         since we are at it.
6296
6297 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
6298
6299         tests: new test dedicated to `--add-missing' and `--copy'
6300         * tests/add-missing.test: New test.
6301         * tests/Makefile.am (TESTS): Update.
6302         Suggested by Peter Rosin.
6303
6304 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6305
6306         testsuite: use 'fatal_' and 'framework_failure_' for hard errors
6307         * tests/defs (require_xsi): Use `fatal_', not `framework_failure',
6308         to report an invalid usage.
6309         * tests/remake-gnulib-remove-header.test: Prefer using `fatal_'
6310         with a proper error message over a direct call to `Exit 99'.
6311         * tests/pr8365-remake-timing.test: Likewise.
6312         * tests/cygnus-imply-foreign.test: Likewise.
6313         * tests/missing6.test: Likewise.
6314         * tests/cond8.test: Likewise.
6315         * tests/cond33.test: Likewise.
6316         * tests/python-virtualenv.test: Prefer using `framework_failure_'
6317         with a proper error message over a direct call to `Exit 99'.
6318         * tests/instspc-tests.sh: Prefer using `framework_failure_' and
6319         `fatal_' over direct calls to `Exit 99'.
6320         (fatal_): Define this (which is a simplified version of the one
6321         in `tests/defs') for early uses (i.e., before `tests/defs'
6322         gets sourced).
6323         * tests/depmode-tests.sh: Likewise.  Also, simplify the
6324         'get_depmodes' function and calls to it accordingly.
6325
6326 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6327
6328         self tests: check new 'fatal_' function
6329         * tests/self-check-exit.test: Also check the new 'fatal_'
6330         function.
6331
6332 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6333
6334         test defs: new function 'fatal_', for hard errors
6335         Before this patch, the only way offered by tests/defs to
6336         properly signal a hard error was the `framework_failure_'
6337         function.  But the error message issued by that function,
6338         as its name would suggest, refers to a set-up failure in the
6339         testsuite, while hard errors can obviously also be due to
6340         other reasons.  The best way to fix this inconsistency is to
6341         introduce a new function with a more general error message.
6342         Inspired by a recent similar change to Gnulib's tests/init.sh.
6343         * tests/defs (fatal_): New function.
6344         * tests/README (Section "Writing test cases" subsection "Do"):
6345         Suggest the use of `fatal_', not of `framework_failure_', for
6346         generic hard errors.  The latter should be reserved for "real"
6347         set-up failures.
6348
6349 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6350
6351         py-compile: '--' and non-option arguments terminate the option list
6352         * lib/py-compile: Any non-option argument, or the special `--'
6353         argument, now explicitly terminates the list of options.
6354         * tests/py-compile-option-terminate.test: New test.
6355         * tests/Makefile.am (TESTS): Update.
6356         * NEWS: Update.
6357
6358 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6359
6360         py-compile: complain on unrecognized options
6361         * lib/py-compile: Complain on unrecognized options.  Don't be too
6362         lax in matching `--help' and `--version' options.
6363         * tests/py-compile-usage.test: Extend accordingly.
6364         * NEWS: Update.
6365
6366 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6367
6368         py-compile: normalize error and help messages
6369         * lib/py-compile: Now error messages do not begin with a capital
6370         letter, nor end with a period, as per GNU standards.  Prepend the
6371         error messages with the name of the script, not with its path.
6372         When an invalid usage is recognized, always display the customary
6373         message "Try `py-compile --help' ..." on a line of its own.
6374         ($me): New variable, containing the name of the
6375         program, i.e., `py-compile'.  Use it throughout.
6376         (usage_error): New function, used to display error messages about
6377         invalid usage.
6378         * tests/py-compile-usage.test: Extend and tighten accordingly.
6379
6380 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6381
6382         python tests: add "unit tests" on py-compile
6383         * tests/py-compile-basic.test: New test.
6384         * tests/py-compile-basic2.test: New test.
6385         * tests/py-compile-basedir.test: Likewise.
6386         * tests/py-compile-destdir.test: Likewise.
6387         * tests/py-compile-env.test: Likewise.
6388         * tests/py-compile-usage.test: Likewise.
6389         * tests/Makefile.am (TESTS): Update.
6390         Tested with python 2.0.1, 2.4.6, 2.6.6, 2.7.1, and 3.1.3.
6391
6392 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6393
6394         py-compile: the '--destdir' option now accepts a blank argument
6395         * lib/py-compile (Option parsing): Do not count an empty argument
6396         to `--destdir' or `--basedir' as a missing argument.
6397         * lib/python.am: Simplify accordingly, passing the `--destdir'
6398         option to py-compile unconditionally, even if `$(DESTDIR)' is
6399         empty.
6400         * NEWS: Update.
6401
6402 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6403
6404         python: run the 'py-compile' script with $(SHELL)
6405         * lib/python.am (install-%DIR%PYTHON): Run each instance of
6406         py-compile using $(SHELL).  Since we are at it, break overly
6407         long lines.
6408         (am__py_compile): New variable, to reduce code duplication.
6409
6410
6411 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
6412
6413         tests: `lib/' shell scripts transparently tested also with $SHELL
6414         With the previous commit, the user could prefer the use of $SHELL
6415         over /bin/sh in some tests checking the Automake-provided shell
6416         scripts by manually exporting `test_prefer_config_shell' to "yes"
6417         in the environment.  With this commit, we ensure that such tests
6418         *always* and *transparently* run using both $SHELL and /bin/sh
6419         to execute the checked scripts.  The `test_prefer_config_shell'
6420         variable becomes an internal detail, and is no more meant to be
6421         manually defined or overridden.
6422         * tests/defs-static.in: Check that `test_prefer_config_shell' is
6423         not exported in the environment.  Error out if this is the case.
6424         * tests/config-shell-tests.sh: New file, driver script to run
6425         checks on the shell scripts in `lib/' using the $SHELL determined
6426         at configure time instead of the default system shell /bin/sh.
6427         * Makefile.am (TESTS_EXTENSIONS): Add `.shtst'.
6428         (SHTST_LOG_COMPILER): Define, it calls `config-shell-tests.sh'.
6429         (config_shell_tests): Define to a list of tests that wraps other
6430         `*.test' tests using `config-shell-tests.sh'.
6431         ($(config_shell_tests)): Dummy dependency declaration required
6432         in order to have make actually produce expected log files from
6433         the `.shtst.log' suffix rule.
6434         (EXTRA_DIST): Distribute `config-shell-tests.sh'.
6435         (TESTS): Add `$(config_shell_tests)'.
6436         * tests/self-check-env-sanitize.test: Update, by checking that
6437         `test_prefer_config_shell' isn't exported in the environment.
6438
6439 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
6440
6441         tests: can use also $SHELL to check shell scripts from `lib/'
6442         * tests/ar-lib.test: If the variable `$test_prefer_config_shell'
6443         is set to "yes", run the script under test with configure-time
6444         determined $SHELL, rather than with /bin/sh.
6445         The `$test_prefer_config_shell' variable defaults to empty, but
6446         can be overridden at runtime by the user, thus allowing more
6447         coverage.
6448         * tests/compile.test: Likewise.
6449         * tests/compile2.test: Likewise.
6450         * tests/compile3.test: Likewise.
6451         * tests/compile4.test: Likewise.
6452         * tests/compile5.test: Likewise.
6453         * tests/compile6.test: Likewise.
6454         * tests/instsh2.test: Likewise.
6455         * tests/instsh3.test: Likewise.
6456         * tests/mkinst3.test: Likewise.
6457         * tests/missing.test: Likewise.
6458         * tests/missing2.test: Likewise.
6459         * tests/missing3.test: Likewise.
6460         * tests/missing5.test: Likewise.
6461         * tests/defs (get_shell_script): New subroutine, factoring out
6462         code common to the tests above.
6463         (xsi-lib-shell): If `$test_prefer_config_shell' is set to "yes",
6464         check that $SHELL, not /bin/sh, supports XSI constructs, as we
6465         expect the test will use $SHELL and not /bin/sh to run the
6466         script being tested.
6467
6468 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
6469
6470         tests defs: better requirements for XSI shells
6471         This change avoids potential spurious failures with tests using
6472         the requirement 'xsi-shell' to mean that they want */bin/sh* (not
6473         $SHELL) to be XSI-conforming.  This idiom used to work before
6474         commit `v1.11-874-g1321be7' (as back then the test scripts were
6475         unconditionally run with /bin/sh), but has become inconsistent
6476         now that the test scripts re-execute themselves with configure
6477         determined $SHELL.
6478         The described spurious failures have already occurred in practice,
6479         for examples on Solaris systems which also had GNU Bash installed.
6480         From a suggestion by Peter Rosin.  See discussion at:
6481         <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00016.html>
6482         * tests/defs (xsi-shell): Now check that $SHELL, rather than the
6483         shell currently running the test script, is an XSI shell.
6484         (xsi-bin-sh): New requirement, checking that /bin/sh (which can
6485         differ from $SHELL) is an XSI shell.
6486         (xsi-lib-shell): New requirement, checking that the shell that
6487         should be used to test the Automake-provided scripts from `lib/'
6488         is an XSI shell.  For the moment, this is just an alias for
6489         `xsi-bin-sh'.
6490         (require_xsi): New subroutine, used to factor out code common to
6491         the requirements above.
6492         ($xsi_shell_code): New variable, contains shell code supposed to
6493         work only with XSI shells.  Used by the new subroutine above.
6494         * tests/ar-lib.test ($required): Require 'xsi-lib-shell' instead
6495         of 'xsi-shell', since the script we test here is run with /bin/sh,
6496         not with $SHELL.
6497         * tests/compile3.test: Likewise.
6498         * tests/compile6.test: Likewise.
6499
6500 2011-06-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
6501
6502         tests: fix typo-related error in auxdir2.test
6503         * tests/auxdir2.test (configure.in):  Close m4 quoting in the
6504         argument to AC_CONFIG_AUX_DIR.  Without this, aclocal fails with
6505         "ERROR: end of file in string".  This problem hasn't been exposed
6506         by the testsuite before because this test is in XFAIL_TESTS, so
6507         its failure went unnoticed, even if it was due to a wrong cause.
6508         Bug introduced in commit v1.11-249-g49ac3de.
6509
6510 2011-06-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
6511
6512         self tests: check that `$me' can be overridden
6513         * tests/self-check-me.test: Check that `$me' can be overridden
6514         before sourcing ./defs, with or without sourcing ./defs-static
6515         beforehand, and that this override is honored.  Update heading
6516         comments.
6517
6518 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6519
6520         self tests: fix another spurious failure
6521         Our ad-hoc usage of `tests/defs' in the testsuite's self tests
6522         stopped working properly when we made the test scripts re-execute
6523         themselves with the configure-time $SHELL.  Fix this.
6524         Fixes a regression introduced by commit 'v1.11-874-g1321be7'.
6525         * tests/self-check-exit.test: Export `AM_TESTS_REEXEC' to "no"
6526         before running the self tests.  This fixes a spurious failure
6527         present only when the test was run by hand.
6528
6529 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6530
6531         silent-rules tests: fix spurious failures with Sun Studio C++
6532         * tests/silentcxx.test: The C++ compiler from Sun Studio is named
6533         `CC'.  Account for this in our grepping checks on the make output.
6534         Since we are at it, throw in a couple of improvements to comments
6535         and formatting.
6536         * tests/silent-many-generic.test: The C++ compiler from Sun Studio
6537         is named `CC', and this can cause spurious failures in our grepping
6538         of the make output.  Work around this by using a wrapper script
6539         around the C++ compiler (generated on the fly), since filtering the
6540         make output proved to be too fragile.
6541
6542 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6543
6544         tests: fix spurious failure in backcompat2.test on NetBSD
6545         * tests/backcompat2.test: Add trailing `:' in the body of a `for'
6546         loop, in case the last command there might have an exit status
6547         different 0.  This work around `set -e' issues in some BSD shells,
6548         e.g., NetBSD /bin/ksh.
6549
6550 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6551
6552         tests: fix spurious failure in autohdr3.test
6553         * tests/autohder3.test (Makefile.am): Let `test' depend on `all',
6554         so that config.h header is truly remade.
6555         Remove now useless call to `$MAKE' when non-GNU make is in use.
6556         Failure introduced by commit `v1.11-895-g5e62b96'.
6557
6558 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6559
6560         tests: fix spurious failure of cond29.test on NetBSD
6561         * tests/cond29.test: Skip if we cannot safely limit the maximal
6562         size of used virtual memory to 20K.  This fixes a spurious failure
6563         on NetBSD.
6564         Bug introduced in commit `v1.11-885-g908d335'.
6565
6566 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6567
6568         maintcheck: fix again few more failures
6569         * tests/cond29.test: To please the `sc_tests_Exit_not_exit'
6570         maintainer check, avoid using `sh -c "exit 0"' where a simple
6571         `sh -c :' will do.
6572         * tests/depmod-data.test: Use creative quoting to avoid
6573         spuriously triggering the `sc_tests_Exit_not_exit' maintainer
6574         check.
6575
6576 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6577
6578         maintcheck: fix some more failures
6579         * tests/instdir-ltlib.test: Use creative quoting to avoid
6580         spuriously triggering the `sc_rm_minus_f' maintainer check.
6581         * tests/instdir-prog.test: Likewise.
6582         * tests/instspc-data.test: Use creative quoting to avoid
6583         spuriously triggering the `sc_tests_Exit_not_exit' maintainer
6584         check.
6585
6586 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6587
6588         maintcheck: fix some failures, extend some checks
6589         * Makefile.am (sc_diff_automake_in_automake): Update, as we
6590         now expect 9 lines, not 8, to be changed from `automake.in'
6591         to `automake'.
6592         (sc_diff_aclocal_in_aclocal): New maintainer check, similar to
6593         the above, and checking that only 10 lines are changed from
6594         `aclocal.in' to `aclocal'.
6595         (syntax_check_rules): Update.
6596         (sc_tests_Exit_not_exit): Exempt self tests `self-check-*.test'
6597         from this check, as they can legitimately use the bare `exit'
6598         builtin in various places.
6599         * doc/automake.texi (Python): Remove stray `@' from the end of
6600         a line.  Typo introduced in commit `v1.11-312-g5bf7af6'.
6601         * tests/depcomp8a.test: Pass DISTCHECK_CONFIGURE_FLAGS to make
6602         from the environment rather than from the command line, to
6603         pacify the `sc_tests_overriding_macros_on_cmdline' maintainer
6604         check.
6605         * tests/depcomp8b.test: Likewise.
6606
6607 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6608
6609         tests: don't require GNU make where it's not strictly needed
6610         * tests/autohdr3.test: Rewrite to be stricter when make is GNU
6611         make.  Drop the requirement of GNU make.
6612         * tests/aclocal5.test: Drop GNU make requirement, it's not truly
6613         needed.  Add reference to similar tests `remake-subdir*.test'.
6614         * remake-subdir-gnu.test, remake-subdir-from-subdir.test,
6615         remake-subdir.test, remake-subdir2.test: Add reference to
6616         each other, and to related test `aclocal5.test'.
6617         * tests/aclocal6.test: Drop GNU make requirement, it's not
6618         truly needed.
6619         * tests/confh6.test: Likewise.
6620         * tests/lex3.test: Likewise.
6621         * tests/remake11.test: Likewise.
6622         * tests/subdir5.test: Likewise.
6623         * tests/subdir8.test: Likewise.
6624         * tests/werror2.test: Likewise.
6625         * tests/conff.test: Likewise, and ensure verbose printing of
6626         captured make output.
6627         * tests/lex5.test: Tweak so that GNU make is no more required.
6628         * tests/version7.test: Likewise.
6629         * tests/maken2.test: Add explicative comment for why this test
6630         requires GNU make.
6631         * tests/maken4.test: Let it run also with BSD makes supporting
6632         the `.MAKE' special target.
6633         * tests/output6.test: Use proper m4 quoting in configure.in.
6634         Expand make macros with one-character name using `$(x)', not
6635         `$x', for portability.  Move checks in the makefiles, rather
6636         than relying on grepping the output from make.  Drop the now
6637         unneeded GNU make requirement.
6638
6639 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
6640
6641         remake: behave better with non-GNU make in subdirectories
6642         Currently, with every decent make program, it is possible to
6643         rebuild out-of-date autotools-generated files with a simple
6644         "make Makefile" -- but for this to work reliably with non-GNU
6645         make implementations, the command must be issued from the
6646         top-level directory.  This patch removes such limitation.
6647         * lib/am/configure.am (am--refresh): Depend on `%MAKEFILE%'.
6648         * tests/remake-subdir.test: New test.
6649         * tests/remake-subdir2.test: Likewise.
6650         * tests/remake-subdir-gnu.test: Likewise.
6651         * tests/remake-subdir-from-subdir.test: Likewise.
6652         * tests/Makefile.am (TESTS): Update.
6653
6654 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6655
6656         lex tests: fix spurious failures with Solaris lex
6657         * tests/lex-lib.test (foo.l): Avoid empty "rules section", which
6658         can confuse Solaris lex.
6659         * tests/lex-libobj.test (foo.l): Likewise.
6660
6661 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6662
6663         lex tests: do not force the use of flex unconditionally
6664         * tests/defs (lex): Act more similarly to what the `yacc'
6665         requirement does, i.e., only force the use of flex if the
6666         $LEX variable is left unset by the user.
6667         (flex): Use `skip_' to skip the test if flex is not found.
6668
6669 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6670
6671         lex tests: avoid possible hang; fix and extend
6672         * tests/lex3.test (foo.l:yywrap): Return 1, not 0, to avoid hangs.
6673         Bug introduced in commit 'v1.11-871-geb147a1'.
6674         (Makefile.am): Do not add `@LEXLIB@' to `$(LDADD)', as we define
6675         our own `yywrap' function.
6676         * tests/lex.test (tscan.l): In `yywrap', return 1, not 0, for
6677         consistency with the default flex implementation.
6678         * tests/lex-libobj.test (yywrap.c): Likewise.
6679         * tests/lex-subobj-nodep.test (s1.l): Likewise.
6680         * tests/lexvpath.test (foo.c): Likewise.
6681         * tests/silent-lex-gcc (foo.l): Likewise.
6682         * tests/silent-lex-generic (foo.l): Likewise.
6683         * tests/silent-many-gcc (foo5.l): Likewise.
6684         * tests/silent-many-generic (foo5.l): Likewise.
6685         * tests/lex-lib.test (mu.c): Likewise.
6686         Update heading comments, to refer to ...
6687         * tests/lex-lib-external.test: ... this new test, which checks
6688         that we can get use the `yywrap' function from a system-wide
6689         library, if that's available.
6690
6691 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6692
6693         tests: prefer `skip_' over `echo ...; Exit 77'
6694         * tests/self-check-cleanup.test: When the test must be skipped,
6695         use `skip_ REASON' instead of `echo REASON; Exit 77'.  Also,
6696         make the skip message shorter and clearer.
6697
6698 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6699
6700         tests: fix spurious failures in self tests
6701         Our ad-hoc usage of `tests/defs' in the testsuite's self tests
6702         stopped working properly when we made the test scripts re-execute
6703         themselves with the configure-time $SHELL.  Fix this.
6704         Fixes a bug introduced by commit 'v1.11-874-g1321be7'.
6705         * tests/defs: Only check that we can find the client test script
6706         when we must re-execute it.
6707         * tests/self-check-cleanup.test: Export `AM_TESTS_REEXEC' to "no"
6708         before running the self tests.
6709         * tests/self-check-dir.test: Likewise.
6710         * tests/self-check-explicit-skips.test: Likewise.
6711         * tests/self-check-me.test: Likewise.
6712         * tests/self-check-sanity.test: Likewise.
6713         * tests/self-check-reexec.test: New test.
6714         * tests/Makefile.am (TESTS): Update.
6715
6716 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6717
6718         tests: prefer ulimit over timeout in test on a memory-hogging bug
6719         * tests/cond29.test: Use 'ulimit' instead of 'timeout' to ensure
6720         that automake does not uses up too much resources.  This is really
6721         and improvement because the bug tested by this script wasn't just
6722         a "it hangs" or "it runs too slow" bug, but rather a memory-hogging
6723         bug (due to combinatorial explosion when many Automake conditionals
6724         had to be handled) which could easily crash the whole system, which
6725         is unacceptable.  The requirement of a proper and working 'ulimit'
6726         builtin might cause the test to be skipped on more systems, but
6727         that shouldn't be a problem since the bug isn't about a portability
6728         issue, but is rather an automake internal implementation problem.
6729         I've verified that the test as updated by this patch still passes
6730         with automake 1.8.5, automake 1.10.2, and obviously the development
6731         version of automake, and that it fails with automake 1.7.9.
6732
6733 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
6734
6735         testsuite: avoid generating `*-p.test' tests, use a wrapper script
6736         The generated `*-p.test' tests had already become just thin layers
6737         around the corresponding test scripts.  This change makes the final
6738         step, converting to the use of a generic wrapper script and thus
6739         avoiding the extra test generation (similarly to what is done for
6740         the `*.instspc' and `*.depmod' tests).
6741         * tests/parallel-tests.sh: New file, driver script to run checks
6742         the on the `parallel-tests' semantics by wrapping tests that use
6743         the generic "Simple Tests" driver.
6744         * tests/gen-parallel-tests: Update, mostly to reflect the new
6745         `.ptest' extensions used for tests in $(parallel_tests).
6746         * Makefile.am (TESTS_EXTENSIONS): Add `.ptest'.
6747         (PTEST_LOG_COMPILER): Define, it calls `parallel-tests.sh'.
6748         ($(parallel_tests)): Do not really generate `*-p.test' tests
6749         anymore; this is now just a dummy dependency declaration required
6750         in order to have make actually produce expected log files from
6751         the `.ptest.log' suffix rule.
6752         (EXTRA_DIST): Distribute `parallel-tests.sh'.
6753         (MAINTAINERCLEANFILES): Don't remove the `$(parallel_tests)', it
6754         is not necessary anymore.
6755         (generated_tests): Variable definition removed.
6756         (TESTS): Update, by listing `$(parallel_tests)' directly instead
6757         of `$(generated_tests)'
6758         (expected_list_of_tests): Remove `$(generated_tests)'.
6759         (maintainer-check-list-of-tests): No need to explicitly depend on
6760         `$(expected_list_of_tests)' anymore.
6761
6762 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
6763
6764         automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE
6765         Currently, the Automake's own configure script allow definition
6766         of AUTOCONF and AUTOM4TE, expected to point respectively to an
6767         autoconf and autom4te programs.  But while these definitions are
6768         honoured in the Automake's build systems and test suite, they
6769         were *not* honoured in the generated `automake' and `aclocal'
6770         scripts.  This behaviour, apart from being wrong in that it does
6771         not allow the user enough freedom in choosing his tools, also
6772         caused inconsistencies in the test suite, brining to spurious
6773         failures.
6774         Problem reported by Graham Reitz on the automake list; see thread:
6775         <http://lists.gnu.org/archive/html/automake/2011-05/msg00022.html>
6776         * automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'.
6777         * aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'.
6778         * Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and
6779         `@am_AUTOM4TE'.
6780         * NEWS: Update.
6781         * THANKS: Update.
6782
6783 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
6784
6785         build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too
6786         Our build system allows the user to override AUTOCONF and AUTOHEADER
6787         at configure time, and honours these overrides in our testsuite.
6788         But it didn't do the same with AUTOM4TE, AUTORECONF and AUTOUPDATE.
6789         This change fixes that inconsistency.
6790         * configure.ac (am_AUTOM4TE, am_AUTOUPDATE, am_AUTORECONF): New
6791         AC_SUBSTitutions.  Update comments.
6792         * tests/defs.in ($AUTOUPDATE): Default to `@am_AUTOUPDATE@' now.
6793         ($AUTOM4TE): New variable, defaulting to `@am_AUTOM4TE@'.
6794         ($AUTORECONF): New variable, defaulting to `@am_AUTORECONF@'.
6795         * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Update.
6796
6797 2011-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
6798
6799         parallel-tests: stricter checks on DISABLE_HARD_ERRORS support
6800         * tests/parallel-tests-harderror.test: New test, doing more
6801         in-depth checks on DISABLE_HARD_ERRORS.
6802         * tests/parallel-tests.test: Remove tests on DISABLE_HARD_ERRORS,
6803         now redundant.
6804         * tests/Makefile.am (TESTS): Update.
6805
6806 2011-05-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6807             Stefano Lattarini  <stefano.lattarini@gmail.com>
6808
6809         tests/README: fix example about `make -e' usage
6810         * tests/README (Section "Writing test cases" subsection "Do"): When
6811         some variable is never initialized in the Makefile, `-e' is not
6812         necessary in order to override it.  DESTDIR is such a variable: we
6813         ensure that we do not ever initialize it.  And as such, it is quite
6814         portable to use:
6815           $ make DESTDIR=/foo/bar install
6816         and in fact, quite widely used.
6817         So our example about when `make -e' is required, which references
6818         the `DESTDIR' variable, is poorly chosen, if not downright wrong.
6819         Rewrite it to use `prefix' as the overridden variable instead.
6820
6821 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
6822
6823         tests: don't require gfortran if any fortran compiler is enough
6824         * tests/silentf90.test ($required): Require `fortran', not
6825         `gfortran'.
6826         * tests/silentf77.test ($required): Require `fortran77', not
6827         `gfortran'.
6828         * tests/silent-many-generic.test ($required): Require `fortran'
6829         and `fortran77' rather than `gfortran'.
6830
6831 2011-05-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
6832
6833         tests: improve `ccnoco*.test', better cross-compiling support
6834         * tests/ccnoco3.test (Mycomp): Use the `$CC' chosen by `tests/defs'
6835         instead of forcing `gcc' unconditionally.  This ensures better
6836         coverage in case of cross-compiling, when GCC can be named e.g.,
6837         `i586-mingw32msvc-gcc', instead of simply `gcc'.
6838         * tests/ccnoco.test: Likewise.  Remove redundant checks.  Modernize
6839         the created `configure.in'.  Run tests both in-tree and in VPATH.
6840         Export `CC' to the overridden value only once.
6841         * tests/ccnoco2.test: Slightly stricter grepping of automake
6842         stderr.  Add trailing `:' command.
6843
6844 2011-05-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
6845
6846         testsuite: each test case depends on `defs-static'
6847         * tests/Makefile.am ($(TEST_LOGS)): Depends on `defs-static' too.
6848         Simplify comments.
6849
6850 2011-05-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
6851
6852         testsuite: use $SHELL to run tests which are shell scripts
6853         * tests/Makefile.am (TEST_LOG_COMPILER): Define so that the
6854         configure-time $SHELL is used to run the tests.
6855         * tests/defs: Add code to re-execute by default the running
6856         test script with configure-time $SHELL.  Updated comments.
6857         * configure.ac: Check that `set -e' is working for $SHELL,
6858         not for /bin/sh.
6859         * tests/defs-static.in: Update comments.
6860         * tests/README (Supported shells): Updated.
6861         (Getting details from failures): Don't tell that tests are
6862         run by /bin/sh by default.
6863
6864 2011-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
6865
6866         tests: split 'subst2.test' to improve modularity and coverage
6867         * tests/subst2.test: Test removed, split into ...
6868         * tests/programs-primary-rewritten.test: ... this test ...
6869         * tests/subst-no-trailing-empty-line.test: ... and this one ...
6870         * tests/extra-programs-empty.test: ... and this one.
6871         * tests/Makefile.am (TESTS): Update.
6872
6873 2011-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
6874
6875         tests: tweak and improve tests on Automake conditionals
6876         The "avoid the requirement of a working compiler" we refer about
6877         below is obtained by disabling automatic dependency tracking and
6878         defining `CC' (and `EXEEXT', `OBJEXT', `CXX', etc., if needed) to
6879         dummy values, either directly in the `Makefile.am', or by AC_SUBST
6880         in `configure.in'.
6881         The "cosmetic changes" we refer about below consists in, e.g.,
6882         adding a trailing `:' command to a script, using proper m4 quoting
6883         in `configure.in' files, adding commands that offer more debugging
6884         output, explicitly declaring phony targets as such in Makefiles,
6885         making use of idioms more consistent with those employed in other
6886         tests, following the GNU formatting standards more closely, etc.
6887         * tests/cond.test: Cosmetic changes.
6888         * tests/cond3.test: Likewise.
6889         * tests/cond10.test: Likewise.
6890         * tests/cond14.test: Likewise.
6891         * tests/cond15.test: Likewise.
6892         * tests/cond17.test: Likewise.
6893         * tests/cond40.test: Likewise.
6894         * tests/cond13.test: Likewise, and make grepping of the generated
6895         `Makefile.in' slightly stricter.
6896         * tests/cond6.test: Extend by also running ./configure, make and
6897         "make install".  Few cosmetic changes.
6898         * tests/cond8.test: Likewise.
6899         * tests/cond2.test: Do few cosmetic changes.  Make grepping of
6900         automake stderr stricter.
6901         * tests/cond20.test: Likewise.
6902         * tests/cond23.test: Likewise.
6903         * tests/cond24.test: Likewise.
6904         * tests/cond42.test: Likewise.
6905         * tests/cond46.test: Likewise.
6906         * tests/cond9.test: Move more checks in the `Makefile.am' instead
6907         of grepping make's output.
6908         * tests/cond38.test: Likewise.
6909         * tests/cond11.test: Likewise.  Avoid the requirement of a working
6910         C compiler.
6911         * tests/cond16.test: Likewise.
6912         * tests/cond22.test: Likewise.
6913         * tests/cond30.test: Likewise.
6914         * tests/cond31.test: Likewise.
6915         * tests/cond4.test: Likewise, and drop the now-useless GNU make
6916         requirement as well.
6917         * tests/cond18.test: Likewise.
6918         * tests/cond19.test: Likewise.
6919         * tests/cond22.test: Likewise.
6920         * tests/cond25.test: Add trailing `:' command.
6921         * tests/cond26.test: Likewise.
6922         * tests/cond27.test: Likewise.
6923         * tests/cond28.test: Likewise.
6924         * tests/cond29.test: Use `unindent' function for better formatting.
6925         Other minor cosmetic changes.  Use a `timeout' program (if it's
6926         available) to determine whether the script takes too long, instead
6927         of just hoping that the user will notice an abnormally long test
6928         execution time.
6929         * tests/cond33.test: Extend a bit.  Fix heading comments.  Few more
6930         cosmetic changes.
6931         * tests/cond37.test: Ensure verbose printing of captured make
6932         output.  Minor cosmetic changes.
6933         * tests/cond34.test: Likewise.  Avoid the requirement of a working
6934         C compiler.  Make grepping of make output slightly stricter.
6935         * tests/cond35.test: Quote literal dots in grep regexp.  Add extra
6936         debugging output.  Minor cosmetic changes.
6937         * tests/cond36.test: Likewise.
6938         * tests/cond41.test: Do not simply check that aclocal fails, but
6939         also grep its stderr for the expected error message.
6940         * tests/cond43.test: Likewise (but the program being automake).
6941         Few cosmetic changes.
6942         * tests/condd.test: Avoid the requirement of a working C compiler.
6943         * tests/condman3.test: Extend by using more man pages and more
6944         manpage sections.
6945         * tests/condman.test: Removed, it's completely superseded by
6946         `condman3.test'.
6947         * tests/Makefile.am (TESTS): Update.
6948
6949 2011-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
6950
6951         lex tests: avoid spurious failures when LEXLIB isn't found
6952         The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
6953         the "lex library" expected to provide a `yywrap' function (function
6954         which is required to link most lex-generated programs).  On the
6955         contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
6956         fail, configure declares that no lex library is needed, and simply
6957         proceeds with the configuration process -- only for the build to
6958         possibly fail later, at make time.
6959         This behaviour might be (partly) intended; the Autoconf manual
6960         reads:
6961          ``You are encouraged to use Flex in your sources, since it is
6962            both more pleasant to use than plain Lex and the C source
6963            it produces is portable.  In order to ensure portability,
6964            however, you must either provide a function `yywrap' or, if
6965            you don't use it (e.g., your scanner has no `#include'-like
6966            feature), simply include a `%noyywrap' statement in the
6967            scanner's source.''
6968         This AC_PROG_LEX behaviour is causing some spurious failures of the
6969         Automake testsuite in environments which lack a proper library
6970         providing `yywrap' (this happens for example in Linux->MinGW cross
6971         compilations).  But at this point is clear that a proper workaround
6972         is to simply provide a fall-back implementation of `yywrap' in our
6973         lexers.
6974         * tests/cond35.test: Provide a dummy `yywrap' function.
6975         * tests/lex3.test: Likewise.
6976         * tests/lexvpath.test: Likewise.
6977         * tests/silent-many-gcc.test: Likewise.
6978         * tests/silent-many-generic.test: Likewise.
6979         * tests/silent-lex-gcc.test: Likewise, and a dummy `main' too.
6980         * tests/silent-lex-generic.test: Likewise.
6981         * tests/lex-lib.test: New test.
6982         * tests/lex-libobj.test: New test.
6983         * tests/lex-nowrap.test: New test.
6984         * tests/Makefile.am (TESTS): Update.
6985         * THANKS: Update.
6986         Thanks to Russ Allbery for the suggestion.
6987
6988 2011-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
6989
6990         testsuite: require C++ compiler explicitly in tests needing it
6991         The list of the test scripts which needed a C++ compiler but
6992         failed to require it explicitly has been found by running:
6993           $ tests=`grep -lE 'CXX|\.c(c|\+\+|xx|pp)' *.test | tr '\n' ' '`
6994           $ am_explicit_skips=yes CXX=false make check TESTS="$tests"
6995         and looking for tests that reported FAIL instead of SKIP.
6996         After the present change, all those previously failing tests
6997         either pass or get correctly skipped.
6998         * tests/subobj9.test: Require `c++', instead of explicitly
6999         skipping on configure failure.  Add excerpts and/or details from
7000         the original bug report that prompted this tests to be written.
7001         * tests/silentcxx-gcc.test: Require g++.
7002         * tests/silentcxx.test: Require c++.
7003         * tests/suffix3.test: Likewise.
7004
7005 2011-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
7006
7007         testsuite: don't require g++ where any C++ compiler is enough
7008         * tests/specflg10.test ($required): Use `c++', not g++.
7009         * tests/silent-many-generic.test: Likewise.
7010
7011 2011-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
7012
7013         testsuite: require C compiler explicitly in tests needing it
7014         The list of the test scripts which needed a C compiler but
7015         failed to require it explicitly has been found by running:
7016           $ am_explicit_skips=yes CC=false make check
7017         and looking for tests that reported FAIL instead of SKIP.
7018         After the present change, all those previously failing tests
7019         either pass or get correctly skipped.
7020         * tests/aclocal4.test ($required): Add `cc'.
7021         * tests/ansi.test: Likewise.
7022         * tests/ansi10.test: Likewise.
7023         * tests/ansi3.test: Likewise.
7024         * tests/ansi3b.test: Likewise.
7025         * tests/ansi5.test: Likewise.
7026         * tests/ansi6.test: Likewise.
7027         * tests/ansi7.test: Likewise.
7028         * tests/ansi9.test: Likewise.
7029         * tests/backcompat6.test: Likewise.
7030         * tests/canon7.test: Likewise.
7031         * tests/check5.test: Likewise.
7032         * tests/check7.test: Likewise.
7033         * tests/check8.test: Likewise.
7034         * tests/cond4.test: Likewise.
7035         * tests/cond11.test: Likewise.
7036         * tests/cond16.test: Likewise.
7037         * tests/cond18.test: Likewise.
7038         * tests/cond19.test: Likewise.
7039         * tests/cond22.test: Likewise.
7040         * tests/cond30.test: Likewise.
7041         * tests/cond31.test: Likewise.
7042         * tests/cond32.test: Likewise.
7043         * tests/cond34.test: Likewise.
7044         * tests/cond35.test: Likewise.
7045         * tests/cond39.test: Likewise.
7046         * tests/condd.test: Likewise.
7047         * tests/cygnus-dependency-tracking.test: Likewise.
7048         * tests/depcomp2.test: Likewise.
7049         * tests/depcomp6.test: Likewise.
7050         * tests/depcomp7.test: Likewise.
7051         * tests/depcomp8a.test: Likewise.
7052         * tests/depcomp8b.test: Likewise.
7053         * tests/depdist.test: Likewise.
7054         * tests/depend2.test: Likewise.
7055         * tests/depend5.test: Likewise.
7056         * tests/distcleancheck.test: Likewise.
7057         * tests/distname.test: Likewise.
7058         * tests/exeext.test: Likewise.
7059         * tests/exeext4.test: Likewise.
7060         * tests/extradep.test: Likewise.
7061         * tests/extradep2.test: Likewise.
7062         * tests/gnits2.test: Likewise.
7063         * tests/gnits3.test: Likewise.
7064         * tests/instdir-ltlib.test: Likewise.
7065         * tests/instdir-prog.test: Likewise.
7066         * tests/instfail.test: Likewise.
7067         * tests/instfail-libtool.test: Likewise.
7068         * tests/lex3.test: Likewise.
7069         * tests/lex5.test: Likewise.
7070         * tests/lexvpath.test: Likewise.
7071         * tests/lex-subobj-nodep.test: Likewise.
7072         * tests/lflags.test: Likewise.
7073         * tests/libobj-basic.test: Likewise.
7074         * tests/libobj2.test: Likewise.
7075         * tests/libobj7.test: Likewise.
7076         * tests/libobj10.test: Likewise.
7077         * tests/libobj16a.test: Likewise.
7078         * tests/libobj16b.test: Likewise.
7079         * tests/libobj17.test: Likewise.
7080         * tests/libobj19.test: Likewise.
7081         * tests/libtool2.test: Likewise.
7082         * tests/libtool3.test: Likewise.
7083         * tests/libtool7.test: Likewise.
7084         * tests/libtool9.test: Likewise.
7085         * tests/libtoo10.test: Likewise.
7086         * tests/libtoo11.test: Likewise.
7087         * tests/ltcond.test: Likewise.
7088         * tests/ltcond2.test: Likewise.
7089         * tests/ltconv.test: Likewise.
7090         * tests/ltinit.test: Likewise.
7091         * tests/ltlibsrc.test: Likewise.
7092         * tests/ltorder.test: Likewise.
7093         * tests/nobase.test: Likewise.
7094         * tests/nobase-libtool.test: Likewise.
7095         * tests/mmodely.test: Likewise.
7096         * tests/parallel-tests5.test: Likewise.
7097         * tests/parallel-tests-suffix-prog.test: Likewise.
7098         * tests/parallel-tests-ext-driver-prog.test: Likewise.
7099         * tests/posixsubst-ldadd.test: Likewise.
7100         * tests/posixsubst-libraries.test: Likewise.
7101         * tests/posixsubst-ltlibraries.test: Likewise.
7102         * tests/posixsubst-programs.test: Likewise.
7103         * tests/posixsubst-sources.test: Likewise.
7104         * tests/pr87.test: Likewise.
7105         * tests/pr204.test: Likewise.
7106         * tests/pr224.test: Likewise.
7107         * tests/pr300-lib.test: Likewise.
7108         * tests/pr300-ltlib.test: Likewise.
7109         * tests/pr300-prog.test: Likewise.
7110         * tests/pr401.test: Likewise.
7111         * tests/pr401b.test: Likewise.
7112         * tests/pr401c.test: Likewise.
7113         * tests/remake-gnulib-add-acsubst.test: Likewise.
7114         * tests/remake-gnulib-add-header.test: Likewise.
7115         * tests/regex.test: Likewise.
7116         * tests/repeated-options.test: Likewise.
7117         * tests/silent.test: Likewise.
7118         * tests/silent3.test: Likewise.
7119         * tests/silent9.test: Likewise.
7120         * tests/silent-lex-generic.test: Likewise.
7121         * tests/silent-many-generic.test: Likewise.
7122         * tests/silent-yacc-generic.test: Likewise.
7123         * tests/specflg7.test: Likewise.
7124         * tests/specflg9.test: Likewise.
7125         * tests/specflg10.test: Likewise.
7126         * tests/stdinc.test: Likewise.
7127         * tests/strip.test: Likewise.
7128         * tests/strip2.test: Likewise.
7129         * tests/strip3.test: Likewise.
7130         * tests/subdirbuiltsources.test: Likewise.
7131         * tests/subobj3.test: Likewise.
7132         * tests/subobj6.test: Likewise.
7133         * tests/subobj11a.test: Likewise.
7134         * tests/subpkg.test: Likewise.
7135         * tests/subst2.test: Likewise.
7136         * tests/subst3.test: Likewise.
7137         * tests/substref.test: Likewise.
7138         * tests/substre2.test: Likewise.
7139         * tests/suffix5.test: Likewise.
7140         * tests/suffix8.test: Likewise.
7141         * tests/suffix10.test: Likewise.
7142         * tests/suffix11.test: Likewise.
7143         * tests/suffix12.test: Likewise.
7144         * tests/suffix13.test: Likewise.
7145         * tests/target-cflags.test: Likewise.
7146         * tests/transform.test: Likewise.
7147         * tests/transform2.test: Likewise.
7148         * tests/yacc-basic.test: Likewise.
7149         * tests/yacc-d-basic.test: Likewise.
7150         * tests/yacc-clean.test: Likewise.
7151         * tests/yacc-dist-nobuild.test: Likewise.
7152         * tests/yacc-nodist.test: Likewise.
7153         * tests/yaccvpath.test: Likewise.
7154         * tests/yacc-d-vpath.test: Likewise.
7155         * tests/yacc4.test: Likewise.
7156         * tests/yacc7.test: Likewise.
7157         * tests/yacc8.test: Likewise.
7158         * tests/yaccdry.test: Likewise.
7159         * tests/yflags-cmdline-override.test: Likewise.
7160         * tests/yflags-force-override.test: Likewise.
7161         * tests/python-virtualenv.test: Likewise.  Also, improve skip
7162         messages.
7163         * tests/subobj5.test ($required): Add `cc'.
7164         (Makefile.am): Set `AUTOMAKE_OPTIONS' to `subdir-objects', and
7165         add new checking rules `test-build' and `test-distdir'.
7166         Extend the test by building and examining the distdir, the
7167         program, and the object files.
7168         * tests/postproc.test ($required): Add `cc'.
7169         Avoid the explicit `|| Exit $?' after call to configure, which
7170         is now either redundant (e.g., when `am_explicit_skips' is
7171         unset), or counter-productive (e.g., when `am_explicit_skips'
7172         is set to "yes").
7173         * tests/pr243.test: Likewise.
7174         * tests/pr266.test: Likewise.
7175         * tests/pr220.test: Simplify so that it doesn't require a
7176         C compiler anymore.
7177         * tests/subdir5.test: Likewise.
7178         * tests/subdir8.test: Likewise.
7179         * tests/lflags.test: Likewise.
7180         * tests/yflags.test: Likewise.
7181         * tests/yflags-force-conditional.test: Likewise.
7182         * tests/lflags2.test: Simplify so that it doesn't require a
7183         C++ compiler anymore.
7184         * tests/yflags2.test: Likewise.
7185         * tests/autohdrdry.test (configure.in): Remove unneeded call
7186         to `AC_PROG_CC'.
7187         * tests/pr287.test: Likewise.
7188         * tests/check6.test: Likewise.
7189         * tests/cond21.test: Likewise, plus some cosmetic adjustments.
7190         * tests/upc.test: Skip if configure fails with status `77'.
7191         * tests/upc3.test: Likewise.
7192         * tests/vala4.test: Likewise.
7193         * tests/nostdinc.test: Likewise.  Also, make grepping checks
7194         on `Makefile.in'.  Update heading comments.
7195         * tests/compile5.test: When we must skip, skip explicitly,
7196         and with a meaningful message.
7197         * tests/instspc-tests.sh: When running in "test-build" or
7198         "test-install" mode (as determined by the value of variable
7199         `$instspc_action'), require `cc'.  Adjust comments.
7200         * tests/depmod-tests.sh: Likewise.
7201
7202 2011-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
7203
7204         testsuite: allow user to ask for stricter skip semantics
7205         Given how the Automake testsuite is currently structured, if a
7206         command in a test script fails with status `77', the global test
7207         outcome is considered a SKIP, because the value of `77' for `$?'
7208         is passed to the exit trap.  Indeed, this happens in practice, as
7209         an autoconf-generated configure script can exit with status `77'
7210         if it fails to find, e.g., a required compiler.
7211         While this behaviour is quite useful for avoiding spurious test
7212         failures in the wild, it can also sometimes prevent the Automake
7213         developers to easily see and declare the requirements of their
7214         tests.
7215         This change introduces a new variable `am_explicit_skips', meant to
7216         be user-overridable, and which, when set to a "true" value (i.e.,
7217         `yes' or `1'), require a direct call to `Exit 77' in order to make
7218         the test outcome be considered a SKIP.
7219         * tests/defs.in ($am__test_skipped): New variable, initialized
7220         to `no'.
7221         (Exit): Set `$am__test_skipped' to `yes' if passed an exit status
7222         of 77.
7223         (trap '...' 0): When `$am_explicit_skips' is set to a "true" value,
7224         reset an exit status of `77' to `78' if $am__test_skipped is not
7225         set to `yes'.
7226         * tests/self-check-exit.test: Adjust: unset `am_explicit_skips'.
7227         * tests/self-check-explicit-skips.test: New test.
7228         * tests/Makefile.am (TESTS): Update.
7229
7230 2011-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
7231
7232         testsuite: user can force skipping of compiler-requiring tests
7233         * tests/defs (cc, c++, fortran, fortran77): Skip the test if
7234         the relevant compiler is disabled by having the corresponding
7235         variable (CC, CXX, FC and F77, respectively) set to "false".
7236         (yacc): For consistency, skip the test when the YACC variable
7237         is set to "false", not when it's set to "no".  Since we are at
7238         it, fix the skip message to be shorter and more consistent.
7239
7240 2011-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7241
7242         tests: tweak and improve tests on "Simple Tests" driver
7243         * tests/check.test: Make grepping of generated Makefile.in
7244         slightly stricter.  Add trailing `:' command.
7245         * tests/check2.test: Ensure verbose printing of captured make
7246         output.  Make grepping of generated Makefile.in and of make
7247         output stricter.  Add trailing `:' command.
7248         * tests/check3.test: Likewise.  Also, fix minor error in a
7249         comment.
7250         * tests/check4.test: Stricter grepping of make output.  Use
7251         `using_gmake' subroutine instead of copy&paste from defs.in
7252         to determine whether $MAKE is GNU make.  Add a trailing `:'
7253         command.
7254         * tests/check6.test: Add trailing `:' command.
7255         * tests/check10.test: Prefer redirection `>' over `>>' when
7256         creating new files.  Ensure verbose printing of captured make
7257         output.
7258         * tests/check11.test: Likewise.
7259         * tests/check7.test: Likewise.  Make grepping of make output
7260         stricter.  Prefer "make distcheck" over a simple "make check"
7261         in a VPATH build. Add trailing `:' command.
7262         (a.c): Format following GNU coding standards.
7263         (Makefile.am): Explicitly declare target `print-xfail-tests'
7264         as PHONY.  Distribute $(check_SCRIPTS), for distcheck.
7265         * tests/parallel-tests.test: Prefer redirection `>' over `>>'
7266         when creating new files.
7267         * tests/parallel-tests2.test: Likewise.
7268         * tests/parallel-tests9.test: Likewise.
7269         * tests/parallel-tests8.test: Likewise.  Make grepping of
7270         automake stderr stricter.
7271         * tests/check8.test: Likewise.  Make formatting of created
7272         *.c files more consistent with GNU Coding Standards.
7273         * tests/check-subst-prog.test (configure.in): Break overly
7274         long lines.
7275         (pass-prog.c, xfail-prog.c): Format them more consistently
7276         with GNU Coding Standards.
7277         * tests/parallel-tests3.test: Use a shorter and clearer skip
7278         message.  Use the `unindent' subroutine to improve readability
7279         of indented loop bodies.  Simplify the hack used to please
7280         maintainer-check.
7281         * tests/parallel-tests5.test: Make formatting of created *.c
7282         files more consistent with GNU Coding Standards.  Use the
7283         `unindent' subroutine to improve readability of indented loop
7284         bodies.
7285         * tests/parallel-tests10.test: Add blank line, for clarity.
7286         Prefer trailing `:' over trailing `Exit 0', for consistency
7287         with other tests.
7288
7289 2011-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
7290
7291         tests/README: small consistency improvement
7292         * tests/README (Section "User interface" subsection "Running the
7293         tests"): In examples, be more consistent w.r.t. the differences
7294         between GNU and non-GNU make.
7295
7296 2011-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
7297
7298         tests/README: suggest how to run tests in cross-compile mode
7299         * tests/README (Section "User interface" subsection "Running the
7300         tests"): Briefly explain how to override 'host_alias' at runtime
7301         to force the use of cross-compilers by the testsuite.  Give an
7302         example.
7303
7304 2011-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
7305
7306         test defs: better detection of cross-compile mode
7307         * configure.ac (AC_CANONICAL_HOST): New, probably not strictly
7308         necessary, but useful to complements AC_CANONICAL_BUILD.
7309         * tests/defs-static.in ($host_alias, $build_alias): New variables,
7310         exported, user-overridable, defaults AC_SUBST'd by configure.
7311         * tests/defs (cross_compiling): Consider cross-compilation mode
7312         active only if `$host_alias' is not empty *and* it differs from
7313         `$build_alias'.  This is more faithful to the way configure
7314         determines whether it is cross-compiling, but still allows the
7315         user to easily force cross-compilation by overriding `host_alias'
7316         and `build_alias' at runtime.
7317         From a report by Ralf Wildenhues.
7318
7319 2011-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
7320
7321         testsuite: avoid re-running few tests with 'parallel-tests' option
7322         Some tests in our testsuite use the 'simple-tests' driver only
7323         marginally, or simply as a mean to conveniently check unrelated
7324         invariants.  It makes little sense to force these tests to also
7325         run with the 'parallel-tests' Automake option active, as doing so
7326         offers no real gain in coverage, while often causing a measurable
7327         overhead in execution time (for an already too-slow testsuite).
7328         * tests/pr401.test (parallel_tests): Define to "no", to prevent
7329         the generation of a sibling test script using the 'parallel-tests'
7330         driver.
7331         * tests/pr401b.test: Likewise.
7332         * tests/pr401c.test: Likewise.
7333         * tests/java-flat.test: Likewise, and properly update heading
7334         comments.
7335         * tests/java-nested.test: Likewise, but defining `parallel_tests'
7336         to "yes" instead, for improved coverage in conjunction with the
7337         sister test `java-flat.test'.
7338
7339 2011-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
7340
7341         testsuite: allow tests to avoid the use of 'parallel-tests' option
7342         * tests/gen-parallel-tests: Do not generate "siblings" for tests
7343         that explicitly define the `parallel_tests', whether to "yes" or
7344         to any other value.  Extend heading comments to give a rationale
7345         for this behaviour.
7346         * tests/README: Update.
7347
7348 2011-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
7349
7350         tests/README: update obsoleted advice
7351         * tests/README (Section "Writing test cases" subsection "Do"):
7352         Do not suggest to use the `*-p.test' pattern for the names of
7353         hand-written tests which use the `parallel-tests' Automake option.
7354         Not only is this not respected by the existing tests, but it is
7355         more likely to cause conflicts with auto-generated tests.
7356         So, suggest to *avoid* using the `*-p.test' pattern in names
7357         of hand-written tests instead.
7358         (Section "Writing test cases" subsection "Do not"):  When
7359         suggesting not to override Makefile variables using command
7360         line arguments, do not use the badly outdated variables `U'
7361         and 'ANSI2KNR' in the example; instead, use the more common
7362         and typical `DESTDIR'.
7363
7364 2011-05-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
7365
7366         tests: avoid spurious failures in cross-compile mode
7367         * tests/depcomp2.test: Ensure verbose printing of captured stderr
7368         from configure.
7369         * tests/ansi3.test ($required): Add 'native', as the ansi2knr
7370         functionality is not meant to work with a cross-compiler.
7371         * tests/ansi3b.test: Likewise.
7372         * tests/ansi5.test: Likewise.
7373         * tests/ansi6.test: Likewise.
7374         * tests/ansi7.test: Likewise.
7375         * tests/ansi8.test: Likewise.
7376         * tests/ansi10.test: Likewise.
7377         * tests/subobj3.test: Likewise.
7378         * tests/check8.test ($required): Add 'native', as this test is
7379         not meant to work with a cross-compiler.
7380         * tests/gnits2.test: Likewise.
7381         * tests/ltconv.test: Likewise.
7382         * tests/ltcond2.test: Likewise.
7383         * tests/parallel-tests5.test: Likewise.
7384         * tests/specflg7.test: Likewise.
7385         * tests/specflg8.test: Likewise.
7386         * tests/check5.test: Likewise.  Also, ensure verbose printing of
7387         captured make output, and thrown in few cosmetic and consistency
7388         improvements.
7389         * tests/ltinit.test: Be laxer in grepping configure output, to
7390         avoid spurious failures on systems which lack POSIX dynamic
7391         linking (e.g., MinGW), or when cross-compiling for such systems.
7392         * tests/ansi9.test: Skip parts of the test that would require a
7393         native compiler.
7394         * tests/backcompat6.test: Likewise.
7395         * tests/depcomp8a.test: Likewise.
7396         * tests/pr401.test: Likewise.
7397         * tests/pr401b.test: Likewise.
7398         * tests/pr401c.test: Likewise.
7399         * tests/target-cflags.test: Likewise.
7400         * tests/lex3.test: Likewise.
7401         * tests/yacc-basic.test: Likewise.
7402         * tests/autohdr4.test: Likewise.  Also, extend the test to ensure
7403         more coverage in cross-compile mode.
7404         * tests/canon7.test: Likewise.
7405         * tests/check9.test: Removed, split into two new tests ...
7406         * tests/check-subst-prog.test: ... this one, which requires a
7407         native C compiler ...
7408         * tests/check-subst.test: ... and this one, which doesn't require
7409         any compiler.
7410         * tests/parallel-tests4.test: Removed, split into two new tests ...
7411         * tests/parallel-tests-suffix-prog.test: ... this one, which
7412         requires a native C compiler ...
7413         * tests/parallel-tests-suffix.test: ... and this one, which
7414         doesn't require any compiler.
7415         * tests/parallel-tests7.test: Removed, split into two new tests ...
7416         * tests/parallel-tests-ext-driver-prog.test: ... this one, which
7417         requires a native C compiler ...
7418         * tests/parallel-tests-ext-driver.test: ... and this one, which
7419         doesn't require any compiler.
7420         * tests/Makefile.am (TESTS): Update.
7421
7422 2011-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
7423
7424         test defs: rename requirement 'non-cross' -> 'native'
7425         * tests/defs.in (non-cross): Rename requirement ...
7426         (native): ... to this, which is clearer and fits the
7427         existing lingo better.
7428         Suggestion by Ralf Wildenhues.
7429
7430 2011-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
7431
7432         testsuite: be more cross-compile friendly
7433         * tests/defs.in (cross_compiling): New subroutine.
7434         (am__tool_prefix): New internal variable.
7435         (gcc, g++, gcj): Force the use of the correct "tool prefix"
7436         when cross compiling.
7437         (gfortran, g77, non-cross): New requirements.
7438
7439 2011-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
7440
7441         tests: fix portability issues in 'repeated-options.test'
7442         * tests/repeated-options.test: Do not assume that object files
7443         have `.o' suffix and executables have no default suffix; instead,
7444         use `$(OBJEXT)' and `$(EXEEXT)'.
7445
7446 2011-05-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
7447
7448         check: document and test $(TEST_SUITE_LOG) overriding
7449         * doc/automake.texi (Simple Tests using parallel-tests): Explain
7450         how and why TEST_SUITE_LOG can be overridden at runtime.
7451         * tests/parallel-tests-log-override-1.test: New test, check that
7452         the newly documented idiom and similar usages are truly supported.
7453         * tests/parallel-tests-log-override-2.test: Likewise.
7454         * tests/parallel-tests-log-override-recheck.test: Likewise.
7455         * tests/Makefile.am (TESTS): Update.
7456
7457 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7458
7459         tests: fix spurious failure of extradep.test on FreeBSD
7460         * tests/extradep.test: When using `ls -t' to determine whether a
7461         file has been updated, make sure to use as reference a file whose
7462         timestamp is expected to be *strictly* older that that of the file
7463         being checked.  This is required because at least FreeBSD `ls' do
7464         not sort files with the same timestamp in alphabetical order when
7465         using the `-t' option.
7466         * tests/extradep2.test: Likewise.
7467
7468 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7469
7470         tests: fix spurious failure of txinfo21.test on FreeBSD
7471         * tests/txinfo21.test: Use the `is_newest' subroutine instead of
7472         the `ls -t' hack to to determine whether a file has been updated.
7473         This is required because at least FreeBSD `ls' do not sort files
7474         with the same timestamp in alphabetical order when using the `-t'
7475         option.
7476
7477 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7478
7479         tests: fix syntax error in 'silentcxx-gcc.test'
7480         * tests/silentcxx-gcc.test (for config_args in ...): Remove extra
7481         trailing backslash from the list of looped-on items.
7482
7483 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7484
7485         depmod tests: fix bug in depmodes list extraction
7486         * tests/depmod-tests.sh (get_depmodes): Use `echo $all_depmodes'
7487         instead of `... | tr "$nl" "$sp"' to strip extra whitespaces and
7488         newlines from `$all_depmodes'.  The latter idiom with `tr' is
7489         wrong since it gets run before `./defs' is sourced, and thus `$nl'
7490         and `$sp' are undefined.
7491         Bug revealad by FreeBSD tr(1) implementation, which doesn't accept
7492         empty strings as arguments.
7493
7494 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7495
7496         tests defs: use `skip_' for skipping java-related tests
7497         * tests/defs.in (java, javac): Use `skip_' to signal test
7498         skipping.
7499
7500 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7501
7502         tests: add excerpts from few original bug reports, for clarity.
7503         * tests/comment6.test: Add excerpts and/or details from the
7504         original bug report that prompted this tests to be added and/or
7505         extended.
7506         * tests/dejagnu4.test: Likewise.
7507         * tests/installdir.test: Likewise.
7508
7509 2011-05-13   Stefano Lattarini  <stefano.lattarini@gmail.com>
7510
7511         lex: "make clean" removes .c files from non-distributed .l
7512         Previously, while automake did *not* distribute C source and header
7513         files derived from non-distributed Lex sources, it still caused
7514         them to be removed only by "make maintainer-clean" only, and not by
7515         simply "make clean" or "make distclean".
7516         This caused "make distcheck" to fail, unless the developer put
7517         those generated .c files in CLEANFILES or in DISTCLEANFILES by
7518         hand.
7519         This change fixes this issue, by making non-distributed `.c' files
7520         generated by non-distributed Lex sources cleaned by "make clean".
7521         A similar problem for Yacc support had been fixed with the commit
7522         v1.11-263-ged2c8bc.
7523         * tests/automake.in (lang_lex_target_hook): Make C source files
7524         derived from non-distributed Lex files cleaned by "make clean",
7525         not only by "make maintainer-clean".
7526         * tests/lex-clean.test: New test.
7527         * tests/lex-clean-cxx.test: Likewise.
7528         * tests/lex-nodist.test: Likewise.
7529         * tests/lex-pr204.test: Likewise.
7530         * tests/pr204.test: For consistency, renamed ...
7531         * tests/yacc-pr204.test: ... to this, and updated to keep it
7532         more in sync with 'lex-pr204.test'.
7533         * tests/yacc-nodist.test: Updated to keep it more in sync with
7534         'lex-nodist.test'.
7535         * tests/Makefile.am (TESTS): Update.
7536         * NEWS: Update.
7537
7538 2011-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
7539
7540         lex tests: make test on Lex dependency tracking more "semantic"
7541         * tests/lex4.test: Renamed ...
7542         * tests/lex-depend-grep.test: ... to this, and extended.
7543         * tests/lex-depend.test, tests/lex-depend-cxx.test: ... these
7544         new tests.
7545         * tests/Makefile.am (TESTS): Update.
7546
7547 2011-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
7548
7549         lex tests: remove erroneous check about ylwrap distribution
7550         * tests/lex5.test: Do not check that the ylwrap script is *not*
7551         distributed when there is only one lexer, as ylwrap is in fact
7552         expected to distributed unconditionally (at least starting from
7553         commit `Release-1-9-323-gc5881cc' of 19-08-2006).  Note that this
7554         bogus check wasn't triggering any failure because it was done at
7555         the wrong time (i.e. from the VPATH build directory), so that it
7556         could never fail anyway.
7557         Instead, check that ylwrap is distributed even when there is only
7558         one lexer.
7559         Since we are at it, add a couple of `ls -l' calls, to get better
7560         debugging info.
7561
7562 2011-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
7563
7564         yacc tests: "make clean" removes C++ files from non-distributed .y
7565         * tests/yacc-clean-cxx.test: New test, sister of `yacc-clean.test'.
7566         * tests/yacc-clean.test: Update heading comment to reference the
7567         new sister test.
7568         * tests/Makefile.am (TESTS): Update.
7569
7570 2011-05-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
7571
7572         tests: add a workaround for automake bug#8485
7573         * tests/yacc-d-cxx.test (Makefile.am): Add temporary workaround
7574         for automake bug#8485.  The bug is still exposed by the testcase
7575         'yacc-dist-nobuild-subdir.test'.
7576
7577 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7578
7579         tests: add a couple of inter-tests reference
7580         * tests/yacc-nodist.test, tests/pr204.test: These tests are
7581         related, so add references to each other in heading comments.
7582
7583 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7584
7585         lex tests: require just `lex' instead of `flex'
7586         * tests/lex-subobj-nodep.test ($required): Require `lex',
7587         not `flex', as this test is expected to work with any lex
7588         implementation.
7589         * tests/silent-lex.test: Likewise.
7590
7591 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7592
7593         tests defs: use `skip_' for skipping yacc/lex related tests
7594         * tests/defs.in (lex, bison): Use `skip_' to signal test skipping.
7595
7596 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7597
7598         tests defs: merge cleanup
7599         * tests/defs.in (flex, bison): Requirements removed, we have real
7600         `lex' and `yacc' requirements now.
7601
7602 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7603
7604         tests defs: allow requirements for compilers (mostly dummy)
7605         Most of the new requirements that are now accepted in `$required'
7606         as consequence of this patch are still dummy.  They are planned
7607         to be implemented only in master (or in some derived branch), but
7608         having them here (even just as no-op) will allow for an easier
7609         integration/backporting of potential new testcases.
7610         * tests/defs.in (cc, c++, fortran, fortran77): New requirements,
7611         still dummy.
7612         (flex): New requirement, picking LEX for configure.
7613         (lex): New requirement, alias for `flex'.  A more appropriate
7614         implementation, looking for a generic `lex' program, will follow
7615         in the future.
7616
7617 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7618
7619         tests: 'silent-many-gcc.test' improved and made more robust
7620         * tests/silent-many-gcc.test:  Also force "fast" gcc depmode
7621         for C++ compilations.  Add sanity checks verifying that the
7622         cache variables we force are really used by configure.  Fix
7623         typo in comments.
7624
7625 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7626
7627         tests: drop useless requirements of 'g++'
7628         * tests/lflags2.test ($required): Remove 'g++', as any working
7629         C++ compiler should be enough, and ./configure will cause the
7630         test to skip if no working C++ compiler is found.
7631         * tests/yflags2.test: Likewise.
7632         * tests/subobj9.test: Likewise.
7633         * tests/silentcxx.test: Likewise.  Also, do not force depmodes
7634         that could cause non-GNU C++ compilers to fail.
7635         * tests/silentcxx-gcc.test: New test, like `silentcxx.test',
7636         but forcing "fast" gcc depmode (and thus requiring the GNU C++
7637         compiler).
7638         * tests/specflg10.test: Add proper "fixme" comment telling that
7639         we should make this test work with a generic C++ compiler.
7640         * tests/Makefile.am (TESTS): Update.
7641
7642 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7643
7644         tests defs: one more environment sanitization (corner case)
7645         * tests/defs (am__using_gmake): Initialize.  The `using_gmake'
7646         subroutine was using this variable for caching, but wasn't
7647         initializing it, which could cause problems in the (admittedly
7648         very unlikely) case in which it was pre-existent in the
7649         environment.
7650
7651 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7652
7653         tests: add forgotten test scripts to $(TESTS)
7654         * tests/Makefile.am (TESTS): Added test scripts  man[678].test,
7655         which have been present on the filesystem and in the repository,
7656         but which had erroneously been left out from $(TESTS).
7657
7658 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7659
7660         tests: ensure verbose printing of captured make output
7661         * tests/libtool7.test: Ensure verbose printing of captured
7662         make output.
7663         * tests/libtool9.test: Likewise.
7664
7665 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7666
7667         maintcheck: consistency of list of test scripts
7668         * CheckListOfTests.am: New file.
7669         (maintainer-check-list-of-tests): New target,
7670         check for consistency between list of tests defined in the
7671         including Makefile and list of tests on the filesystem.
7672         (clean-maintcheck-testslist-tmp): New rule, to clean up the
7673         temporary files that might be left around by the rules associated
7674         with the previous target.
7675         (clean-local): Depend on it.
7676         * lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
7677         (maintainer-check): Added dependency from the new target
7678         `maintainer-check-list-of-tests'.
7679         * tests/Makefile.am: Likewise.  Also ...
7680         (checked_test_extensions): Define to `.test'.
7681         (expected_test_list): Define properly.
7682         * Makefile.am (maintainer-check-list-of-test): New target,
7683         calling recursively into `tests/' and `lib/Automake/tests/',
7684         using ...
7685         (TEST_SUBDIRS): ... this new variable.
7686
7687 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7688
7689         tests: drop useless requirements of gcc (plus testsuite tweakings)
7690         * tests/libobj14.test ($required): Remove 'gcc', as we never run
7691         the C compiler.
7692         * tests/targetclash.test: Likewise.
7693         * tests/ansi6.test ($required): Remove 'gcc', as any working
7694         C compiler should be enough.
7695         * tests/ansi7.test: Likewise.
7696         * tests/ansi9.test: Likewise.
7697         * tests/ansi10.test: Likewise.
7698         * tests/lex5.test: Likewise.
7699         * tests/lexvpath.test: Likewise.
7700         * tests/mmodely.test: Likewise.
7701         * tests/pr204.test: Likewise.
7702         * tests/pr300-lib.test: Likewise.
7703         * tests/pr300-prog.test: Likewise.
7704         * tests/primary3.test: Likewise.
7705         * tests/specflg7.test: Likewise.
7706         * tests/specflg8.test: Likewise.
7707         * tests/subdir5.test: Likewise.
7708         * tests/subdir8.test: Likewise.
7709         * tests/subobj6.test: Likewise.
7710         * tests/subst3.test: Likewise.
7711         * tests/substre2.test: Likewise.
7712         * tests/yacc6.test: Likewise.
7713         * tests/yacc8.test: Likewise.
7714         * tests/depcomp2.test: Likewise.  Also, avoid clobbering user-set
7715         CFLAGS.
7716         * tests/lex3.test: Likewise.
7717         * tests/ansi3.test: Likewise.  Also, avoid 'CC=gcc' in configure.
7718         * tests/ansi3b.test: Likewise.
7719         * tests/ansi5.test: Likewise.
7720         * tests/autohdr4.test ($required): Remove 'gcc', as any working
7721         C compiler should be enough.
7722         Also, do not reject slow dependency extractors (which we might
7723         be forced to use now that $CC is not necessarily gcc anymore).
7724         * tests/cond16.test ($required): Remove 'gcc', as any working
7725         C compiler should be enough.
7726         Since we are at it, throw in few minor tweakings (mostly cosmetic,
7727         stylistic, or consistency-related).
7728         * tests/cond18.test: Likewise.
7729         * tests/cond35.test: Likewise.
7730         * tests/gnits2.test: Likewise.
7731         * tests/libtool3.test: Likewise.
7732         * tests/libtool7.test: Likewise.
7733         * tests/libtool9.test: Likewise.
7734         * tests/ltcond.test: Likewise.
7735         * tests/ltcond2.test: Likewise.
7736         * tests/ltconv.test: Likewise.
7737         * tests/ltlibsrc.test: Likewise.
7738         * tests/nobase.test: Likewise.
7739         * tests/nobase-libtool.test: Likewise.
7740         * tests/pr220.test: Likewise.
7741         * tests/pr224.test: Likewise.
7742         * tests/pr300-ltlib.test: Likewise.
7743         * tests/pr401.test: Likewise.
7744         * tests/pr401b.test: Likewise.
7745         * tests/pr401c.test: Likewise.
7746         * tests/subpkg.test: Likewise.
7747         * tests/target-cflags.test: Likewise.
7748         * tests/transform.test: Likewise.
7749         * tests/yacc4.test: Likewise.
7750         * tests/cond19.test: Likewise.  Also, avoid clobbering user-set
7751         CFLAGS.
7752         * tests/cond4.test: Likewise.
7753         * tests/depend2.test: Likewise.
7754         * tests/pr87.test: Likewise.
7755         * tests/subobj3.test: Likewise.
7756         * tests/substref.test: Likewise.
7757
7758 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7759
7760         test defs: increase coverage w.r.t. GNU make
7761         * tests/defs (GNUmake): Instead of just skipping the tests
7762         requiring GNU make if $MAKE is not GNU make, try to look for
7763         it and, if found, redefine $MAKE accordingly.  This will help
7764         to transparently increase coverage on non-GNU systems which
7765         have GNU make available in PATH.
7766
7767 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7768
7769         tests: improve few inter-tests references
7770         * tests/acloca22.test: Improve and extend the heading comments.
7771         Add reference to related tests 'remake-deleted-m4-file.test' and
7772         'remake-renamed-m4-macro-and-file.test'.  Since we are at it,
7773         add trailing `:' command, and few blank lines for readability.
7774         * tests/remake-renamed-m4-macro-and-file.test: In the heading
7775         comments, add reference to the related test 'acloca22.test'.
7776
7777 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7778
7779         tests: fix spurious failure in 'color2.test'
7780         * tests/color2.test: If $MAKE contains command-line arguments (as
7781         in e.g., "make -j2"), expect's directive "spawn $env(MAKE)" fails
7782         spuriously, because it tries to run "$MAKE" as a single command.
7783         Fix this with proper uses of the TCL `eval' builtin.
7784
7785 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7786
7787         tests: few more checks on automatic remake support
7788         * tests/remake-all-1.test: New test, check that the "all" target
7789         triggers rebuilt of outdated Makefiles.
7790         * tests/remake-all-2.test: Likewise, but for when the makefiles
7791         are not named `Makefile'.
7792         * tests/Makefile.am (TESTS): Update.
7793
7794 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7795
7796         tests: check some remake features with non-GNU make too
7797         * tests/acloca14.test ($required): Drop "GNUmake".  This test
7798         works as-is with non-GNU make implementations.
7799         * tests/remake1a.test: Likewise.
7800         * tests/aclocal4.test ($required): Drop "GNUmake".
7801         Modify the test to have it work also with non-GNU make.
7802         * tests/remake5.test: Likewise.
7803         * tests/remake8a.test: Likewise.
7804         * tests/remake8b.test: Likewise.
7805         * tests/remake9a.test: Likewise.
7806         * tests/remake9b.test: Likewise.
7807         * tests/remake9c.test: Likewise.
7808         * tests/remake9d.test: Likewise.
7809         * tests/remake10a.test: Likewise.
7810         * tests/remake10b.test: Likewise.
7811         * tests/remake10c.test: Likewise.
7812         * tests/remake12.test: ($required): Drop "GNUmake".
7813         Adapt the test to make it work also with non-GNU make (if
7814         it supports an "include" directive).
7815
7816 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7817
7818         tests: extend tests on dependency tracking with VPATH
7819         * tests/depmod-tests.sh: New script, fulfilling a threefold role:
7820         1. it is called to generate a Makefile.am snippet, containing the
7821            definition of proper lists of tests;
7822         2. it is called to set up a directory containing some common data
7823            files and autotools-generated files used by the aforementioned
7824            tests (this is done for speed reasons only); and
7825         3. it is called to properly run those tests, one at a time.
7826         * tests/depcomp9.test: Delete, it's obsolete now.
7827         * tests/depcomp10.test: Likewise.
7828         * tests/Makefile.am ($(srcdir)/depmod-tests.am): Include this
7829         snippet, which defines ...
7830         (depmode_tests): ... this new macro, containing the list of the
7831         newly generated `*.depmod' tests.
7832         (TESTS_EXTENSIONS): Add `.depmod'.
7833         (DEPMOD_LOG_COMPILER): Define.  It calls `depmod-tests.sh', so that
7834         the "depmode tests" will be executed by passing that driver script
7835         a proper parameter.
7836         ($(depmod_tests)): New dependency declaration (dummy, but required
7837         in order to have make actually produce expected log files from the
7838         `.depmod.log' suffix rule).
7839         (TESTS): Add $(depmod_tests).
7840         (EXTRA_DIST): Distribute depmod-tests.sh.
7841         Other minor cosmetic changes and reorderings.
7842         * bootstrap: Generate depmod-tests.am.
7843         * tests/.gitignore: Updated.
7844
7845 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7846
7847         tests: avoid extra test generation (for `instspc' tests)
7848         We don't really need to generate tons and tons of wrapper test
7849         scripts (presently, ~ 90) just to run what is basically a single
7850         test (specifically, `instspc-tests.sh') with different parameters.
7851         In fact, the possibility of running a single driver script with
7852         multiple files/configurations/parameters is one of the major
7853         selling points of the 'parallel-tests' testsuite driver of
7854         automake.  So why not use ourselves more extensively the best
7855         features we provide?
7856         * tests/instspc-tests.sh: Update heading comments.  Expect
7857         to be executed, not sourced.  Update handling of command-line
7858         arguments.  Adjust to reflect the renaming of "instspc tests"
7859         from `instspc-*.test' to `*.instspc'.
7860         * tests/instspc-data.test: Update heading comments.  Execute
7861         driver script `instspc-tests.sh', instead of sourcing it.
7862         Give more informative messages in case of internal errors.
7863         * tests/Makefile.am (TESTS_EXTENSIONS): Define explicitly (to
7864         `.test' and `.instspc').
7865         (TESTS): Add `$(instspc_tests)'.
7866         (generated_tests): Remove `$(instspc_tests)'.
7867         (INSTSPC_LOG_COMPILER): Define.  Calls `instspc-tests.sh', so
7868         that the "instspc tests" will be now executed by passing that
7869         driver script a proper parameter.
7870         ($(instspc_tests)): Remove, we don't need anymore to generate
7871         this tests.
7872         ($(instspc_tests:.test=.log)): Remove, substituted by ...
7873         ($(instspc_tests:.instspc=.log)): ... this.
7874         ($(instspc_tests)): New dependency declaration (dummy, but
7875         required in order to have make actually produce expected log
7876         files from the `.instspc.log' suffix rule).
7877         (MAINTAINERCLEANFILES, generated_tests): Don't extend with
7878         $(instspc_tests) anymore.
7879         Update comments.
7880
7881 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7882
7883         build: improve the definition of the list of testcases
7884         * tests/Makefile.am (handwritten_tests): New variable.
7885         (generated_tests): Likewise.
7886         (TESTS): Redefine as the union of the above.
7887         (EXTRA_DIST): Extend using $(handwritten_tests) and
7888         $(generated_tests) rather than $(TESTS).
7889         * tests/gen-parallel-tests: Update accordingly, and
7890         make more robust.
7891
7892 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7893
7894         tests skips: shorter and clearer messages
7895         * tests/defs: Use shorter messages when giving reasons for test
7896         skipping; it turns out these shorter messages are also clearer.
7897         If more info might be useful, send them to the log file only.
7898
7899 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7900
7901         tests: fix self check spurious failure with older bash versions
7902         * tests/self-check-cleanup.test: Add trailing `:' to the test code
7903         passed to $SHELL, otherwise older versions of bash (at least 2.05
7904         and 3.2.39) fail to correctly remove the temporary directory in
7905         the exit trap.
7906
7907 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7908
7909         tests: add sanity check to 'self-check-cleanup.test'
7910         * tests/self-check-cleanup.test: Check that the "hacked" file
7911         `defs-static' used by the test differs from the "vanilla" one
7912         in builddir.  This also offers a little more debugging output.
7913
7914 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7915
7916         testsuite: display reasons for skips to the console
7917         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Open file descriptor
7918         `9' to the original stderr; define `stderr_fileno_' to `9', and
7919         export it.
7920         * tests/self-check-report.test: Prevent new spurious failures by
7921         removing from the environment any definition of `stderr_fileno_'.
7922
7923 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
7924
7925         testsuite: use `skip_' for skipping of tests
7926         * tests/defs: Use the `skip_' subroutine for test skipping.  Also
7927         give sometimes more detailed messages about the reasons for the
7928         skipping.
7929         * tests/canon7.test: Likewise.
7930         * tests/color.test: Likewise.
7931         * tests/color2.test: Likewise.
7932         * tests/compile2.test: Likewise.
7933         * tests/dejagnu7.test: Likewise.
7934         * tests/depcomp6.test: Likewise.
7935         * tests/depcomp9.test: Likewise.
7936         * tests/depcomp10.test: Likewise.
7937         * tests/distlinks.test: Likewise.
7938         * tests/distlinksbrk.test: Likewise.
7939         * tests/fn99.test: Likewise.
7940         * tests/fn99subdir.test: Likewise.
7941         * tests/forcemiss2.test: Likewise.
7942         * tests/fort5.test: Likewise.
7943         * tests/gettext3.test: Likewise.
7944         * tests/install2.test: Likewise.
7945         * tests/instfail-info.test: Likewise.
7946         * tests/instfail-java.test: Likewise.
7947         * tests/instfail-libtool.test: Likewise.
7948         * tests/instfail.test: Likewise.
7949         * tests/instmany-mans.test: Likewise.
7950         * tests/instmany-python.test: Likewise.
7951         * tests/instmany.test: Likewise.
7952         * tests/instsh3.test: Likewise.
7953         * tests/ltinit.test: Likewise.
7954         * tests/makej2.test: Likewise.
7955         * tests/mdate6.test: Likewise.
7956         * tests/mkinst3.test: Likewise.
7957         * tests/parallel-tests3.test: Likewise.
7958         * tests/parallel-tests-reset-term.test: Likewise.
7959         * tests/parallel-tests-unreadable-log.test: Likewise,
7960         * tests/python-virtualenv.test: Likewise.
7961         * tests/remake-gnulib-remove-header.test: Likewise.
7962         * tests/subobj9.test: Likewise.
7963         * tests/symlink2.test: Likewise.
7964         * tests/tar.test: Likewise.
7965         * tests/tar2.test: Likewise.
7966         * tests/txinfo26.test: Likewise.
7967         * tests/vala2.test: Likewise.
7968         * tests/vala3.test: Likewise.
7969         * tests/vala5.test: Likewise.
7970         * tests/vtexi4.test: Likewise.
7971         * tests/instdir-texi.test: Likewise.
7972         * tests/txinfo21.test: Likewise.
7973
7974 2011-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
7975
7976         testsuite: more environment sanitization
7977         * tests/defs: Move the checks verifying that the variables `me',
7978         `parallel_tests' and `required' aren't set in the environment ...
7979         * tests/defs-static.in: ... in here, with some optimizations to
7980         avoid useless forks.  Also, do the same checks for the variables
7981         `original_AUTOMAKE' and `original_ACLOCAL' too.
7982         * tests/self-check-env-sanitize.test: Update.
7983         * tests/Makefile.am (TESTS_ENVIRONMENT): Unset also variables
7984         `original_AUTOMAKE' and `original_ACLOCAL'.
7985
7986 2011-04-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
7987
7988         tests: fix spurious failure (non-renamed AM_TESTS_SETUP usage)
7989         * tests/parallel-tests-reset-term.test: Use AM_TESTS_ENVIRONMENT
7990         instead of AM_TESTS_SETUP (which has been removed in commit
7991         v1.11-349-g12f48fa).
7992         Fix spurious failure introduced by merge `v1.11-781-gfeed175'.
7993
7994 2011-04-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
7995
7996         tests: fix spurious failure in a test on TESTS (VPATH-related)
7997         * tests/check-tests-in-builddir.test: When not using the
7998         parallel-tests option, do not check that VPATH components are
7999         not present in the displayed test name, since the simple-tests
8000         driver do not try to strip them.
8001
8002 2011-04-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
8003
8004         tests: fix spurious failure in self-check-env-sanitize.test
8005         * tests/self-check-env-sanitize.test: Open file descriptor `5'
8006         to stdout.
8007         Fix spurious failure introduced by merge `v1.11-788-g3b0c8d5'.
8008
8009 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
8010
8011         test: self check subroutines for skipping/failing of tests
8012         * tests/self-check-report.test: New test.
8013         * tests/Makefile.am (TESTS): Update.
8014
8015 2011-04-23  Jim Meyering  <meyering@redhat.com>
8016             Stefano Lattarini  <stefano.lattarini@gmail.com>
8017
8018         test defs: new subroutines for test skipping/failing
8019         * tests/defs.in (Exit): Move definition of this function earlier.
8020         (warn_, skip_, fail_, framework_failure_): New functions, inspired
8021         to the homonyms in gnulib's tests/init.sh.
8022         ($stderr_fileno_): New global variable, used by the new functions
8023         above.
8024         * tests/README: Updated.
8025         From a suggestion by Ralf Wildenhues.
8026
8027 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
8028
8029         tests: fix typo (copy & paste blunder) in heading comment
8030         * tests/maintclean-vpath.test: Correctly refer to the sister test
8031         as `maintclean.test', not as `maintclean-vpath.test'.
8032
8033 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
8034
8035         tests: remove redundant test `mclean.test'
8036         * tests/mclean.test: Remove, it's a weak grepping test completely
8037         superseded by the much more complete `maintclean.test'.
8038         * tests/Makefile.am (TESTS): Update.
8039
8040 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
8041
8042         java tests: use $PATH_SEPARATOR where appropriate
8043         * tests/java-compile-run-nested.test: Use `$PATH_SEPARATOR', not
8044         `:', to separate entries of extended PATH and CLASSPATH variables.
8045         * tests/java-compile-run-flat.test: Likewise.
8046
8047 2011-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
8048
8049         java coverage: test JAVACFLAGS and AM_JAVACFLAGS
8050         * tests/javaflags.test: New test.
8051         * tests/Makefile.am (TESTS): Update.
8052
8053 2011-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
8054
8055         java coverage: test rebuild rules for java
8056         * tests/java-rebuild.test: New test.
8057         * tests/Makefile.am (TESTS): Update.
8058
8059 2011-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
8060
8061         java coverage: try to build and run a java program
8062         * tests/java-compile-run-flat.test: New test, try to build and run
8063         a "UNIX-style" java program (complete with wrapper shell script
8064         and the like) with a "flat" source-tree setup (i.e., everything in
8065         the top-level directory).
8066         * tests/java-compile-nested.test: Likewise, but using a more
8067         typical "nested" source-tree setup.
8068         * tests/Makefile.am (TESTS): Update.
8069
8070 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
8071
8072         test defs: new requirement for the default java interpreter
8073         * tests/defs.in (for tool in $required): New requirement 'java'.
8074
8075 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
8076
8077         java tests: tweak and make stricter a couple of tests
8078         * tests/javasubst.test: Use proper m4 quoting.  Add trailing `:'
8079         command.  Enable `errexit' shell flag, and related changes.
8080         Prefer cat + here-doc over echo to append to configure.in.
8081         Make grepping of Makefile.in stricter.  Add debugging output.
8082         Improve heading comments.
8083         * tests/javaprim.test: Likewise.
8084
8085 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
8086
8087         java coverage: add test on uninstall with JAVA primary
8088         * tests/java-uninstall.test: New test.
8089         * tests/Makefile.am (TESTS): Update.
8090
8091 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
8092
8093         java tests: require java compiler more properly
8094         * tests/java-extra.test: Use "required=javac" instead of ad-hoc
8095         configure check.
8096         * tests/java-noinst.test: Likewise.
8097
8098 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
8099
8100         java: allow both JAVA and nobase_JAVA in the same Makefile.am
8101         * automake.in (handle_java): Also strip `nobase_' from the given
8102         prefix, when needed.
8103         * tests/java-clean.test: Update and extend.
8104         * tests/java-compile-install.test: Likewise.
8105         * tests/java-no-duplicate.test: Likewise.
8106         * tests/java-sources.test: Likewise.
8107         * tests/java-noinst.test: Likewise.
8108         * tests/java-mix-dist-nodist.test: Renamed to ...
8109         * tests/java-mix.test: ... this, and extended.
8110         * tests/java-nobase.test: New test, still xfailing due to
8111         unrelated issues.
8112         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
8113
8114 2011-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
8115
8116         testsuite: more environment sanitization
8117         * tests/defs.in: Sanity check: abort if any of `parallel_tests'
8118         or `required' is in the environment.
8119         ($sed_unindent_prog): Initialize to empty, to avoid interferences
8120         from the environment.
8121         * tests/self-check-me-in-env.test: Renamed to ...
8122         * tests/self-check-env-sanitize.test: ... this, and extended.
8123         * tests/Makefile.am (TESTS): Update.
8124         (TESTS_ENVIRONMENT): Unset variables `parallel_tests' and
8125         `required'.  Adjust comments.
8126
8127 2011-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
8128
8129         tests: in self-checks, use $SHELL, not /bin/sh
8130         * tests/self-check-me-in-env.test: Include `./defs-static' to get
8131         the definition of `$SHELL'.  Use `$SHELL' instead of `/bin/sh' to
8132         execute the tests.
8133
8134 2011-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
8135
8136         tests: prefer AM_TESTS_ENVIRONMENT to TESTS_ENVIRONMENT
8137         * tests/Makefile.am (TESTS_ENVIRONMENT): Renamed to ...
8138         (AM_TESTS_ENVIRONMENT): ... this.
8139
8140 2011-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
8141
8142         tests: don't allow `$me' to be overridden from the environment
8143         * tests/defs.in: Sanity check: abort if $me is in the environment.
8144         * tests/self-check-me-in-env.test: New test.
8145         * tests/Makefile.am (TESTS_ENVIRONMENT): Unset variable `me'.
8146         (TESTS): Update.
8147         Suggestion by Ralf Wildenhues.
8148
8149 2011-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
8150
8151         check: rename AM_TESTS_SETUP -> AM_TESTS_ENVIRONMENT
8152         The AM_TESTS_SETUP naming was not a good one after all.  It may
8153         be technically more correct than AM_TESTS_ENVIRONMENT, but the
8154         latter is a better one simply because it is easier to remember,
8155         and even if you've never heard of it and only know the semantics
8156         of TESTS_ENVIRONMENT, you can have a straightforward way to
8157         figure out how AM_TESTS_ENVIRONMENT would work.
8158         * tests/check.am (am__check_pre): Update.
8159         * doc/automake.in (Simple Tests using parallel-tests): Update.
8160         * tests/parallel-tests-am_tests_setup.test: Renamed ...
8161         * tests/parallel-tests-am_tests_environment.test: ... to this,
8162         and updated.
8163         * tests/Makefile.am (TESTS): Update.
8164         Suggestion and motivation by Ralf Wildenhues.
8165
8166 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8167
8168         test defs: allow overriding of `$me'
8169         * tests/defs.in ($me): Allow overriding by the including test
8170         script.  Add some explicative comments.
8171
8172 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8173
8174         coverage: more tests on the parallel-tests driver
8175         * tests/parallel-tests-interrupt.test: New test.
8176         * tests/parallel-tests-reset-term.test: Likewise.
8177         * tests/Makefile.am (TESTS): Update.
8178
8179 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8180
8181         check: new developer-reserved AM_TESTS_SETUP variable
8182         For reference, see the discussion at:
8183         <http://lists.gnu.org/archive/html/automake-patches/2011-01/msg00213.html>
8184         * lib/am/check.am [%?PARALLEL_TESTS%] (am__check_pre): Pass also
8185         $(AM_TESTS_SETUP).  Comments updated, and some typos fixed.
8186         * doc/automake.texi (Simple Tests using parallel-tests): Document
8187         AM_TESTS_SETUP.  Reorder some of the existing documentation a bit.
8188         * tests/parallel-tests-am_tests_setup.test: New test.
8189         From a suggestion by Ralf Wildenhues.
8190
8191 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8192
8193         depcomp tests: don't reject slower dependency extractors
8194         * tests/depcomp8b.test: Add the `--enable-dependency-tracking'
8195         option to `configure' invocations, so that slower dependency
8196         extractors are not rejected.
8197         * tests/depcomp8a.test: Likewise.  Also ...
8198         (foo.c): ... since we are at it, fix spacing to be consistent
8199         with GNU coding standards.
8200
8201 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8202
8203         m4: add missing serial numbers to a few files
8204         Fixes automake bug#8483.
8205         * m4/amversion.in: Add serial number.
8206         * m4/auxdir.m4: Likewise.
8207         * m4/gcj.m4: Likewise.
8208         * m4/install-sh.m4: Likewise.
8209         * m4/mkdirp.m4: Likewise.
8210         * m4/python.m4: Likewise.
8211         * m4/runlog.m4: Likewise.
8212         * m4/strip.m4: Likewise.
8213         * m4/upc.m4: Likewise.
8214
8215 2011-04-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
8216
8217         tests: fix few bugs in self checks
8218         Related to automake bug#8508.
8219         * tests/self-check-cleanup.test: Be laxer when grepping output
8220         from `ls -l', to account for ACLs and SELinux-only files.
8221         * tests/self-check-dir.test: Source `defs-static' to read in the
8222         correct definition for $SHELL.
8223         * tests/self-check-me.test: Likewise, and extend a bit.
8224         Report from Jim Meyering.
8225
8226 2011-04-16  Jim Meyering  <meyering@redhat.com>
8227
8228         depcomp: correct invalid sed invocation
8229         * lib/depcomp: Insert missing -e before '/:$/d'.
8230         Otherwise, that use of sed would treat '/:$/d' as a file name.
8231
8232 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
8233
8234         maintainer check: quote literal `$' in Makefile rule
8235         * Makefile.am (sc_tests_PATH_SEPARATOR): Escape literal `$'
8236         character in double-quoted string.  Fix a bug in which the rule
8237         emitted an erroneously empty substring in its error message.
8238
8239 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
8240
8241         tests: fix typo in python5b.test
8242         * tests/python5b.test: Remove extra `:' from $PATH redefinition.
8243
8244 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
8245
8246         lex/yacc tests: remove redundant $distdir definition
8247         * tests/lex3.test ($distdir): Remove definition, that's already
8248         done in `tests/defs'.
8249         * tests/lexvpath.test: Likewise.
8250         * tests/yacc-basic.test: Likewise.
8251         * tests/yacc-cxx.test: Likewise.
8252         * tests/yacc-d-basic.test: Likewise.
8253         * tests/yacc-d-cxx.test: Likewise.
8254         * tests/yacc-d-vpath.test: Likewise.
8255         * tests/yacc-dist-nobuild-subdir.test: Likewise.
8256         * tests/yacc-dist-nobuild.test: Likewise.
8257         * tests/yacc-mix-c-cxx.test: Likewise.
8258         * tests/yaccvpath.test: Likewise.
8259
8260 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
8261
8262         tests: remove redundant settings of `errexit' shell flag
8263         * tests/autodist-acconfig.test: Do not set the `errexit'
8264         shell flag, as it is already set by `tests/defs'.
8265         * tests/autodist-acconfig-no-subdir.test: Likewise.
8266         * tests/autodist-aclocal-m4.test: Likewise.
8267         * tests/autodist-config-headers.test: Likewise.
8268         * tests/autodist-configure-no-subdir.test: Likewise.
8269         * tests/autodist-stamp-vti.test: Likewise.
8270         * tests/autodist-subdir.test: Likewise.
8271         * tests/autodist.test: Likewise.
8272         * tests/check-exported-srcdir.test: Likewise.
8273         * tests/check-tests-in-builddir.test: Likewise.
8274         * tests/check-tests_environment.test: Likewise.
8275         * tests/help-python.test: Likewise.
8276         * tests/java-check.test: Likewise.
8277         * tests/java-extra.test: Likewise.
8278         * tests/java-noinst.test: Likewise.
8279         * tests/lex-subobj-nodep.test: Likewise.
8280         * tests/ltinit.test: Likewise.
8281         * tests/m4-inclusion.test: Likewise.
8282         * tests/maintclean-vpath.test: Likewise.
8283         * tests/parallel-tests-subdir.test: Likewise.
8284         * tests/pr8365-remake-timing.test: Likewise.
8285         * tests/python-dist.test: Likewise.
8286         * tests/python-vars.test: Likewise.
8287         * tests/python-virtualenv.test: Likewise.
8288         * tests/python5b.test: Likewise.
8289         * tests/specflg-dummy.test: Likewise.
8290         * tests/yacc-dist-nobuild-subdir.test: Likewise.
8291
8292 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
8293
8294         test defs: define default $distdir (help reducing duplication)
8295         * tests/defs ($distdir): New variable, might be used in
8296         testcases checking distribution-related features.
8297         * tests/pr9.test: Use it.
8298         * tests/subdir9.test: Likewise.
8299         * tests/lex3.test: Likewise.
8300         * tests/lexvpath.test: Likewise.
8301         * tests/remake-moved-m4-file.test: Likewise.
8302         * tests/remake-renamed-m4-file.test: Likewise.
8303         * tests/remake-renamed-m4-macro-and-file.test: Likewise.
8304         * tests/yacc-basic.test: Likewise.
8305         * tests/yacc-d-basic.test: Likewise.
8306         * tests/yacc-d-vpath.test: Likewise.
8307         * tests/yacc-dist-nobuild.test: Likewise.
8308         * tests/vtexi3.test: Add comment explaining why we redefine
8309         $distdir in this test.
8310
8311 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
8312
8313         coverage: test lex-generated "#line" directives postprocessing
8314         * tests/yacc-line.test: In heading comments, add reference to new
8315         sister test `lex-line.test'.
8316         * tests/lex-line.test: New test.
8317         * tests/Makefile.am (TESTS): Update.
8318
8319 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
8320
8321         tests: minor improvements to a couple of yacc tests
8322         * tests/yacc-auxdir.test: Avoid running autoconf, it's not
8323         needed.
8324         * tests/yacc-line.test: Also check that the yacc-generated C
8325         and header files do not contain "#line" directives referencing
8326         `y.tab.c' or `y.tab.h'.  Add a couple of explicative comments.
8327
8328 2011-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
8329
8330         tests: split yacc6.test, for better separation and coverage
8331         * tests/yacc6.test: Test removed, its content extended and split
8332         into ...
8333         * tests/yacc-auxdir.test, tests/yacc-depend.test,
8334         tests/yacc-line.test: ... these new tests.
8335         * tests/yacc-depend2.test: New test, exposes the failure that
8336         FreeBSD used to encounter in yacc6.test.
8337         * tests/Makefile.am (TESTS): Update.
8338
8339 2011-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
8340
8341         tests: do not uselessly require GNU make or gcc in a few tests
8342         * tests/lex3.test: Remove gcc from requirements, as any working C
8343         compiler should be ok.  Consequently, do not clobber user CFLAGS.
8344         Also, remove GNUmake from requirements; it was added (see commit
8345         `Release-1-8-103-g0d2f592') because this test fails with FreeBSD
8346         make due to VPATH issues -- but so do many other yacc-related and
8347         lex-related tests currently, and requiring GNU make in all of
8348         them would unacceptably reduce coverage.
8349         * tests/lexvpath.test: Remove gcc from requirements, as any
8350         working C compiler should be ok.
8351         * tests/yacc4.test: Likewise.
8352         * tests/yacc8.test: Likewise.
8353         * tests/lex5.test: Likewise.  Also, do not require anymore GNU
8354         make; to compensate, explicitly call "$MAKE Makefile" to update
8355         the out-of-date Makefile if $MAKE is not GNU make.
8356
8357 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
8358
8359         tests: fix spurious failure in test 'yacc-d-cxx.test'
8360         * tests/yacc-d-cxx.test: Create ylwrap script before calling
8361         automake for the first time, so that the script gets correctly
8362         distributed.  Add checks verifying it indeed is.
8363
8364 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
8365
8366         tests cosmetics: remove redundant definitions of variable $tab
8367         * tests/yacc-d-basic.test ($tab): Remove definition: it's already
8368         defined in `tests/defs'.
8369         * tests/yacc-d-cxx.test: Likewise.
8370
8371 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
8372
8373         yacc: add some tests on bison support (still xfailing)
8374         Related to automake bug#7648 and PR automake/491.
8375         * tests/bison-skeleton-cxx.test: New test.
8376         * tests/bison-skeleton.test: New test.
8377         * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
8378
8379 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
8380
8381         coverage: test for automake bug#8485 (known regression)
8382         * tests/yacc-dist-nobuild-subdir.test: New test.
8383         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
8384
8385 2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
8386
8387         coverage: test mixed C/C++ yacc-generated parsers in the same dir
8388         * tests/yacc-mix-c-cxx.test: New test.
8389         * tests/Makefile.am (TESTS): Update.
8390
8391 2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
8392
8393         cosmetics: fix typos and wording in some yacc tests
8394         * tests/yacc-cxx.test (foo.cc): Clarify comment about the content
8395         of this file being valid C++ but invalid C.
8396         (parse1.yy): Likewise.  Also, remove redundant parentheses in a
8397         `return' statement.
8398         * tests/yacc-d-cxx.test (write_parse): Clarify comment about the
8399         content of the generated files being valid C++ but invalid C.
8400         (write_main): Likewise.
8401         * tests/yacc-basic.test: Remove redundant parentheses in a
8402         `return' statement.
8403         * tests/yacc-d-vpath.test: Adjust spacing around curly brackets.
8404         * tests/yaccvpath.test: Likewise.
8405         * tests/yaccdry.test: Likewise.
8406         * tests/yacc8.test: Likewise.
8407         * tests/yacc4.test: Likewise.
8408         Suggested by Ralf Wildenhues.
8409
8410 2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
8411
8412         yacc: update NEWS and docs about yacc-generated headers extensions
8413         * doc/automake.texi (Yacc and Lex): Document explicitly that
8414         extensions of yacc-generated headers are modelled after the
8415         extension of the corresponding sources.
8416         * NEWS: Update.
8417
8418 2011-01-28   Stefano Lattarini  <stefano.lattarini@gmail.com>
8419
8420         yacc: extension of headers modelled after extension of sources
8421         With this change, if '-d' is in *YFLAGS, a yacc input file named
8422         foo.y++ will cause a foo.h++ header to be generated, instead of a
8423         foo.h header.  Similarly for foo.ypp, foo.yxx and foo.yy.
8424         This way, the name of the files generated by an automake-created
8425         `ylwrap' invocation should be consistent with those generated by
8426         a `bison -o' call.
8427         Related to automake bug#7648 and PR automake/491.
8428         * lib/am/yacc.am (am__yacc_c2h): New internal variable.
8429         (?GENERIC?%EXT%%DERIVED-EXT%, ?!GENERIC?%OBJ%): Get the name of
8430         the header dynamically at make runtime, so that its extension is
8431         modelled after the extension of the source.
8432         * automake.in (lang_yacc_target_hook): Adjust the calculation of
8433         `$header' accordingly.
8434         * tests/yacc-cxx.test: New test.
8435         * tests/yacc-d-cxx.test: Likewise.
8436         * tests/yacc-weirdnames.test: Likewise.
8437         * tests/yacc-basic.test: Update comments.
8438         * tests/yacc-d-basic.test: Likewise.
8439         * tests/yaccpp.test: Updated and extended.
8440         * tests/Makefile.am (TESTS): Update.
8441
8442 2011-01-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
8443
8444         tests: don't define YACC and LEX in the Makefiles
8445         We don't want YACC and LEX defined as make variables, otherwise
8446         the values determined at configure time will override those from
8447         the environment, even in the make-spawned testcases.  For example,
8448         before this change, with the following usage:
8449           $ ./configure YACC=yacc
8450           $ export YACC='bison -y'
8451           $ make check
8452         the testsuite would have ended up, very counterintuitively, with
8453         YACC defined to 'yacc' in the testcases' environment.
8454         * configure.ac: Call `AM_SUBST_NOTMAKE' on YACC and LEX.
8455
8456 2011-01-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
8457
8458         tests: fix spurious failures in lflags*.test
8459         * tests/lflags.test: Remove 'LEX' from the environment, so
8460         that it won't be erroneously picked up by `make -e'.
8461         * tests/lflags2.test: Likewise.
8462
8463 2011-01-29   Stefano Lattarini  <stefano.lattarini@gmail.com>
8464
8465         coverage: more on 'yacc -d' and recovery from deleted headers
8466         * tests/yacc-deleted-headers.test: New test.
8467         * tests/Makefile.am (TESTS): Update.
8468
8469 2011-01-29   Stefano Lattarini  <stefano.lattarini@gmail.com>
8470
8471         tests: remove redundancy from silent lex/yacc tests
8472         * tests/silent-yacc-gcc.test, tests/silent-yacc-generic.test: Merge
8473         these two testcases into ...
8474         * tests/silent-yacc.test: ... this new one, which doesn't fiddle
8475         which dependency tracking, as that shouldn't impact on generation
8476         of yacc-derived C source and header files (and, for what concerns
8477         compilation of C files, is already tested in other testcases).
8478         * tests/silent-lex-gcc.test, tests/silent-lex-generic.test: Merge
8479         these two testcases into ...
8480         * tests/silent-lex.test: ... this new test, for similar reasons.
8481         * tests/Makefile.am (TESTS): Update.
8482
8483 2011-01-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
8484             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8485
8486         tests init: better messages for 'yacc' and 'lex' requirements
8487         * tests/defs.in: Give better diagnostic messages when a test must
8488         be skipped to the unavailability of yacc or lex program.  Also,
8489         improve syncing between code for requiring yacc and lex.
8490
8491 2011-01-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
8492
8493         configure: look for a lex program to be used by the testsuite
8494         This will allow the testcases requiring a 'lex' program to run also
8495         with vendor/legacy lex implementations, not only with 'flex'.
8496         * configure.ac: Look for a lex program, using AC_CHECK_PROGS.
8497         * tests/defs.in: New required entry 'lex'.
8498         ($LEX): Let the user override the lex program to be used by the
8499         testsuite.
8500         * tests/cond35.test ($required): Require 'lex', not 'flex'.
8501         * tests/cond36.test: Likewise.
8502         * tests/lexv3.test: Likewise.
8503         * tests/lexv3.test: Likewise.
8504         * tests/silent-lex-gcc.test: Likewise.
8505         * tests/silent-lex-generic.test: Likewise.
8506         * tests/silent-many-gcc.test: Likewise.
8507         * tests/silent-many-generic.test:likewise.
8508         * tests/lexvpath.test: Likewise, and fix typo in comments.
8509
8510 2011-01-22   Stefano Lattarini  <stefano.lattarini@gmail.com>
8511
8512         configure: look for a yacc program to be used by the testsuite
8513         Instead of forcing the user to manually export 'YACC' in the
8514         testsuite to use a non-bison yacc, we now look for a yacc program
8515         at configure time, and use that as the default in the testsuite.
8516         * configure.ac: Look for a yacc program, using AC_CHECK_PROGS.
8517         * tests/defs.in: Updated to use the value of $YACC precomputed by
8518         configure, unless the user overrides that in the environment.
8519
8520 2011-01-22   Stefano Lattarini  <stefano.lattarini@gmail.com>
8521
8522         tests: more coverage on yacc/lex silent-rules, plus minor cleanups
8523         * tests/silent-yacc-gcc.test: Add sanity checks verifying that the
8524         generated Makefile.in files really contains the non-generic rules
8525         we expect.  Do not redundantly manually remove files we know to be
8526         already removed "make maintainer-clean".
8527         (Makefile.am): Ensure we cover also non-generic yacc rules, by
8528         setting target-specific YFLAGS.
8529         (sub/Makefile.am): Likewise.
8530         * tests/silent-yacc-generic.test: Likewise.
8531         * tests/silent-lex-gcc.test: Likewise, but with LFLAGS instead of
8532         YFLAGS.
8533         * tests/silent-lex-generic.test: Likewise.
8534         * tests/silent-many-gcc.test: Likewise, but with both LFLAGS and
8535         YFLAGS.  Also ...
8536         (do_and_check_verbose_build): Remove redundant blank line.
8537         * tests/silent-many-generic.test: Likewise.
8538         * tests/silent-yacc-headers.test: New test.
8539         * tests/Makefile.am (TESTS): Update.
8540
8541 2011-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
8542
8543         tests: fix spurious failures in yflags*.test
8544         * tests/yflags.test: Remove 'YACC' from the environment, so
8545         that it won't be erroneously picked up by `make -e'.
8546         * tests/yflags2.test: Likewise.
8547
8548 2011-01-22   Stefano Lattarini  <stefano.lattarini@gmail.com>
8549
8550         tests: cover yacc target-specific flags, and `-v' flag handling
8551         * tests/yacc-basic.test: Also try to build a parser having `-v'
8552         as target-specific flags.  Add a couple of `ls -l' commands, for
8553         debugging.  Update and extend comments.  Escape literal dots in
8554         grep regular expressions.
8555
8556 2011-01-12   Stefano Lattarini  <stefano.lattarini@gmail.com>
8557
8558         docs: clustered '-d' not recognized in YFLAGS
8559         This change fixes automake bug#7828.
8560         * doc/automake.texi (Yacc and Lex): Document that automake
8561         recognizes '-d' in AM_YFLAGS only if it's not clustered with
8562         other options.
8563         From a report by Юрий Пухальский.
8564
8565 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
8566
8567         tests: do not force yacc-requiring tests to use bison
8568         * tests/defs.in: New required entry 'yacc'.  Remove old
8569         required entry 'bison'.
8570         * tests/cond35.test ($required): Require yacc, not bison.
8571         * tests/cond36.test: Likewise.
8572         * tests/pr204.test: Likewise.
8573         * tests/silent-many-gcc.test: Likewise.
8574         * tests/silent-many-generic.test: Likewise.
8575         * tests/silent-yacc-gcc.test: Likewise.
8576         * tests/silent-yacc-generic.test: Likewise.
8577         * tests/subpkg.test: Likewise.
8578         * tests/suffix10.test: Likewise.
8579         * tests/yacc-basic.test: Likewise.
8580         * tests/yacc-clean.test: Likewise.
8581         * tests/yacc-d-basic.test: Likewise.
8582         * tests/yacc-d-vpath.test: Likewise.
8583         * tests/yacc-dist-nobuild.test: Likewise.
8584         * tests/yacc-nodist.test: Likewise.
8585         * tests/yacc4.test: Likewise.
8586         * tests/yacc6.test: Likewise.
8587         * tests/yacc7.test: Likewise.
8588         * tests/yacc8.test: Likewise.
8589         * tests/yaccdry.test: Likewise.
8590         * tests/yaccvpath.test: Likewise.
8591
8592 2011-01-10   Stefano Lattarini  <stefano.lattarini@gmail.com>
8593
8594         yacc: warn about conditional content in *YFLAGS variables
8595         This change fixes automake bug#7804.
8596         * automake.in (lang_yacc_target_hook): Warn if any of the relevant
8597         *YFLAGS variables has conditional contents (not only a conditional
8598         definition).  Related refactoring.
8599         * NEWS: Updated.
8600         * tests/yflags-conditional.test: Updated and extended.
8601         * tests/yflags-conditional-force.test: New test.
8602         * tests/Makefile.am (TESTS): Updated.
8603
8604 2011-01-08   Stefano Lattarini  <stefano.lattarini@gmail.com>
8605
8606         yacc: support variable expansions in *YFLAGS definition.
8607         This change fixes automake bug#7800.
8608         * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
8609         instead of 'variable_value' to get the value of *YFLAGS variables.
8610         Related changes.
8611         ($DASH_D_PATTERN): Removed.
8612         * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
8613         * tests/yacc-clean.test: Remove workaround for now-fixed bug.
8614         * NEWS: Update.
8615
8616 2011-01-08   Stefano Lattarini  <stefano.lattarini@gmail.com>
8617
8618         yacc: more tests on *YFLAGS support
8619         * tests/yflags-var-expand.test: New test, still xfailing.  It
8620         exposes automake bug#7800 -- "automake fails to honor `-d' in
8621         AM_YFLAGS when variable expansions are involved".
8622         * tests/yflags-d-false-positive.test: New test, checking that
8623         automake do not spuriously see `-d' in *YFLAGS when that isn't
8624         really there.
8625         * tests/yflags-force-override.test: New test, checking that
8626         automake can cope with definition of the YFLAGS variable in
8627         Makefile.am (even if that is an extremely bad practice, as that
8628         variable is user-reserved).
8629         * tests/yflags-cmdline-override.test: New test, checking that
8630         automake can cope with user-redefinition of YFLAGS at configure
8631         time and/or at make time.
8632         * tests/yflags-conditional.test: New test, checks that automake
8633         warns on conditionally-defined *YFLAGS variables.
8634         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
8635
8636 2011-01-08   Stefano Lattarini  <stefano.lattarini@gmail.com>
8637
8638         yacc: extend and improve tests
8639         * tests/yacc-basic.test: Also check that the intermediate C file
8640         is mentioned in the generated Makefile.in, and that it is created
8641         by the first make invocation.
8642         * tests/yacc3.test: Test removed, superseded by ...
8643         * tests/yacc-d-basic.test: ... this new test.
8644         * tests/yacc2.test: Add reference to that new test in the heading
8645         comments.
8646         * tests/yacc-d-vpath.test: New test.
8647         * tests/yaccvpath.test: Updated heading comments.  Do not require
8648         gcc anymore, as any working C compiler should be enough.  Remove
8649         redundant comments.
8650         * tests/yacc-nodist.test: New test.
8651         * tests/yacc-dist-nobuild.test: New test.
8652         * tests/Makefile.am (TESTS): Update.
8653
8654 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
8655
8656         Extend, fix and improve tests on Lex and Yacc support.
8657         * tests/lexcpp.test: New test script, on support for Lex + C++.
8658         * tests/lexvpath.test: New test script, test build and rebuild
8659         rules for lexers in VPATH setup.
8660         * tests/yacc-basic.test: New test script, run simple "semantic"
8661         checks on basic Yacc support (similarly to what lex3.test does
8662         for Lex support).
8663         * tests/lex.test: Don't create useless dummy source file joe.l.
8664         Remove extra blank lines.
8665         * tests/lex4.test: Add trailing `:' command.  Do not create dummy
8666         useless lex source file.
8667         * tests/lex2.test: Likewise.  Call automake with the `-a' option,
8668         so that it doesn't fail for the absence of `ylwrap' script.  Make
8669         grepping of automake stderr stricter.
8670         * tests/yacc7.test: Add trailing `:' command.  Enable `errexit'
8671         shell flag earlier (just after having sourced ./defs).
8672         * tests/yacc4.test: Likewise.  Also ...
8673         (configure.in): Use pre-populated skeleton set up by ./defs,
8674         instead of writing one from scratch.
8675         Other minor cosmetic changes.
8676         * tests/yacc5.test: Likewise.
8677         * tests/yaccvpath.test: Likewise. Also ...
8678         ($distdir): New variable.
8679         Use it throughout.
8680         * tests/lex5.test: Likewise.
8681         * tests/lex3.test: Likewise.  Check the distdir, rather than
8682         grepping the distribution tarball.  Extend the test on the
8683         created binary, and be sure to avoid hangs.  Add some comments.
8684         * tests/yacc.test: Use stricter grepping.  Add trailing `:'.
8685         * tests/yacc6.test: Likewise.
8686         * tests/yacc3.test: Likewise.  Do not create the unused file
8687         `Makefile.sed'.  Remove useless rules from Makefile.am.  Other
8688         minor cosmetic changes.
8689         * tests/yacc2.test: Make grepping of generated `Makefile.in' and
8690         of automake error messages stricter.  Do not redirect output of
8691         grep to /dev/null.  Move call to aclocal earlier.  Reduce the
8692         number of empty blank lines.  Fix a typo in comments.
8693         * tests/yacc8.test: Fixed bugs that reduced the completeness of
8694         the tests.  Added trailing `:' command.
8695         (configure.in): Use pre-populated skeleton set up by ./defs,
8696         instead of writing one from scratch.
8697         * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
8698         `.yxx', rather than only `.yy'.
8699         * tests/Makefile.am (TESTS): Update.
8700
8701 2011-01-07   Stefano Lattarini  <stefano.lattarini@gmail.com>
8702
8703         yacc: "make clean" removes .c and .h files from non-distributed .y
8704         Previously, while automake did *not* distribute C source and header
8705         files derived from non-distributed Yacc sources, it still caused
8706         them to be removed only by "make maintainer-clean" only, and not by
8707         simply "make clean" or "make distclean".
8708         This caused "make distcheck" to fail, unless the developer put
8709         those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
8710         by hand.
8711         This change fixes this issue, by making non-distributed `.c' and
8712         `.h' files generated by non-distributed Yacc sources cleaned by
8713         "make clean".
8714         * tests/automake.in (lang_yacc_target_hook): Make C source and
8715         header files derived from non-distributed Yacc files cleaned by
8716         "make clean", not only by "make maintainer-clean".
8717         * tests/yacc-clean.test: New test.
8718         * tests/Makefile.am (TESTS): Update.
8719         * NEWS: Update.
8720
8721 2011-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
8722
8723         depcomp: fix bugs in tests and in the depcomp script
8724         * lib/depcomp (gcc): Remove duplicated `-e' from sed invocation.
8725         * tests/depcomp10.test: Make it executable.  Fix a blunder that
8726         has left part of an intended comment not prefixed by `#', thus
8727         causing shell syntax errors.  In this same comment, break a
8728         too-long reported error message on multiple lines, for clarity.
8729         Add reference to the relevant bug report.  Add a comment which
8730         explains why the test result 'skipped' if the first "make" call
8731         fails.  Add other useful comments.
8732         * tests/depcomp9.test: Slightly improve comments.
8733
8734 2011-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8735
8736         Fix hp depmode for VPATH builds with GNU make.
8737         * lib/depcomp: Be sure to remove VPATH-prefixed object from
8738         dependency output when creating stub rule.
8739         * tests/depcomp10.test: New test.
8740         * tests/Makefile.am (TESTS): Update.
8741         * NEWS: Update.
8742         Report by Bruno Haible.
8743
8744 2011-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
8745
8746         java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am
8747         Fixes automake bug#8434.
8748         * automake.in (handle_java): Strip `dist_' and `nodist_' from
8749         the given prefix.  Define a new internal Makefile variable
8750         `am__java_sources'.  Related adjustments.
8751         * lib/am/java.am (JAVAC, JAVAROOT, CLASSPATH_ENV): Define only the
8752         first time this am file is processed.
8753         (class%DIR%.stamp): Stamp file renamed ...
8754         (class%NDIR%.stamp): ... to this, so that the `dist_' and `nodist_'
8755         prefixes are stripped from the name of the stampfile.  Adjust
8756         declaration of dependencies by using the new automake-generated
8757         internal variable `$(am__java_sources)'.  In the rule, use `$@'
8758         as the name of the target, rather than hard-coding it.
8759         * tests/java.test: Update and extend.
8760         * tests/java-no-duplicate.test: New test.
8761         * tests/java-mix-dist-nodist.test: Likewise.
8762         * tests/java-compile-and-install.test: Likewise.
8763         * tests/java-clean.test: Likewise.
8764         * tests/java-sources.test: Likewise.
8765         * tests/Makefile.am (TESTS): Update.
8766
8767 2011-04-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
8768
8769         coverage: more on java support EXTRA_ and noinst_ prefixes
8770         * tests/java-extra.test: New test, checking support for the
8771         prefix `EXTRA_' with the JAVA primary.
8772         * tests/java-noinst.test: New test, checking support for the
8773         prefix `noinst_' with the JAVA primary.
8774         * tests/Makefile.am (TESTS): Update.
8775
8776 2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
8777
8778         test defs: fix 'javac' requirement for older JDK versions
8779         The Java compiler from JDK 1.5 (and presumably earlier versions)
8780         cannot handle the `-version' option by itself; and while it does
8781         print the version number, it then errors out with an usage error:
8782           $ javac -version
8783           javac 1.5.0_22
8784           javac: no source files
8785           Usage: javac <options> <source files>
8786           ...
8787         Luckily, adding the `-help' option to the `javac' invocation
8788         seems to fix this problem.
8789         * tests/defs.in (javac): Pass also the `-help' option to the
8790         `javac' program.  Add a comment explaining why it is needed.
8791         Report from Ralf Wildenhues.
8792
8793 2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
8794
8795         test defs: new requirement for the default java compiler
8796         * tests/defs.in (for tool in $required): New requirement 'javac'.
8797         * tests/java.test: Use it instead of ad-hoc configure check.
8798         * tests/java-check.test: Likewise.
8799         * tests/java-extra.test: Likewise.
8800         * tests/java-noinst.test: Likewise.
8801         * tests/instfail-java.test: Likewise.
8802         * tests/instdir-java.test: Likewise.
8803
8804 2011-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
8805
8806         java: check_JAVA does not cause compilation by "make all" anymore
8807         Fixes automake bug#8234.
8808         * automake.in (handle_java): Make stamp of class files built from
8809         java sources in $(check_JAVA) a dependency of `check' target, not
8810         `all' target.
8811         * tests/java-check.test: New test.
8812         * tests/Makefile.am (TESTS): Update.
8813         * NEWS: Update.
8814         * THANKS: Update.
8815         Report from Petteri Räty.
8816
8817 2011-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
8818             Bruno Haible  <bruno@clisp.org>
8819
8820         coverage: add tests on remake rules in more complex situations
8821         * tests/defs (using_gmake): New function.
8822         (for tool in $required): Use it when $tool is 'GNUmake'.
8823         * tests/remake-moved-m4-file.test: New test.
8824         * tests/remake-deleted-m4-file.test: Likewise.
8825         * tests/remake-renamed-m4-file.test: Likewise.
8826         * tests/remake-renamed-m4-macro-and-file.test: Likewise.
8827         * tests/remake-renamed-m4-macro.test: Likewise.
8828         * tests/remake-add-acsubst-gnulib.test: Likewise.
8829         * tests/remake-add-header-gnulib.test: Likewise.
8830         * tests/remake-remove-header-gnulib.test: Likewise.
8831         * tests/Makefile.am (TESTS): Update.
8832
8833 2011-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
8834
8835         typofix in 'tests/defs'
8836         * tests/defs: Fix typo (`itslef' instead of `itself') in
8837         comments.
8838
8839 2011-04-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8840
8841         Clarify regex code in depcomp.
8842         * lib/depcomp: Add comment why we don't need regex-escaping here.
8843         Suggested by Stefano Lattarini.
8844
8845 2011-04-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8846
8847         Fix makedepend depmode for VPATH builds.
8848         * lib/depcomp [makedepend]: Remove any VPATH prefix from the
8849         object file name, so a rebuild doesn't attempt to update the
8850         .Po files in the source tree.
8851         * tests/depcomp9.test: New test.
8852         * tests/Makefile.am (TESTS): Update.
8853         * NEWS: Update.
8854
8855 2011-04-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
8856
8857         tests: fix timestamp-related failures
8858         Fixes automake bug#8365.
8859         * tests/aclocal6.test: Sleep before modifying m4 files that should
8860         trigger remake rules.  Remove incorrect/obsoleted comments.
8861         * tests/subdir5.test: Likewise, and extend a bit.
8862         * tests/subdir8.test: Likewise.
8863         * tests/pr8365-remake-timing.test: New xfailing test.
8864         * tests/Makefile.am (TESTS): Update.
8865         Report from Sam Steingold.
8866
8867 2011-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8868
8869         Create subdirs for generated sources even when not dep tracking.
8870         * automake.in (handle_single_transform): If $object is derived
8871         and lands in subdir, be sure to output a dirstamp dependency.
8872         * tests/yacc5.test: Avoid falsely matching the dirstamp
8873         dependency when grepping for a rule.
8874         * tests/lex-subobj-nodep.test: New test.
8875         * tests/Makefile.am (TESTS): Update.
8876         * THANKS: Update.
8877         Report by Ignacy Gawedzki.
8878
8879         Fix locale issue in check-exported-srcdir.test.
8880         * tests/check-exported-srcdir.test: Reformulate glob to not fail
8881         in a locale that ignores or interleaves character case.
8882
8883 2011-04-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
8884
8885         docs: better visibility for aclocal in the index
8886         * doc/automake.texi (@menu): Rename title for entry 'configure'
8887         from "Scanning configure.ac or configure.in" to the more precise
8888         "Scanning configure.ac, using aclocal".
8889         (@detailmenu): Adjust.
8890         (@node configure): Adjust, and extend @cindex calls accordingly.
8891         * THANKS: Update.
8892         From a report by Maynard Johnson.
8893
8894 2011-03-30  Stefano Lattarini  <stefano.lattarini@gmail.com>
8895
8896         tests: improve tests on "maintainer-clean" target
8897         * tests/aclocal6.test: Move checks related to "maintainer-clean"
8898         functionalities into ...
8899         * tests/maintclean-vpath.test: ... this new test.
8900         * tests/maintclean.test: Update heading comments.  Extend to also
8901         test subdirs.  Remove useless disabling of YACC.  Fix m4 quoting
8902         in configure.in.  Add a trailing `:' command.  Remove extra blank
8903         lines.
8904         * tests/Makefile.am (TESTS): Update.
8905
8906 2011-03-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8907
8908         tests: fix unindent to use printf not echo for script.
8909         * tests/defs.in: Use printf rather than echo, as the latter may
8910         interpret the backslashes in the sed script.  Fixes test
8911         failures with dash as /bin/sh.
8912
8913 2011-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8914             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8915
8916         maintcheck: look for problematic names of testcases
8917         The configure.in stub created by default by `tests/defs' obtains
8918         the first argument of AC_INIT from the test name, and this can
8919         cause some supported autoconf versions to fail with a spurious
8920         error if that test name contains the name of an m4 or m4sugar
8921         builtin or macro (e.g., `defn' or `m4_undefine').
8922         See for example the bug fixed by commit v1.11-287-g1325a8a.
8923         This change add a maintainer check that warns about test names
8924         which are possibly problematic in this regard.
8925         * Makefile.am (sc_test_names): New maintainer-check target.
8926         (syntax_check_rules): Add it.
8927         (m4_builtins): New helper variable.
8928         (TESTS): Updated according to the following renamings.
8929         * tests/include.test: Renamed ...
8930         * tests/hdr-vars-defined-once.test: ... to this.
8931         * tests/sinclude.test: Renamed ...
8932         * tests/m4-inclusion.test: ... to this, and simplified
8933         accordingly.
8934         * tests/include2.test: Renamed ...
8935         * tests/dist-included-parent-dir.test: ... to this, for
8936         consistency.
8937
8938 2011-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
8939
8940         tests: fix bug in alloca*.test
8941         * tests/alloca.test: Make grepping of automake stderr stricter,
8942         add a trailing `:' command; also, add AC_PROG_CC to configure.in,
8943         and create a dummy alloca.c file, to ensure that we fail for the
8944         proper reason.
8945         * tests/alloca2.test: Likewise.  Also, look for LT_INIT, not
8946         AC_PROG_LIBTOOL, in the error message (bug introduced with commit
8947         v1.11-315-gd51e7b7 "libtool: suggest LT_INIT if LTLIBRARIES
8948         primary is used").
8949         From a report by Patrick Welche.
8950
8951 2011-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8952
8953         cosmetics: better use of m4 quoting and m4sugar macros
8954         * m4/dmalloc.m4: Better use of m4 quoting.  Bump serial number.
8955         * m4/gcj.m4: Likewise.
8956         * m4/init.m4: Likewise.
8957         * m4/install-sh.m4: Likewise.
8958         * m4/lex.m4: Likewise.
8959         * m4/multi.m4: Likewise.
8960         * m4/option.m4: Likewise.
8961         * m4/python.m4: Likewise.
8962         * m4/sanity.m4: Likewise.
8963         * m4/cond.m4: Likewise.  Also, prefer the m4sugar macro 'm4_if'
8964         over the plain m4 macro 'ifelse'.
8965         * m4/depend.m4: Likewise.
8966
8967 2011-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8968
8969         tests: add test about deprecated use of AC_INIT
8970         * tests/deprecated-acinit.test: New test, check that automake
8971         and autoconf complain about an old-style AC_INIT call used with
8972         a new-style AM_AUTOMAKE_INIT call.
8973         * tests/Makefile.am (TESTS): Update.
8974
8975 2011-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
8976
8977         tests: fix bug (comments-in-var-defn.test + autoconf 2.62)
8978         * tests/comments-in-var-defn.test: The configure.in stub created
8979         by default, which has the AC_INIT first argument obtained by the
8980         test name, causes autoconf 2.62 to fail with a spurious error
8981         message like: "configure.in:1: error: defn: undefined macro:".
8982         Thus, to prevent this, the test is renamed to ...
8983         * tests/comments-in-var-def.test: ... this.
8984         * tests/Makefile.am (TESTS): Updated.
8985
8986 2011-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
8987
8988         cosmetics: convert encoding from ISO-8859 to UTF-8
8989         * ChangeLog.03: Convert encoding to UTF-8.
8990         * ChangeLog.96: Likewise.
8991         * ChangeLog.98: Likewise.
8992         * NEWS: Likewise.
8993         * TODO: Likewise.
8994
8995 2011-03-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
8996
8997         tests: extend checks on the 'unindent' shell function
8998         * tests/self-check-unindent.test: Also check that multiple
8999         instances of 'unindent' can run in parallel (this was not
9000         the case when that function used temporary files).
9001
9002 2011-03-01  Peter Rosin  <peda@lysator.liu.se>
9003
9004         test defs: unindent without temporary file
9005         * tests/defs.in (commented_sed_unindent_prog): Commented Sed program
9006         that strips the "proper" amount of leading whitespace.
9007         (unindent): Lazily strip comments from the above program and use it
9008         to unindent without using a temporary file.
9009
9010 2011-02-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
9011
9012         libtool: suggest LT_INIT if LTLIBRARIES primary is used
9013         When the LTLIBRARIES primary was used, but $(LIBTOOL) wasn't
9014         defined, automake suggested to add a call to AC_PROG_LIBTOOL
9015         in configure.ac.  But that macro is deprecated since Libtool
9016         version 1.9b (2004-08-29), in favor of the newer LT_INIT.  So
9017         suggest the use of this latter macro instead.
9018         * lib/Automake/Variable.pm (%_am_macro_for_var): Pair 'LIBTOOL'
9019         with 'LT_INIT', not with 'AC_PROG_LIBTOOL'.
9020         * tests/libtool4.test: Adjust and extend.  Also, add a call to
9021         macro AC_PROG_CC in configure.in, to help ensuring that automake
9022         does not fail for the wrong reasons.
9023         * tests/ltinit.test: New test, ensure that automake's libtool
9024         support works with LT_INIT-based interface.
9025         Thanks to Jack Kelly for the suggestion.
9026
9027 2011-02-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
9028
9029         tests: add testcases sanity-checking the testsuite
9030         Helper subroutines, variables and other pieces of code defined
9031         in the `tests/defs' and used by many testcases are non-obvious,
9032         and tricky to get to work portably; but until now, they weren't
9033         tested at all in a clear and self-contained way.
9034         This change should remedy to the situation.
9035         * tests/self-check-cleanup.test: New test, check removal of
9036         temporary test working directory by `./defs'.
9037         * tests/self-check-dir.test: New test, check that tests using
9038         `./defs' create a proper temporary directory, and run in it.
9039         * tests/self-check-exit.test: New test, check that, in case of
9040         failing commands, the correct exit status is passed to the exit
9041         trap installed by the `./defs' script.
9042         * tests/self-check-is_newest.test: New test, checking the
9043         `is_newest' subroutine.
9044         * tests/self-check-me.test: New test, checking that $me gets
9045         defined automatically by `tests/defs' if not set, and that it
9046         can be overridden from either the shell or the environment.
9047         * tests/self-check-sanity.test: New test, check that the sanity
9048         checks performed by the `tests/defs' script works correctly.
9049         * tests/self-check-unindent.test: New test, checking the
9050         `unindent' subroutine.
9051         * tests/Makefile.am (TESTS): Update.
9052
9053 2011-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
9054
9055         tests: tempdirs with restrictive permissions are cleaned correctly
9056         Before this change, the removal of a temporary test directory
9057         containing subdirectories with restrictive permissions (such as
9058         'r--r--r--') could fail.
9059         * tests/defs: Ensure that all the subdirectories of a temporary
9060         test directory have the 'read', 'write' and 'execute' bits set,
9061         before trying to remove it with `rm -rf'.
9062         * tests/Makefile.am (clean-local-check): Likewise.
9063
9064 2011-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
9065             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9066
9067         test defs: add subroutine for input unindenting
9068         * tests/defs.in (unindent): New subroutine.
9069         * tests/instspc-tests.sh: Use it.
9070
9071 2011-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
9072
9073         python: report the 'PYTHON' influential environment variable
9074         * m4/python.m4 (AM_PATH_PYTHON): Call AC_ARG_VAR on PYTHON.
9075         * doc/automake.texi (Python): Update and extend.
9076         * tests/help-python.test: New test.
9077         * tests/Makefile.am (TESTS): Update.
9078         * THANKS (Jack Kelly): Update e-mail address.
9079         Suggestion by Jack Kelly.
9080
9081 2011-02-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
9082
9083         tests defs: clear TESTS_ENVIRONMENT variable
9084         * tests/defs.in (TESTS_ENVIRONMENT): Unset it, so that values
9085         from environment won't interfere with the testcases.
9086         Suggestion by Ralf Wildenhues.
9087
9088 2011-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
9089
9090         tests: `instspc-*.test': do not create useless source file
9091         * tests/instspc-tests.sh (create_input_data): Do not create
9092         unused source file `source2.c'.
9093
9094 2011-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
9095
9096         tests: optimize `instspc-*.test' for speed
9097         After the split of `instspc.test' into various generated tests,
9098         the running time of the testsuite has noticeably increased, since
9099         all of these new generated tests must run aclocal, autoconf and
9100         automake, whereas previously they were run only once (at the
9101         beginning of `instspc.test').  But luckily, since the new tests
9102         share the same input files for the autotools, this situation can
9103         be easily worked around (at the expenses of a slight increase of
9104         complexity for the testsuite scaffolding).
9105         * tests/instspc-data.test: New helper test, properly calling
9106         the `instspc-tests.sh' script to generate input data for the
9107         others `instspc-*.test' tests.
9108         * tests/Makefile.am (TESTS): Add `instspc-data.test'.
9109         ($(instspc_tests:.test=.log)): Depend on its log file.
9110         (instspc-data.log): Depend on `instspc-tests.sh'.
9111         * tests/instspc-tests.sh: Recognize new action `generate-data',
9112         and use it to create hand-written and autotools-generated static
9113         files shared by all the `instspc-*.test' tests.
9114         When sourced by the `instspc-*.test' tests, use those previously
9115         created files instead of recreating them from scratch.
9116         (unindent, create_input_data): New subroutines.
9117         Some other related changes and refactorings.
9118         From a suggestion by Ralf Wildenhues.
9119
9120 2011-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
9121
9122         python: fix spurious failure in tests
9123         * tests/python-vars.test: Ignore cached values from config.site
9124         by exporting CONFIG_SITE=/dev/null.  Be laxer in matching the
9125         expected values of output variables `pythondir' and `pyexecdir',
9126         since they can change quite unpredictably among different python
9127         installations.  Also, avoid "hyping" debugging output, thus
9128         offering smaller trace output and more informative diff.
9129         Report and suggestions by Ralf Wildenhues.
9130         * tests/python-virtualenv.test: Require python, since we call it
9131         even after the virtualenv has been deactivated.  Ignore cached
9132         values from config.site by exporting CONFIG_SITE=/dev/null.
9133
9134 2011-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
9135
9136         tests: tweak few tests on simple and parallel test drivers
9137         * tests/check-exported-srcdir.test: Improve heading comments.
9138         * tests/check-tests-in-builddir.test: Likewise.  Also, unset the
9139         `FOO_EXIT_STATUS' variable, so that any pre-existing value in the
9140         environment won't risk to interfere with the test.
9141         Suggestions by Ralf Wildenhues.
9142
9143 2011-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
9144
9145         python: extend and improve tests, fix minor glitches
9146         * m4/python.m4 (AM_PATH_PYTHON): Ensure the "checking ..." messages
9147         from configure are always complete, even in case of failure.  Tiny
9148         cosmetic improvement in info/error messages.
9149         * tests/python.test: Also check that automake complains if the
9150         PYTHON primary is used but the `py-compile' script is not present.
9151         Make grepping of generated Makefile.in laxer w.r.t. whitespace.
9152         Add trailing `:' command.
9153         * tests/python2.test: Remove repeated calls aclocal: they are
9154         useless because configure.in is never modified.  Make grepping
9155         of automake stderr more comprehensive.  Remove the pre-existing
9156         `py-compile' file before trying to install it with `--add-missing'.
9157         Add trailing `:' command.
9158         * tests/python3.test: Add trailing `:' command.
9159         * tests/python11.test: Likewise.
9160         * tests/python4.test: Likewise.  Also, try to pass PYTHON config
9161         variable to configure from the environment, rather than only from
9162         the command line.
9163         * tests/python5.test: Ensure that the "checking ..." messages from
9164         configure are always complete.  Use proper m4 quoting.  Add a
9165         trailing `:' command.
9166         * tests/python6.test: Simplify test logic, by checking for files
9167         created by configure rather then grepping its output.
9168         * tests/python7.test: Likewise.
9169         * tests/python8.test: Also check that `$PYTHON' is meaningfully
9170         set in the ACTION-IF-TRUE argument of AM_PATH_PYTHON.
9171         * tests/python9.test: Likewise.
9172         * tests/python10.test: Add trailing `:' command.
9173         (Makefile.am): Declare `disttest' target as `.PHONY', and add
9174         an `ls -l' to its recipe, for debugging.
9175         * tests/nobase-python.test: In testing "make uninstall" and
9176         "make install" results, prefer idioms that make verbose logs
9177         more helpful.  Remove a couple of lines of dead code.  Add a
9178         trailing `:' command.
9179         * tests/python5b.test: New test, checking that configure performs
9180         the check on the python version even when the choice of the python
9181         interpreter is forced by the user.
9182         * tests/python-dist.test: New test, checking the distribution of
9183         *_PYTHON files.
9184         * tests/python-vars.test: New test, checking that AM_PATH_PYTHON
9185         correctly set all the output variables advertised in the manual.
9186         * tests/python-virtualenv.test: New test, checking that python
9187         support offered by automake works well with "virtual python
9188         environments" created by the `virtualenv' program.
9189         * tests/instdir-prog.test: Also check `$(pyexecdir)'.  Existing
9190         checks made slightly stricter.
9191         * tests/instdir-prog.test: Also check `$(pyexecdir)'.  Existing
9192         * tests/instdir-ltlib.test: Likewise.
9193         * tests/Makefile.am (TESTS): Update.
9194
9195 2011-02-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
9196
9197         coverage: more tests on simple and parallel test drivers
9198         * tests/parallel-tests-subdir.test: New test.
9199         * tests/check-exported-srcdir.test: Likewise.
9200         * tests/check-tests-in-builddir.test: Likewise.
9201         * tests/check-tests_environment.test: Likewise.
9202         * tests/Makefile.am (TESTS): Update.
9203
9204 2011-01-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
9205
9206         tests: fix spurious failures in lflags*.test
9207         * tests/lflags.test: Remove 'LEX' from the environment, so
9208         that it won't be erroneously picked up by `make -e'.
9209         * tests/lflags2.test: Likewise.
9210
9211 2011-01-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
9212
9213         docs: color-tests issues with parallel make
9214         * doc/automake.texi (Simple Tests): Document that automatic
9215         recognition of a capable terminal attached to stdout can fail
9216         with some make implementation when running in parallel mode,
9217         thus causing colored test output not to be automatically
9218         activated when it should.
9219
9220 2011-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
9221
9222         coverage: test semantics of "dummy" per-target flags
9223         * tests/specflg-dummy.test: New test, ensuring that even "dummy"
9224         per-target flags triggers the use of renamed objects.
9225         * tests/Makefile.am (TESTS): Update.
9226         Suggestion by Ralf Wildenhues.
9227
9228 2011-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
9229
9230         tests defs: sanitize IFS
9231         * tests/defs ($IFS): Define to <space>, <tab>, <newline>.
9232         ($sp): New variable, holding a single whitespace character.
9233         ($tab): New variable, holding a tabulation character.
9234         ($nl): New variable, holding a newline character.
9235
9236 2011-01-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9237
9238         tests: avoid instspc* failures due to make's whitespace trimming
9239         * tests/instspc-tests.sh: Prepend './' when passing the test
9240         characters, to avoid leading whitespace characters to be trimmed
9241         from macros set from environment variables.  Fixes testsuite
9242         failures with HP-UX and Tru64/OSF make.
9243
9244 2011-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9245
9246         tests: fix VPATH auto-expansion workarounds.
9247         * tests/suffix10.test, tests/suffix11.test, tests/suffix12.test,
9248         tests/suffix3.test, tests/suffix5.test, tests/suffix8.test:
9249         Ensure $< is not surrounded by white space, to prevent Solaris
9250         make from applying automatic VPATH text expansion.
9251
9252         tests: fix VPATH auto-expansion workarounds.
9253         * tests/parallel-tests8.test, tests/suffix13.test:
9254         Ensure $< is not surrounded by white space, to prevent Solaris
9255         make from applying automatic VPATH text expansion.
9256
9257 2011-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
9258
9259         tests: fix spurious failures in yflags*.test
9260         * tests/yflags.test: Remove 'YACC' from the environment, so
9261         that it won't be erroneously picked up by `make -e'.
9262         * tests/yflags2.test: Likewise.
9263
9264 2011-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9265
9266         tests: avoid fn99*.test failures due to buggy AIX 5.3 cp -R.
9267         * tests/fn99.test, tests/fn99subdir.test: Skip if an initial
9268         `cp -R' of the subdir tree already fails; AIX 5.3 cp messes
9269         up its internal memory when copying this tree.
9270
9271 2011-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9272             Stefano Lattarini  <stefano.lattarini@gmail.com>
9273
9274         Add comment to check-TESTS rule working around make 3.80 bug.
9275         * lib/am/check.am (check-TESTS): Update comment.
9276
9277 2011-01-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9278
9279         tests: less strict double-colon spy.test again.
9280         * tests/spy.test: We know BSD make doesn't invoke more than one
9281         double-colon rule, so no need to expose that failure.
9282
9283 2011-01-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9284
9285         install-sh: avoid Tru64 sh `test' operator precedence issues.
9286         * lib/install-sh: Protect file names and directory components
9287         that consist of `=', `(', `)', or `!'.  Move protection as early
9288         as possible, to avoid errors such as with Tru64 sh `test -z ='.
9289         * tests/instsh2.test: Extend test to cover more possibilities.
9290         Fixes 1.12 instspc-equal-install.test failure on Tru64/OSF 5.1.
9291
9292 2011-01-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
9293             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9294
9295         docs: automake testsuite doesn't use TESTS_ENVIRONMENT anymore
9296         * doc/automake.texi (Simple Tests): Do not claim Automake uses
9297         TESTS_ENVIRONMENT for the perl driver.  Instead, point to the
9298         parallel-tests driver.
9299
9300 2011-01-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9301
9302         tests: check for presence of cscope with redirected input.
9303         * tests/defs: Add required test for cscope.
9304         Fixes cscope3.test hang with Sun C 5.9 cscope.
9305
9306         tests: avoid false failure in cygnus-dependency-tracking.test.
9307         * tests/cygnus-dependency-tracking.test: Be less restrictive
9308         when grepping the compiler error message, GCC 3.4.6 on FreeBSD
9309         does not mention an undefined symbol.
9310
9311 2011-01-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9312
9313         tests: revert not turning off errexit in instspc-test.sh
9314         * tests/instspc-tests.sh: Turn off errexit while sourcing defs,
9315         the scripts might still not be clean.
9316
9317 2011-01-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9318
9319         tests: work around Tru64 sh -e issues for instspc*.test.
9320         Apparently, Tru64 sh does not like turning off errexit mode,
9321         and gets confused.
9322         * tests/defs: Document 'errexit' cleanliness requirement.
9323         * tests/defs-static.in: Likewise.  Avoid error from command
9324         substitution to abort instspc*.test with Tru64/OSF 5.1 sh.
9325         * tests/instspc-tests.sh: Drop now-unneeded temporary errexit
9326         dropping.  Add strategic '|| Exit' to let tests work on Tru64.
9327
9328 2011-01-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9329
9330         Allow _AM_DEPENDENCIES to be used later in configure.
9331         * m4/depend.m4 (_AM_DEPENDENCIES): Remove a previously existing
9332         conftest.dir before recreating it.
9333         Fixes bug#7864.
9334         Report by Eric Blake, from report by Scott McCreary against M4.
9335
9336 2011-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9337
9338         tests: avoid failure on w32 file systems.
9339         * tests/parallel-tests-unreadable-log.test: SKIP if file cannot
9340         be turned unreadable.
9341
9342 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9343
9344         tests: allow double-colon spy.test to work with HP-UX make.
9345         * tests/spy.test: Fix comment typos.  Ensure prerequisites we
9346         do not want to depend on are strictly older than the target.
9347         Also test with a target out of date wrt. more than one rule.
9348
9349 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9350
9351         Avoid local $_ perl variable, for Perl before 5.9.1.
9352         * lib/Automake/Options.pm (_process_option_list): Do not
9353         lexically localize $_.  Fixes bootstrap on AIX 5.1.
9354         Bug introduced in commit `v1.11-622-gf90a06c'.
9355
9356 2011-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
9357
9358         tests: remove useless requirements from cond36.test
9359         * tests/cond36.test ($required): Remove.
9360         Since we are at it, add a trailing `:' command.
9361
9362 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9363
9364         tests: avoid failing command substitution in errexit mode.
9365         * tests/vartypo2.test, tests/vartypos.test: Rewrite to not use
9366         a command substitution with a nonzero exit status, that causes
9367         IRIX and Tru64/OSF sh to fail the whole test.
9368
9369 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9370             Stefano Lattarini  <stefano.lattarini@gmail.com>
9371
9372         parallel-tests: work around Tru64/OSF 5.1 sh read bugs.
9373         * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
9374         Test file readability before redirecting input from it, to avoid
9375         exiting Tru64/OSF 5.1 sh which treats read as special builtin.
9376         * tests/parallel-tests-unreadable-log.test: New test.
9377         * tests/Makefile.am (TESTS): Update.
9378         * NEWS: Update.
9379
9380 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9381
9382         * NEWS, README: Update copyright years.
9383
9384 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
9385
9386         tests: hard error in case of internal failures or signal caught
9387         * tests/defs: Exit with status 99 (hard error) rather than
9388         1 (failure) on unexpected/internal errors, or when a signal
9389         is caught by the client script.
9390
9391         Tests defs: don't let useless variables leak in test scripts.
9392         * tests/defs ($priv_check_temp, $overwrite_status, $ro_dir_temp,
9393         $create_status, $r2h, $libtool_found, $gettext_found, $aclocaldir,
9394         $extra_includes): Unset once they've served their purpose.
9395
9396 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9397
9398         Fix parallel-tests.test failure with HP-UX make.
9399         * tests/parallel-tests.test: Sleep inside inner tests, so logs
9400         are newer than logs of tests they depend on, for HP-UX make.
9401
9402 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9403
9404         docs: ensure example are separated with empty lines in the input
9405         * doc/automake.texi (Extending aclocal, Emacs Lisp, Rebuilding)
9406         (API Versioning, Renamed Objects, Multiple Outputs): Add empty
9407         lines before `@example' and after `@end example' lines, so info
9408         output is rendered correctly, and a following @noindent honored.
9409         Report by Stefano Lattarini.
9410
9411 2011-01-15  Jim Meyering <meyering@redhat.com>
9412
9413         tests: fix comment typo
9414         * tests/substref.test: Fix grammar in a comment.
9415
9416 2011-01-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
9417
9418         tests: fix spurious failures in two texinfo tests
9419         * tests/txinfo.test ($required): Add 'makeinfo'.
9420         * tests/txinfo8.test: Create a dummy 'textutils.info' file, so
9421         that make won't try to run makeinfo (which could be unavailable)
9422         to build it.
9423         Found by NixOS Hydra, reported by Ralf Wildenhues.
9424
9425 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
9426
9427         Update docs w.r.t. warning and strictness options.
9428         * doc/automake.texi (Strictness): Document that some warnings are
9429         turned off by default in `foreign' strictness.
9430         (Options): Divide into new sections "Options generalities" and
9431         "List of Automake options".  Fix typo (colon instead of full
9432         stop).  Document option precedence (AUTOMAKE_OPTIONS wins over
9433         AM_INIT_AUTOMAKE which wins over command line).  Also document
9434         interactions between options specifying strictness and those
9435         specifying warnings.
9436
9437         More tests on warnings/strictness precedence.
9438         * tests/warning-groups-win-over-strictness.test: New test, similar
9439         to `warnings-win-over-strictness.test', but checking the explicit
9440         catch-all warning flags (like `-Wall' and `-Wnone').
9441         * tests/Makefile.am (TESTS): Update.
9442
9443         Update NEWS about the warnings-over-strictness precedence.
9444         * NEWS: Automake explicit warning levels always take precedence
9445         over the implicit warning levels implied by Automake strictness.
9446
9447         For PR automake/547:
9448         Warnings win over strictness in AUTOMAKE_OPTIONS.
9449         Ensure that, for what concerns the options specified in
9450         AUTOMAKE_OPTIONS, explicitly-defined warnings always take
9451         precedence over implicit strictness-implied warnings.
9452         This finally fixes Automake bug#7669 a.k.a. PR/547.
9453         * automake.in (handle_options): Call 'process_option_list'
9454         only once per set of options.
9455         * lib/Automake/Options.pm (process_global_option_list,
9456         process_option_list): Add sanity checks.
9457         ($_options_processed, $_global_options_processed): New
9458         internal variables, used by the sanity checks above.
9459         * tests/warnings-win-over-strictness.test: Extend.
9460
9461         For PR automake/547:
9462         Change signature of 'Automake::Options::_process_option_list()'.
9463         This only modifies internal details in the automake implementation,
9464         bearing no externally visible effect, but preparing the way for the
9465         final fix of Automake bug#7669 a.k.a. PR/547.
9466         * lib/Automake/Options.pm (_process_option_list): Accept as
9467         arguments a list of hash references with keys 'option' and 'where',
9468         where 'option' is an option as might occur in AUTOMAKE_OPTIONS or
9469         AM_INIT_AUTOMAKE, and 'where' is the location where it occurred.
9470         (process_option_list, process_global_option_list): Updated.
9471         * automake.in (handle_options, scan_autoconf_traces): Update.
9472
9473         Add more tests about AUTOMAKE_OPTIONS.
9474         In view of soon-to-follow refactorings (still in the pursuit of a
9475         fix for Automake bug#7669 a.k.a. PR/547), add some more tests on
9476         AUTOMAKE_OPTIONS support, to prevent obvious regressions.
9477         * tests/amopts-variable-expansion.test: New test.
9478         * tests/amopts-location.test: Likewise.
9479         * tests/Makefile.am (TESTS): Update.
9480
9481         For PR automake/547:
9482         Warnings win over strictness in AM_INIT_AUTOMAKE.
9483         This change ensures that, for what concerns the options specified
9484         in AM_INIT_AUTOMAKE,  explicitly-defined warnings always take
9485         precedence over implicit strictness-implied warnings.  Related to
9486         Automake bug#7669 a.k.a. PR/547.
9487         * lib/Automake/Options.pm (_process_option_list): Parse explicit
9488         warnings only after the strictness level has been set.  Fix POD
9489         documentation.
9490         * tests/warnings-win-over-strictness.test: Extend.
9491
9492         For PR automake/547:
9493         Warnings win over strictness on command line.
9494         Ensure that, on the command line at least, explicitly defined
9495         warnings always take precedence over implicit strictness-implied
9496         warnings.  Related to Automake bug#7669 a.k.a. PR/547.
9497         * automake.in (parse_arguments): Parse warnings only after the
9498         strictness level has been processed.
9499         * tests/gnuwarn.test: Update, plus miscellaneous improvements.
9500         * tests/warnings-win-over-strictness.test: New test.
9501         * tests/Makefile.am (TESTS): Update.
9502
9503         More tests on warnings and strictness.
9504         * tests/warnings-strictness-interactions.test: New test.
9505         * tests/warnings-unknown.test: Likewise.
9506         * tests/Makefile.am (TESTS): Update.
9507
9508         New test on silent-rules mode and portability warnings.
9509         * tests/silent-nowarn.test: New test.
9510         * tests/Makefile.am (TESTS): Update.
9511
9512         Add new tests on strictness and warnings precedence and overriding.
9513         * tests/strictness-override.test: New test.
9514         * tests/strictness-precedence.test: New test.
9515         * tests/warnings-override.test: New test.
9516         * tests/warnings-precedence.test: New test.
9517         * tests/Makefile.am (TESTS): Update.
9518
9519 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9520
9521         Fix remake rule-induced test failures with HP-UX make.
9522         * tests/remake1a.test: Require GNU make.
9523
9524 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9525
9526         Fix remake rule-induced test failures with HP-UX make.
9527         * tests/colon6.test: Update timestamp of subdir Makefile, so we
9528         do not spuriously invoke the nonexistent toplevel am--refresh
9529         rule.
9530
9531         tests: fix typos in colon6.test
9532         * tests/colon6.test: Fix typos.
9533
9534 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9535             Stefano Lattarini  <stefano.lattarini@gmail.com>
9536
9537         tests: explain MSYS setup failure issue, improve test.
9538         * tests/defs: Add comment and failure message, improve fail
9539         logic.
9540
9541 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9542
9543         Fix libobj2.test failure with non-GNU make: define $(AR).
9544         * tests/libobj2.test: Ensure $(AR) is suitably defined.
9545
9546 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9547
9548         tests: avoid spurious failures due to fork failure in test setup
9549         * tests/defs: Ensure $me is always nonempty, to avoid spurious
9550         failures on MinGW/MSYS in case the preceding sed command could
9551         not be spawned.
9552
9553         Avoid configure warnings from wait about reused PIDs.
9554         * m4/sanity.m4 (AM_SANITY_CHECK): Hide wait stderr output.
9555         Fixes spurious failure of depcomp2.test.
9556
9557 2011-01-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9558
9559         Avoid testsuite failures due to Autoconf Fortran change.
9560         Autoconf v2.68-21-g727ce95 causes AC_F77_LIBRARY_LDFLAGS to
9561         require computing the canonical host name.  Ensure config.guess
9562         and config.sub files are present for respective checks.
9563         * tests/compile_f_c_cxx.test: Add stub files.
9564         * tests/flibs.test: Likewise.
9565         * tests/fort4.test: Use $AUTOMAKE -a for installing files.
9566
9567 2011-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
9568
9569         docs: clustered '-d' not recognized in YFLAGS
9570         This change fixes automake bug#7828.
9571         * doc/automake.texi (Yacc and Lex): Document that automake
9572         recognizes '-d' in AM_YFLAGS only if it's not clustered with
9573         other options.
9574         From a report by Юрий Пухальский.
9575
9576 2011-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
9577
9578         tests: add checks on automatically-distributed files
9579         Related to automake bug#7819.
9580         * tests/autodist.test: New test.
9581         * tests/autodist-subdir.test: Likewise.
9582         * tests/autodist-acconfig.test: Likewise.
9583         * tests/autodist-acconfig-no-subdir.test: Likewise.
9584         * tests/autodist-aclocal-m4.test: Likewise.
9585         * tests/autodist-config-headers.test: Likewise.
9586         * tests/autodist-configure-no-subdir.test: Likewise.
9587         * tests/autodist-stamp-vti.test: Likewise.
9588         * tests/Makefile.am (TESTS): Update.
9589
9590 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9591
9592         tests: do not force yacc-requiring tests to use bison
9593         * tests/defs.in: New required entry 'yacc'.  Remove old
9594         required entry 'bison'.
9595         * tests/cond35.test ($required): Require yacc, not bison.
9596         * tests/cond36.test: Likewise.
9597         * tests/pr204.test: Likewise.
9598         * tests/silent-many-gcc.test: Likewise.
9599         * tests/silent-many-generic.test: Likewise.
9600         * tests/silent-yacc-gcc.test: Likewise.
9601         * tests/silent-yacc-generic.test: Likewise.
9602         * tests/subpkg.test: Likewise.
9603         * tests/suffix10.test: Likewise.
9604         * tests/yacc-basic.test: Likewise.
9605         * tests/yacc-clean.test: Likewise.
9606         * tests/yacc-d-basic.test: Likewise.
9607         * tests/yacc-d-vpath.test: Likewise.
9608         * tests/yacc-dist-nobuild.test: Likewise.
9609         * tests/yacc-nodist.test: Likewise.
9610         * tests/yacc4.test: Likewise.
9611         * tests/yacc6.test: Likewise.
9612         * tests/yacc7.test: Likewise.
9613         * tests/yacc8.test: Likewise.
9614         * tests/yaccdry.test: Likewise.
9615         * tests/yaccvpath.test: Likewise.
9616
9617 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9618
9619         tests: more consistent checks about invalid options
9620         * tests/aclocal.test: Grepping of automake stderr for messages
9621         reporting invalid options made stricter.
9622         * tests/no-outdir-option.test: Likewise.  Also, create a dummy
9623         `Makefile.am', to ensure that the automake failures are really
9624         caused only by unrecognized options.
9625         * tests/automake.test: Added trailing `:' command.  Removed
9626         redundant checks on `--help' and `--version' option (already
9627         performed in the test `help*.test').
9628
9629 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9630
9631         tests: enable 'errexit' shell flag by default.
9632         * tests/defs: Enable `errexit' shell flag (near the end).
9633         Removed redundant comment about the enabling of shell traces.
9634         * tests/README (Writing test cases): Update, and use nicer
9635         formatting in a couple of places.
9636         * All tests: Adjusted by removing now-redundant calls to
9637         'set -e'.
9638
9639 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9640
9641         tests: work around a texi+cygnus bug causing a spurious XFAIL
9642         * tests/txinfo5b.test: New test, like txinfo5.test but calling
9643         automake with the `-Wno-override' option to work around a bug
9644         in the texinfo + cygnus interaction.
9645         * tests/txinfo5.test: Update heading comments.
9646         * tests/Makefile.am (TEST): Updated.
9647
9648 2011-01-09  Dave Hart  <davehart@gmail.com>  (tiny change)
9649
9650         Fix another typo in Rule.pm comment.
9651         * lib/Automake/Rule.pm: Fix typo.
9652
9653 2011-01-09  Peter Rosin  <peda@lysator.liu.se>
9654
9655         Fix another typo in Rule.pm comment.
9656         * lib/Automake/Rule.pm: Fix typo.
9657
9658 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9659
9660         tests: texinfo unrecognized extensions
9661         * tests/txinfo-unrecognized-extension.test: New test.
9662         * tests/Makefile.am (TESTS): Update.
9663
9664         Improve, extend and tweak tests on Texinfo support.
9665         * tests/instdir-texi.test: Add a call to `ls -l' after that to
9666         `make', for debugging.  When looking for required tools, do not
9667         redirect the output of "$tool --help" to /dev/null, and do not
9668         uselessly run it in a subshell.
9669         * tests/txinfo.test: Rewritten to run autoconf, ./configure and
9670         make.  All checks moved into Makefile.am.
9671         * tests/txinfo8.test: Likewise, and modernize the generated
9672         configure.in.
9673         * tests/txinfo2.test: Moved checks into Makefile.am, and other
9674         minor improvements.
9675         * tests/txinfo5.test: Enable `errexit' shell flag, and related
9676         changes.  Add trailing `:' command.
9677         * tests/txinfo6.test: Likewise, and make grepping of generated
9678         Makefile.in stricter.
9679         * tests/txinfo7.test: Enable `errexit' shell flag, and related
9680         changes.  Add trailing `:' command.  Do not add unnecessary stuff
9681         to Makefile.am.
9682         * tests/txinfo9.test: Verify that more targets which are expected
9683         to be generated only once really are.  Make grepping less strict,
9684         to avoid exposing too much internal details.  More minor changes.
9685         * tests/txinfo16.test: Add trailing `:'.  Prefer cat over echo
9686         for appending to configure.in.  Updated/fixed heading comments.
9687         * tests/txinfo23.test: Likewise, and extended a little by making
9688         it check that no info file is created in the $(srcdir).
9689         * tests/txinfo24.test: Likewise.
9690         * tests/txinfo25.test: Likewise.
9691         * tests/txinfo18.test: Add trailing `:'.  Prefer cat over echo
9692         for appending to configure.in.  Also, check that index files are
9693         cleaned also by "make clean", not only by "make distclean".
9694         * tests/txinfo22.test: Prefer `$me' over hard-coded test name,
9695         and added trailing `:' command.  This testcase also used to check
9696         that automake ignores in-line comments when using variables, but
9697         preserves them in the output; these checks (added in commit
9698         "Release-1-7f-4-g9177ef8") do not really pertain to this test,
9699         so they have been moved ...
9700         * tests/comments-in-var-defn.test: ... into this new test.
9701         * tests/txinfo4.test: Escape literal dots in grep regexps.  Add
9702         trailing `:' command.
9703         * tests/txinfo29.test: Likewise.  Relax grepping of generated
9704         Makefile.in w.r.t. whitespaces.  Prefer `cat' over `echo' to
9705         append to configure.in.
9706         * tests/txinfo3.test: Likewise.
9707         * tests/vtexi.test: Improve grepping of Makefile.in (sometimes
9708         make it stricter, sometimes laxer).  Move `set -e' setting just
9709         after the inclusion of ./defs.  De-uglify a sed command.  Other
9710         minor cosmetic improvements.
9711         * tests/vtexi2.test: Make grepping of Makefile.in stricter.  Add
9712         trailing `:' command.
9713         * tests/vtexi3.test: New test on version.texi support.
9714         * tests/vtexi4.test: Likewise.
9715         * tests/Makefile.am (TESTS): Updated.
9716
9717 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9718
9719         tests: fix spurious failure in 'tests/yflags-conditional.test'
9720         * tests/yflags-conditional.test: Filter out message "warnings are
9721         treated as errors" from automake stderr, to avoid a false positive
9722         when grepping for extraneous warning messages.
9723
9724 2011-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
9725
9726         yacc: warn about conditional content in *YFLAGS variables
9727         This change fixes automake bug#7804.
9728         * automake.in (lang_yacc_target_hook): Warn if any of the relevant
9729         *YFLAGS variables has conditional contents (not only a conditional
9730         definition).  Related refactoring.
9731         * NEWS: Updated.
9732         * tests/yflags-conditional.test: Updated and extended.
9733         * tests/yflags-conditional-force.test: New test.
9734         * tests/Makefile.am (TESTS): Updated.
9735
9736 2011-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
9737
9738         yacc: support variable expansions in *YFLAGS definition.
9739         This change fixes automake bug#7800.
9740         * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
9741         instead of 'variable_value' to get the value of *YFLAGS variables.
9742         Related changes.
9743         ($DASH_D_PATTERN): Removed.
9744         * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
9745         * tests/yacc-clean.test: Remove workaround for now-fixed bug.
9746         * NEWS: Update.
9747
9748 2011-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
9749
9750         yacc: more tests on *YFLAGS support
9751         * tests/yflags-var-expand.test: New test, still xfailing.  It
9752         exposes automake bug#7800 -- "automake fails to honor `-d' in
9753         AM_YFLAGS when variable expansions are involved".
9754         * tests/yflags-d-false-positive.test: New test, checking that
9755         automake do not spuriously see `-d' in *YFLAGS when that isn't
9756         really there.
9757         * tests/yflags-force-override.test: New test, checking that
9758         automake can cope with definition of the YFLAGS variable in
9759         Makefile.am (even if that is an extremely bad practice, as that
9760         variable is user-reserved).
9761         * tests/yflags-cmdline-override.test: New test, checking that
9762         automake can cope with user-redefinition of YFLAGS at configure
9763         time and/or at make time.
9764         * tests/yflags-conditional.test: New test, checks that automake
9765         warns on conditionally-defined *YFLAGS variables.
9766         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
9767
9768 2011-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
9769
9770         yacc: extend and improve tests
9771         * tests/yacc-basic.test: Also check that the intermediate C file
9772         is mentioned in the generated Makefile.in, and that it is created
9773         by the first make invocation.
9774         * tests/yacc3.test: Test removed, superseded by ...
9775         * tests/yacc-d-basic.test: ... this new test.
9776         * tests/yacc2.test: Add reference to that new test in the heading
9777         comments.
9778         * tests/yacc-d-vpath.test: New test.
9779         * tests/yaccvpath.test: Updated heading comments.  Do not require
9780         gcc anymore, as any working C compiler should be enough.  Remove
9781         redundant comments.
9782         * tests/yacc-nodist.test: New test.
9783         * tests/yacc-dist-nobuild.test: New test.
9784         * tests/Makefile.am (TESTS): Update.
9785
9786 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
9787
9788         Extend, fix and improve tests on Lex and Yacc support.
9789         * tests/lexcpp.test: New test script, on support for Lex + C++.
9790         * tests/lexvpath.test: New test script, test build and rebuild
9791         rules for lexers in VPATH setup.
9792         * tests/yacc-basic.test: New test script, run simple "semantic"
9793         checks on basic Yacc support (similarly to what lex3.test does
9794         for Lex support).
9795         * tests/lex.test: Don't create useless dummy source file joe.l.
9796         Remove extra blank lines.
9797         * tests/lex4.test: Add trailing `:' command.  Do not create dummy
9798         useless lex source file.
9799         * tests/lex2.test: Likewise.  Call automake with the `-a' option,
9800         so that it doesn't fail for the absence of `ylwrap' script.  Make
9801         grepping of automake stderr stricter.
9802         * tests/yacc7.test: Add trailing `:' command.  Enable `errexit'
9803         shell flag earlier (just after having sourced ./defs).
9804         * tests/yacc4.test: Likewise.  Also ...
9805         (configure.in): Use pre-populated skeleton set up by ./defs,
9806         instead of writing one from scratch.
9807         Other minor cosmetic changes.
9808         * tests/yacc5.test: Likewise.
9809         * tests/yaccvpath.test: Likewise. Also ...
9810         ($distdir): New variable.
9811         Use it throughout.
9812         * tests/lex5.test: Likewise.
9813         * tests/lex3.test: Likewise.  Check the distdir, rather than
9814         grepping the distribution tarball.  Extend the test on the
9815         created binary, and be sure to avoid hangs.  Add some comments.
9816         * tests/yacc.test: Use stricter grepping.  Add trailing `:'.
9817         * tests/yacc6.test: Likewise.
9818         * tests/yacc3.test: Likewise.  Do not create the unused file
9819         `Makefile.sed'.  Remove useless rules from Makefile.am.  Other
9820         minor cosmetic changes.
9821         * tests/yacc2.test: Make grepping of generated `Makefile.in' and
9822         of automake error messages stricter.  Do not redirect output of
9823         grep to /dev/null.  Move call to aclocal earlier.  Reduce the
9824         number of empty blank lines.  Fix a typo in comments.
9825         * tests/yacc8.test: Fixed bugs that reduced the completeness of
9826         the tests.  Added trailing `:' command.
9827         (configure.in): Use pre-populated skeleton set up by ./defs,
9828         instead of writing one from scratch.
9829         * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
9830         `.yxx', rather than only `.yy'.
9831         * tests/Makefile.am (TESTS): Update.
9832
9833 2011-01-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
9834
9835         cosmetics: remove trailing whitespaces
9836         * doc/automake.texi: Remove trailing whitespaces.
9837         * tests/cond13.test: Likewise.
9838         * tests/cond14.test: Likewise.
9839         * tests/fort4.test: Likewise.
9840         * tests/fort5.test: Likewise.
9841         * tests/libobj17.test: Likewise.
9842         * tests/suffix7.test: Likewise.
9843         * tests/vtexi2.test: Likewise.
9844
9845         automake: minor fixes in comments
9846         * automake.in: Some minor fixes and enhancements in comments.
9847
9848 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9849
9850         Add test coverage for deleted header files.
9851         * tests/depcomp6.test, tests/depcomp7.test: Update tests to
9852         also check for the deleted header bug.  If no dependency
9853         tracking mechanism could be found, SKIP rather than exit
9854         successfully.  Use GNU style spacing and ANSI C prototypes.
9855
9856         Fix typos in Rule.pm comments.
9857         * lib/Automake/Rule.pm: Fix typos in comments.
9858
9859         docs: split 'amhello Explained' node.
9860         * doc/automake.texi (amhello Explained): Split node ...
9861         (amhello's configure.ac Setup Explained)
9862         (amhello's Makefile.am Setup Explained) : ... into these two.
9863         (Top, Hello World): Adjust, and add @anchor for stable URL links.
9864         Suggestion by Karl Berry in automake bug#7766.
9865
9866 2011-01-08  Karl Berry  <karl@freefriends.org>
9867             Eric Blake  <eblake@redhat.com>
9868
9869         docs: reference defining directories in amhello node.
9870         * doc/automake.texi (amhello Explained): Point to Autoconf
9871         manual for how to convert directory values into macros.
9872         (Optional): Fix grammar nit.
9873
9874 2011-01-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9875
9876         yacc: "make clean" removes .c and .h files from non-distributed .y
9877         Previously, while automake did *not* distribute C source and header
9878         files derived from non-distributed Yacc sources, it still caused
9879         them to be removed only by "make maintainer-clean" only, and not by
9880         simply "make clean" or "make distclean".
9881         This caused "make distcheck" to fail, unless the developer put
9882         those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
9883         by hand.
9884         This change fixes this issue, by making non-distributed `.c' and
9885         `.h' files generated by non-distributed Yacc sources cleaned by
9886         "make clean".
9887         * tests/automake.in (lang_yacc_target_hook): Make C source and
9888         header files derived from non-distributed Yacc files cleaned by
9889         "make clean", not only by "make maintainer-clean".
9890         * tests/yacc-clean.test: New test.
9891         * tests/Makefile.am (TESTS): Update.
9892         * NEWS: Update.
9893
9894 2011-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
9895
9896         * NEWS: Fix typo (forgotten word).
9897
9898 2011-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
9899             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9900
9901         docs: how to work around checks on invalid primary/directory couples
9902         * doc/automake.texi (Uniform): Document the blessed idiom which can
9903         be used to work around automake checks on invalid primary/directory
9904         couples (such as `lib_PROGRAMS' or `doc_LIBRARIES').
9905
9906 2010-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
9907
9908         Tests: normalize use of the 'errexit' shell flag.
9909         * tests/maken3.test (check_targets): Remove redundant call to
9910         'set -e'.
9911         * tests/maken4.test: Likewise.
9912         * tests/ansi5.test: Call 'set -e' just after './defs' has been
9913         sourced.
9914         * tests/ansi6.test: Likewise.
9915         * tests/ansi7.test: Likewise.
9916         * tests/cond16.test: Likewise.
9917         * tests/cond17.test: Likewise.
9918         * tests/cond18.test: Likewise.
9919         * tests/cond19.test: Likewise.
9920         * tests/cond20.test: Likewise.
9921         * tests/cond21.test: Likewise.
9922         * tests/instdat2.test: Likewise.
9923         * tests/instdir-texi.test: Likewise.
9924         * tests/parallel-tests3.test: Likewise.
9925         * tests/remake1a.test: Likewise.
9926         * tests/ccnoco.test: Likewise, and add trailing `:' command.
9927         * tests/comment4.test: Likewise.
9928         * tests/gcj4.test: Likewise.
9929         * tests/nodist2.test: Likewise.
9930         * tests/nodist3.test: Enable 'errexit' shell flag (this should
9931         have been done in commit v1.11-248-g317e17b, but the relevant
9932         hunk has been forgotten somehow).
9933         * tests/output.test: Likewise.
9934         * tests/gnits2.test: Likewise, and display captured stderr to
9935         script's stderr, not to script's stdout.
9936         * tests/gnits3.test: Likewise.  Also, prefer 'cat' over 'echo'
9937         to append to Makefile.am, and really check that the exit status
9938         of "make installcheck" indicates failure.
9939
9940 2011-01-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9941
9942         Sync auxiliary files from upstream.
9943         * lib/config.guess, lib/config.sub, lib/texinfo.tex:
9944         Sync from upstream.
9945
9946         Avoid caching bug in cygnus mode test.
9947         * tests/cygnus-requires-maintainer-mode.test: Remove
9948         autom4te.cache directory before rerunning aclocal, to
9949         remove trace caches.
9950
9951         Fix maintainer-check regression.
9952         * tests/subobj11a.test: Pass DISTCHECK_CONFIGURE_FLAGS in the
9953         environment.
9954
9955         Bump copyright years.
9956         * aclocal.in (write_aclocal, version): Bump copyright years.
9957         * automake.in (gen_copyright, version): Likewise.
9958         * doc/automake.texi: Likewise.
9959
9960 2010-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
9961
9962         * NEWS: Add missing blank line between two entries.
9963
9964 2010-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
9965
9966         Improve and extend tests `suffix*.test'.
9967         * tests/suffix.test: Check that suffix rules for C compilation are
9968         only included once.  Try also with a static library.
9969         * tests/suffix2.test: Add a new grep to help potential debugging.
9970         Do not run automake with the `--add-missing' options, since we
9971         already create all the needed auxiliary files.  Try also *without*
9972         the `no-dependencies' automake option.
9973         * tests/suffix4.test: Make grepping of Makefile.in stricter.
9974         * tests/suffix3.test: Rewritten to run also autoconf, ./configure
9975         and make.
9976         * tests/suffix5.test: Likewise.
9977         * tests/suffix6.test: Fix botched recipe indentation (eight spaces
9978         were used instead of a tabulation character).  Extend to check
9979         that `.obj' is handled like `.$(OBJEXT)' (as is done for `.o').
9980         Improved parsing & grepping of generated Makefile.in.  Other minor
9981         fixes and improvements.
9982         * tests/suffix10.test: Move some checks in Makefile.am.  Also run
9983         "make all".
9984         * tests/suffix12.test: Likewise, and account for VPATH issues in
9985         weaker make implementations.
9986         * tests/suffix11.test: Likewise.  Also, run "make distcheck", for
9987         completeness, and related changes.
9988         * tests/suffix8.test: Likewise.  Also, do not put `gcc' anymore
9989         in $required.
9990         * tests/suffix13.test: Do not use the `--force-missing' automake
9991         option unnecessarily.
9992         * tests/suffix6b.test: New test, semantic sister of `suffix6.test'.
9993         * tests/suffix6c.test: Likewise.
9994         * tests/Makefile.am (TESTS): Updated.
9995
9996 2010-12-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9997             Stefano Lattarini  <stefano.lattarini@gmail.com>
9998
9999         Work around a bug in file-inclusion mechanism of Solaris make.
10000         * automake.in (handle_single_transform): In the name of the
10001         dependency file: collapse multiple slash characters into a single
10002         one.
10003         * tests/subobj11a.test: New test.
10004         * tests/subobj11b.test: Likewise.
10005         * tests/subobj11c.test: Likewise.
10006         * tests/depcomp8a.test: Likewise.
10007         * tests/depcomp8b.test: Likewise.
10008         * tests/Makefile.am (TESTS): Updated.
10009         * NEWS: Updated.
10010         Report by Stefano Lattarini, quick fix by Ralf Wildenhues, final
10011         patch and tests by Stefano Lattarini.
10012
10013 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
10014
10015         Fix two spurious testsuite failures on IRIX 6.5.
10016         * tests/suffix13.test (Makefile.am): Account for VPATH issues on
10017         weaker make implementations (e.g. IRIX 6.5).
10018         * tests/parallel-tests8.test: Likewise, plus a required related
10019         change.
10020         Reported by Ralf Wildenhues.  The bugs have been there from the
10021         first versions of the affected test scripts.
10022
10023 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
10024
10025         docs: cygnus mode doesn't require AM_CYGWIN32 macro.
10026         * doc/automake.texi (Cygnus): Mode 'cygnus' does not require
10027         the AM_CYGWIN32 macro (and indeed hasn't required it since at
10028         least commit Release-1-2-31-g3038064 "merged changes from
10029         Cygnus" of 1997-08-25).
10030
10031 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
10032
10033         Add some tests on 'cygnus' mode.
10034         * tests/clean2.test: Extend.
10035         * tests/cygnus-check-without-all.test: New test.
10036         * tests/cygnus-dependency-tracking.test: Likewise.
10037         * tests/cygnus-distclean.test: Likewise.
10038         * tests/cygnus-imply-foreign.test: Likewise.
10039         * tests/cygnus-no-dist.test: Likewise.
10040         * tests/cygnus-no-installinfo.test: Likewise.
10041         * tests/cygnus-requires-maintainer-mode.test: Likewise.
10042         * tests/Makefile.am (TESTS): Update.
10043
10044 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
10045
10046         Fix parallel testsuite run with Zsh.
10047         This change deals with a Zsh incompatibility in the handling
10048         of the special shell variable `$0' in sourced files; this
10049         incompatibility used to cause utter breakage when the
10050         Automake testsuite was run in parallel mode with Zsh as
10051         the $(TEST_LOG_COMPILER).
10052         For more information, please refer to the thread "Fix parallel
10053         testsuite run with zsh" on automake-patches, dated 2010-12-22:
10054          <http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00135.html>
10055         This change works around the problems described above for Zsh 4.3
10056         or later, and offers better error messages (instead of random
10057         failures) for earlier Zsh version.
10058         * tests/README (Supported shells): When describing the manual
10059         workaround about the Zsh incompatibility in the handling of `$0',
10060         tell that it is now needed only with Zsh versions preceding 4.3.
10061         Done also some minor rewordings.
10062         * tests/defs-static.in ($argv0): New variable, offers a workaround
10063         for the Zsh incompatibility in the handling of `$0'.
10064         Abort if that variable cannot be correctly set (can happen only
10065         in older Zsh version).
10066         * tests/defs ($me): Define using `$argv0', not `$0'.
10067
10068 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
10069
10070         Tests defs: keep track of original $AUTOMAKE and $ACLOCAL values.
10071         This is especially useful for tests which might want to run
10072         automake and aclocal without additional flags and warnings.
10073         * tests/defs-static.in ($original_ACLOCAL): New variable.
10074         ($original_AUTOMAKE): Likewise.
10075         * tests/help.test: Use them.
10076         * tests/help2.test: Likewise.
10077         * tests/help3.test: Likewise.
10078         * tests/help4.test: Likewise.
10079         From a suggestion by Ralf Wildenhues.
10080
10081 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
10082
10083         distlinksbrk.test: Work around botched "make -k".
10084         * tests/distlinksbrk.test: Run "make" multiple times and grep
10085         its output each time for a single error message, rather than
10086         running "make -k" one single time and grepping its output for
10087         all the expected error messages.  This should work around make
10088         implementations with limited (broken?) `-k' support; for more
10089         information, see these subthreads on the automake-patches list:
10090           - 2010-11-15, "Testsuite failures on HP-UX 11.23",
10091             <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00162.html>
10092           - 2010-11-15, "Testsuite failures on IRIX 6.5",
10093             <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00166.html>
10094
10095 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
10096
10097         Minor improvements to test 'amopts.test'.
10098         * tests/amopts.test: Remove botched comment.  Make grepping of
10099         automake stderr slighty stricter.  Add trailing `:' command.
10100
10101 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
10102
10103         backcompat6.test: avoid comments inside recipe commands.
10104         * tests/backcompat6.test: Remove shell comments from makefile rule
10105         commands, as they are not portable to (at least) Tru64 make.
10106
10107 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
10108
10109         man8.test: avoid comments inside recipe commands.
10110         * tests/man8.test: Remove shell comments from makefile rule
10111         commands, as they are not portable to (at least) Tru64 make.
10112
10113 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
10114
10115         Fix sed-related buglet in test "subdir5.test"
10116         * tests/subdir5.test: Always terminate text passed to the
10117         `i' sed command with a newline, to work around limitations
10118         in e.g. older OpenBSD sed.
10119
10120 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
10121
10122         Fix spurious failures in tests on AC_CONFIG_AUX_DIR.
10123         * tests/auxdir7.test: Do not try to needlessly overwrite the files
10124         `install-sh' and `missing'.  This avoid spurious failures in "make
10125         distcheck", when those files might be copied as read-only from the
10126         `lib' directory.
10127         * tests/auxdir8.test: Likewise.
10128
10129 2010-12-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
10130
10131         Make test 'posixsubst-script' portable to MinGW/MSYS.
10132         * tests/posixsubst-script.test: Ensure that the generated dummy
10133         scripts really start with a shebang line, to work around a
10134         limitation of 'test -x' on MinGW/MSYS.
10135         Reported by Ralf Wildenhues.
10136
10137         Improve comments in tests `posixsubst*.test'.
10138         * tests/posixsubst-data.test: Improve comment explaining why we
10139         try also empty match suffix.
10140         * tests/posixsubst-extradist.test: Likewise.
10141         * tests/posixsubst-ldadd.test: Likewise.
10142         * tests/posixsubst-libraries.test: Likewise.
10143         * tests/posixsubst-ltlibraries.test: Likewise.
10144         * tests/posixsubst-programs.test: Likewise.
10145         * tests/posixsubst-scripts.test: Likewise.
10146         * tests/posixsubst-sources.test: Likewise.
10147         * tests/posixsubst-tests.test: Likewise.
10148         Suggested by Ralf Wildenhues.
10149
10150 2010-12-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
10151
10152         docs: fix blunder in example about python extension modules
10153         * doc/automake.texi (Python): Use `quaternion_la_SOURCES',
10154         not `quaternion_SOURCES', to declare the sources of python
10155         extension module `quaternion.la'.
10156
10157 2010-12-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
10158
10159         docs: list LTLIBRARIES among Automake primaries
10160         * doc/automake.texi (Uniform): List `LTLIBRARIES' among
10161         the Automake primaries.
10162
10163 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
10164             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10165
10166         Tests defs: requirement 'xsi-shell' must be synced with libtool.
10167         * tests/defs (xsi-shell): Add comment telling to keep the
10168         XSI-conformance checks in sync with libtool.
10169
10170 2010-12-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
10171
10172         Minor cleanups in canon7.test.
10173         * tests/canon7.test (_foo_bar_SOURCES): Remove libs.c.
10174         (configure.in): Remove AC_PROG_CXX.
10175
10176 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10177
10178         Avoid false positive in sc_tests_plain_make maintainer-check.
10179         * Makefile.am (sc_tests_plain_make): Ensure to only match full
10180         `make' words.  Avoid false positive with remake11.test.
10181
10182 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10183
10184         Fix canon7.test failure.
10185         * tests/canon7.test (_foo_bar_SOURCES): Add foobar.c.
10186         (lib.h, libd.c, libs.c): Use const for constant strings.
10187
10188 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10189
10190         Fix typos in test comments.
10191         * tests/posixsubst-data.test, tests/posixsubst-extradist.test,
10192         tests/posixsubst-ldadd.test, tests/posixsubst-libraries.test,
10193         tests/posixsubst-ltlibraries.test, tests/posixsubst-programs.test,
10194         tests/posixsubst-scripts.test, tests/posixsubst-sources.test,
10195         tests/posixsubst-tests.test: Fix typos.
10196
10197 2010-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
10198
10199         More uses of AS_HELP_STRING in automake macros.
10200         * m4/depend.m4 (AM_DEP_TRACK): Use `AS_HELP_STRING' to format
10201         the help message added to the generated configure.
10202         * m4/dmalloc.m4 (AM_WITH_DMALLOC): Likewise.
10203         * m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
10204         * m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
10205         * m4/multi.m4 (AM_ENABLE_MULTILIB): Likewise.
10206         Also, bumped all serial numbers of the modified m4 files.
10207
10208 2010-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
10209
10210         Improve tests on generated portions of configure help screen.
10211         * tests/help-depend.test: Grepping of configure help screen
10212         relaxed to cater for possible line wrapping, and tightened in
10213         other respects.
10214         * tests/help-depend2.test: Likewise.
10215         * tests/help-dmalloc.test: Likewise.
10216         * tests/help-lispdir.test: Likewise.
10217         * tests/help-maintainer.test: Likewise.
10218         * tests/help-multilib.test: Likewise.
10219         * tests/help-silent.test: Likewise.
10220         * tests/help-upc.test: Likewise.
10221         * tests/help-init.test: Grepping of configure help screen
10222         tightened.
10223
10224 2010-12-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
10225
10226         Extended tests on AC_CONFIG_AUX_DIR.
10227         * tests/auxdir.test: Enable `errexit' shell flag.  Prefer `$me'
10228         over hard-coded test name.  Use proper m4 quoting.  Add trailing
10229         `:' command.
10230         * tests/auxdir2.test: Likewise.  Try to call automake also with
10231         the `-a' option, so that it will not fail for spurious reasons.
10232         * tests/auxdir3.test: Add an explanatory comment and a trailing
10233         `:' command.
10234         * tests/auxdir4.test: Prefer `$me' over hard-coded test name.
10235         Make grepping of automake stderr slightly stricter.  Also, now
10236         this test just checks about Automake's reaction to unportable
10237         auxiliary directory names (and it has been extended in this
10238         respect).  Moved the checks about non-existent auxiliary
10239         directories to ...
10240         * tests/auxdir5.test: ... this new test.
10241         * tests/auxdir6.test: New test.
10242         * tests/auxdir7.test: Likewise.
10243         * tests/auxdir8.test: Likewise.
10244         * tests/auxdir9.test: Likewise.
10245         * tests/Makefile.am (TESTS): Updated.
10246
10247 2010-12-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
10248
10249         Tests: extend checks on remake rules.
10250         This adds proper semantical tests (i.e. run make to check the
10251         rebuild rules are correctly triggered) in addition to tentative
10252         grepping of the generated Makefile.in(s).
10253         * tests/remake.test: Enable `errexit' shell flag, and related
10254         changes.  Modernize `configure.in'.  Add trailing `:' command.
10255         Improve heading comments, and add a reference to new sister test
10256         remake1a.test.
10257         * tests/remake3.test: Likewise (but with sister test being
10258         remake3a.test).
10259         * tests/remake2.test: Improve heading comments.  Enable `errexit'
10260         shell flag, and related changes.  Modernize `configure.in'.  Make
10261         grepping of `Makefile.in' slightly stricter.  Add trailing `:'
10262         command.
10263         * tests/remake5.test: Also run the `distcheck' target.  Add
10264         trailing `:' command.  Use proper m4 quoting in configure.in.
10265         * tests/remake4.test: Prefer `$me' over hard-coded test name.
10266         * tests/remake7.test: Use the `configure.in' stub created by
10267         ./defs, rather than writing it from scratch.
10268         * tests/remake6.test: Likewise.  Also, add trailing `:' command,
10269         and ensure verbose printing of captured make output.
10270         * tests/remake1a.test: New test, sister of remake.test.
10271         * tests/remake3a.test: New test, sister of remake3.test.
10272         * tests/remake8a.test: New test.
10273         * tests/remake8b.test: Likewise.
10274         * tests/remake9a.test: Likewise.
10275         * tests/remake9b.test: Likewise.
10276         * tests/remake9c.test: Likewise.
10277         * tests/remake9d.test: Likewise.
10278         * tests/remake10a.test: Likewise.
10279         * tests/remake10b.test: Likewise.
10280         * tests/remake10c.test: Likewise.
10281         * tests/remake11.test: Likewise.
10282         * tests/remake12.test: Likewise.
10283         * tests/Makefile.am (TESTS): Updated.
10284
10285 2010-12-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
10286
10287         Improve and extend tests on canonicalization.
10288         * tests/canon-name.test: Add trailing `:' command.  When writing
10289         configure.in, prefer to use $me instead of hard-coding the test
10290         name.
10291         * tests/canon3.test: Prefer trailing `:' over trailing `Exit 0'.
10292         * tests/canon4.test: Likewise.  Make grepping of Makefile.in
10293         stricter.  Improve heading comment, and add reference to ...
10294         * tests/canon6.test: ... this new test (sister test of the
10295         previous one).
10296         * tests/canon.test: Prefer cat + here-doc over echo to append
10297         text to configure.in.  Extend grepping of Automake stderr.  Add
10298         trailing `:' command.
10299         * tests/canon5.test: Likewise.
10300         * tests/canon7.test: New file, stress test on canonicalization.
10301         * tests/canon8.test: New test, for better coverage (check that
10302         the `@' character is not transliterated in canonicalizations).
10303         * tests/Makefile.am: Updated.
10304
10305 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
10306
10307         Libobj tests: refer to automake bug tracker for limitations.
10308         * tests/libobj15b.test (configure.in): In the comment explaining
10309         why an apparently redundant AC_OUTPUT is indeed needed, refer
10310         to the relevant entry in the Automake bug tracker rather than
10311         describing the bug in detail with a FIXME-style comment.
10312         * tests/libobj15c.test: Likewise.
10313         * tests/libobj20b.test: Likewise.
10314
10315         Libobj tests: do not use `##' automake comments in-line.
10316         * tests/libobj19.test (Makefile.am): Do not use inline `##'
10317         comments in the definition of AUTOMAKE_OPTIONS.
10318         * tests/libobj20c.test: Likewise.
10319         Report by Ralf Wildenhues.
10320
10321 2010-12-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
10322
10323         Tests defs: more uses of $top_testsrcdir.
10324         * tests/compile6.test: Use `$top_testsrcdir' instead of
10325         `$testsrcdir/..'.
10326
10327 2010-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
10328
10329         Tests required tools: also try `-v' option for GNU compilers.
10330         * tests/defs.in: In the loop on "$required" tools, for gcc
10331         and g++, also run "gcc -v" (resp. "g++ -v"), to get more
10332         information, and for consistency with gcj.
10333
10334 2010-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
10335             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10336
10337         Tests defs: avoid some useless subshells.
10338         * tests/defs: In the loop on "$required" tools: avoid subshells
10339         where not needed.
10340
10341 2010-12-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
10342
10343         Extend tests on AC_LIBOBJ and friends.
10344         * tests/aclibobj.test: Removed, superseded by ...
10345         * tests/libobj-basic.test: ... this new test, which runs autoconf,
10346         ./configure and make, to ensure everything really works.
10347         * tests/libobj3.test: Add trailing `:' command.  Escape literal
10348         dot in grep regexp.
10349         * tests/libobj4.test: Enable `errexit' shell flag, and related
10350         changes.  Add trailing `:' command.  Use proper m4 quoting.
10351         * tests/ltlibobjs.test: Likewise.
10352         * tests/libobj5.test: Enable `errexit' shell flag, and related
10353         changes.  Add trailing `:' command.  Make more robust by using
10354         longer filenames to be grepped.
10355         * tests/libobj8.test: Enable `errexit' shell flag, and related
10356         changes.  Add trailing `:' command.  Use the configure.in
10357         stub provided by ./defs, rather than writing it from scratch.
10358         * tests/libobj2.test: Likewise.  Also, add calls to autoconf,
10359         ./configure and make, to ensure everything really works.
10360         * tests/libobj7.test: Likewise, and ensure that at least one
10361         function listed in AC_REPLACE_FUNCTIONS is truly replaced.
10362         * tests/libobj13.test: Make grepping of Automake stderr slightly
10363         stricter.  Add trailing `:' command.
10364         * tests/libobj12.test: Likewise.  Also, prefer "cat + here-doc"
10365         over "echo" to append to Makefile.am, and some cosmetic changes
10366         in spacing.
10367         * tests/libobj14.test: Call `Exit 1' if sourcing of ./defs fails.
10368         Slighty improve m4 quoting.  Add trailing `:' command.
10369         * tests/libobj10.test: Add calls to autoconf, ./configure and
10370         make, to ensure everything really works.  Also, remove tests that
10371         nonexistent source for AC_LIBOBJ cause an Automake failure: this
10372         is already checked by ...
10373         * tests/libobj15a.test: ... this new test.
10374         * tests/libobj15b.test: New test, sister test of libobj15a.test,
10375         checks AC_LIBSOURCE instead of AC_LIBOBJ.
10376         * tests/libobj15c.test: New test, sister test of libobj15a.test,
10377         checks AC_LIBSOURCES instead of AC_LIBOBJ.
10378         * tests/libobj11.test: Removed, superseded by ...
10379         * tests/libobj16a.test: ... this new test.
10380         * tests/libobj16b.test: New test, sister test of libobj16a.test,
10381         but using oldish/deprecated idioms.
10382         * tests/libobj17.test: New test.
10383         * tests/libobj18.test: Likewise.
10384         * tests/libobj19.test: Likewise.
10385         * tests/libobj20a.test: Likewise.
10386         * tests/libobj20b.test: Likewise.
10387         * tests/libobj20c.test: Likewise.
10388         * tests/Makefile.am (TESTS): Updated.
10389
10390 2010-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
10391
10392         Test `$(var:suf=rpl)' expansion in special automake variables.
10393         * tests/posixsubst-data.test: New test.
10394         * tests/posixsubst-extradist.test: Likewise.
10395         * tests/posixsubst-ldadd.test: Likewise.
10396         * tests/posixsubst-libraries.test: Likewise.
10397         * tests/posixsubst-ltlibraries.test: Likewise.
10398         * tests/posixsubst-programs.test: Likewise.
10399         * tests/posixsubst-scripts.test: Likewise.
10400         * tests/posixsubst-sources.test: Likewise.
10401         * tests/posixsubst-tests.test: Likewise.
10402         * tests/Makefile.am (TESTS): Update.
10403
10404 2010-12-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
10405
10406         Make tests `colon*.test' more "semantic".
10407         Prefer running configure and make over grepping the generated
10408         files; this is both more correct and less fragile.
10409         * tests/colon.test: Made more "semantic", as described above.
10410         * tests/colon5.test: Likewise.
10411         * tests/colon6.test: Likewise.
10412         * tests/colon7.test: Likewise.
10413         * tests/colon2.test: Likewise, and improve syncing with sister
10414         test `colon3.test'.
10415         * tests/colon3.test: Likewise (but with the sister test being
10416         `colon2.test' here).
10417
10418 2010-12-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10419
10420         Avoid running installed automake from 'libtool --help'.
10421         * tests/subobj9.test: Export AUTOCONF and AUTOMAKE.
10422         Together with fixed Libtool, this fixes check-coverage to not
10423         invoke installed automake.
10424
10425 2010-12-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
10426
10427         Separate checks on target overriding into multiple test scripts.
10428         * tests/overrid.test: Deleted, its contents separated into ...
10429         * tests/override-suggest-local.test: ... this new test ...
10430         * tests/override-html.test: ... and this new test ...
10431         * tests/override-conditional-1.test: ... and this new test ...
10432         * tests/override-conditional-2.test: ... and this new test (still
10433         xfailing).
10434         * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
10435
10436         Enable `set -e' in more tests (plus some tweakings).
10437         * tests/implicit.test: Enable `errexit' shell flag, and related
10438         changes.  Add trailing `:' command.
10439         * tests/insh2.test: Likewise.
10440         * tests/instman2.test: Likewise.
10441         * tests/interp.test: Likewise.
10442         * tests/interp2.test: Likewise.
10443         * tests/library.test: Likewise.
10444         * tests/mclean.test: Likewise.
10445         * tests/info.test: Enable `errexit' shell flag, and related
10446         changes.  Add trailing `:' command.  Remove useless chaff from
10447         generated Makefile.am.  Add a "FIXME" comment.
10448         * tests/include.test: Enable `errexit' shell flag, and related
10449         changes.  Add trailing `:' command.  Prefer cat + here-doc over
10450         echo to append to configure.in.  Make tests more robust by using
10451         longer and less common names to grep.  Remove an useless call to
10452         echo.  Remove an useless subshell.
10453         * tests/header.test: Enable `errexit' shell flag, and related
10454         changes.  Use proper m4 quoting.  Add excerpts from the original
10455         report of the bug tested for by this script.
10456         * tests/gcj.test: Enable `errexit' shell flag, and related
10457         changes.  Use proper m4 quoting.  Add trailing `:' command.
10458         * tests/gcj3.test: Likewise.
10459         * tests/ldflags.test: Likewise.
10460         * tests/libtool.test: Likewise.
10461         * tests/listval.test: Likewise.
10462         * tests/javaprim.test: Likewise, and prefer cat + here-doc over
10463         echo to append to configure.in.
10464         * tests/javasubst.test: Likewise.
10465         * tests/discorver.test: Enable `errexit' shell flag.  Prefer
10466         trailing `:' over trailing `Exit 0'.
10467         * tests/instdat.test: Enable `errexit' shell flag, and related
10468         changes.  Use proper m4 quoting.  Avoid useless subshell.  Prefer
10469         cat + here-doc over echo to append to configure.in.
10470         * tests/libtool2.test: Enable `errexit' shell flag, and related
10471         changes.  Add trailing `:' command.  Use the configure.in
10472         stub provided by ./defs, rather than writing it from scratch.
10473
10474         Modernize, improve and/or tweak some test scripts.
10475         * tests/maintclean.test: Use proper m4 quoting.  Add trailing `:'
10476         command.
10477         * tests/sinclude.test: Likewise, and add a couple of blank lines,
10478         for clarity.
10479         * tests/make.test: Move setting of `errexit' shell flag earlier in
10480         the script (just after inclusion of ./defs).  Use the configure.in
10481         stub created by ./defs, rather than writing it from scratch.  Some
10482         cosmetic changes in spacing.  Ensure we wait enough time before
10483         touching configure.in to trigger the rebuild rules.
10484         * tests/makej.test: Use `$me' instead of hard-coding the test
10485         name.  Add trailing `:' command.
10486         * tests/version7.test: Likewise.
10487         * tests/space.test: Enable `errexit' shell flag, and related
10488         changes.
10489         * tests/makevars.test: Likewise.  Also, prefer trailing `:' over
10490         trailing `Exit 0', and be more tolerant of white spaces when
10491         grepping Makefile.in.
10492
10493 2010-12-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
10494
10495         * tests/silent8.test: Use "|| Exit 1" after ". ./defs".
10496
10497         Enable `set -e' in more tests (plus some tweakings).
10498         * tests/mkinstall.test: Enable `errexit' shell flag, and related
10499         changes.  Add a trailing `:' command, if needed.
10500         * tests/mdate2.test: Likewise.
10501         * tests/objc.test: Likewise.
10502         * tests/noinst.test: Likewise.
10503         * tests/outdir.test: Likewise.
10504         * tests/number.test: Likewise.
10505         * tests/pluseq.test: Likewise.
10506         * tests/req.test: Likewise.
10507         * tests/rulepat.test: Likewise.
10508         * tests/specflg6.test: Likewise.
10509         * tests/spell3.test: Likewise.
10510         * tests/parse.test: Likewise, and ...
10511         (configure.in): Use the stub created by ./defs, rather than
10512         writing it from scratch.  Remove useless calls to AC_PROG_RANLIB
10513         and AC_OUTPUT.
10514         * tests/mdate4.test: Likewise.
10515         * tests/mkinstall.test: Likewise, and ...
10516         (configure.in): ... drop useless call to `AC_OUTPUT'.
10517         * tests/output.test: Enable `errexit' shell flag, and related
10518         changes.  Add a trailing `:' command.
10519         (configure.in): Modernize.
10520         * tests/output2.test: Likewise.
10521         * tests/output3.test: Likewise.
10522         * tests/output4.test: Likewise.
10523         * tests/mdate3.test: Enable `errexit' shell flag, and related
10524         changes.  Prefer `$me' over hard-coded test name.  Do not move
10525         non-existent or useless files in the build auxiliary directory.
10526         * tests/nodistdir.test: Enable `errexit' shell flag, and related
10527         changes.  Prefer trailing `:' over trailing `Exit 0'.
10528         * tests/nodist.test: Likewise.  Also, prefer cat + here-doc over
10529         echo to create input test files, and do not create useless dummy
10530         C source files.
10531         * tests/nodist2.test: Likewise.
10532         * tests/ppf77.test: Enable `errexit' shell flag, with related
10533         changes.  Add a trailing `:' command.  Do not create useless
10534         dummy source files.
10535         * tests/spelling.test: Enable `errexit' shell flag, with related
10536         changes.  Add a trailing `:' command.  Also, grep Automake error
10537         message.
10538         * tests/specflg3.test: Enable `errexit' shell flag, with related
10539         changes.  Avoid unportable use of `-e' option of fgrep.  Prefer
10540         trailing `:' over trailing `Exit 0'.  Remove extra empty lines,
10541         and cosmetic changes to whitespaces.
10542         * tests/obsolete.test: Enable `errexit' shell flag, with related
10543         changes.  Improve verbosity.  Other miscellaneous changes.
10544
10545 2010-11-30  Stefano Lattarini  <stefano.lattarini@gmail.com>
10546
10547         Improve and extend tests on `:=' variable assignments.
10548         * tests/colneq.test: Avoid redundant use of variable assignments
10549         in Makefile.am.  Use command-line automake options instead of
10550         editing AUTOMAKE_OPTIONS in Makefile.am.  Make grepping of the
10551         generated Makefile.in slightly stricter.  Add a trailing `:'
10552         command.
10553         * tests/colneq2.test: Do not create unneeded dummy files.  Run
10554         also autoconf, ./configure and make.  Add trailing `:' command.
10555         * tests/colneq3.test: New test, similar to colneq.test, but
10556         running also autoconf, ./configure and make.
10557         * tests/Makefile.am (TESTS): Update.
10558
10559 2010-11-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
10560
10561         Remove long-deprecated options --Werror and --Wno-error.
10562         These options has been deprecated at least since commit
10563         "Release-1-6-1b-35-gc037f20", dated 2002-07-06.
10564         * automake.in (parse_arguments): Do not recognize anymore options
10565         `--Werror' and `--Wno-error' as synonyms of respectively `-Werror'
10566         and `-Wno-error'.
10567         * tests/werror.test: Update: use `-Werror' instead of `--Werror'.
10568         * NEWS: Update.
10569
10570 2010-11-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
10571
10572         Fix spurious failures in `silent*.test' for $CC != gcc
10573         In some tests on automake-produced silent rules, we forced the
10574         use of gcc depmode to improve testsuite coverage; but this has
10575         unsurprisingly led to spurious failures when some non-GNU C
10576         compilers were used.  So we are now careful to require GCC in
10577         tests that force gcc depmode.
10578         From reports by Ralf Wildenhues.
10579         * tests/silent5.test: Test removed, its content split into ...
10580         * tests/silent-many-generic.test, tests/silent-many-gcc.test: ...
10581         these new sister tests, the latter of which forces gcc depmode
10582         and lists "gcc" in $required.
10583         * tests/silentlex.test: Test removed, its content split into ...
10584         * tests/silent-lex-generic.test, tests/silent-lex-gcc.test: ...
10585         these new sister tests, the latter of which forces gcc depmode
10586         and lists "gcc" in $required.
10587         * tests/silentyacc.test: Test removed, its content split into ...
10588         * tests/silent-yacc-generic.test, tests/silent-yacc-gcc.test: ...
10589         these new sister tests, the latter of which forces gcc depmode and
10590         lists "gcc" in $required.
10591         * tests/Makefile.am (TESTS): Updated.
10592
10593 2010-11-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
10594
10595         Tests: consistently use "|| Exit 1" after ". ./defs".
10596         * tests/autohdr.test: Use `. ./defs || Exit 1', not bare
10597         `. ./defs', for consistency with other tests.
10598         * tests/autohdr2.test: Likewise.
10599         * tests/autohdr3.test: Likewise.
10600         * tests/autohdr4.test: Likewise.
10601         * tests/cond23.test: Likewise.
10602         * tests/cond24.test: Likewise.
10603         * tests/cond25.test: Likewise.
10604         * tests/cond26.test: Likewise.
10605         * tests/cond27.test: Likewise.
10606         * tests/cond28.test: Likewise.
10607         * tests/cond29.test: Likewise.
10608         * tests/cond30.test: Likewise.
10609         * tests/cond31.test: Likewise.
10610         * tests/cond32.test: Likewise.
10611         * tests/cond33.test: Likewise.
10612         * tests/cond34.test: Likewise.
10613         * tests/cond35.test: Likewise.
10614         * tests/cond36.test: Likewise.
10615         * tests/cond37.test: Likewise.
10616         * tests/cond38.test: Likewise.
10617         * tests/cond39.test: Likewise.
10618         * tests/cond40.test: Likewise.
10619         * tests/cond41.test: Likewise.
10620         * tests/cond42.test: Likewise.
10621         * tests/cond43.test: Likewise.
10622         * tests/cond44.test: Likewise.
10623         * tests/cond45.test: Likewise.
10624         * tests/dollarvar.test: Likewise.
10625         * tests/dollarvar2.test: Likewise.
10626         * tests/hfs.test: Likewise.
10627         * tests/libobj14.test: Likewise.
10628         * tests/percent.test: Likewise.
10629         * tests/percent2.test: Likewise.
10630         * tests/phony.test: Likewise.
10631         * tests/silent.test: Likewise.
10632         * tests/silent2.test: Likewise.
10633         * tests/silent3.test: Likewise.
10634         * tests/silent4.test: Likewise.
10635         * tests/silent5.test: Likewise.
10636         * tests/silent6.test: Likewise.
10637         * tests/silent7.test: Likewise.
10638         * tests/silent9.test: Likewise.
10639         * tests/silentcxx.test: Likewise.
10640         * tests/silentf77.test: Likewise.
10641         * tests/silentf90.test: Likewise.
10642         * tests/silentlex.test: Likewise.
10643         * tests/silentyacc.test: Likewise.
10644
10645         Avoid useless cleaning in some `silent*.test' tests.
10646         * tests/silentf77.test: Removed useless calls to "make clean"
10647         and "make maintainer-clean".
10648         * tests/silentf90.test: Likewise.
10649         * tests/silent3.test: Removed useless call to "make distclean".
10650         * tests/silent4.test: Likewise.
10651         * tests/silent9.test: Likewise.
10652
10653 2010-11-19  Ian Lance Taylor  <iant@google.com>
10654
10655         Sync config-ml.in from GCC.
10656         * config-ml.in: Add Go support: treat GOC and GOCFLAGS like other
10657         compiler/flag environment variables.
10658
10659 2010-11-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
10660
10661         release-stats: account for more generated tests.
10662         * Makefile.am (release-stats): Be sure to take into account all
10663         the generated tests, by grepping the test scripts to decide which
10664         ones of them are automatically generated.
10665
10666 2010-11-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
10667
10668         Code cleanup after removal of option `--output-directory'.
10669         * automake.in ($output_directory): Remove, it's unconditionally
10670         defined to `.' and used only ...
10671         (generate_makefile): ... in this subroutine, which now has been
10672         edited and simplified accordingly.
10673
10674         Remove obsolete automake option `--output-directory'.
10675         This option has been deprecated since version 1.7 (2002/2003).
10676         * automake.in ($output_directory): Define to `.' unconditionally.
10677         (parse_arguments): Remove handling of equivalent options `-o' and
10678         `--output-directory'.
10679         * tests/outdir.test: Removed.
10680         * tests/no-outdir-option.test: New test.
10681         * tests/Makefile.am (TESTS): Updated.
10682         * NEWS: Updated.
10683
10684 2010-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
10685
10686         Automake::Config: remove extra trailing semicolon.
10687         * lib/Automake/Config.in: Remove extra trailing semicolon.
10688
10689         help4.test: fix botched heading comment.
10690         * tests/help4.test: Fixed the heading comment, since it
10691         didn't correctly describe what checks the testcase was
10692         supposed to perform.
10693
10694         help2.test: add checks on aclocal too.
10695         * tests/help2.test: Check that also `aclocal --version' and
10696         `aclocal --help' work with configure.in and acinclude.m4 both
10697         broken.
10698
10699 2010-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
10700
10701         New test on repeated automake options.
10702         * tests/repeated-options.test: New test, check that automake
10703         does not complain on repeated options, nor generate broken or
10704         incorrect makefiles.
10705         * tests/Makefile.am (TESTS): Updated.
10706
10707 2010-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
10708
10709         Fix spurious failures of silent-rules tests with Sun Fortran.
10710         * tests/silentf77.test: Strip from the make output some verbose
10711         messages possibly printed by the SunStudio fortran compilers, to
10712         avoid spurious failures.  Add a trailing `:' command.
10713         * tests/silentf90.test: Likewise.
10714
10715 2010-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
10716
10717         Fix spurious failures of silent5.test with Sun Fortran.
10718         * tests/silent5.test: Strip from the make output some verbose
10719         messages possibly printed by the SunStudio fortran compilers,
10720         to avoid spurious failures.  This bug has been there from the
10721         very first version of this test script.
10722
10723 2010-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
10724
10725         Fix regression in colon{5,6}.test (failures on AIX 5.3).
10726         * tests/colon5.test: Also substitute `@SHELL@' with `$SHELL' when
10727         post-processing the generated Makefile.in, to work around a bug
10728         of AIX 5.3 make which doesn't allow setting the `$(SHELL)' macro
10729         on the commend line.  Calls to `$MAKE' adjusted accordingly.
10730         * tests/colon6.test: Likewise.
10731         Regression introduced in commit v1.11-175-gf9fe878 "Modernize,
10732         improve and/or extend tests `colon*.test", and reported by Ralf
10733         Wildenhues.
10734
10735 2010-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
10736
10737         Fix regression in ansi.test (failure on AIX 5.3).
10738         * tests/ansi.test: Remove redundant hackish check done using a
10739         hand-postprocessed Makefile.in.  This check worked by setting
10740         the `$(SHELL)' macro on the command line of make, but this is
10741         not supported by the AIX 5.3 make implementation.
10742         This bug has been lurking for a long time, and was activated by
10743         commit v1.11-125-gc1f6cdb "Enable `errexit' shell flag in various
10744         tests".  Report by Ralf Wildenhues.
10745
10746 2010-11-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10747
10748         backcompat5.test: avoid '##'-style comments inside recipe commands.
10749         * tests/backcompat5.test: Remove double-hash comments
10750         from makefile rule commands, they are not part of the
10751         Automake API.  Fixes testsuite failure with Tru64 make.
10752
10753         tests: avoid '##'-style comments inside recipe commands.
10754         * tests/confh.test, tests/confh8.test: Remove
10755         double-hash comments from makefile rule commands, they
10756         are not part of the Automake API.
10757
10758 2010-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10759
10760         tests: work around dash quoting issue in case statements.
10761         * tests/color.test, tests/color2.test: Quote variable in case
10762         pattern, to avoid skipping tests with dash 0.5.5.1.
10763
10764 2010-11-16  Peter Rosin  <peda@lysator.liu.se>
10765
10766         Skip MSVC oriented tests if the shell is not capable.
10767         * tests/defs: New required entry 'xsi-shell'.
10768         * tests/ar-lib.test, tests/compile3.test, tests/compile6.test:
10769         Require a XSI capable shell.
10770         Reported by Ralf Wildenhues.
10771
10772 2010-11-15  Peter Rosin  <peda@lysator.liu.se>
10773
10774         compile: clear the `eat' variable earlier.
10775         * lib/compile: Clear the `eat' variable earlier.
10776         ($scriptversion): Update.
10777         * tests/compile3.test: Prevent regressions.
10778
10779 2010-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10780
10781         More stable configure output from sanity check.
10782         * m4/sanity.m4 (AM_SANITY_CHECK): Always print check line
10783         about ensuring newer files, even if we don't actually need
10784         to wait any more.
10785
10786 2010-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10787
10788         Rebuild menus in the manual.
10789         * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs).
10790         Thanks to Ian Lance Taylor for the suggestion.
10791
10792         Fix install-strip when $(STRIP) contains several words.
10793         * lib/am/install.am (install-strip): Update comment.  Use
10794         separate sub-make invocations for empty and nonempty $(STRIP),
10795         to fix quoting issues.
10796         * tests/strip2.test, tests/strip3.test: New tests.
10797         * tests/Makefile.am (TESTS): Adjust.
10798
10799 2010-11-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10800
10801         Fix yaccdry.test failure: require bison.
10802         * tests/yaccdry.test: Require bison.
10803         Found by NixOS Hydra.
10804
10805 2010-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
10806
10807         Fix bug in test `backcompat6.test' (MSYS portability).
10808         * tests/backcompat6.test (Makefile.am): Grep the output from the
10809         test program, rather than diffing it, to avoid spurious failures
10810         on MinGW/MSYS due to LF vs. CRLF line endings.
10811         Reported by Ralf Wildenhues.
10812
10813 2010-11-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
10814
10815         Deprecate obsolete macro AM_WITH_REGEX.
10816         * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete,
10817         and state that it should be removed two years from now.
10818         (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete"
10819         category when this macro is used.
10820         * doc/automake.texi (Public Macros): Move description of
10821         `AM_WITH_REGEX' from here ...
10822         (Obsolete Macros): ... to here, and declare it as obsolete
10823         and "to be removed in a future version".
10824         * tests/regex-obsolete.test: New test.
10825         * tests/Makefile.am (TESTS): Update.
10826
10827 2010-11-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
10828
10829         Improve and extend tests on man pages support.
10830         * tests/man.test: Enable `errexit' shell flag, and related changes.
10831         Make grepping of generated Makefile.in slightly stricter.
10832         * tests/man3.test:  Add trailing `:' command.
10833         * tests/man5.test: Prefer cat + here-doc over echo to append to
10834         configure.in.
10835         * tests/man2.test: Likewise, and add trailing `:' command.
10836         * tests/man4.test: More thorough and consistent checking of make
10837         error messages.  Place fake `help2man' program in a new `bin'
10838         directory rather than in `.'.  Move the checks using the real
10839         `help2man' program to ...
10840         * tests/man6.test: ... this new test, and extend them.  This test
10841         passes with GNU make and Solaris make, still fails with BSD make.
10842         * tests/man7.test: New test, extracted from old man4.test, which
10843         checks for a bug in maintainer-clean w.r.t. generated manpages.
10844         * tests/man8.test: New test, extracted from old man4.test, which
10845         checks for a bug in distcheck w.r.t. generated manpages.  Passes
10846         with GNU make and Solaris make, still fails with BSD make.
10847
10848 2010-11-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
10849
10850         Minor improvements and extensions to various tests.
10851         * tests/defun.test: Also run autoconf and grep the generated
10852         configure to make sure that aclocal truly picks up all the
10853         required macros.
10854         * tests/compile_f_c_cxx.test: Prefer trailing `:' over trailing
10855         `Exit 0'.  Do not create useless dummy source files.  Do not set
10856         useless `$(foo_LDADD)' variable in `Makefile.am'.  Do not call
10857         useless macro `AC_F77_LIBRARY_LDFLAGS' in `configure.in'.
10858         * tests/compile_f90_c_cxx.test: Likewise.
10859         * tests/suffix10.test: Slightly stricter grepping of make output.
10860         * tests/compile.test: Add trailing `:' command.
10861         * tests/defun2.test: Likewise.
10862         * tests/vars3.test: Likewise.
10863         * tests/vartar.test: Likewise.
10864         * tests/vars.test: Likewise.  Also, extend test by checking
10865         that the definition of `MY_FLAGS*' variables is preserved in
10866         the generated `Makefile.in'.
10867         * tests/stamph2.test: Prefer trailing `:' over trailing `Exit 0'.
10868         Use proper m4 quoting in `configure.in'.
10869
10870 2010-11-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
10871
10872         Tests defs: improve messages for skipped tests.
10873         * tests/defs: Give meaningful messages about the reasons of a
10874         test skip; this is especially useful as this file is run without
10875         verbose xtraces on.  Related reorderings in the code and new
10876         comments.
10877
10878 2010-11-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
10879
10880         Tests defs: move static definitions in a new file `defs-static'.
10881         The new file is meant to be idempotent w.r.t. multiple inclusions.
10882         * tests/defs.in: Removed, its contents split among ...
10883         * tests/defs-static.in: ... this new file ...
10884         * tests/defs: ... and this new file, including the former.
10885         * configure.ac (AC_CONFIG_FILES): Remove `tests/defs', add
10886         `tests/defs-static'.
10887         (AC_CONFIG_LINKS): Add `tests/defs'.
10888         * tests/Makefile.am ($(parallel_tests)): Update.
10889         ($(instspc_tests)): Likewise.
10890         * tests/.gitignore: Update.
10891
10892         Tests defs: $testsbuilddir is now AC_SUBST'ed.
10893         * tests/defs.in ($testsbuilddir): Substitute from @abs_builddir@.
10894         Add sanity check on $testsbuilddir, similar to those on
10895         $testsrcdir and $top_testsrcdir.
10896
10897         Tests defs: do not print message "Running test $0" anymore.
10898         * tests/defs.in: Printing the message "=== Running test $0" at
10899         the beginning of each tests made sense when Automake used the old
10900         test-driver, which sent all the output directly to stdout/stderr.
10901         Now that the parallel test-driver is used, which saves output of
10902         each test in its corresponding log file, that old message is just
10903         useless noise.
10904
10905         Tests defs: rename $curdir -> $testbuilddir
10906         * tests/defs.in: Rename $curdir to $testbuildir, for clarity and
10907         consistency with $testsrcdir and $top_testsrcdir.
10908
10909         Tests defs: prefer "$curdir" over "`pwd`".
10910         * tests/defs.in: We already save the value of `pwd` in $curdir
10911         early in the file, so there no need to recalculate it later, when
10912         the current working directory is not changed.
10913
10914         Tests defs: use `$me' in more error messages.
10915         * tests/defs.in: Also use `$me' in error messages referring to
10916         missing `defs' or `defs.in', since that variable is now defined
10917         before those checks.
10918
10919         Tests defs: do not use `Exit' where plain `exit' suffices.
10920         * tests/defs.in: Use "exit 77" rather than "Exit 77" to skip the
10921         test when required libtool/gettext macros are not found, since
10922         such skips would take place before the exit trap is installed.
10923
10924         Tests defs: improve and extends comments.
10925         * tests/defs.in: Improve and extends some comments, especially in
10926         relation with the changes introduced by the previous reordering.
10927
10928         Tests defs: various reorderings.
10929         * tests/defs.in: Reordered various snippets of code in a
10930         clearer way.
10931
10932 2010-11-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
10933
10934         Fix bug in test `backcompat4.test' (stale autom4te cache).
10935         * tests/backcompat4.test: Remove stale autom4te cache directory
10936         before re-running aclocal and automake.  Also, since we are at
10937         it, be more verbose in displaying contents of generated files,
10938         to ease debuggability.
10939         Reported by Ralf Wildenhues.
10940
10941 2010-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
10942
10943         Fix a bug in variable concatenation with `+='.
10944         * lib/Automake/VarDef.pm (append): Since the content of the
10945         "appended-to" variable is going to be unconditionally normalized
10946         later, simply separate the appended value with a single whitespace
10947         character, instead of trying to be uselessly smarter by using
10948         escaped newlines.  This fixes a bug in which extra backslashes
10949         where erroneously inserted in the variable's final value.
10950         * tests/pluseq11.test: New test, exposing the bug.
10951         * tests/Makefile.am (TESTS): Update.
10952         Reported by Andy Wingo.
10953
10954 2010-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
10955
10956         Modernize, improve and/or tweak various test scripts.
10957         * tests/stamph2.test: Improve m4 quoting in `configure.in', and
10958         prefer trailing `:' over trailing `Exit 0'.
10959         * tests/syntax.test: Escape literal dots in grep regexps.
10960         * tests/copy.test: Enable `errexit' shell flag.  Extend test by
10961         checking with `test' utility that the script `install-sh' is
10962         copied, but not symlinked.
10963         * tests/depdist.test: Move setting of `errexit' shell flag earlier
10964         in the script (just after inclusion of ./defs).  Avoid obsoleted
10965         constructs in generated `configure.in'.  Prefer to do our checks
10966         by running configure and make over grepping Makefile.in.
10967         * tests/target-cflags: Move setting of `errexit' shell flag
10968         earlier in the script (just after inclusion of ./defs). Use the
10969         `configure.in' stub created by `./defs', rather than writing it
10970         from scratch.
10971         * tests/target-clash: Do not uselessly run autoconf.
10972         * tests/ctarget1.test: Renamed ...
10973         * tests/cond-basic.test: ... to this.  Use the `configure.in' stub
10974         created by `./defs', rather than writing it from scratch.
10975         Move setting of `errexit' shell flag earlier in the script (just
10976         after inclusion of ./defs).  Other minor cosmetic changes.
10977         * tests/Makefile.am (TESTS): Updated.
10978
10979 2010-11-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
10980
10981         New tests on obsoleted usages of automake/autoconf macros (such
10982         as AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT).
10983         * tests/backcompat.test: New test script.
10984         * tests/backcompat2.test: Likewise.
10985         * tests/backcompat3.test: Likewise.
10986         * tests/backcompat4.test: Likewise.
10987         * tests/backcompat5.test: Likewise.
10988         * tests/backcompat6.test: Likewise.
10989         * tests/init.test: Extended and improved, esp. by trying more
10990         combinations of calls to AC_INIT and AM_INIT_AUTOMAKE with few
10991         arguments.
10992         * tests/Makefile.am (TESTS): Updated.
10993
10994 2010-11-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
10995
10996         Fix bug in rules for creating vala vapi/header files.
10997         * automake.in (lang_vala_finish_target): Add forgotten "fi" in an
10998         if control structure in a generated make rules.  Bug introduced
10999         by previous commit `v1.11-221-gd7c1679', and revealed by failure
11000         of test `vala2.test'.
11001
11002 2010-11-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11003
11004         Fix and document rules to not touch the tree with `make -n'.
11005         * doc/automake.texi (Multiple Outputs): Document the problem of
11006         modifications during dry-run execution, propose solution.
11007         * NEWS: Update.
11008         * automake.in (lang_vala_finish_target): Split recipe so the
11009         stamp file is not removed with GNU `make -n'.
11010         (lang_yacc_target_hook): Separate removal of parser output file
11011         and header remaking.
11012         * lib/am/lisp.am ($(am__ELCFILES)): Determine whether -n was
11013         passed to make, take care not to remove any files in that case.
11014         * lib/am/remake-hdr.am (%CONFIG_H%): Separate removal of
11015         %STAMP% file from induced remaking of config header.
11016         * tests/autohdrdry.test, tests/lispdry.test, tests/yaccdry.test:
11017         New tests.
11018         * tests/Makefile.am (TESTS): Update.
11019
11020 2010-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
11021
11022         Fix potential bug in generated tests `instpc-*.test'.
11023         This bug is due to the changes introduced by the recently-merged
11024         "tests-init" branch.  In that branch, `tests/defs' didn't define
11025         anymore `$srcdir', instead defining directly `$testsrcdir'; but
11026         the generated tests were using `$srcdir', hence the bug.
11027         Luckily, since the Automake parallel test driver automatically
11028         exports `srcdir' to a proper value, that prevented the bug from
11029         manifesting itself.
11030         * tests/Makefile.am ($(instspc_tests)): In the generated test
11031         scripts, use `$testsrcdir', not `$srcdir'.
11032
11033 2010-11-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
11034
11035         Overhauled and modularized tests in `instspc.test'.
11036         The test `instspc.test' was way too big and fragile.  Its running
11037         time was very long.  It also produced a log that was nearly
11038         unreadable due to its length, making it very difficult to find
11039         out the reason for failures.
11040         Also, it was too much monolithic, with a single (maybe spurious)
11041         failure in a corner case causing the whole test to fail (even if
11042         everything worked as expected in the other 99% of cases).
11043         The present change should solve these problems, by separating
11044         `instspc.test' into many smaller, self-contained, auto-generated
11045         tests.
11046         * tests/instspc.test: Removed.
11047         * tests/instspc-tests.sh: New script, fulfilling a double role:
11048         1. it generates a Makefile.am snippet `tests/instspc-tests.am',
11049         containing the definition of a list of new tests which will take
11050         over the older `instspc.test', and
11051         2. it is sourced by said generated tests with proper parameters
11052         pre-set, to run the "meat" of the checks.
11053         This apparent abuse is indeed required because the test generation
11054         code and test execution code are inevitably intertwined.
11055         * tests/Makefile.am ($(srcdir)/instspc-tests.am): Include this
11056         snippet, which (among the other things) defines ...
11057         (instspc_tests): ... this new macro, containing the list of the
11058         newly generated `instspc*.test' tests, and ...
11059         (instspc_xfail_tests): ... this new macro, containing the list
11060         of the `instspc*.test' tests expected to fail.
11061         ($(instspc_tests)): New rule, generates the `instspc*.test' tests.
11062         ($(instspc_tests:.test=.log)): New rule, registers the dependency
11063         of all `instspc*.test' tests on the `instspc-tests.sh' script.
11064         (TESTS): Add `$(instspc_tests)', remove `instspc.test'.
11065         (XFAIL_TESTS): Add `$(xfail_instspc_tests)'.
11066         (EXTRA_DIST): Distribute instspc-tests.sh.
11067         (MAINTAINERCLEANFILES): Added $(instspc_tests).
11068         Other minor cosmetic changes.
11069         * bootstrap: Generate instspc-tests.am.
11070         * tests/.gitignore: Updated.
11071
11072 2010-11-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11073
11074         Add FAQ entry for bug reporting instructions.
11075         * doc/automake.texi (Reporting Bugs): New section.
11076         (Introduction): Refer to it.
11077
11078 2010-10-07  Peter Rosin  <peda@lysator.liu.se>
11079
11080         depcomp: add new one-pass depmode for MSVC 7 and later.
11081         * lib/depcomp: Add new depmodes 'msvc7' and 'msvc7msys' which
11082         make use of the -showIncludes option added in MSVC 7.
11083         * m4/depend.m4 (_AM_DEPENDENCIES): Handle the new depmodes
11084         similarly to 'msvisualcpp' and 'msvcmsys' as MSVC does not
11085         support the -o option.
11086
11087 2010-10-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
11088
11089         Add support for newer python versions.
11090         * m4/python.m4 (AM_PATH_PYTHON): Add python2.7 and python3.2 to
11091         _AM_PYTHON_INTERPRETER_LIST.  Since we are at it, break a long
11092         line and fix indentation.
11093         * THANKS: Updated.
11094         From a report by Thomas Klausner.
11095
11096         Add test for `AM_WITH_DMALLOC' macro.
11097         * tests/dmalloc.test: New test.
11098         * tests/Makefile.am (TESTS): Update.
11099
11100         Fix nits and bugs in tests `help*.test'.
11101         * tests/help4.test: Fix broken sed commands used to strip `-W...'
11102         flags away from "$AUTOMAKE" and "$ACLOCAL".
11103         * tests/help3.test: Likewise, and fix a botched comment.
11104         * tests/help.test: Likewise.  Also, use "AUTOMAKE_fails ..."
11105         instead of "$AUTOMAKE ... && Exit 1", for consistency and to
11106         please maintainer-check.
11107         * tests/help2.test: Likewise.
11108
11109 2010-10-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
11110             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11111
11112         Improve tests `help*.test' (also fixes maintcheck failures).
11113         * tests/help.test: To run automake, use `$AUTOMAKE' with all `-W'
11114         flags stripped away rather than hard-coded `automake-$APIVERSION',
11115         to better honour user-overrides.  Similarly for aclocal.
11116         * tests/help2.test: Likewise.
11117         * tests/help3.test: Likewise.
11118         * tests/help4.test: Likewise.
11119
11120 2010-10-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11121
11122         tests: fix ar-lib.test for echo that interprets backslashes.
11123         * tests/ar-lib.test: Use printf instead of echo.  Avoid test -a.
11124         More robust quoting.
11125
11126 2010-10-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11127
11128         maintainer-check coverage for variables before rules.
11129         * Makefile.am (sc_ensure_testsuite_has_run): Suggest keeping
11130         around the test directories.
11131         (sc_tests_makefile_variable_order): New rule with a heuristic to
11132         catch ordering violations.
11133
11134         Document and fix expansion of variables before rules.
11135         * doc/automake.texi (General Operation): Document that variables
11136         are expanded before rules.
11137         * lib/am/check.am (am__check_post): Reword a bit so it does not
11138         get matched as a rule.
11139         Suggestion by Ben Pfaff.
11140
11141 2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11142
11143         Coverage and minor fixes for variable typo detection.
11144         * automake.in (check_typos): Remove `EXTRA_' prefix when
11145         computing canonical name.
11146         * tests/vartypo2.test, tests/vartypos.test: New tests.
11147         * tests/Makefile.am (TESTS): Update.
11148
11149         Implement EXTRA_maude_DEPENDENCIES for programs and libraries.
11150         * automake.in (handle_programs, handle_libraries)
11151         (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
11152         * doc/automake.texi (Linking, Program and Library Variables)
11153         (LIBOBJS): Document EXTRA_*_DEPENDENCIES.
11154         * lib/am/library.am (%LIBRARY%): Also depend on
11155         $(EXTRA_%XLIBRARY%_DEPENDENCIES).
11156         * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
11157         (%XLTLIBRARY%_DEPENDENCIES).
11158         * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
11159         $(EXTRA_%XPROGRAM%_DEPENDENCIES).
11160         * tests/extradep.test, tests/extradep2.test: New tests.
11161         * tests/Makefile.am (TESTS): Update.
11162         * NEWS: Update.
11163         Suggested by Eric Blake.
11164
11165         tests: avoid running into timing issues due to sanity change.
11166         * tests/acloca10.test, tests/acloca18.test, tests/aclocal9.test:
11167         Insert strategic sleep before aclocal reruns, to ensure files
11168         are newer.
11169         * tests/python11.test: Use --force for repeated autotools runs.
11170         Reports from the NixOS Hydra build daemon via Ludovic Courtès.
11171
11172         Fix timestamp issues by ensuring configure takes at least a second.
11173         * m4/sanity.m4 (AM_SANITY_CHECK): If we didn't sleep here,
11174         start a sleep in the background and wait for it to finish
11175         before creating config.status, hopefully fixing all spurious
11176         testsuite failures involving botched time stamps.
11177         * NEWS: Update.
11178         Reports by Ludovic Courtès, Peter Breitenlohner, and others.
11179
11180 2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11181
11182         Revert "parallel-tests: avoid command-line length limit issue."
11183         This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835,
11184         because it re-opened the bug fixed by v1.11-10-g218e678.
11185
11186         2010-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11187
11188         parallel-tests: avoid command-line length limit issue.
11189         * automake.in (handle_tests): New argument $makefile, new
11190         substitution %MAKEFILE%.
11191         (generate_makefile): Adjust.
11192         * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
11193         sanitized TEST_LOGS value as makefile snippet on standard
11194         input to $(MAKE), to avoid exceeding the command line limit on
11195         w32 (MSYS).
11196         * NEWS: Update.
11197         Report by Bob Friesenhahn.
11198
11199 2010-09-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
11200
11201         Extend tests on `--help' and `--version' options.
11202         * tests/help.test: Create a new empty directory and chdir into
11203         it, rather than removing already present files.  Run the aclocal
11204         and automake wrapper scripts directly, instead of relying on
11205         $AUTOMAKE and $ACLOCAL.  Be sure to correctly match literal dots
11206         in aclocal's and automake's stderr.  Add a trailing `:' command.
11207         * tests/help2.test: New test, checking that options `--help' and
11208         `--version' works in directories with broken `configure.in'.
11209         * tests/help3.test: New test, checking that options `--help' and
11210         `--version' take precedence on the other options.
11211         * tests/help4.test: New test, checking that the first among the
11212         `--help' and `--version' options to be specified on the command
11213         line wins.
11214         * tests/Makefile.am (TESTS): Updated.
11215
11216 2010-09-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
11217
11218         Testsuite: Use `$PATH_SEPARATOR', not `:', when extending PATH.
11219         * tests/compile2.test: Do no uselessly (implicitly) repeat the
11220         computation of PATH_SEPARATOR again.
11221         * tests/instmany-mans.test: Use `$PATH_SEPARATOR', not `:', when
11222         extending/redefining PATH.
11223         * tests/instmany-python.test: Likewise.
11224         * tests/instmany.test: Likewise.
11225         * tests/man4.test: Likewise.
11226         * tests/mkinst3.test: Likewise.
11227         * tests/mmodely.test: Likewise.
11228         * tests/multlib.test: Likewise.
11229         * tests/txinfo30.test: Likewise.
11230         * tests/README (Section "Writing test cases" subsection "Do"):
11231         Updated.
11232         * Makefile.am (sc_tests_PATH_SEPARATOR): New maintainer check.
11233         (syntax_check_rules): Updated.
11234
11235         Testsuite: new variables `$PATH_SEPARATOR' and `$APIVERSION'.
11236         * tests/defs.in ($APIVERSION):  New AC_SUBST'd variable.
11237         ($ACLOCAL, $AUTOMAKE): Use it.
11238         ($PATH_SEPARATOR):  New AC_SUBST'd variables.
11239         ($PATH): Use it.
11240
11241 2010-09-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
11242
11243         Manual: be more agnostic w.r.t. version control system used.
11244         * doc/automake.texi (Basics of Distribution): Also refer to `.svn'
11245         directories as a type of probably-unwanted files that are copied
11246         regardless when adding directories to EXTRA_DIST.
11247         (The dist Hook): Show a dist-hook example which removes Subversion
11248         `.svn' private directories from distdir, rather than CVS private
11249         directories.
11250         (missing and AM_MAINTAINER_MODE): Try to be more agnostic w.r.t.
11251         the version control system used.
11252
11253         Manual: index refer to target "git-dist", not "cvs-dist".
11254         * doc/automake.texi (General Operation): Index the non-standard
11255         example about "git-dist" under the "git-dist" label, not under
11256         the "cvs-dist" one.
11257
11258         Perl modules: remove references to "Automake CVS repository".
11259         * lib/Automake/Channels.pm: Update comments to refer to "Automke's
11260         git repository" rather than to "Automake's CVS repository".
11261         * lib/Automake/Configure_ac.pm: Likewise.
11262         * lib/Automake/FileUtils.pm: Likewise.
11263         * lib/Automake/Struct.pm: Likewise.
11264         * lib/Automake/XFile.pm: Likewise.
11265         * lib/Automake/Version.pm (=head1 DESCRIPTION): Refer to "git
11266         branches" rather than "CVS branches".
11267
11268         Remove obsolete .cvsignore files.
11269         * .cvsignore, doc/.cvsignore, lib/.cvsignore, lib/am/.cvsignore,
11270         lib/Automake/.cvsignore, lib/Automake/tests/.cvsignore,
11271         m4/.cvsignore, tests/.cvsignore: Files deleted.  Even when using
11272         savannah's CVS readonly mirror there's no way to commit back to
11273         the real repository, so this files are not worth maintaining or
11274         keeping around.
11275
11276 2010-09-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
11277
11278         * m4/dmalloc.m4: Bump serial number and copyright years.
11279
11280 2010-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
11281
11282         Fix broken link in `AM_WITH_DMALLOC' help screen.
11283         * m4/dmalloc.m4 (AM_WITH_DMALLOC): Refer only to the dmalloc site
11284         `http://www.dmalloc.com', not to the dmalloc tarball there (which
11285         seems to have been removed, substituted by multiple release
11286         tarballs now).
11287
11288 2010-09-21  Peter Rosin  <peda@lysator.liu.se>
11289
11290         compile: implement library search to support MSVC static linking
11291         * lib/compile (func_cl_wrapper): Implement library search and
11292         -static option so that the user can select whether to prefer
11293         dll import libraries or static libraries.  This enables MSVC to
11294         link against dlls generated by libtool without requiring libtool
11295         or workarounds such as -lfoo.dll etc.  Makes the tests/static.at
11296         test case in libtool pass.
11297         * tests/compile3.test: Don't trip up if there happens to exist
11298         a "foo" library in the library search path.
11299         * tests/compile6.test: New test, verifying the library search.
11300         * tests/Makefile.am (TESTS): Update.
11301
11302 2010-09-17  Eric Blake  <eblake@redhat.com>
11303
11304         Avoid triple-space after period.
11305         * automake.in (handle_single_transform): Avoid 3 spaces at
11306         sentence end.
11307         * ChangeLog.03: Likewise.
11308         * lib/Automake/ChannelDefs.pm: Likewise.
11309         * lib/Automake/Channels.pm (_print_message): Likewise.
11310         * lib/Automake/Rule.pm (rule): Likewise.
11311         * lib/Automake/Variable.pm (var): Likewise.
11312         * lib/am/distdir.am: Likewise.
11313         * tests/insthook.test: Likewise.
11314
11315 2010-09-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
11316
11317         Test automake-generated portions of configure help screen.
11318         * tests/help-depend.test: New test.
11319         * tests/help-depend2.test: Likewise.
11320         * tests/help-dmalloc.test: Likewise.
11321         * tests/help-init.test: Likewise.
11322         * tests/help-lispdir.test: Likewise.
11323         * tests/help-maintainer.test: Likewise.
11324         * tests/help-multilib.test: Likewise.
11325         * tests/help-regex.test: Likewise.
11326         * tests/help-silent.test: Likewise.
11327         * tests/help-upc.test: Likewise.
11328         * tests/mmode.test: Remove tests on `configure --help' output,
11329         they are superseded by tests in `help-maintainer.test'.
11330         * tests/Makefile.am (TESTS): Update.
11331
11332 2010-09-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
11333
11334         * tests/README: Don't put GCS mandated tools in $required.
11335
11336 2010-09-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11337
11338         * HACKING: Hint at old commits with `git describe' output.
11339
11340 2010-09-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
11341
11342         Prefer `$(am__cd)' to plain `cd' in our Makefiles.
11343         * Makefile.am (recheck, dist-hook, git-dist, path-check, fetch)
11344         (release-stats): Use `$(am__cd)' rather than plain `cd'.
11345         * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
11346
11347 2010-09-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
11348
11349         Fix regression in test `colon4.test'.
11350         * tests/colon4.test: Fix botched editing to `configure.in'
11351         that made the test useless.  Since we are at it, improve
11352         comments and make grepping of generated Makefile.in slightly
11353         stricter.
11354         Regression introduced by change "Modernize, improve and/or
11355         extend tests `colon*.test" (Stefano Lattarini, 2010-08-08).
11356
11357 2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
11358
11359         Do not require "gzip" explicitly in tests.
11360         The gzip utility is simply expected to be present on any decent
11361         target system for Automake.  So it's pointless to put it in
11362         $required.
11363         * tests/install2.test ($required): Do not require "gzip".
11364         * tests/lex3.test: Likewise.
11365         * tests/pr9.test: Likewise.
11366         From a suggestion by Ralf Wildenhues.
11367
11368 2010-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
11369
11370         Use AS_HELP_STRING in AM_SILENT_RULES.
11371         * m4/silent.m4 (AM_SILENT_RULES): Use `AS_HELP_STRING' to format
11372         help message regarding configure options `--enable-silent-rules'
11373         and `--disable-silent-rules'.  Also throw in a couple of cosmetic
11374         changes in the related `case' statement (indentation, balancing
11375         of parentheses).
11376         * THANKS: Update.
11377         From a report by Jeff A. Daily.
11378
11379 2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
11380
11381         Make some `confh*.test' tests more "semantic" (plus tweakings).
11382         * tests/confh.test: Run "autoconf", "configure" and "make check",
11383         instead of munging/grepping the generated `Makefile.in'.
11384         * tests/confh4.test: Relax the grepping of Makefile.in w.r.t.
11385         white spaces.  Do not create useless dummy source file `foo.c'
11386         and useless dummy header file `acconfig.h'.
11387         (configure.in): Remove superfluous call to `AC_OUTPUT'.
11388         * tests/confh6.test: Add trailing `:' command.
11389         * tests/confh7.test: In comments, add reference to ...
11390         * tests/confh8.test: ... this new test, "semantic" sister
11391         of `confh7.test'.
11392         * tests/Makefile.am (TESTS): Updated.
11393         Prompted by a report from Ralf Wildenhues.
11394
11395 2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
11396
11397         Remove useless whitespace padding in XFAIL_TESTS definition.
11398         * tests/Makefile.am (XFAIL_TESTS): Remove whitespace padding.
11399
11400 2010-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11401
11402         parallel-tests: avoid command-line length limit issue.
11403         * automake.in (handle_tests): New argument $makefile, new
11404         substitution %MAKEFILE%.
11405         (generate_makefile): Adjust.
11406         * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
11407         sanitized TEST_LOGS value as makefile snippet on standard
11408         input to $(MAKE), to avoid exceeding the command line limit on
11409         w32 (MSYS).
11410         * NEWS: Update.
11411         Report by Bob Friesenhahn.
11412
11413         Posix 2008 requires make to set errexit.
11414         * lib/am/check.am: Update comment.
11415
11416 2010-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
11417
11418         Tests defs: remove variable $testaclocaldir.
11419         * tests/defs.in ($testaclocaldir): Removed.
11420         * tests/aclocal.test: Use `$top_testsrcdir/m4' directly, not
11421         `$testaclocaldir'.
11422
11423         Tests defs: $srcdir and $top_srcdir renaming.
11424         * tests/defs.in ($srcdir): Remove, define $testsrcdir directly.
11425         * tests/Makefile.am ($(parallel_tests)): Generation of derived
11426         tests updated.
11427
11428         Tests defs: new variable $top_testsrcdir.
11429         * tests/defs.in ($top_testsrcdir): Define unconditionally
11430         to @abs_top_srcdir@.  Use it throughout.
11431         * tests/ar-lib.test: Use `$top_testsrcdir' instead of
11432         `$testsrcdir/..'.
11433         * tests/auxdir.test: Likewise.
11434         * tests/compile.test: Likewise.
11435         * tests/compile2.test: Likewise.
11436         * tests/compile3.test: Likewise.
11437         * tests/compile5.test: Likewise.
11438         * tests/mdate6.test: Likewise.
11439         * tests/mkinst3.test: Likewise.
11440         * tests/multlib.test: Likewise.
11441         * tests/txinfo22.test: Likewise.
11442
11443         Tests defs: $srcdir is unconditionally substituted.
11444         * tests/defs.in ($srcdir): Define unconditionally to @abs_srcdir@.
11445         Remove code for $srcdir normalization, which is now useless.
11446
11447 2010-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
11448
11449         Tests defs: make spacing more consistent.
11450         * tests/defs.in: Make spacing more consistent in indentation.
11451         Especially, indent using only spaces, not tabs.  Also, move
11452         a comment to a better position.
11453
11454         Improve code for requiring libtool and gettext in tests.
11455         * tests/defs.in: Stricter (and more correct) detection of wheter
11456         libtool, libtoolize and/or gettext are in $required.
11457
11458
11459 2010-08-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
11460
11461         Fix bug in test missing6.test.
11462         * tests/missing6.test: Fix the hack used to edit `configure.in',
11463         to avoid producing a configure script that breaks with shells
11464         that do not support $LINENO.  Also throw in a couple of cosmetic
11465         changes.
11466
11467 2010-09-02  Peter Rosin  <peda@lysator.liu.se>
11468
11469         Make ar-lib support backslashed files in archives.
11470         * lib/ar-lib: If an archive member contains a backslash, make sure
11471         it is escaped when the archive member is extracted.
11472         * tests/ar-lib.test: Test the above.
11473
11474 2010-08-31  Peter Rosin  <peda@lysator.liu.se>
11475
11476         Do file name conversion for object files in the compile wrapper.
11477         * lib/compile (func_cl_wrapper): Do file name conversion for object
11478         files (i.e. extensions .obj, .OBJ, .o and .O) if needed.
11479         * tests/compile4.test: Test the above.
11480
11481 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11482
11483         Speed up removal of auxiliary linker output files for ltlibraries.
11484         * lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Rewrite using just
11485         one `rm' invocation.
11486         Report by Bob Friesenhahn.
11487
11488         Improve robustness of mdate-sh script.
11489         * lib/mdate-sh: Sanitize zsh behavior on startup, to ensure
11490         $ls_command is word-split properly upon invocation.
11491         (error): New function.
11492         (main): Use it.  Improve error checking to avoid endless loop
11493         in case $ls_command gave bogus output.  Fix eval quotation.
11494         * tests/mdate6.test: New test, to expose eval quotation error.
11495         * tests/Makefile.am: Update.
11496
11497 2010-08-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
11498
11499         Fix potential regressions in depcomp{3,5}.test.
11500         * tests/depcomp3.test: Do not uselessly escape the character `$'
11501         in makefile rules, when it's used to expand a make macro.
11502         * tests/depcomp5.test: Likewise.
11503
11504 2010-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
11505             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11506
11507         Docs: clarify how to avoid automatic dependencies tracking.
11508         * doc/automake.texi (Automatic dependency tracking): Mention that
11509         automatic dependencies tracking is enabled by default, but that
11510         the package developer can disable it altogether.  Add a reference
11511         to the proper section for a more in-depth explanation.
11512
11513         Fix typo in manual (`Makefile.in' instead of `Makefile.am').
11514         * doc/automake.texi (Automatic dependency tracking): Fix typo.
11515
11516 2010-08-16  Bruno Haible  <bruno@clisp.org>
11517
11518         Don't hide the table of contents.
11519         * doc/automake.texi: Move the table of contents to the beginning.
11520
11521 2010-08-16  Peter Rosin  <peda@lysator.liu.se>
11522
11523         Optimize compile script on MSYS.
11524         * lib/compile (func_file_conv): Add new argument 'lazy' which
11525         takes an optional list of conversion types where the requested
11526         conversion isn't needed.
11527         (func_cl_wrapper): Take advantage of the above for cases where
11528         MSYS is doing the conversion for us.
11529         Suggested by Ralf Wildenhues.
11530
11531 2010-08-16  Peter Rosin  <peda@lysator.liu.se>
11532
11533         Support more C++ file extensions for MSVC in the compile script.
11534         * lib/compile (func_cl_wrapper): MSVC only recognizes the .cpp
11535         file extension as C++, unless it's given a hint. So hint about
11536         .cc, .CC, .cxx, .CXX, c++ and C++. Also do path conversion on
11537         .c, .cpp, .CPP, .lib, .LIB and .Lib files.
11538         * tests/compile3.test: Test the C++ hinting.
11539
11540 2010-08-12  Peter Rosin  <peda@lysator.liu.se>
11541
11542         Enable the use of "link -lib" as the wrapped archiver.
11543         * lib/ar-lib: Enable the use of "link -lib" as the wrapped
11544         archiver, as well as allowing some other options to be passed
11545         through to the wrapped archiver.
11546         * tests/ar-lib.test: Test the above.
11547
11548 2010-08-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
11549
11550         Tweak and/or extend some `acloca*.test' tests.
11551         * tests/aclocal8.test:  Ensure verbose printing of captured
11552         output.
11553         * tests/aclocal.test: Likewise.  Also, add trailing `:'
11554         command.
11555         * tests/acloca19.test: Likewise.
11556         * tests/aclocal5.test: Add trailing `:' command, and prefer
11557         `$me' over hard-coded test name.
11558         * tests/aclocal6.test: Likewise.
11559         * tests/aclocal18.test: Add trailing `:' command, and make
11560         some grepping slightly stricter.
11561         * tests/acloca14.test: Likewise.  Also, prefer `diff' over
11562         `cmp', and add some "cosmetic" blank lines.
11563
11564 2010-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
11565
11566         Tweak and extend tests `pr[!0-9]*.test'.
11567         * tests/primary3.test: Add trailing `:' command.
11568         * tests/primary.test: Make grepping of Automake's stderr stricter.
11569         Also, add trailing `:' command, and cosmetic changes in spacing.
11570         * tests/primary2.test: Likewise.
11571         * tests/prefix.test: Enable `errexit' shell flags, and related
11572         changes.  Add a trailing `:' command.
11573         * tests/proginst.test: Likewise.
11574
11575         Modernize, improve and extend tests for PR (`pr[0-9]*.test').
11576         * tests/pr2.test: Add trailing `:' command.
11577         * tests/pr229.test: Likewise.
11578         * tests/pr401.test: Likewise.
11579         * tests/pr401b.test: Likewise.
11580         * tests/pr401c.test: Likewise.
11581         * tests/pr300-prog.test: Likewise, plus cosmetic changes in
11582         spacing.
11583         * tests/pr300-lib.test: Likewise.
11584         * tests/pr300-ltlib.test: Likewise, and ensure verbose printing
11585         of captured make stdout.
11586         * tests/pr211.test: Add trailing `:' command.  Also, use the
11587         `configure.in' stub created by ./defs, rather than writing it
11588         from scratch.
11589         * tests/pr204.test: Likewise, plus cosmetic spacing changes.
11590         * tests/pr287.test: Likewise, and move setting of `errexit' shell
11591         flag earlier in the script (just after inclusion of ./defs).
11592         * tests/pr220.test: Make grepping of Automake's stderr stricter.
11593         Also, add trailing `:' command, and cosmetic changes in spacing.
11594         * tests/pr224.test: Move setting of `errexit' shell flag earlier
11595         in the script (just after inclusion of ./defs).  Do not export
11596         `CC=gcc' to configure explicitly (it's already exported globally
11597         in ./defs, since we have "gcc" in $required).  Use the stub for
11598         `configure.in' created by ./defs, rather than writing it from
11599         scratch.  Do not create dummy files required by "gnu" mode (e.g.
11600         README, NEWS), since we run automake in foreign mode anyway.
11601         * tests/pr72.test: Enable `errexit' shell flags, and related
11602         changes.  Extend existing checks a bit.
11603         * tests/pr9.test: Likewise.  Also, avoid obsolescent constructs in
11604         the generated `configure.in', and extend existing checks over the
11605         generated tarball a bit.
11606         * tests/pr87.test: Enable `errexit' shell flags, and related
11607         changes.  Add a trailing `:' command.  Also, do not create dummy
11608         files required by "gnu" mode (e.g. README, NEWS), since we run
11609         automake in foreign mode anyway.
11610         * tests/pr243.test: Avoid obsolescent constructs in the generated
11611         `configure.in'.  Enable the `errexit' shell flag, and related
11612         changes.  Cosmetic changes to spacing, add trailing `:' command,
11613         and add a "FIXME" comment.
11614         * tests/pr266.test: Likewise, and add explicit command line switch
11615         `--enable-dependency-tracking' to the ./configure call.
11616         * tests/pr279.test: Avoid obsolescent constructs in the generated
11617         `configure.in'; also, use the `configure.in' stub created by
11618         ./defs, rather than writing it from scratch.  Enable `errexit'
11619         shell flag, and related changes.  Add trailing `:' command.
11620         * tests/pr279-2.test: Likewise, and make grepping of Makefile.in
11621         stricter.
11622         * tests/pr307.test: Move setting of `errexit' shell flag earlier
11623         in the script (just after inclusion of ./defs).  Escape literal
11624         dots in grep regular expressions.  Also, add a trailing `:'
11625         command, and cosmetic changes to spacing.
11626
11627         Tests for PR: add excerpts from original bug report, for clarity.
11628         * tests/pr2.test: Ditto.
11629         * tests/pr9.test: Likewise.
11630         * tests/pr72.test: Likewise.
11631         * tests/pr87.test: Likewise.
11632         * tests/pr211.test: Likewise.
11633         * tests/pr220.test: Likewise.
11634         * tests/pr224.test: Likewise.
11635         * tests/pr229.test: Likewise.
11636         * tests/pr243.test: Likewise.
11637         * tests/pr266.test: Likewise.
11638         * tests/pr279.test: Likewise, and tell to keep it in sync
11639         with its sister test.
11640         * tests/pr279-2.test: Likewise.
11641
11642 2010-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
11643
11644         Tweak, extend and improve tests `cond[a-z]*.test'.
11645         * tests/condd.test: Add trailing `:' command.  Typofix in
11646         comment.
11647         * tests/condhook.test: Make sure target `install-data-hook' is
11648         not called by `make install', but that data files are installed.
11649         Use proper m4 quoting in configure.in. Add trailing `:' command.
11650         * tests/condhook2.test: New test, sister test of condhook, with
11651         inverted semantic.
11652         * tests/condinc2.test: Use proper m4 quoting in configure.in.
11653         Prefer trailing `:' command over trailing `Exit 0'.
11654         * tests/condman2.test: Enable errexit shell flag, and related
11655         changes.  Add trailing `:' command.
11656         * tests/condman.test: Likewise.  Also, do not create useless
11657         dummy manpages, and use proper m4 quoting in configure.in.
11658         * tests/condman3.test: New test, similar to condman.test, but
11659         it also runs ./configure and "make install", and check the
11660         installed files.
11661         * tests/Makefile.am (TESTS): Updated.
11662
11663         Modernize, improve and/or extend tests `colon*.test.
11664         * tests/colon.test: Rely on the `configure.in' stub created by
11665         `./defs', rather than writing one from scratch.  Do not create
11666         a useless dummy file.  Add trailing `:' command.
11667         * tests/colon4.test: Enable the `errexit' shell flag, and
11668         related changes.  Rely on the `configure.in' stub created by
11669         `./defs', rather than writing one from scratch.
11670         * tests/colon7.test: Enable `errexit' shell flag, and related
11671         changes.  Improve the generated `configure.in' file.  Add
11672         trailing `:' command.
11673         * tests/colon2.test: Likewise.  Also, add some new checks.
11674         * tests/colon5.test: Improve the generated `configure.in' file.
11675         Add new, much deeper checks.  Add trailing `:' command.
11676         * tests/colon6.test: Likewise.
11677         * tests/colon3.test: Add trailing `:' command.  Remove useless
11678         comments and echos.  Improve the generated `configure.in' file.
11679         make some grepping tests stricter.  Add a "FIXME" comments about
11680         planned improvements.
11681
11682         Improve and extend tests `asm*.test'.
11683         * tests/asm.test: Use configure.in stub generated by ./defs,
11684         and avoid obsoleted autoconf constructs.  Make grepping of
11685         Automake stderr stricter.  Do not create useless source file.
11686         Improve verbose messages.  Minor cosmetic changes.  Tell to
11687         keep it in sync with other sister tests asm*.test.
11688         * tests/asm2.test: Likewise.
11689         * tests/asm3.test: Likewise.
11690
11691         Modernize, improve and/or extend test scripts `conf*.test'.
11692         * tests/confh5.test: Cosmetic changes.
11693         * tests/conff.test: Likewise.
11694         * tests/confdeps.test: Likewise.
11695         * tests/conflnk.test: Likewise.
11696         * tests/conflnk2.test: Likewise.
11697         * tests/confsub.test: Likewise.
11698         * tests/confvar.test: Likewise, and make grepping of Makefile.in
11699         stricter.
11700         * tests/confvar2.test: Likewise.
11701         * tests/conflnk3.test: Cosmetic changes.  Re-enable a temporarily
11702         disabled test (which didn't work with autoconf <= 2.59, but now we
11703         are requiring autoconf 2.62, so...)
11704         * tests/conflnk4.test: Cosmetic changes, and extend existing tests
11705         accordingly to "TODO" comments.
11706         * tests/conff2.test: Make grepping of Automake's stderr stricter.
11707         Add some comments explaining why we don't use the `configure.in'
11708         stub preset be ./defs.
11709         * tests/confh.test: Use the `configure.in' stub created by ./defs,
11710         rather than writing one from scratch, and do not call AC_OUTPUT.
11711         Enable `errexit' shell flag, and related changes.  Prefer diff over
11712         cmp to compare text files. Prefer perl over sed to fetch the value
11713         of $(DIST_COMMON) from Makefile.in.  Make grepping of the contents
11714         of $(DIST_COMMON) stricter.
11715         * tests/confh4.test: Use the `configure.in' stub created by ./defs,
11716         rather than writing one from scratch.  Make grepping of Makefile.in
11717         stricter.
11718         * tests/confh5.test: Make grepping of `config.h' stricter.  Add a
11719         comment.
11720         * tests/configure.test: Avoid obsolescent constructs in generated
11721         `configure.ac'.  Do not write `configure.in' two times.  Escape
11722         literal dots in grep regular expressions.
11723         * tests/confincl.test:  Enable `errexit' shell flag, and related
11724         changes.  Prefer fgrep over grep.  Other cosmetic changes.
11725         * tests/config.test: Renamed to ...
11726         * tests/confh6.test: ... this.  Fix m4 quoting in `configure.in',
11727         and make grepping of `config.h' and `config.h.in' stricter.
11728         * tests/conf2.test: Renamed ...
11729         * tests/confh7.test: ... to this.  Use the `configure.in' stub
11730         created by ./defs, rather than writing one from scratch.  Try to
11731         run the checks both with and without AC_PROG_CC and AC_OUTPUT in
11732         `configure.in'.
11733         * tests/Makefile.am (TESTS): Updated.
11734
11735         Minor improvements and fixes in tests `depcomp*.test'.
11736         * tests/depcomp.test: Do not create useless dummy source files.
11737         Add a trailing `:' command.
11738         * tests/depcomp2.test: Use `unset' on the CFLAGS variable to ensure
11739         it's not in in the environment, rather than exporting it with an
11740         empty value.  Do not pass CC=gcc to configure, as that's already
11741         done in ./defs since we have gcc in $required.  Ensure verbose
11742         printing of captured stderr, and normalize its checking.  Add a
11743         trailing `:' command.
11744         * tests/depcomp3.test: Quote literal dots and dollar characters in
11745         grep regexps.  Always use `: >' rather than `touch' to create empty
11746         files.  Explicitly declare phony targets as such in the created
11747         Makefile.am.  Add a trailing `:' command.
11748         * tests/depcomp4.test: Quote literal dots and dollar characters in
11749         grep regexp.  Explicitly declare phony targets as such in the
11750         created Makefile.am.  Ensure verbose printing of captured makes'
11751         stoud/stderr.  Add a trailing `:' command.
11752         * tests/depcomp5.test: Move setting of `errexit' shell flag earlier
11753         in the script (just after inclusion of ./defs).  Quote literal dots
11754         and dollar characters in grep regexps.  Explicitly declare phony
11755         targets as such in the created Makefile.am.  Add a trailing `:'
11756         command.
11757         * tests/depcomp6.test: Consistently use m4 quoting in the generated
11758         configure.in.  Cosmetic fixes to spacing.  Make the "dummy" `if'
11759         statement required by OpenBSD's sh `set -e' more robust, and add
11760         explanatory comments to it.
11761         * tests/depcomp7.test: Likewise, and add  a trailing `:' command.
11762
11763         Separate failing part of test `all.test'.
11764         * tests/all.test: Keep only (x)failing part of the test.  Working
11765         checks moved out to ...
11766         * tests/all2.test: ... this new test.
11767         * tests/Makefile.am (TESTS): Updated.
11768
11769         Modernize, improve and extend tests `subobj*.test'.
11770         * tests/subobjname.test:  Add trailing `:' command.
11771         * tests/subobj.test: Make grepping of `Makefile.in' stricter.
11772         Escape literal dots in grep regexps.
11773         * tests/subobj2.test:  Add trailing `:' command.  Do not use the
11774         unportable fgrep option `-e'.
11775         * tests/subobj3.test: Add trailing `:' command.
11776         (configure.in): Use proper m4 quoting, and avoid obsolescent
11777         constructs.
11778         * tests/subobj8.test: Likewise.  Also, enable `errexit' shell
11779         flag, with related changes
11780         * tests/subobj4.test: Likewise.  Also, make grepping of
11781         `Makefile.in' stricter.
11782         * tests/subobj5.test: Add trailing `:' command.  Move setting of
11783         `errexit' shell flag earlier in the script (just after inclusion
11784         of ./defs).
11785         (configure.in): Use the stub created by `./defs', rather than
11786         writing it from scratch, and avoid obsolescent constructs.
11787         * tests/subobj6.test: Add trailing `:' command.  Move setting of
11788         `errexit' shell flag earlier in the script (just after inclusion
11789         of ./defs).  Do not create useless dummy ac-init file `f'.
11790         * tests/subobj7.test: Do not create useless dummy ac-init file
11791         `f'.
11792         (configure.in): Use the stub created by `./defs', rather than
11793         writing it from scratch, and avoid obsolescent constructs.
11794         * tests/subobj9.test: Move setting of `errexit' shell flag earlier
11795         in the script (just after inclusion of ./defs).  Fail the test if
11796         `make distcheck' fails.  Ensure verbose printing of captured make
11797         stdout.  Avoid useless fork by doing simple grep instead of using
11798         test -n "`COMMAND | grep ...`".
11799         (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
11800         (Makefile.am): Explicitly mark target "print" as phony.
11801         * tests/subobj10.test: Removed duplicated call to `set -e'.  Add
11802         trailing `:' command.
11803         (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
11804
11805         Remove a couple of obsoleted tests.
11806         * tests/fpinstall.test: Removed.
11807         * tests/fpinst2.test: Likewise.
11808         * tests/Makefile.am (TESTS): Updated.
11809
11810         Bootstrap: updated HACKING entry.
11811         * HACKING ("Working with git"): Explain how to override the
11812         autoconf and autom4te programs used by the bootstrap process.
11813
11814         Bootstrap: fixlet.
11815         * bootstrap: Do not remove `lib/Automake/Config.pm' anymore,
11816         since we don't generate it.  Correctly quote arguments of
11817         `eval' builtin.  Fixed a botched error message.  Removed an
11818         extra blank line.
11819
11820         Bootstrap: don't search perl in $PATH.
11821         * bootstrap: Do not explicitly search perl in $PATH anymore.
11822         ($PATH_SEPARATOR): Removed, it's no more needed.
11823
11824         Bootstrap: let the user choose which autoconf to use.
11825         * bootstrap ($AUTOCONF): New variable, from the environment.
11826         ($AUTOM4TE): Likewise, for clarity.
11827         Use "$AUTOCONF" instead of calling "autoconf" directly.
11828
11829         Minor improvements to tests ar*.test.
11830         * tests/ar.test: Add trailing `:' command.
11831         * tests/ar2.test: Likewise, and make grepping of generated
11832         Makefile.in stricter.
11833
11834 2010-08-06  Peter Rosin  <peda@lysator.liu.se>
11835
11836         Add new auxiliary 'ar-lib' script, wrapping Microsoft lib.
11837         * lib/ar-lib: New auxiliary script.
11838         * lib/Makefile.am: Add above.
11839         * tests/ar-lib.test: New test.
11840         * tests/Makefile.am: Add above.
11841         * automake.in (@common_files): Distribute the 'ar-lib' script.
11842         * doc/automake.texi (Auxiliary Programs): Mention the new
11843         'ar-lib' script.
11844         (Optional): Mention 'ar-lib' in AC_CONFIG_AUX_DIR.
11845         * NEWS: Update.
11846
11847 2010-08-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11848
11849         Fix shell pattern negation in compile script.
11850         * lib/compile (func_file_conv): Use `!' not `^' for pattern
11851         negation.
11852
11853 2010-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11854
11855         Fix maintainer-check failure.
11856         * tests/cond5.test: Quote sleep argument, this isn't about
11857         time stamp differences.
11858
11859         Sync auxiliary files from upstream.
11860         * lib/config.guess, lib/config.sub, lib/texinfo.tex:
11861         Sync from upstream.
11862
11863 2010-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
11864
11865         Work around a nasty bug (segfault) of Solaris make.
11866         * lib/am/check.am (recheck, recheck-html): Trim trailing spaces
11867         from $list, to avoid triggering a nasty bug (potential segfault)
11868         on Solaris make.
11869
11870 2010-08-06  Peter Rosin  <peda@lysator.liu.se>
11871
11872         Make cond5.test more robust on MSYS.
11873         * tests/cond5.test: Add delay before the first kill attempt to
11874         cater for problems with MSYS bash.
11875
11876 2010-08-01  Peter Rosin  <peda@lysator.liu.se>
11877
11878         Wrap some MSVC options in the compile script.
11879         * lib/compile: MSVC supports naming the output file, the option
11880         is just not called -o, so transform -o into the appropriate form
11881         for MSVC. Also wrap some other options while at it (-L, -l, -Wl,
11882         -Xlinker and -I) and convert file names to windows form where
11883         needed for those options to make MSVC more usable in an
11884         autotooled environment.
11885         * doc/automake.texi (Auxiliary Programs): Document the above
11886         extension of the compile script.
11887         * NEWS: Updated.
11888         * tests/defs.in: New required entry 'cl'.
11889         * tests/compile3.test: New test.
11890         * tests/compile4.test: New test.
11891         * tests/compile5.test: New test.
11892         * tests/Makefile.am: Update.
11893
11894 2010-07-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11895
11896         Add example git work flow; discuss merge --log in HACKING.
11897         * HACKING: Update.
11898         Suggestion by Stefano Lattarini.
11899
11900         Add more hints for debugging make rules.
11901         * doc/automake.texi (Debugging Make Rules): Show command to find
11902         out expanded values of variables; point to makefile debugger.
11903         * THANKS: Update.
11904         Prompted by suggestion from Ludovic Courtès and Andy Wingo.
11905
11906 2010-07-27  Patrick Welche  <prlw1@cam.ac.uk>  (tiny change)
11907
11908         Fix typo in the manual.
11909         * doc/automake.texi (Scripts): Fix typo.
11910
11911 2010-07-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11912
11913         Document current policy for development with git.
11914         * HACKING (Working with git): Overhaul.
11915         Prompted by suggestion from Stefano Lattarini.
11916
11917         Fix AM_COND_IF for gone-invalid condition shell expression.
11918         * m4/cond-if.m4 (AM_COND_IF): test contents of $COND_TRUE
11919         variable, rather than re-evaluating the shell expression for
11920         the condition.
11921         * tests/cond40.test: Extend test.
11922         * NEWS: Update.
11923
11924         Avoid syntax error if IF-TRUE part of AM_COND_IF expands empty.
11925         * m4/cond-if.m4 (AM_COND_IF): Ensure IF-TRUE part is never empty
11926         to avoid shell syntax error if the m4 expansion is empty.
11927         * tests/cond40.test: Enhance test.
11928
11929         Coverage: bogus option to AM_INIT_AUTOMAKE.
11930         * tests/init2.test: New test.
11931         * tests/Makefile.am: Update.
11932
11933 2010-07-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
11934
11935         Modernize and improve test scripts `subdir*.test'.
11936         * tests/subdir.test: Enable `errexit' shell flag, and related
11937         changes.  Use the `configure.in' stub created by `./defs',
11938         rather than writing one from scratch.
11939         * tests/subdir2.test: Likewise.
11940         * tests/subdir4.test: Likewise.
11941         * tests/subdir3.test: Enable `errexit' shell flag, and related
11942         changes.  Do not create useless dummy source files.
11943         * tests/subdir5.test: Make grepping of Makefile.in (in topdir
11944         and in subdirs) stricter.  Some minor changes to keep it more
11945         in sync with the related test `subdir8.test'.
11946         * tests/subdir8.test: Likewise (but with the related test being
11947         `subdir5.test' here).
11948         * tests/subdir6.test: Cosmetic change in spacing.
11949         * tests/subdir9.test: Define and use new variable `$distdir'.  Add
11950         trailing `:' command.
11951         * tests/subdir10.test: Cosmetic consistency-related change.
11952         * tests/subdirbuiltsources.test: Cosmetic changes in spacings.
11953         (configure.in): Use stub created by `./defs', rather than writing
11954         it from scratch.  Do not use obsoleted and/or deprecated forms of
11955         autoconf/automake macros.
11956
11957         Modernize and improve test scripts `dist*.test'.
11958         * tests/distcleancheck.test: Do not add useless `-e' option to
11959         a $MAKE call.  Extend test by grepping stderr of make.
11960         * tests/distcom2.test: Do not run the same test script on the
11961         Makefile.in twice, but save its output in an intermediate file
11962         instead.  Make grepping of DIST_COMMON definition stricter.
11963         Display the content of more files, to ease debugging.  Add a
11964         trailing `:' command.  Improved heading comments w.r.t. sister
11965         test(s).
11966         * tests/distcom6.test: Likewise, and avoid to uselessly run
11967         autoconf.
11968         * tests/distcom3.test: Ensure verbose printing of captured stdout
11969         and stderr.  Make grepping of captured stderr stricter.  Also,
11970         add trailing `:' command.
11971         * tests/distcom4.test: Declare the target `test' in the generated
11972         Makefile.am as `.PHONY'.  Display content of more files, to ease
11973         debugging.  Add trailing `:' command.
11974         * tests/distcom5.test: Likewise.  Also, factor out common sed
11975         script in subroutine `extract_distcommon'.
11976         * tests/distcom7.test: Prefer cat + here-doc over echo to write
11977         test Makefile.am files.  Add a trailing `:' command.
11978         * tests/distname.test: Prefer `gzip -d' over `gunzip'.  Move the
11979         call to `set -e' earlier.  Be stricter and more verbose in the
11980         checking of the generated tarball.
11981         (configure.in): Use the stub provided by ./defs, instead of
11982         writing it from scratch.  Avoid obsoleted constructs.  Remove
11983         useless call to `AM_PROG_CC_C_O'.
11984         * tests/distdir.test: Various minor improvements/normalizations.
11985         * tests/distlinks.test: Likewise.
11986
11987 2010-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
11988
11989         Improve and extend test cond5.test.
11990         * tests/cond5.test: Do not blindly sleep 60 seconds before polling
11991         the background automake process, but poll it every 10 seconds for
11992         at most 30 times (this makes the test both faster on good machines,
11993         and more resilient to spurious timeout-due failures when in low
11994         priority or on heavily-loaded systems).
11995         Check also that automake writes the expected error messages on the
11996         standard error.
11997         Enable `errexit' flag, and related changes.
11998         Rely on the `configure.in' stub created by `./defs', rather than
11999         writing one from scratch.
12000
12001 2010-06-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12002
12003         Update program --help output to match current GCS.
12004         * configure.ac: Set and substitute PACKAGE_URL if AC_PACKAGE_URL
12005         is not defined, for compatibility to Autoconf < 2.64.
12006         * Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT and
12007         PACKAGE_URL.
12008         (sc_diff_automake_in_automake): Update number of diff lines for
12009         additional substitutions.
12010         * aclocal.in (usage): Use PACKAGE_BUGREPORT.  Point to Automake
12011         home page and GNU general help page.
12012         * automake.in (usage): Likewise.
12013         * doc/automake.texi: New flag PACKAGE_BUGREPORT, to factor email
12014         address.
12015         (Introduction, Creating amhello, amhello Explained, Options):
12016         Use it throughout.
12017         * lib/Automake/Makefile.am (do_subst): Substitute
12018         PACKAGE_BUGREPORT.
12019         * lib/Automake/Config.in ($PACKAGE_BUGREPORT): New global.
12020         * lib/Automake/ChannelDefs.pm: Use it for footer of fatal
12021         messages.
12022
12023         Clean up @var handling in the manual.
12024         * doc/automake.texi: Throughout the manual, lower-case @var
12025         names, replace a few one-character names.
12026
12027 2010-06-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
12028
12029         Fix typo-related bug in test script silent5.test.
12030         * tests/silent5.test: Use $EGREP, not $GREP (which is not even
12031         defined).
12032
12033         Tests: remove useless repetitions of `foreign' automake option.
12034         * tests/multlib.test (configure.in): Remove useless use of
12035         `foreign' option in AM_INIT_AUTOMAKE (the `--foreign' option is
12036         already in $AUTOMAKE by default, so no point in repeating it).
12037         * tests/subobj10.test: Likewise.
12038         * tests/subobj9.test: Likewise.
12039         * tests/lex3.test (Makefile.am): Similarly, remove useless use
12040         of `foreign' option in AUTOMAKE_OPTIONS.
12041         * tests/lex5.test: Likewise.
12042         * tests/pr279.test: Likewise.
12043         * tests/pr279-2.test: Likewise.
12044         * tests/specflg3.test: Likewise.
12045         * tests/target-cflags.test: Likewise.
12046
12047         Drop useless requirement "gzip" in lex5.test.
12048         * tests/lex5.test ($required): Do not list "gzip", as it's
12049         never used.
12050
12051 2010-06-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
12052
12053         Fix bugs in test script silent5.test.
12054         * tests/silent5.test: Fixed a nasty bug (due to the use of grep
12055         instead of egrep) that could have led to false negatives.
12056
12057 2010-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
12058
12059         Add a test checking that distributed broken symlinks cause
12060         `make dist' to fail.
12061         * tests/distlinksbrk.test: New test.
12062         * tests/Makefile.am (TESTS): Updated.
12063
12064 2010-06-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12065
12066         Fix minor testsuite issues, update docs, for Yacc/Lex changes.
12067         * doc/automake.texi (Yacc and Lex): Mention AM_YFLAGS, YFLAGS
12068         and AM_LFLAGS, LFLAGS in the order in which they now appear in
12069         the rules.
12070         * NEWS: Update.
12071         * tests/lflags.test, tests/lflags2.test, tests/yflags.test,
12072         tests/yflags2.test: Prefer `make -e' over `make VAR=VAL', to
12073         please maintainer-check.  Ensure generated C files contain a
12074         declaration, to please compilers.
12075
12076 2010-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
12077
12078         Fix bugs in Automake Yacc/Lex support w.r.t. $(AM_FLAGS) and
12079         $(FLAGS) precedence.
12080         * automake.in: Fix registration of languages "Lex", "Lex (C++)",
12081         "Yacc" and "Yacc (C++)", so that $(LFLAGS) has precedence over
12082         $(AM_LFLAGS) and $(YFLAGS) has precedence over $(AM_YFLAGS).
12083         * tests/Makefile.am (XFAIL_TESTS): Updated accordingly.
12084         * NEWS: Updated.
12085
12086         New tests, exposing bugs in Automake Yacc/Lex support w.r.t.
12087         $(AM_FLAGS) and $(FLAGS) precedence.
12088         * tests/lflags.test: New test, check that user $(LFLAGS) takes
12089         precedence over automake (AM_LFLAGS) and (foo_LFLAGS).  Still
12090         xfailing.
12091         * tests/lflags2.test: Likewise.
12092         * tests/yflags.test: New test, check that user $(YFLAGS) takes
12093         precedence over automake (AM_YFLAGS) and (foo_YFLAGS).  Still
12094         xfailing.
12095         * tests/yflags2.test: Likewise.
12096         * tests/Makefile.am (TESTS, XFAIL_TESTS): Extended accordingly.
12097
12098 2010-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
12099
12100         Modernize, improve and extend tests `suffix*.test'.
12101         * tests/suffix3.test: Enable `errexit' shell flag, and related
12102         changes.
12103         * tests/suffix4.test: Likewise.
12104         * tests/suffix6.test: Likewise, and do not create a useless dummy
12105         source file.
12106         * tests/suffix7.test: Likewise.
12107         * tests/suffix5.test: Enable `errexit' shell flag, and related
12108         changes.  Make grepping of Makefile.in slightly stricter.
12109         * tests/suffix.test: Enable `errexit' shell flag, and related
12110         changes.  Also, do not redirect grep output to /dev/null, as this
12111         might unmotivatedly hide useful information.
12112         * tests/suffix2.test: Move setting of `errexit' shell flag earlier
12113         in the script (just after inclusion of ./defs).  Use a more
12114         idiomatic way to count text occurrences in Makefile.in with
12115         grep.  Do not create useless dummy source files.
12116         * tests/suffix10.test: Ensure verbose printing of captured make
12117         stdout.  Minor cosmetic changes.
12118         * tests/suffix8.test: Likewise.  Also, drop useless call to the
12119         env(1) utility, and make grepping of make output stricter by using
12120         $FGREP rather than plain grep.
12121         * tests/suffix11.test: Likewise.
12122         * tests/suffix12.test: Likewise.
12123         * tests/suffix9.test: Prefer cat + here-doc over echo to append to
12124         the `configure.in' stub.  Cosmetic changes.
12125         * tests/suffix13.test: Cosmetic spacing change.
12126
12127 2010-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
12128
12129         Add useful comment in test script ext.test.
12130         * tests/ext.test: Add a comment explaining why an apparently
12131         useless `if' statement is indeed required.
12132
12133 2010-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
12134
12135         Add useful comment in test script obsolete.test.
12136         * tests/obsolete.test: Add a comment explaining why we need
12137         an indirection in adding $AUTOUPDATE to $required.
12138
12139         Normalize whitespaces in 'tests/Makefile.am'.
12140         * tests/Makefile.am (TESTS): Use only spaces, not tabs, in the
12141         definition of this variable.
12142
12143         Parallel tests generation: improve comments (tiny change).
12144         * tests/Makefile.am ($(parallel_tests)): Added useful comment to
12145         generated tests.
12146
12147         Tests defs: truly get rid of `$am_defs_included' (unused variable)
12148          * tests/defs.in ($am_defs_included): Remove, its now unused.  It
12149         should have been removed in a previous changeset, but the removal
12150         was done only partially (oversight).
12151
12152 2010-06-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12153
12154         Remove a couple of unneeded conditionals from tests.
12155         * tests/pr243.test, tests/pr266.test, tests/strip.test: No need
12156         for the FOOTEST conditional.
12157
12158 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
12159
12160         Modernize, improve and/or fix various test scripts.
12161         * tests/symlink3.test: Deleted, separated into two new, more
12162         complete tests ...
12163         * tests/forcemiss.test: ... this one ...
12164         * tests/forcemiss2.test: ... and this one.
12165         * tests/symlink2.test: Enable `errexit' shell flag, make test
12166         stricter, and skip it if symlink creation is not supported.
12167         * tests/postproc.test: Enable `errexit' shell flag, related
12168         changes, and a couple of unrelated cosmetic changes.
12169         * tests/recurs.test: Use the `configure.in' stub created by
12170         `./defs', rather than writing one from scratch.  Make grepping
12171         of Automake stderr slightly stricter.
12172         * tests/substtarg.test: Likewise.
12173         * tests/strip.test: Likewise, and move the call to `set -e'
12174         earlier (just after the inclusion of `./defs'). Also, make sure
12175         that the script installed by `make install-script' is equal to
12176         the original one.
12177         * tests/substref.test: Use the `configure.in' stub created by
12178         `./defs', rather than writing one from scratch.  Move the call
12179         to `set -e' earlier (just after the inclusion of `./defs').
12180         Avoid to explicitly export CC for configure (that's already done
12181         in ./defs).  Avoid potential problems with unpredictable make
12182         output.  Finally, make grepping of Makefile.in stricter.
12183         * tests/substre2.test: Ensure verbose printing of the captured
12184         make's output, and make its grepping slightly stricter.
12185         * tests/cygwin32.test: Enable `errexit' shell flag, and related
12186         changes.  Also, do not create useless dummy source/data files.
12187         * tests/scripts.test: Likewise.
12188         * tests/recurs2.test: Likewise.  Also, use the `configure.in'
12189         stub created by `./defs'.
12190         * tests/Makefile.am (TESTS): Updated.
12191
12192         Modernize, improve and/or fix tests `pluseq*.test.
12193         * tests/pluseq5.test: Append to configure.in using cat with an
12194         here-doc, not using echo.
12195         * tests/pluseq10.test: Make sure that the captured output of
12196         `make' command is always displayed. Where possible, use $FGREP
12197         instead of grep (this change makes some checks slightly stricter).
12198         * tests/pluseq8.test: Enable `errexit' shell flag, with related
12199         changes.
12200         * tests/pluseq.test: Likewise.  Also, do not create useless dummy
12201         data files, and use better m4 quoting in generated configure.in.
12202         * tests/pluseq2.test: Likewise.  Also, append to configure.in
12203         using cat with an here-doc, not using echo.
12204         * tests/pluseq3.test: Likewise.
12205         * tests/pluseq4.test: Likewise.
12206         * tests/pluseq6.test: Likewise.
12207         * tests/pluseq7.test: Do not create useless dummy source file.
12208         * tests/pluseq9.test: Slightly extended w.r.t. the grepping of
12209         Automake stderr.  Some unrelated cosmetic changes.
12210
12211 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
12212
12213         cscope.test: ensure verbose printing of captured stderr.
12214         * tests/cscope.test: Print captured stderr before failing.
12215
12216 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
12217
12218         Testsuite: ensure verbose printing of captured stderr.
12219         * tests/acloca18.test: Print captured stderr before either failing
12220         or grepping it.  Be sure to send captured stderr to stderr, not to
12221         stdout.
12222         * tests/ansi3b.test: Likewise.
12223         * tests/cond39.test: Likewise.
12224         * tests/configure.test: Likewise.
12225         * tests/missing3.test: Likewise.
12226         * tests/missing6.test: Likewise.
12227         * tests/output-order.test: Likewise.
12228         * tests/pr300-ltlib.test: Likewise.
12229         * tests/python6.test: Likewise.
12230         * tests/python7.test: Likewise.
12231         * tests/python8.test: Likewise.
12232         * tests/python9.test: Likewise.
12233         * tests/subobj.test: Likewise.
12234         * tests/vars3.test: Likewise.
12235         * tests/missing4.test: Likewise, and fix a call to grep not to use
12236         the `-c' flag.
12237         * tests/ansi3.test: Likewise, and rely on the `configure.in' stub
12238         created by `./defs', rather than writing one from scratch.
12239
12240         Enable `errexit' shell flag in various tests.
12241         * tests/backsl.test: Enable the `errexit' shell flag, and
12242         related changes.
12243         * tests/backsl2.test: Likewise.
12244         * tests/block.test: Likewise.
12245         * tests/canon2.test: Likewise.
12246         * tests/canon4.test: Likewise.
12247         * tests/comment2.test: Likewise.
12248         * tests/condlib.test: Likewise.
12249         * tests/cond15.test: Likewise, and prefer $FGREP over grep.
12250         * tests/canon3.test: Likewise.  Also, avoid to create an useless
12251         dummy source file.
12252         * tests/acoutpt2.test: Enable the `errexit' shell flag, and some
12253         related changes.  Do some cosmetic improvements in the generated
12254         `configure.in' file.
12255         * tests/cond4.test: Likewise.
12256         * tests/cond14.test: Likewise.
12257         * tests/condinc.test: Likewise.
12258         * tests/cond7.test: Likewise.  Also, remove useless setting of
12259         AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am.
12260         * tests/ansi.test: Enable the `errexit' shell flag, and related
12261         changes.  Extended, esp. by running autoconf, ./configure and
12262         make, and by looking into the distdir.
12263
12264 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
12265             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12266
12267         Extend tests/README w.r.t. trailing `:' in test scripts.
12268         * tests/README (section "Writing test cases" subsection "Do"):
12269         Explain why apparently redundant trailing `:' and `Exit 0' in
12270         test scripts can indeed be useful.
12271
12272 2010-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
12273
12274         Improve determination of PATH separator in bootstrap script.
12275         * bootstrap: Determine what the PATH separator is the same way
12276         autoconf does.
12277
12278         Minor improvements in bootstrap script.
12279         * bootstrap: Consistently use two-spaces indentation.  Cosmetic
12280         improvement to comments.
12281         ($me): New variable, containing program basename.
12282         Prepend it to all error messages.
12283
12284         Testsuite now works with BSD make in parallel mode.
12285         * tests/defs.in: Unset variables __MKLVL__ and MAKE_JOBS_FIFO,
12286         which are exported by BSD make when run in parallel mode, and
12287         which can confuse make processes spawned by our testsuite.
12288         This change fixes a lot of spurious failure when the testsuite
12289         is run with BSD make in parallel mode.
12290
12291 2010-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
12292
12293         Modernize, improve and/or fix various test scripts.
12294         * tests/sanity.test: Rely on the `configure.in' stub created by
12295         `./defs', rather than writing one from scratch.
12296         * tests/depend2.test: Likewise.  Also, call `set -e' just after
12297         the inclusion of `./defs', instead that later in the script.
12298         * tests/canon5.test: Avoid a useless `|| Exit 1' after a call to
12299         $AUTOMAKE, and improve the positioning of an $ACLOCAL call.
12300         * tests/exeext4.test: Use $FGREP instead of grep, where possible.
12301         Make auxiliary rules in the generated Makefile more silent.
12302         These changes make some checks slightly stricter.
12303         * tests/ext2.test: Call `Exit 1' if inclusion of `./defs' fails.
12304         * tests/gettext2.test: Place final `:' at the end of the script,
12305         rather than in the middle.
12306         * tests/exeext.test: Call `set -e' just after the inclusion of
12307         `./defs', instead that later in the script.
12308         * tests/extra5.test: Likewise.
12309         * tests/confdeps.test: Likewise.  Also, prefer `mv -f' over
12310         plain `mv', just to be sure.
12311         * tests/depcomp.test: Enable `errexit' shell flag, with related
12312         changes.  Also, modernize the generated configure.in.
12313         * tests/cond9.test: Likewise.  Also, rely on the `configure.in'
12314         stub created by `./defs', rather than writing one from scratch.
12315         * tests/cond10.test: Likewise.
12316         * tests/depcomp2.test: Likewise.
12317         * tests/depend3.test: Likewise.
12318         * tests/distcom7.test: Likewise.
12319         * tests/fortdep.test: Likewise.  Also, remove definition of
12320         AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am,
12321         since that flag is already provided by $AUTOMAKE.
12322         * tests/mdate.test: Made stricter, by checking that Automake
12323         actually failed, and by making a stricter grep on the error
12324         message.  Also, set shell `errexit flag'.
12325         * tests/python2.test: Improved verbose messages.
12326
12327         Make test `ammissing.test' stricter.
12328         * tests/ammissing.test: Fail if $ACLOCAL succeeds unexpectedly.
12329         Enable `errexit' shell flag.
12330
12331 2010-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
12332             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12333
12334         Fix error in generation of parallel tests.
12335         * tests/defs.in ($am_skip_defs): New variable, to be used when
12336         ./defs must be sourced multiple times.  If set, unset it and
12337         only define $srcdir; otherwise, also go through the rest of
12338         the script.
12339         ($am_defs_included): Remove, no more needed.
12340         * tests/Makefile.am ($(parallel_tests)): Update accordingly,
12341         using only $srcdir from defs.
12342         Fixes potential test failures of tests that use $required.
12343
12344 2010-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
12345
12346         Enable `errexit' shell flag in some test scripts.
12347         * tests/subcond.test: Enabled `errexit' shell flag, and related
12348         minor changes.
12349         * tests/subst.test: Likewise.
12350         * tests/vars.test: Likewise.
12351         * tests/version4.test: Likewise.
12352         * tests/vpath.test: Likewise.
12353         * tests/vtexi2.test: Likewise.
12354         * tests/werror.test: Likewise.
12355         * tests/whoami.test: Likewise.
12356         * tests/tags.test: Likewise, and avoid to crate an useless dummy
12357         header file.
12358         * tests/acsilent.test: Likewise, and don't use an easily-avoided
12359         command substitution.
12360         * tests/unused.test: Likewise, and don't use an easily-avoided
12361         command substitution.
12362         * tests/version.test: Likewise, and avoid deprecated constructs
12363         in the generated `configure.in'.
12364         * tests/version2.test: Likewise, and avoid deprecated constructs
12365         in the generated `configure.in'.
12366
12367 2010-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12368             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12369
12370         Improve declaration of dependencies in the testsuite.
12371         * tests/Makefile.am (check_SCRIPTS): Remove.  Instead, let ...
12372         ($(TEST_LOGS)): ... all test logs depend on the scripts.
12373         * test/gen-parallel-tests: For each parallel test foo-p.test,
12374         let `foo-p.log' also depend on `foo.test', since it is sourced.
12375
12376 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12377
12378         Coverage for TAGS_DEPENDENCIES warning.
12379         * tests/tags2.test: New test.
12380         * tests/Makefile.am: Update.
12381
12382         Coverage for use of anachronistic variables.
12383         * tests/oldvars.test: New test.
12384         * tests/Makefile.am: Update.
12385
12386         Testsuite coverage for bogus macro file serial numbers.
12387         * tests/acloca18.test: Also test ill-formed serial numbers
12388         and serial numbers after macro definitions.
12389
12390         Coverage for aclocal diagnosing underquoted macros.
12391         * tests/acloca23.test: New test.
12392         * tests/Makefile.am: Update.
12393
12394 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12395
12396         Prefer AUTOMAKE_fails over `$AUTOMAKE | grep' in tests.
12397         * tests/ldadd.test: Enable errexit.  Use AUTOMAKE_fails so
12398         the verbose log contains all output.
12399         * tests/mdate.test: Likewise.
12400         Prompted by Stefano Lattarini's change to discover.test.
12401
12402 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12403
12404         More minor message fixes.
12405         * aclocal.in (scan_file): Fix recommended info command line.
12406         * automake.in (handle_lib_objects): No need to prepend function
12407         name to prog_error message.
12408         (handle_tags): Add missing word and missing space in error
12409         message.
12410         (handle_dist): Add missing closing single quote in message.
12411         Line-wrap one long message for readability.
12412
12413 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
12414             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12415
12416         Fix distcheck failure with distributed generated parallel tests.
12417         * tests/Makefile.am ($(parallel_tests)): Cope with $(srcdir)
12418         being different from the value at developer `make dist' time.
12419         * tests/defs.in: Protect against multiple inclusion, by using ...
12420         ($am_defs_included): ... this new variable.
12421         ($srcdir): Do not compute, but simply define to `@abs_srcdir@'
12422         as substituted by configure.
12423         Report, suggestions and first fix by Ralf Wildenhues, final
12424         patch by Stefano Lattarini.
12425
12426 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
12427
12428         Improve tests link*.test (enable `errexit' shell flag).
12429         * tests/link_c_cxx.test: Enable `errexit shell flag, and related
12430         changes.  Also, do not create useless source files.
12431         * tests/link_dist.test: Likewise.
12432         * tests/link_f90_only.test: Likewise.
12433         * tests/link_f_only.test: Likewise.
12434         * tests/link_fc.test: Likewise.
12435         * tests/link_fccxx.test: Likewise.
12436         * tests/link_fcxx.test: Likewise.
12437
12438 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12439
12440         Improve ext.test semantics, avoid OpenBSD sh errexit issue.
12441         * tests/ext.test: Inside shell compound command, use
12442         `if $cmd; then Exit 1; fi' rather than `$cmd && Exit 1', to
12443         fix failure with OpenBSD sh introduced with last patch.
12444         Actually ensure that a rule for .EXT.o is created for each
12445         known extension EXT.
12446
12447 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
12448
12449         Enable `errexit' shell flag in some test scripts.
12450         * tests/dash.test: Enable `errexit' shell flag, and related
12451         changes.
12452         * tests/defun.test: Likewise.
12453         * tests/defun2.test: Likewise.
12454         * tests/dejagnu.test: Likewise.
12455         * tests/double.test: Likewise.
12456         * tests/distcom2.test: Likewise.
12457         * tests/empty2.test: Likewise.
12458         * tests/empty3.test: Likewise.
12459         * tests/empty4.test: Likewise.
12460         * tests/exdir.test: Likewise.
12461         * tests/ext.test: Likewise.
12462         * tests/extra.test: Likewise.
12463         * tests/extra2.test: Likewise.
12464         * tests/extra3.test: Likewise.
12465         * tests/extra4.test: Likewise.
12466         * tests/flibs.test: Likewise.
12467         * tests/fnoc.test: Likewise.
12468         * tests/fo.test: Likewise.
12469         * tests/instexec.test: Likewise.
12470         * tests/ltdeps.test: Likewise.
12471         * tests/nodep.test: Likewise.
12472         * tests/nodepcomp.test: Likewise.
12473         * tests/f90only.test: Likewise, and remove botched/obsoleted
12474         comments and unnecessary commands.
12475         * tests/fonly.test: Likewise, and remove botched/obsoleted
12476         comments and unnecessary commands.
12477         * tests/discover.test: Likewise, and made stricter.
12478
12479         Enable `errexit' shell flag in all tests cxx*.test.
12480         * tests/cxx.test: Enabled `errexit' shell flag, and related
12481         minor changes.
12482         * tests/cxxansi.test: Likewise.
12483         * tests/cxxcpp.test: Likewise.
12484         * tests/cxxlibobj.test: Likewise.
12485         * tests/cxxlink.test: Likewise.
12486         * tests/cxxo.test: Likewise.
12487
12488         Enable `errexit' shell flag in various tests.
12489         * tests/acoutnoq.test: Enabled `errexit' shell flag, and related
12490         minor changes.
12491         * tests/acoutpt.test: Likewise.
12492         * tests/acoutqnl.test: Likewise.
12493         * tests/amassign.test: Likewise.
12494         * tests/ansi2.test: Likewise.
12495         * tests/ansi4.test: Likewise.
12496         * tests/badprog.test: Likewise.
12497         * tests/checkall.test: Likewise.
12498         * tests/clean.test: Likewise.
12499         * tests/colneq2.test: Likewise.
12500         * tests/colon.test: Likewise.
12501         * tests/colon5.test: Likewise.
12502         * tests/colon6.test: Likewise.
12503         * tests/comment.test: Likewise.
12504         * tests/compile_f90_c_cxx.test: Likewise.
12505         * tests/compile_f_c_cxx.test: Likewise.
12506         * tests/cond3.test: Likewise.
12507         * tests/cond6.test: Likewise.
12508         * tests/cond13.test: Likewise.
12509         * tests/conf2.test: Likewise.
12510         * tests/confvar.test: Likewise.
12511         * tests/confvar2.test: Likewise.
12512         * tests/cond8.test: Likewise, plus a cosmetic change.
12513         * tests/confh4.test: Likewise.  Also, add in the heading comments
12514         an excerpt from the original bug report which motivated the
12515         creation of this test, to make its purpose clearer.
12516
12517 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12518
12519         Rewrite manual to be gender-neutral.
12520         * doc/automake.texi (GNU Build System)
12521         (Standard Directory Variables, General Operation, CVS)
12522         (Hard-Coded Install Paths, Dependencies As Side Effects):
12523         Rewrite text to not contain gender-specific pronouns when
12524         speaking about developers or users, either by avoiding pronouns
12525         or by addressing them as `you' instead.
12526         * THANKS: Update.
12527         Report by Christina Gratorp.
12528
12529         * AUTHORS: Update.
12530
12531 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
12532
12533         Tiny fix in silent8.test (display output of `make' command).
12534         * tests/silent8.test: Make sure that the captured output of `make'
12535         command is always displayed.
12536
12537         Make tests on user extensibility of silent-rules mode stricter.
12538         * tests/silent6.test: Made stricter w.r.t. the grepping of the
12539         output produced by `make'.
12540         * tests/silent7.test: Likewise.
12541
12542         Tests on silent-mode for C/Libtool made stricter.
12543         * tests/silent.test: Made stricter w.r.t. the grepping of the
12544         output produced by `make'.
12545         * tests/silent2.test: Likewise.
12546         * tests/silent4.test: Likewise.
12547         * tests/silent9.test: Likewise.
12548         * tests/silent3.test: Likewise, and add a final `make distclean'
12549         command to keep it better in sync with tests/silent{4,9}.test.
12550
12551         Improved test silent5.test.
12552         * tests/silent5.test: Remove by hand all generated C files after
12553         non-verbose builds, to ensure the following builds are clean.
12554         Try to clean and rebuild with the same verbosity and without
12555         removing generated sources in between, to check that this does
12556         not trigger a different set of rules.  Make grepping of make's
12557         output stricter.  Improved/added some comments.
12558
12559         New tests for Automake silent-mode with Fortran.
12560         * tests/silentf77.test: New test.
12561         * tests/silentf90.test: Likewise.
12562         * tests/Makefile.am (TESTS): Updated accordingly.
12563
12564         New test `silentcxx.test' (Automake silent-mode with C++).
12565         * tests/silentcxx.test: New test.
12566         * tests/Makefile.am (TESTS): Updated accordingly.
12567
12568         New test `silentyacc.test' (Automake silent-mode with Yacc).
12569         * tests/silentyacc.test: New test.
12570         * tests/Makefile.am (TESTS): Updated accordingly.
12571
12572         New test `silentlex.test' (Automake silent-mode with Lex).
12573         * tests/silentlex.test: New test.
12574         * tests/Makefile.am (TESTS): Updated accordingly.
12575
12576         Relax tests on silent-rules to cater to overly verbose makes.
12577         * tests/silent.test: When testing silent builds, don't fail if
12578         make's output simply contains the `mv' substring, but only if
12579         it contains the `mv ' substring (note the trailing space).
12580         * tests/silent2.test: Likewise.
12581         * tests/silent3.test: Likewise.
12582         * tests/silent4.test: Likewise.
12583         * tests/silent5.test: Likewise.
12584         * tests/silent9.test: Likewise.
12585
12586 2010-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
12587
12588         Extend test on `nostdinc' automake option.
12589         * tests/nostdinc.test: Enable `errexit' shell flag.  Related and
12590         unrelated minor changes.  Make the grepping of the generated
12591         Makefile.in slightly stricter.  Generate and run configure, so that
12592         the generated Makefile can be grepped too.
12593
12594 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12595
12596         Make gnupload portable to EBCDIC hosts.
12597         * lib/gnupload: Use literal newline as argument for 'tr' rather
12598         than \015, for EBCDIC hosts.  Also, avoid unportable nested
12599         double-quotes and backquotes.
12600         * THANKS: Update.
12601         Report from Eric Blake and Steve Goetze via gnulib.
12602
12603 2010-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
12604
12605         Fix Autoconf version required by Automake's configure.
12606         Automake configure script used to tell that automake required
12607         autoconf 2.60 or later, but then it checked for autoconf >= 2.62,
12608         and if that was not found, it gave an error saying that Automake
12609         required configure 2.61a-341 or later.  This change should
12610         eliminate such inconsistencies.
12611         * configure.ac ($required_autoconf_version): New variable.
12612         Use it throughout.
12613
12614 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12615
12616         Fix truncated comment in Makefile.am.
12617         * Makefile.am (sc_tests_logs_duplicate_prefixes): Fix unfinished
12618         sentence in comment.
12619         Report by Stefano Lattarini.
12620
12621         Relax silent8.test for NetBSD make.
12622         * tests/silent8.test: Accept ./foo.info in output as well.
12623
12624         Fix unportable sed script in maintainer-check test.
12625         * Makefile.am (sc_tests_Exit_not_exit): Rewrite sed script to
12626         not contain semicolon after 'b' or brace commands, for NetBSD.
12627
12628         Wildcards are not portable to NetBSD make.
12629         * doc/automake.texi (Wildcards): Document portability issue.
12630         * tests/extra10.test, tests/extra11.test, tests/extra12.test:
12631         Require GNU make.
12632
12633 2010-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
12634
12635         Make test for configure.in vs. configure.ac stricter.
12636         * tests/configure.test: Use a configure.in file that provokes
12637         an automake error, to ensure configure.ac is preferred.
12638
12639         Avoid possible false negatives in dejagnu7.test.
12640         * tests/dejagnu7.test: Enable shell `errexit' flag.  Also, avoid
12641         unportable use of fgrep option `-e'.
12642
12643         Fix conflnk3.test to work with Solaris/Heirloom Sh.
12644         * tests/conflnk3.test: Use `test -r FILE' and `test ! -r FILE'
12645         instead of respectively `test -e FILE' and `test ! -e FILE',
12646         since Solaris Sh doesn't grok the latter.  Do not SKIP the test
12647         if the shell doesn't support `test -e'.
12648
12649 2010-04-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12650
12651         Warning and error message formatting cleanups.
12652         * aclocal.in (parse_arguments, main): Remove trailing period or
12653         newline in error or warning messages, avoid capitalization of
12654         the first word of a message.
12655         * automake.in (check_user_variables, handle_languages)
12656         (handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files)
12657         (scan_autoconf_files, cond_stack_if, require_file_internal)
12658         (usage, generate_makefile, parse_arguments): Likewise.
12659         * lib/Automake/ChannelDefs.pm (set_strictness): Likewise.
12660         * lib/Automake/Configure_ac.pm (find_configure_ac): Likewise.
12661         * lib/Automake/Options.pm (set_strictness): Likewise.
12662         * lib/Automake/Rule.pm (define): Likewise.
12663         * lib/Automake/Variable.pm (define, variables_dump): Likewise.
12664         * tests/ltinstloc.test, tests/suffix11.test: Adjust expected
12665         error message.
12666         * lib/Automake/Channels.pm (setup_channel): Reword error message
12667         to be the same as in msg.
12668
12669         Fix placing of ellipses in English text and synopses.
12670         * Makefile.am: Be sure to add a space before `...' in natural
12671         language text.
12672         * automake.in (scan_autoconf_traces): Likewise.
12673         * lib/Automake/Rule.pm (define): Likewise.
12674         * lib/Automake/Variable.pm (define): Likewise.
12675         * lib/am/dejagnu.am: Likewise.
12676         * lib/am/progs.am: Likewise.
12677         * lib/gnupload (dprint, upload): Likewise.
12678         * tests/confdeps.test: Likewise.
12679         * tests/location.test: Adjust expected output.
12680         * automake.in (usage): In synopsis, use singular for OPTION,
12681         * remove space before ellipsis.
12682         * aclocal.in (usage): Likewise.  Also, fix indentation.
12683
12684         Fix more duplicate message prefixes.
12685         * lib/Automake/XFile.pm (seek): Do not prepend $me.
12686         ($me): Remove now-unused package-global.
12687         * aclocal.in (check_acinclude): Remove duplicate 'warning: '
12688         prefix.
12689
12690         Fix typo in manual.
12691         * doc/automake.texi (Simple Tests using parallel-tests): Add
12692         missing closing parenthesis.
12693
12694         Fix leftover call to removed function macros_dump.
12695         * automake.in (read_main_am_file): Call variables_dump, not
12696         macros_dump.  Print actual error before list of variables.
12697
12698 2010-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
12699
12700         Minor improvements in comments of test `silent3.test'.
12701         * tests/silent3.test: Tell to keep it in sync with `silent9.test'
12702         too.
12703
12704 2010-04-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12705
12706         testsuite: ensure verbose printing of captured output.
12707         * tests/acloca14.test, tests/acloca18.test, tests/aclocal.test,
12708         tests/fort2.test, tests/help.test, tests/missing3.test,
12709         tests/missing6.test: Print captured stdout or stderr before
12710         grepping it.
12711
12712 2010-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
12713
12714         Make test badopt.test stricter (by enabling `set -e').
12715         * tests/badopt.test: Add call to `set -e'.  Due to this change,
12716         an unexpected failure in the call to `$ACLOCAL' (whose outcome
12717         was previously unchecked) would cause the whole test to fail.
12718         Also, bumped the copyright years.
12719
12720         Make test for configure.in vs. configure.ac stricter.
12721         * tests/configure.test: Use a configure.in file that provokes
12722         an automake error, to ensure configure.ac is preferred.
12723
12724         Use `set -e' in confsub.test (avoids possible false negatives).
12725         * tests/confsub.test: Enable shell `errexit' flag, and related
12726         changes (this helps avoiding some possible minor false negatives).
12727         Also, bumped copyright years.
12728
12729 2010-04-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12730
12731         Fix -Werror handling for presence of configure.in and configure.ac.
12732         * lib/Automake/Variable.pm (Automake::Variable): Do not initialize
12733         $configure_ac at the global level, before command-line arguments
12734         have been parsed.
12735         (require_variables): Initialize it here.
12736         * tests/configure.test: New test.
12737         * tests/Makefile.am: Update.
12738         Report by Stefano Lattarini.
12739
12740 2010-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
12741
12742         Avoid possible false negatives in confh5.test.
12743         * tests/confh5.test: Enable shell `errexit' flag, and bumped
12744         copyright years.  Due to this change, any unexpected failure
12745         in calls to $ACLOCAL, $AUTOMAKE, $AUTOCONF or $AUTOHEADER, or
12746         a failure in grepping expected text in output files should now
12747         cause the whole test to fail.
12748
12749 2010-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
12750
12751         Fixed typo in POD documentation of Automake::Channels.
12752         * lib/Automake/Channels.pm: Fixed typo in POD documentation:
12753         @<...> was used instead of C<...>.
12754
12755 2010-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
12756
12757         Refactor tests on Automake TESTS color output.
12758         * tests/color.test: Tests using the expect program moved out to...
12759         * tests/color2.test: ... this new file.
12760         * tests/Makefile.am (TESTS): Extended accordingly.
12761
12762 2010-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
12763
12764         Fix typos in comments in test confh5.test
12765         * tests/confh5.test: Fix a couple of typos in comments.
12766
12767         Avoid possible false negatives in canon-name.test.
12768         * tests/canon-name.test: Enable shell `errexit' flag.  Improve
12769         test description.
12770
12771 2010-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12772
12773         Print 'warnings are treated as errors' note if needed.
12774         * lib/Automake/Channels.pm: Fix typo in comment.
12775         (_print_message): If -Werror is enabled, print a 'warnings are
12776         treated as errors' note before the first such warning.
12777         * tests/warnopts.test: Adjust comment to mention expected warning.
12778         Adjust code to ignore 'warnings are treated as errors' note.
12779         * tests/location.test: Adjust expected output with -Werror.
12780         * tests/werror4.test: New test.
12781         * tests/Makefile.am: Update.
12782         * NEWS: Update.
12783
12784         Ensure we don't print 'warning:' or 'error:' twice.
12785         * Makefile.am (sc_ensure_testsuite_has_run): New helper rule.
12786         (sc_tests_logs_duplicate_prefixes): New rule, to check for
12787         wrong-looking warning and error messages in the test suite logs.
12788         * aclocal.in (scan_configure_dep, scan_file): Remove duplicate
12789         `warning: ' prefix.
12790         * tests/vars3.test: Rename variable to avoid false positive.
12791
12792         Prepend type to warning, error, and fatal messages.
12793         For the first part of messages of types `error' or `fatal',
12794         prepend `error: ' to the message.  Prepend `warning: ' to
12795         warning messages, whatever the setting of -Werror.
12796         * lib/Automake/Channels.pm (partial): Move up definition.
12797         (_format_message): Emit `header' and `footer' strings only with
12798         the first resp. last part of a set of partial messages.
12799         * lib/Automake/ChannelDefs.pm: Add missing '1;' statement at the
12800         end of the module.
12801         (Automake::ChannelDefs): Setup warning channels with header
12802         `warning: ', error and fatal messages with header `error: '.
12803         * tests/condinc2.test, tests/ltinstloc.test: Adjust expected
12804         error messages.
12805         * tests/comment5.test: Likewise.  Also, include stack notes
12806         should not start with `error:'.
12807         * tests/location.test: Likewise.  Also, try both -Werror and
12808         -Wno-error.
12809         * NEWS: Update.
12810         Report by Bruno Haible.
12811
12812         Fix capitalization of error messages, reword one message.
12813         * lib/Automake/Variable.pm (define): Do not capitalize the first
12814         word in the error message.
12815         * automake.in (require_file_internal): Likewise.  Also, reword
12816         and line-wrap for better readability.
12817         * tests/distcom7.test, tests/pluseq5.test, tests/pluseq9.test:
12818         Adjust tests.
12819
12820         Fix connected warnings about obsolete exeext override.
12821         * lib/Automake/Rule.pm (define): Merge two warnings that belong
12822         together, by setting the 'partial' flag for the first one.
12823
12824         Fix per-Makefile.am setting of -Werror.
12825         Before this patch, 'AUTOMAKE_OPTIONS = -Werror' in one
12826         Makefile.am would carry over to other Makefile.am files
12827         treated afterwards by the same thread, causing inconsistent
12828         and unstable exit status values.
12829         * lib/Automake/Channels.pm (dup_channel_setup)
12830         (drop_channel_setup): Save and restore the setting of
12831         $warnings_are_errors.
12832         * tests/werror3.test: New test.
12833         * tests/Makefile.am: Adjust.
12834         * NEWS: Update.
12835
12836 2010-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
12837
12838         Bugfix in confh5.test w.r.t. Solaris/Heirloom Sh.
12839         * tests/confh5.test: In the generated Makefile.am: do not use
12840         `test ! -e FILE' to check for the non-existence of a file, since
12841         that is not supported by Solaris/Heirloom Sh.
12842
12843         Make test `aclocal3.test' stricter.
12844         * tests/aclocal3.test: Add call to `set -e'.  Fail if $ACLOCAL
12845         succeeds unexpectedly.
12846
12847         Add tests checking that symlinks are resolved by `make dist'.
12848         * tests/distlinks.test: New test.
12849         * tests/Makefile.am (TESTS): Updated accordingly.
12850         Suggested by observations from Ralf Wildenhues.
12851
12852 2010-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12853
12854         Use -9 for maximum xz compression with dist-xz.
12855         * lib/am/distdir.am (dist-xz, dist, dist-all): Pass -9 to xz.
12856         * NEWS, THANKS: Update.
12857         Report by Pavel Sanda.
12858
12859 2010-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
12860
12861         Avoid possible false negatives in cond46.test.
12862         * tests/cond46.test: Enable shell `errexit' flag (and bumped
12863         copyright years).  Due to this change, the testcase should now
12864         fail on unexpected failures in calls to $ACLOCAL/$AUTOMAKE (whose
12865         outcomes were previously unchecked), and on failures in grepping
12866         the expected diagnostic in Automake stderr.
12867
12868 2010-04-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
12869
12870         Generated tests are now just a thin layer around other tests.
12871         * tests/Makefile.am: Rewrite the rule to generate the `*-p.test'
12872         test scripts so that any of them simply includes the corresponding
12873         `*.test' script (after setting `$parallel_tests' to `yes').
12874         * tests/.gitignore: Add wildcard for temporary files used in the
12875         generation of `*-p.test' tests.
12876
12877 2010-03-30  Stefano Lattarini  <stefano.lattarini@gmail.com>
12878
12879         Avoid an unportable use of `$status' shell variable.
12880         * Makefile.am (path-check): Don't use the `$status' shell variable
12881         in the target's rules, as it's special in Zsh (equivalent to `$?',
12882         and readonly).
12883
12884         Avoid another use of `chmod -R'.
12885         * Makefile.am (path-check): To be safe, do not use `chmod -R' on
12886         $(distdir) before removing it (as Solaris `chmod -R' touches
12887         symlink targets).  Instead, use the cleanup strategy used in
12888         distdir.am.
12889
12890 2010-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12891
12892         Remove uses of @acronym and @sc.
12893         * doc/automake.texi (Public Macros, Limitations on File Names):
12894         Remove all usage of @acronym and @sc in the manual.
12895         Suggested by Karl Berry.
12896
12897 2010-03-13  Karl Berry  <karl@freefriends.org>
12898
12899         GNU hello uses fdl.texi, not gpl.texi.
12900         * doc/automake.texi (Texinfo): Adjust example to upstream
12901         change.
12902
12903 2010-03-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12904
12905         Formatting cleanups in macro comments.
12906         * automake.in, lib/Automake/Channels.pm,
12907         lib/Automake/FileUtils.pm, lib/Automake/Options.pm,
12908         lib/Automake/Variable.pm, lib/Automake/XFile.pm,
12909         m4/options.m4, m4/substnot.m4: Fix macro comment format.
12910
12911 2010-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
12912             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12913
12914         Avoid generation of `tests/defs-p' file.
12915         * tests/defs.in: In the generated `configure.in' snippet: call
12916         `AM_INIT_AUTOMAKE' with the `parallel-tests' option if the shell
12917         variable `parallel_tests' is set to `yes'.
12918         * tests/Makefile.am (defs-p): Target removed.
12919         (check_SCRIPTS): Removed `defs-p'.
12920         (clean-local-check): Do not unlink `defs-p' anymore.
12921         ($(parallel_tests)): Transformation rules for the test scripts
12922         adjusted.
12923         * tests/gen-parallel-tests: Selection rules for the test
12924         scripts adjusted.
12925         * tests/parallel-tests.test: Set `$parallel_tests' to `yes'
12926         then include `./defs' (rather than simply including `./defs-p').
12927         * tests/parallel-tests2.test: Likewise.
12928         * tests/parallel-tests3.test: Likewise.
12929         * tests/parallel-tests4.test: Likewise.
12930         * tests/parallel-tests5.test: Likewise.
12931         * tests/parallel-tests6.test: Likewise.
12932         * tests/parallel-tests7.test: Likewise.
12933         * tests/parallel-tests8.test: Likewise.
12934         * tests/parallel-tests9.test: Likewise.
12935         * tests/parallel-tests10.test: Likewise.
12936         * tests/README (Section "Writing Test Cases" subsection "Do"):
12937         Adjusted the parts referring to tests checking `parallel-tests'
12938         behaviour.  Some other minor related improvements.
12939         * tests/.gitignore (defs-p): Removed.
12940
12941 2010-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
12942
12943         Remove redundant unset of variable TESTS from some test scripts.
12944         * tests/color.test: Do not unset the `TESTS' variable, as it's
12945         already unset in the `defs' file.
12946         * tests/check5.test: Likewise.
12947         * tests/check8.test: Likewise.
12948         * tests/check9.test: Likewise.
12949         * tests/check10.test: Likewise.
12950         * tests/check11.test: Likewise.
12951         * tests/parallel-tests.test: Likewise.
12952         * tests/parallel-tests3.test: Likewise.
12953         * tests/parallel-tests4.test: Likewise.
12954         * tests/parallel-tests5.test: Likewise.
12955         * tests/parallel-tests6.test: Likewise.
12956         * tests/parallel-tests7.test: Likewise.
12957
12958 2010-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12959
12960         Fix cscope test on systems without working Fortran compiler.
12961         * tests/cscope.test: Skip remainder of test if `$MAKE all' fails.
12962         * THANKS: Update.
12963         Report by Peter Johansson.
12964
12965 2010-02-24  Antonio Diaz Diaz  <ant_diaz@teleline.es>  (tiny change)
12966             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12967
12968         Add lzip compression support.
12969         * automake.in (handle_dist): Recognize dist-lzip.
12970         (make_paragraphs): Map LZIP to dist-lzip.
12971         * doc/automake.texi (Dist): Add dist-lzip.
12972         (Options): Likewise.
12973         * lib/Automake/Options.pm (_process_option_list): Add dist-lzip.
12974         * lib/am/distdir.am
12975         (dist dist-all): Add command to create an lzip-compressed tarball.
12976         (distcheck): Handle lzip-compressed tarballs just like the others.
12977         * tests/defs.in: Test for lzip, too.
12978         * tests/lzip.test: New file, based on nogzip.test.
12979         * tests/Makefile.am (TESTS): Add lzip.test.
12980         * NEWS: Update.
12981
12982 2010-02-22  Karl Berry  <karl@gnu.org>
12983
12984         Improve help message of mdate-sh.
12985         * mdate-sh: mention actual output format in help message.
12986
12987 2010-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12988
12989         Deprecate dist-lzma in favor of dist-xz.
12990         * doc/automake.texi (The Types of Distributions, Options):
12991         Adjust text to reflect renaming of lzma to xz.
12992         * NEWS: Update.
12993         Missing deprecation noted by Antonio Diaz Diaz.
12994
12995 2010-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
12996
12997         Add tests about support of wildcards in EXTRA_DIST.
12998         * tests/extra10.test: New test, check basic support of wildcards
12999         in EXTRA_DIST.
13000         * tests/extra11.test: New test, check more complex usage of
13001         wildcards in EXTRA_DIST.
13002         * tests/extra12.test: New test, check usage of wildcards in
13003         EXTRA_DIST when $builddir != $srcdir.
13004         * tests/Makefile.am (TESTS): Updated accordingly.
13005         Necessity of these new tests suggested by Braden McDaniel
13006         and Ralf Wildenhues.
13007
13008 2010-02-08  Simon Josefsson  <simon@josefsson.org>
13009
13010         Fix copyright statement in gnupload script.
13011         * lib/gnupload: Fix copyright statement.
13012
13013 2010-02-06  Dmitry V. Levin  <ldv@altlinux.org>  (tiny change)
13014             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13015
13016         Fix exit status of signal handlers in shell scripts.
13017         The value of `$?' on entrance to signal handlers in shell scripts
13018         cannot be relied upon, so set the exit code explicitly to
13019         128 + SIG<SIGNAL>.
13020         * lib/am/check.am (am__check_pre): Use `exit 143' in signal handler.
13021         * lib/elisp-comp: Likewise.
13022         * lib/install-sh: Likewise.
13023         * lib/ylwrap: Likewise.  Also, fix script to trap signal 13, not 3.
13024         * NEWS, THANKS: Update.
13025         Bug report, analysis, and initial patch by Dmitry V. Levin.
13026
13027 2010-02-06  Karl Berry  <karl@gnu.org>
13028
13029         Improve gnupload usage text.
13030         * gnupload (usage): Shorten to make more likely to fit on a tty
13031         line.  Mention CMD in the synopsis.  With ..., plural is implied.
13032
13033 2010-01-28  Christos Kontas  <xakon@yahoo.com>  (tiny change)
13034
13035         Fix some typos in the manual
13036         * doc/automake.texi (Nested Packages, Rebuilding): Fix typos.
13037
13038 2010-01-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13039
13040         Fix silent-rules output for disabled dependency tracking.
13041         * lib/am/depend2.am [!%FASTDEP%]: Rework silent-rules variable
13042         expansion code to also work in the case where %AMDEP% expands
13043         to FALSE at config.status time, using new substitution string
13044         %VERBOSE-NODEP%.
13045         * automake.in (verbose_nodep_flag): New function, appending
13046         `@am__nodep@' to the verbose-variable name.
13047         (handle_languages): If dependencies are not disabled, use it to
13048         set %VERBOSE-NODEP%.
13049         * m4/depend.m4: Substitute am__nodep as '_no', so the second
13050         verbose-variable will always expand to an empty string, if
13051         dependencies are enabled.
13052         * tests/silent5.test: Also test --disable-dependency-tracking;
13053         also test per-target flags for non-C language files.
13054         * tests/silent9.test: New test, like silent4.test but disable
13055         dependency tracking.
13056         * tests/Makefile.am: Adjust.
13057         * NEWS, THANKS: Update.
13058         Report by Dmitry V. Levin <ldv@altlinux.org>.
13059
13060 2010-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
13061
13062         Slighty improve tests acoutbs.test and acoutbs2.test.
13063         * tests/acoutbs2.test: Enable `errexit' shell flag.  Check that
13064         autoconf and configure work, that the file `zot' is created by
13065         configure, and that no file containing a backslash in its name is
13066         created.
13067         * tests/acoutbs.test: Likewise, plus updated copyright years.
13068
13069         Fix test acoutbs2.test.
13070         * tests/acoutbs2: In the generated configure.in: add proper calls
13071         to AC_INIT and AM_INIT_AUTOMAKE, and remove explicit definition of
13072         PACKAGE and VERSION. Add a call to aclocal before calling automake.
13073         Updated copyright years.
13074         * tests/Makefile.am (XFAIL_TESTS): Removed acoutbs2.test.
13075
13076         Add forgotten test scripts to $(TESTS).
13077         * tests/Makefile.am (TESTS): Added test scripts present on the
13078         filesystem, which were erroneously left out from $(TESTS):
13079         acoutbs2.test, badopt.test, extra2.test.
13080         (XFAIL_TESTS): Added acoutbs2.test.
13081
13082 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13083
13084         Sync auxiliary files from upstream.
13085         * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub:
13086         Sync from upstream.
13087
13088         Bump copyright years.
13089         * aclocal.in (write_aclocal, version): Bump copyright years.
13090         * automake.in (gen_copyright, version): Likewise.
13091         * doc/automake.texi: Likewise.
13092
13093         Rotate ChangeLog.
13094         * ChangeLog.09: New file, rotated from ...
13095         * ChangeLog: ... here.
13096         * Makefile.am (EXTRA_DIST): Distribute ChangeLog.09.
13097
13098 -----
13099
13100 Copyright (C) 2010-2013 Free Software Foundation, Inc.
13101
13102 Copying and distribution of this file, with or without modification, are
13103 permitted provided the copyright notice and this notice are preserved.
13104
13105 ;; Variables:
13106 ;; coding: utf-8
13107 ;; End: