Merge branch 'master' into testsuite-work
[platform/upstream/automake.git] / ChangeLog
1 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
2
3         aclocal: better URL reference in error message
4         * aclocal.in (scan_file): In the error message about underquoted
5         definitions, reference the automake page at `www.gnu.org', not
6         at `sources.redhat.com'.
7
8 2011-09-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
9
10         tests: avoid creating useless files in some test directories
11         * tests/aclocal.test: Define `$am_create_testdir' to "empty"
12         before sourcing ./defs, to avoid bringing in unused auxiliary
13         files.  Related adjustments.
14         * tests/aclocal3.test: Likewise.
15         * tests/aclocal8.test: Likewise.
16         * tests/aclocal9.test: Likewise.
17         * tests/acloca10.test: Likewise.
18         * tests/acloca11.test: Likewise.
19         * tests/acloca12.test: Likewise.
20         * tests/acloca15.test: Likewise.
21         * tests/acloca16.test: Likewise.
22         * tests/acloca17.test: Likewise.
23         * tests/acloca18.test: Likewise.
24         * tests/acloca20.test: Likewise.
25         * tests/acloca21.test: Likewise.
26         * tests/acloca23.test: Likewise.
27         * tests/aclocal-print-acdir.test: Likewise.
28         * tests/ar-lib.test: Likewise.
29         * tests/compile.test: Likewise.
30         * tests/compile2.test: Likewise.
31         * tests/compile3.test: Likewise.
32         * tests/compile6.test: Likewise.
33         * tests/instsh2.test: Likewise.
34         * tests/instsh3.test: Likewise.
35         * tests/mdate5.test: Likewise.
36         * tests/mdate6.test: Likewise.
37         * tests/missing3.test: Likewise.
38         * tests/missing5.test: Likewise.
39         * tests/mkinst3.test: Likewise.
40         * tests/self-check-explicit-skips.test: Likewise.
41         * tests/self-check-report.test: Likewise.
42         * tests/self-check-sanity.test: Likewise.
43         * tests/tap-driver-stderr.test: Likewise.
44
45 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
46
47         test defs: more environment cleanup
48         * tests/defs: Also unset the XFAIL_TESTS, and various
49         LOG_DRIVER, LOG_COMPILER variables (and corresponding
50         flags variable).
51
52 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
53
54         tests: allow depmod.tap to only run a subset of its tests
55         * tests/depmod.tap: If command-line arguments are passed to the
56         tests, they are now taken as the list of test names for which the
57         checks are to be run.
58
59 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
60
61         tests: allow instspc.tap to only run a subset of its tests
62         * tests/instspc.tap: If command-line arguments are passed to the
63         tests, they are now taken as the list of test names for which the
64         checks are to be run.
65
66 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
67
68         coverage: distcheck-hook to catch missing/outdated *.m4 files
69         Related to automake bug#9037.
70         * tests/distcheck-missing-m4.test: New test.
71         * tests/distcheck-outdated-m4.test: Likewise.
72         * tests/distcheck-hook-m4.am: New data file, used by the new
73         tests.
74         * tests/Makefile.am (distcheck-m4-missing.log,
75         distcheck-m4-outdated.log): Depend on it.
76         (EXTRA_DIST): Distribute it.
77         (TESTS): Add the new tests.
78
79 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
80
81         tests: more granularity in variables for tools overriding
82         Among the other things, this change makes it possible to use, at
83         the same time, an autoconf version in the automake testsuite and
84         another one in the automake build system; even more importantly, it
85         makes it possible to use, say, a non-GNU make implementation in the
86         test scripts, while at the same time using GNU make to drive the
87         execution of the automake's test suite.
88         * tests/defs-static.in (TEX, EGREP, FGREP, SHELL, PERL, MAKE,
89         AUTOCONF, AUTOM4TE, AUTORECONF, AUTOHEADER, AUTOUPDATE,
90         original_AUTOMAKE, original_ACLOCAL): Allow and prefer overriding
91         through corresponding `AM_TESTSUITE_..' variables; for example,
92         $GREP can now be overridden by an exported `$AM_TESTSUITE_GREP'
93
94 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
95
96         testsuite: fix `skip_row_' subroutine in tap-functions.sh
97         * tests/tap-functions.sh (skip_row_): Use `seq_', not `seq', to
98         be portable to non-GNU systems.
99         Bug revealed by a testsuite error on Solaris.
100
101 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
102
103         installcheck: support it in our own testsuite
104         * NEWS: Update.
105         * tests/defs-static.in ($am_running_installcheck): New variable.
106         Initialize it to a default of "no", and sanity-check its value.
107         ($am_datadir, $am_docdir, $am_automake_acdir, $am_system_acdir,
108         $am_bindir, $am_scriptdir, $am_pkgvdir): New variables,
109         initialized from AC_SUBST'ed values which are adaptively chosen
110         depending on whether the testsuite is running in "simple" mode
111         or in "installcheck" mode.
112         ($MISSING): Remove, it's not really required by the testsuite.
113         ($PATH): Update using `$am_bindir', not `$testbuilddir'.
114         * Makefile.am (installcheck-local): New target.
115         * lib/Automake/tests/Makefile.am (installcheck-local): New target.
116         (AM_TESTS_ENVIRONMENT, AM_PL_LOG_FLAGS): Adaptively choose the
117         `-I' flags for perl based on whether the tests are being run by
118         "make check" or "make installcheck".
119         * tests/Makefile.am (installcheck-local): New target.
120         (defs-static): Generate it at make time, not at configure time,
121         in order to correctly resolve all the indirections in the
122         AC_SUBST'd variables; done with the help of ...
123         (do_subst): ... this new macro.
124         (EXTRA_DIST): Explicitly distribute `defs-static.in'.
125         (CLEANFILES): Remove `defs-static'.
126         * configure.ac (AC_CONFIG_FILES): Remove `tests/defs-static'.
127         (AC_SUBST): Substitute also `automake_acdir', `system_acdir',
128         `scriptdir' and `amdir' to proper values.
129         * lib/Makefile.am (scriptdir):  Don't explicitly define anymore.
130         * lib/am/Makefile.am (amdir): Likewise.
131         * m4/acdir/dirlist: Remove, it's not needed anymore.  Instead
132         use ...
133         * m4/acdir/.placeholder: ... this file.
134         * m4/Makefile.am (EXTRA_DIST): Update.
135         (automake_acdir, system_acdir): Don't explicitly define anymore.
136         * tests/aclocal-print-acdir.test: Use new `$am_...dir' variables,
137         instead of hard-coding values with $testsrcdir and $testbuilddir,
138         to test more faithfully under "make installcheck".
139         * tests/amhello-binpkg.test: Likewise.
140         * tests/amhello-cflags.test: Likewise.
141         * tests/amhello-cross-compile.test: Likewise.
142         * tests/ansi2knr-no-more.test: Likewise.
143         * tests/autodist-stamp-vti.test: Likewise.
144         * tests/auxdir.test: Likewise.
145         * tests/check2.test: Likewise.
146         * tests/copy.test: Likewise.
147         * tests/multlib.test: Likewise.
148         * tests/obsolete.test: Likewise.
149         * tests/parallel-tests-interrupt.test: Likewise.
150         * tests/repeated-options.test: Likewise.
151         * tests/suffix5.test: Likewise.
152         * tests/tap-doc2.test: Likewise.
153         * tests/txinfo22.test: Likewise.
154         * tests/vtexi3.test: Likewise.
155         * tests/defs: Likewise.  Also, print the values of `$using_tap'
156         and `$am_running_installcheck', to simplify debugging, and do
157         some related code movings and tweakings.
158         * tests/aclocal3.test: Update to avoid possible spurious failures
159         when running under "make installcheck".
160         * tests/warnings-unknown.test: Likewise.
161         * tests/location.test: Likewise, and improve debugging input since
162         we are at it.
163         * tests/acloca10.test: Adapt and tweak to work also during a
164         "make installcheck", and not to require a pre-populated `dirlist'
165         file.
166         * tests/acloca18.test: Likewise.
167         * tests/dirlist2.test: Likewise.
168         * tests/dirlist.test: Likewise, and remove an obsolete comment.
169         * tests/README: Update.
170         * tests/dirlist-abspath.test: New test.
171         * tests/list-of-tests.mk: Update.
172
173 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
174
175         maintcheck: fix spurious failures
176         * tests/gen-testsuite-part (write_wrapper_script): More uses of
177         creative quoting in the generated tests, to avoid triggering
178         failures in the `sc_tests_Exit_not_exit' maintcheck.
179         * Makefile.am (sc_tests_tap_plan): It's OK for auto-generated
180         TAP tests that sources an hand-written one not to declare a TAP
181         plan: the sourced test will do so.
182         * tests/Makefile.am (checked_test_extensions): Don't define
183         anymore, the default value `$(TEST_EXTENSIONS)' is correct now.
184         (expected_list_of_tests): Don't define anymore, the default
185         value `$(TESTS)' is correct now.
186
187 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
188
189         aclocal: more granularity in acdir overriding
190         Before this change, using the `--acdir' option caused aclocal to
191         redefine both the directory of automake-provided m4 macros and the
192         directory of third-party system-wide m4 macros.  With this change,
193         we deprecate the `--acdir' aclocal option, and introduce two new
194         options `--automake-acdir' and `--system-acdir', to allow for more
195         granularity.
196         * aclocal.in (@automake_includes, @system_includes,
197         @user_includes): Fix and extend comments.
198         (usage): Update.
199         (handle_acdir_option): New function.
200         (parse_arguments): Recognize new options `--system-acdir' and
201         `automake-acdir', and handle `--acdir' using the new function
202         above.  Simplify logic by assuming that the directory of
203         third-party system-wide m4 files always exists.
204         * tests/aclocal.in: Update to use the new options, instead of
205         the deprecated. `--acdir'.
206         * m4/dirlist: Move ...
207         * m4/acdir/dirlist: ... here.
208         * m4/Makefile.am (EXTRA_DIST): Update.
209         (m4datadir): Rename ...
210         (automake_acdir): ... to this.  Accordingly, ...
211         (dist_m4data_DATA): ... rename this ...
212         (dist_automake_ac_DATA): ... to this.
213         (system_acdir): New, directory.
214         (dist_system_ac_DATA): New, defined to an empty value; this will
215         ensure that the $(system_acdir) directory will be created by
216         "make install".
217         * tests/aclocal.test: Remove check about the `--print-ac-dir'
218         option of aclocal, it has been moved into ...
219         * tests/aclocal-print-acdir.test: ... this new test, and quite
220         extended.
221         * tests/aclocal-acdir.test: New test.
222         * tests/Makefile.am (TESTS): Add the new tests.
223         * NEWS, bootstrap: Update.
224         * doc/automake.texi (aclocal Options, Macro Search Path): Update.
225
226 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
227
228         cosmetic: rename gen-tests-deps -> gen-testsuite-part
229         * tests/gen-tests-deps: Renamed ...
230         * tests/gen-testsuite-part: ... to this.
231         * bootstrap: Update.
232         * tests/Makefile.am ($(srcdir)/tests-deps.am): Don't generate
233         nor include this ...
234         ($(srcdir)/testsuite-part.am): ... do with this instead.
235         * tests/.gitignore (tests-deps.am): Don't ignore this ...
236         (testsuite-part.am): ... ignore this instead.
237
238 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
239
240         testsuite: revamp generation of autogenerated tests
241         With this change, we make generated tests be real scripts again
242         -- albeit only thin layers around the tests they wrap.  It turned
243         out that the apparently clever tricks we played by having lots
244         of custom (and auto-generated) `..._LOG_COMPILER' variables and
245         by having the tests in $(wrap_TESTS) not being real on-file-system
246         scripts caused more pain and confusion than expected, for only
247         marginal gains.  Also, that previous setup didn't interact very
248         well with "make check RECHECK_LOGS=", since the log files for
249         the "wrappee" tests were always considered out-of-date (which in
250         hindsight is natural, since these log files depended on wrappee
251         tests that didn't exist -- and weren't created).  And finally, it
252         wasn't possible to easily and naturally run the wrappee tests
253         from the command line -- definitely harmful for debugging and
254         sanity checking.
255         * tests/gen-wrap-tests: Deleted, its role subsumed into ...
256         * tests/gen-tests-deps: ... this script, with the help of
257         (unindent, atomic_write, build_matcher, write_wrapper_script,
258         %test_generators): ... these new functions and variables.
259         Other few minor fixlets and improvements.
260         * tests/wrap-tests.sh: Delete, not needed anymore.
261         * tests/Makefile.am ($(srcdir)/wrap-tests.am): Don't generate
262         nor include anymore.
263         (EXTRA_DIST): Update.
264         (wrap_TESTS): Renamed to ...
265         (generated_TESTS): ... this.
266         ($(generated_TESTS)): Must have the same dependencies of
267         `$(srcdir)/tests-deps.am'.
268         Other minor related reordering and adjustments.
269         * bootstrap: Do not generate `wrap-tests.am' anymore.
270         * tests/.gitignore (wrap-tests.am): Don't ignore anymore.
271         (*-w.test, *-w.tap): Ignore.
272         * tests/README: Update paragraph on automatically-generated
273         tests.
274
275 2011-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
276
277         testsuite: automatize generation of dependencies for tests
278         * tests/gen-test-deps: New script, automatically generates
279         dependencies for the tests.
280         * tests/Makefile.am (EXTRA_DIST): Distribute it.
281         ($(srcdir)/tests-deps.am): New rule.
282         (include $(srcdir)/tests-deps.am): New inclusion.
283         Remove hand-written dependencies for tests.  Other related
284         updates.
285         * tests/list-of-tests (tap_with_common_setup_TESTS,
286         tap_other_TESTS): Delete, their content merged back into ...
287         (handwritten_TESTS): ... this.
288         * tests/.gitignore (tests-deps.am): New ignored file.
289         * bootstrap: Generate `tests/tests-deps.am'.
290
291 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
292
293         tests: avoid spurious failure due to bug in older TAP::Parser
294         Older TAP::Parser versions (e.g., 3.10) erroneously convert a test
295         number `0' into `1'; do not let this bug cause a spurious failure
296         in our testsuite.
297         * tests/tap-test-number-0.test: Skip if the aforementioned
298         TAP::Parser bug is detected.
299
300 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
301
302         tap/perl: be more portable to older perl versions
303         * lib/tap-driver.pl (trap_perl_warnings_and_errors): Do not use
304         the three-args version of the `open' builtin, it is not well
305         supported by older perl versions (at least perl 5.6.2).
306         (start): Add a no-op statement to pacify a "possible typo ... used
307         only once" perl warning.
308
309 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
310
311         tap/perl: be more portable to older TAP::Parser versions
312         * lib/tap-driver.pl (start): Do not call the `ignore_exit' method
313         on our TAP parser: it is not supported in older TAP::Parser
314         versions (e.g., 3.10), and is not really required by our usage of
315         the parser object.
316
317 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
318
319         tests: fix spurious Cygwin failure of a test on TAP support
320         * tests/tap-bad-prog.tap (noexec.test): Add forgotten `echo'.
321         When trying to run it, redirect its output to /dev/null, to
322         avoid confusing automake's testsuite own TAP driver.
323
324 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
325
326         test defs: fix glitch in TAP version of `warn_' function
327         * tests/tap-functions.sh (warn_): Do not display the warning
328         message two times.
329
330 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
331
332         tests: fix another spurious failure due to ignored signals
333         * tests/tap-signal.test: Renamed ...
334         * tests/tap-signal.tap: ... to this, converted to the use of the
335         TAP protocol, and improved not to try to use/trap signals that
336         are ignored by the parent shell (they will be forcibly ignored
337         by all the child processes too).  Extend the test a bit since we
338         are at it.
339         * tests/list-of-tests.mk: Update.
340
341 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
342
343         tests: fix a spurious failure due to lacking Fortran compilers
344         * tests/silent-many-generic.test (configure.in): Cause the test
345         to be skipped if `configure' fails to find working C++, Fortran
346         and Fortran 77 compilers.
347
348 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
349
350         self tests: more use of TAP
351         * tests/self-check-reexec.test: Renamed ...
352         * tests/self-check-reexec.tap: ... to this, converted to the
353         use of TAP protocol, and extended a bit.
354         * tests/self-check-seq.test: Renamed ...
355         * tests/self-check-seq.tap: ... to this, and converted to the
356         use of TAP protocol.
357         * tests/list-of-tests.mk: Update.
358
359 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
360
361         self tests: fix spurious failures when /bin/ksh do not exists
362         * tests/self-check-reexec.test: Ensure that the non-bash shells
363         we look do really exists.  Since we are at it, also try the name
364         `ash', non `dash', for the Almquist Shell, for Cygwin 1.5.
365
366 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
367
368         tests: more use of TAP in our own testsuite
369         * tests/parallel-tests-interrupt.test: Renamed ...
370         * tests/parallel-tests-interrupt.tap: ... to this, and converted
371         to the use of TAP protocol.
372         * tests/self-check-cleanup.test: Renamed ...
373         * tests/self-check-cleanup.tap: ... to this, and converted to the
374         use of TAP protocol.
375         * tests/self-check-dir.test: Renamed ...
376         * tests/self-check-dir.tap: ... to this, and converted to the use
377         of TAP protocol.
378         * tests/self-check-is_newest.test: Renamed ...
379         * tests/self-check-is_newest.tap: ... to this, and converted to
380         the use of TAP protocol.
381         * tests/self-check-unindent.test: Renamed ...
382         * tests/self-check-unindent.tap: ... to this, and converted to
383         the use of TAP protocol.
384         * tests/list-of-tests.mk: Update.
385
386 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
387
388         self tests: sanity check on 'is_blocked_signal' function
389         * tests/self-check-is-blocked-signal.tap: New test.
390         * tests/list-of-tests.mk: Update.
391
392 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
393
394         tests: fix spurious failures due to ignored signals
395         * tests/defs (is_blocked_signal): New function.
396         * tests/parallel-tests-interrupt.test: Do not try to use/trap
397         signals that are ignored by the parent shell: they will be
398         ignored by all the child processes too.
399         * tests/self-check-exit.test: Likewise.
400         * tests/self-check-cleanup.test: Likewise, and do few minor
401         improvements and extensions since we are at it.
402
403 2011-09-05  Peter Rosin  <peda@lysator.liu.se>
404
405         * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
406
407 2011-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
408
409         fix: list test 'vala-vpath.test' in XFAIL_TESTS
410         * tests/Makefile.am (XFAIL_TESTS): Update.
411
412 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
413
414         tests: simplify wrapper for aclocal
415         * tests/aclocal.in: Remove use of $ACLOCAL_TESTSUITE_FLAGS and
416         extra `-I' flags; they are not really required, since the file
417         `m4/amversion.m4' is generated in the srcdir anyway.
418         * tests/acloca10.test: Remove use of $ACLOCAL_TESTSUITE_FLAGS.
419         * tests/acloca18.test: Likewise.
420         * tests/defs.in: Don't nullify $ACLOCAL_TESTSUITE_FLAGS, and do
421         not export it.
422
423 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
424
425         tests: remove redundant settings of `errexit' shell flag
426         * doc-parsing-buglets-colneq-subst.test: Do not set the
427         `errexit' shell flag, as it is already set by `tests/defs'.
428         * doc-parsing-buglets-tabs.test: Likewise.
429         * java-empty-classpath.test: Likewise.
430         * vala-vpath.test: Likewise.
431
432 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
433
434         tests: more uses of `$top_testsrcdir', in the `amhello' tests
435         * tests/amhello-binpkg.test: Use `$top_testsrcdir' instead
436         of `$testsrcdir/..'.
437         * tests/amhello-cflags.test: Likewise.
438         * tests/amhello-cross-compile.test: Likewise.
439
440 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
441
442         tests: avoid creating useless files in the `amhello' tests
443         * tests/amhello-binpkg.test: Define `$am_create_testdir' to
444         "empty" before sourcing ./defs, to avoid bringing in unused
445         auxiliary files.
446         * tests/amhello-cflags.test: Likewise.
447         * tests/amhello-cross-compile.test: Likewise.
448
449 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
450
451         coverage: vala support failing for VPATH from-scratch builds
452         * tests/vala-vpath.test: New test, xfailing.
453         * tests/Makefile.am (TESTS): Update.
454         * THANKS: Update.
455         From a report by Zbigniew Jędrzejewski-Szmek.
456         Related to automake bug#8753.
457
458 2011-09-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
459
460         docs: report few more automake parsing limitations
461         Partly motivated by automake bug#8360.
462         * doc/automake.texi (General Operation): Report few more automake
463         limitations w.r.t. parsing of unusual makefile constructs.  Related
464         minor reorderings.
465         * tests/doc-parsing-buglets-colneq-subst.test: New test.
466         * tests/doc-parsing-buglets-tabs.test: Likewise.
467         * tests/Makefile.am (TESTS): Update.
468
469 2011-09-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
470
471         automake: fix regression due to de-ansification support removal
472         The last change `v1.11-947-g136b489' removed code that automake
473         was using to decide whether binary objects were built by the
474         generated Makefile.in, so that it could avoid to emit unneeded
475         code when this was not the case.  Re-introduce such code in a
476         less-obfuscated form, and add a test to ensure we don't regress
477         again.
478         * automake.in ($must_handle_compiled_objects): New global
479         variable, telling whether the generated Makefile has to build
480         compiled objects.
481         (initialize_per_input): Reset it.
482         (handle_programs, handle_libraries, handle_ltlibraries): Set
483         it to a true value when required.
484         (handle_compile): Don't generate any code if the variable
485         `$must_handle_compiled_objects' is not set to a true value.
486         * tests/no-extra-makefile-code.test: New test.
487         * tests/Makefile.am (TESTS): Add it.
488
489 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
490
491         automake: cleanups after de-ansification support removal (2)
492         * automake.in ($get_object_extension_was_run): Remove, it's not
493         really needed anymore.
494         (&get_object_extension): Remove, it's a no-op now.
495         All callers adjusted.
496
497 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
498
499         automake: cleanups after de-ansification support removal (1)
500         * automake.in (lang_c_rewrite, handle_single_transform): Rename 
501         variable `$nonansi_obj' to `$obj'.
502
503 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
504
505         ansi: remove obsolete code/files for de-ANSI-fication support
506         * lib/ansi2knr.1, lib/ansi2knr.c: Deleted.
507         * lib/Makefile.am (dist_pkgvdata_DATA): Do not list them anymore.
508         * lib/am/ansi2knr.am: Delete.
509         * lib/am/Makefile.am (dist_am_DATA): Do not list it anymore.
510         * lib/Automake/Variable.pm (%_am_macro_for_var): Remove entries for
511         `ANSI2KNR' and `U'.
512         * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Don't care anymore
513         about possible definition of the `$U' variable.
514         * automake.in (@common_files): Drop `ansi2knr.1' and `ansi2knr.c'.
515         (struct): Remove scalar field `ansi'.
516         All callers adjusted.
517         (&lang_c_finish, %de_ansi_files): Remove, they're not required
518         anymore.
519         All callers adjusted.
520         ($get_object_extension_was_run): Fix typo in comment.
521         (&get_object_extension): Drop code dealing with de-ansification;
522         this function basically a no-op now, but is required to properly
523         initialize `$get_object_extension_was_run' variable.
524         (&handle_languages, &handle_compile, &lang_c_rewrite): Drop code
525         dealing with de-ansification.
526
527 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
528
529         ansi: reject attempts to use automatic de-ANSI-fication support
530         * tests/protos.m4 (AM_C_PROTOTYPES): Error out whenever called.
531         * lib/Automake/Options.pm (_process_option_list ): Error out
532         with a proper error message when the `ansi2knr' option is used.
533         Related updates to comments.
534         * tests/depacl2.test: Update.
535         * tests/ansi2knr-no-more.test: New test.
536         * tests/Makefile.am (TESTS): Add it.
537         * NEWS: Update.
538
539 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
540
541         tests: remove tests about obsolete de-ANSI-fication support
542         * tests/ansi.test: Delete.
543         * tests/ansi10.test: Likewise.
544         * tests/ansi2.test: Likewise.
545         * tests/ansi2knr-deprecation.test: Likewise.
546         * tests/ansi3.test: Likewise.
547         * tests/ansi3b.test: Likewise.
548         * tests/ansi4.test: Likewise.
549         * tests/ansi5.test: Likewise.
550         * tests/ansi6.test: Likewise.
551         * tests/ansi7.test: Likewise.
552         * tests/ansi8.test: Likewise.
553         * tests/ansi9.test: Likewise.
554         * tests/cxxansi.test: Likewise.
555         * tests/libobj8.test: Likewise.
556         * tests/subobj3.test: Likewise.
557         * tests/Makefile.am (TESTS): Update.
558
559 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
560
561         docs: remove description of de-ANSI-fication support from manual
562         * doc/automake.texi (Auxiliary Programs): Remove mention of
563         `ansi2knr.c' and `ansi2knr.1'.
564         (Obsolete Macros): Remove mention of `AM_C_PROTOTYPES'.  Do not
565         index it nor variables `ANSI2KNR' and `U' anymore.
566         (List of Automake options): Remove mention of `ansi2knr' option,
567         and obsolete entries for concept and option indexes.
568         (Optional): Remove entry about `AM_C_PROTOTYPES'.
569         (@c LocalWords): Remove `ansi' and `knr'.
570         (@menu, @detailmenu): Remove entries about de-ANSI-fication
571         support.
572
573 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
574
575         tests: better respect of TAP usage in wrapped tests
576         * tests/gen-wrap-tests: Partial rewrite to take into account the
577         possibility that the wrapped test uses the TAP protocol.  This
578         complicates the code quite a bit, but is essential to ensure real
579         correctness in all the wrapped scripts.
580         * tests/wrap-tests.sh: Update, and add few more sanity checks.
581
582 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
583
584         tests: use both perl and awk implementations for tests on TAP
585         * tests/gen-wrap-tests (get_list_for_pltap): New function, gets
586         the list of tests that check the Automake TAP support.
587         ($defines_for_pltap): New variable.
588         ($wrapper_type_list): Add "pltap".
589         * tests/defs-static.in: Check that `$am_tap_implementation' is
590         not exported in the environment.
591         * tests/self-check-env-sanitize.tap: Update.
592
593 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
594
595         tests: two single auxiliary scripts to run/generate wrapped tests
596         * tests/config-shell-tests.sh, tests/parallel-tests.sh,
597         tests/gen-config-shell-tests, tests/gen-parallel-tests: Deleted,
598         their roles taken over by ...
599         * tests/wrap-tests.sh, tests/gen-wrap-tests: ... these new more
600         general scripts.
601         * tests/Makefile.am (EXTRA_DIST): Distribute the new scripts, and
602         do not distribute the obsolete ones anymore.
603         ($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am): Do
604         not include nor generate anymore, they have been superseded by ...
605         ($(srcdir)/wrap-tests.am): ... this new fragment, automatically
606         generated by `gen-wrap-tests'.
607         (PTEST_LOG_COMPILER, SHTST_LOG_COMPILER): Delete, they are now
608         defined in the new `wrap-tests.am' makefile fragment.
609         (TEST_EXTENSIONS): Do not append to it anymore, that is now done
610         by the new `wrap-tests.am' makefile fragment above.
611         ($(parallel_tests:.ptest=.log), $(config_shell_tests:.shtst=.log),
612         $(parallel_tests), $(config_shell_tests): Remove this dependencies,
613         superseded by ...
614         ($(wrap_TESTS), $(wrap_LOGS)): ... these ones.
615         (MAINTAINERCLEANFILES): Delete, it's not used anymore.
616         (TESTS): Do not contain anymore `$(config_shell_tests)' nor
617         `$(parallel_tests)', contain `$(wrap_TESTS)' instead, as defined
618         by `$(srcdir)/wrap-tests.am'.
619         Other related minor edits and reorderings.
620         * bootstrap, tests/.gitignore, tests/README: Update.
621
622 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
623
624         tests: list of tests placed in a separate Makefile fragment
625         This change allows us to easily use make instead of by-hand (and
626         more fragile) grepping to extract the list of hand-written tests
627         from our Makefiles.
628         * bootstrap (BOOTSTRAP_MAKE): New variable.
629         Use it to run make in order to extract the list of hand-written
630         tests from ...
631         * tests/list-of-tests.mk: ... this new file, where they are
632         listed in ...
633         (handwritten_TESTS, tap_with_common_setup_TESTS, tap_other_TESTS):
634         ... these variables, extracted respectively from ...
635         * tests/Makefile.am (handwritten_tests, tap_other_tests,
636         tap_with_common_setup_tests): ... these older variables, now
637         removed.
638         (EXTRA_DIST, expected_list_of_tests): Update w.r.t. the variable
639         names' changes.
640         (include $(srcdir)/list-of-tests.mk): New inclusion.
641         Remove an overkill indirection, and with it ...
642         (tap_with_common_setup_logs): ... this variable.
643         ($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am):
644         Update to match the new interface of ...
645         (gen-parallel-tests, gen-config-shell-tests): ... these scripts,
646         that now read the list of tests from the standard input.
647
648 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
649
650         tests: prefer AM_... variables to user-reserved ones in Makefile
651         * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Renamed ...
652         (AM_TAP_LOG_DRIVER_FLAGS): ... to this.
653
654 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
655
656         tests: some minor fixlets w.r.t. TAP-based tests
657         The variable that is used by our test scripts to decide whether
658         they are "plain" or TAP-based is `using_tap'; however, some
659         peripheral sanity checks and sanitization code in our testsuite
660         were erroneously using the `use_tap' variable instead.  Fix that.
661         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Nullify `using_tap',
662         not `use_tap'.
663         * tests/defs-static.in: Check that `using_tap', not `use_tap',
664         is not exported.
665         * tests/self-check-env-sanitize.test: Update.
666
667 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
668
669         tests: avoid re-running a test with the 'parallel-tests' option
670         * tests/backcompat5.test (parallel_tests): Define to "no", to
671         prevent the generation of a sibling test script that uses the
672         'parallel-tests' driver.  That would be useless anyway, since
673         we manually override the contents of configure.in, thus clobbering
674         the `parallel-tests' option in AM_INIT_AUTOMAKE.
675         Fix a typo in comments since we are at it.
676
677 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
678
679         tests: defaults to awk+shell driver in tests on TAP support
680         * tests/defs ($am_tap_implementation): Default to "shell", not
681         to "perl".
682
683 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
684
685         tests: list "forgotten" test script in TESTS
686         * tests/Makefile.am (TESTS): Also list ...
687         * tests/java-empty-classpath.test: ... this test.  Since we are
688         at it, remove trailing whitespace from a couple of lines.
689
690 2011-08-25  Eric Blake  <eblake@redhat.com>
691
692         ylwrap: fix unusual indentation whitespace
693         * lib/ylwrap: Convert tabs to spaces.
694         Reported by Karl Berry.
695
696 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
697
698         testsuite: different test scripts cannot share the same basename
699         If two test scripts have the same basename, they will end up
700         sharing the same log file, leading to all sort of undefined and
701         undesired behaviours.  Add a Makefile check verifying that this
702         is not the case.
703         * tests/test-logs-repeated.test: New test, verifying previously
704         unspecified semantics (in the definition of $(TEST_LOGS) from
705         $(TESTS)) that we use in our new check.
706         * tests/Makefile.am (TESTS): Update.
707         (check-no-repeated-test-name): New .PHONY check.
708         (check-local): Depend on it.
709
710 2011-08-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
711
712         tests: fix spurious failure for awk implementation of TAP driver
713         * tests/tap-realtime.test: The awk+shell implementation of the TAP
714         driver must "read ahead" of one line in order to catch the exit
715         status of the test script it runs.  So, in the TAP-producer script
716         here, be sure to echo one "dummy" line after each TAP result line
717         in order not to cause false positives.
718
719 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
720
721         tap/awk: allow escaping of TAP directives
722         * lib/tap-driver.sh (setup_result_obj): Handle escaping of TAP
723         directives in a way tat is (mostly) compatible by what is done
724         by the TAP::Parser module.
725         With this change, the tests `tap-escape-directive.test' and
726         `tap-escape-directive-2.test' now also pass with the shell/awk
727         implementation of the TAP driver.
728
729 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
730
731         coverage: more about escaping of TAP directives
732         * tests/tap-escape-directive.test: Make grepping of testsuite
733         progress output slightly stricter.
734         * tests/tap-escape-directive-2.test: New test (failing with the
735         awk implementation of the TAP driver).
736         * tests/Makefile.am (tap_with_common_setup_tests): Update.
737
738 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
739
740         tap: improve syncing between awk+shell and perl implementations
741         * lib/tap-driver.pl (stringify_test_result): Renamed ...
742         (stringify_result_obj): ... to this.  Break up a clause in the
743         long "if/elsif/.../else" construct to avoid unaesthetic line
744         breaks and to be more synced with the sibling function in
745         `tap-driver.sh'.  Rename the `$result', `$PASS' and `$FAIL'
746         variables to respectively `$result_obj', `$COOKED_PASS' and
747         `$COOKED_FAIL', for clarity and better syncing.
748         (handle_tap_test): Renamed  ...
749         (handle_tap_result): ... to this, and change the name of the
750         `$test' local variable to `$result_obj'.
751         (extract_comment): Reimplement using the simpler `index' and
752         `substr' builtins, rather than with more advanced uses of
753         regular expressions.
754         (%test_results, @test_results): Renamed respectively ...
755         (%test_results_seen, @test_results_list): ... to these, and
756         related adjustments throughout the `TEST_RESULTS' block.
757         (main, get_global_test_result): Refactor and do some cosmetic
758         changes to make these functions clearer and better synced with
759         sibling code in `tap-driver.sh'.
760         Other minor cosmetic and typo fixes.
761         * lib/tap-driver.sh (extract_tap_comment): Remove outdated
762         "FIXME" comments.
763         (get_global_test_result): Small reordering to make it better
764         synced with its sibling function in `tap-driver.pl'.
765         (stringify_result_obj): Consistently use `result_obj' as the
766         parameter name.
767         Other minor cosmetic and typo fixes.
768
769 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
770
771         tap/perl: don't redirect perl warnings/errors to log files
772         With this change, the test `tap-driver-stderr.test' also passes
773         with the perl implementation of the TAP driver.
774         * lib/tap-driver.pl (start): Save the original stderr into the
775         `OLDERR' file handle, and call ...
776         (trap_perl_warnings_and_errors): ... this new function, trapping
777         the `__WARN__' and `__DIE__' "pseudo-signals" to ensure that the
778         warning and error messages goes to that original stderr stream.
779         Since we are at it, be sure to prepend all possible "die" message
780         with the name of the script as given by the `$ME' variable.
781
782 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
783
784         tap/perl: add copyright notice, version string, and emacs stuff
785         * lib/tap-driver.pl: Add proper copyright notice and bug reporting
786         address.  Remove obsolete heading comments.  Add trailing comments
787         for emacs w.r.t. code-formatting rules and automatic updating of
788         the date-based script version saved into the `$VERSION' variable.
789         ($VERSION): Define to the current UTC date.
790
791 2011-08-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
792
793         tap/awk: don't redirect awk stderr to log files
794         * lib/tap-driver.sh: Handle the file descriptors redirections
795         more smartly, to avoid sending error messages from awk (about
796         e.g. syntax or I/O errors) to the log files instead that to the
797         console.
798         * tests/tap-driver-stderr.test: New test, verifying the improved
799         driver behaviour.  Notice that this test still fails when using
800         the perl implementation of the TAP driver.
801         * tests/Makefile.am (tap_other_tests): Update.
802
803 2011-08-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
804
805         tap/awk: remove obsolete "FIXME" comment
806         * lib/tap-driver.sh: Remove obsolete "FIXME" comment about our
807         driver losing the exit status of the tested program; this issue
808         has been solved in precedent commit `v1.11-1052-gd630a0d'.  Fix
809         an unrelated typo in comments since we are at it.
810
811 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
812
813         testsuite: avoid spurious failure on Solaris
814         * tests/tap-signal.test (signal_caught): Fix a regression from
815         commit `v1.11-1052-gd630a0d' that was causing this test to fail
816         spuriously on Solaris (due to an already worked-around Solaris
817         /bin/sh bug, see commit `v1.11-981-g0ef3ef5').
818
819 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
820
821         testsuite: use the new awk+shell TAP driver in our own testsuite
822         * tests/Makefile.am (TAP_LOG_DRIVER): Redefine to use the new
823         awk+shell tap driver, which should be complete enough for use in
824         a "controlled" production environment.
825
826 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
827
828         tap/awk: handle non-zero exit status from the test command
829         * lib/tap-driver.sh (get_test_exit_message): New function in the
830         awk script, used to extract the exit status of the test program,
831         or at least a good guess of it.
832         (write_test_results): Use it, reporting an ERROR result if it
833         detects that the test program exited with a non-zero status.
834         * tests/tap-signal.test: Account for the differences in the
835         error messages generated by the awk and perl TAP drivers.  Fix
836         an unrelated typo in comments since we are at it.
837
838 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
839
840         tap/awk: prepare to fetch the exit status of the test command
841         * lib/tap-driver.sh: Rewrite some logic in the main parsing loop,
842         to make it possible to read the exit status of the test command
843         from the last line of the input stream.
844
845 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
846
847         tap/awk: refactor for future changes
848         * lib/tap-driver.sh: Rewrite the awk script so that the parsing
849         of the input stream is implemented as a hand-rolled loop in the
850         BEGIN block, using the `getline' builtin.
851
852 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
853
854         testsuite: avoid spurious failure if rst2html program is missing
855         * tests/tap-html.test ($required): Require `rst2html'.
856
857 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
858
859         tap/awk: support Solaris /usr/xpg4/bin/awk
860         * lib/tap-driver.sh: Use `\t', not `\\t', to represent tabulation
861         character in regexps, even when inside double-quoted strings; that
862         seems to be more portable to Solaris 10 XPG4 awk.
863
864 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
865
866         tap/awk: support Solaris /usr/bin/nawk
867         * lib/tap-driver.sh (close_or_die): Remove, the use of the `close'
868         builtin in there was confusing /usr/bin/nawk from Solaris 10 into
869         a syntax error.
870         (write_test_results): Simply use `close' on the `*.trs' file, that
871         should be enough.
872
873 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
874
875         tap/awk: correctly extract message from SKIP plans
876         * lib/tap-driver.sh (/^1\.\.0+[ \t]*#/): Add a forgotten `?' to
877         the regex used to extract the skip message from a "1..0" TAP plan.
878         * tests/planskip.test: Check for the just-fixed bug.
879         * tests/tap-planskip-unplanned-corner.test: Don't be too strict
880         w.r.t. the formatting of the "skip whole test" message, to avoid
881         failing due to bugs irrelevant for this test (like the one just
882         fixed).
883
884 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
885
886         tap/awk: support colorized output
887         * lib/tap-driver.sh: Pass definition of colors to the BEGIN block
888         of the awk script, using ...
889         ($init_colors): ... this new variable, which supersedes ...
890         ($red, $grn, $lgn, $blu, $mgn, $std): ... these variables, which
891         have been consequently removed.
892         ($color_tests): We don't have to pass this anymore to the awk
893         script, so do not convert it to a numeric boolean.
894         (decorate_result): Implement for real.
895         With this change, the test 'tap-color.test' now passes.
896
897 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
898
899         tap: real (but still incomplete) awk implementation of TAP driver
900         * lib/tap-driver.sh: Add an incomplete, but mostly working,
901         implementation of a TAP parser and driver in awk.  It doesn't yet
902         support colorized output, fetching of exit status from test
903         programs, nor a way to escape TAP directives in TAP result lines,
904         but passes all the tests of TAP support in the automake testsuite,
905         apart from the following ones:
906           - tap-color.test
907           - tap-escape-directive.test
908           - tap-exit.test
909           - tap-missing-plan-and-bad-exit.test
910           - tap-passthrough-exit.test
911           - tap-planskip-badexit.test
912           - tap-planskip-unplanned-corner.test
913           - tap-signal.test
914         Tested on Debian GNU/Linux with GNU awk 3.1.7 and 3.0.2, "original
915         awk" 2010-05-23-1, and mawk 1.3.3-15 (with which also the test
916         `tap-realtime.test' fails, in addition to those listed above).
917
918 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
919
920         testsuite: fix spurious failure due to Solaris 'wc' incompatibility
921         * tests/tap-number-wordboundary.test ($planned): Strip any extra
922         whitespace from the output of `wc', to cater to Solaris 10.
923
924 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
925
926         coverage: keyword "SKIP" in TAP plan is case-insensitive
927         * tests/tap-planskip-case-insensitive.test: New test.
928         * tests/tap-planskip.test: Remove now-duplicated checks.
929         * tests/Makefile.am (tap_with_common_setup_tests): Update.
930
931 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
932
933         coverage: ambiguous use of TAP "TODO"/"SKIP" directives
934         * tests/tap-ambiguous-directive.test: New test.
935         * tests/tap-todo-skip-together.test: Reference it in heading
936         comments.
937         * tests/Makefile.am (tap_with_common_setup_tests): Update.
938
939 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
940
941         coverage: non-directive comments in TAP results are preserved
942         * tests/tap-result-comment.test: New test.
943         * tests/Makefile.am (tap_with_common_setup_tests): Update.
944
945 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
946
947         coverage: TAP result number followed by non-whitespace word boundary
948         * tests/tap-number-wordboundary.test: New test.
949         * tests/Makefile.am (tap_with_common_setup_tests): Update.
950
951 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
952
953         coverage: a TAP result numbered "0" is always out-of-order
954         * tests/tap-test-number-0.test: New, checks that a test result
955         numbered as 0 is to be considered out-of-order; this is
956         consistent with the behaviour of the `prove' utility.
957         * tests/Makefile.am (tap_with_common_setup_tests): Update.
958
959 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
960
961         cosmetics: fix botched indentation in perl TAP driver
962         * lib/tap-driver.pl (main, Getopt::Long::GetOptions): Fix
963         improper or botched indentation.
964
965 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
966
967         coverage: some more tests on corner cases of TAP support
968         * tests/tap-no-spurious.test: Extend checks verifying that a line
969         matching, say, the regex "^ok[a-zA-Z0-9_]" is *not* considered a
970         TAP result.
971         * tests/tap-no-spurious-numbers.test: New test, checking that our
972         TAP driver doesn't spuriously recognize as TAP result numbers what
973         is not (even if it seems pretty close).
974         * tests/tap-negative-numbers.test: New test, checking that our
975         TAP driver doesn't spuriously recognize negative TAP result
976         numbers, but correctly interprets them as test descriptions
977         instead.
978         * tests/tap-plan-leading-zero.test, tap-numbers-leading-zero.test:
979         New tests, checking how our driver fares in recognizing numbers
980         with leading zeroes in TAP results or TAP plans.
981         * tests/tap-planskip-malformed.test: New test, checking that a
982         malformed TAP plan is not recognized as a valid plan.
983         * tests/tap-plan-whitespace.test: New test, checking that a TAP
984         plan line with trailing whitespace is recognized and handled
985         correctly.
986         * tests/Makefile.am (tap_with_common_setup_tests): Update.
987
988 2011-08-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
989
990         testsuite: various fixlets and tweakings
991         * tests/seenc.test: Make grepping of automake stderr stricter.
992         Add a trailing `:' command.
993         * tests/symlink.test: Likewise.  Also, define `$am_create_testdir'
994         to "empty" to avoid bringing in unused auxiliary files (only to
995         have to remove them right away), and use proper m4 quoting in
996         `configure.in'.
997         * tests/vpath.test: Make grepping of generated `Makefile.in'
998         slightly stricter.  Prefer trailing `:' over trailing `Exit 0'.
999         * tests/suffix6c.test: Unset OBJEXT to avoid interferences from
1000         the environment.
1001         * tests/suffix12.test: Do not whitespace-indent `##' comments
1002         when they are embedded in a makefile rule: having them indented
1003         is not part of the Automake API, and might cause failures with
1004         e.g., Tru64 make.
1005         * tests/syntax.test: Simplify the `Makefile.am' to ensure that
1006         automake doesn't fail for the wrong reasons.  Make grepping of
1007         automake stderr slightly stricter.
1008         * tests/test-harness-vpath-rewrite.test: Remove useless variable
1009         definition from `Makefile.am'.
1010         * tests/test-driver-custom-multitest.test: Fix typo in comments.
1011         * tests/self-check-me.tap: Fix minor typo in test description.
1012         * tests/vars3.test: Make grepping of automake stderr stricter
1013         and safer.
1014         * tests/version6.test: Add sanity check, verifying that the
1015         version number extracted from `automake --version' output seems
1016         legit.
1017         * tests/auxdir2.test: Renamed ...
1018         * tests/auxdir-compauted.tap: ... to this, and converted to the
1019         use of TAP.
1020         * tests/auxdir4.test: Renamed ...
1021         * tests/auxdir-unportable.tap: ... to this, and converted to the
1022         use of TAP.
1023         * tests/auxdir3.test: Renamed ...
1024         * tests/auxdir-misplaced.test: ... to this.
1025         * tests/auxdir5.test: Renamed ...
1026         * tests/auxdir-nonexistent.test: ... to this.
1027         * tests/auxdir9.test: Renamed ...
1028         * tests/auxdir-autodetect.test: ... to this.
1029         * tests/Makefile.am (TESTS): Update.
1030         (XFAIL_TESTS): Remove `auxdir2.test'.
1031
1032 2011-08-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
1033
1034         testsuite: fix some redundant autotools calls in tests on TAP
1035         * tests/tap-deps.test: Do not call autotools and configure; there
1036         is no need to, since this script sources `tap-setup.sh'.
1037         * tests/tap-empty-diagnostic.test: Likewise.
1038         * tests/tap-escape-directive.test: Likewise.
1039         * tests/tap-fancy2.test: Likewise.
1040         * tests/tap-no-spurious.test: Likewise.
1041         * tests/tap-out-of-order.test: Likewise.
1042
1043 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1044
1045         * THANKS (Daniel Richard G.): Update e-mail address.
1046
1047 2011-08-16  Daniel Richard G. <skunk@iskunk.org>  (tiny change)
1048             Stefano Lattarini  <stefano.lattarini@gmail.com>
1049
1050         java: avoid compilation errors when CLASSPATH is empty
1051         * lib/am/java.am (CLASSPATH_ENV): When redefining `$CLASSPATH',
1052         do not append an empty component in case the previous value of
1053         CLASSPATH is empty or unset.
1054         * tests/java-empty-classpath.test: New test.
1055         * tests/Makefile.am (TESTS): Update.
1056         Fixes automake bug#9306.
1057
1058 2011-08-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
1059
1060         parallel-tests: no more spurious successes for FreeBSD make
1061         Work around a bug of FreeBSD make bug that was causing the
1062         automake-generated "check" target to complete with success
1063         even if some tests failed; this happened only when FreeBSD
1064         make was run in concurrent mode (as in, e.g., "make -j2
1065         check").  The bug is not present in NetBSD make.
1066         This change fixes automake bug#9245:
1067          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>
1068         See also FreeBSD PR bin/159730:
1069          <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>
1070         * lib/am/check.am [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Use a
1071         more "safe" (and apparently redundant) idiom to exit with error,
1072         so that the non-zero exit status is picked up also by FreeBSD
1073         make when it's running in concurrent mode.
1074         * NEWS: Update.
1075         * tests/check-concurrency-bug9245.test: New test.
1076         * tests/Makefile.am (TESTS): Update.
1077
1078 2011-08-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
1079
1080         hacking: we now require autoconf 2.68
1081         * HACKING ("Working in git"): Use autoconf and autom4te 2.68,
1082         not 2.67, in the examples.
1083
1084 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1085
1086         tap: improve granularity for tests on problematic TAP messages
1087         * tests/tap-message-0.test: Break up into ...
1088         * tests/tap-msg0-result.test, tests/tap-msg0-directive.test,
1089         tests/tap-msg0-planskip.test, tests/tap-msg0-misc.test,
1090         tests/tap-msg0-bailout.test: ... these new tests, and extend
1091         a little.
1092         * tests/Makefile.am (tap_with_common_setup_tests): Update.
1093
1094 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1095
1096         tap: correctly handle string "0" in TAP messages
1097         * lib/tap-driver.pl (is_null_string): New function, can be used
1098         to determine whether a given string variable is empty or undefined.
1099         Useful to avoid pitfalls like:
1100           if ($message) { print "$message\n"; }
1101         which wouldn't print anything if $message is the literal "0".
1102         (handle_tap_test, handle_tap_plan, handle_tap_bailout): Use it,
1103         to avoid missing messages composed only by a literal "0" in TAP
1104         result descriptions and in skip, todo and bailout explanations.
1105         * tests/tap-message-0.test: Enhance.
1106         * tests/Makefile.am (XFAIL_TESTS): Remove it, it passes now.
1107
1108 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1109
1110         tap: a minor simplification in the perl TAP driver
1111         * lib/tap-driver.pl: The `--disable-hard-errors' option is a
1112         no-op, so just ignore it and its argument.
1113
1114 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1115
1116         parallel-tests: fix help screen for test driver scripts
1117         * lib/tap-driver.pl ($USAGE): The `--trs-file' option is mandatory
1118         too.
1119         * lib/tap-driver.sh (print_usage): Likewise.
1120         * lib/test-driver (print_usage): Likewise.
1121         ($scriptversion): Update.
1122
1123 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1124
1125         tap: add a dummy TAP driver script implemented in shell + awk
1126         The user can also now decide which implementation of the TAP driver
1127         to use in the testsuite by defining the `$am_tap_implementation'
1128         variable to either "perl" or "shell".  Future enhancements will
1129         allow the testsuite to automatically run the test scripts on TAP
1130         support with both the TAP driver implementations, to improve
1131         coverage.
1132         * tests/defs (fetch_tap_driver): Honor the `$am_tap_implementation'
1133         variable to decide which implementation of the TAP driver to fetch.
1134         ($am_tap_implementation): Default to "perl".
1135         * tests/tap-common-setup.test: Do not fetch the TAP driver, the
1136         code in tap-setup.sh does that already (and respecting runtime
1137         overriding of `$am_tap_implementation').
1138         * lib/tap-driver: Renamed ...
1139         * lib/tap-driver.pl: ... to this, and ...
1140         ($ME): ... adjusted this.
1141         * doc/automake.texi: Adjust to the renaming.
1142         * tests/Makefile.am (TAP_LOG_DRIVER): Likewise.
1143         * tests/tap-doc2.test: Likewise.
1144         * lib/tap-driver.sh: New script, still mostly dummy.
1145         * lib/Makefile.am (dist_script_DATA): Update, and since we are at
1146         it, rewrite it to make it easier to add new entries in the future.
1147
1148 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1149
1150         testsuite: refactor tests on TAP support in view of future changes
1151         * tests/defs (fetch_tap_driver): New subroutine; it fetches the
1152         automake-provided TAP driver from the `lib/' directory into the
1153         current directory, and edits its shebang line so that it will be
1154         run with the perl interpreter determined at configure time.
1155         * tests/tap-setup.sh: Use it.
1156         * tests/tap-common-setup.test: There's no need to AC_SUBST `PERL'
1157         anymore, nor to use it in the Makefile to run the TAP driver.
1158         Also, use the `fetch_tap_driver' function instead of copying the
1159         `tap-driver' auxiliary script directly.
1160         * tests/tap-bad-prog.tap: Likewise.
1161         * tests/tap-diagnostic-custom.test: Likewise.
1162         * tests/tap-doc.test: Likewise.
1163         * tests/tap-merge-stdout-stderr.test: Likewise.
1164         * tests/tap-more.test: Likewise.
1165         * tests/tap-more2.test: Likewise.
1166         * tests/tap-recheck.test: Likewise.
1167         * tests/tap-summary-aux.sh: Likewise.
1168         * tests/tap-basic.test: Likewise, and fix a grammaro in comments
1169         since we are at it.
1170
1171 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
1172
1173         test defs: fix typo in comments
1174         * tests/defs (get_shell_script): Fix typo in the function
1175         description.
1176
1177 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
1178
1179         coverage: missing tap plan and non-zero exit status
1180         * tests/tap-missing-plan-and-bad-exit.test: New test.
1181         * tests/Makefile.am (tap_with_common_setup_tests): Update.
1182
1183 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1184
1185         testsuite: fix an unportable use of sed
1186         * tests/tap-todo-skip-whitespace.test: Alternation with "\|" in
1187         sed regular expressions is not portable to (at least) FreeBSD
1188         sed; do not use it.
1189
1190 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1191
1192         testsuite: avoid spurious failure if rst2html program is missing
1193         * tests/test-driver-custom-no-html.test: Account for the
1194         possibility of a lacking `rst2html' program in our final
1195         grepping of make output.
1196
1197 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1198
1199         tap: improve diagnosing and reporting of plan mismatches
1200         Problem exposed by a failure in the test 'tap-plan-errors.test'.
1201         * lib/tap-driver (NO_PLAN, EARLY_PLAN, LATE_PLAN): New constants.
1202         (Throughout the file): Use more complex semantics for `$plan_seen',
1203         which now also remember whether the plan that has been seen is an
1204         "early" or "late" plan; in turn, this makes ...
1205         ($tap_stopped): ... this variable redundant; remove it.
1206         (handle_tap_plan): Adjust to avoid producing spurious or confusing
1207         error messages about extra or mismatched "late" TAP plans.
1208         * tests/tap-plan-corned.test: Adjust and extend.
1209         * tests/tap-color.test: Likewise.
1210
1211 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1212
1213         tap: log all TAP stream, even after a "Bail out!"
1214         * lib/tap-driver ($bailed_out): New global boolean variable,
1215         telling whether a "Bail out!" directive has been seen or not.
1216         (handle_tap_bailout): This function does not anymore stop the
1217         reading from TAP stream; instead, it sets `$bailed_out' to a
1218         true value, so that only the subsequent parsing of the input
1219         TAP stream is stopped.
1220         (finish): Remove, no more needed, its contents inlined into ...
1221         (main): ... this function, with related adjustments in the code
1222         flow.
1223         (get_test_exit_message): Do not "flush" the input TAP stream
1224         to fetch the exit status of test script, it is not anymore
1225         required.  Add a sanity check.
1226         * tests/tap-bailout-and-logging.test: New test.
1227         * tests/Makefile.am (tap_with_common_setup_tests): Update.
1228
1229 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1230
1231         coverage: TAP diagnostics after "Bail out!" aren't reported
1232         This is compatible with the behaviour of the `prove' utility.
1233         * tests/tap-bailout-suppress-later-diagnostic.test: New test.
1234         * tests/Makefile.am (tap_with_common_setup_tests): Update.
1235
1236 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1237
1238         coverage: TAP errors after a "Bail out!" directive aren't reported
1239         This is compatible with the behaviour of the `prove' utility.
1240         * tests/tap-bailout-suppress-later-errors.test: New test.
1241         * tests/tap-bailout-badexit.test: Renamed ...
1242         * tests/tap-bailout-suppress-badexit.test: ... to this, for
1243         consistency.
1244         * tests/Makefile.am (tap_with_common_setup_tests): Update.
1245
1246 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1247
1248         testsuite: reorganize tests on TAP plans
1249         * tests/tap-skip-whole.test: Rename ...
1250         * tests/tap-planskip.test: ... to this
1251         * tests/tap-skip-whole-badexit.test: Rename ...
1252         * tests/tap-planskip-badexit.test: ... to this.
1253         * tests/tap-skip-whole-bailout.test: Rename ...
1254         * tests/tap-planskip-bailout.test: ... to this.
1255         * tests/tap-skip-whole-bailout.test: Rename ...
1256         * tests/tap-planskip-later-errors.test: ... to this.
1257         * tests/tap-skip-whole-unplanned.test: Rename ...
1258         * tests/tap-planskip-unplanned.test: ... to this.
1259         * tests/tap-skip-whole-whitespace.test: Rename ...
1260         * tests/tap-planskip-whitespace.test: ... to this.
1261         * tests/tap-skip-whole-continue.test: Rename ...
1262         * tests/tap-planskip-and-logging.test: ... to this, extend to try
1263         more cases, and fix heading comments.
1264         * tests/tap-skip-whole-lastline.test: Rename ...
1265         * tests/tap-planskip-late.test: ... to this, fix heading comments,
1266         and remove some checks that are just a duplication of those already
1267         performed in the previous script.
1268         * tests/tap-results-with-planskip.test: Rename to ...
1269         * tests/tap-planskip-unplanned-corner.test: ... this, and improve
1270         hading comments.
1271         * tests/tap-planskip-later-errors.test: New test.
1272         * tests/Makefile.am (tap_with_common_setup_tests): Update.
1273
1274 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1275
1276         coverage: more TAP driver consistency w.r.t. 'prove'
1277         * tests/skip-results-with-planskip.test: New test, verifies that
1278         test results seen in a TAP stream that has a "plan with SKIP" are
1279         flagged as errors.
1280         * tests/Makefile.am (tap_with_common_setup_tests): Update.
1281
1282 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1283
1284         tap: improve some comments in the TAP driver
1285         * lib/tap-driver (handle_tap_plan): Improve comments describing
1286         possible errors in a "plan with SKIP" directive.
1287
1288 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1289
1290         tap: non-zero exit status after "Bail out!" should not be reported
1291         This new behaviour is more consistent with that of the `prove'
1292         utility.  Also, experience with the use of TAP in the Automake's
1293         own test suite has shown that reporting non-zero exit status from
1294         a script after it has issued a "Bail out!" directive is mostly
1295         redundant, more introducing noise rather than conveying useful
1296         information.
1297         * lib/tap-driver (finish): Inline the part of it that was getting
1298         the script exit status ...
1299         (main): ... in here.
1300         * tests/tap-bailout-badexit.test: New test.
1301         * tests/Makefile.am (tap_with_common_setup_tests): Update.
1302
1303 2011-08-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
1304
1305         tap: a "plan with SKIP" after test results is an error
1306         This new behaviour is both more natural and more consistent with
1307         that of the `prove' utility.
1308         * lib/tap-driver (handle_tap_plan): Do not stop TAP parsing when
1309         a "plan with SKIP" line (e.g., "1..0 # SKIP") is encountered, and
1310         do not print a "SKIP" line if some TAP result has already been
1311         seen.
1312         * tests/tap-skip-whole.test: Adapt.
1313         * tests/tap-skip-whole-lastline.test: Likewise.
1314         * tests/tap-global-result.test: Adapt and extend.
1315         * tests/tap-skip-plan-errors.test: Likewise, and fix an obsolete
1316         small part of a comment.
1317         * tests/tap-skip-whole-bailout.test: New test.
1318         * tests/tap-skip-whole-unplanned.test: Likewise.
1319         * tests/tap-skip-whole-continue.test: Likewise.
1320         * tests/Makefile.am (tap_with_common_setup_tests): Update.
1321
1322 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1323
1324         test harness: avoid possible fork bomb
1325         This fixes a regression w.r.t. the master branch, exposed by
1326         test 'parallel-tests-fork-bomb.test'.
1327         * lib/am/check.am (am--redo-logs): Detect possible infinite
1328         recursion due to a test log in $(TEST_LOGS) being the same
1329         as $(TEST_SUITE_LOG).
1330
1331 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1332
1333         coverage: enhance test against infinite recursion in test harness
1334         * tests/parallel-tests-fork-bomb.test: Enhance and extend a
1335         little now, for soon-to-be-implemented more explicit and safer
1336         semantics.
1337
1338 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1339
1340         coverage: possible infinite recursion in the test harness
1341         Motivated by a regression in the 'test-protocols' branch.
1342         * tests/parallel-tests-fork-bomb.test: New test, checking that
1343         if $(TEST_SUITE_LOG) is in $(TEST_LOGS), we obtain a diagnosed
1344         error rather than a make hang or a fork bomb.
1345         * tests/Makefile.am (TESTS): Update.
1346
1347 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1348
1349         test defs: yet more environment cleanup
1350         * tests/defs: Also unset the TEST_SUITE_LOG variable.
1351
1352 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
1353
1354         self tests: some minor refactoring
1355         * tests/self-check-exit.tap: Disable the `errexit' shell flag;
1356         this allow to remove some boilerplate idioms and to make some
1357         code slightly less cumbersome.
1358         * tests/self-check-me.tap: Likewise.
1359
1360 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
1361
1362         maintcheck: look for TAP-based tests without TAP plan
1363         * Makefile.am (sc_tests_tap_plan): New maintainer check.
1364         (syntax_check_rules): Add it.
1365         * tests/suffix10.tap: Declare a TAP plan.
1366         * tests/add-missing.tap: Likewise.
1367
1368 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
1369
1370         testsuite: avoid confusing SKIP messages for errored tests
1371         * tests/defs [$use_tap] (exit trap): Don't print the test plan
1372         in case the client script exited with a non-zero status.  This
1373         avoids the display of redundant "SKIP" messages for tests with
1374         lazy plans that error out before any test is run.
1375
1376 2011-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
1377
1378         testsuite: keep more debugging info around in 'add-missing.tap'
1379         * tests/add-missing.tap: Use a different directory for each test,
1380         so that in case of failure more information is kept around.
1381         Since we are at it, remove redundant TAP diagnostic, and define
1382         `$am_create_testdir' to "empty" to avoid bringing in unused
1383         auxiliary files.
1384
1385 2011-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
1386
1387         testsuite: more granular count of test results in our TAP library
1388         * tests/tap-functions.sh ($tap_bad_count_): Removed, superseded
1389         by ...
1390         ($tap_fail_count_, $tap_xpass_count_): ... these new variables,
1391         which keep more granular counts.
1392         ($tap_pass_count_: New variable.
1393         * tests/defs (exit trap): Adjust and simplify accordingly.
1394
1395 2011-08-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
1396
1397         testsuite: fixlets and improvements in two long TAP-based tests
1398         * tests/depmod.tap: Clean up the subdirectories used by tests that
1399         passed, to avoid ending up with a too big test directory.  This is
1400         especially important since, on each and every system, at least some
1401         tests in this script are expected to be skipped (which ones exactly
1402         depends on the system), thus causing the test directory not to be
1403         removed when the script terminates.
1404         * tests/instspc.tap: Likewise (with the difference that tests here
1405         are not expected to be skipped, but to xfail).  Give more explicit
1406         error message in case of setup failure.  Skip the proper number of
1407         tests when required, to avoid spurious errors due to mismatched
1408         plan.  Also, really avoid to run the unsupported test cases when
1409         the need to skip them is detected.
1410
1411 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1412
1413         test harness: recursive make invocations must use $(AM_MAKEFLAGS)
1414         * lib/am/check.am ($(TEST_SUITE_LOG)): Pass $(AM_MAKEFLAGS)
1415         to $(MAKE) when issuing a recursive make call.
1416         Problem detected by the `sc_tests_make_without_am_makeflags'
1417         maintainer check.
1418
1419 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1420
1421         tests: fix spurious failure in 'suffix-chain.tap'
1422         * tests/suffix-chain.test: Use more uncommon suffixes that
1423         don't trigger built-in recipes with FreeBSD make.
1424
1425 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1426
1427         testsuite: improvements to our shell TAP library and APIs
1428         These improvements impact only the Automake's own testsuite.
1429         * tests/tap-functions.sh (plan_): Allow new special arguments
1430         "unknown" a.k.a. "later" and "lazy" a.k.a. "now".  Perform
1431         sanity check the given arguments.  Adjust incorrect comments.
1432         (lazy_plan_): Removed, superseded by the new version of `plan_'.
1433         (not): New function, run a command and inverts its exit status.
1434         (ok_, not_ok_, skip_): These are just shorthands for common
1435         `result_' usages.
1436         (xfail_, xpass_, reset_test_count_): Removed, they are not used,
1437         nor does a legitimate use for them seem in sight.
1438         (not): New function, to run a command inverting its exit status.
1439         (command_not_ok_): Removed, superseded by `command_ok_' + `not'.
1440         (command_ok_): Extended to accept TAP directives.
1441         * tests/defs (trap): Don't use `late_plan_' anymore, use
1442         `plan_ "now"' instead.
1443         * tests/ac-output-old.tap: Update to take advantage of the new
1444         APIs.
1445         * tests/self-check-env-sanitize.tap: Likewise.
1446         * tests/suffix-chain.tap: Likewise.
1447         * tests/suffix10.tap: Likewise.
1448         * tests/suffix11.tap: Likewise.
1449         * tests/suffix3.tap: Likewise.
1450         * tests/suffix8.tap: Likewise.
1451         * tests/tap-bad-prog.tap: Likewise.
1452         * tests/self-check-exit.tap: Likewise, plus a small improvement
1453         in the name of a variable.
1454
1455 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1456
1457         testsuite: convert some `suffix*' tests to TAP
1458         This will allow us to explicitly declare some expected failures
1459         involving Solaris make as such, instead of partly papering over
1460         them with skips and partly letting them fail too loudly.
1461         * tests/suffix-chain.test: Rename ...
1462         * tests/suffix-chain.tap: ... to this, and convert to the use of
1463         TAP.  Also, fix some bugs since we are at it, and ...
1464         ($required): ... require `cc'.
1465         * tests/suffix3.test: Rename ...
1466         * tests/suffix3.tap: ... to this, and convert to the use of TAP.
1467         Also, since we are at it, throw in some formatting fixes.
1468         * tests/suffix8.test: Rename ...
1469         * tests/suffix8.tap: ... to this, and convert to the use of TAP.
1470         Also, since we are at it, throw in some formatting fixes.
1471         * tests/suffix10.test: Rename ...
1472         * tests/suffix10.tap: ... to this, and convert to the use of TAP.
1473         * tests/suffix11.test: Rename ...
1474         * tests/suffix11.tap: ... to this, and convert to the use of TAP.
1475         * tests/Makefile.am (TESTS): Update.
1476
1477 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1478
1479         tests: don't let a known Solaris make bug poison too many tests
1480         See automake bug#7670 and bug#7824.
1481         * tests/defs (make_can_chain_suffix_rules): New function, tell
1482         whether the make implementation in use can chain suffix rules
1483         automatically or not.
1484         * tests/suffix3.test: Use it to avoid issuing calls to make that
1485         are unportable to make implementations that are not smart enough
1486         to chain suffix rules automatically.
1487         * tests/suffix8.test: Use it to avoid issuing calls to make that
1488         * tests/suffix10.test: Use it to avoid issuing calls to make that
1489         * tests/suffix11.test: Use it to avoid issuing calls to make that
1490         * tests/suffix-chain.test: New test, exposes the limitation that
1491         we have papered over in the tests above.
1492
1493 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1494
1495         gitignore: more use of anchors
1496         * .gitignore: Anchor files that are intended to be ignored only
1497         if found in the same directory of the `.gitignore' file, not also
1498         in its subdirectories.
1499         * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
1500         lib/Automake/tests/.gitignore, tests/.gitignore: Likewise.  Also,
1501         where needed, add new entries that were once implied by the
1502         non-anchored entries in the upper-level `.gitignore' files.
1503
1504 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1505
1506         self tests: avoid spurious output on console, and related fixlets
1507         * tests/self-check-cleanup.test: Set `$stderr_fileno_' to `2'
1508         in the self tests, to avoid spurious diagnostic on console.
1509         * tests/self-check-exit.tap: Only unset `am_explicit_skips' and
1510         `$stderr_fileno_' in the self tests, not at the global level, it
1511         is more correct.
1512         ($init): New variable, to reduce code duplication.
1513         Some refactoring and adjustments to the name of the tests.
1514
1515 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1516
1517         test defs: few more sanity checks
1518         * tests/defs: Catch some more (very unlikely) set-up or internal
1519         errors, and diagnose them explicitly.  This is intended mostly
1520         to be a theoretic-only improvement.
1521
1522 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1523
1524         test defs: really make them "set -e" clean
1525         Motivated by a spurious failure of test `instsh3-w.shtst' on
1526         Solaris 10.
1527         * tests/defs: Make really "set -e" clean, to avoid spurious
1528         failures in case this file is sourced by a test script that has
1529         already set the `errexit' flag.  To be sure we don't regress,
1530         move the `set -e' call much earlier, and make the comment telling
1531         about the expected "set -e" cleanliness more loud and outstanding.
1532
1533 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1534
1535         self tests: register an expected failures with Solaris /bin/sh
1536         Solaris 10 /bin/sh erroneously exit with success right away when
1537         the following three conditions are met at the same time:
1538          1. the `errexit' flag is active,
1539          2. an exit trap is installed, and
1540          3. a non-existing command is issued.
1541         * tests/self-exit.tap: When that bug is detected, issue an XFAIL
1542         rather than a FAIL.  Since we are at it, improve by avoiding
1543         creation of stray temporary files when testing for non-executable
1544         commands.
1545
1546 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1547
1548         gitignore: update and improve for the testsuite files
1549         * tests/.gitignore: Don't ignore temporary partial log files,
1550         autogenerated tests and makefile fragments that are not used
1551         anymore.  Anchor all the remaining patterns.
1552
1553 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1554
1555         self tests: some new uses of TAP, few extensions
1556         * tests/self-check-me.test: Renamed ...
1557         * tests/self-check-me.tap: .. to this, and converted to use TAP.
1558         * tests/self-check-exit.test: Renamed ...
1559         * tests/self-check-exit.tap: .. to this, and converted to use TAP.
1560         Set `$stderr_fileno_' to `2', to avoid spurious messages on the
1561         console.  Add a new test, and relax another one.
1562         * tests/self-check-env-sanitize.test: Renamed ...
1563         * tests/self-check-env-sanitize.tap: .. to this, and converted to
1564         the use TAP.
1565         * tests/Makefile.am (TESTS): Update.
1566
1567 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1568
1569         test defs: test directory creation more configurable
1570         After this change, the individual tests will be able to tell
1571         `./defs' whether or not to create a temporary test directory
1572         for them, and if yes, whether or not to pre-populate it.
1573         * tests/defs: Only create the temporary test directory if the
1574         variable `$am_create_testdir' is not set to "no".  In this
1575         case, only pre-populate it if that variable is not set to
1576         `$empty'.
1577         * tests/defs-static.in: Check that `$am_create_testdir' is not
1578         exported in the environment.
1579         * tests/self-check-env-sanitize.test: Update.
1580         * tests/self-check-dir.test: Extend, and make deeper and more
1581         robust.
1582         * tests/README (Section "Writing test cases" subsection "Do"):
1583         Update.
1584         * tests/autodist.test: Set `$am_create_testdir' instead of
1585         removing by hand files created by ./defs.
1586         * tests/tap-doc2.test: Likewise.
1587
1588 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1589
1590         testsuite: more uses of the `seq_' function
1591         * tests/parallel-tests-exit-statuses.test: Use the `seq_' function
1592         from `tests/defs', instead of duplicating its semantics.
1593         * tests/testsuite-summary-count.test: Likewise.
1594
1595 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1596
1597         testsuite: drop redundant environment sanitization
1598         * tests/Makefile.am (TESTS_ENVIRONMENT): Don't remove `planned'
1599         from the environment.
1600         * tests/defs-static.in: Don't complain if `planned' is set in
1601         the environment.
1602         * tests/self-check-env-sanitize.test: Update.
1603
1604 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1605
1606         test defs: fix bug in plain version of `skip_all_'
1607         * tests/plain-functions.sh (skip_all_): Call `skip_', not `skip'.
1608
1609 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1610
1611         test defs: small cleanups and tweakings
1612         * tests/defs: Where possible, prefer `framework_failure_' or
1613         `fatal_' to `Exit 99'.  Try to catch more possible hard errors
1614         and setup failures.  Do not hide expected error messages.  Avoid
1615         a couple of forks when copying files from `$(top_srcdir)/lib'.
1616         ($signal): Remove, no more needed.
1617
1618 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1619
1620         testsuite: improve interface for giving early TAP plan
1621         Since commit `v1.11-976-g4740f56', an early TAP plan can also be
1622         specified after input lines have already been seen, as long as
1623         no one of them is a TAP result line.  We can now take advantage
1624         of this in our own testsuite, allowing the TAP-based scripts to
1625         specify their earlier plan after having included `./defs'.  In
1626         particular, this offers the benefit of allowing those scripts to
1627         issue a "skip all" plan (e.g., "1..0 # SKIP reason ...") after
1628         the inclusion of `./defs', which wasn't possible with the older
1629         interface (introduced in commit `v1.11-1114-g0286308').
1630         * tests/defs: Don't try to call `plan_' if `$planned' is defined,
1631         the calling scripts can do that directly now.
1632         * tests/ac-output-old.tap: Use `plan_' directly instead of
1633         setting `$planned' before including `./defs'.
1634         * tests/automake-cmdline.tap: Likewise.
1635         * tests/depmod.tap: Likewise.
1636         * tests/instspc.tap: Likewise.
1637         * tests/tap-bad-prog.tap: Likewise.
1638         * tests/add-missing.tap: Don't set `$planned'.
1639
1640 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1641
1642         test defs: fix bug in TAP version of `skip_all_'
1643         * tests/tap-functions (skip_all_): Set `$have_tap_plan_' to "yes"
1644         when called, so that the exit trap won't write another TAP plan.
1645
1646 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1647
1648         test defs: fix skip directives to work also with TAP-based tests
1649         * test/defs: Use `skip_all_', not `skip_', to issue a skip of the
1650         whole calling test script.
1651
1652 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1653
1654         test defs: more environment cleanup
1655         * tests/defs: Also unset variables AM_COLOR_TESTS and
1656         AM_TESTS_ENVIRONMENT.
1657
1658 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1659
1660         test harness: more minor VPATH-rewrite issues
1661         * tests/am/check.am (am__set_TESTS_bases, $(TEST_SUITE_LOGS),
1662         am--redo-logs, recheck, recheck-html): Cosmetic fixlets to
1663         minimize the risk of unwanted VPATH rewrites.
1664         (check-TESTS): Likewise, and normalize trailing whitespace
1665         since we are at it.
1666         Bugs exposed by test cases `check6-p.test' and `check7-p.test'.
1667
1668 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1669
1670         test harness: "make -n check" works correctly with Solaris make
1671         To avoid some recipes being executed with "make -n", we used the
1672         trick of issuing recursive make calls not directly with $(MAKE),
1673         but with a simple indirection instead:
1674           ...
1675           am__stealth_MAKE = $(MAKE)
1676           ...
1677           target:
1678               ... $(am__stealth_MAKE) ...
1679           ...
1680         This hack worked with GNU make, but, unfortunately, not with
1681         Solaris make.  The present change removes the hack, and uses more
1682         proper idioms to avoid unwanted recipe executions with "make -n".
1683         Bug exposed by test case `parallel-tests-dry-run.test'.
1684         * lib/am/check.am (am__stealth_MAKE): Remove, no more used.
1685         (.log.trs): Break recipe in multiple shell invocations.
1686         ($(TEST_SUITE_LOG)): Likewise, and move some corner-case parts of
1687         the recipe to ...
1688         (am--redo-logs): ... this new internal helper .PHONY target.
1689
1690 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1691
1692         tests: fix spurious failure with Solaris make
1693         * tests/distcheck-configure-flags-am.test: Avoid using `+=' too
1694         liberally with AM_DISTCHECK_CONFIGURE_FLAGS, since the line breaks
1695         so introduced, in conjunction with single quotes, might confuse
1696         Solaris make.
1697
1698 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1699
1700         test harness: fixlet in workaround for VPATH rewrite issue
1701         Fixes a minor in previous commit `v1.11-983-gfda3de5'.
1702         * lib/am/check.am (am__set_TESTS_bases): Add forgotten end-of-line
1703         anchor to sed expression.  In comments, add reference to ...
1704         * tests/test-trs-basic.test: ... this test, which has been adapted
1705         and tightened (and tweaked).
1706
1707 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1708
1709         test harness: work around a VPATH rewrite issue
1710         * lib/am/check.am (am__TEST_BASES): Removed, it's role taken
1711         over by ...
1712         (am__set_TESTS_bases): ... these new variable.
1713         ($(TEST_SUITE_LOG): Use it, to avoid VPATH rewrite issues.
1714         * automake.in (handle_tests): Update the code for the cleanup
1715         of the `.trs' file to use `$(TEST_LOGS)' instead of
1716         `$(am__TEST_BASES)'.
1717         * tests/test-harness-vpath-rewrite.test: New test, better
1718         exposing the problem fixed by this change
1719         * tests/Makefile.am (TESTS): Add it.
1720         * tests/test-trs-basic.test: Update and extend.
1721
1722 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1723
1724         parallel-tests: work around Solaris XPG4 make segfault
1725         Issue exposed by test `posixsubst-tests-p.test', and similar to
1726         the problem solved by commit `v1.11-159-ge7aa360'.
1727         * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Trim trailing
1728         whitespace from $list, to avoid triggering a nasty bug (potential
1729         segfault) on Solaris XPG4 make and Heirloom make.
1730
1731 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1732
1733         testsuite: fix weird spurious failure with Solaris /bin/sh
1734         Solaris /bin/sh, when killed with a SIGTERM or SIGINT signal, can
1735         apparently end up exiting with exit status 208, instead of leaving
1736         the correct wide exit status to the parent.  See:
1737          <http://dbaspot.com/shell/396118-bourne-shell-exit-code-term.html>
1738         Work around this incompatibility.
1739         * tap-signal.test: Look for the above Solaris bug.
1740         (signal_caught): Adapt to handle it.
1741
1742 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1743
1744         testsuite: fix another spurious failure on Solaris make
1745         * tests/parallel-tests-log-override-recheck.test: Filter make
1746         output before grepping it, for make implementations that, like
1747         Solaris' one, print the whole of the failed recipe on failure.
1748
1749 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1750
1751         testsuite: fix two spurious failures on Solaris make
1752         * tests/tests-environment-and-log-compiler.test: Do not fail if
1753         "make -n check" fails, as that is issued only for debugging, its
1754         semantics being tested in other test scripts.
1755         * tests/test-driver-strip-vpath.test: Likewise.
1756
1757 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1758
1759         tap driver: refactor and remove dead code
1760         * lib/tap-driver (get_tap_line): Removed, ...
1761         (all callers): ... updated to use $parser->next directly instead.
1762         (peek_tap_line, unget_tap_line, @tap_lines): Remove, they're not
1763         used anymore.
1764         (TAP_PEEKING): Block deleted, all its subroutines and variables
1765         having been removed.
1766
1767 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1768
1769         testsuite: fix spurious failure in a test on TAP support
1770         * tests/tap-passthrough-exit.test: When the `--ignore-exit' flag
1771         of the TAP driver is used, don't look for a message reporting the
1772         non-zero exit statuses of tests in the log files; such message is
1773         not expected to be there anymore.  Related simplifications.
1774
1775 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1776
1777         tap: plan location is more liberal w.r.t. non-TAP lines
1778         With this change, only lines that are TAP results will matter
1779         w.r.t. the position of the TAP plan in the input; for example,
1780         this input:
1781           this is a non-TAP line
1782           # and this a TAP diagnostic line
1783           1..1
1784           ok 1
1785         was considered to be an error, diagnosed with a message "test
1786         plan in middle of output"; as effect of the current change, such
1787         input is now valid.  This is more consistent with the behaviour
1788         of the `prove' utility.
1789         * lib/tap-driver ($lineno): Removed, no more needed.
1790         ($tap_stopped): New global variable.
1791         (stringify_test_result): Return "ERROR" if a TAP result is found
1792         when `$tap_stopped' is set to true.
1793         (handle_tap_test): Diagnose TAP results that comes after a late
1794         plan.  Add a couple of blank lines, for clarity.
1795         (handle_tap_plan): Set `$tap_stopped' to true after a late plan
1796         is encountered.  Do not complain anymore for extra non-TAP lines
1797         preceding or following the plan.  Adjust comments.
1798         (main): Don't increment $lineno anymore.
1799         * tests/tap-plan.test: Extend a bit, and remove stale comment.
1800         * tests/tap-color.test: Adjust.
1801         * tests/tap-passthrough.test: Likewise.
1802         * tests/tap-plan-corner.test: Adjust and extend.
1803         * tests/tap-plan-errors.test: Likewise.
1804         * tests/tap-plan-middle.test: New test.
1805         * tests/tap-plan-corner2.test: Delete, it's obsolete now.
1806         * tests/Makefile.am (XFAIL_TESTS): Remove it.
1807         (tap_with_common_setup_tests): Likewise, and add
1808         `tap-plan-corner.test'.
1809
1810 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1811
1812         testsuite: remove now-passing test from XFAIL_TESTS
1813         * tests/Makefile.am (XFAIL_TESTS): Remove `tap-signal.test',
1814         which is passing since previous commit `v1.11-974-gc7fa872'.
1815
1816 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1817
1818         test defs: get name of TAP-using tests correctly
1819         This change fixes the names of the temporary directories used
1820         by the TAP-based tests (e.g., test `foo.tap' now uses `foo.dir'
1821         rather than `foo.tap.dir'); more importantly, this make the
1822         variable `$destdir' defined in `tests/defs' usable also in the
1823         TAP tests.
1824         ($me): Also strip the any `.tap' suffix from the name of the
1825         test.
1826
1827 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1828
1829         testsuite: TAP tests properly decide when to remove tempdirs
1830         Before this change, the TAP tests in the Automake testsuite were
1831         removing the temporary test directory even when they failed or
1832         were skipped, thus making debugging more difficult.
1833         * tests/tap-functions.sh (incr_tap_count): Removed, superseded
1834         by ...
1835         (incr_): ... this function, which can increment the value of any
1836         variable passed to it.
1837         (result_):  Updated to use `incr_' instead of the now-removed
1838         `incr_tap_count_'.  Keep count of failures, xfailures, xpasses,
1839         and skips, using ...
1840         ($tap_skip_count_, $tap_bad_count, _$tap_xfail_count_): ...
1841         these new variables.
1842         * tests/defs (trap): Try to use their values to decide whether
1843         the temporary directory being used by the test script should be
1844         removed or not.  Other code reorganizations.  And move the code
1845         for the removal of the temporary directory out to ...
1846         (rm_rf_): ... this new subroutine.
1847         (Main code): Use that instead of duplicating the code.
1848
1849 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1850
1851         testsuite: improve and refactor our custom TAP shell library
1852         This change is mostly done in preparation for the next one.
1853         * tests/tap-functions.sh (result_with_directive_): Merge into ...
1854         (result_): ... this function, which has been greatly extended and
1855         improved in various ways.
1856         (ok_, not_ok_, skip_, xfail_, xpass_): Adjust.
1857         Adjust comments.  Remove an extra empty line.
1858         * tests/instspc.tap: Use the new improved interface of `result_'.
1859         * tests/tap-bad-prog.tap: Likewise.
1860
1861 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1862
1863         testsuite: update "user interface" description in tests/README
1864         * tests/README (Subsection "Interpretation"): Mention the "ERROR"
1865         outcome.
1866         (Subsection "Getting details from failures"): Don't tell that the
1867         test scripts can be run directly, this is not 100% true; anymore;
1868         instead ...
1869         (Subsection "About the tests"): ... use this new subsection to
1870         explain how to run the tests (either simple or TAP-based) by hand.
1871         (Subsection "Supported shells"): Extend to refer to TAP tests too.
1872
1873 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1874
1875         testsuite: TAP tests can have early plan now
1876         * tests/defs: When using TAP, allow the user to specify the number
1877         of tests through the `$planned' variable.
1878         (trap): Do not print the auto-generated plan if an explicit one
1879         has already been printed.
1880         * tests/defs-static.in: Complain and bail out if the `$planned'
1881         variable is exported in the environment.  Reformat the code to
1882         facilitate future additions.
1883         * tests/Makefile.am (TESTS_ENVIRONMENT): Neutralize `$planned'.
1884         * tests/self-check-env-sanitize.test: Update.
1885         * tests/ac-output-old.tap: Give an explicit TAP plan, by defining
1886         `$planned' just before including `./defs'.
1887         * tests/depmode.tap: Likewise.
1888         * tests/automake-cmdline.tap: Likewise.
1889         * tests/tap-bad-prog.tap: Likewise.
1890         * tests/instspc.tap: Likewise, and related adjustments.
1891         * tests/add-missing.tap: Make it explicit that we have no a-priori
1892         plan, and tell why.
1893
1894 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1895
1896         testsuite: run autogenerated tests with $(LOG_COMPILER) too
1897         This change enhances consistency in the testsuite.
1898         * tests/Makefile.am: Some cosmetic reordering, to keep the
1899         definition of FOO_LOG_COMPILER near to the place where `.foo'
1900         is added to $(TEST_EXTENSIONS).
1901         (PTEST_LOG_COMPILER): Run `$(srcdir)/parallel-tests.sh' with
1902         `$(LOG_COMPILER)', not with `$(SHELL)'.
1903         (SHTST_LOG_COMPILER): Likewise.
1904
1905 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1906
1907         testsuite: run TAP and "plain" tests with the same $(LOG_COMPILER)
1908         With this change, it will be easier to override, at make time, the
1909         shell used to run the tests.
1910         * tests/Makefile.am (LOG_COMPILER): Define to `$(SHELL)'.
1911         (TEST_LOG_COMPILER): Re-define to `$(LOG_COMPILER)'.
1912         (TAP_LOG_COMPILER): Likewise.
1913
1914 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1915
1916         testsuite: run TAP-based tests explicitly with $(SHELL)
1917         * tests/Makefile.am (TAP_LOG_COMPILER): Define to `$(SHELL)'.
1918
1919 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1920
1921         tap driver: handle signals received by the tests being run
1922         * lib/tap-driver (get_test_exit_message): Also deal with signals,
1923         by using the `wait' method of the TAP::Parser object instead of
1924         the `exit' method.  This required the use of the standard perl
1925         module `POSIX'.
1926         * doc/automake.texi (Use TAP with the Automake test harness):
1927         Document that `--ignore-exit' has effect also on terminating
1928         signals.  Add a "synchronizing" comment that references the tests
1929         'tap-exit.test' and 'tap-signal.test'.
1930         * tests/tap-signal.test: Extend and adjust.
1931
1932 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1933
1934         test driver: a preparatory refactoring (2)
1935         * lib/tap-driver (finish): Move code to fetch the message about
1936         the exit status of the test being run to ...
1937         (get_test_exit_message): ... this new subroutine.
1938
1939 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1940
1941         tap driver: a preparatory refactoring (1)
1942         * lib/tap-driver (finish): Do not flush the TAP stream nor
1943         fetch the exit status of the TAP producer if running with
1944         the `--ignore-exit' option.  Obviously, don't try to write
1945         such exit status in the test log anymore.
1946
1947 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1948
1949         cosmetics: typofix in the name of a function in the TAP driver
1950         * lib/tap-driver (testuite_error): Renamed ...
1951         (testsuite_error): ... to this, and minor related reformatting.
1952
1953 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1954
1955         tap: scripts with a SKIP plan but with exit status != 0 must error
1956         This change has been motivated by Automake's own testsuite.  Some
1957         TAP tests there were erroring out (due to unexpected, unhandled
1958         failures) before having encountered TAP result, so that the
1959         simple-minded shell library implementing TAP generation ended up
1960         printing a "1..0" trailing test plan; this caused the script to be
1961         reported as a SKIP rather than an ERROR -- a nasty false negative.
1962         * lib/tap-driver: Add prototypes for each subroutine, to free up
1963         the order in which they can be defined and called.
1964         (main): Move the code checking for a bad exit status of the TAP
1965         producer ...
1966         (finish): ... here, and flush the TAP stream to ensure that the
1967         parser always obtains the producer's exit status.
1968         * tests/tap-skip-whole-badexit.test: New test.
1969         * tests/Makefile.am (tap_with_common_setup_tests): Add it.
1970
1971 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1972
1973         tap: fix whitespace munging of diagnostic messages
1974         * lib/tap-driver (extract_tap_comment): Pass the `g' flag to the
1975         substitution operator, to strip also trailing whitespaces.  Fixes
1976         a failure in test `tap-whitespace-normalization.test'.
1977
1978 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1979
1980         testsuite: refactor and cleanup 'instspc.tap'
1981         * tests/instspc.tap (is_in_list): New helper subroutine.
1982         (expected_to_fail): Re-implement using it.
1983         (define_problematic_string): Likewise.  Also, rename the special
1984         arguments `build-fail' and 'install-fail' to respectively
1985         `builddir-fail' and `destdir-fail', and other related changes.
1986         (Test data definition): Adapt.
1987         ($instspc_xfail_builds_list): Renamed ...
1988         ($builddir_xfails): ... to this.
1989         ($instspc_xfail_installs_list): Renamed ...
1990         ($destdir_xfails): ... to this.
1991         ($instspc_names_list): Renamed ...
1992         ($test_names_list): ... to this.
1993         ($instspc_test_string): Renamed ...
1994         ($test_string): ... to this.
1995         Add some explicative and "FIXME" comments.
1996
1997 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1998
1999         testsuite: use TAP for `depmod*' tests, related simplifications
2000         * tests/depmod-tests.sh: Delete this complex and multifarious
2001         script, moving all it checks it used to perform into ...
2002         * tests/depmod.tap: ... this TAP-based test script.  And extend
2003         it quite a bit, since the new form of the test was papering over
2004         some pre-existing failures (this was due to the fact that the
2005         values used for the VPATH were shorter in the new test script).
2006         * tests/depmod-data.test: Deleted.
2007         * tests/Makefile.am ($(srcdir)/depmod-tests.am): Don't include
2008         nor generate it anymore.
2009         (EXTRA_DIST): Don't distribute depmod-tests.sh anymore.
2010         (TEST_EXTENSIONS): Remove '.depmod'.
2011         (DEPMOD_LOG_COMPILER): Deleted.
2012         (depmod-data.log, $(depmod_tests:.depmod=.log)): Delete
2013         dependencies for these files, which are not used anymore.
2014         ($(depmod_tests)): Delete this dummy dependency declaration.
2015         (TESTS): Remove $(depmod_tests).
2016         (handwritten_tests): Remove depmod-data.test, add depmod.tap.
2017         * bootstrap: Don't generate tests/depmod-tests.am anymore.
2018
2019 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2020
2021         testsuite: use TAP for `instspc*' tests, related simplifications
2022         * tests/instspc-tests.sh: Delete this complex and multifarious
2023         script, moving all it checks it used to perform into ...
2024         * tests/instspc.tap: ... this TAP-based test script.
2025         * tests/instspc-data.test: Deleted.
2026         * tests/Makefile.am ($(srcdir)/instspc-tests.am): Don't include
2027         nor generate it anymore.
2028         (EXTRA_DIST): Don't distribute instspc-tests.sh anymore.
2029         (TEST_EXTENSIONS): Remove '.instspc'.
2030         (INSTSPC_LOG_COMPILER): Deleted.
2031         (XFAIL_TESTS): Remove $(instspc_xfail_tests).
2032         (instspc-data.log, $(instspc_tests:.instspc=.log)): Delete
2033         dependencies for these files, which are not used anymore.
2034         ($(instspc_tests)): Delete this dummy dependency declaration.
2035         (TESTS): Remove $(instspc_tests).
2036         (handwritten_tests): Remove instspc-data.test, add instspc.tap.
2037         * bootstrap: Don't generate tests/instspc-tests.am anymore.
2038
2039 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
2040
2041         testsuite: do fd redirections with $(AM_TESTS_FD_REDIRECT)
2042         * tests/Makefile.am: The redirections of file descriptors needed
2043         by our test scripts is now done using the $(AM_TESTS_FD_REDIRECT)
2044         variable (the new blessed way since commit `v1.11-906-gb9e9d54'),
2045         not using an hack involving $(AM_TESTS_ENVIRONMENT).  This has
2046         the further benefit of allowing the use of $(TESTS_ENVIRONMENT)
2047         again on part of the users.
2048         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Remove redirection of
2049         file descriptors.
2050         (AM_TESTS_FD_REDIRECT): Redirect file descriptor 9 to original
2051         stderr.
2052         Comments adjusted.
2053         * tests/plain-functions.sh ($stderr_fileno_): Update comment.
2054
2055 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
2056
2057         testsuite: use custom TAP diagnostic in our own tests
2058         This change allow us to easily and transparently avoid spurious
2059         TAP diagnostic in our own testsuite, with the help of the new
2060         `--diagnostic-string' option of our TAP test driver.
2061         * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Also pass option
2062         `--diagnostic-string' with value `#%#' (necessarily obtained
2063         through some shell indirections).
2064         * tests/tap-functions.sh (diag_): Assume that the string denoting
2065         TAP diagnostic is stored in the `$diag_string_' variable.  Update
2066         comments.
2067         ($diag_string_): Initialize to "#".
2068         * tests/defs ($diag_string_): Re-define to "#%#".
2069         (show_): Remove, it's obsolete now.
2070         * add-missing.tap: Don't use `show_' anymore to avoid spurious
2071         TAP diagnostic; `cat' should suffice now.
2072
2073 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
2074
2075         tap: fix typo in TAP driver version message
2076         * lib/tap-driver (anonymous subroutine printing the script version
2077         message): Add missing trailing newline to the version message.
2078
2079 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
2080
2081         tap docs: we don't support pragma or version directives (yet)
2082         * doc/automake.texi (Incompatibilities with other TAP parsers
2083         and drivers): Document that limitation.  Normalize an unrelated
2084         "TODO" item.
2085
2086 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
2087
2088         tap: new option to change the string designating TAP diagnostic
2089         Here we introduce a new option `--diagnostic-string' in our TAP
2090         test driver, that allows the user to specify which string should
2091         denote the beginning of a TAP diagnostic line.  This change is
2092         not gratuitous, nor result if over-engineering: it is motivated
2093         by real issues that have emerged during the use of TAP in the
2094         Automake's own testsuite (see the commit `v1.11-1082-g9b967c2'
2095         "testsuite: yet more use of TAP, and related extensions").
2096         * doc/automake.texi (Use TAP with Automake test harness): Document
2097         the new option.
2098         (Incompatibilities with other TAP parsers and drivers): Report it
2099         as a potential source of incompatibility.
2100         * lib/tap-driver ($diag_string): New global variable, defaulting
2101         to "#", and whose value can be changed ...
2102         (Getopt::Long::GetOptions): ... by the newly recognized option
2103         `--diagnostic-string'.
2104         (handle_tap_comment): Subroutine removed, some of its simple logic
2105         inlined ...
2106         (main): ... in here, where now ...
2107         (extract_tap_comment): ... this new subroutine is used.
2108         ($USAGE): Adjust.
2109         * tests/tap-diagnostic.test: Make one check slightly stricter.
2110         * tests/tap-diag-custom.test: New test.
2111         * tests/Makefile.am (tap_other_tests): Add it.
2112
2113 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
2114
2115         check: add small "synchronization" comment to `test-driver'
2116         * lib/test-driver: Add comment to the code initializing ANSI color
2117         escapes, telling to keep it in sync with the similar initialization
2118         in `lib/am/check.am'.
2119
2120 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
2121
2122         maintcheck: fix spurious failure w.r.t. use of bare "exit"
2123         * tests/check12.test: Cosmetic changes to avoid triggering a
2124         spurious failure of the `sc_tests_Exit_not_exit' maintainer
2125         check.
2126
2127 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
2128
2129         check: update comments to reflect recent heavy changes
2130         * lib/am/check.am [%?PARALLEL_TESTS%]: Update the comments to
2131         reflect the recent changes.  Remove quite many comments that
2132         were merely duplicating excerpts from the Automake manual.
2133
2134 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
2135
2136         check: small cleanups and refactorings in test harness and drivers
2137         * lib/tap-driver (yn): New subroutine, converts a boolean value to
2138         a "yes" or "no" string.
2139         (write_test_results): Use it, and related reformatting.
2140         * lib/test-driver (trap): Also remove the `.trs' file on signals,
2141         for extra safety.
2142         (fatal): Remove this function, it's never used.
2143         ($logfile, $trsfile): Renamed ...
2144         ($log_file, $trs_file): ... to these, for clarity, and in order to
2145         be more consistent with the `tap-driver' script.
2146         Improve a couple of comments.
2147         * automake.in (handle_tests): Don't define anymore the now-obsolete
2148         make macro `$(TEST_LOGS_TMP)', nor add it to the list of files to
2149         be removed upon "make mostlyclean".
2150         * lib/am/check.am ($(TEST_SUITE_LOG)): New shell function `f_ok',
2151         tells whether a path refers to an existing, regular, readable file.
2152         Use it throughout.
2153         (recheck): Be safer w.r.t. make implementation that run recipes
2154         with `errexit' shell flag active.
2155
2156 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
2157
2158         testsuite: use AM_TESTS_FD_REDIRECT where appropriate
2159         * parallel-tests-interrupt.test: Use AM_TESTS_FD_REDIRECT, not
2160         AM_TESTS_ENVIRONMENT, to define file descriptors' redirection
2161         for "make check".  Fix botched comment.
2162
2163 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
2164
2165         docs: some fixlets in documentation on testsuites support
2166         * doc/automake.texi (Script-based Testsuites): Rename node ...
2167         (Scripts-based Testsuites): ... to this.  Break overly long lines
2168         in an example (were causing problems with PDF output).
2169         (Parallel Test Harness): Don't intend paragraphs that come after
2170         examples or bulleted list.
2171         (Overview of Custom Test Drivers Support): Fix typo s/the the/the/.
2172         (Declaring Custom Test Drivers): When giving an aside, prefer comma
2173         to parentheses, as it disrupts the reading flow less.
2174         (API for Custom Test Drivers): Remove a sentence that was basically
2175         duplicated from the previous subsection.
2176         (Command-line arguments for test drivers): Don't intend paragraph
2177         coming after an itemized list.  Clarify wording and fix grammaros.
2178         Add a couple of cross-references to earlier explanations of `.log'
2179         and `.trs' files.
2180         (Links and external resources): Node renamed ...
2181         (Links and external resources on TAP): ... to this, for clarity.
2182         Slightly extend and clarify introductory sentence.
2183
2184 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
2185
2186         test harness: be aware of more metadata, simplify test drivers
2187         * lib/am/check.am ($(TEST_SUITE_LOG)):  When producing the
2188         global test log, take into account the new metadata field
2189         `:global-test-result:, to write nicely formatted RST section
2190         titles, instead of leaving this chore to the individual test
2191         drivers.
2192         (am_rst_section): Re-introduce this variable, as removed in
2193         commit `v1.11-870-ga27c9c4'.
2194         * lib/test-driver, lib/tap-driver: Write the global test result
2195         as metadata in the `.trs' file, not as (part of) a formatted RST
2196         subsection title in the `.log' file.  Related simplifications;
2197         in particular, get rid of temporary files usage.
2198         * doc/automake.texi (Log files generation and test results
2199         recording): Document the new metadata.
2200         * tests/check12.test: Update.
2201         * tests/parallel-tests-harderror.test: Likewise.
2202         * tests/parallel-tests-interrupt.test: Likewise.
2203         * tests/parallel-tests-log-override-2.test: Likewise.
2204         * tests/parallel-tests-log-override-recheck.test: Likewise.
2205         * tests/parallel-tests-unreadable.test: Likewise.
2206         * tests/tap-global-result.test: Likewise.
2207         * tests/test-metadata-results.test: Likewise.
2208         * tests/test-log.test: Likewise, and another minor unrelated fix.
2209         * tests/test-metadata-global-result.test: New test.
2210         * tests/Makefile.am (TESTS): Update.
2211
2212 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
2213
2214         tap: check that also a trailing TAP plan can hold a skip directive
2215         * tests/tap-skip-whole-lastline.test: New test.
2216         * tests/Makefile.am (tap_with_common_setup_tests): Add it.
2217
2218 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
2219
2220         testsuite: more correct names for a couple of tests
2221         * tests/parallel-tests-ext-driver.test: Rename ...
2222         * tests/parallel-tests-log-compiler-1.test: ... to this, and
2223         adjust heading comments.
2224         * tests/parallel-tests-ext-driver-prog.test: Rename ...
2225         * tests/parallel-tests-log-compiler-2.test: ... to this, and
2226         adjust heading comments.
2227         * tests/Makefile.am (TESTS): Update.
2228
2229 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
2230
2231         testsuite: fix another spurious failure
2232         * tests/parallel-tests-ext-driver.test: Name out custom/dummy
2233         log compilers as `foo-compiler' rather `foo-driver'; not only
2234         this is less confusing, it also avoids errors due to the dummy
2235         log compiler `test-driver' overriding the `test-driver' helper
2236         script installed by Automake.
2237         * tests/parallel-tests-ext-driver-prog.test: Adjust heading
2238         comments.
2239
2240 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
2241
2242         testsuite: fix a spurious failure
2243         * tests/parallel-tests-ext-driver.test: Exporting of environment
2244         variables directly from $(LOG_COMPILER) variables is not allowed
2245         anymore.  Adjust to this.
2246
2247 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
2248
2249         testsuite: yet more use of TAP, and related extensions
2250         * tests/defs (show_): New function, display the contents of one or
2251         more files on stdout, with bells & whistles (both for cosmetic and
2252         practical reasons, the latter aimed at avoiding spurious TAP
2253         diagnostic).
2254         (AUTOMAKE_run): Extend and adapt to make it compatible with TAP
2255         based tests.  Since we are at it, make its implementation more
2256         namespace-safe, and improve its command-line interface.
2257         (AUTOMAKE_fails): Adapt to the new command-line interface of
2258         `AUTOMAKE_run'.
2259         * tests/add-missing.test: Renamed ...
2260         * tests/add-missing.tap: ... to this, and converted to the use
2261         of the TAP protocol, and of the new `show_' function.
2262         * tests/automake.test: Renamed ...
2263         * tests/automake-cmdline.tap: ... to this, and converted to the
2264         use of the TAP protocol.
2265         * tests/getopt.test:  Adapt to the new command-line interface
2266         of `AUTOMAKE_run'.
2267         * tests/cond44.test: Likewise.
2268         * tests/cond45.test: Likewise.
2269         * tests/configure.test: Likewise.
2270         * tests/license2.test: Likewise.
2271         * tests/parallel-am.test: Likewise.
2272         * tests/parallel-am3.test: Likewise.
2273         * tests/tags2.test: Likewise.
2274         * tests/werror3.test: Likewise.
2275         * tests/werror4.test: Likewise.
2276         * tests/amopts-variable-expansion.test: Likewise.
2277         * tests/warnings-win-over-strictness.test: Likewise.
2278         * tests/Makefile.am (TESTS): Update.
2279         (TAP_LOG_DRIVER_FLAGS): Add `--merge', so that TAP diagnostic is
2280         reported in the testsuite progress output.
2281
2282 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
2283
2284         maintcheck: fix more maintainer-check failures
2285         * tests/test-driver-custom-no-html.test (no-rst): Use `EOF',
2286         not `EoL', as the here-document delimiter.
2287         * tests/test-trs-basic.test: Use `cat + here-doc' rather
2288         than `echo' when creating the dummy test scripts, to please
2289         maintainer-check.
2290         * tests/test-trs-recover.test: Use creative quoting where
2291         needed, to please maintainer-check.
2292         * tests/parallel-tests-no-color-in-log.test: Likewise.
2293         * tests/parallel-tests-dry-run.test: Likewise.
2294
2295 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
2296
2297         maintcheck: fix maintainer-check failures, both real and spurious
2298         * tests/amhello-binpkg.test: Use "$MAKE", not bare "make".
2299         * Makefile.am (sc_perl_local): Also allow perl special variable
2300         `$~' to be localized.  And be slightly laxer in the regexp, to
2301         allow for usages like "local $_ = $foo;".
2302         (sc_tests_overriding_macros_on_cmdline): Also allow for command
2303         line overriding of the `DISABLE_HARD_ERRORS' make variable.  Try
2304         to avoid false positives for usages like "$MAKE || st=$?".
2305
2306 2011-08-03  Bruno Haible  <bruno@clisp.org>
2307
2308         docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support
2309         * doc/automake.texi (Program Variables): Recommend -I options to
2310         both the build directory and the source directory when needed.
2311
2312 2011-07-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2313
2314         tests: relax a test on amhello examples to cater to Solaris tar
2315         * tests/amhello-binpkg.test: When the tar implementation in use
2316         is not GNU tar, relax the tests on tar output, to avoid spurious
2317         failures.  For example, "tar cvf ..." with GNU tar can output
2318         lines like "./usr/bin/hello" on the standard output, while with
2319         Solaris tar it can output lines like "a ./usr/bin/hello 8K" on
2320         standard output, and with Heirloom tar it can output lines like
2321         "a ./usr/bin/hello 15 tape blocks" on standard error.
2322
2323 2011-07-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2324
2325         test defs: function 'is_newest' now works also with directories
2326         * tests/defs (is_newest): Call `find' with the `-prune' option,
2327         so that it won't descend in the directories (which could cause
2328         spurious results).
2329         * tests/self-check-is_newest: Extend accordingly.
2330         From a report by Jim Meyering, see automake bug#9147.
2331
2332 2011-07-15  Benoit Sigoure  <tsunanet@gmail.com>
2333
2334         docs: add references between the 2 sections on java support
2335         * doc/automake.texi (Java Support, Java): Add cross-references.
2336
2337 2011-07-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2338
2339         Sync auxiliary files from upstream.
2340         * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
2341         lib/texinfo.tex: Sync from upstream.
2342
2343 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2344
2345         tests: fix weakness in 'tests-environment-backcompat.test'
2346         * tests/tests-environment-backcompat.test: Do not override the
2347         content of xfailing test `baz.test' with a "weaker" version that
2348         fails unconditionally: the test must fail only when the 'strict'
2349         pragma is in use, in order not to reduce coverage.
2350
2351 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2352
2353         docs, tests: synchronize examples on silent-rules from config.site
2354         * doc/automake.texi (Automake silent-rules Option): Reference test
2355         'silent-configsite.test' in comments.
2356
2357 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2358
2359         tests: portability fixes in tests on amhello examples
2360         * tests/amhello-binpkg.test: Don't use "tar xzf too.tag.gz" to
2361         extract a gzip-compressed tarball, that's unportable to some
2362         tar implementations; use the "gzip -dc fo.tar.gz | tar xf -"
2363         idiom instead.
2364         * tests/amhello-cflags.test: Likewise.
2365         * tests/amhello-cross-compile.test: Likewise.
2366         Suggestion from Ralf Wildenhues.
2367
2368 2011-07-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
2369
2370         remake: add test ensuring that slower remakes don't hang
2371         * tests/remake-subdir-long-time.test: New test.
2372         * tests/Makefile.am (TESTS): Update.
2373         Suggestion by Ralf Wildenhues.
2374
2375 2011-07-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
2376
2377         remake: fix outdated comment in configure.am
2378         * lib/am/configure.am: Fix comment falsified by changes in
2379         commit `v1.11-366-gbee9871'.
2380         Suggestion by Ralf Wildenhues.
2381
2382 2011-07-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
2383
2384         docs, tests: synchronize examples from docs to tests
2385         * tests/README (Writing test cases): Give suggestions on how to
2386         keep test cases and examples in the documentation synchronized.
2387         * doc/automake.texi: Improve or fix existing testcase-referencing
2388         comments, and add many new ones.
2389         * HACKING (Administrivia): Suggest to test complex examples and
2390         idioms from the manual.
2391         * tests/specflg8.test: Improve synchronization with the example
2392         in the manual.
2393         * tests/output11.test:Likewise.
2394         * tests/txinfo21.test:Likewise.
2395         * tests/interp.test: Likewise.
2396         * tests/amhello-cflags.test: New test.
2397         * tests/amhello-cross-compile.test: Likewise.
2398         * tests/amhello-binpkg.test: Likewise.
2399         * tests/tests-environment-backcompat.test: Likewise.
2400         * tests/parallel-tests-log-compiler-example.test: Likewise.
2401         * tests/Makefile.am (TESTS): Update.
2402
2403 2011-06-30   Stefano Lattarini  <stefano.lattarini@gmail.com>
2404
2405         coverage: new test on parallel-tests TESTS runtime overriding
2406         * tests/parallel-tests-cmdline-override.test: New test, check that
2407         we can use indirections when overriding TESTS and TEST_LOGS from
2408         the command line.
2409         * tests/Makefile.am (TESTS): Update.
2410
2411 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
2412
2413         gitignore: ignore `*.trs' files in lib/Automake/tests
2414         * lib/Automake/tests/.gitignore: Add `*.trs' pattern.
2415
2416 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
2417
2418         testsuite: list another "forgotten" test script in Makefile.am
2419         * tests/Makefile.am (TESTS): Also list test script
2420         `test-driver-trs-suffix-registered.test'; it had been introduced
2421         in commit `v1.11-910-g0c81b43', but by mistake it wasn't added
2422         to the list of tests in the Makefile back then.
2423
2424 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
2425
2426         testsuite: list "forgotten" test script in Makefile.am
2427         * tests/Makefile.am (TESTS): Also list the test script
2428         `parallel-tests-no-color-in-log.test'; it had been introduced in
2429         commit `v1.11-899-geaac33f', but by mistake it wasn't added to
2430         the list of tests in the Makefile back then.
2431
2432 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
2433
2434         testsuite: remove duplicated mention of a test in Makefile.am
2435         * tests/Makefile.am (tap_other_tests): Remove `tap-empty.test',
2436         it is already listed in `$(tap_with_common_setup_tests)'.
2437
2438 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
2439
2440         testsuite: one more use of TAP in our own tests
2441         * tests/tap-bad-prog.test, tests/tap-bad-prog2.test: Merged
2442         into ...
2443         * tests/tap-bad-prog.tap: ... this TAP-generating test.
2444         * tests/Makefile.am (tap_other_tests): Remove plan-bad-prog.test
2445         and plan-bad-prog2.test.
2446         (XFAIL_TESTS): Remove plan-bad-prog2.test.
2447         (plan-bad-prog2.log): Remove.
2448
2449 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
2450
2451         testsuite: scaffolding to allow use of TAP in our own tests
2452         Now that Automake has initial support for the TAP test protocol,
2453         we can start "eating our own dog food" and rewrite some tests to
2454         use TAP; this should allow for better granularity, especially in
2455         the control of skips and expected failures.  With this change, we
2456         set up the initial scaffolding required by the planned TAP tests,
2457         and convert few older tests to use TAP, mostly in order to verify
2458         that there are no obvious errors.  The tests in our testsuite that
2459         use the TAP protocol will be marked by the new `.tap' extension.
2460         * tests/plain-functions.sh: New file containing definition of
2461         helper shell functions used by the "protocol-less" tests of the
2462         Automake testsuite.
2463         * tests/tap-functions.sh:  New file containing definition of
2464         helper shell functions used by the TAP-producing tests of the
2465         Automake testsuite.
2466         * tests/defs: Remove definitions of some functions that are
2467         now defined in `plain-functions.sh'.  Instead, source one of
2468         `plain-functions.sh' or `tap-functions.sh', depending on whether
2469         `$use_tap' is set to "no" or "yes".
2470         (exit trap): Call `late_plan_' if `$use_tap' is true.  Also,
2471         unset shell traces before issuing the latest commands, to avoid
2472         confusing the tap driver with spurious output.
2473         * tests/defs-static.in ($use_tap): New variable, by default set
2474         to "yes" if the calling test script has a `.tap' suffix, and to
2475         "no" otherwise.  The individual scripts can override it though.
2476         In code sanity-checking the environment, verify that `$use_tap'
2477         is not exported.
2478         * tests/self-check-env-sanitize.test: Update, and small related
2479         reformatting.
2480         * tests/self-check-tap.test: New very minimal self test.
2481         * tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test,
2482         tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test:
2483         Removed, merged into ...
2484         * tests/ac-output-old.tap: ... this new test, that uses TAP.
2485         * tests/Makefile.am (TAP_LOG_DRIVER): Define to invoke our own
2486         `tap-driver' script.
2487         (TAP_LOG_DRIVER_FLAGS): Define to `--merge', so that the stdout
2488         and stderr of the test scripts remains synced.
2489         (TEST_EXTENSIONS): Define, to add the `.tap' suffix; also list
2490         the `.test' suffix explicitly.
2491         (EXTRA_DIST): Distribute the new files `plain-functions.sh' and
2492         `tap-functions.sh'.
2493         ($(TEST_LOGS)): Depends on them.
2494         (AM_TESTS_ENVIRONMENT): Ensure that `use_tap' is not exported in
2495         the environment of the tests.
2496         (TESTS): Update.
2497
2498 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
2499
2500         * NEWS: Fix typo, and related reformatting.
2501
2502 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
2503
2504         * NEWS: add mention of new experimental TAP support
2505
2506 2011-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2507
2508         testsuite: rename some test scripts
2509         * tests/parallel-tests-am_tests_environment.test: Renamed ...
2510         * tests/am-tests-environment.test: ... to this.
2511         * tests/check-tests_environment.test: Renamed ...
2512         * tests/tests-environment.test: ... to this.
2513         * tests/parallel-test-driver-install.test: Renamed ...
2514         * tests/parallel-tests-driver-install.test: ... to this.
2515         * tests/parallel-tests-make-n.test: Renamed ...
2516         * tests/parallel-tests-dry-run.test: ... to this.
2517         * tests/Makefile.am (TESTS): Updated.
2518
2519 2011-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2520
2521         coverage: parallel-tests and lazy dependencies on EXTRA_PROGRAMS
2522         * tests/parallel-tests-extra-programs.test: New test.
2523         * tests/Makefile.am (TESTS): Update.
2524         * doc/automake.texi (Parallel Test Harness): Add a comment
2525         pointing to the new test.
2526
2527 2011-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2528
2529         docs: improve, extend and fix documentation on TAP support
2530         * doc/automake.texi ("Using the TAP test protocol"): Divide this
2531         section into ...
2532         ("Introduction to TAP", "Use TAP with the Automake test harness",
2533         "Incompatibilities with other TAP parsers and drivers", "Links
2534         and external resources"): ... these subsections, extend them by
2535         adding more information and examples, and improve them by removing
2536         incomplete and/or temporary wordings and TODO items.
2537         ("Script-based Testsuites", "Parallel Test Harness"): Add a couple
2538         of anchors to improve the granularity of cross-references.
2539         * tests/tap-doc2.test: New test, verifying the correctness of the
2540         new examples given in the manual.
2541         * tests/Makefile.am (tap_other_tests): Add the new test.
2542
2543 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
2544
2545         testsuite: separate the only failing check of an xfailing test
2546         * tests/plan-bad-prog.test: Move the only failing check of this
2547         test (i.e., the one about the total number of "ERROR" outcomes)
2548         into ...
2549         * tests/plan-bad-prog2.test: ... this new test.
2550         * tests/Makefile.am (XFAIL_TESTS): Remove `plan-bad-prog.test',
2551         add `plan-bad-prog2.test'.
2552         (tap_other_tests): Add `plan-bad-prog2.test'.
2553         (plan-bad-prog2.log): Depend on `plan-bad-prog.test'.
2554
2555 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
2556
2557         testsuite: fix spurious errors in an xfailing test on TAP support
2558         * tests/plan-bad-prog.test: Fix typo in the name of the test
2559         being made unreadable.  Correct the wording of the potential
2560         skip message, and simplify the condition under which the test
2561         is to be skipped.  Escape literal dots in grep regexps.
2562
2563 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
2564
2565         testsuite: better granularity in a couple of tests on TAP support
2566         * tests/tap-summary-aux.sh: New auxiliary script, filled with code
2567         moved out from ...
2568         * tests/tap-summary.test: ... this test, from which the checks on
2569         colored testsuite have further been moved into ...
2570         * tests/tap-summary-color.test: ... this new test, which in turn
2571         * tests/Makefile.am (tap_other_tests): Add `tap-summary-color.test'.
2572         (EXTRA_DIST): Distribute `tap-summary-aux.sh'
2573         (tap-summary.log): Depend on `tap-summary-aux.sh'.
2574         (tap-summary-color.log): Likewise.
2575
2576 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
2577
2578         testsuite: optimize tests on TAP for speed and against duplication
2579         The creation and configuration of common files and data used by
2580         many tests on TAP is, with this change, factored out into a new
2581         dedicated auxiliary test, from which those tests will depend upon.
2582         This reduces code duplication in tests and, more importantly,
2583         offers a noticeable speedup in the involved tests (30-40%).
2584         * tests/tap-common-setup.test: New test, setting up the common
2585         files and data used by various tests on TAP support.
2586         * tests/tap-setup.sh: New file, to be sourced by tests wanting to
2587         bring in data generated by `tap-common-setup.test'.
2588         * tests/tap-autonumber.test: Update to use the pre-computed data
2589         files.
2590         * tests/tap-bailout.test: Likewise.
2591         * tests/tap-color.test: Likewise.
2592         * tests/tap-deps.test: Likewise.
2593         * tests/tap-diagnostic.test: Likewise.
2594         * tests/tap-empty-diagnostic.test: Likewise.
2595         * tests/tap-empty.test: Likewise.
2596         * tests/tap-escape-directive.test: Likewise.
2597         * tests/tap-exit.test: Likewise.
2598         * tests/tap-signal.test: Likewise.
2599         * tests/tap-fancy.test: Likewise.
2600         * tests/tap-fancy2.test: Likewise.
2601         * tests/tap-global-log.test: Likewise.
2602         * tests/tap-global-result.test: Likewise.
2603         * tests/tap-html.test: Likewise.
2604         * tests/tap-log.test: Likewise.
2605         * tests/tap-merge-stdout-stderr.test: Likewise.
2606         * tests/tap-no-merge-stdout-stderr.test: Likewise.
2607         * tests/tap-message-0.test: Likewise.
2608         * tests/tap-no-disable-hard-error.test: Likewise.
2609         * tests/tap-no-spurious-summary.test: Likewise.
2610         * tests/tap-no-spurious.test: Likewise.
2611         * tests/tap-not-ok-skip.test: Likewise.
2612         * tests/tap-numeric-description.test: Likewise.
2613         * tests/tap-out-of-order.test: Likewise.
2614         * tests/tap-passthrough.test: Likewise.
2615         * tests/tap-passthrough-exit.test: Likewise.
2616         * tests/tap-plan.test: Likewise.
2617         * tests/tap-plan-corner.test: Likewise.
2618         * tests/tap-plan-corner2.test: Likewise.
2619         * tests/tap-plan-errors.test: Likewise.
2620         * tests/tap-realtime.test: Likewise.
2621         * tests/tap-recheck-logs.test: Likewise.
2622         * tests/tap-skip-whole.test: Likewise.
2623         * tests/tap-todo-skip-together.test: Likewise.
2624         * tests/tap-todo-skip-whitespace.test: Likewise.
2625         * tests/tap-todo-skip.test: Likewise.
2626         * tests/tap-unplanned.test: Likewise.
2627         * tests/tap-with-and-without-number.test: Likewise.
2628         * tests/tap-xfail-tests.test: Likewise.
2629         * tests/tap-skip-whole-whitespace.test: Likewise, and remove
2630         redundant definitions of `$sp' and `$tab' (they are already
2631         defined in `tests/defs').
2632         * tests/tap-whitespace-normalization.test: Likewise.
2633         * tests/Makefile.am (TESTS): Update.
2634         (EXTRA_DIST): Distribute `tap-setup.sh'.
2635         (tap_with_common_setup_tests, tap_with_common_setup_logs)): New
2636         variables, holding respectively the list of tests using the files
2637         pre-computed by `tap-common-setup.test', and the list of their
2638         corresponding log files.
2639         (tap_other_tests): New variable, holding the list of other tests
2640         on TAP support.
2641         ($(tap_with_common_setup_logs)): Depend on `tap-common-setup.log'
2642         and `tap-setup.sh'.
2643
2644 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
2645
2646         test harness: use new `.trs' files to hold test metadata
2647         With this change, the test harness will keep test metadata in
2648         dedicated `.trs' files, instead of having them embedded into the
2649         `.log' files.  This allows for easier forward-compatibility and
2650         extension of test metadata, and for more flexibility in the
2651         format of the `.log' files.  Note that this change makes the
2652         `:end-metadata:' field obsolete.
2653         * doc/automake.texi (Parallel Test Harness, Log files generation
2654         and test results recording): Document the new APIs and behaviour;
2655         some related minor rewordings and fixlets.
2656         * NEWS: Update.
2657         * automake.in (handle_tests): When bringing in the content of
2658         `check2.am', substitute %BASE% with the basename of the `.log'
2659         file being created by a rule.  Add the generated `.trs' files
2660         to the list of files to be cleaned by "make mostlyclean".
2661         * lib/am/check.am (am__test_driver_flags): Rename ...
2662         (am__common_driver_flags): ... to this, and remove the flags
2663         `--test-name' and `--log-file' from it: they are now define in
2664         the proper rules in `check2.am'.
2665         (am__TEST_BASES): New internal variable, holding the names of
2666         the tests, with any registered extension removed.
2667         (am__stealth_MAKE): New internal variable, can be used instead of
2668         $(MAKE) in recipes requiring a recursive call to make, but which
2669         are not intended to be executed by "make -n".
2670         (.log.trs): New suffix rule, to recover from deletion of `.trs'
2671         files.
2672         ($(TEST_SUITE_LOG)): Almost completely rewritten to follow the
2673         new API of "test logs in `.log' files, test metadata in `.trs'
2674         files".  It goes to some length to work correctly in face of
2675         unreadable or missing `.log' and `.trs' files, and to error out
2676         with proper error messages when this is not possible.
2677         [%?PARALLEL_TESTS%] (check-TESTS): Also remove relevant "stale"
2678         `.trs' files (in addition to `.log files) before remaking the
2679         $(TEST_SUITE_LOG).
2680         (recheck, recheck-html): Look for the `:recheck:' field in the
2681         `.trs' files, not in the `.log' files.
2682         * lib/am/check2.am (?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Adjust
2683         the call to the test driver, in particularly passing the new
2684         option `--trs-file'.
2685         [%am__EXEEXT%] (?GENERIC?%EXT%$(EXEEXT).log): Likewise.
2686         * lib/tap-driver ($USAGE): Adjust the help screen.
2687         (Getopt::Long::GetOptions): Handle the `--trs-file' option,
2688         through the use of ...
2689         ($trs_file): ... this new global variable.
2690         (finish): Write metadata for the test run to `$trs_file' rather
2691         then to `$log_file', through the use of ...
2692         (write_test_results): ... this new function.
2693         * lib/test-driver (print_usage): Update the help screen.
2694         (Option parsing): Handle the `--trs-file' option, through the
2695         use of ...
2696         ($resfile): ... this new global variable.
2697         (Main code): Write metadata for the test run to `$trsfile' rather
2698         than to `$logfile'.
2699         Minor related adjustments to comments.
2700         * tests/.gitignore: Ignore `*.trs' files.
2701         * tests/parallel-tests-unreadable-log.test: Moved ...
2702         * tests/parallel-tests-unreadable.test: ... to this, and extended
2703         to also check the semantics for unreadable `.trs' files.
2704         * tests/test-driver-end-metadata.test: Deleted as obsolete.
2705         * tests/test-driver-metadata-no-leading-space.test: Likewise.
2706         * tests/test-driver-global-log.test: Renamed ...
2707         * tests/test-metadata-global-log.test: ... to this, and modified
2708         as to verify the new APIs and semantics.
2709         * tests/test-driver-recheck: Renamed ...
2710         * tests/test-metadata-recheck.test: ... to this, and modified
2711         likewise.
2712         * tests/parallel-tests-once.test: New test.
2713         * tests/parallel-tests-make-n.test: Likewise.
2714         * test-metadata-results.test: Likewise.
2715         * test-missing.test: Likewise.
2716         * test-missing2.test: Likewise.
2717         * test-trs-basic.test: Likewise.
2718         * test-trs-recover.test: Likewise.
2719         * test-trs-recover2.test: Likewise.
2720         * tests/Makefile.am (TESTS): Update.
2721
2722 2011-07-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
2723
2724         test harness: allow more metadata in log files
2725         This change reworks and improves the parallel test harness to use
2726         more specialized reStructuredText fields in the log files (instead
2727         of relying on specially-placed of "magic lines" and more indirect
2728         semantical formatting); the new fields are the following:
2729          - ":recheck:": tell whether the associated test will have to be
2730            re-run by "make recheck";
2731          - ":copy-in-global-log:": tell whether the content of the log
2732            file should be copied in the "global log" `test-suite.log';
2733          - ":end-metadata:", which inhibits the scanning of the rest of
2734            the log file (for what concerns test metadata).
2735         Also, the special `:test-result:' value "END" has been removed,
2736         superseded by the new `:end-metadata:' field.
2737         * doc/automake.texi (Log files generation and test results
2738         recording): Document the new API and semantics.  Remove or fix
2739         some obsolete comments.
2740         * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
2741         Adjust comments and code.
2742         * lib/tap-driver (finish): Adjust, with the help of ...
2743         (must_recheck, copy_in_global_log): ... these new functions.
2744         * lib/test-driver (Main code): Adjust, with the help of ...
2745         ($recheck, $gcopy): ... these new variables.
2746         * tests/trivial-test-driver: Update to obey the new APIs.
2747         * tests/test-driver-recheck.test: Likewise.
2748         * tests/test-driver-global-log.test: Likewise.
2749         * tests/tap-passthrough.test: Relax the test, avoiding to check
2750         what is written in `test-suite.log'; such check has been moved ...
2751         * tests/tap-global-log.test: ... in this new test, and extended.
2752         * tests/test-driver-metadata-no-leading-space.test: New test.
2753         * tests/test-driver-end-test-results.test: Removed, it checked
2754         the old APIs; superseded by ...
2755         * tests/test-driver-end-metadata.test: ... this new test.
2756         * tests/tap-log.test: Improve syncing with ...
2757         * tests/test-log.test: ... this new test.
2758         * tests/parallel-tests.test: Remove some duplication w.r.t. this
2759         last new test.  Updated heading comments.
2760         * tests/Makefile.am (TESTS): Update.
2761
2762 2011-07-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
2763
2764         testsuite: fix a spurious failure with non-bash shells
2765         * tests/tap-fancy2.test: Remove an unportable use of backslashes
2766         with the `echo' builtin, which was causing some shells (among them
2767         bash and Debian /bin/ksh) to print a `\\' string, while other
2768         shells (among them zsh, dash, and Solaris /bin/sh and /bin/ksh)
2769         were unexpectedly printing a single `\' character.  Since we are
2770         at it, add a sanity check to ensure that this issue does not
2771         resurface.
2772
2773 2011-07-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
2774
2775         testsuite: fix spurious failures with Solaris /bin/sh
2776         * tests/tap-more.test: Use `echo > file', not `: > file', to
2777         create empty files in the "for" loops; this is required since,
2778         as documented in the autoconf manual, Solaris 10 /bin/sh
2779         "optimizes" away the `:' command after the first iteration,
2780         even if it is redirected.
2781         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
2782         * tests/tap-numeric-description.test: Partial rewrite to avoid
2783         using positional parameters from the 10th onward, which are
2784         unportable to Solaris /bin/sh (using `${10}' causes the shell
2785         to die with "bad substitution").
2786
2787 2011-07-31  Stefano Lattarini  <stefano.lattarini@gmail.com>
2788
2789         simple tests: support developer-defined fd redirections
2790         Motivated by coreutils bug#8846, and related discussions:
2791          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
2792          <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
2793         In those threads it has been shown how problematic it can be to do
2794         portable file descriptor redirections in the testsuite when using
2795         the Automake testsuite harness.  This change should remedy to that
2796         situation.
2797         * lib/am/check2.am (?GENERIC?%EXT%$(EXEEXT).log,
2798         ?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Append redirection defined
2799         in $(AM_TESTS_FD_REDIRECT) to the command-line invocations of the
2800         test scripts.
2801         * lib/am/check.am [!%?PARALLEL_TESTS%] $(check-TESTS): Likewise.
2802         * NEWS: Update.
2803         * doc/automake.texi (Script-based Testsuites): Document the new
2804         feature.
2805         * tests/check-fd-redirect.test: New test.
2806         * tests/parallel-tests-fd-redirect.test: Likewise.
2807         * tests/parallel-tests-am_tests_environment.test: Remove checks
2808         about the use of redirections in AM_TESTS_ENVIRONMENT: they would
2809         check deprecated (if not undefined) behaviour now.  Strengthen a
2810         couple of still valid checks, to keep the test more in sync with
2811         the documentation.  Improve debugging information.
2812         * tests/Makefile.am (TESTS): Update.
2813
2814 2011-07-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
2815
2816         docs: rework and extend documentation on testsuites support
2817         * doc/automake.texi (Generalities about Testing): New section.
2818         (Simple Tests using parallel-tests): Section removed, merged
2819         into ...
2820         (Simple Tests): ... this one, which on the other hand has been
2821         subdivided into ...
2822         (Script-based Testsuites, Serial Test Harness, Parallel Test
2823         Harness): ... these new subsection.
2824         (DejaGnu Tests): Minor adjustments.
2825         Other related typofixes and rewordings throughout the manual;
2826         in particular, avoid to use the term "test driver" for three
2827         different concepts (and use instead "test harness" and "test
2828         runner" where appropriate).
2829         * tests/tap-doc.test: New test.
2830         * tests/tap-no-disable-hard-error.test: Likewise.
2831         * tests/Makefile.am (TESTS): Update.
2832
2833 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2834
2835         tap: support colorization of testsuite progress output
2836         * lib/tap-driver (%COLORS): New variable (definition extracted
2837         from `lib/am/check.am:$(am__tty_colors)', with some obvious
2838         adjustments.
2839         (report): Adjust to colorize console output when required,
2840         using ...
2841         (decorate_result): ... this new function.
2842         (colored): New function, used by the one above.
2843         * tests/tap-summary.test: Also run the checks when `color-tests'
2844         is in use.
2845         * tests/Makefile.am (XFAIL_TESTS): Remove `tap-color.test'.
2846
2847 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2848
2849         tap: some preparatory refactoring (2)
2850         This is a follow-up simplification.
2851         * lib/tap-driver (console_output): Renamed ...
2852         (report): ... to this, and extended to appropriately register
2853         the test results when needed.
2854         (testsuite_error, handle_tap_comment, handle_tap_test,
2855         handle_tap_plan): Adjusted accordingly.
2856
2857 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2858
2859         tap: some preparatory refactoring (1)
2860         This refactoring is aimed at simplifying the introduction of
2861         colored console output for the TAP driver.
2862         * lib/tap-driver (console_output): Now accept two arguments, the
2863         first one indicating which kind of thing is to be displayed (for
2864         now only a test result or a diagnostic comment), and the second
2865         one (if present) the message associated to it.
2866         (handle_tap_test, handle_tap_comment, handle_tap_plan,
2867         testsuite_error): Adapt to the new `console_output' interface.
2868
2869 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2870
2871         tap: add experimental TAP-aware driver
2872         * doc/automake.texi (Using the TAP test protocol): New section.
2873         (Overview of Custom Test Drivers Support): Minor updates.
2874         * lib/tap-driver: New script, TAP-aware test driver for Automake;
2875         implemented in perl and based on TAP::Parser.
2876         * lib/Makefile.am (dist_script_DATA): Add it.
2877         * tests/tap-autonumber.test: New test.
2878         * tests/tap-bailout.test: Likewise.
2879         * tests/tap-basic.test: Likewise.
2880         * tests/tap-deps.test: Likewise.
2881         * tests/tap-diagnostic.test: Likewise.
2882         * tests/tap-empty.test: Likewise.
2883         * tests/tap-empty-diagnostic.test: Likewise.
2884         * tests/tap-escape-directive.test: Likewise.
2885         * tests/tap-exit.test: Likewise.
2886         * tests/tap-fancy.test: Likewise.
2887         * tests/tap-fancy2.test: Likewise.
2888         * tests/tap-global-result.test: Likewise.
2889         * tests/tap-html.test: Likewise.
2890         * tests/tap-log.test: Likewise.
2891         * tests/tap-merge-stdout-stderr.test: Likewise.
2892         * tests/tap-more.test: Likewise.
2893         * tests/tap-more2.test: Likewise.
2894         * tests/tap-no-merge-stdout-stderr.test: Likewise.
2895         * tests/tap-no-spurious-summary.test: Likewise.
2896         * tests/tap-no-spurious.test: Likewise.
2897         * tests/tap-not-ok-skip.test: Likewise.
2898         * tests/tap-numeric-description.test: Likewise.
2899         * tests/tap-out-of-order.test: Likewise.
2900         * tests/tap-passthrough.test: Likewise.
2901         * tests/tap-plan.test: Likewise.
2902         * tests/tap-plan-errors.test: Likewise.
2903         * tests/tap-plan-corner.test: Likewise.
2904         * tests/tap-realtime.test: Likewise.
2905         * tests/tap-recheck-logs.test: Likewise.
2906         * tests/tap-recheck.test: Likewise.
2907         * tests/tap-skip-whole.test: Likewise.
2908         * tests/tap-summary.test: Likewise.
2909         * tests/tap-todo-skip.test: Likewise.
2910         * tests/tap-todo-skip-together.test: Likewise.
2911         * tests/tap-todo-skip-whitespace.test: Likewise.
2912         * tests/tap-skipall-whitespace.test: Likewise.
2913         * tests/tap-unplanned.test: Likewise.
2914         * tests/tap-whitespace-normalization.test: Likewise.
2915         * tests/tap-with-and-without-number.test: Likewise.
2916         * tests/tap-xfail-tests.test: Likewise.
2917         * tests/tap-bad-prog.test: New xfailing test.
2918         * tests/tap-color.test: Likewise.
2919         * tests/tap-plan-corner2.test: Likewise.
2920         * tests/tap-message-0.test: Likewise.
2921         * tests/tap-signal.test: Likewise.
2922         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
2923
2924 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2925
2926         test defs: new auxiliary function 'count_test_results'
2927         * tests/defs (count_test_results): New function.
2928         * tests/check11.test: Use it.
2929         * tests/test-driver-custom-multitest.test: Likewise.
2930         * tests/test-driver-custom-multitest-recheck.test: Likewise.
2931         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
2932         * tests/parallel-tests-log-override-recheck.test: Likewise.
2933         * tests/parallel-tests-log-override-recheck.test: Likewise.
2934         * tests/parallel-tests-no-spurious-summary.test: Likewise, and
2935         slightly improve debugging output.
2936         * tests/parallel-tests.test: Make use of `count_test_results'.
2937         Also, make grepping of "make check" output slightly stricter
2938         * tests/parallel-tests9.test: Likewise.
2939         * tests/parallel-tests-log-override-2.test: Likewise, and throw
2940         in a small optimization.
2941
2942 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2943
2944         parallel-tests: simplify testsuite summary
2945         Prefer a more deterministic, "tabular" format for the testsuite
2946         summary, always listing the numbers of passed, failed, xfailed,
2947         xpassed, skipped and errored tests, even when these numbers are
2948         zero.  This simplify the logic of testsuite summary creation,
2949         makes it more easily machine-parseable, and will probably allow
2950         for easier addition of new kinds of test results in the future.
2951         * lib/am/check.am (am__tty_colors_dummy): New make variable, to
2952         reduce code duplication.  Extracted from previous versions of
2953         $(am__tty_colors), and extended by defining two new variables
2954         `$mgn' and `$brg'.
2955         [%?COLOR%, %!?COLOR%] (am__tty_colors): Use that new variable.
2956         (am__text_box): Delete, is not needed anymore.
2957         ($(TEST_SUITE_LOG)): Rewrite associated rules to implement the
2958         new testsuite summary format.
2959         * NEWS: Update.
2960         * tests/check10.test: Don't run with the parallel-tests harness
2961         too, that makes no sense anymore.
2962         * tests/color.test: Update and adjust.
2963         * tests/color2.test: Likewise.
2964         * tests/parallel-tests.test: Likewise.
2965         * tests/parallel-tests3.test: Likewise.
2966         * tests/parallel-tests6.test: Likewise.
2967         * tests/parallel-tests9.test: Likewise.
2968         * tests/parallel-tests-unreadable-log.test: Likewise.
2969         * tests/parallel-tests-empty-testlogs.test: Likewise.
2970         * tests/parallel-tests-log-override-recheck.test: Likewise.
2971         * tests/parallel-tests-no-spurious-summary.test: Likewise.
2972         * tests/test-driver-custom-multitest.test: Likewise.
2973         * tests/test-driver-end-test-results.test: Likewise.
2974         * tests/parallel-tests-no-color-in-log.test: New test.
2975         * tests/testsuite-summary-color.test: Likewise.
2976         * tests/testsuite-summary-count.test: Likewise.
2977         * tests/testsuite-summary-count-many.test: Likewise.
2978         * tests/testsuite-summary-reference-log.test: Likewise.
2979         * tests/testsuite-summary-checks.sh: New auxiliary script, used
2980         by the new tests above.
2981         * tests/extract-testsuite-summary: Likewise.
2982         * tests/trivial-test-driver: Optimize for speed when there are
2983         lots of of tests.
2984         * tests/Makefile.am (EXTRA_DIST): Distribute them.
2985         (testsuite-summary-color.log, testsuite-summary-count.log): Depend
2986         on them.
2987         (testsuite-summary-count-many.log): Depend on the auxiliary scripts
2988         'trivial-test-driver' and 'extract-testsuite-summary'.
2989         (TESTS): Update.
2990
2991 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2992
2993         parallel-tests: new recognized test result 'ERROR'
2994         * lib/am/check.am ($(TEST_SUITE_LOG)): Recognize a new test result
2995         `ERROR'.  Use it when encountering unreadable test logs (previously
2996         a simple `FAIL' was used in this situations).
2997         * lib/test-driver: Set the global test result to `ERROR' when the
2998         test exit status is 99.  When doing colorized output, color `ERROR'
2999         results in magenta.
3000         * doc/automake.texi (Log files generation and test results
3001         recording): Update by listing `ERROR' too among the list of valid
3002         `:test-results:' arguments.
3003         * NEWS: Update.
3004         * tests/trivial-test-driver: Update.
3005         * tests/parallel-tests.test: Likewise.
3006         * tests/parallel-tests-harderror.test: Likewise.
3007         * tests/parallel-tests-no-spurious-summary.test: Likewise.
3008         * tests/test-driver-global-log.test: Likewise.
3009         * tests/test-driver-recheck.test: Likewise.
3010         * tests/test-driver-custom-multitest-recheck.test: Likewise.
3011         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
3012         * tests/test-driver-custom-multitest.test: Likewise.
3013         * tests/test-driver-custom-no-html.test: Likewise.
3014         * tests/test-driver-end-test-results.test: Likewise.
3015         * tests/color.test: Likewise.  Also, make stricter, and also test
3016         from VPATH.
3017         * tests/color2.test: Likewise, and improve syncing with color.test.
3018         * tests/parallel-tests-exit-statuses.test: New test.
3019         * tests/parallel-tests-console-output.test: Likewise.
3020         * tests/Makefile.am (TESTS): Update.
3021
3022 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
3023
3024         parallel-tests: make parsing of test results safer
3025         The new code for parsing the testsuite-generated `.log' files,
3026         as introduced in commit `v1.11-872-gc96b881', considers each
3027         `:test-result:' field anywhere in a `.log' file as a declaration
3028         of a test result, and accounts for it as such in the testsuite
3029         summary.  Unfortunately this could easily cause spurious test
3030         failures being reported in the testsuite summary.  This happened
3031         in practice with the Automake's own testsuite; for example:
3032           $ make check TESTS='check12-p.test'; echo exit: $?
3033           ...
3034           PASS: check12-p.test
3035           =====================================
3036           4 of 5 tests failed
3037           See tests/test-suite.log
3038           Please report to bug-automake@gnu.org
3039           =====================================
3040           make[2]: *** [test-suite.log] Error 1
3041           make: *** [check-am] Error 2
3042           exit: 2
3043         This change introduces a new special `:test-result:' "END", that,
3044         when seen, prevents the rest of the log file from being parsed.
3045         For more information, refer to the thread:
3046         <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00199.html>
3047         * lib/am/check.am ($(TEST_SUITE_LOG)): Stop the parsing of a log
3048         file as soon as the special ":test-result:END" directive is seen.
3049         Related changes and enhancements.
3050         * lib/test-driver: Protect the rest of the log after the result
3051         lined with a ":test-result:END" directive.
3052         * doc/automake.texi (Log files generation and test results
3053         recording): Update, and related improvements.
3054         * tests/parallel-tests-no-spurious-summary.test: New test.
3055         * tests/test-driver-end-test-results.test: Likewise.
3056         * tests/Makefile.am (TESTS): Update.
3057
3058 2011-06-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3059
3060         docs: document custom test drivers and protocols
3061         * doc/automake.texi (Simple Tests): Note that the TESTS_ENVIRONMENT
3062         use suggested here is not portable to 'parallel-tests'.
3063         (Simple Tests using parallel-tests): Document new restrictions on
3064         the uses of TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT.
3065         (Custom Test Drivers): New section and node.
3066         (Overview of Custom Test Drivers Support): New subsection.
3067         (Declaring Custom Test Drivers in @file{Makefile.am}): Likewise.
3068         (APIs for Custom Test Drivers): Likewise.
3069         (Options): Update description of color-tests.
3070         * lib/am/check ($(TEST_SUITE_LOG)): Remove comments that have been
3071         moved into the manual.
3072         (recheck, recheck-html): Minor adjustments to better conform to the
3073         documentation (this should cause no semantic changes w.r.t. the
3074         former behaviour); minor improvements and extensions to existing
3075         comments.
3076         * tests/test-driver-create-log-dir.test: New test.
3077         * tests/test-driver-strip-vpath.test: Likewise.
3078         * tests/test-driver-global-log.test: Likewise.
3079         * tests/test-driver-recheck.test: Likewise.
3080         * tests/Makefile.am (TESTS): Update.
3081
3082 2011-07-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3083
3084         tests: small enhancement to 'primary3.test'
3085         * tests/primary3.test: Also test that the program named `foo.la'
3086         has been effectively created.
3087
3088 2011-07-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3089
3090         tests: a small simplification in 'pr8365-remake-timing.test'
3091         * tests/pr8365-remake-timing.test: Avoid redundant definition
3092         and use of `$save_AUTOCONF' variable.
3093
3094 2011-07-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3095
3096         tests: remove an extra leading blank line
3097         * tests/override-conditional-1.test: Remove extra blank line
3098         placed before the shebang line.
3099
3100 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
3101
3102         tests: fix typos, grammaros and other blunders in comments
3103         All affected files changed.
3104
3105 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3106
3107         test defs: new subroutine 'seq_', simulating GNU seq(1)
3108         * tests/defs (seq_): New subroutine.
3109         * tests/instmany.test: Use it.
3110         * tests/instmany-mans.test: Likewise.
3111         * tests/instmany-python.test: Likewise.
3112         * tests/self-check-seq.test: New self test.
3113         * tests/Makefile.am (TESTS): Update.
3114
3115 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3116
3117         tests: remove duplication about testing of config.* aux files
3118         * tests/add-missing.test: Also check that the `AC_CANONICAL_SYSTEM'
3119         autoconf macro causes the `config.sub' and `config.guess' scripts
3120         to be installed by `automake --add-missing'.  Since we are at it,
3121         fix minor buglets and cosmetic issues in the `check_' function.
3122         * tests/hosts.test: Removed, completely subsumed by the previous
3123         test now.
3124         * tests/Makefile.am (TESTS): Update.
3125
3126 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3127
3128         tests: more uses of the 'unindent' subroutine
3129         * tests/backcompat.test: Prefer `unindent' over plain `cat' for
3130         here documents created from within a loop of if/else body.
3131         * tests/backcompat2.test: Likewise.
3132         * tests/backcompat4.test: Likewise.
3133         * tests/init.test: Likewise.
3134         * tests/instmany.test: Likewise.
3135         * tests/instmany-mans.test: Likewise.
3136         * tests/instmany-python.test: Likewise.
3137         * tests/missing5.test: Likewise.
3138         * tests/parallel-am2.test : Likewise.
3139         * tests/parallel-am3.test : Likewise.
3140         * tests/pr307.test: Likewise.
3141         * tests/depend4.test: Likewise.  Since we are at it, normalize
3142         other code formatting.
3143         * tests/instfail-java.test: Prefer `echo' over `cat' + here-doc
3144         inside a for loop.
3145
3146 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3147
3148         tests: avoid '##'-style comments inside recipe commands
3149         * tests/autodist.test: Do not whitespace-indent `##' comments when
3150         they are embedded in a makefile rule: having them indented is not
3151         part of the Automake API, and might cause failures with e.g., Tru64
3152         make.
3153         * tests/autodist-subdir.test: Likewise.
3154         * tests/backcompat.test: Likewise.
3155         * tests/backcompat6.test: Likewise.
3156         * tests/colon7.test: Likewise.
3157         * tests/posixsubst-scripts.test: Likewise.
3158         * tests/posixsubst-sources.test: Likewise.
3159
3160 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3161
3162         tests: tweak, improve and extend tests on lisp support
3163         * tests/lisp2.test: Prettify, and improve debugging output.  Make
3164         grepping of automake stderr stricter.
3165         * tests/lisp7.test: Ensure verbose printing of captured make
3166         output.  Add trailing `:' command.
3167         * tests/lisp8.test: Likewise.
3168         * tests/lisp3.test: Likewise.  Also, check that `.el' files and
3169         compiled `.elc' files get installed by "make install", and
3170         uninstalled by "make uninstall".
3171         * tests/lisp4.test: Ensure installed `.el' files gets removed by
3172         "make uninstall".  Related changes.  Add trailing `:' command.
3173         * tests/lisp5.test: Likewise.
3174         * tests/lisp6.test: Use proper m4 quoting in configure.in.  Fix
3175         use of blank lines, to improve clarity and symmetry.  Fix typo in
3176         comment.  Add trailing `:' command.
3177
3178 2011-07-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3179
3180         tests: drop useless requirement in 'license.test'
3181         * tests/license.test: Drop  useless requirement "makeinfo".  Add
3182         an extra blank line, for clarity.
3183
3184 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
3185
3186         tests defs: more uses of $top_testsrcdir
3187         * tests/autodist-stamp-vti.test: Use `$top_testsrcdir' instead
3188         of `$testsrcdir/..'.
3189         * tests/repeated-options.test: Likewise.
3190         * tests/suffix5.test: Likewise.
3191         * tests/vtexi3.test: Likewise.
3192
3193 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
3194
3195         self tests: fix typo in comment
3196         * tests/self-check-exit.test: Fix typo in heading comments.
3197
3198 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
3199
3200         tests: remove redundant settings of `errexit' shell flag
3201         * tests/amhello-binpkg.test: Do not set the `errexit' shell
3202         flag, as it is already set by `tests/defs'.
3203         * tests/amhello-cflags.test: Likewise.
3204         * tests/amhello-cross-compile.test: Likewise.
3205         * tests/ansi2knr-deprecation.test: Likewise.
3206         * tests/autodist-no-duplicate.test: Likewise.
3207         * tests/distcheck-configure-flags-am.test: Likewise.
3208         * tests/distcheck-configure-flags-subpkg.test: Likewise.
3209         * tests/distcheck-configure-flags.test: Likewise.
3210         * tests/distcheck-hook.test: Likewise.
3211         * tests/distcheck-hook2.test: Likewise.
3212         * tests/parallel-tests-am_tests_environment.test: Likewise.
3213         * tests/parallel-tests-harderror.test: Likewise.
3214         * tests/parallel-tests-log-compiler-example.test: Likewise.
3215         * tests/parallel-tests-log-override-1.test: Likewise.
3216         * tests/parallel-tests-log-override-2.test: Likewise.
3217         * tests/parallel-tests-log-override-recheck.test: Likewise.
3218         * tests/primary-prefix-couples-documented-valid.test: Likewise.
3219         * tests/primary-prefix-couples-force-valid.test: Likewise.
3220         * tests/primary-prefix-invalid-couples.test: Likewise.
3221         * tests/primary-prefix-valid-couples.test: Likewise.
3222         * tests/remake-subdir-from-subdir.test: Likewise.
3223         * tests/remake-subdir-gnu.test: Likewise.
3224         * tests/remake-subdir-long-time.test: Likewise.
3225         * tests/remake-subdir.test: Likewise.
3226         * tests/remake-subdir2.test: Likewise.
3227         * tests/silent-configsite.test: Likewise.
3228         * tests/tests-environment-backcompat.test: Likewise.
3229
3230 2011-06-29   Stefano Lattarini  <stefano.lattarini@gmail.com>
3231
3232         docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
3233         * doc/automake.texi (Simple Tests using parallel-tests): Ditto, and
3234         related adjustments.
3235         Suggestion by Ralf Wildenhues.
3236
3237 2011-06-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3238
3239         docs: fix unportable example of AM_TESTS_ENVIRONMENT usage
3240         * doc/automake.texi (Simple Tests using parallel-tests): The
3241         old example on AM_TESTS_ENVIRONMENT relied on unportable shell
3242         features, and in particular didn't work with various Korn
3243         Shells (see also commit `v1.11-925-g29ca903').  Give another
3244         example, simpler this time, but still inspired to real-world
3245         usage (the GNU coreutils testsuite).
3246
3247 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3248
3249         docs: avoid a footnote, some related rewordings and improvements
3250         * doc/automake.texi (Dist): Reword the part about automatically
3251         distributed files to avoid a footnote.  Since we are at it, extend
3252         a bit, and add an example and a reference to a relevant test case.
3253
3254 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3255
3256         docs: minor cosmetic fixes
3257         * doc/automake.texi: Break few overly long lines, throughout the
3258         file.
3259         ("Simple Tests"): Move @vindex for XFAIL_TESTS to the correct
3260         position, i.e., before and not after the paragraph where it is
3261         introduced.
3262         ("Options" @item ansi2knr): Use @pxref instead of @xref.  This
3263         fixes a texinfo warning.
3264         ("Other things Automake recognizes" @item AM_C_PROTOTYPES): Use
3265         @pxref instead of @ref.
3266
3267 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3268
3269         help: improve text about automatically-distributed files
3270         This change fixes automake bug#7819.
3271         * automake.in (usage): Distinguish between files that are always
3272         automatically distributed when found, and those which are only
3273         "under certain conditions".
3274         * doc/automake.texi (Basics of Distribution): Update accordingly.
3275         * tests/autodist-subdir.test: Update.
3276         * tests/autodist-no-duplicate.test: Likewise.
3277         * tests/autodist.test: Likewise.
3278         (configure.in): Remove useless call to AM_MAINTAINER_MODE.
3279
3280 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3281
3282         refactor: split 'usage' subroutine in automake
3283         This change is related to automake bug#7819.
3284         * automake.in (print_autodist_files): New subroutine,
3285         extracted from ...
3286         (usage): ... this, which now uses it.
3287         * tests/autodist-no-duplicate.test: New test.
3288         * tests/Makefile.am (TESTS): Update.
3289
3290 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3291
3292         tests: fix bug in 'autodist.test'
3293         * tests/autodist.test: Avoid spurious failure due to no
3294         `defs-static' file being found in the parent directory.
3295
3296 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3297
3298         parallel-tests: allow each test to have multiple results
3299         With this change, we improve the code creating the `test-suite.log'
3300         global log and the console testsuite summary to make it able to
3301         grasp multiple results per test script.  This is required in order
3302         to introduce the planned support for test protocols, like TAP and
3303         SubUnit, which can indeed run multiple tests per test script, each
3304         with its individual result.
3305         The implementation makes use of a custom reStructuredText field
3306         `:test-result:'.
3307         Note that no new documentation is added by this change; that is
3308         be left for follow-up changes.
3309         * lib/check.am ($(TEST_SUITE_LOG)): When processing .log files,
3310         recognize a report of a test's result only if it is declared with
3311         the custom `:test-result:' reStructuredText field placed at the
3312         beginning of a line.  Extend and add explanatory comments.
3313         (recheck, recheck-html): Add explanatory comments.
3314         * lib/test-driver: Write an appropriate reStructuredText field
3315         `:test-result:' in the generated log file.  Use a reStructuredText
3316         transition to better separate the test outcome report from the
3317         test script's registered output.  Improve comments.
3318         * tests/test-driver-custom-xfail-tests.test: Adjust.
3319         * tests/parallel-tests7.test: Adjust.
3320         * tests/parallel-tests-empty-testlogs.test: New test.
3321         * tests/parallel-tests-recheck-override.test: Likewise.
3322         * tests/parallel-tests2.test: Extend and keep more in-sync with ...
3323         * tests/test-driver-custom-html.test: ... this new related test.
3324         * tests/test-driver-custom-no-html.test: New test.
3325         * tests/test-driver-custom-multitest.test: Likewise.
3326         * tests/test-driver-custom-multitest-recheck.test: Likewise.
3327         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
3328         * tests/trivial-test-driver: New file, used by the last four tests
3329         above.
3330         * tests/Makefile.am (TESTS): Update.
3331         (EXTRA_DIST): Distribute `trivial-test-driver'.
3332         (test-driver-custom-multitest.log): Depend on `trivial-test-driver'.
3333         (test-driver-custom-multitest-recheck.log): Likewise.
3334         (test-driver-custom-multitest-recheck2.log): Likewise.
3335         (test-driver-custom-html.log): Likewise.
3336
3337 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3338
3339         parallel-tests: allow custom driver scripts
3340         Allow suffix-based definition of custom "driver script" for the
3341         test scripts.  These driver scripts will be responsible of
3342         launching the tests (or their corresponding $(LOG_COMPILER), if
3343         they have an associated one), interpreting and displaying the
3344         test results, and writing the `.log' files.
3345         This new API should allow easy and flexible use of different
3346         test protocols in the future; in particular, we plan to use it
3347         to implement TAP and SubUnit harnesses.
3348         Note that no new documentation is added by this change; that is
3349         be left for follow-up changes.
3350         * automake.in (handle_tests): Define default for $(LOG_DRIVER),
3351         and, for any registered test extension `<ext>', define defaults
3352         for $(<ext>_LOG_DRIVER).  Substitute %DRIVER% using these new
3353         variables, instead of the old internal $(am__test_driver).  When
3354         processing check2.am, also substitute %DRIVER_FLAGS%.
3355         Require auxiliary script `test-driver' only if no driver has been
3356         explicitly defined for the test script kinds.
3357         * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
3358         ?!GENERIC?%OBJ%): Pass the %DRIVER_FLAGS% to the %DRIVER% call.
3359         * tests/parallel-tests-no-extra-driver.test: New test.
3360         * tests/test-driver-custom.test: Likewise.
3361         * tests/test-driver-custom-xfail-tests.test: Likewise.
3362         * tests/test-driver-fail.test: Likewise.
3363         * tests/Makefile.am: Update.
3364         * NEWS: Update.
3365
3366 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3367
3368         parallel-tests: add auxiliary script 'test-driver', refactor
3369         This refactoring should cause no API of functionality change,
3370         and is meant only to simplify the future implementation of TAP
3371         and SubUnit testsuite drivers.  More precisely, our roadmap is
3372         to move most of the "testsuite driving" features out of the
3373         Automake-generated Makefiles, and into external scripts with
3374         well-defined interfaces.  This will allow the user to define
3375         its own personalized testsuite drivers, and will also offer us
3376         a framework upon which to implement our new TAP and SubUnit
3377         drivers, all in a very unobtrusive way and retaining an high
3378         degree of code reuse and backward-compatibility.
3379         * lib/test-driver: New auxiliary script.
3380         * lib/Makefile.am (dist_SCRIPT_DATA): Add it.
3381         * automake.in (handle_tests): Require the new auxiliary script
3382         `test-driver', and define a new internal makefile variable
3383         `$(am__test_driver)', used to call it.  Perform new substitution
3384         on `DRIVER' when processing the `check2.am' file.
3385         * lib/check.am (am__tty_colors): Define new shell variable
3386         `$am__color_tests'.
3387         (am__rst_section): Removed, its role taken over by the new
3388         `test-driver' script.
3389         (am__test_driver_flags): New variable, contains the command
3390         line options passed to `test-driver'.
3391         (am__check_pre): Do not deal with temporary files and exit
3392         traps anymore, as the `test-driver' script takes care of that
3393         now.  Define shell variable `$am__enable_hard_errors', used by
3394         `$(am__test_driver_flags)'.  Reorder so that we don't need to
3395         save and restore the value of the `TERM' environment variable
3396         anymore.
3397         Other related adjustments.
3398         (am__check_post): Remove, as its role has been completely taken
3399         over by the `test-driver' script.
3400         * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
3401         ?!GENERIC?%OBJ%): Call the test script through the Automake
3402         substituted `%DRIVER%', and honor the command-line options
3403         in `$(am__test_driver_flags)'.  Do not call the obsoleted
3404         `$(am__check_post)' anymore.
3405         * doc/automake.texi (Auxiliary Programs): Mention the new
3406         `test-driver' script.
3407         (Optional): Mention `test-driver' in AC_CONFIG_AUX_DIR.
3408         Since we are at it, break the list of auxiliary scripts by
3409         placing one per line, to simplify potential future additions
3410         of new scripts.
3411         * tests/check.test: Adjust.
3412         * tests/check2.test : Likewise.
3413         * tests/check3.test : Likewise.
3414         * tests/check4.test : Likewise.
3415         * tests/check10.test: Likewise.
3416         * tests/color.test: Likewise.
3417         * tests/color2.test: Likewise.
3418         * tests/comment9.test: Likewise.
3419         * tests/dejagnu.test: Likewise.
3420         * tests/exeext4.test: Likewise.
3421         * tests/maken3.test: Likewise.
3422         * tests/maken4.test: Likewise.
3423         * tests/parallel-tests-interrupt.test: Likewise.
3424         * tests/posixsubst-tests.test: Likewise.
3425         * tests/repeated-options.test: Likewise.
3426         * tests/check-no-test-driver.test: New test.
3427         * tests/parallel-test-driver-install.test: Likewise.
3428         * tests/Makefile.am (TESTS): Update.
3429         * NEWS: Update.
3430
3431 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3432
3433         maintcheck: extend 'sc_tests_plain_*' checks
3434         * Makefile.am (sc_tests_plain_autom4te): New check.
3435         (sc_tests_plain_autoreconf): Likewise.
3436         (sc_tests_plain_autoheader): Likewise.
3437         (syntax_check_rules): Update.
3438
3439 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
3440
3441         tests: interactions between TESTS_ENVIRONMENT and LOG_COMPILER
3442         * tests/tests-environment-and-log-compiler.test: New test,
3443         checking that we can use variables and functions set by
3444         TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT in LOG_COMPILER
3445         and LOG_FLAGS (for tests both with and without registered
3446         extensions).
3447         * tests/Makefile.am (TESTS): Update.
3448
3449 2011-06-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3450
3451         tests: make 'subst-no-trailing-empty-line.test' more robust
3452         * tests/subst-no-trailing-empty-line.test: Strengthen existing
3453         checks, to try more scenarios and be slightly stricter in some
3454         grepping checks.
3455
3456 2011-06-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3457
3458         tests: fix an incomplete comment
3459         * tests/subst-no-trailing-empty-line.test: Fix an incomplete
3460         comment, and move it to a more proper place.  Minor cosmetic
3461         fixes to other comments.
3462
3463 2011-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
3464
3465         maintcheck: avoid few more spurious failures
3466         * tests/depmod-data.test: Use creative quoting to avoid
3467         spuriously triggering the `sc_tests_Exit_not_exit' maintainer
3468         check.  Commit `v1.11-900-g3453b8e' attempted to fix it, but
3469         succeeded only partially.
3470         * tests/cond33.test: Fix header comments, not to reference
3471         obsolescent make variable `$(mkdir_p)'.
3472         * tests/cond4.test: Rewrite "$MAKE exp=..." as "exp=.. $MAKE -e",
3473         to please `sc_tests_overriding_macros_on_cmdline'
3474         * tests/cond19.test: Likewise.
3475         * tests/cond32.test: Likewise.
3476         * tests/add-missing.test: Use "AUTOMAKE_fails" instead of
3477         "$AUTOMAKE ... && Exit 1", to please `sc_tests_automake_fails'.
3478
3479 2011-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
3480
3481         maintcheck: avoid few spurious failures
3482         * Makefile.am (sc_tests_plain_aclocal, sc_tests_plain_perl,
3483         sc_tests_plain_autoconf, sc_tests_plain_automake,
3484         sc_tests_plain_autoupate): Be stricter in matching an erroneous
3485         literal command, i.e., `aclocal', `automake', `perl', etc.
3486
3487 2011-06-20  Bert Wesarg <bert.wesarg@googlemail.com>  (tiny change)
3488
3489         check: don't use multi-line coloring for the report
3490         "less -R" can't handle multi-line coloring as it is done for the
3491         check reports of the serial and parallel testsuite, because of
3492         performance reasons.  Thus, color each line of the check report
3493         by its own.
3494         * lib/am/check.am (am__text_box): Accept colors for lines, and
3495         color each line by its own.
3496         [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Let am__text_box handle
3497         the line coloring.
3498         [!%?PARALLEL_TESTS%] $(check-TESTS): Color each report line by
3499         its own.
3500         * THANKS: Update.
3501
3502 2011-06-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
3503
3504         docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
3505         * doc/automake.texi (Checking the Distribution): Explain that the
3506         developers should take care of making their code buildable without
3507         requiring any special configure options, so that in general
3508         AM_DISTCHECK_CONFIGURE_FLAGS shouldn't be used.  Give an example
3509         of where its use is legitimate.
3510         Suggestions from Ralf Wildenhues and Eric Blake.
3511
3512 2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3513
3514         ansi2knr: deprecate, it will go away in the next major release
3515         * doc/automake.texi: Loudly and repeatedly state that the old
3516         de-ANSI-fication features are now deprecated and will be removed
3517         in the next major Automake release.  Other related adjustments.
3518         * lib/Automake/Options.pm (_process_option_list ): Give a warning
3519         in the `obsolete' category when the `ansi2knr' option is used.
3520         * m4/protos.m4 (AM_C_PROTOTYPES): Deprecate this macro: a warning
3521         in the `obsolete' category will be emitted it if is used.
3522         * tests/ansi2knr-deprecation.test: New test.
3523         * tests/Makefile.am (TESTS): Update.
3524         * tests/ansi.test: Adjust, by calling autoconf and/or automake
3525         with the `-Wno-obsolete' flag.
3526         * tests/ansi10.test: Likewise.
3527         * tests/ansi2.test: Likewise.
3528         * tests/ansi3.test: Likewise.
3529         * tests/ansi3b.test: Likewise.
3530         * tests/ansi4.test: Likewise.
3531         * tests/ansi5.test: Likewise.
3532         * tests/ansi6.test: Likewise.
3533         * tests/ansi7.test: Likewise.
3534         * tests/ansi8.test: Likewise.
3535         * tests/ansi9.test: Likewise.
3536         * tests/cxxansi.test: Likewise.
3537         * tests/libobj8.test: Likewise.
3538         * NEWS: Update about the future planned backward-incompatibility
3539         due to the removal of de-ANSI-fication feature.
3540
3541 2011-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
3542
3543         docs: primary/prefix combination "pkglib_PROGRAMS" is now invalid
3544         * doc/automake.texi (Program Sources): pkglib_PROGRAMS is not a
3545         valid combination anymore, so don't document it.  Inconsistency
3546         introduced in commit `v1.11-373-g9ca6326'.
3547
3548 2011-06-19  Jim Meyering  <meyering@redhat.com>
3549
3550         docs: replace obsolete @vindex entry with a useful one
3551         * doc/automake.texi (Program Sources): Do not index obsolete
3552         pkglib_PROGRAMS here.  Do index pkglibexec_PROGRAMS.
3553
3554 2011-06-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
3555
3556         tests: more checks on portable fd redirection in TESTS_ENVIRONMENT
3557         * tests/tests-environment-fd-redirect.test: Extend by also using
3558         a perl script among the tests.  Run the test shell script with
3559         the `errexit' flag active.  Export `VERBOSE' to yes when running
3560         "make check", to give more debugging information in case of
3561         failures.  Look for a Korn Shell also in `/usr/bin', not on only
3562         in `/bin'.
3563
3564 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3565
3566         tests: optimize tests on primary/prefix mismatch for speed
3567         * tests/primary-prefix-invalid-couples.test: Partial rewrite, in
3568         order to use just a single automake invocation rather than one
3569         invocation for each invalid primary/prefix couple.  This improves
3570         the test script execution time by an order of magnitude.
3571         Since we are at it, throw in some other improvements to avoid
3572         unrelated automake warnings and failures that could potentially
3573         cause false positives w.r.t. the automake exit status.
3574
3575 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3576
3577         news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
3578         * NEWS (Miscellaneous changes): Update.
3579
3580 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
3581
3582         maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
3583         * Makefile.am (sc_tests_overriding_macros_on_cmdline): It's now
3584         acceptable that the test scripts override DISTCHECK_CONFIGURE_FLAGS
3585         on the make command line.  Update comments accordingly.  Since we
3586         are at it, make the relevant grepping rules slightly tighter.
3587
3588 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
3589
3590         distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
3591         * doc/automake.texi (Checking the Distribution): Suggest to use
3592         AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to
3593         define (in the top-level Makefile.am) extra flags to be passed
3594         to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS
3595         should be reserved for the user.  Add proper `@vindex' directive.
3596         Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a
3597         subpackage Makefile.am, but the flags in it are passed down to
3598         the configure script of the subpackage.
3599         * lib/am/distdir.am (distcheck): Also pass the flags in
3600         $(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation.
3601         Update comments.
3602         * tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS,
3603         DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in
3604         the environment, they might improperly influence our testsuite.
3605         * tests/distcheck-configure-flags.test: New test.
3606         * tests/distcheck-configure-flags-am.test: Likewise.
3607         * tests/distcheck-configure-flags-subpkg.test: Likewise.
3608         * distcheck-hook.test: Likewise.
3609         * distcheck-hook2.test: Likewise.
3610         * tests/Makefile.am (TESTS): Update.
3611         Closes automake bug#8784.
3612
3613 2010-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3614
3615         docs: better documentation for silent make rules
3616         * doc/automake.texi (Options): Detailed description of the
3617         automake option `silent-rules' moved from here ...
3618         (Silent Make): ... into this new chapter, expanded, improved,
3619         and subdivided into ...
3620         (Make verbosity, Tricks For Silencing Make,
3621         Automake silent-rules Option): ... these new sections.
3622         (@menu, @detailmenu): Update.
3623         * tests/silent-configsite.test: New test, checking that the
3624         user can control default mode of silent-rules from config.site,
3625         as is documented in the manual.
3626         * tests/Makefile.am (TESTS): Updated.
3627
3628 2011-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
3629
3630         Warnings about primary/prefix mismatch fixed and extended.
3631         * automake.in (%standard_prefix): Add `doc' and `locale'.
3632         Rename `pkgdatadir' to `pkgdata'.  Similarly for`pkglibdir',
3633         `pkgincludedir' and `pkglibexecdir'.
3634         (handle_programs): List `pkglibexec', not `pkglib', among the
3635         prefixes valid for the `PROGRAMS' primary.
3636         (handle_data): List also `doc' among the prefixes valid for
3637         the `DATA' primary.  This is required by automake's own build
3638         system.
3639         * tests/dirforbid.test: Test removed, superseded by ...
3640         * tests/primary-prefix-invalid-couples.test: ... this new test.
3641         * tests/primary-prefix-valid-couples.test: New test.
3642         * tests/primary-prefix-couples-documented-valid.test: Likewise.
3643         * tests/primary-prefix-couples-force-valid.test: Likewise.
3644         * tests/java3.test: Adjusted, and extended a bit.
3645         * tests/Makefile.am (TESTS): Updated.
3646         * NEWS: Updated.
3647         From a report by Eric Blake.
3648
3649 2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3650
3651         tests: check portable fd redirection in TESTS_ENVIRONMENT
3652         * tests/tests-environment-fd-redirect.test: New test.
3653         * tests/Makefile.am (TESTS): Update.
3654         Motivated by coreutils bug#8846:
3655          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
3656         See also following CC:ed thread on bug-autoconf list:
3657          <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
3658
3659 2011-06-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3660
3661         tests: make test 'self-check-reexec.test' more portable
3662         * tests/self-check-reexec.test: Rewrite not to require a Korn
3663         Shell able to grok variable expansions such as `${.sh.version}';
3664         Solaris 10 /bin/ksh fails on this for example.  Instead, just
3665         require bash and a shell that is not bash.
3666
3667 2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3668             Jim Meyering  <meyering@redhat.com>
3669
3670         test defs: fix ksh-related portability bug in warning messages
3671         Running "make check" normally prints a diagnostic to the outermost
3672         stderr (usually a tty) to explain why a test is skipped, thus
3673         giving better and faster feedback to the user.  It used to do
3674         so by redirecting file descriptor 9 to stderr (via "exec 9>&2")
3675         before invoking the test scripts, which then would write any skip
3676         explanation to file descriptor 9 via the `skip_' function defined
3677         in `tests/defs'.
3678         However, various Korn Shells (at least Solaris 10's /bin/ksh and
3679         Debian GNU/Linux's /bin/ksh) and the HP-UX's /bin/sh close open
3680         file descriptors > 2 upon an `exec' system call; thus the effects
3681         of "exec 9>&2" are cancelled upon fork-and-exec, so we would get
3682         a "Bad file number" diagnostic and no skip explanation with those
3683         shells.
3684         The present change remedies this situation.
3685         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Redirect more portably,
3686         via a trailing "9>&2", rather than the prior "exec 9>&2; ...".  Add
3687         explanatory comments.
3688         * tests/defs (stderr_fileno_): Update the advice in comments.
3689         Based on commit v8.12-82-g6b68745 "tests: accommodate HP-UX and
3690         ksh-derived shells" in GNU coreutils.
3691         Further references, with lots of discussion:
3692          <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
3693          <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488>
3694          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
3695
3696 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3697
3698         tests: remove 'test_prefer_config_shell' from the environment
3699         Since commit `v1.11-910-g7df1a9b', the once user-overridable
3700         variable `$test_prefer_config_shell' has become an internal
3701         detail, and the test scripts now complain and bail out if it is
3702         set in the environment.
3703         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Unset the variable
3704         `test_prefer_config_shell' if it is set in the environment.
3705
3706 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3707
3708         tests: autogenerate list of wrapped tests for `lib/' shell scripts
3709         * tests/gen-config-shell-tests: New script, generates distributed
3710         makefile snippet `tests/config-shell-tests.am' to list all tests
3711         that use the `get_shell_script' function, with names mangled to
3712         use suffix `-w.shtst', in ...
3713         * tests/Makefile.am (config_shell_tests): ... this macro, whose
3714         definition has been consequently removed from Makefile.am.
3715         (EXTRA_DIST): Distribute the new script.
3716         ($(srcdir)/config-shell-tests.am): Generate using the new script.
3717         (include): Include the `config-shell-tests.am' fragment.
3718         * bootstrap: Invoke `tests/gen-config-shell-tests' to generate
3719         `tests/config-shell-tests.am'.
3720         * tests/.gitignore: Ignore `config-shell-tests.am'.
3721         * tests/gen-parallel-tests: Fixlet in heading comments.
3722
3723 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3724
3725         tests: test mdate-sh with /bin/sh too
3726         * tests/mdate5.test: Fetch the `mdate-sh' script using the
3727         `get_shell_script' function, and run it directly instead of
3728         using `$SHELL'.
3729         * tests/mdate6.test: Likewise.  Since we are at it, make checks
3730         on the `mdate-sh' output stricter, remove now unneeded calls to
3731         aclocal and automake and creation/extension of `configure.in',
3732         `Makefile.am' and `textutils.tex' files, and add a trailing `:'
3733         command.
3734         * tests/Makefile.am (config_shell_tests): Add `mdate5-w.shtst'
3735         and `mdate6-w.shtst'.
3736
3737 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3738
3739         tests: extend tests on `--add-missing' and `--copy' a bit
3740         * tests/add-missing.test: Fix typo in heading comments.  Try with
3741         another testcase that install many (but not all) the auxiliary
3742         scripts at once, and uses non-standard (but valid and documented)
3743         setups (e.g., defining YACC in Makefile.am instead of calling
3744         AC_PROG_YACC from configure.in).
3745         * tests/copy.test: Reference `add-missing.test' in heading
3746         comments.  Try few more test scenarios.
3747
3748 2011-06-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3749
3750         tests: few fixlets and improvements
3751         * tests/cond31.test ($required): Remove `cc', it's not really
3752         needed.
3753         * tests/confh.test: Call autoheader too.  The lack of this call
3754         wasn't causing spurious failures because the automatic remake
3755         rules were somehow invoking it on our behalf (at make time).
3756         * tests/fn99subdir.test: Use $subdirname throughout, instead of
3757         ${subdirname}, for consistency with the rest of the testsuite.
3758         Avoid an unnecessary subshell, which could also cause spurious
3759         passes, being guarded by a trailing `|| Exit 1', which neutralize
3760         the `errexit' flag.  Remove an unnecessary `|| Exit 1' guard.
3761         * tests/insh2.test: Rewrite to avoid hackish Makefile.in munging,
3762         and to also run configure and make.
3763
3764 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3765
3766         tests: don't hard-code test name in txinfo21.test
3767         * tests/txinfo21.test: Use `$me' instead of hard-coding the
3768         current testcase name "txinfo21".  Add a trailing `:' command
3769         since we are at it.
3770
3771 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
3772
3773         tests: new test dedicated to `--add-missing' and `--copy'
3774         * tests/add-missing.test: New test.
3775         * tests/Makefile.am (TESTS): Update.
3776         Suggested by Peter Rosin.
3777
3778 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
3779
3780         testsuite: use 'fatal_' and 'framework_failure_' for hard errors
3781         * tests/defs (require_xsi): Use `fatal_', not `framework_failure',
3782         to report an invalid usage.
3783         * tests/remake-gnulib-remove-header.test: Prefer using `fatal_'
3784         with a proper error message over a direct call to `Exit 99'.
3785         * tests/pr8365-remake-timing.test: Likewise.
3786         * tests/cygnus-imply-foreign.test: Likewise.
3787         * tests/missing6.test: Likewise.
3788         * tests/cond8.test: Likewise.
3789         * tests/cond33.test: Likewise.
3790         * tests/python-virtualenv.test: Prefer using `framework_failure_'
3791         with a proper error message over a direct call to `Exit 99'.
3792         * tests/instspc-tests.sh: Prefer using `framework_failure_' and
3793         `fatal_' over direct calls to `Exit 99'.
3794         (fatal_): Define this (which is a simplified version of the one
3795         in `tests/defs') for early uses (i.e., before `tests/defs'
3796         gets sourced).
3797         * tests/depmode-tests.sh: Likewise.  Also, simplify the
3798         'get_depmodes' function and calls to it accordingly.
3799
3800 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
3801
3802         self tests: check new 'fatal_' function
3803         * tests/self-check-exit.test: Also check the new 'fatal_'
3804         function.
3805
3806 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
3807
3808         test defs: new function 'fatal_', for hard errors
3809         Before this patch, the only way offered by tests/defs to
3810         properly signal a hard error was the `framework_failure_'
3811         function.  But the error message issued by that function,
3812         as its name would suggest, refers to a set-up failure in the
3813         testsuite, while hard errors can obviously also be due to
3814         other reasons.  The best way to fix this inconsistency is to
3815         introduce a new function with a more general error message.
3816         Inspired by a recent similar change to Gnulib's tests/init.sh.
3817         * tests/defs (fatal_): New function.
3818         * tests/README (Section "Writing test cases" subsection "Do"):
3819         Suggest the use of `fatal_', not of `framework_failure_', for
3820         generic hard errors.  The latter should be reserved for "real"
3821         set-up failures.
3822
3823 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
3824
3825         tests: `lib/' shell scripts transparently tested also with $SHELL
3826         With the previous commit, the user could prefer the use of $SHELL
3827         over /bin/sh in some tests checking the Automake-provided shell
3828         scripts by manually exporting `test_prefer_config_shell' to "yes"
3829         in the environment.  With this commit, we ensure that such tests
3830         *always* and *transparently* run using both $SHELL and /bin/sh
3831         to execute the checked scripts.  The `test_prefer_config_shell'
3832         variable becomes an internal detail, and is no more meant to be
3833         manually defined or overridden.
3834         * tests/defs-static.in: Check that `test_prefer_config_shell' is
3835         not exported in the environment.  Error out if this is the case.
3836         * tests/config-shell-tests.sh: New file, driver script to run
3837         checks on the shell scripts in `lib/' using the $SHELL determined
3838         at configure time instead of the default system shell /bin/sh.
3839         * Makefile.am (TESTS_EXTENSIONS): Add `.shtst'.
3840         (SHTST_LOG_COMPILER): Define, it calls `config-shell-tests.sh'.
3841         (config_shell_tests): Define to a list of tests that wraps other
3842         `*.test' tests using `config-shell-tests.sh'.
3843         ($(config_shell_tests)): Dummy dependency declaration required
3844         in order to have make actually produce expected log files from
3845         the `.shtst.log' suffix rule.
3846         (EXTRA_DIST): Distribute `config-shell-tests.sh'.
3847         (TESTS): Add `$(config_shell_tests)'.
3848         * tests/self-check-env-sanitize.test: Update, by checking that
3849         `test_prefer_config_shell' isn't exported in the environment.
3850
3851 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
3852
3853         tests: can use also $SHELL to check shell scripts from `lib/'
3854         * tests/ar-lib.test: If the variable `$test_prefer_config_shell'
3855         is set to "yes", run the script under test with configure-time
3856         determined $SHELL, rather than with /bin/sh.
3857         The `$test_prefer_config_shell' variable defaults to empty, but
3858         can be overridden at runtime by the user, thus allowing more
3859         coverage.
3860         * tests/compile.test: Likewise.
3861         * tests/compile2.test: Likewise.
3862         * tests/compile3.test: Likewise.
3863         * tests/compile4.test: Likewise.
3864         * tests/compile5.test: Likewise.
3865         * tests/compile6.test: Likewise.
3866         * tests/instsh2.test: Likewise.
3867         * tests/instsh3.test: Likewise.
3868         * tests/mkinst3.test: Likewise.
3869         * tests/missing.test: Likewise.
3870         * tests/missing2.test: Likewise.
3871         * tests/missing3.test: Likewise.
3872         * tests/missing5.test: Likewise.
3873         * tests/defs (get_shell_script): New subroutine, factoring out
3874         code common to the tests above.
3875         (xsi-lib-shell): If `$test_prefer_config_shell' is set to "yes",
3876         check that $SHELL, not /bin/sh, supports XSI constructs, as we
3877         expect the test will use $SHELL and not /bin/sh to run the
3878         script being tested.
3879
3880 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
3881
3882         tests defs: better requirements for XSI shells
3883         This change avoids potential spurious failures with tests using
3884         the requirement 'xsi-shell' to mean that they want */bin/sh* (not
3885         $SHELL) to be XSI-conforming.  This idiom used to work before
3886         commit `v1.11-874-g1321be7' (as back then the test scripts were
3887         unconditionally run with /bin/sh), but has become inconsistent
3888         now that the test scripts re-execute themselves with configure
3889         determined $SHELL.
3890         The described spurious failures have already occurred in practice,
3891         for examples on Solaris systems which also had GNU Bash installed.
3892         From a suggestion by Peter Rosin.  See discussion at:
3893         <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00016.html>
3894         * tests/defs (xsi-shell): Now check that $SHELL, rather than the
3895         shell currently running the test script, is an XSI shell.
3896         (xsi-bin-sh): New requirement, checking that /bin/sh (which can
3897         differ from $SHELL) is an XSI shell.
3898         (xsi-lib-shell): New requirement, checking that the shell that
3899         should be used to test the Automake-provided scripts from `lib/'
3900         is an XSI shell.  For the moment, this is just an alias for
3901         `xsi-bin-sh'.
3902         (require_xsi): New subroutine, used to factor out code common to
3903         the requirements above.
3904         ($xsi_shell_code): New variable, contains shell code supposed to
3905         work only with XSI shells.  Used by the new subroutine above.
3906         * tests/ar-lib.test ($required): Require 'xsi-lib-shell' instead
3907         of 'xsi-shell', since the script we test here is run with /bin/sh,
3908         not with $SHELL.
3909         * tests/compile3.test: Likewise.
3910         * tests/compile6.test: Likewise.
3911
3912 2011-06-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
3913
3914         tests: fix typo-related error in auxdir2.test
3915         * tests/auxdir2.test (configure.in):  Close m4 quoting in the
3916         argument to AC_CONFIG_AUX_DIR.  Without this, aclocal fails with
3917         "ERROR: end of file in string".  This problem hasn't been exposed
3918         by the testsuite before because this test is in XFAIL_TESTS, so
3919         its failure went unnoticed, even if it was due to a wrong cause.
3920         Bug introduced in commit v1.11-249-g49ac3de.
3921
3922 2011-06-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
3923
3924         self tests: check that `$me' can be overridden
3925         * tests/self-check-me.test: Check that `$me' can be overridden
3926         before sourcing ./defs, with or without sourcing ./defs-static
3927         beforehand, and that this override is honored.  Update heading
3928         comments.
3929
3930 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3931
3932         self tests: fix another spurious failure
3933         Our ad-hoc usage of `tests/defs' in the testsuite's self tests
3934         stopped working properly when we made the test scripts re-execute
3935         themselves with the configure-time $SHELL.  Fix this.
3936         Fixes a regression introduced by commit 'v1.11-874-g1321be7'.
3937         * tests/self-check-exit.test: Export `AM_TESTS_REEXEC' to "no"
3938         before running the self tests.  This fixes a spurious failure
3939         present only when the test was run by hand.
3940
3941 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3942
3943         silent-rules tests: fix spurious failures with Sun Studio C++
3944         * tests/silentcxx.test: The C++ compiler from Sun Studio is named
3945         `CC'.  Account for this in our grepping checks on the make output.
3946         Since we are at it, throw in a couple of improvements to comments
3947         and formatting.
3948         * tests/silent-many-generic.test: The C++ compiler from Sun Studio
3949         is named `CC', and this can cause spurious failures in our grepping
3950         of the make output.  Work around this by using a wrapper script
3951         around the C++ compiler (generated on the fly), since filtering the
3952         make output proved to be too fragile.
3953
3954 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3955
3956         tests: fix spurious failure in backcompat2.test on NetBSD
3957         * tests/backcompat2.test: Add trailing `:' in the body of a `for'
3958         loop, in case the last command there might have an exit status
3959         different 0.  This work around `set -e' issues in some BSD shells,
3960         e.g., NetBSD /bin/ksh.
3961
3962 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3963
3964         tests: fix spurious failure in autohdr3.test
3965         * tests/autohder3.test (Makefile.am): Let `test' depend on `all',
3966         so that config.h header is truly remade.
3967         Remove now useless call to `$MAKE' when non-GNU make is in use.
3968         Failure introduced by commit `v1.11-895-g5e62b96'.
3969
3970 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3971
3972         tests: fix spurious failure of cond29.test on NetBSD
3973         * tests/cond29.test: Skip if we cannot safely limit the maximal
3974         size of used virtual memory to 20K.  This fixes a spurious failure
3975         on NetBSD.
3976         Bug introduced in commit `v1.11-885-g908d335'.
3977
3978 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3979
3980         maintcheck: fix again few more failures
3981         * tests/cond29.test: To please the `sc_tests_Exit_not_exit'
3982         maintainer check, avoid using `sh -c "exit 0"' where a simple
3983         `sh -c :' will do.
3984         * tests/depmod-data.test: Use creative quoting to avoid
3985         spuriously triggering the `sc_tests_Exit_not_exit' maintainer
3986         check.
3987
3988 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3989
3990         maintcheck: fix some more failures
3991         * tests/instdir-ltlib.test: Use creative quoting to avoid
3992         spuriously triggering the `sc_rm_minus_f' maintainer check.
3993         * tests/instdir-prog.test: Likewise.
3994         * tests/instspc-data.test: Use creative quoting to avoid
3995         spuriously triggering the `sc_tests_Exit_not_exit' maintainer
3996         check.
3997
3998 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3999
4000         maintcheck: fix some failures, extend some checks
4001         * Makefile.am (sc_diff_automake_in_automake): Update, as we
4002         now expect 9 lines, not 8, to be changed from `automake.in'
4003         to `automake'.
4004         (sc_diff_aclocal_in_aclocal): New maintainer check, similar to
4005         the above, and checking that only 10 lines are changed from
4006         `aclocal.in' to `aclocal'.
4007         (syntax_check_rules): Update.
4008         (sc_tests_Exit_not_exit): Exempt self tests `self-check-*.test'
4009         from this check, as they can legitimately use the bare `exit'
4010         builtin in various places.
4011         * doc/automake.texi (Python): Remove stray `@' from the end of
4012         a line.  Typo introduced in commit `v1.11-312-g5bf7af6'.
4013         * tests/depcomp8a.test: Pass DISTCHECK_CONFIGURE_FLAGS to make
4014         from the environment rather than from the command line, to
4015         pacify the `sc_tests_overriding_macros_on_cmdline' maintainer
4016         check.
4017         * tests/depcomp8b.test: Likewise.
4018
4019 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
4020
4021         tests: don't require GNU make where it's not strictly needed
4022         * tests/autohdr3.test: Rewrite to be stricter when make is GNU
4023         make.  Drop the requirement of GNU make.
4024         * tests/aclocal5.test: Drop GNU make requirement, it's not truly
4025         needed.  Add reference to similar tests `remake-subdir*.test'.
4026         * remake-subdir-gnu.test, remake-subdir-from-subdir.test,
4027         remake-subdir.test, remake-subdir2.test: Add reference to
4028         each other, and to related test `aclocal5.test'.
4029         * tests/aclocal6.test: Drop GNU make requirement, it's not
4030         truly needed.
4031         * tests/confh6.test: Likewise.
4032         * tests/lex3.test: Likewise.
4033         * tests/remake11.test: Likewise.
4034         * tests/subdir5.test: Likewise.
4035         * tests/subdir8.test: Likewise.
4036         * tests/werror2.test: Likewise.
4037         * tests/conff.test: Likewise, and ensure verbose printing of
4038         captured make output.
4039         * tests/lex5.test: Tweak so that GNU make is no more required.
4040         * tests/version7.test: Likewise.
4041         * tests/maken2.test: Add explicative comment for why this test
4042         requires GNU make.
4043         * tests/maken4.test: Let it run also with BSD makes supporting
4044         the `.MAKE' special target.
4045         * tests/output6.test: Use proper m4 quoting in configure.in.
4046         Expand make macros with one-character name using `$(x)', not
4047         `$x', for portability.  Move checks in the makefiles, rather
4048         than relying on grepping the output from make.  Drop the now
4049         unneeded GNU make requirement.
4050
4051 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
4052
4053         remake: behave better with non-GNU make in subdirectories
4054         Currently, with every decent make program, it is possible to
4055         rebuild out-of-date autotools-generated files with a simple
4056         "make Makefile" -- but for this to work reliably with non-GNU
4057         make implementations, the command must be issued from the
4058         top-level directory.  This patch removes such limitation.
4059         * lib/am/configure.am (am--refresh): Depend on `%MAKEFILE%'.
4060         * tests/remake-subdir.test: New test.
4061         * tests/remake-subdir2.test: Likewise.
4062         * tests/remake-subdir-gnu.test: Likewise.
4063         * tests/remake-subdir-from-subdir.test: Likewise.
4064         * tests/Makefile.am (TESTS): Update.
4065
4066 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
4067
4068         lex tests: fix spurious failures with Solaris lex
4069         * tests/lex-lib.test (foo.l): Avoid empty "rules section", which
4070         can confuse Solaris lex.
4071         * tests/lex-libobj.test (foo.l): Likewise.
4072
4073 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
4074
4075         lex tests: do not force the use of flex unconditionally
4076         * tests/defs (lex): Act more similarly to what the `yacc'
4077         requirement does, i.e., only force the use of flex if the
4078         $LEX variable is left unset by the user.
4079         (flex): Use `skip_' to skip the test if flex is not found.
4080
4081 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
4082
4083         lex tests: avoid possible hang; fix and extend
4084         * tests/lex3.test (foo.l:yywrap): Return 1, not 0, to avoid hangs.
4085         Bug introduced in commit 'v1.11-871-geb147a1'.
4086         (Makefile.am): Do not add `@LEXLIB@' to `$(LDADD)', as we define
4087         our own `yywrap' function.
4088         * tests/lex.test (tscan.l): In `yywrap', return 1, not 0, for
4089         consistency with the default flex implementation.
4090         * tests/lex-libobj.test (yywrap.c): Likewise.
4091         * tests/lex-subobj-nodep.test (s1.l): Likewise.
4092         * tests/lexvpath.test (foo.c): Likewise.
4093         * tests/silent-lex-gcc (foo.l): Likewise.
4094         * tests/silent-lex-generic (foo.l): Likewise.
4095         * tests/silent-many-gcc (foo5.l): Likewise.
4096         * tests/silent-many-generic (foo5.l): Likewise.
4097         * tests/lex-lib.test (mu.c): Likewise.
4098         Update heading comments, to refer to ...
4099         * tests/lex-lib-external.test: ... this new test, which checks
4100         that we can get use the `yywrap' function from a system-wide
4101         library, if that's available.
4102
4103 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
4104
4105         tests: prefer `skip_' over `echo ...; Exit 77'
4106         * tests/self-check-cleanup.test: When the test must be skipped,
4107         use `skip_ REASON' instead of `echo REASON; Exit 77'.  Also,
4108         make the skip message shorter and clearer.
4109
4110 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
4111
4112         tests: fix spurious failures in self tests
4113         Our ad-hoc usage of `tests/defs' in the testsuite's self tests
4114         stopped working properly when we made the test scripts re-execute
4115         themselves with the configure-time $SHELL.  Fix this.
4116         Fixes a bug introduced by commit 'v1.11-874-g1321be7'.
4117         * tests/defs: Only check that we can find the client test script
4118         when we must re-execute it.
4119         * tests/self-check-cleanup.test: Export `AM_TESTS_REEXEC' to "no"
4120         before running the self tests.
4121         * tests/self-check-dir.test: Likewise.
4122         * tests/self-check-explicit-skips.test: Likewise.
4123         * tests/self-check-me.test: Likewise.
4124         * tests/self-check-sanity.test: Likewise.
4125         * tests/self-check-reexec.test: New test.
4126         * tests/Makefile.am (TESTS): Update.
4127
4128 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
4129
4130         tests: prefer ulimit over timeout in test on a memory-hogging bug
4131         * tests/cond29.test: Use 'ulimit' instead of 'timeout' to ensure
4132         that automake does not uses up too much resources.  This is really
4133         and improvement because the bug tested by this script wasn't just
4134         a "it hangs" or "it runs too slow" bug, but rather a memory-hogging
4135         bug (due to combinatorial explosion when many Automake conditionals
4136         had to be handled) which could easily crash the whole system, which
4137         is unacceptable.  The requirement of a proper and working 'ulimit'
4138         builtin might cause the test to be skipped on more systems, but
4139         that shouldn't be a problem since the bug isn't about a portability
4140         issue, but is rather an automake internal implementation problem.
4141         I've verified that the test as updated by this patch still passes
4142         with automake 1.8.5, automake 1.10.2, and obviously the development
4143         version of automake, and that it fails with automake 1.7.9.
4144
4145 2011-06-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
4146
4147         testsuite: avoid generating `*-p.test' tests, use a wrapper script
4148         The generated `*-p.test' tests had already become just thin layers
4149         around the corresponding test scripts.  This change makes the final
4150         step, converting to the use of a generic wrapper script and thus
4151         avoiding the extra test generation (similarly to what is done for
4152         the `*.instspc' and `*.depmod' tests).
4153         * tests/parallel-tests.sh: New file, driver script to run checks
4154         the on the `parallel-tests' semantics by wrapping tests that use
4155         the generic "Simple Tests" driver.
4156         * tests/gen-parallel-tests: Update, mostly to reflect the new
4157         `.ptest' extensions used for tests in $(parallel_tests).
4158         * Makefile.am (TESTS_EXTENSIONS): Add `.ptest'.
4159         (PTEST_LOG_COMPILER): Define, it calls `parallel-tests.sh'.
4160         ($(parallel_tests)): Do not really generate `*-p.test' tests
4161         anymore; this is now just a dummy dependency declaration required
4162         in order to have make actually produce expected log files from
4163         the `.ptest.log' suffix rule.
4164         (EXTRA_DIST): Distribute `parallel-tests.sh'.
4165         (MAINTAINERCLEANFILES): Don't remove the `$(parallel_tests)', it
4166         is not necessary anymore.
4167         (generated_tests): Variable definition removed.
4168         (TESTS): Update, by listing `$(parallel_tests)' directly instead
4169         of `$(generated_tests)'
4170         (expected_list_of_tests): Remove `$(generated_tests)'.
4171         (maintainer-check-list-of-tests): No need to explicitly depend on
4172         `$(expected_list_of_tests)' anymore.
4173
4174 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
4175
4176         automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE
4177         Currently, the Automake's own configure script allow definition
4178         of AUTOCONF and AUTOM4TE, expected to point respectively to an
4179         autoconf and autom4te programs.  But while these definitions are
4180         honoured in the Automake's build systems and test suite, they
4181         were *not* honoured in the generated `automake' and `aclocal'
4182         scripts.  This behaviour, apart from being wrong in that it does
4183         not allow the user enough freedom in choosing his tools, also
4184         caused inconsistencies in the test suite, brining to spurious
4185         failures.
4186         Problem reported by Graham Reitz on the automake list; see thread:
4187         <http://lists.gnu.org/archive/html/automake/2011-05/msg00022.html>
4188         * automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'.
4189         * aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'.
4190         * Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and
4191         `@am_AUTOM4TE'.
4192         * NEWS: Update.
4193         * THANKS: Update.
4194
4195 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
4196
4197         build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too
4198         Our build system allows the user to override AUTOCONF and AUTOHEADER
4199         at configure time, and honours these overrides in our testsuite.
4200         But it didn't do the same with AUTOM4TE, AUTORECONF and AUTOUPDATE.
4201         This change fixes that inconsistency.
4202         * configure.ac (am_AUTOM4TE, am_AUTOUPDATE, am_AUTORECONF): New
4203         AC_SUBSTitutions.  Update comments.
4204         * tests/defs.in ($AUTOUPDATE): Default to `@am_AUTOUPDATE@' now.
4205         ($AUTOM4TE): New variable, defaulting to `@am_AUTOM4TE@'.
4206         ($AUTORECONF): New variable, defaulting to `@am_AUTORECONF@'.
4207         * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Update.
4208
4209 2011-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
4210
4211         parallel-tests: stricter checks on DISABLE_HARD_ERRORS support
4212         * tests/parallel-tests-harderror.test: New test, doing more
4213         in-depth checks on DISABLE_HARD_ERRORS.
4214         * tests/parallel-tests.test: Remove tests on DISABLE_HARD_ERRORS,
4215         now redundant.
4216         * tests/Makefile.am (TESTS): Update.
4217
4218 2011-05-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4219             Stefano Lattarini  <stefano.lattarini@gmail.com>
4220
4221         tests/README: fix example about `make -e' usage
4222         * tests/README (Section "Writing test cases" subsection "Do"): When
4223         some variable is never initialized in the Makefile, `-e' is not
4224         necessary in order to override it.  DESTDIR is such a variable: we
4225         ensure that we do not ever initialize it.  And as such, it is quite
4226         portable to use:
4227           $ make DESTDIR=/foo/bar install
4228         and in fact, quite widely used.
4229         So our example about when `make -e' is required, which references
4230         the `DESTDIR' variable, is poorly chosen, if not downright wrong.
4231         Rewrite it to use `prefix' as the overridden variable instead.
4232
4233 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
4234
4235         tests: don't require gfortran if any fortran compiler is enough
4236         * tests/silentf90.test ($required): Require `fortran', not
4237         `gfortran'.
4238         * tests/silentf77.test ($required): Require `fortran77', not
4239         `gfortran'.
4240         * tests/silent-many-generic.test ($required): Require `fortran'
4241         and `fortran77' rather than `gfortran'.
4242
4243 2011-05-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
4244
4245         tests: improve `ccnoco*.test', better cross-compiling support
4246         * tests/ccnoco3.test (Mycomp): Use the `$CC' chosen by `tests/defs'
4247         instead of forcing `gcc' unconditionally.  This ensures better
4248         coverage in case of cross-compiling, when GCC can be named e.g.,
4249         `i586-mingw32msvc-gcc', instead of simply `gcc'.
4250         * tests/ccnoco.test: Likewise.  Remove redundant checks.  Modernize
4251         the created `configure.in'.  Run tests both in-tree and in VPATH.
4252         Export `CC' to the overridden value only once.
4253         * tests/ccnoco2.test: Slightly stricter grepping of automake
4254         stderr.  Add trailing `:' command.
4255
4256 2011-05-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
4257
4258         testsuite: each test case depends on `defs-static'
4259         * tests/Makefile.am ($(TEST_LOGS)): Depends on `defs-static' too.
4260         Simplify comments.
4261
4262 2011-05-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
4263
4264         testsuite: use $SHELL to run tests which are shell scripts
4265         * tests/Makefile.am (TEST_LOG_COMPILER): Define so that the
4266         configure-time $SHELL is used to run the tests.
4267         * tests/defs: Add code to re-execute by default the running
4268         test script with configure-time $SHELL.  Updated comments.
4269         * configure.ac: Check that `set -e' is working for $SHELL,
4270         not for /bin/sh.
4271         * tests/defs-static.in: Update comments.
4272         * tests/README (Supported shells): Updated.
4273         (Getting details from failures): Don't tell that tests are
4274         run by /bin/sh by default.
4275
4276 2011-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4277
4278         tests: split 'subst2.test' to improve modularity and coverage
4279         * tests/subst2.test: Test removed, split into ...
4280         * tests/programs-primary-rewritten.test: ... this test ...
4281         * tests/subst-no-trailing-empty-line.test: ... and this one ...
4282         * tests/extra-programs-empty.test: ... and this one.
4283         * tests/Makefile.am (TESTS): Update.
4284
4285 2011-05-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4286
4287         tests: tweak and improve tests on Automake conditionals
4288         The "avoid the requirement of a working compiler" we refer about
4289         below is obtained by disabling automatic dependency tracking and
4290         defining `CC' (and `EXEEXT', `OBJEXT', `CXX', etc., if needed) to
4291         dummy values, either directly in the `Makefile.am', or by AC_SUBST
4292         in `configure.in'.
4293         The "cosmetic changes" we refer about below consists in, e.g.,
4294         adding a trailing `:' command to a script, using proper m4 quoting
4295         in `configure.in' files, adding commands that offer more debugging
4296         output, explicitly declaring phony targets as such in Makefiles,
4297         making use of idioms more consistent with those employed in other
4298         tests, following the GNU formatting standards more closely, etc.
4299         * tests/cond.test: Cosmetic changes.
4300         * tests/cond3.test: Likewise.
4301         * tests/cond10.test: Likewise.
4302         * tests/cond14.test: Likewise.
4303         * tests/cond15.test: Likewise.
4304         * tests/cond17.test: Likewise.
4305         * tests/cond40.test: Likewise.
4306         * tests/cond13.test: Likewise, and make grepping of the generated
4307         `Makefile.in' slightly stricter.
4308         * tests/cond6.test: Extend by also running ./configure, make and
4309         "make install".  Few cosmetic changes.
4310         * tests/cond8.test: Likewise.
4311         * tests/cond2.test: Do few cosmetic changes.  Make grepping of
4312         automake stderr stricter.
4313         * tests/cond20.test: Likewise.
4314         * tests/cond23.test: Likewise.
4315         * tests/cond24.test: Likewise.
4316         * tests/cond42.test: Likewise.
4317         * tests/cond46.test: Likewise.
4318         * tests/cond9.test: Move more checks in the `Makefile.am' instead
4319         of grepping make's output.
4320         * tests/cond38.test: Likewise.
4321         * tests/cond11.test: Likewise.  Avoid the requirement of a working
4322         C compiler.
4323         * tests/cond16.test: Likewise.
4324         * tests/cond22.test: Likewise.
4325         * tests/cond30.test: Likewise.
4326         * tests/cond31.test: Likewise.
4327         * tests/cond4.test: Likewise, and drop the now-useless GNU make
4328         requirement as well.
4329         * tests/cond18.test: Likewise.
4330         * tests/cond19.test: Likewise.
4331         * tests/cond22.test: Likewise.
4332         * tests/cond25.test: Add trailing `:' command.
4333         * tests/cond26.test: Likewise.
4334         * tests/cond27.test: Likewise.
4335         * tests/cond28.test: Likewise.
4336         * tests/cond29.test: Use `unindent' function for better formatting.
4337         Other minor cosmetic changes.  Use a `timeout' program (if it's
4338         available) to determine whether the script takes too long, instead
4339         of just hoping that the user will notice an abnormally long test
4340         execution time.
4341         * tests/cond33.test: Extend a bit.  Fix heading comments.  Few more
4342         cosmetic changes.
4343         * tests/cond37.test: Ensure verbose printing of captured make
4344         output.  Minor cosmetic changes.
4345         * tests/cond34.test: Likewise.  Avoid the requirement of a working
4346         C compiler.  Make grepping of make output slightly stricter.
4347         * tests/cond35.test: Quote literal dots in grep regexp.  Add extra
4348         debugging output.  Minor cosmetic changes.
4349         * tests/cond36.test: Likewise.
4350         * tests/cond41.test: Do not simply check that aclocal fails, but
4351         also grep its stderr for the expected error message.
4352         * tests/cond43.test: Likewise (but the program being automake).
4353         Few cosmetic changes.
4354         * tests/condd.test: Avoid the requirement of a working C compiler.
4355         * tests/condman3.test: Extend by using more man pages and more
4356         manpage sections.
4357         * tests/condman.test: Removed, it's completely superseded by
4358         `condman3.test'.
4359         * tests/Makefile.am (TESTS): Update.
4360
4361 2011-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
4362
4363         lex tests: avoid spurious failures when LEXLIB isn't found
4364         The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
4365         the "lex library" expected to provide a `yywrap' function (function
4366         which is required to link most lex-generated programs).  On the
4367         contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
4368         fail, configure declares that no lex library is needed, and simply
4369         proceeds with the configuration process -- only for the build to
4370         possibly fail later, at make time.
4371         This behaviour might be (partly) intended; the Autoconf manual
4372         reads:
4373          ``You are encouraged to use Flex in your sources, since it is
4374            both more pleasant to use than plain Lex and the C source
4375            it produces is portable.  In order to ensure portability,
4376            however, you must either provide a function `yywrap' or, if
4377            you don't use it (e.g., your scanner has no `#include'-like
4378            feature), simply include a `%noyywrap' statement in the
4379            scanner's source.''
4380         This AC_PROG_LEX behaviour is causing some spurious failures of the
4381         Automake testsuite in environments which lack a proper library
4382         providing `yywrap' (this happens for example in Linux->MinGW cross
4383         compilations).  But at this point is clear that a proper workaround
4384         is to simply provide a fall-back implementation of `yywrap' in our
4385         lexers.
4386         * tests/cond35.test: Provide a dummy `yywrap' function.
4387         * tests/lex3.test: Likewise.
4388         * tests/lexvpath.test: Likewise.
4389         * tests/silent-many-gcc.test: Likewise.
4390         * tests/silent-many-generic.test: Likewise.
4391         * tests/silent-lex-gcc.test: Likewise, and a dummy `main' too.
4392         * tests/silent-lex-generic.test: Likewise.
4393         * tests/lex-lib.test: New test.
4394         * tests/lex-libobj.test: New test.
4395         * tests/lex-nowrap.test: New test.
4396         * tests/Makefile.am (TESTS): Update.
4397         * THANKS: Update.
4398         Thanks to Russ Allbery for the suggestion.
4399
4400 2011-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
4401
4402         testsuite: require C++ compiler explicitly in tests needing it
4403         The list of the test scripts which needed a C++ compiler but
4404         failed to require it explicitly has been found by running:
4405           $ tests=`grep -lE 'CXX|\.c(c|\+\+|xx|pp)' *.test | tr '\n' ' '`
4406           $ am_explicit_skips=yes CXX=false make check TESTS="$tests"
4407         and looking for tests that reported FAIL instead of SKIP.
4408         After the present change, all those previously failing tests
4409         either pass or get correctly skipped.
4410         * tests/subobj9.test: Require `c++', instead of explicitly
4411         skipping on configure failure.  Add excerpts and/or details from
4412         the original bug report that prompted this tests to be written.
4413         * tests/silentcxx-gcc.test: Require g++.
4414         * tests/silentcxx.test: Require c++.
4415         * tests/suffix3.test: Likewise.
4416
4417 2011-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
4418
4419         testsuite: don't require g++ where any C++ compiler is enough
4420         * tests/specflg10.test ($required): Use `c++', not g++.
4421         * tests/silent-many-generic.test: Likewise.
4422
4423 2011-05-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
4424
4425         testsuite: require C compiler explicitly in tests needing it
4426         The list of the test scripts which needed a C compiler but
4427         failed to require it explicitly has been found by running:
4428           $ am_explicit_skips=yes CC=false make check
4429         and looking for tests that reported FAIL instead of SKIP.
4430         After the present change, all those previously failing tests
4431         either pass or get correctly skipped.
4432         * tests/aclocal4.test ($required): Add `cc'.
4433         * tests/ansi.test: Likewise.
4434         * tests/ansi10.test: Likewise.
4435         * tests/ansi3.test: Likewise.
4436         * tests/ansi3b.test: Likewise.
4437         * tests/ansi5.test: Likewise.
4438         * tests/ansi6.test: Likewise.
4439         * tests/ansi7.test: Likewise.
4440         * tests/ansi9.test: Likewise.
4441         * tests/backcompat6.test: Likewise.
4442         * tests/canon7.test: Likewise.
4443         * tests/check5.test: Likewise.
4444         * tests/check7.test: Likewise.
4445         * tests/check8.test: Likewise.
4446         * tests/cond4.test: Likewise.
4447         * tests/cond11.test: Likewise.
4448         * tests/cond16.test: Likewise.
4449         * tests/cond18.test: Likewise.
4450         * tests/cond19.test: Likewise.
4451         * tests/cond22.test: Likewise.
4452         * tests/cond30.test: Likewise.
4453         * tests/cond31.test: Likewise.
4454         * tests/cond32.test: Likewise.
4455         * tests/cond34.test: Likewise.
4456         * tests/cond35.test: Likewise.
4457         * tests/cond39.test: Likewise.
4458         * tests/condd.test: Likewise.
4459         * tests/cygnus-dependency-tracking.test: Likewise.
4460         * tests/depcomp2.test: Likewise.
4461         * tests/depcomp6.test: Likewise.
4462         * tests/depcomp7.test: Likewise.
4463         * tests/depcomp8a.test: Likewise.
4464         * tests/depcomp8b.test: Likewise.
4465         * tests/depdist.test: Likewise.
4466         * tests/depend2.test: Likewise.
4467         * tests/depend5.test: Likewise.
4468         * tests/distcleancheck.test: Likewise.
4469         * tests/distname.test: Likewise.
4470         * tests/exeext.test: Likewise.
4471         * tests/exeext4.test: Likewise.
4472         * tests/extradep.test: Likewise.
4473         * tests/extradep2.test: Likewise.
4474         * tests/gnits2.test: Likewise.
4475         * tests/gnits3.test: Likewise.
4476         * tests/instdir-ltlib.test: Likewise.
4477         * tests/instdir-prog.test: Likewise.
4478         * tests/instfail.test: Likewise.
4479         * tests/instfail-libtool.test: Likewise.
4480         * tests/lex3.test: Likewise.
4481         * tests/lex5.test: Likewise.
4482         * tests/lexvpath.test: Likewise.
4483         * tests/lex-subobj-nodep.test: Likewise.
4484         * tests/lflags.test: Likewise.
4485         * tests/libobj-basic.test: Likewise.
4486         * tests/libobj2.test: Likewise.
4487         * tests/libobj7.test: Likewise.
4488         * tests/libobj10.test: Likewise.
4489         * tests/libobj16a.test: Likewise.
4490         * tests/libobj16b.test: Likewise.
4491         * tests/libobj17.test: Likewise.
4492         * tests/libobj19.test: Likewise.
4493         * tests/libtool2.test: Likewise.
4494         * tests/libtool3.test: Likewise.
4495         * tests/libtool7.test: Likewise.
4496         * tests/libtool9.test: Likewise.
4497         * tests/libtoo10.test: Likewise.
4498         * tests/libtoo11.test: Likewise.
4499         * tests/ltcond.test: Likewise.
4500         * tests/ltcond2.test: Likewise.
4501         * tests/ltconv.test: Likewise.
4502         * tests/ltinit.test: Likewise.
4503         * tests/ltlibsrc.test: Likewise.
4504         * tests/ltorder.test: Likewise.
4505         * tests/nobase.test: Likewise.
4506         * tests/nobase-libtool.test: Likewise.
4507         * tests/mmodely.test: Likewise.
4508         * tests/parallel-tests5.test: Likewise.
4509         * tests/parallel-tests-suffix-prog.test: Likewise.
4510         * tests/parallel-tests-ext-driver-prog.test: Likewise.
4511         * tests/posixsubst-ldadd.test: Likewise.
4512         * tests/posixsubst-libraries.test: Likewise.
4513         * tests/posixsubst-ltlibraries.test: Likewise.
4514         * tests/posixsubst-programs.test: Likewise.
4515         * tests/posixsubst-sources.test: Likewise.
4516         * tests/pr87.test: Likewise.
4517         * tests/pr204.test: Likewise.
4518         * tests/pr224.test: Likewise.
4519         * tests/pr300-lib.test: Likewise.
4520         * tests/pr300-ltlib.test: Likewise.
4521         * tests/pr300-prog.test: Likewise.
4522         * tests/pr401.test: Likewise.
4523         * tests/pr401b.test: Likewise.
4524         * tests/pr401c.test: Likewise.
4525         * tests/remake-gnulib-add-acsubst.test: Likewise.
4526         * tests/remake-gnulib-add-header.test: Likewise.
4527         * tests/regex.test: Likewise.
4528         * tests/repeated-options.test: Likewise.
4529         * tests/silent.test: Likewise.
4530         * tests/silent3.test: Likewise.
4531         * tests/silent9.test: Likewise.
4532         * tests/silent-lex-generic.test: Likewise.
4533         * tests/silent-many-generic.test: Likewise.
4534         * tests/silent-yacc-generic.test: Likewise.
4535         * tests/specflg7.test: Likewise.
4536         * tests/specflg9.test: Likewise.
4537         * tests/specflg10.test: Likewise.
4538         * tests/stdinc.test: Likewise.
4539         * tests/strip.test: Likewise.
4540         * tests/strip2.test: Likewise.
4541         * tests/strip3.test: Likewise.
4542         * tests/subdirbuiltsources.test: Likewise.
4543         * tests/subobj3.test: Likewise.
4544         * tests/subobj6.test: Likewise.
4545         * tests/subobj11a.test: Likewise.
4546         * tests/subpkg.test: Likewise.
4547         * tests/subst2.test: Likewise.
4548         * tests/subst3.test: Likewise.
4549         * tests/substref.test: Likewise.
4550         * tests/substre2.test: Likewise.
4551         * tests/suffix5.test: Likewise.
4552         * tests/suffix8.test: Likewise.
4553         * tests/suffix10.test: Likewise.
4554         * tests/suffix11.test: Likewise.
4555         * tests/suffix12.test: Likewise.
4556         * tests/suffix13.test: Likewise.
4557         * tests/target-cflags.test: Likewise.
4558         * tests/transform.test: Likewise.
4559         * tests/transform2.test: Likewise.
4560         * tests/yacc-basic.test: Likewise.
4561         * tests/yacc-d-basic.test: Likewise.
4562         * tests/yacc-clean.test: Likewise.
4563         * tests/yacc-dist-nobuild.test: Likewise.
4564         * tests/yacc-nodist.test: Likewise.
4565         * tests/yaccvpath.test: Likewise.
4566         * tests/yacc-d-vpath.test: Likewise.
4567         * tests/yacc4.test: Likewise.
4568         * tests/yacc7.test: Likewise.
4569         * tests/yacc8.test: Likewise.
4570         * tests/yaccdry.test: Likewise.
4571         * tests/yflags-cmdline-override.test: Likewise.
4572         * tests/yflags-force-override.test: Likewise.
4573         * tests/python-virtualenv.test: Likewise.  Also, improve skip
4574         messages.
4575         * tests/subobj5.test ($required): Add `cc'.
4576         (Makefile.am): Set `AUTOMAKE_OPTIONS' to `subdir-objects', and
4577         add new checking rules `test-build' and `test-distdir'.
4578         Extend the test by building and examining the distdir, the
4579         program, and the object files.
4580         * tests/postproc.test ($required): Add `cc'.
4581         Avoid the explicit `|| Exit $?' after call to configure, which
4582         is now either redundant (e.g., when `am_explicit_skips' is
4583         unset), or counter-productive (e.g., when `am_explicit_skips'
4584         is set to "yes").
4585         * tests/pr243.test: Likewise.
4586         * tests/pr266.test: Likewise.
4587         * tests/pr220.test: Simplify so that it doesn't require a
4588         C compiler anymore.
4589         * tests/subdir5.test: Likewise.
4590         * tests/subdir8.test: Likewise.
4591         * tests/lflags.test: Likewise.
4592         * tests/yflags.test: Likewise.
4593         * tests/yflags-force-conditional.test: Likewise.
4594         * tests/lflags2.test: Simplify so that it doesn't require a
4595         C++ compiler anymore.   
4596         * tests/yflags2.test: Likewise.
4597         * tests/autohdrdry.test (configure.in): Remove unneeded call
4598         to `AC_PROG_CC'.
4599         * tests/pr287.test: Likewise.
4600         * tests/check6.test: Likewise.
4601         * tests/cond21.test: Likewise, plus some cosmetic adjustments.
4602         * tests/upc.test: Skip if configure fails with status `77'.
4603         * tests/upc3.test: Likewise.
4604         * tests/vala4.test: Likewise.
4605         * tests/nostdinc.test: Likewise.  Also, make grepping checks
4606         on `Makefile.in'.  Update heading comments.
4607         * tests/compile5.test: When we must skip, skip explicitly,
4608         and with a meaningful message.
4609         * tests/instspc-tests.sh: When running in "test-build" or
4610         "test-install" mode (as determined by the value of variable
4611         `$instspc_action'), require `cc'.  Adjust comments.
4612         * tests/depmod-tests.sh: Likewise.
4613
4614 2011-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
4615
4616         testsuite: allow user to ask for stricter skip semantics
4617         Given how the Automake testsuite is currently structured, if a
4618         command in a test script fails with status `77', the global test
4619         outcome is considered a SKIP, because the value of `77' for `$?'
4620         is passed to the exit trap.  Indeed, this happens in practice, as
4621         an autoconf-generated configure script can exit with status `77'
4622         if it fails to find, e.g., a required compiler.
4623         While this behaviour is quite useful for avoiding spurious test
4624         failures in the wild, it can also sometimes prevent the Automake
4625         developers to easily see and declare the requirements of their
4626         tests.
4627         This change introduces a new variable `am_explicit_skips', meant to
4628         be user-overridable, and which, when set to a "true" value (i.e.,
4629         `yes' or `1'), require a direct call to `Exit 77' in order to make
4630         the test outcome be considered a SKIP.
4631         * tests/defs.in ($am__test_skipped): New variable, initialized
4632         to `no'.
4633         (Exit): Set `$am__test_skipped' to `yes' if passed an exit status
4634         of 77.
4635         (trap '...' 0): When `$am_explicit_skips' is set to a "true" value,
4636         reset an exit status of `77' to `78' if $am__test_skipped is not
4637         set to `yes'.
4638         * tests/self-check-exit.test: Adjust: unset `am_explicit_skips'.
4639         * tests/self-check-explicit-skips.test: New test.
4640         * tests/Makefile.am (TESTS): Update.
4641
4642 2011-05-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
4643
4644         testsuite: user can force skipping of compiler-requiring tests
4645         * tests/defs (cc, c++, fortran, fortran77): Skip the test if
4646         the relevant compiler is disabled by having the corresponding
4647         variable (CC, CXX, FC and F77, respectively) set to "false".
4648         (yacc): For consistency, skip the test when the YACC variable
4649         is set to "false", not when it's set to "no".  Since we are at
4650         it, fix the skip message to be shorter and more consistent.
4651
4652 2011-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
4653
4654         tests: tweak and improve tests on "Simple Tests" driver
4655         * tests/check.test: Make grepping of generated Makefile.in
4656         slightly stricter.  Add trailing `:' command.
4657         * tests/check2.test: Ensure verbose printing of captured make
4658         output.  Make grepping of generated Makefile.in and of make
4659         output stricter.  Add trailing `:' command.
4660         * tests/check3.test: Likewise.  Also, fix minor error in a
4661         comment.
4662         * tests/check4.test: Stricter grepping of make output.  Use
4663         `using_gmake' subroutine instead of copy&paste from defs.in
4664         to determine whether $MAKE is GNU make.  Add a trailing `:'
4665         command.
4666         * tests/check6.test: Add trailing `:' command.
4667         * tests/check10.test: Prefer redirection `>' over `>>' when
4668         creating new files.  Ensure verbose printing of captured make
4669         output.
4670         * tests/check11.test: Likewise.
4671         * tests/check7.test: Likewise.  Make grepping of make output
4672         stricter.  Prefer "make distcheck" over a simple "make check"
4673         in a VPATH build. Add trailing `:' command.
4674         (a.c): Format following GNU coding standards.
4675         (Makefile.am): Explicitly declare target `print-xfail-tests'
4676         as PHONY.  Distribute $(check_SCRIPTS), for distcheck.
4677         * tests/parallel-tests.test: Prefer redirection `>' over `>>'
4678         when creating new files.
4679         * tests/parallel-tests2.test: Likewise.
4680         * tests/parallel-tests9.test: Likewise.
4681         * tests/parallel-tests8.test: Likewise.  Make grepping of
4682         automake stderr stricter.
4683         * tests/check8.test: Likewise.  Make formatting of created
4684         *.c files more consistent with GNU Coding Standards.
4685         * tests/check-subst-prog.test (configure.in): Break overly
4686         long lines.
4687         (pass-prog.c, xfail-prog.c): Format them more consistently
4688         with GNU Coding Standards.
4689         * tests/parallel-tests3.test: Use a shorter and clearer skip
4690         message.  Use the `unindent' subroutine to improve readability
4691         of indented loop bodies.  Simplify the hack used to please
4692         maintainer-check.
4693         * tests/parallel-tests5.test: Make formatting of created *.c
4694         files more consistent with GNU Coding Standards.  Use the
4695         `unindent' subroutine to improve readability of indented loop
4696         bodies.
4697         * tests/parallel-tests10.test: Add blank line, for clarity.
4698         Prefer trailing `:' over trailing `Exit 0', for consistency
4699         with other tests.
4700
4701 2011-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
4702
4703         tests/README: small consistency improvement
4704         * tests/README (Section "User interface" subsection "Running the
4705         tests"): In examples, be more consistent w.r.t. the differences
4706         between GNU and non-GNU make.
4707
4708 2011-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
4709
4710         tests/README: suggest how to run tests in cross-compile mode
4711         * tests/README (Section "User interface" subsection "Running the
4712         tests"): Briefly explain how to override 'host_alias' at runtime
4713         to force the use of cross-compilers by the testsuite.  Give an
4714         example.
4715
4716 2011-05-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
4717
4718         test defs: better detection of cross-compile mode
4719         * configure.ac (AC_CANONICAL_HOST): New, probably not strictly
4720         necessary, but useful to complements AC_CANONICAL_BUILD.
4721         * tests/defs-static.in ($host_alias, $build_alias): New variables,
4722         exported, user-overridable, defaults AC_SUBST'd by configure.
4723         * tests/defs (cross_compiling): Consider cross-compilation mode
4724         active only if `$host_alias' is not empty *and* it differs from
4725         `$build_alias'.  This is more faithful to the way configure
4726         determines whether it is cross-compiling, but still allows the
4727         user to easily force cross-compilation by overriding `host_alias'
4728         and `build_alias' at runtime.
4729         From a report by Ralf Wildenhues.
4730
4731 2011-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
4732
4733         testsuite: avoid re-running few tests with 'parallel-tests' option
4734         Some tests in our testsuite use the 'simple-tests' driver only
4735         marginally, or simply as a mean to conveniently check unrelated
4736         invariants.  It makes little sense to force these tests to also
4737         run with the 'parallel-tests' Automake option active, as doing so
4738         offers no real gain in coverage, while often causing a measurable
4739         overhead in execution time (for an already too-slow testsuite).
4740         * tests/pr401.test (parallel_tests): Define to "no", to prevent
4741         the generation of a sibling test script using the 'parallel-tests'
4742         driver.
4743         * tests/pr401b.test: Likewise.
4744         * tests/pr401c.test: Likewise.
4745
4746 2011-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
4747
4748         testsuite: allow tests to avoid the use of 'parallel-tests' option
4749         * tests/gen-parallel-tests: Do not generate "siblings" for tests
4750         that explicitly define the `parallel_tests', whether to "yes" or
4751         to any other value.  Extend heading comments to give a rationale
4752         for this behaviour.
4753         * tests/README: Update.
4754
4755 2011-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
4756
4757         tests/README: update obsoleted advice
4758         * tests/README (Section "Writing test cases" subsection "Do"):
4759         Do not suggest to use the `*-p.test' pattern for the names of
4760         hand-written tests which use the `parallel-tests' Automake option.
4761         Not only is this not respected by the existing tests, but it is
4762         more likely to cause conflicts with auto-generated tests.
4763         So, suggest to *avoid* using the `*-p.test' pattern in names
4764         of hand-written tests instead.
4765         (Section "Writing test cases" subsection "Do not"):  When
4766         suggesting not to override Makefile variables using command
4767         line arguments, do not use the badly outdated variables `U'
4768         and 'ANSI2KNR' in the example; instead, use the more common
4769         and typical `DESTDIR'.
4770
4771 2011-05-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
4772
4773         tests: avoid spurious failures in cross-compile mode
4774         * tests/depcomp2.test: Ensure verbose printing of captured stderr
4775         from configure.
4776         * tests/ansi3.test ($required): Add 'native', as the ansi2knr
4777         functionality is not meant to work with a cross-compiler.
4778         * tests/ansi3b.test: Likewise.
4779         * tests/ansi5.test: Likewise.
4780         * tests/ansi6.test: Likewise.
4781         * tests/ansi7.test: Likewise.
4782         * tests/ansi8.test: Likewise.
4783         * tests/ansi10.test: Likewise.
4784         * tests/subobj3.test: Likewise.
4785         * tests/check8.test ($required): Add 'native', as this test is
4786         not meant to work with a cross-compiler.
4787         * tests/gnits2.test: Likewise.
4788         * tests/ltconv.test: Likewise.
4789         * tests/ltcond2.test: Likewise.
4790         * tests/parallel-tests5.test: Likewise.
4791         * tests/specflg7.test: Likewise.
4792         * tests/specflg8.test: Likewise.
4793         * tests/check5.test: Likewise.  Also, ensure verbose printing of
4794         captured make output, and thrown in few cosmetic and consistency
4795         improvements.
4796         * tests/ltinit.test: Be laxer in grepping configure output, to
4797         avoid spurious failures on systems which lack POSIX dynamic
4798         linking (e.g., MinGW), or when cross-compiling for such systems.
4799         * tests/ansi9.test: Skip parts of the test that would require a
4800         native compiler.
4801         * tests/backcompat6.test: Likewise.
4802         * tests/depcomp8a.test: Likewise.
4803         * tests/pr401.test: Likewise.
4804         * tests/pr401b.test: Likewise.
4805         * tests/pr401c.test: Likewise.
4806         * tests/target-cflags.test: Likewise.
4807         * tests/lex3.test: Likewise.
4808         * tests/yacc-basic.test: Likewise.
4809         * tests/autohdr4.test: Likewise.  Also, extend the test to ensure
4810         more coverage in cross-compile mode.
4811         * tests/canon7.test: Likewise.
4812         * tests/check9.test: Removed, split into two new tests ...
4813         * tests/check-subst-prog.test: ... this one, which requires a
4814         native C compiler ...
4815         * tests/check-subst.test: ... and this one, which doesn't require
4816         any compiler.
4817         * tests/parallel-tests4.test: Removed, split into two new tests ...
4818         * tests/parallel-tests-suffix-prog.test: ... this one, which
4819         requires a native C compiler ...
4820         * tests/parallel-tests-suffix.test: ... and this one, which
4821         doesn't require any compiler.
4822         * tests/parallel-tests7.test: Removed, split into two new tests ...
4823         * tests/parallel-tests-ext-driver-prog.test: ... this one, which
4824         requires a native C compiler ...
4825         * tests/parallel-tests-ext-driver.test: ... and this one, which
4826         doesn't require any compiler.
4827         * tests/Makefile.am (TESTS): Update.
4828
4829 2011-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
4830
4831         test defs: rename requirement 'non-cross' -> 'native'
4832         * tests/defs.in (non-cross): Rename requirement ...
4833         (native): ... to this, which is clearer and fits the
4834         existing lingo better.
4835         Suggestion by Ralf Wildenhues.
4836
4837 2011-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
4838
4839         testsuite: be more cross-compile friendly
4840         * tests/defs.in (cross_compiling): New subroutine.
4841         (am__tool_prefix): New internal variable.
4842         (gcc, g++, gcj): Force the use of the correct "tool prefix"
4843         when cross compiling.
4844         (gfortran, g77, non-cross): New requirements.
4845
4846 2011-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
4847
4848         tests: fix portability issues in 'repeated-options.test'
4849         * tests/repeated-options.test: Do not assume that object files
4850         have `.o' suffix and executables have no default suffix; instead,
4851         use `$(OBJEXT)' and `$(EXEEXT)'.
4852
4853 2011-05-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
4854
4855         check: document and test $(TEST_SUITE_LOG) overriding
4856         * doc/automake.texi (Simple Tests using parallel-tests): Explain
4857         how and why TEST_SUITE_LOG can be overridden at runtime.
4858         * tests/parallel-tests-log-override-1.test: New test, check that
4859         the newly documented idiom and similar usages are truly supported.
4860         * tests/parallel-tests-log-override-2.test: Likewise.
4861         * tests/parallel-tests-log-override-recheck.test: Likewise.
4862         * tests/Makefile.am (TESTS): Update.
4863
4864 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4865
4866         tests: fix spurious failure of extradep.test on FreeBSD
4867         * tests/extradep.test: When using `ls -t' to determine whether a
4868         file has been updated, make sure to use as reference a file whose
4869         timestamp is expected to be *strictly* older that that of the file
4870         being checked.  This is required because at least FreeBSD `ls' do
4871         not sort files with the same timestamp in alphabetical order when
4872         using the `-t' option.
4873         * tests/extradep2.test: Likewise.
4874
4875 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4876
4877         tests: fix spurious failure of txinfo21.test on FreeBSD
4878         * tests/txinfo21.test: Use the `is_newest' subroutine instead of
4879         the `ls -t' hack to to determine whether a file has been updated.
4880         This is required because at least FreeBSD `ls' do not sort files
4881         with the same timestamp in alphabetical order when using the `-t'
4882         option.
4883
4884 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4885
4886         tests: fix syntax error in 'silentcxx-gcc.test'
4887         * tests/silentcxx-gcc.test (for config_args in ...): Remove extra
4888         trailing backslash from the list of looped-on items.
4889
4890 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4891
4892         depmod tests: fix bug in depmodes list extraction
4893         * tests/depmod-tests.sh (get_depmodes): Use `echo $all_depmodes'
4894         instead of `... | tr "$nl" "$sp"' to strip extra whitespaces and
4895         newlines from `$all_depmodes'.  The latter idiom with `tr' is
4896         wrong since it gets run before `./defs' is sourced, and thus `$nl'
4897         and `$sp' are undefined.
4898         Bug revealad by FreeBSD tr(1) implementation, which doesn't accept
4899         empty strings as arguments.
4900
4901 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4902
4903         tests: add excerpts from few original bug reports, for clarity.
4904         * tests/comment6.test: Add excerpts and/or details from the
4905         original bug report that prompted this tests to be added and/or
4906         extended.
4907         * tests/dejagnu4.test: Likewise.
4908         * tests/installdir.test: Likewise.
4909
4910 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4911
4912         tests defs: allow requirements for compilers (mostly dummy)
4913         Most of the new requirements that are now accepted in `$required'
4914         as consequence of this patch are still dummy.  They are planned
4915         to be implemented only in master (or in some derived branch), but
4916         having them here (even just as no-op) will allow for an easier
4917         integration/backporting of potential new testcases.
4918         * tests/defs.in (cc, c++, fortran, fortran77): New requirements,
4919         still dummy.
4920         (flex): New requirement, picking LEX for configure.
4921         (lex): New requirement, alias for `flex'.  A more appropriate
4922         implementation, looking for a generic `lex' program, will follow
4923         in the future.
4924
4925 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4926
4927         tests: 'silent-many-gcc.test' improved and made more robust
4928         * tests/silent-many-gcc.test:  Also force "fast" gcc depmode
4929         for C++ compilations.  Add sanity checks verifying that the
4930         cache variables we force are really used by configure.  Fix
4931         typo in comments.
4932
4933 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
4934
4935         tests: drop useless requirements of 'g++'
4936         * tests/lflags2.test ($required): Remove 'g++', as any working
4937         C++ compiler should be enough, and ./configure will cause the
4938         test to skip if no working C++ compiler is found.
4939         * tests/yflags2.test: Likewise.
4940         * tests/subobj9.test: Likewise.
4941         * tests/silentcxx.test: Likewise.  Also, do not force depmodes
4942         that could cause non-GNU C++ compilers to fail.
4943         * tests/silentcxx-gcc.test: New test, like `silentcxx.test',
4944         but forcing "fast" gcc depmode (and thus requiring the GNU C++
4945         compiler).
4946         * tests/specflg10.test: Add proper "fixme" comment telling that
4947         we should make this test work with a generic C++ compiler.
4948         * tests/Makefile.am (TESTS): Update.
4949
4950 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4951
4952         tests defs: one more environment sanitization (corner case)
4953         * tests/defs (am__using_gmake): Initialize.  The `using_gmake'
4954         subroutine was using this variable for caching, but wasn't
4955         initializing it, which could cause problems in the (admittedly
4956         very unlikely) case in which it was pre-existent in the
4957         environment.
4958
4959 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4960
4961         tests: add forgotten test scripts to $(TESTS)
4962         * tests/Makefile.am (TESTS): Added test scripts  man[678].test,
4963         which have been present on the filesystem and in the repository,
4964         but which had erroneously been left out from $(TESTS).
4965
4966 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4967
4968         tests: ensure verbose printing of captured make output
4969         * tests/libtool7.test: Ensure verbose printing of captured
4970         make output.
4971         * tests/libtool9.test: Likewise.
4972
4973 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4974
4975         maintcheck: consistency of list of test scripts
4976         * CheckListOfTests.am: New file.
4977         (maintainer-check-list-of-tests): New target,
4978         check for consistency between list of tests defined in the
4979         including Makefile and list of tests on the filesystem.
4980         (clean-maintcheck-testslist-tmp): New rule, to clean up the
4981         temporary files that might be left around by the rules associated
4982         with the previous target.
4983         (clean-local): Depend on it.
4984         * lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
4985         (maintainer-check): Added dependency from the new target
4986         `maintainer-check-list-of-tests'.
4987         * tests/Makefile.am: Likewise.  Also ...
4988         (checked_test_extensions): Define to `.test'.
4989         (expected_test_list): Define properly.
4990         * Makefile.am (maintainer-check-list-of-test): New target,
4991         calling recursively into `tests/' and `lib/Automake/tests/',
4992         using ...
4993         (TEST_SUBDIRS): ... this new variable.
4994
4995 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4996
4997         tests: drop useless requirements of gcc (plus testsuite tweakings)
4998         * tests/libobj14.test ($required): Remove 'gcc', as we never run
4999         the C compiler.
5000         * tests/targetclash.test: Likewise.
5001         * tests/ansi6.test ($required): Remove 'gcc', as any working
5002         C compiler should be enough.
5003         * tests/ansi7.test: Likewise.
5004         * tests/ansi9.test: Likewise.
5005         * tests/ansi10.test: Likewise.
5006         * tests/lex5.test: Likewise.
5007         * tests/lexvpath.test: Likewise.
5008         * tests/mmodely.test: Likewise.
5009         * tests/pr204.test: Likewise.
5010         * tests/pr300-lib.test: Likewise.
5011         * tests/pr300-prog.test: Likewise.
5012         * tests/primary3.test: Likewise.
5013         * tests/specflg7.test: Likewise.
5014         * tests/specflg8.test: Likewise.
5015         * tests/subdir5.test: Likewise.
5016         * tests/subdir8.test: Likewise.
5017         * tests/subobj6.test: Likewise.
5018         * tests/subst3.test: Likewise.
5019         * tests/substre2.test: Likewise.
5020         * tests/yacc6.test: Likewise.
5021         * tests/yacc8.test: Likewise.
5022         * tests/depcomp2.test: Likewise.  Also, avoid clobbering user-set
5023         CFLAGS.
5024         * tests/lex3.test: Likewise.
5025         * tests/ansi3.test: Likewise.  Also, avoid 'CC=gcc' in configure.
5026         * tests/ansi3b.test: Likewise.
5027         * tests/ansi5.test: Likewise.
5028         * tests/autohdr4.test ($required): Remove 'gcc', as any working
5029         C compiler should be enough.
5030         Also, do not reject slow dependency extractors (which we might
5031         be forced to use now that $CC is not necessarily gcc anymore).
5032         * tests/cond16.test ($required): Remove 'gcc', as any working
5033         C compiler should be enough.
5034         Since we are at it, throw in few minor tweakings (mostly cosmetic,
5035         stylistic, or consistency-related).
5036         * tests/cond18.test: Likewise.
5037         * tests/cond35.test: Likewise.
5038         * tests/gnits2.test: Likewise.
5039         * tests/libtool3.test: Likewise.
5040         * tests/libtool7.test: Likewise.
5041         * tests/libtool9.test: Likewise.
5042         * tests/ltcond.test: Likewise.
5043         * tests/ltcond2.test: Likewise.
5044         * tests/ltconv.test: Likewise.
5045         * tests/ltlibsrc.test: Likewise.
5046         * tests/nobase.test: Likewise.
5047         * tests/nobase-libtool.test: Likewise.
5048         * tests/pr220.test: Likewise.
5049         * tests/pr224.test: Likewise.
5050         * tests/pr300-ltlib.test: Likewise.
5051         * tests/pr401.test: Likewise.
5052         * tests/pr401b.test: Likewise.
5053         * tests/pr401c.test: Likewise.
5054         * tests/subpkg.test: Likewise.
5055         * tests/target-cflags.test: Likewise.
5056         * tests/transform.test: Likewise.
5057         * tests/yacc4.test: Likewise.
5058         * tests/cond19.test: Likewise.  Also, avoid clobbering user-set
5059         CFLAGS.
5060         * tests/cond4.test: Likewise.
5061         * tests/depend2.test: Likewise.
5062         * tests/pr87.test: Likewise.
5063         * tests/subobj3.test: Likewise.
5064         * tests/substref.test: Likewise.
5065
5066 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
5067
5068         test defs: increase coverage w.r.t. GNU make
5069         * tests/defs (GNUmake): Instead of just skipping the tests
5070         requiring GNU make if $MAKE is not GNU make, try to look for
5071         it and, if found, redefine $MAKE accordingly.  This will help
5072         to transparently increase coverage on non-GNU systems which
5073         have GNU make available in PATH.
5074
5075 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
5076
5077         tests: improve few inter-tests references
5078         * tests/acloca22.test: Improve and extend the heading comments.
5079         Add reference to related tests 'remake-deleted-m4-file.test' and
5080         'remake-renamed-m4-macro-and-file.test'.  Since we are at it,
5081         add trailing `:' command, and few blank lines for readability.
5082         * tests/remake-renamed-m4-macro-and-file.test: In the heading
5083         comments, add reference to the related test 'acloca22.test'.
5084
5085 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
5086
5087         tests: fix spurious failure in 'color2.test'
5088         * tests/color2.test: If $MAKE contains command-line arguments (as
5089         in e.g., "make -j2"), expect's directive "spawn $env(MAKE)" fails
5090         spuriously, because it tries to run "$MAKE" as a single command.
5091         Fix this with proper uses of the TCL `eval' builtin.
5092
5093 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
5094
5095         tests: few more checks on automatic remake support
5096         * tests/remake-all-1.test: New test, check that the "all" target
5097         triggers rebuilt of outdated Makefiles.
5098         * tests/remake-all-2.test: Likewise, but for when the makefiles
5099         are not named `Makefile'.
5100         * tests/Makefile.am (TESTS): Update.
5101
5102 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
5103
5104         tests: check some remake features with non-GNU make too
5105         * tests/acloca14.test ($required): Drop "GNUmake".  This test
5106         works as-is with non-GNU make implementations.
5107         * tests/remake1a.test: Likewise.
5108         * tests/aclocal4.test ($required): Drop "GNUmake".
5109         Modify the test to have it work also with non-GNU make.
5110         * tests/remake5.test: Likewise.
5111         * tests/remake8a.test: Likewise.
5112         * tests/remake8b.test: Likewise.
5113         * tests/remake9a.test: Likewise.
5114         * tests/remake9b.test: Likewise.
5115         * tests/remake9c.test: Likewise.
5116         * tests/remake9d.test: Likewise.
5117         * tests/remake10a.test: Likewise.
5118         * tests/remake10b.test: Likewise.
5119         * tests/remake10c.test: Likewise.
5120         * tests/remake12.test: ($required): Drop "GNUmake".
5121         Adapt the test to make it work also with non-GNU make (if
5122         it supports an "include" directive).
5123
5124 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5125
5126         tests: extend tests on dependency tracking with VPATH
5127         * tests/depmod-tests.sh: New script, fulfilling a threefold role:
5128         1. it is called to generate a Makefile.am snippet, containing the
5129            definition of proper lists of tests;
5130         2. it is called to set up a directory containing some common data
5131            files and autotools-generated files used by the aforementioned
5132            tests (this is done for speed reasons only); and
5133         3. it is called to properly run those tests, one at a time.
5134         * tests/depcomp9.test: Delete, it's obsolete now.
5135         * tests/depcomp10.test: Likewise.
5136         * tests/Makefile.am ($(srcdir)/depmod-tests.am): Include this
5137         snippet, which defines ...
5138         (depmode_tests): ... this new macro, containing the list of the
5139         newly generated `*.depmod' tests.
5140         (TESTS_EXTENSIONS): Add `.depmod'.
5141         (DEPMOD_LOG_COMPILER): Define.  It calls `depmod-tests.sh', so that
5142         the "depmode tests" will be executed by passing that driver script
5143         a proper parameter.
5144         ($(depmod_tests)): New dependency declaration (dummy, but required
5145         in order to have make actually produce expected log files from the
5146         `.depmod.log' suffix rule).
5147         (TESTS): Add $(depmod_tests).
5148         (EXTRA_DIST): Distribute depmod-tests.sh.
5149         Other minor cosmetic changes and reorderings.
5150         * bootstrap: Generate depmod-tests.am.
5151         * tests/.gitignore: Updated.
5152
5153 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5154
5155         tests: avoid extra test generation (for `instspc' tests)
5156         We don't really need to generate tons and tons of wrapper test
5157         scripts (presently, ~ 90) just to run what is basically a single
5158         test (specifically, `instspc-tests.sh') with different parameters.
5159         In fact, the possibility of running a single driver script with
5160         multiple files/configurations/parameters is one of the major
5161         selling points of the 'parallel-tests' testsuite driver of
5162         automake.  So why not use ourselves more extensively the best
5163         features we provide?
5164         * tests/instspc-tests.sh: Update heading comments.  Expect
5165         to be executed, not sourced.  Update handling of command-line
5166         arguments.  Adjust to reflect the renaming of "instspc tests"
5167         from `instspc-*.test' to `*.instspc'.
5168         * tests/instspc-data.test: Update heading comments.  Execute
5169         driver script `instspc-tests.sh', instead of sourcing it.
5170         Give more informative messages in case of internal errors.
5171         * tests/Makefile.am (TESTS_EXTENSIONS): Define explicitly (to
5172         `.test' and `.instspc').
5173         (TESTS): Add `$(instspc_tests)'.
5174         (generated_tests): Remove `$(instspc_tests)'.
5175         (INSTSPC_LOG_COMPILER): Define.  Calls `instspc-tests.sh', so
5176         that the "instspc tests" will be now executed by passing that
5177         driver script a proper parameter.
5178         ($(instspc_tests)): Remove, we don't need anymore to generate
5179         this tests.
5180         ($(instspc_tests:.test=.log)): Remove, substituted by ...
5181         ($(instspc_tests:.instspc=.log)): ... this.
5182         ($(instspc_tests)): New dependency declaration (dummy, but
5183         required in order to have make actually produce expected log
5184         files from the `.instspc.log' suffix rule).
5185         (MAINTAINERCLEANFILES, generated_tests): Don't extend with
5186         $(instspc_tests) anymore.
5187         Update comments.
5188
5189 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5190
5191         build: improve the definition of the list of testcases
5192         * tests/Makefile.am (handwritten_tests): New variable.
5193         (generated_tests): Likewise.
5194         (TESTS): Redefine as the union of the above.
5195         (EXTRA_DIST): Extend using $(handwritten_tests) and
5196         $(generated_tests) rather than $(TESTS).
5197         * tests/gen-parallel-tests: Update accordingly, and
5198         make more robust.
5199
5200 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5201
5202         tests skips: shorter and clearer messages
5203         * tests/defs: Use shorter messages when giving reasons for test
5204         skipping; it turns out these shorter messages are also clearer.
5205         If more info might be useful, send them to the log file only.
5206
5207 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5208
5209         tests: fix self check spurious failure with older bash versions
5210         * tests/self-check-cleanup.test: Add trailing `:' to the test code
5211         passed to $SHELL, otherwise older versions of bash (at least 2.05
5212         and 3.2.39) fail to correctly remove the temporary directory in
5213         the exit trap.
5214
5215 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5216
5217         tests: add sanity check to 'self-check-cleanup.test'
5218         * tests/self-check-cleanup.test: Check that the "hacked" file
5219         `defs-static' used by the test differs from the "vanilla" one
5220         in builddir.  This also offers a little more debugging output.
5221
5222 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5223
5224         testsuite: display reasons for skips to the console
5225         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Open file descriptor
5226         `9' to the original stderr; define `stderr_fileno_' to `9', and
5227         export it.
5228         * tests/self-check-report.test: Prevent new spurious failures by
5229         removing from the environment any definition of `stderr_fileno_'.
5230
5231 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5232
5233         testsuite: use `skip_' for skipping of tests
5234         * tests/defs: Use the `skip_' subroutine for test skipping.  Also
5235         give sometimes more detailed messages about the reasons for the
5236         skipping.
5237         * tests/canon7.test: Likewise.
5238         * tests/color.test: Likewise.
5239         * tests/color2.test: Likewise.
5240         * tests/compile2.test: Likewise.
5241         * tests/dejagnu7.test: Likewise.
5242         * tests/depcomp6.test: Likewise.
5243         * tests/depcomp9.test: Likewise.
5244         * tests/depcomp10.test: Likewise.
5245         * tests/distlinks.test: Likewise.
5246         * tests/distlinksbrk.test: Likewise.
5247         * tests/fn99.test: Likewise.
5248         * tests/fn99subdir.test: Likewise.
5249         * tests/forcemiss2.test: Likewise.
5250         * tests/fort5.test: Likewise.
5251         * tests/gettext3.test: Likewise.
5252         * tests/install2.test: Likewise.
5253         * tests/instfail-info.test: Likewise.
5254         * tests/instfail-java.test: Likewise.
5255         * tests/instfail-libtool.test: Likewise.
5256         * tests/instfail.test: Likewise.
5257         * tests/instmany-mans.test: Likewise.
5258         * tests/instmany-python.test: Likewise.
5259         * tests/instmany.test: Likewise.
5260         * tests/instsh3.test: Likewise.
5261         * tests/ltinit.test: Likewise.
5262         * tests/makej2.test: Likewise.
5263         * tests/mdate6.test: Likewise.
5264         * tests/mkinst3.test: Likewise.
5265         * tests/parallel-tests3.test: Likewise.
5266         * tests/parallel-tests-reset-term.test: Likewise.
5267         * tests/parallel-tests-unreadable-log.test: Likewise,
5268         * tests/python-virtualenv.test: Likewise.
5269         * tests/remake-gnulib-remove-header.test: Likewise.
5270         * tests/subobj9.test: Likewise.
5271         * tests/symlink2.test: Likewise.
5272         * tests/tar.test: Likewise.
5273         * tests/tar2.test: Likewise.
5274         * tests/txinfo26.test: Likewise.
5275         * tests/vala2.test: Likewise.
5276         * tests/vala3.test: Likewise.
5277         * tests/vala5.test: Likewise.
5278         * tests/vtexi4.test: Likewise.
5279         * tests/instdir-texi.test: Likewise.
5280         * tests/txinfo21.test: Likewise.
5281
5282 2011-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
5283
5284         testsuite: more environment sanitization
5285         * tests/defs: Move the checks verifying that the variables `me',
5286         `parallel_tests' and `required' aren't set in the environment ...
5287         * tests/defs-static.in: ... in here, with some optimizations to
5288         avoid useless forks.  Also, do the same checks for the variables
5289         `original_AUTOMAKE' and `original_ACLOCAL' too.
5290         * tests/self-check-env-sanitize.test: Update.
5291         * tests/Makefile.am (TESTS_ENVIRONMENT): Unset also variables
5292         `original_AUTOMAKE' and `original_ACLOCAL'.
5293
5294 2011-04-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5295
5296         tests: fix spurious failure (non-renamed AM_TESTS_SETUP usage)
5297         * tests/parallel-tests-reset-term.test: Use AM_TESTS_ENVIRONMENT
5298         instead of AM_TESTS_SETUP (which has been removed in commit
5299         v1.11-349-g12f48fa).
5300         Fix spurious failure introduced by merge `v1.11-781-gfeed175'.
5301
5302 2011-04-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5303
5304         tests: fix spurious failure in a test on TESTS (VPATH-related)
5305         * tests/check-tests-in-builddir.test: When not using the
5306         parallel-tests option, do not check that VPATH components are
5307         not present in the displayed test name, since the simple-tests
5308         driver do not try to strip them.
5309
5310 2011-04-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
5311
5312         tests: fix spurious failure in self-check-env-sanitize.test
5313         * tests/self-check-env-sanitize.test: Open file descriptor `5'
5314         to stdout.
5315         Fix spurious failure introduced by merge `v1.11-788-g3b0c8d5'.
5316
5317 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5318
5319         test: self check subroutines for skipping/failing of tests
5320         * tests/self-check-report.test: New test.
5321         * tests/Makefile.am (TESTS): Update.
5322
5323 2011-04-23  Jim Meyering  <meyering@redhat.com>
5324             Stefano Lattarini  <stefano.lattarini@gmail.com>
5325
5326         test defs: new subroutines for test skipping/failing
5327         * tests/defs.in (Exit): Move definition of this function earlier.
5328         (warn_, skip_, fail_, framework_failure_): New functions, inspired
5329         to the homonyms in gnulib's tests/init.sh.
5330         ($stderr_fileno_): New global variable, used by the new functions
5331         above.
5332         * tests/README: Updated.
5333         From a suggestion by Ralf Wildenhues.
5334
5335 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5336
5337         tests: fix typo (copy & paste blunder) in heading comment
5338         * tests/maintclean-vpath.test: Correctly refer to the sister test
5339         as `maintclean.test', not as `maintclean-vpath.test'.
5340
5341 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5342
5343         tests: remove redundant test `mclean.test'
5344         * tests/mclean.test: Remove, it's a weak grepping test completely
5345         superseded by the much more complete `maintclean.test'.
5346         * tests/Makefile.am (TESTS): Update.
5347
5348 2011-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
5349
5350         testsuite: more environment sanitization
5351         * tests/defs.in: Sanity check: abort if any of `parallel_tests'
5352         or `required' is in the environment.
5353         ($sed_unindent_prog): Initialize to empty, to avoid interferences
5354         from the environment.
5355         * tests/self-check-me-in-env.test: Renamed to ...
5356         * tests/self-check-env-sanitize.test: ... this, and extended.
5357         * tests/Makefile.am (TESTS): Update.
5358         (TESTS_ENVIRONMENT): Unset variables `parallel_tests' and
5359         `required'.  Adjust comments.
5360
5361 2011-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
5362
5363         tests: in self-checks, use $SHELL, not /bin/sh
5364         * tests/self-check-me-in-env.test: Include `./defs-static' to get
5365         the definition of `$SHELL'.  Use `$SHELL' instead of `/bin/sh' to
5366         execute the tests.
5367
5368 2011-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
5369
5370         tests: prefer AM_TESTS_ENVIRONMENT to TESTS_ENVIRONMENT
5371         * tests/Makefile.am (TESTS_ENVIRONMENT): Renamed to ...
5372         (AM_TESTS_ENVIRONMENT): ... this.
5373
5374 2011-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5375
5376         tests: don't allow `$me' to be overridden from the environment
5377         * tests/defs.in: Sanity check: abort if $me is in the environment.
5378         * tests/self-check-me-in-env.test: New test.
5379         * tests/Makefile.am (TESTS_ENVIRONMENT): Unset variable `me'.
5380         (TESTS): Update.
5381         Suggestion by Ralf Wildenhues.
5382
5383 2011-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
5384
5385         check: rename AM_TESTS_SETUP -> AM_TESTS_ENVIRONMENT
5386         The AM_TESTS_SETUP naming was not a good one after all.  It may
5387         be technically more correct than AM_TESTS_ENVIRONMENT, but the
5388         latter is a better one simply because it is easier to remember,
5389         and even if you've never heard of it and only know the semantics
5390         of TESTS_ENVIRONMENT, you can have a straightforward way to
5391         figure out how AM_TESTS_ENVIRONMENT would work.
5392         * tests/check.am (am__check_pre): Update.
5393         * doc/automake.in (Simple Tests using parallel-tests): Update.
5394         * tests/parallel-tests-am_tests_setup.test: Renamed ...
5395         * tests/parallel-tests-am_tests_environment.test: ... to this,
5396         and updated.
5397         * tests/Makefile.am (TESTS): Update.
5398         Suggestion and motivation by Ralf Wildenhues.
5399
5400 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
5401
5402         test defs: allow overriding of `$me'
5403         * tests/defs.in ($me): Allow overriding by the including test
5404         script.  Add some explicative comments.
5405
5406 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
5407
5408         coverage: more tests on the parallel-tests driver
5409         * tests/parallel-tests-interrupt.test: New test.
5410         * tests/parallel-tests-reset-term.test: Likewise.
5411         * tests/Makefile.am (TESTS): Update.
5412
5413 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
5414
5415         check: new developer-reserved AM_TESTS_SETUP variable
5416         For reference, see the discussion at:
5417         <http://lists.gnu.org/archive/html/automake-patches/2011-01/msg00213.html>
5418         * lib/am/check.am [%?PARALLEL_TESTS%] (am__check_pre): Pass also
5419         $(AM_TESTS_SETUP).  Comments updated, and some typos fixed.
5420         * doc/automake.texi (Simple Tests using parallel-tests): Document
5421         AM_TESTS_SETUP.  Reorder some of the existing documentation a bit.
5422         * tests/parallel-tests-am_tests_setup.test: New test.
5423         From a suggestion by Ralf Wildenhues.
5424
5425 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
5426
5427         depcomp tests: don't reject slower dependency extractors
5428         * tests/depcomp8b.test: Add the `--enable-dependency-tracking'
5429         option to `configure' invocations, so that slower dependency
5430         extractors are not rejected.
5431         * tests/depcomp8a.test: Likewise.  Also ...
5432         (foo.c): ... since we are at it, fix spacing to be consistent
5433         with GNU coding standards.
5434
5435 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
5436
5437         m4: add missing serial numbers to a few files
5438         Fixes automake bug#8483.
5439         * m4/amversion.in: Add serial number.
5440         * m4/auxdir.m4: Likewise.
5441         * m4/gcj.m4: Likewise.
5442         * m4/install-sh.m4: Likewise.
5443         * m4/mkdirp.m4: Likewise.
5444         * m4/python.m4: Likewise.
5445         * m4/runlog.m4: Likewise.
5446         * m4/strip.m4: Likewise.
5447         * m4/upc.m4: Likewise.
5448
5449 2011-04-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5450
5451         tests: fix few bugs in self checks
5452         Related to automake bug#8508.
5453         * tests/self-check-cleanup.test: Be laxer when grepping output
5454         from `ls -l', to account for ACLs and SELinux-only files.
5455         * tests/self-check-dir.test: Source `defs-static' to read in the
5456         correct definition for $SHELL.
5457         * tests/self-check-me.test: Likewise, and extend a bit.
5458         Report from Jim Meyering.
5459
5460 2011-04-16  Jim Meyering  <meyering@redhat.com>
5461
5462         depcomp: correct invalid sed invocation
5463         * lib/depcomp: Insert missing -e before '/:$/d'.
5464         Otherwise, that use of sed would treat '/:$/d' as a file name.
5465
5466 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
5467
5468         maintainer check: quote literal `$' in Makefile rule
5469         * Makefile.am (sc_tests_PATH_SEPARATOR): Escape literal `$'
5470         character in double-quoted string.  Fix a bug in which the rule
5471         emitted an erroneously empty substring in its error message.
5472
5473 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
5474
5475         tests: fix typo in python5b.test
5476         * tests/python5b.test: Remove extra `:' from $PATH redefinition.
5477
5478 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
5479
5480         tests: remove redundant settings of `errexit' shell flag
5481         * tests/autodist-acconfig.test: Do not set the `errexit'
5482         shell flag, as it is already set by `tests/defs'.
5483         * tests/autodist-acconfig-no-subdir.test: Likewise.
5484         * tests/autodist-aclocal-m4.test: Likewise.
5485         * tests/autodist-config-headers.test: Likewise.
5486         * tests/autodist-configure-no-subdir.test: Likewise.
5487         * tests/autodist-stamp-vti.test: Likewise.
5488         * tests/autodist-subdir.test: Likewise.
5489         * tests/autodist.test: Likewise.
5490         * tests/check-exported-srcdir.test: Likewise.
5491         * tests/check-tests-in-builddir.test: Likewise.
5492         * tests/check-tests_environment.test: Likewise.
5493         * tests/help-python.test: Likewise.
5494         * tests/java-check.test: Likewise.
5495         * tests/java-extra.test: Likewise.
5496         * tests/java-noinst.test: Likewise.
5497         * tests/lex-subobj-nodep.test: Likewise.
5498         * tests/ltinit.test: Likewise.
5499         * tests/m4-inclusion.test: Likewise.
5500         * tests/maintclean-vpath.test: Likewise.
5501         * tests/parallel-tests-subdir.test: Likewise.
5502         * tests/pr8365-remake-timing.test: Likewise.
5503         * tests/python-dist.test: Likewise.
5504         * tests/python-vars.test: Likewise.
5505         * tests/python-virtualenv.test: Likewise.
5506         * tests/python5b.test: Likewise.
5507         * tests/specflg-dummy.test: Likewise.
5508         * tests/yacc-dist-nobuild-subdir.test: Likewise.
5509         
5510 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
5511
5512         coverage: test for automake bug#8485 (known regression)
5513         * tests/yacc-dist-nobuild-subdir.test: New test.
5514         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
5515
5516 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
5517
5518         test defs: define default $distdir (help reducing duplication)
5519         * tests/defs ($distdir): New variable, might be used in
5520         testcases checking distribution-related features.
5521         * tests/pr9.test: Use it.
5522         * tests/subdir9.test: Likewise.
5523         * tests/lex3.test: Likewise.
5524         * tests/lexvpath.test: Likewise.
5525         * tests/remake-moved-m4-file.test: Likewise.
5526         * tests/remake-renamed-m4-file.test: Likewise.
5527         * tests/remake-renamed-m4-macro-and-file.test: Likewise.
5528         * tests/yacc-basic.test: Likewise.
5529         * tests/yacc-d-basic.test: Likewise.
5530         * tests/yacc-d-vpath.test: Likewise.
5531         * tests/yacc-dist-nobuild.test: Likewise.
5532         * tests/vtexi3.test: Add comment explaining why we redefine
5533         $distdir in this test.
5534
5535 2011-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
5536
5537         depcomp: fix bugs in tests and in the depcomp script
5538         * lib/depcomp (gcc): Remove duplicated `-e' from sed invocation.
5539         * tests/depcomp10.test: Make it executable.  Fix a blunder that
5540         has left part of an intended comment not prefixed by `#', thus
5541         causing shell syntax errors.  In this same comment, break a
5542         too-long reported error message on multiple lines, for clarity.
5543         Add reference to the relevant bug report.  Add a comment which
5544         explains why the test result 'skipped' if the first "make" call
5545         fails.  Add other useful comments.
5546         * tests/depcomp9.test: Slightly improve comments.
5547
5548 2011-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5549
5550         Fix hp depmode for VPATH builds with GNU make.
5551         * lib/depcomp: Be sure to remove VPATH-prefixed object from
5552         dependency output when creating stub rule.
5553         * tests/depcomp10.test: New test.
5554         * tests/Makefile.am (TESTS): Update.
5555         * NEWS: Update.
5556         Report by Bruno Haible.
5557
5558 2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
5559
5560         test defs: fix 'javac' requirement for older JDK versions
5561         The Java compiler from JDK 1.5 (and presumably earlier versions)
5562         cannot handle the `-version' option by itself; and while it does
5563         print the version number, it then errors out with an usage error:
5564           $ javac -version
5565           javac 1.5.0_22
5566           javac: no source files
5567           Usage: javac <options> <source files>
5568           ...
5569         Luckily, adding the `-help' option to the `javac' invocation
5570         seems to fix this problem.
5571         * tests/defs.in (javac): Pass also the `-help' option to the
5572         `javac' program.  Add a comment explaining why it is needed.
5573         Report from Ralf Wildenhues.
5574
5575 2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
5576
5577         test defs: new requirement for the default java compiler
5578         * tests/defs.in (for tool in $required): New requirement 'javac'.
5579         * tests/java.test: Use it instead of ad-hoc configure check.
5580         * tests/java-check.test: Likewise.
5581         * tests/java-extra.test: Likewise.
5582         * tests/java-noinst.test: Likewise.
5583         * tests/instfail-java.test: Likewise.
5584         * tests/instdir-java.test: Likewise.
5585
5586 2011-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
5587
5588         java: check_JAVA does not cause compilation by "make all" anymore
5589         Fixes automake bug#8234.
5590         * automake.in (handle_java): Make stamp of class files built from
5591         java sources in $(check_JAVA) a dependency of `check' target, not
5592         `all' target.
5593         * tests/java-check.test: New test.
5594         * tests/Makefile.am (TESTS): Update.
5595         * NEWS: Update.
5596         * THANKS: Update.
5597         Report from Petteri Räty.
5598
5599 2011-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
5600             Bruno Haible  <bruno@clisp.org>
5601
5602         coverage: add tests on remake rules in more complex situations
5603         * tests/defs (using_gmake): New function.
5604         (for tool in $required): Use it when $tool is 'GNUmake'.
5605         * tests/remake-moved-m4-file.test: New test.
5606         * tests/remake-deleted-m4-file.test: Likewise.
5607         * tests/remake-renamed-m4-file.test: Likewise.
5608         * tests/remake-renamed-m4-macro-and-file.test: Likewise.
5609         * tests/remake-renamed-m4-macro.test: Likewise.
5610         * tests/remake-add-acsubst-gnulib.test: Likewise.
5611         * tests/remake-add-header-gnulib.test: Likewise.
5612         * tests/remake-remove-header-gnulib.test: Likewise.
5613         * tests/Makefile.am (TESTS): Update.
5614
5615 2011-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
5616
5617         typofix in 'tests/defs'
5618         * tests/defs: Fix typo (`itslef' instead of `itself') in
5619         comments.
5620
5621 2011-04-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
5622
5623         coverage: more on java support EXTRA_ and noinst_ prefixes
5624         * tests/java-extra.test: New test, checking support for the
5625         prefix `EXTRA_' with the JAVA primary.
5626         * tests/java-noinst.test: New test, checking support for the
5627         prefix `noinst_' with the JAVA primary.
5628         * tests/Makefile.am (TESTS): Update.
5629
5630 2011-04-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5631
5632         Clarify regex code in depcomp.
5633         * lib/depcomp: Add comment why we don't need regex-escaping here.
5634         Suggested by Stefano Lattarini.
5635
5636 2011-04-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5637
5638         Fix makedepend depmode for VPATH builds.
5639         * lib/depcomp [makedepend]: Remove any VPATH prefix from the
5640         object file name, so a rebuild doesn't attempt to update the
5641         .Po files in the source tree.
5642         * tests/depcomp9.test: New test.
5643         * tests/Makefile.am (TESTS): Update.
5644         * NEWS: Update.
5645
5646 2011-04-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
5647
5648         tests: fix timestamp-related failures
5649         Fixes automake bug#8365.
5650         * tests/aclocal6.test: Sleep before modifying m4 files that should
5651         trigger remake rules.  Remove incorrect/obsoleted comments.
5652         * tests/subdir5.test: Likewise, and extend a bit.
5653         * tests/subdir8.test: Likewise.
5654         * tests/pr8365-remake-timing.test: New xfailing test.
5655         * tests/Makefile.am (TESTS): Update.
5656         Report from Sam Steingold.
5657
5658 2011-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5659
5660         Create subdirs for generated sources even when not dep tracking.
5661         * automake.in (handle_single_transform): If $object is derived
5662         and lands in subdir, be sure to output a dirstamp dependency.
5663         * tests/yacc5.test: Avoid falsely matching the dirstamp
5664         dependency when grepping for a rule.
5665         * tests/lex-subobj-nodep.test: New test.
5666         * tests/Makefile.am (TESTS): Update.
5667         * THANKS: Update.
5668         Report by Ignacy Gawedzki.
5669
5670         Fix locale issue in check-exported-srcdir.test.
5671         * tests/check-exported-srcdir.test: Reformulate glob to not fail
5672         in a locale that ignores or interleaves character case.
5673
5674 2011-04-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5675
5676         docs: better visibility for aclocal in the index
5677         * doc/automake.texi (@menu): Rename title for entry 'configure'
5678         from "Scanning configure.ac or configure.in" to the more precise
5679         "Scanning configure.ac, using aclocal".
5680         (@detailmenu): Adjust.
5681         (@node configure): Adjust, and extend @cindex calls accordingly.
5682         * THANKS: Update.
5683         From a report by Maynard Johnson.
5684
5685 2011-03-30  Stefano Lattarini  <stefano.lattarini@gmail.com>
5686
5687         tests: improve tests on "maintainer-clean" target
5688         * tests/aclocal6.test: Move checks related to "maintainer-clean"
5689         functionalities into ...
5690         * tests/maintclean-vpath.test: ... this new test.
5691         * tests/maintclean.test: Update heading comments.  Extend to also
5692         test subdirs.  Remove useless disabling of YACC.  Fix m4 quoting
5693         in configure.in.  Add a trailing `:' command.  Remove extra blank
5694         lines.
5695         * tests/Makefile.am (TESTS): Update.
5696
5697 2011-03-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5698
5699         tests: fix unindent to use printf not echo for script.
5700         * tests/defs.in: Use printf rather than echo, as the latter may
5701         interpret the backslashes in the sed script.  Fixes test
5702         failures with dash as /bin/sh.
5703
5704 2011-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
5705             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5706
5707         maintcheck: look for problematic names of testcases
5708         The configure.in stub created by default by `tests/defs' obtains
5709         the first argument of AC_INIT from the test name, and this can
5710         cause some supported autoconf versions to fail with a spurious
5711         error if that test name contains the name of an m4 or m4sugar
5712         builtin or macro (e.g., `defn' or `m4_undefine').
5713         See for example the bug fixed by commit v1.11-287-g1325a8a.
5714         This change add a maintainer check that warns about test names
5715         which are possibly problematic in this regard.
5716         * Makefile.am (sc_test_names): New maintainer-check target.
5717         (syntax_check_rules): Add it.
5718         (m4_builtins): New helper variable.
5719         (TESTS): Updated according to the following renamings.
5720         * tests/include.test: Renamed ...
5721         * tests/hdr-vars-defined-once.test: ... to this.
5722         * tests/sinclude.test: Renamed ...
5723         * tests/m4-inclusion.test: ... to this, and simplified
5724         accordingly.
5725         * tests/include2.test: Renamed ...
5726         * tests/dist-included-parent-dir.test: ... to this, for
5727         consistency.
5728
5729 2011-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
5730
5731         tests: fix bug in alloca*.test
5732         * tests/alloca.test: Make grepping of automake stderr stricter,
5733         add a trailing `:' command; also, add AC_PROG_CC to configure.in,
5734         and create a dummy alloca.c file, to ensure that we fail for the
5735         proper reason.
5736         * tests/alloca2.test: Likewise.  Also, look for LT_INIT, not
5737         AC_PROG_LIBTOOL, in the error message (bug introduced with commit
5738         v1.11-315-gd51e7b7 "libtool: suggest LT_INIT if LTLIBRARIES
5739         primary is used").
5740         From a report by Patrick Welche.
5741
5742 2011-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
5743
5744         cosmetics: better use of m4 quoting and m4sugar macros
5745         * m4/dmalloc.m4: Better use of m4 quoting.  Bump serial number.
5746         * m4/gcj.m4: Likewise.
5747         * m4/init.m4: Likewise.
5748         * m4/install-sh.m4: Likewise.
5749         * m4/lex.m4: Likewise.
5750         * m4/multi.m4: Likewise.
5751         * m4/option.m4: Likewise.
5752         * m4/python.m4: Likewise.
5753         * m4/sanity.m4: Likewise.
5754         * m4/cond.m4: Likewise.  Also, prefer the m4sugar macro 'm4_if'
5755         over the plain m4 macro 'ifelse'.
5756         * m4/depend.m4: Likewise.
5757
5758 2011-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
5759
5760         tests: add test about deprecated use of AC_INIT
5761         * tests/deprecated-acinit.test: New test, check that automake
5762         and autoconf complain about an old-style AC_INIT call used with
5763         a new-style AM_AUTOMAKE_INIT call.
5764         * tests/Makefile.am (TESTS): Update.
5765
5766 2011-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
5767
5768         tests: fix bug (comments-in-var-defn.test + autoconf 2.62)
5769         * tests/comments-in-var-defn.test: The configure.in stub created
5770         by default, which has the AC_INIT first argument obtained by the
5771         test name, causes autoconf 2.62 to fail with a spurious error
5772         message like: "configure.in:1: error: defn: undefined macro:".
5773         Thus, to prevent this, the test is renamed to ...
5774         * tests/comments-in-var-def.test: ... this.
5775         * tests/Makefile.am (TESTS): Updated.
5776
5777 2011-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
5778
5779         cosmetics: convert encoding from ISO-8859 to UTF-8
5780         * ChangeLog.03: Convert encoding to UTF-8.
5781         * ChangeLog.96: Likewise.
5782         * ChangeLog.98: Likewise.
5783         * NEWS: Likewise.
5784         * TODO: Likewise.
5785
5786 2011-03-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5787
5788         tests: extend checks on the 'unindent' shell function
5789         * tests/self-check-unindent.test: Also check that multiple
5790         instances of 'unindent' can run in parallel (this was not
5791         the case when that function used temporary files).
5792
5793 2011-03-01  Peter Rosin  <peda@lysator.liu.se>
5794
5795         test defs: unindent without temporary file
5796         * tests/defs.in (commented_sed_unindent_prog): Commented Sed program
5797         that strips the "proper" amount of leading whitespace.
5798         (unindent): Lazily strip comments from the above program and use it
5799         to unindent without using a temporary file.
5800
5801 2011-02-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
5802
5803         libtool: suggest LT_INIT if LTLIBRARIES primary is used
5804         When the LTLIBRARIES primary was used, but $(LIBTOOL) wasn't
5805         defined, automake suggested to add a call to AC_PROG_LIBTOOL
5806         in configure.ac.  But that macro is deprecated since Libtool
5807         version 1.9b (2004-08-29), in favor of the newer LT_INIT.  So
5808         suggest the use of this latter macro instead.
5809         * lib/Automake/Variable.pm (%_am_macro_for_var): Pair 'LIBTOOL'
5810         with 'LT_INIT', not with 'AC_PROG_LIBTOOL'.
5811         * tests/libtool4.test: Adjust and extend.  Also, add a call to
5812         macro AC_PROG_CC in configure.in, to help ensuring that automake
5813         does not fail for the wrong reasons.
5814         * tests/ltinit.test: New test, ensure that automake's libtool
5815         support works with LT_INIT-based interface.
5816         Thanks to Jack Kelly for the suggestion.
5817
5818 2011-02-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
5819
5820         tests: add testcases sanity-checking the testsuite
5821         Helper subroutines, variables and other pieces of code defined
5822         in the `tests/defs' and used by many testcases are non-obvious,
5823         and tricky to get to work portably; but until now, they weren't
5824         tested at all in a clear and self-contained way.
5825         This change should remedy to the situation.
5826         * tests/self-check-cleanup.test: New test, check removal of
5827         temporary test working directory by `./defs'.
5828         * tests/self-check-dir.test: New test, check that tests using
5829         `./defs' create a proper temporary directory, and run in it.
5830         * tests/self-check-exit.test: New test, check that, in case of
5831         failing commands, the correct exit status is passed to the exit
5832         trap installed by the `./defs' script.
5833         * tests/self-check-is_newest.test: New test, checking the
5834         `is_newest' subroutine.
5835         * tests/self-check-me.test: New test, checking that $me gets
5836         defined automatically by `tests/defs' if not set, and that it
5837         can be overridden from either the shell or the environment.
5838         * tests/self-check-sanity.test: New test, check that the sanity
5839         checks performed by the `tests/defs' script works correctly.
5840         * tests/self-check-unindent.test: New test, checking the
5841         `unindent' subroutine.
5842         * tests/Makefile.am (TESTS): Update.
5843
5844 2011-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
5845
5846         tests: tempdirs with restrictive permissions are cleaned correctly
5847         Before this change, the removal of a temporary test directory
5848         containing subdirectories with restrictive permissions (such as
5849         'r--r--r--') could fail.
5850         * tests/defs: Ensure that all the subdirectories of a temporary
5851         test directory have the 'read', 'write' and 'execute' bits set,
5852         before trying to remove it with `rm -rf'.
5853         * tests/Makefile.am (clean-local-check): Likewise.
5854
5855 2011-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5856             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5857
5858         test defs: add subroutine for input unindenting
5859         * tests/defs.in (unindent): New subroutine.
5860         * tests/instspc-tests.sh: Use it.
5861
5862 2011-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
5863
5864         python: report the 'PYTHON' influential environment variable
5865         * m4/python.m4 (AM_PATH_PYTHON): Call AC_ARG_VAR on PYTHON.
5866         * doc/automake.texi (Python): Update and extend.
5867         * tests/help-python.test: New test.
5868         * tests/Makefile.am (TESTS): Update.
5869         * THANKS (Jack Kelly): Update e-mail address.
5870         Suggestion by Jack Kelly.
5871
5872 2011-02-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
5873
5874         tests defs: clear TESTS_ENVIRONMENT variable
5875         * tests/defs.in (TESTS_ENVIRONMENT): Unset it, so that values
5876         from environment won't interfere with the testcases.
5877         Suggestion by Ralf Wildenhues.
5878
5879 2011-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
5880
5881         tests: `instspc-*.test': do not create useless source file
5882         * tests/instspc-tests.sh (create_input_data): Do not create
5883         unused source file `source2.c'.
5884
5885 2011-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
5886
5887         tests: optimize `instspc-*.test' for speed
5888         After the split of `instspc.test' into various generated tests,
5889         the running time of the testsuite has noticeably increased, since
5890         all these new generated tests must run aclocal, autoconf and
5891         automake, whereas previously they were run only once (at the
5892         beginning of `instspc.test').  But luckily, since the new tests
5893         share the same input files for the autotools, this situation can
5894         be easily worked around (at the expenses of a slight increase of
5895         complexity for the testsuite scaffolding).
5896         * tests/instspc-data.test: New helper test, properly calling
5897         the `instspc-tests.sh' script to generate input data for the
5898         others `instspc-*.test' tests.
5899         * tests/Makefile.am (TESTS): Add `instspc-data.test'.
5900         ($(instspc_tests:.test=.log)): Depend on its log file.
5901         (instspc-data.log): Depend on `instspc-tests.sh'.
5902         * tests/instspc-tests.sh: Recognize new action `generate-data',
5903         and use it to create hand-written and autotools-generated static
5904         files shared by all the `instspc-*.test' tests.
5905         When sourced by the `instspc-*.test' tests, use those previously
5906         created files instead of recreating them from scratch.
5907         (unindent, create_input_data): New subroutines.
5908         Some other related changes and refactorings.
5909         From a suggestion by Ralf Wildenhues.
5910
5911 2011-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
5912
5913         python: fix spurious failure in tests
5914         * tests/python-vars.test: Ignore cached values from config.site
5915         by exporting CONFIG_SITE=/dev/null.  Be laxer in matching the
5916         expected values of output variables `pythondir' and `pyexecdir',
5917         since they can change quite unpredictably among different python
5918         installations.  Also, avoid "hyping" debugging output, thus
5919         offering smaller trace output and more informative diff.
5920         Report and suggestions by Ralf Wildenhues.
5921         * tests/python-virtualenv.test: Require python, since we call it
5922         even after the virtualenv has been deactivated.  Ignore cached
5923         values from config.site by exporting CONFIG_SITE=/dev/null.
5924
5925 2011-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
5926
5927         tests: tweak few tests on simple and parallel test drivers
5928         * tests/check-exported-srcdir.test: Improve heading comments.
5929         * tests/check-tests-in-builddir.test: Likewise.  Also, unset the
5930         `FOO_EXIT_STATUS' variable, so that any pre-existing value in the
5931         environment won't risk to interfere with the test.
5932         Suggestions by Ralf Wildenhues.
5933
5934 2011-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
5935
5936         python: extend and improve tests, fix minor glitches
5937         * m4/python.m4 (AM_PATH_PYTHON): Ensure the "checking ..." messages
5938         from configure are always complete, even in case of failure.  Tiny
5939         cosmetic improvement in info/error messages.
5940         * tests/python.test: Also check that automake complains if the
5941         PYTHON primary is used but the `py-compile' script is not present.
5942         Make grepping of generated Makefile.in laxer w.r.t. whitespace.
5943         Add trailing `:' command.
5944         * tests/python2.test: Remove repeated calls aclocal: they are
5945         useless because configure.in is never modified.  Make grepping
5946         of automake stderr more comprehensive.  Remove the pre-existing
5947         `py-compile' file before trying to install it with `--add-missing'.
5948         Add trailing `:' command.
5949         * tests/python3.test: Add trailing `:' command.
5950         * tests/python11.test: Likewise.
5951         * tests/python4.test: Likewise.  Also, try to pass PYTHON config
5952         variable to configure from the environment, rather than only from
5953         the command line.
5954         * tests/python5.test: Ensure that the "checking ..." messages from
5955         configure are always complete.  Use proper m4 quoting.  Add a
5956         trailing `:' command.
5957         * tests/python6.test: Simplify test logic, by checking for files
5958         created by configure rather then grepping its output.
5959         * tests/python7.test: Likewise.
5960         * tests/python8.test: Also check that `$PYTHON' is meaningfully
5961         set in the ACTION-IF-TRUE argument of AM_PATH_PYTHON.
5962         * tests/python9.test: Likewise.
5963         * tests/python10.test: Add trailing `:' command.
5964         (Makefile.am): Declare `disttest' target as `.PHONY', and add
5965         an `ls -l' to its recipe, for debugging.
5966         * tests/nobase-python.test: In testing "make uninstall" and
5967         "make install" results, prefer idioms that make verbose logs
5968         more helpful.  Remove a couple of lines of dead code.  Add a
5969         trailing `:' command.
5970         * tests/python5b.test: New test, checking that configure performs
5971         the check on the python version even when the choice of the python
5972         interpreter is forced by the user.
5973         * tests/python-dist.test: New test, checking the distribution of
5974         *_PYTHON files.
5975         * tests/python-vars.test: New test, checking that AM_PATH_PYTHON
5976         correctly set all the output variables advertised in the manual.
5977         * tests/python-virtualenv.test: New test, checking that python
5978         support offered by automake works well with "virtual python
5979         environments" created by the `virtualenv' program.
5980         * tests/instdir-prog.test: Also check `$(pyexecdir)'.  Existing
5981         checks made slightly stricter.
5982         * tests/instdir-prog.test: Also check `$(pyexecdir)'.  Existing
5983         * tests/instdir-ltlib.test: Likewise.
5984         * tests/Makefile.am (TESTS): Update.
5985
5986 2011-02-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
5987
5988         coverage: more tests on simple and parallel test drivers
5989         * tests/parallel-tests-subdir.test: New test.
5990         * tests/check-exported-srcdir.test: Likewise.
5991         * tests/check-tests-in-builddir.test: Likewise.
5992         * tests/check-tests_environment.test: Likewise.
5993         * tests/Makefile.am (TESTS): Update.
5994
5995 2011-01-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
5996
5997         tests: fix spurious failures in lflags*.test
5998         * tests/lflags.test: Remove 'LEX' from the environment, so
5999         that it won't be erroneously picked up by `make -e'.
6000         * tests/lflags2.test: Likewise.
6001
6002 2011-01-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
6003
6004         docs: color-tests issues with parallel make
6005         * doc/automake.texi (Simple Tests): Document that automatic
6006         recognition of a capable terminal attached to stdout can fail
6007         with some make implementation when running in parallel mode,
6008         thus causing colored test output not to be automatically
6009         activated when it should.
6010
6011 2011-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
6012
6013         coverage: test semantics of "dummy" per-target flags
6014         * tests/specflg-dummy.test: New test, ensuring that even "dummy"
6015         per-target flags triggers the use of renamed objects.
6016         * tests/Makefile.am (TESTS): Update.
6017         Suggestion by Ralf Wildenhues.
6018
6019 2011-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
6020
6021         tests defs: sanitize IFS
6022         * tests/defs ($IFS): Define to <space>, <tab>, <newline>.
6023         ($sp): New variable, holding a single whitespace character.
6024         ($tab): New variable, holding a tabulation character.
6025         ($nl): New variable, holding a newline character.
6026
6027 2011-01-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6028
6029         tests: avoid instspc* failures due to make's whitespace trimming
6030         * tests/instspc-tests.sh: Prepend './' when passing the test
6031         characters, to avoid leading whitespace characters to be trimmed
6032         from macros set from environment variables.  Fixes testsuite
6033         failures with HP-UX and Tru64/OSF make.
6034
6035 2011-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6036
6037         tests: fix VPATH auto-expansion workarounds.
6038         * tests/suffix10.test, tests/suffix11.test, tests/suffix12.test,
6039         tests/suffix3.test, tests/suffix5.test, tests/suffix8.test:
6040         Ensure $< is not surrounded by white space, to prevent Solaris
6041         make from applying automatic VPATH text expansion.
6042
6043         tests: fix VPATH auto-expansion workarounds.
6044         * tests/parallel-tests8.test, tests/suffix13.test:
6045         Ensure $< is not surrounded by white space, to prevent Solaris
6046         make from applying automatic VPATH text expansion.
6047
6048 2011-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
6049
6050         tests: fix spurious failures in yflags*.test
6051         * tests/yflags.test: Remove 'YACC' from the environment, so
6052         that it won't be erroneously picked up by `make -e'.
6053         * tests/yflags2.test: Likewise.
6054
6055 2011-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6056
6057         tests: avoid fn99*.test failures due to buggy AIX 5.3 cp -R.
6058         * tests/fn99.test, tests/fn99subdir.test: Skip if an initial
6059         `cp -R' of the subdir tree already fails; AIX 5.3 cp messes
6060         up its internal memory when copying this tree.
6061
6062 2011-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6063             Stefano Lattarini  <stefano.lattarini@gmail.com>
6064
6065         Add comment to check-TESTS rule working around make 3.80 bug.
6066         * lib/am/check.am (check-TESTS): Update comment.
6067
6068 2011-01-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6069
6070         tests: less strict double-colon spy.test again.
6071         * tests/spy.test: We know BSD make doesn't invoke more than one
6072         double-colon rule, so no need to expose that failure.
6073
6074 2011-01-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6075
6076         install-sh: avoid Tru64 sh `test' operator precedence issues.
6077         * lib/install-sh: Protect file names and directory components
6078         that consist of `=', `(', `)', or `!'.  Move protection as early
6079         as possible, to avoid errors such as with Tru64 sh `test -z ='.
6080         * tests/instsh2.test: Extend test to cover more possibilities.
6081         Fixes 1.12 instspc-equal-install.test failure on Tru64/OSF 5.1.
6082
6083 2011-01-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
6084             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6085
6086         docs: automake testsuite doesn't use TESTS_ENVIRONMENT anymore
6087         * doc/automake.texi (Simple Tests): Do not claim Automake uses
6088         TESTS_ENVIRONMENT for the perl driver.  Instead, point to the
6089         parallel-tests driver.
6090
6091 2011-01-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6092
6093         tests: check for presence of cscope with redirected input.
6094         * tests/defs: Add required test for cscope.
6095         Fixes cscope3.test hang with Sun C 5.9 cscope.
6096
6097         tests: avoid false failure in cygnus-dependency-tracking.test.
6098         * tests/cygnus-dependency-tracking.test: Be less restrictive
6099         when grepping the compiler error message, GCC 3.4.6 on FreeBSD
6100         does not mention an undefined symbol.
6101
6102 2011-01-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6103
6104         tests: revert not turning off errexit in instspc-test.sh
6105         * tests/instspc-tests.sh: Turn off errexit while sourcing defs,
6106         the scripts might still not be clean.
6107
6108 2011-01-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6109
6110         tests: work around Tru64 sh -e issues for instspc*.test.
6111         Apparently, Tru64 sh does not like turning off errexit mode,
6112         and gets confused.
6113         * tests/defs: Document 'errexit' cleanliness requirement.
6114         * tests/defs-static.in: Likewise.  Avoid error from command
6115         substitution to abort instspc*.test with Tru64/OSF 5.1 sh.
6116         * tests/instspc-tests.sh: Drop now-unneeded temporary errexit
6117         dropping.  Add strategic '|| Exit' to let tests work on Tru64.
6118
6119 2011-01-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6120
6121         Allow _AM_DEPENDENCIES to be used later in configure.
6122         * m4/depend.m4 (_AM_DEPENDENCIES): Remove a previously existing
6123         conftest.dir before recreating it.
6124         Fixes bug#7864.
6125         Report by Eric Blake, from report by Scott McCreary against M4.
6126
6127 2011-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6128
6129         tests: avoid failure on w32 file systems.
6130         * tests/parallel-tests-unreadable-log.test: SKIP if file cannot
6131         be turned unreadable.
6132
6133 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6134
6135         tests: allow double-colon spy.test to work with HP-UX make.
6136         * tests/spy.test: Fix comment typos.  Ensure prerequisites we
6137         do not want to depend on are strictly older than the target.
6138         Also test with a target out of date wrt. more than one rule.
6139
6140 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6141
6142         Avoid local $_ perl variable, for Perl before 5.9.1.
6143         * lib/Automake/Options.pm (_process_option_list): Do not
6144         lexically localize $_.  Fixes bootstrap on AIX 5.1.
6145         Bug introduced in commit `v1.11-622-gf90a06c'.
6146
6147 2011-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
6148
6149         tests: remove useless requirements from cond36.test
6150         * tests/cond36.test ($required): Remove.
6151         Since we are at it, add a trailing `:' command.
6152
6153 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6154
6155         tests: avoid failing command substitution in errexit mode.
6156         * tests/vartypo2.test, tests/vartypos.test: Rewrite to not use
6157         a command substitution with a nonzero exit status, that causes
6158         IRIX and Tru64/OSF sh to fail the whole test.
6159
6160 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6161             Stefano Lattarini  <stefano.lattarini@gmail.com>
6162
6163         parallel-tests: work around Tru64/OSF 5.1 sh read bugs.
6164         * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
6165         Test file readability before redirecting input from it, to avoid
6166         exiting Tru64/OSF 5.1 sh which treats read as special builtin.
6167         * tests/parallel-tests-unreadable-log.test: New test.
6168         * tests/Makefile.am (TESTS): Update.
6169         * NEWS: Update.
6170
6171 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6172
6173         * NEWS, README: Update copyright years.
6174
6175 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
6176
6177         tests: hard error in case of internal failures or signal caught
6178         * tests/defs: Exit with status 99 (hard error) rather than
6179         1 (failure) on unexpected/internal errors, or when a signal
6180         is caught by the client script.
6181
6182         Tests defs: don't let useless variables leak in test scripts.
6183         * tests/defs ($priv_check_temp, $overwrite_status, $ro_dir_temp,
6184         $create_status, $r2h, $libtool_found, $gettext_found, $aclocaldir,
6185         $extra_includes): Unset once they've served their purpose.
6186
6187 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6188
6189         Fix parallel-tests.test failure with HP-UX make.
6190         * tests/parallel-tests.test: Sleep inside inner tests, so logs
6191         are newer than logs of tests they depend on, for HP-UX make.
6192
6193 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6194
6195         docs: ensure example are separated with empty lines in the input
6196         * doc/automake.texi (Extending aclocal, Emacs Lisp, Rebuilding)
6197         (API Versioning, Renamed Objects, Multiple Outputs): Add empty
6198         lines before `@example' and after `@end example' lines, so info
6199         output is rendered correctly, and a following @noindent honored.
6200         Report by Stefano Lattarini.
6201
6202 2011-01-15  Jim Meyering <meyering@redhat.com>
6203
6204         tests: fix comment typo
6205         * tests/substref.test: Fix grammar in a comment.
6206
6207 2011-01-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6208
6209         tests: fix spurious failures in two texinfo tests
6210         * tests/txinfo.test ($required): Add 'makeinfo'.
6211         * tests/txinfo8.test: Create a dummy 'textutils.info' file, so
6212         that make won't try to run makeinfo (which could be unavailable)
6213         to build it.
6214         Found by NixOS Hydra, reported by Ralf Wildenhues.
6215
6216 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
6217
6218         Update docs w.r.t. warning and strictness options.
6219         * doc/automake.texi (Strictness): Document that some warnings are
6220         turned off by default in `foreign' strictness.
6221         (Options): Divide into new sections "Options generalities" and
6222         "List of Automake options".  Fix typo (colon instead of full
6223         stop).  Document option precedence (AUTOMAKE_OPTIONS wins over
6224         AM_INIT_AUTOMAKE which wins over command line).  Also document
6225         interactions between options specifying strictness and those
6226         specifying warnings.
6227
6228         More tests on warnings/strictness precedence.
6229         * tests/warning-groups-win-over-strictness.test: New test, similar
6230         to `warnings-win-over-strictness.test', but checking the explicit
6231         catch-all warning flags (like `-Wall' and `-Wnone').
6232         * tests/Makefile.am (TESTS): Update.
6233
6234         Update NEWS about the warnings-over-strictness precedence.
6235         * NEWS: Automake explicit warning levels always take precedence
6236         over the implicit warning levels implied by Automake strictness.
6237
6238         For PR automake/547:
6239         Warnings win over strictness in AUTOMAKE_OPTIONS.
6240         Ensure that, for what concerns the options specified in
6241         AUTOMAKE_OPTIONS, explicitly-defined warnings always take
6242         precedence over implicit strictness-implied warnings.
6243         This finally fixes Automake bug#7669 a.k.a. PR/547.
6244         * automake.in (handle_options): Call 'process_option_list'
6245         only once per set of options.
6246         * lib/Automake/Options.pm (process_global_option_list,
6247         process_option_list): Add sanity checks.
6248         ($_options_processed, $_global_options_processed): New
6249         internal variables, used by the sanity checks above.
6250         * tests/warnings-win-over-strictness.test: Extend.
6251
6252         For PR automake/547:
6253         Change signature of 'Automake::Options::_process_option_list()'.
6254         This only modifies internal details in the automake implementation,
6255         bearing no externally visible effect, but preparing the way for the
6256         final fix of Automake bug#7669 a.k.a. PR/547.
6257         * lib/Automake/Options.pm (_process_option_list): Accept as
6258         arguments a list of hash references with keys 'option' and 'where',
6259         where 'option' is an option as might occur in AUTOMAKE_OPTIONS or
6260         AM_INIT_AUTOMAKE, and 'where' is the location where it occurred.
6261         (process_option_list, process_global_option_list): Updated.
6262         * automake.in (handle_options, scan_autoconf_traces): Update.
6263
6264         Add more tests about AUTOMAKE_OPTIONS.
6265         In view of soon-to-follow refactorings (still in the pursuit of a
6266         fix for Automake bug#7669 a.k.a. PR/547), add some more tests on
6267         AUTOMAKE_OPTIONS support, to prevent obvious regressions.
6268         * tests/amopts-variable-expansion.test: New test.
6269         * tests/amopts-location.test: Likewise.
6270         * tests/Makefile.am (TESTS): Update.
6271
6272         For PR automake/547:
6273         Warnings win over strictness in AM_INIT_AUTOMAKE.
6274         This change ensures that, for what concerns the options specified
6275         in AM_INIT_AUTOMAKE,  explicitly-defined warnings always take
6276         precedence over implicit strictness-implied warnings.  Related to
6277         Automake bug#7669 a.k.a. PR/547.
6278         * lib/Automake/Options.pm (_process_option_list): Parse explicit
6279         warnings only after the strictness level has been set.  Fix POD
6280         documentation.
6281         * tests/warnings-win-over-strictness.test: Extend.
6282
6283         For PR automake/547:
6284         Warnings win over strictness on command line.
6285         Ensure that, on the command line at least, explicitly defined
6286         warnings always take precedence over implicit strictness-implied
6287         warnings.  Related to Automake bug#7669 a.k.a. PR/547.
6288         * automake.in (parse_arguments): Parse warnings only after the
6289         strictness level has been processed.
6290         * tests/gnuwarn.test: Update, plus miscellaneous improvements.
6291         * tests/warnings-win-over-strictness.test: New test.
6292         * tests/Makefile.am (TESTS): Update.
6293
6294         More tests on warnings and strictness.
6295         * tests/warnings-strictness-interactions.test: New test.
6296         * tests/warnings-unknown.test: Likewise.
6297         * tests/Makefile.am (TESTS): Update.
6298
6299         New test on silent-rules mode and portability warnings.
6300         * tests/silent-nowarn.test: New test.
6301         * tests/Makefile.am (TESTS): Update.
6302
6303         Add new tests on strictness and warnings precedence and overriding.
6304         * tests/strictness-override.test: New test.
6305         * tests/strictness-precedence.test: New test.
6306         * tests/warnings-override.test: New test.
6307         * tests/warnings-precedence.test: New test.
6308         * tests/Makefile.am (TESTS): Update.
6309
6310 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6311
6312         Fix remake rule-induced test failures with HP-UX make.
6313         * tests/remake1a.test: Require GNU make.
6314
6315 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6316
6317         Fix remake rule-induced test failures with HP-UX make.
6318         * tests/colon6.test: Update timestamp of subdir Makefile, so we
6319         do not spuriously invoke the nonexistent toplevel am--refresh
6320         rule.
6321
6322         tests: fix typos in colon6.test
6323         * tests/colon6.test: Fix typos.
6324
6325 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6326             Stefano Lattarini  <stefano.lattarini@gmail.com>
6327
6328         tests: explain MSYS setup failure issue, improve test.
6329         * tests/defs: Add comment and failure message, improve fail
6330         logic.
6331
6332 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6333
6334         Fix libobj2.test failure with non-GNU make: define $(AR).
6335         * tests/libobj2.test: Ensure $(AR) is suitably defined.
6336
6337 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6338
6339         tests: avoid spurious failures due to fork failure in test setup
6340         * tests/defs: Ensure $me is always nonempty, to avoid spurious
6341         failures on MinGW/MSYS in case the preceding sed command could
6342         not be spawned.
6343
6344         Avoid configure warnings from wait about reused PIDs.
6345         * m4/sanity.m4 (AM_SANITY_CHECK): Hide wait stderr output.
6346         Fixes spurious failure of depcomp2.test.
6347
6348 2011-01-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6349
6350         Avoid testsuite failures due to Autoconf Fortran change.
6351         Autoconf v2.68-21-g727ce95 causes AC_F77_LIBRARY_LDFLAGS to
6352         require computing the canonical host name.  Ensure config.guess
6353         and config.sub files are present for respective checks.
6354         * tests/compile_f_c_cxx.test: Add stub files.
6355         * tests/flibs.test: Likewise.
6356         * tests/fort4.test: Use $AUTOMAKE -a for installing files.
6357
6358 2011-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
6359
6360         docs: clustered '-d' not recognized in YFLAGS
6361         This change fixes automake bug#7828.
6362         * doc/automake.texi (Yacc and Lex): Document that automake
6363         recognizes '-d' in AM_YFLAGS only if it's not clustered with
6364         other options.
6365         From a report by Юрий Пухальский.
6366
6367 2011-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
6368
6369         tests: add checks on automatically-distributed files
6370         Related to automake bug#7819.
6371         * tests/autodist.test: New test.
6372         * tests/autodist-subdir.test: Likewise.
6373         * tests/autodist-acconfig.test: Likewise.
6374         * tests/autodist-acconfig-no-subdir.test: Likewise.
6375         * tests/autodist-aclocal-m4.test: Likewise.
6376         * tests/autodist-config-headers.test: Likewise.
6377         * tests/autodist-configure-no-subdir.test: Likewise.
6378         * tests/autodist-stamp-vti.test: Likewise.
6379         * tests/Makefile.am (TESTS): Update.
6380
6381 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
6382
6383         tests: do not force yacc-requiring tests to use bison
6384         * tests/defs.in: New required entry 'yacc'.  Remove old
6385         required entry 'bison'.
6386         * tests/cond35.test ($required): Require yacc, not bison.
6387         * tests/cond36.test: Likewise.
6388         * tests/pr204.test: Likewise.
6389         * tests/silent-many-gcc.test: Likewise.
6390         * tests/silent-many-generic.test: Likewise.
6391         * tests/silent-yacc-gcc.test: Likewise.
6392         * tests/silent-yacc-generic.test: Likewise.
6393         * tests/subpkg.test: Likewise.
6394         * tests/suffix10.test: Likewise.
6395         * tests/yacc-basic.test: Likewise.
6396         * tests/yacc-clean.test: Likewise.
6397         * tests/yacc-d-basic.test: Likewise.
6398         * tests/yacc-d-vpath.test: Likewise.
6399         * tests/yacc-dist-nobuild.test: Likewise.
6400         * tests/yacc-nodist.test: Likewise.
6401         * tests/yacc4.test: Likewise.
6402         * tests/yacc6.test: Likewise.
6403         * tests/yacc7.test: Likewise.
6404         * tests/yacc8.test: Likewise.
6405         * tests/yaccdry.test: Likewise.
6406         * tests/yaccvpath.test: Likewise.
6407
6408 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
6409
6410         tests: more consistent checks about invalid options
6411         * tests/aclocal.test: Grepping of automake stderr for messages
6412         reporting invalid options made stricter.
6413         * tests/no-outdir-option.test: Likewise.  Also, create a dummy
6414         `Makefile.am', to ensure that the automake failures are really
6415         caused only by unrecognized options.
6416         * tests/automake.test: Added trailing `:' command.  Removed
6417         redundant checks on `--help' and `--version' option (already
6418         performed in the test `help*.test').
6419
6420 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
6421
6422         tests: enable 'errexit' shell flag by default.
6423         * tests/defs: Enable `errexit' shell flag (near the end).
6424         Removed redundant comment about the enabling of shell traces.
6425         * tests/README (Writing test cases): Update, and use nicer
6426         formatting in a couple of places.
6427         * All tests: Adjusted by removing now-redundant calls to
6428         'set -e'.
6429
6430 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
6431
6432         tests: work around a texi+cygnus bug causing a spurious XFAIL
6433         * tests/txinfo5b.test: New test, like txinfo5.test but calling
6434         automake with the `-Wno-override' option to work around a bug
6435         in the texinfo + cygnus interaction.
6436         * tests/txinfo5.test: Update heading comments.
6437         * tests/Makefile.am (TEST): Updated.
6438
6439 2011-01-09  Dave Hart  <davehart@gmail.com>  (tiny change)
6440
6441         Fix another typo in Rule.pm comment.
6442         * lib/Automake/Rule.pm: Fix typo.
6443
6444 2011-01-09  Peter Rosin  <peda@lysator.liu.se>
6445
6446         Fix another typo in Rule.pm comment.
6447         * lib/Automake/Rule.pm: Fix typo.
6448
6449 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
6450
6451         tests: texinfo unrecognized extensions
6452         * tests/txinfo-unrecognized-extension.test: New test.
6453         * tests/Makefile.am (TESTS): Update.
6454
6455         Improve, extend and tweak tests on Texinfo support.
6456         * tests/instdir-texi.test: Add a call to `ls -l' after that to
6457         `make', for debugging.  When looking for required tools, do not
6458         redirect the output of "$tool --help" to /dev/null, and do not
6459         uselessly run it in a subshell.
6460         * tests/txinfo.test: Rewritten to run autoconf, ./configure and
6461         make.  All checks moved into Makefile.am.
6462         * tests/txinfo8.test: Likewise, and modernize the generated
6463         configure.in.
6464         * tests/txinfo2.test: Moved checks into Makefile.am, and other
6465         minor improvements.
6466         * tests/txinfo5.test: Enable `errexit' shell flag, and related
6467         changes.  Add trailing `:' command.
6468         * tests/txinfo6.test: Likewise, and make grepping of generated
6469         Makefile.in stricter.
6470         * tests/txinfo7.test: Enable `errexit' shell flag, and related
6471         changes.  Add trailing `:' command.  Do not add unnecessary stuff
6472         to Makefile.am.
6473         * tests/txinfo9.test: Verify that more targets which are expected
6474         to be generated only once really are.  Make grepping less strict,
6475         to avoid exposing too much internal details.  More minor changes.
6476         * tests/txinfo16.test: Add trailing `:'.  Prefer cat over echo
6477         for appending to configure.in.  Updated/fixed heading comments.
6478         * tests/txinfo23.test: Likewise, and extended a little by making
6479         it check that no info file is created in the $(srcdir).
6480         * tests/txinfo24.test: Likewise.
6481         * tests/txinfo25.test: Likewise.
6482         * tests/txinfo18.test: Add trailing `:'.  Prefer cat over echo
6483         for appending to configure.in.  Also, check that index files are
6484         cleaned also by "make clean", not only by "make distclean".
6485         * tests/txinfo22.test: Prefer `$me' over hard-coded test name,
6486         and added trailing `:' command.  This testcase also used to check
6487         that automake ignores in-line comments when using variables, but
6488         preserves them in the output; these checks (added in commit
6489         "Release-1-7f-4-g9177ef8") do not really pertain to this test,
6490         so they have been moved ...
6491         * tests/comments-in-var-defn.test: ... into this new test.
6492         * tests/txinfo4.test: Escape literal dots in grep regexps.  Add
6493         trailing `:' command.
6494         * tests/txinfo29.test: Likewise.  Relax grepping of generated
6495         Makefile.in w.r.t. whitespaces.  Prefer `cat' over `echo' to
6496         append to configure.in.
6497         * tests/txinfo3.test: Likewise.
6498         * tests/vtexi.test: Improve grepping of Makefile.in (sometimes
6499         make it stricter, sometimes laxer).  Move `set -e' setting just
6500         after the inclusion of ./defs.  De-uglify a sed command.  Other
6501         minor cosmetic improvements.
6502         * tests/vtexi2.test: Make grepping of Makefile.in stricter.  Add
6503         trailing `:' command.
6504         * tests/vtexi3.test: New test on version.texi support.
6505         * tests/vtexi4.test: Likewise.
6506         * tests/Makefile.am (TESTS): Updated.
6507
6508 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
6509
6510         tests: fix spurious failure in 'tests/yflags-conditional.test'
6511         * tests/yflags-conditional.test: Filter out message "warnings are
6512         treated as errors" from automake stderr, to avoid a false positive
6513         when grepping for extraneous warning messages.
6514
6515 2011-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
6516
6517         yacc: warn about conditional content in *YFLAGS variables
6518         This change fixes automake bug#7804.
6519         * automake.in (lang_yacc_target_hook): Warn if any of the relevant
6520         *YFLAGS variables has conditional contents (not only a conditional
6521         definition).  Related refactoring.
6522         * NEWS: Updated.
6523         * tests/yflags-conditional.test: Updated and extended.
6524         * tests/yflags-conditional-force.test: New test.
6525         * tests/Makefile.am (TESTS): Updated.
6526
6527 2011-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6528
6529         yacc: support variable expansions in *YFLAGS definition.
6530         This change fixes automake bug#7800.
6531         * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
6532         instead of 'variable_value' to get the value of *YFLAGS variables.
6533         Related changes.
6534         ($DASH_D_PATTERN): Removed.
6535         * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
6536         * tests/yacc-clean.test: Remove workaround for now-fixed bug.
6537         * NEWS: Update.
6538
6539 2011-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6540
6541         yacc: more tests on *YFLAGS support
6542         * tests/yflags-var-expand.test: New test, still xfailing.  It
6543         exposes automake bug#7800 -- "automake fails to honor `-d' in
6544         AM_YFLAGS when variable expansions are involved".
6545         * tests/yflags-d-false-positive.test: New test, checking that
6546         automake do not spuriously see `-d' in *YFLAGS when that isn't
6547         really there.
6548         * tests/yflags-force-override.test: New test, checking that
6549         automake can cope with definition of the YFLAGS variable in
6550         Makefile.am (even if that is an extremely bad practice, as that
6551         variable is user-reserved).
6552         * tests/yflags-cmdline-override.test: New test, checking that
6553         automake can cope with user-redefinition of YFLAGS at configure
6554         time and/or at make time.
6555         * tests/yflags-conditional.test: New test, checks that automake
6556         warns on conditionally-defined *YFLAGS variables.
6557         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
6558
6559 2011-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6560
6561         yacc: extend and improve tests
6562         * tests/yacc-basic.test: Also check that the intermediate C file
6563         is mentioned in the generated Makefile.in, and that it is created
6564         by the first make invocation.
6565         * tests/yacc3.test: Test removed, superseded by ...
6566         * tests/yacc-d-basic.test: ... this new test.
6567         * tests/yacc2.test: Add reference to that new test in the heading
6568         comments.
6569         * tests/yacc-d-vpath.test: New test.
6570         * tests/yaccvpath.test: Updated heading comments.  Do not require
6571         gcc anymore, as any working C compiler should be enough.  Remove
6572         redundant comments.
6573         * tests/yacc-nodist.test: New test.
6574         * tests/yacc-dist-nobuild.test: New test.
6575         * tests/Makefile.am (TESTS): Update.
6576
6577 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6578
6579         Extend, fix and improve tests on Lex and Yacc support.
6580         * tests/lexcpp.test: New test script, on support for Lex + C++.
6581         * tests/lexvpath.test: New test script, test build and rebuild
6582         rules for lexers in VPATH setup.
6583         * tests/yacc-basic.test: New test script, run simple "semantic"
6584         checks on basic Yacc support (similarly to what lex3.test does
6585         for Lex support).
6586         * tests/lex.test: Don't create useless dummy source file joe.l.
6587         Remove extra blank lines.
6588         * tests/lex4.test: Add trailing `:' command.  Do not create dummy
6589         useless lex source file.
6590         * tests/lex2.test: Likewise.  Call automake with the `-a' option,
6591         so that it doesn't fail for the absence of `ylwrap' script.  Make
6592         grepping of automake stderr stricter.
6593         * tests/yacc7.test: Add trailing `:' command.  Enable `errexit'
6594         shell flag earlier (just after having sourced ./defs).
6595         * tests/yacc4.test: Likewise.  Also ...
6596         (configure.in): Use pre-populated skeleton set up by ./defs,
6597         instead of writing one from scratch.
6598         Other minor cosmetic changes.
6599         * tests/yacc5.test: Likewise.
6600         * tests/yaccvpath.test: Likewise. Also ...
6601         ($distdir): New variable.
6602         Use it throughout.
6603         * tests/lex5.test: Likewise.
6604         * tests/lex3.test: Likewise.  Check the distdir, rather than
6605         grepping the distribution tarball.  Extend the test on the
6606         created binary, and be sure to avoid hangs.  Add some comments.
6607         * tests/yacc.test: Use stricter grepping.  Add trailing `:'.
6608         * tests/yacc6.test: Likewise.
6609         * tests/yacc3.test: Likewise.  Do not create the unused file
6610         `Makefile.sed'.  Remove useless rules from Makefile.am.  Other
6611         minor cosmetic changes.
6612         * tests/yacc2.test: Make grepping of generated `Makefile.in' and
6613         of automake error messages stricter.  Do not redirect output of
6614         grep to /dev/null.  Move call to aclocal earlier.  Reduce the
6615         number of empty blank lines.  Fix a typo in comments.
6616         * tests/yacc8.test: Fixed bugs that reduced the completeness of
6617         the tests.  Added trailing `:' command.
6618         (configure.in): Use pre-populated skeleton set up by ./defs,
6619         instead of writing one from scratch.
6620         * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
6621         `.yxx', rather than only `.yy'.
6622         * tests/Makefile.am (TESTS): Update.
6623
6624 2011-01-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
6625
6626         cosmetics: remove trailing whitespaces
6627         * doc/automake.texi: Remove trailing whitespaces.
6628         * tests/cond13.test: Likewise.
6629         * tests/cond14.test: Likewise.
6630         * tests/fort4.test: Likewise.
6631         * tests/fort5.test: Likewise.
6632         * tests/libobj17.test: Likewise.
6633         * tests/suffix7.test: Likewise.
6634         * tests/vtexi2.test: Likewise.
6635
6636         automake: minor fixes in comments
6637         * automake.in: Some minor fixes and enhancements in comments.
6638
6639 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6640
6641         Add test coverage for deleted header files.
6642         * tests/depcomp6.test, tests/depcomp7.test: Update tests to
6643         also check for the deleted header bug.  If no dependency
6644         tracking mechanism could be found, SKIP rather than exit
6645         successfully.  Use GNU style spacing and ANSI C prototypes.
6646
6647         Fix typos in Rule.pm comments.
6648         * lib/Automake/Rule.pm: Fix typos in comments.
6649
6650         docs: split 'amhello Explained' node.
6651         * doc/automake.texi (amhello Explained): Split node ...
6652         (amhello's configure.ac Setup Explained)
6653         (amhello's Makefile.am Setup Explained) : ... into these two.
6654         (Top, Hello World): Adjust, and add @anchor for stable URL links.
6655         Suggestion by Karl Berry in automake bug#7766.
6656
6657 2011-01-08  Karl Berry  <karl@freefriends.org>
6658             Eric Blake  <eblake@redhat.com>
6659
6660         docs: reference defining directories in amhello node.
6661         * doc/automake.texi (amhello Explained): Point to Autoconf
6662         manual for how to convert directory values into macros.
6663         (Optional): Fix grammar nit.
6664
6665 2011-01-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
6666
6667         yacc: "make clean" removes .c and .h files from non-distributed .y
6668         Previously, while automake did *not* distribute C source and header
6669         files derived from non-distributed Yacc sources, it still caused
6670         them to be removed only by "make maintainer-clean" only, and not by
6671         simply "make clean" or "make distclean".
6672         This caused "make distcheck" to fail, unless the developer put
6673         those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
6674         by hand.
6675         This change fixes this issue, by making non-distributed `.c' and
6676         `.h' files generated by non-distributed Yacc sources cleaned by
6677         "make clean".
6678         * tests/automake.in (lang_yacc_target_hook): Make C source and
6679         header files derived from non-distributed Yacc files cleaned by
6680         "make clean", not only by "make maintainer-clean".
6681         * tests/yacc-clean.test: New test.
6682         * tests/Makefile.am (TESTS): Update.
6683         * NEWS: Update.
6684
6685 2011-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6686
6687         * NEWS: Fix typo (forgotten word).
6688
6689 2011-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6690             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6691
6692         docs: how to work around checks on invalid primary/directory couples
6693         * doc/automake.texi (Uniform): Document the blessed idiom which can
6694         be used to work around automake checks on invalid primary/directory
6695         couples (such as `lib_PROGRAMS' or `doc_LIBRARIES').
6696
6697 2010-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
6698
6699         Tests: normalize use of the 'errexit' shell flag.
6700         * tests/maken3.test (check_targets): Remove redundant call to
6701         'set -e'.
6702         * tests/maken4.test: Likewise.
6703         * tests/ansi5.test: Call 'set -e' just after './defs' has been
6704         sourced.
6705         * tests/ansi6.test: Likewise.
6706         * tests/ansi7.test: Likewise.
6707         * tests/cond16.test: Likewise.
6708         * tests/cond17.test: Likewise.
6709         * tests/cond18.test: Likewise.
6710         * tests/cond19.test: Likewise.
6711         * tests/cond20.test: Likewise.
6712         * tests/cond21.test: Likewise.
6713         * tests/instdat2.test: Likewise.
6714         * tests/instdir-texi.test: Likewise.
6715         * tests/parallel-tests3.test: Likewise.
6716         * tests/remake1a.test: Likewise.
6717         * tests/ccnoco.test: Likewise, and add trailing `:' command.
6718         * tests/comment4.test: Likewise.
6719         * tests/gcj4.test: Likewise.
6720         * tests/nodist2.test: Likewise.
6721         * tests/nodist3.test: Enable 'errexit' shell flag (this should
6722         have been done in commit v1.11-248-g317e17b, but the relevant
6723         hunk has been forgotten somehow).
6724         * tests/output.test: Likewise.
6725         * tests/gnits2.test: Likewise, and display captured stderr to
6726         script's stderr, not to script's stdout.
6727         * tests/gnits3.test: Likewise.  Also, prefer 'cat' over 'echo'
6728         to append to Makefile.am, and really check that the exit status
6729         of "make installcheck" indicates failure.
6730
6731 2011-01-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6732
6733         Sync auxiliary files from upstream.
6734         * lib/config.guess, lib/config.sub, lib/texinfo.tex:
6735         Sync from upstream.
6736
6737         Avoid caching bug in cygnus mode test.
6738         * tests/cygnus-requires-maintainer-mode.test: Remove
6739         autom4te.cache directory before rerunning aclocal, to
6740         remove trace caches.
6741
6742         Fix maintainer-check regression.
6743         * tests/subobj11a.test: Pass DISTCHECK_CONFIGURE_FLAGS in the
6744         environment.
6745
6746         Bump copyright years.
6747         * aclocal.in (write_aclocal, version): Bump copyright years.
6748         * automake.in (gen_copyright, version): Likewise.
6749         * doc/automake.texi: Likewise.
6750
6751 2010-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
6752
6753         * NEWS: Add missing blank line between two entries.
6754
6755 2010-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
6756
6757         Improve and extend tests `suffix*.test'.
6758         * tests/suffix.test: Check that suffix rules for C compilation are
6759         only included once.  Try also with a static library.
6760         * tests/suffix2.test: Add a new grep to help potential debugging.
6761         Do not run automake with the `--add-missing' options, since we
6762         already create all the needed auxiliary files.  Try also *without*
6763         the `no-dependencies' automake option.
6764         * tests/suffix4.test: Make grepping of Makefile.in stricter.
6765         * tests/suffix3.test: Rewritten to run also autoconf, ./configure
6766         and make.
6767         * tests/suffix5.test: Likewise.
6768         * tests/suffix6.test: Fix botched recipe indentation (eight spaces
6769         were used instead of a tabulation character).  Extend to check
6770         that `.obj' is handled like `.$(OBJEXT)' (as is done for `.o').
6771         Improved parsing & grepping of generated Makefile.in.  Other minor
6772         fixes and improvements.
6773         * tests/suffix10.test: Move some checks in Makefile.am.  Also run
6774         "make all".
6775         * tests/suffix12.test: Likewise, and account for VPATH issues in
6776         weaker make implementations.
6777         * tests/suffix11.test: Likewise.  Also, run "make distcheck", for
6778         completeness, and related changes.
6779         * tests/suffix8.test: Likewise.  Also, do not put `gcc' anymore
6780         in $required.
6781         * tests/suffix13.test: Do not use the `--force-missing' automake
6782         option unnecessarily.
6783         * tests/suffix6b.test: New test, semantic sister of `suffix6.test'.
6784         * tests/suffix6c.test: Likewise.
6785         * tests/Makefile.am (TESTS): Updated.
6786
6787 2010-12-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6788             Stefano Lattarini  <stefano.lattarini@gmail.com>
6789
6790         Work around a bug in file-inclusion mechanism of Solaris make.
6791         * automake.in (handle_single_transform): In the name of the
6792         dependency file: collapse multiple slash characters into a single
6793         one.
6794         * tests/subobj11a.test: New test.
6795         * tests/subobj11b.test: Likewise.
6796         * tests/subobj11c.test: Likewise.
6797         * tests/depcomp8a.test: Likewise.
6798         * tests/depcomp8b.test: Likewise.
6799         * tests/Makefile.am (TESTS): Updated.
6800         * NEWS: Updated.
6801         Report by Stefano Lattarini, quick fix by Ralf Wildenhues, final
6802         patch and tests by Stefano Lattarini.
6803
6804 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
6805
6806         Fix two spurious testsuite failures on IRIX 6.5.
6807         * tests/suffix13.test (Makefile.am): Account for VPATH issues on
6808         weaker make implementations (e.g. IRIX 6.5).
6809         * tests/parallel-tests8.test: Likewise, plus a required related
6810         change.
6811         Reported by Ralf Wildenhues.  The bugs have been there from the
6812         first versions of the affected test scripts.
6813
6814 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
6815
6816         docs: cygnus mode doesn't require AM_CYGWIN32 macro.
6817         * doc/automake.texi (Cygnus): Mode 'cygnus' does not require
6818         the AM_CYGWIN32 macro (and indeed hasn't required it since at
6819         least commit Release-1-2-31-g3038064 "merged changes from
6820         Cygnus" of 1997-08-25).
6821
6822 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
6823
6824         Add some tests on 'cygnus' mode.
6825         * tests/clean2.test: Extend.
6826         * tests/cygnus-check-without-all.test: New test.
6827         * tests/cygnus-dependency-tracking.test: Likewise.
6828         * tests/cygnus-distclean.test: Likewise.
6829         * tests/cygnus-imply-foreign.test: Likewise.
6830         * tests/cygnus-no-dist.test: Likewise.
6831         * tests/cygnus-no-installinfo.test: Likewise.
6832         * tests/cygnus-requires-maintainer-mode.test: Likewise.
6833         * tests/Makefile.am (TESTS): Update.
6834
6835 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
6836
6837         Fix parallel testsuite run with Zsh.
6838         This change deals with a Zsh incompatibility in the handling
6839         of the special shell variable `$0' in sourced files; this
6840         incompatibility used to cause utter breakage when the
6841         Automake testsuite was run in parallel mode with Zsh as
6842         the $(TEST_LOG_COMPILER).
6843         For more information, please refer to the thread "Fix parallel
6844         testsuite run with zsh" on automake-patches, dated 2010-12-22:
6845          <http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00135.html>
6846         This change works around the problems described above for Zsh 4.3
6847         or later, and offers better error messages (instead of random
6848         failures) for earlier Zsh version.
6849         * tests/README (Supported shells): When describing the manual
6850         workaround about the Zsh incompatibility in the handling of `$0',
6851         tell that it is now needed only with Zsh versions preceding 4.3.
6852         Done also some minor rewordings.
6853         * tests/defs-static.in ($argv0): New variable, offers a workaround
6854         for the Zsh incompatibility in the handling of `$0'.
6855         Abort if that variable cannot be correctly set (can happen only
6856         in older Zsh version).
6857         * tests/defs ($me): Define using `$argv0', not `$0'.
6858
6859 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
6860
6861         Tests defs: keep track of original $AUTOMAKE and $ACLOCAL values.
6862         This is especially useful for tests which might want to run
6863         automake and aclocal without additional flags and warnings.
6864         * tests/defs-static.in ($original_ACLOCAL): New variable.
6865         ($original_AUTOMAKE): Likewise.
6866         * tests/help.test: Use them.
6867         * tests/help2.test: Likewise.
6868         * tests/help3.test: Likewise.
6869         * tests/help4.test: Likewise.
6870         From a suggestion by Ralf Wildenhues.
6871
6872 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
6873
6874         distlinksbrk.test: Work around botched "make -k".
6875         * tests/distlinksbrk.test: Run "make" multiple times and grep
6876         its output each time for a single error message, rather than
6877         running "make -k" one single time and grepping its output for
6878         all the expected error messages.  This should work around make
6879         implementations with limited (broken?) `-k' support; for more
6880         information, see these subthreads on the automake-patches list:
6881           - 2010-11-15, "Testsuite failures on HP-UX 11.23",
6882             <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00162.html>
6883           - 2010-11-15, "Testsuite failures on IRIX 6.5",
6884             <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00166.html>
6885
6886 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
6887
6888         Minor improvements to test 'amopts.test'.
6889         * tests/amopts.test: Remove botched comment.  Make grepping of
6890         automake stderr slighty stricter.  Add trailing `:' command.
6891
6892 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
6893
6894         backcompat6.test: avoid comments inside recipe commands.
6895         * tests/backcompat6.test: Remove shell comments from makefile rule
6896         commands, as they are not portable to (at least) Tru64 make.
6897
6898 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
6899
6900         man8.test: avoid comments inside recipe commands.
6901         * tests/man8.test: Remove shell comments from makefile rule
6902         commands, as they are not portable to (at least) Tru64 make.
6903
6904 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
6905
6906         Fix sed-related buglet in test "subdir5.test"
6907         * tests/subdir5.test: Always terminate text passed to the
6908         `i' sed command with a newline, to work around limitations
6909         in e.g. older OpenBSD sed.
6910
6911 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
6912
6913         Fix spurious failures in tests on AC_CONFIG_AUX_DIR.
6914         * tests/auxdir7.test: Do not try to needlessly overwrite the files
6915         `install-sh' and `missing'.  This avoid spurious failures in "make
6916         distcheck", when those files might be copied as read-only from the
6917         `lib' directory.
6918         * tests/auxdir8.test: Likewise.
6919
6920 2010-12-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
6921
6922         Make test 'posixsubst-script' portable to MinGW/MSYS.
6923         * tests/posixsubst-script.test: Ensure that the generated dummy
6924         scripts really start with a shebang line, to work around a
6925         limitation of 'test -x' on MinGW/MSYS.
6926         Reported by Ralf Wildenhues.
6927
6928         Improve comments in tests `posixsubst*.test'.
6929         * tests/posixsubst-data.test: Improve comment explaining why we
6930         try also empty match suffix.
6931         * tests/posixsubst-extradist.test: Likewise.
6932         * tests/posixsubst-ldadd.test: Likewise.
6933         * tests/posixsubst-libraries.test: Likewise.
6934         * tests/posixsubst-ltlibraries.test: Likewise.
6935         * tests/posixsubst-programs.test: Likewise.
6936         * tests/posixsubst-scripts.test: Likewise.
6937         * tests/posixsubst-sources.test: Likewise.
6938         * tests/posixsubst-tests.test: Likewise.
6939         Suggested by Ralf Wildenhues.
6940
6941 2010-12-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
6942
6943         docs: fix blunder in example about python extension modules
6944         * doc/automake.texi (Python): Use `quaternion_la_SOURCES',
6945         not `quaternion_SOURCES', to declare the sources of python
6946         extension module `quaternion.la'.
6947
6948 2010-12-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
6949
6950         docs: list LTLIBRARIES among Automake primaries
6951         * doc/automake.texi (Uniform): List `LTLIBRARIES' among
6952         the Automake primaries.
6953
6954 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6955             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6956
6957         Tests defs: requirement 'xsi-shell' must be synced with libtool.
6958         * tests/defs (xsi-shell): Add comment telling to keep the
6959         XSI-conformance checks in sync with libtool.
6960
6961 2010-12-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
6962
6963         Minor cleanups in canon7.test.
6964         * tests/canon7.test (_foo_bar_SOURCES): Remove libs.c.
6965         (configure.in): Remove AC_PROG_CXX.
6966
6967 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6968
6969         Avoid false positive in sc_tests_plain_make maintainer-check.
6970         * Makefile.am (sc_tests_plain_make): Ensure to only match full
6971         `make' words.  Avoid false positive with remake11.test.
6972
6973 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6974
6975         Fix canon7.test failure.
6976         * tests/canon7.test (_foo_bar_SOURCES): Add foobar.c.
6977         (lib.h, libd.c, libs.c): Use const for constant strings.
6978
6979 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6980
6981         Fix typos in test comments.
6982         * tests/posixsubst-data.test, tests/posixsubst-extradist.test,
6983         tests/posixsubst-ldadd.test, tests/posixsubst-libraries.test,
6984         tests/posixsubst-ltlibraries.test, tests/posixsubst-programs.test,
6985         tests/posixsubst-scripts.test, tests/posixsubst-sources.test,
6986         tests/posixsubst-tests.test: Fix typos.
6987
6988 2010-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
6989
6990         More uses of AS_HELP_STRING in automake macros.
6991         * m4/depend.m4 (AM_DEP_TRACK): Use `AS_HELP_STRING' to format
6992         the help message added to the generated configure.
6993         * m4/dmalloc.m4 (AM_WITH_DMALLOC): Likewise.
6994         * m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
6995         * m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
6996         * m4/multi.m4 (AM_ENABLE_MULTILIB): Likewise.
6997         Also, bumped all serial numbers of the modified m4 files.
6998
6999 2010-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
7000
7001         Improve tests on generated portions of configure help screen.
7002         * tests/help-depend.test: Grepping of configure help screen
7003         relaxed to cater for possible line wrapping, and tightened in
7004         other respects.
7005         * tests/help-depend2.test: Likewise.
7006         * tests/help-dmalloc.test: Likewise.
7007         * tests/help-lispdir.test: Likewise.
7008         * tests/help-maintainer.test: Likewise.
7009         * tests/help-multilib.test: Likewise.
7010         * tests/help-silent.test: Likewise.
7011         * tests/help-upc.test: Likewise.
7012         * tests/help-init.test: Grepping of configure help screen
7013         tightened.
7014
7015 2010-12-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
7016
7017         Extended tests on AC_CONFIG_AUX_DIR.
7018         * tests/auxdir.test: Enable `errexit' shell flag.  Prefer `$me'
7019         over hard-coded test name.  Use proper m4 quoting.  Add trailing
7020         `:' command.
7021         * tests/auxdir2.test: Likewise.  Try to call automake also with
7022         the `-a' option, so that it will not fail for spurious reasons.
7023         * tests/auxdir3.test: Add an explanatory comment and a trailing
7024         `:' command.
7025         * tests/auxdir4.test: Prefer `$me' over hard-coded test name.
7026         Make grepping of automake stderr slightly stricter.  Also, now
7027         this test just checks about Automake's reaction to unportable
7028         auxiliary directory names (and it has been extended in this
7029         respect).  Moved the checks about non-existent auxiliary
7030         directories to ...
7031         * tests/auxdir5.test: ... this new test.
7032         * tests/auxdir6.test: New test.
7033         * tests/auxdir7.test: Likewise.
7034         * tests/auxdir8.test: Likewise.
7035         * tests/auxdir9.test: Likewise.
7036         * tests/Makefile.am (TESTS): Updated.
7037
7038 2010-12-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
7039
7040         Tests: extend checks on remake rules.
7041         This adds proper semantical tests (i.e. run make to check the
7042         rebuild rules are correctly triggered) in addition to tentative
7043         grepping of the generated Makefile.in(s).
7044         * tests/remake.test: Enable `errexit' shell flag, and related
7045         changes.  Modernize `configure.in'.  Add trailing `:' command.
7046         Improve heading comments, and add a reference to new sister test
7047         remake1a.test.
7048         * tests/remake3.test: Likewise (but with sister test being
7049         remake3a.test).
7050         * tests/remake2.test: Improve heading comments.  Enable `errexit'
7051         shell flag, and related changes.  Modernize `configure.in'.  Make
7052         grepping of `Makefile.in' slightly stricter.  Add trailing `:'
7053         command.
7054         * tests/remake5.test: Also run the `distcheck' target.  Add
7055         trailing `:' command.  Use proper m4 quoting in configure.in.
7056         * tests/remake4.test: Prefer `$me' over hard-coded test name.
7057         * tests/remake7.test: Use the `configure.in' stub created by
7058         ./defs, rather than writing it from scratch.
7059         * tests/remake6.test: Likewise.  Also, add trailing `:' command,
7060         and ensure verbose printing of captured make output.
7061         * tests/remake1a.test: New test, sister of remake.test.
7062         * tests/remake3a.test: New test, sister of remake3.test.
7063         * tests/remake8a.test: New test.
7064         * tests/remake8b.test: Likewise.
7065         * tests/remake9a.test: Likewise.
7066         * tests/remake9b.test: Likewise.
7067         * tests/remake9c.test: Likewise.
7068         * tests/remake9d.test: Likewise.
7069         * tests/remake10a.test: Likewise.
7070         * tests/remake10b.test: Likewise.
7071         * tests/remake10c.test: Likewise.
7072         * tests/remake11.test: Likewise.
7073         * tests/remake12.test: Likewise.
7074         * tests/Makefile.am (TESTS): Updated.
7075
7076 2010-12-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
7077
7078         Improve and extend tests on canonicalization.
7079         * tests/canon-name.test: Add trailing `:' command.  When writing
7080         configure.in, prefer to use $me instead of hard-coding the test
7081         name.
7082         * tests/canon3.test: Prefer trailing `:' over trailing `Exit 0'.
7083         * tests/canon4.test: Likewise.  Make grepping of Makefile.in
7084         stricter.  Improve heading comment, and add reference to ...
7085         * tests/canon6.test: ... this new test (sister test of the
7086         previous one).
7087         * tests/canon.test: Prefer cat + here-doc over echo to append
7088         text to configure.in.  Extend grepping of Automake stderr.  Add
7089         trailing `:' command.
7090         * tests/canon5.test: Likewise.
7091         * tests/canon7.test: New file, stress test on canonicalization.
7092         * tests/canon8.test: New test, for better coverage (check that
7093         the `@' character is not transliterated in canonicalizations).
7094         * tests/Makefile.am: Updated.
7095
7096 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
7097
7098         Libobj tests: refer to automake bug tracker for limitations.
7099         * tests/libobj15b.test (configure.in): In the comment explaining
7100         why an apparently redundant AC_OUTPUT is indeed needed, refer
7101         to the relevant entry in the Automake bug tracker rather than
7102         describing the bug in detail with a FIXME-style comment.
7103         * tests/libobj15c.test: Likewise.
7104         * tests/libobj20b.test: Likewise.
7105
7106         Libobj tests: do not use `##' automake comments in-line.
7107         * tests/libobj19.test (Makefile.am): Do not use inline `##'
7108         comments in the definition of AUTOMAKE_OPTIONS.
7109         * tests/libobj20c.test: Likewise.
7110         Report by Ralf Wildenhues.
7111
7112 2010-12-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7113
7114         Fix testsuite failure of check12.test without DejaGNU.
7115         * tests/check12.test: Require runtest.
7116
7117 2010-12-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
7118
7119         Tests defs: more uses of $top_testsrcdir.
7120         * tests/compile6.test: Use `$top_testsrcdir' instead of
7121         `$testsrcdir/..'.
7122
7123 2010-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
7124
7125         Tests required tools: also try `-v' option for GNU compilers.
7126         * tests/defs.in: In the loop on "$required" tools, for gcc
7127         and g++, also run "gcc -v" (resp. "g++ -v"), to get more
7128         information, and for consistency with gcj.
7129
7130 2010-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
7131             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7132
7133         Tests defs: avoid some useless subshells.
7134         * tests/defs: In the loop on "$required" tools: avoid subshells
7135         where not needed.
7136
7137 2010-12-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
7138
7139         Extend tests on AC_LIBOBJ and friends.
7140         * tests/aclibobj.test: Removed, superseded by ...
7141         * tests/libobj-basic.test: ... this new test, which runs autoconf,
7142         ./configure and make, to ensure everything really works.
7143         * tests/libobj3.test: Add trailing `:' command.  Escape literal
7144         dot in grep regexp.
7145         * tests/libobj4.test: Enable `errexit' shell flag, and related
7146         changes.  Add trailing `:' command.  Use proper m4 quoting.
7147         * tests/ltlibobjs.test: Likewise.
7148         * tests/libobj5.test: Enable `errexit' shell flag, and related
7149         changes.  Add trailing `:' command.  Make more robust by using
7150         longer filenames to be grepped.
7151         * tests/libobj8.test: Enable `errexit' shell flag, and related
7152         changes.  Add trailing `:' command.  Use the configure.in
7153         stub provided by ./defs, rather than writing it from scratch.
7154         * tests/libobj2.test: Likewise.  Also, add calls to autoconf,
7155         ./configure and make, to ensure everything really works.
7156         * tests/libobj7.test: Likewise, and ensure that at least one
7157         function listed in AC_REPLACE_FUNCTIONS is truly replaced.
7158         * tests/libobj13.test: Make grepping of Automake stderr slightly
7159         stricter.  Add trailing `:' command.
7160         * tests/libobj12.test: Likewise.  Also, prefer "cat + here-doc"
7161         over "echo" to append to Makefile.am, and some cosmetic changes
7162         in spacing.
7163         * tests/libobj14.test: Call `Exit 1' if sourcing of ./defs fails.
7164         Slighty improve m4 quoting.  Add trailing `:' command.
7165         * tests/libobj10.test: Add calls to autoconf, ./configure and
7166         make, to ensure everything really works.  Also, remove tests that
7167         nonexistent source for AC_LIBOBJ cause an Automake failure: this
7168         is already checked by ...
7169         * tests/libobj15a.test: ... this new test.
7170         * tests/libobj15b.test: New test, sister test of libobj15a.test,
7171         checks AC_LIBSOURCE instead of AC_LIBOBJ.
7172         * tests/libobj15c.test: New test, sister test of libobj15a.test,
7173         checks AC_LIBSOURCES instead of AC_LIBOBJ.
7174         * tests/libobj11.test: Removed, superseded by ...
7175         * tests/libobj16a.test: ... this new test.
7176         * tests/libobj16b.test: New test, sister test of libobj16a.test,
7177         but using oldish/deprecated idioms.
7178         * tests/libobj17.test: New test.
7179         * tests/libobj18.test: Likewise.
7180         * tests/libobj19.test: Likewise.
7181         * tests/libobj20a.test: Likewise.
7182         * tests/libobj20b.test: Likewise.
7183         * tests/libobj20c.test: Likewise.
7184         * tests/Makefile.am (TESTS): Updated.
7185
7186 2010-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
7187
7188         Test `$(var:suf=rpl)' expansion in special automake variables.
7189         * tests/posixsubst-data.test: New test.
7190         * tests/posixsubst-extradist.test: Likewise.
7191         * tests/posixsubst-ldadd.test: Likewise.
7192         * tests/posixsubst-libraries.test: Likewise.
7193         * tests/posixsubst-ltlibraries.test: Likewise.
7194         * tests/posixsubst-programs.test: Likewise.
7195         * tests/posixsubst-scripts.test: Likewise.
7196         * tests/posixsubst-sources.test: Likewise.
7197         * tests/posixsubst-tests.test: Likewise.
7198         * tests/Makefile.am (TESTS): Update.
7199
7200 2010-12-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7201
7202         Make tests `colon*.test' more "semantic".
7203         Prefer running configure and make over grepping the generated
7204         files; this is both more correct and less fragile.
7205         * tests/colon.test: Made more "semantic", as described above.
7206         * tests/colon5.test: Likewise.
7207         * tests/colon6.test: Likewise.
7208         * tests/colon7.test: Likewise.
7209         * tests/colon2.test: Likewise, and improve syncing with sister
7210         test `colon3.test'.
7211         * tests/colon3.test: Likewise (but with the sister test being
7212         `colon2.test' here).
7213
7214 2010-12-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
7215
7216         Extend and improve tests on DejaGnu support.
7217         * tests/dejagnu.test: Do not create useless dummy test script.
7218         Add trailing `:' command.  In heading comments, add reference
7219         to ...
7220         * tests/check12.test: ... this new "semantic" test, covering
7221         concurrent use of dejagnu tests, simple tests and `check-local'
7222         target.
7223         * tests/dejagnu2.test: Make test more reliable, by avoid weak
7224         grepping of make output.  Prefer `cat' over `echo' to append
7225         to configure.in.  Quote literal dots in grep regexps.  Prefer
7226         `grep -c ...' over `grep ... | wc -l'.  Make grepping of
7227         automake stderr slightly stricter.  Add trailing `:' command.
7228         * tests/dejagnu3.test: Prefer `cat' over `echo' to append to
7229         configure.in.  Check stderr of expected-to-fail "make" call.
7230         Remove extra blank lines from Makefile.am.
7231         * tests/dejagnu4.test: Prefer `cat' over `echo' to append to
7232         configure.in.  Prefer `mv -f' over plain `mv' when the target
7233         file already exists.  Avoid extra mkdir calls by creating more
7234         directories at once.  Better use of blank lines.  Check that
7235         the `*.log' and `*.sum' files are created by runtest also when
7236         "make check" fails.
7237         * tests/dejagnu7.test: Prefer `cat' over `echo' to append to
7238         configure.in.  Better use of blank lines.  Add a trailing `:'
7239         command.
7240         * tests/dejagnu6.test: Likewise, and give the dejagnu test a
7241         more descriptive name.
7242         * tests/dejagnu5.test: Likewise.  Also, simply define package
7243         name to `$me' rather than using a non-obvious sed script to
7244         extract it from `AC_INIT', and write the Makefile.am with only
7245         one command.
7246         * tests/Makefile.am (TESTS): Updated.
7247
7248 2010-12-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7249
7250         Avoid running installed automake from 'libtool --help'.
7251         * tests/subobj9.test: Export AUTOCONF and AUTOMAKE.
7252         Together with fixed Libtool, this fixes check-coverage to not
7253         invoke installed automake.
7254
7255 2010-12-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
7256
7257         Separate checks on target overriding into multiple test scripts.
7258         * tests/overrid.test: Deleted, its contents separated into ...
7259         * tests/override-suggest-local.test: ... this new test ...
7260         * tests/override-html.test: ... and this new test ...
7261         * tests/override-conditional-1.test: ... and this new test ...
7262         * tests/override-conditional-2.test: ... and this new test (still
7263         xfailing).
7264         * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
7265
7266         Enable `set -e' in more tests (plus some tweakings).
7267         * tests/implicit.test: Enable `errexit' shell flag, and related
7268         changes.  Add trailing `:' command.
7269         * tests/insh2.test: Likewise.
7270         * tests/instman2.test: Likewise.
7271         * tests/interp.test: Likewise.
7272         * tests/interp2.test: Likewise.
7273         * tests/library.test: Likewise.
7274         * tests/mclean.test: Likewise.
7275         * tests/info.test: Enable `errexit' shell flag, and related
7276         changes.  Add trailing `:' command.  Remove useless chaff from
7277         generated Makefile.am.  Add a "FIXME" comment.
7278         * tests/include.test: Enable `errexit' shell flag, and related
7279         changes.  Add trailing `:' command.  Prefer cat + here-doc over
7280         echo to append to configure.in.  Make tests more robust by using
7281         longer and less common names to grep.  Remove an useless call to
7282         echo.  Remove an useless subshell.
7283         * tests/header.test: Enable `errexit' shell flag, and related
7284         changes.  Use proper m4 quoting.  Add excerpts from the original
7285         report of the bug tested for by this script.
7286         * tests/gcj.test: Enable `errexit' shell flag, and related
7287         changes.  Use proper m4 quoting.  Add trailing `:' command.
7288         * tests/gcj3.test: Likewise.
7289         * tests/ldflags.test: Likewise.
7290         * tests/libtool.test: Likewise.
7291         * tests/listval.test: Likewise.
7292         * tests/javaprim.test: Likewise, and prefer cat + here-doc over
7293         echo to append to configure.in.
7294         * tests/javasubst.test: Likewise.
7295         * tests/discorver.test: Enable `errexit' shell flag.  Prefer
7296         trailing `:' over trailing `Exit 0'.
7297         * tests/instdat.test: Enable `errexit' shell flag, and related
7298         changes.  Use proper m4 quoting.  Avoid useless subshell.  Prefer
7299         cat + here-doc over echo to append to configure.in.
7300         * tests/libtool2.test: Enable `errexit' shell flag, and related
7301         changes.  Add trailing `:' command.  Use the configure.in
7302         stub provided by ./defs, rather than writing it from scratch.
7303
7304         Modernize, improve and/or tweak some test scripts.
7305         * tests/maintclean.test: Use proper m4 quoting.  Add trailing `:'
7306         command.
7307         * tests/sinclude.test: Likewise, and add a couple of blank lines,
7308         for clarity.
7309         * tests/make.test: Move setting of `errexit' shell flag earlier in
7310         the script (just after inclusion of ./defs).  Use the configure.in
7311         stub created by ./defs, rather than writing it from scratch.  Some
7312         cosmetic changes in spacing.  Ensure we wait enough time before
7313         touching configure.in to trigger the rebuild rules.
7314         * tests/makej.test: Use `$me' instead of hard-coding the test
7315         name.  Add trailing `:' command.
7316         * tests/version7.test: Likewise.
7317         * tests/space.test: Enable `errexit' shell flag, and related
7318         changes.
7319         * tests/makevars.test: Likewise.  Also, prefer trailing `:' over
7320         trailing `Exit 0', and be more tolerant of white spaces when
7321         grepping Makefile.in.
7322
7323 2010-12-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
7324
7325         * tests/silent8.test: Use "|| Exit 1" after ". ./defs".
7326
7327         Enable `set -e' in more tests (plus some tweakings).
7328         * tests/mkinstall.test: Enable `errexit' shell flag, and related
7329         changes.  Add a trailing `:' command, if needed.
7330         * tests/mdate2.test: Likewise.
7331         * tests/objc.test: Likewise.
7332         * tests/noinst.test: Likewise.
7333         * tests/outdir.test: Likewise.
7334         * tests/number.test: Likewise.
7335         * tests/pluseq.test: Likewise.
7336         * tests/req.test: Likewise.
7337         * tests/rulepat.test: Likewise.
7338         * tests/specflg6.test: Likewise.
7339         * tests/spell3.test: Likewise.
7340         * tests/parse.test: Likewise, and ...
7341         (configure.in): Use the stub created by ./defs, rather than
7342         writing it from scratch.  Remove useless calls to AC_PROG_RANLIB
7343         and AC_OUTPUT.
7344         * tests/mdate4.test: Likewise.
7345         * tests/mkinstall.test: Likewise, and ...
7346         (configure.in): ... drop useless call to `AC_OUTPUT'.
7347         * tests/output.test: Enable `errexit' shell flag, and related
7348         changes.  Add a trailing `:' command.
7349         (configure.in): Modernize.
7350         * tests/output2.test: Likewise.
7351         * tests/output3.test: Likewise.
7352         * tests/output4.test: Likewise.
7353         * tests/mdate3.test: Enable `errexit' shell flag, and related
7354         changes.  Prefer `$me' over hard-coded test name.  Do not move
7355         non-existent or useless files in the build auxiliary directory.
7356         * tests/nodistdir.test: Enable `errexit' shell flag, and related
7357         changes.  Prefer trailing `:' over trailing `Exit 0'.
7358         * tests/nodist.test: Likewise.  Also, prefer cat + here-doc over
7359         echo to create input test files, and do not create useless dummy
7360         C source files.
7361         * tests/nodist2.test: Likewise.
7362         * tests/ppf77.test: Enable `errexit' shell flag, with related
7363         changes.  Add a trailing `:' command.  Do not create useless
7364         dummy source files.
7365         * tests/spelling.test: Enable `errexit' shell flag, with related
7366         changes.  Add a trailing `:' command.  Also, grep Automake error
7367         message.
7368         * tests/specflg3.test: Enable `errexit' shell flag, with related
7369         changes.  Avoid unportable use of `-e' option of fgrep.  Prefer
7370         trailing `:' over trailing `Exit 0'.  Remove extra empty lines,
7371         and cosmetic changes to whitespaces.
7372         * tests/obsolete.test: Enable `errexit' shell flag, with related
7373         changes.  Improve verbosity.  Other miscellaneous changes.
7374
7375 2010-11-30  Stefano Lattarini  <stefano.lattarini@gmail.com>
7376
7377         Improve and extend tests on `:=' variable assignments.
7378         * tests/colneq.test: Avoid redundant use of variable assignments
7379         in Makefile.am.  Use command-line automake options instead of
7380         editing AUTOMAKE_OPTIONS in Makefile.am.  Make grepping of the
7381         generated Makefile.in slightly stricter.  Add a trailing `:'
7382         command.
7383         * tests/colneq2.test: Do not create unneeded dummy files.  Run
7384         also autoconf, ./configure and make.  Add trailing `:' command.
7385         * tests/colneq3.test: New test, similar to colneq.test, but
7386         running also autoconf, ./configure and make.
7387         * tests/Makefile.am (TESTS): Update.
7388
7389 2010-11-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
7390
7391         Remove long-deprecated options --Werror and --Wno-error.
7392         These options has been deprecated at least since commit
7393         "Release-1-6-1b-35-gc037f20", dated 2002-07-06.
7394         * automake.in (parse_arguments): Do not recognize anymore options
7395         `--Werror' and `--Wno-error' as synonyms of respectively `-Werror'
7396         and `-Wno-error'.
7397         * tests/werror.test: Update: use `-Werror' instead of `--Werror'.
7398         * NEWS: Update.
7399
7400 2010-11-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
7401
7402         Fix spurious failures in `silent*.test' for $CC != gcc
7403         In some tests on automake-produced silent rules, we forced the
7404         use of gcc depmode to improve testsuite coverage; but this has
7405         unsurprisingly led to spurious failures when some non-GNU C
7406         compilers were used.  So we are now careful to require GCC in
7407         tests that force gcc depmode.
7408         From reports by Ralf Wildenhues.
7409         * tests/silent5.test: Test removed, its content split into ...
7410         * tests/silent-many-generic.test, tests/silent-many-gcc.test: ...
7411         these new sister tests, the latter of which forces gcc depmode
7412         and lists "gcc" in $required.
7413         * tests/silentlex.test: Test removed, its content split into ...
7414         * tests/silent-lex-generic.test, tests/silent-lex-gcc.test: ...
7415         these new sister tests, the latter of which forces gcc depmode
7416         and lists "gcc" in $required.
7417         * tests/silentyacc.test: Test removed, its content split into ...
7418         * tests/silent-yacc-generic.test, tests/silent-yacc-gcc.test: ...
7419         these new sister tests, the latter of which forces gcc depmode and
7420         lists "gcc" in $required.
7421         * tests/Makefile.am (TESTS): Updated.
7422
7423 2010-11-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
7424
7425         Tests: consistently use "|| Exit 1" after ". ./defs".
7426         * tests/autohdr.test: Use `. ./defs || Exit 1', not bare
7427         `. ./defs', for consistency with other tests.
7428         * tests/autohdr2.test: Likewise.
7429         * tests/autohdr3.test: Likewise.
7430         * tests/autohdr4.test: Likewise.
7431         * tests/cond23.test: Likewise.
7432         * tests/cond24.test: Likewise.
7433         * tests/cond25.test: Likewise.
7434         * tests/cond26.test: Likewise.
7435         * tests/cond27.test: Likewise.
7436         * tests/cond28.test: Likewise.
7437         * tests/cond29.test: Likewise.
7438         * tests/cond30.test: Likewise.
7439         * tests/cond31.test: Likewise.
7440         * tests/cond32.test: Likewise.
7441         * tests/cond33.test: Likewise.
7442         * tests/cond34.test: Likewise.
7443         * tests/cond35.test: Likewise.
7444         * tests/cond36.test: Likewise.
7445         * tests/cond37.test: Likewise.
7446         * tests/cond38.test: Likewise.
7447         * tests/cond39.test: Likewise.
7448         * tests/cond40.test: Likewise.
7449         * tests/cond41.test: Likewise.
7450         * tests/cond42.test: Likewise.
7451         * tests/cond43.test: Likewise.
7452         * tests/cond44.test: Likewise.
7453         * tests/cond45.test: Likewise.
7454         * tests/dollarvar.test: Likewise.
7455         * tests/dollarvar2.test: Likewise.
7456         * tests/hfs.test: Likewise.
7457         * tests/libobj14.test: Likewise.
7458         * tests/percent.test: Likewise.
7459         * tests/percent2.test: Likewise.
7460         * tests/phony.test: Likewise.
7461         * tests/silent.test: Likewise.
7462         * tests/silent2.test: Likewise.
7463         * tests/silent3.test: Likewise.
7464         * tests/silent4.test: Likewise.
7465         * tests/silent5.test: Likewise.
7466         * tests/silent6.test: Likewise.
7467         * tests/silent7.test: Likewise.
7468         * tests/silent9.test: Likewise.
7469         * tests/silentcxx.test: Likewise.
7470         * tests/silentf77.test: Likewise.
7471         * tests/silentf90.test: Likewise.
7472         * tests/silentlex.test: Likewise.
7473         * tests/silentyacc.test: Likewise.
7474
7475         Avoid useless cleaning in some `silent*.test' tests.
7476         * tests/silentf77.test: Removed useless calls to "make clean"
7477         and "make maintainer-clean".
7478         * tests/silentf90.test: Likewise.
7479         * tests/silent3.test: Removed useless call to "make distclean".
7480         * tests/silent4.test: Likewise.
7481         * tests/silent9.test: Likewise.
7482
7483 2010-11-19  Ian Lance Taylor  <iant@google.com>
7484
7485         Sync config-ml.in from GCC.
7486         * config-ml.in: Add Go support: treat GOC and GOCFLAGS like other
7487         compiler/flag environment variables.
7488
7489 2010-11-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
7490
7491         release-stats: account for more generated tests.
7492         * Makefile.am (release-stats): Be sure to take into account all
7493         the generated tests, by grepping the test scripts to decide which
7494         ones of them are automatically generated.
7495
7496 2010-11-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
7497
7498         Code cleanup after removal of option `--output-directory'.
7499         * automake.in ($output_directory): Remove, it's unconditionally
7500         defined to `.' and used only ...
7501         (generate_makefile): ... in this subroutine, which now has been
7502         edited and simplified accordingly.
7503
7504         Remove obsolete automake option `--output-directory'.
7505         This option has been deprecated since version 1.7 (2002/2003).
7506         * automake.in ($output_directory): Define to `.' unconditionally.
7507         (parse_arguments): Remove handling of equivalent options `-o' and
7508         `--output-directory'.
7509         * tests/outdir.test: Removed.
7510         * tests/no-outdir-option.test: New test.
7511         * tests/Makefile.am (TESTS): Updated.
7512         * NEWS: Updated.
7513
7514 2010-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
7515
7516         Automake::Config: remove extra trailing semicolon.
7517         * lib/Automake/Config.in: Remove extra trailing semicolon.
7518
7519         help4.test: fix botched heading comment.
7520         * tests/help4.test: Fixed the heading comment, since it
7521         didn't correctly describe what checks the testcase was
7522         supposed to perform.
7523
7524         help2.test: add checks on aclocal too.
7525         * tests/help2.test: Check that also `aclocal --version' and
7526         `aclocal --help' work with configure.in and acinclude.m4 both
7527         broken.
7528
7529 2010-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
7530
7531         New test on repeated automake options.
7532         * tests/repeated-options.test: New test, check that automake
7533         does not complain on repeated options, nor generate broken or
7534         incorrect makefiles.
7535         * tests/Makefile.am (TESTS): Updated.
7536
7537 2010-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
7538
7539         Fix spurious failures of silent-rules tests with Sun Fortran.
7540         * tests/silentf77.test: Strip from the make output some verbose
7541         messages possibly printed by the SunStudio fortran compilers, to
7542         avoid spurious failures.  Add a trailing `:' command.
7543         * tests/silentf90.test: Likewise.
7544
7545 2010-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
7546
7547         Fix spurious failures of silent5.test with Sun Fortran.
7548         * tests/silent5.test: Strip from the make output some verbose
7549         messages possibly printed by the SunStudio fortran compilers,
7550         to avoid spurious failures.  This bug has been there from the
7551         very first version of this test script.
7552
7553 2010-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7554
7555         Fix regression in colon{5,6}.test (failures on AIX 5.3).
7556         * tests/colon5.test: Also substitute `@SHELL@' with `$SHELL' when
7557         post-processing the generated Makefile.in, to work around a bug
7558         of AIX 5.3 make which doesn't allow setting the `$(SHELL)' macro
7559         on the commend line.  Calls to `$MAKE' adjusted accordingly.
7560         * tests/colon6.test: Likewise.
7561         Regression introduced in commit v1.11-175-gf9fe878 "Modernize,
7562         improve and/or extend tests `colon*.test", and reported by Ralf
7563         Wildenhues.
7564
7565 2010-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7566
7567         Fix regression in ansi.test (failure on AIX 5.3).
7568         * tests/ansi.test: Remove redundant hackish check done using a
7569         hand-postprocessed Makefile.in.  This check worked by setting
7570         the `$(SHELL)' macro on the command line of make, but this is
7571         not supported by the AIX 5.3 make implementation.
7572         This bug has been lurking for a long time, and was activated by
7573         commit v1.11-125-gc1f6cdb "Enable `errexit' shell flag in various
7574         tests".  Report by Ralf Wildenhues.
7575
7576 2010-11-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7577
7578         backcompat5.test: avoid '##'-style comments inside recipe commands.
7579         * tests/backcompat5.test: Remove double-hash comments
7580         from makefile rule commands, they are not part of the
7581         Automake API.  Fixes testsuite failure with Tru64 make.
7582
7583         tests: avoid '##'-style comments inside recipe commands.
7584         * tests/confh.test, tests/confh8.test: Remove
7585         double-hash comments from makefile rule commands, they
7586         are not part of the Automake API.
7587
7588 2010-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7589
7590         tests: work around dash quoting issue in case statements.
7591         * tests/color.test, tests/color2.test: Quote variable in case
7592         pattern, to avoid skipping tests with dash 0.5.5.1.
7593
7594 2010-11-16  Peter Rosin  <peda@lysator.liu.se>
7595
7596         Skip MSVC oriented tests if the shell is not capable.
7597         * tests/defs: New required entry 'xsi-shell'.
7598         * tests/ar-lib.test, tests/compile3.test, tests/compile6.test:
7599         Require a XSI capable shell.
7600         Reported by Ralf Wildenhues.
7601
7602 2010-11-15  Peter Rosin  <peda@lysator.liu.se>
7603
7604         compile: clear the `eat' variable earlier.
7605         * lib/compile: Clear the `eat' variable earlier.
7606         ($scriptversion): Update.
7607         * tests/compile3.test: Prevent regressions.
7608
7609 2010-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7610
7611         More stable configure output from sanity check.
7612         * m4/sanity.m4 (AM_SANITY_CHECK): Always print check line
7613         about ensuring newer files, even if we don't actually need
7614         to wait any more.
7615
7616 2010-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7617
7618         Rebuild menus in the manual.
7619         * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs).
7620         Thanks to Ian Lance Taylor for the suggestion.
7621
7622         Fix install-strip when $(STRIP) contains several words.
7623         * lib/am/install.am (install-strip): Update comment.  Use
7624         separate sub-make invocations for empty and nonempty $(STRIP),
7625         to fix quoting issues.
7626         * tests/strip2.test, tests/strip3.test: New tests.
7627         * tests/Makefile.am (TESTS): Adjust.
7628
7629 2010-11-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7630
7631         Fix yaccdry.test failure: require bison.
7632         * tests/yaccdry.test: Require bison.
7633         Found by NixOS Hydra.
7634
7635 2010-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
7636
7637         Fix bug in test `backcompat6.test' (MSYS portability).
7638         * tests/backcompat6.test (Makefile.am): Grep the output from the
7639         test program, rather than diffing it, to avoid spurious failures
7640         on MinGW/MSYS due to LF vs. CRLF line endings.
7641         Reported by Ralf Wildenhues.
7642
7643 2010-11-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
7644
7645         Deprecate obsolete macro AM_WITH_REGEX.
7646         * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete,
7647         and state that it should be removed two years from now.
7648         (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete"
7649         category when this macro is used.
7650         * doc/automake.texi (Public Macros): Move description of
7651         `AM_WITH_REGEX' from here ...
7652         (Obsolete Macros): ... to here, and declare it as obsolete
7653         and "to be removed in a future version".
7654         * tests/regex-obsolete.test: New test.
7655         * tests/Makefile.am (TESTS): Update.
7656
7657 2010-11-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
7658
7659         Improve and extend tests on man pages support.
7660         * tests/man.test: Enable `errexit' shell flag, and related changes.
7661         Make grepping of generated Makefile.in slightly stricter.
7662         * tests/man3.test:  Add trailing `:' command.
7663         * tests/man5.test: Prefer cat + here-doc over echo to append to
7664         configure.in.
7665         * tests/man2.test: Likewise, and add trailing `:' command.
7666         * tests/man4.test: More thorough and consistent checking of make
7667         error messages.  Place fake `help2man' program in a new `bin'
7668         directory rather than in `.'.  Move the checks using the real
7669         `help2man' program to ...
7670         * tests/man6.test: ... this new test, and extend them.  This test
7671         passes with GNU make and Solaris make, still fails with BSD make.
7672         * tests/man7.test: New test, extracted from old man4.test, which
7673         checks for a bug in maintainer-clean w.r.t. generated manpages.
7674         * tests/man8.test: New test, extracted from old man4.test, which
7675         checks for a bug in distcheck w.r.t. generated manpages.  Passes
7676         with GNU make and Solaris make, still fails with BSD make.
7677
7678 2010-11-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
7679
7680         Minor improvements and extensions to various tests.
7681         * tests/defun.test: Also run autoconf and grep the generated
7682         configure to make sure that aclocal truly picks up all the
7683         required macros.
7684         * tests/compile_f_c_cxx.test: Prefer trailing `:' over trailing
7685         `Exit 0'.  Do not create useless dummy source files.  Do not set
7686         useless `$(foo_LDADD)' variable in `Makefile.am'.  Do not call
7687         useless macro `AC_F77_LIBRARY_LDFLAGS' in `configure.in'.
7688         * tests/compile_f90_c_cxx.test: Likewise.
7689         * tests/suffix10.test: Slightly stricter grepping of make output.
7690         * tests/compile.test: Add trailing `:' command.
7691         * tests/defun2.test: Likewise.
7692         * tests/vars3.test: Likewise.
7693         * tests/vartar.test: Likewise.
7694         * tests/vars.test: Likewise.  Also, extend test by checking
7695         that the definition of `MY_FLAGS*' variables is preserved in
7696         the generated `Makefile.in'.
7697         * tests/stamph2.test: Prefer trailing `:' over trailing `Exit 0'.
7698         Use proper m4 quoting in `configure.in'.
7699
7700 2010-11-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
7701
7702         Tests defs: improve messages for skipped tests.
7703         * tests/defs: Give meaningful messages about the reasons of a
7704         test skip; this is especially useful as this file is run without
7705         verbose xtraces on.  Related reorderings in the code and new
7706         comments.
7707
7708 2010-11-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
7709
7710         Tests defs: move static definitions in a new file `defs-static'.
7711         The new file is meant to be idempotent w.r.t. multiple inclusions.
7712         * tests/defs.in: Removed, its contents split among ...
7713         * tests/defs-static.in: ... this new file ...
7714         * tests/defs: ... and this new file, including the former.
7715         * configure.ac (AC_CONFIG_FILES): Remove `tests/defs', add
7716         `tests/defs-static'.
7717         (AC_CONFIG_LINKS): Add `tests/defs'.
7718         * tests/Makefile.am ($(parallel_tests)): Update.
7719         ($(instspc_tests)): Likewise.
7720         * tests/.gitignore: Update.
7721
7722         Tests defs: $testsbuilddir is now AC_SUBST'ed.
7723         * tests/defs.in ($testsbuilddir): Substitute from @abs_builddir@.
7724         Add sanity check on $testsbuilddir, similar to those on
7725         $testsrcdir and $top_testsrcdir.
7726
7727         Tests defs: do not print message "Running test $0" anymore.
7728         * tests/defs.in: Printing the message "=== Running test $0" at
7729         the beginning of each tests made sense when Automake used the old
7730         test-driver, which sent all the output directly to stdout/stderr.
7731         Now that the parallel test-driver is used, which saves output of
7732         each test in its corresponding log file, that old message is just
7733         useless noise.
7734
7735         Tests defs: rename $curdir -> $testbuilddir
7736         * tests/defs.in: Rename $curdir to $testbuildir, for clarity and
7737         consistency with $testsrcdir and $top_testsrcdir.
7738
7739         Tests defs: prefer "$curdir" over "`pwd`".
7740         * tests/defs.in: We already save the value of `pwd` in $curdir
7741         early in the file, so there no need to recalculate it later, when
7742         the current working directory is not changed.
7743
7744         Tests defs: use `$me' in more error messages.
7745         * tests/defs.in: Also use `$me' in error messages referring to
7746         missing `defs' or `defs.in', since that variable is now defined
7747         before those checks.
7748
7749         Tests defs: do not use `Exit' where plain `exit' suffices.
7750         * tests/defs.in: Use "exit 77" rather than "Exit 77" to skip the
7751         test when required libtool/gettext macros are not found, since
7752         such skips would take place before the exit trap is installed.
7753
7754         Tests defs: improve and extends comments.
7755         * tests/defs.in: Improve and extends some comments, especially in
7756         relation with the changes introduced by the previous reordering.
7757
7758         Tests defs: various reorderings.
7759         * tests/defs.in: Reordered various snippets of code in a
7760         clearer way.
7761
7762 2010-11-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
7763
7764         Fix bug in test `backcompat4.test' (stale autom4te cache).
7765         * tests/backcompat4.test: Remove stale autom4te cache directory
7766         before re-running aclocal and automake.  Also, since we are at
7767         it, be more verbose in displaying contents of generated files,
7768         to ease debuggability.
7769         Reported by Ralf Wildenhues.
7770
7771 2010-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7772
7773         Fix a bug in variable concatenation with `+='.
7774         * lib/Automake/VarDef.pm (append): Since the content of the
7775         "appended-to" variable is going to be unconditionally normalized
7776         later, simply separate the appended value with a single whitespace
7777         character, instead of trying to be uselessly smarter by using
7778         escaped newlines.  This fixes a bug in which extra backslashes
7779         where erroneously inserted in the variable's final value.
7780         * tests/pluseq11.test: New test, exposing the bug.
7781         * tests/Makefile.am (TESTS): Update.
7782         Reported by Andy Wingo.
7783
7784 2010-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7785
7786         Modernize, improve and/or tweak various test scripts.
7787         * tests/stamph2.test: Improve m4 quoting in `configure.in', and
7788         prefer trailing `:' over trailing `Exit 0'.
7789         * tests/syntax.test: Escape literal dots in grep regexps.
7790         * tests/copy.test: Enable `errexit' shell flag.  Extend test by
7791         checking with `test' utility that the script `install-sh' is
7792         copied, but not symlinked.
7793         * tests/depdist.test: Move setting of `errexit' shell flag earlier
7794         in the script (just after inclusion of ./defs).  Avoid obsoleted
7795         constructs in generated `configure.in'.  Prefer to do our checks
7796         by running configure and make over grepping Makefile.in.
7797         * tests/target-cflags: Move setting of `errexit' shell flag
7798         earlier in the script (just after inclusion of ./defs). Use the
7799         `configure.in' stub created by `./defs', rather than writing it
7800         from scratch.
7801         * tests/target-clash: Do not uselessly run autoconf.
7802         * tests/ctarget1.test: Renamed ...
7803         * tests/cond-basic.test: ... to this.  Use the `configure.in' stub
7804         created by `./defs', rather than writing it from scratch.
7805         Move setting of `errexit' shell flag earlier in the script (just
7806         after inclusion of ./defs).  Other minor cosmetic changes.
7807         * tests/Makefile.am (TESTS): Updated.
7808
7809 2010-11-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
7810
7811         New tests on obsoleted usages of automake/autoconf macros (such
7812         as AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT).
7813         * tests/backcompat.test: New test script.
7814         * tests/backcompat2.test: Likewise.
7815         * tests/backcompat3.test: Likewise.
7816         * tests/backcompat4.test: Likewise.
7817         * tests/backcompat5.test: Likewise.
7818         * tests/backcompat6.test: Likewise.
7819         * tests/init.test: Extended and improved, esp. by trying more
7820         combinations of calls to AC_INIT and AM_INIT_AUTOMAKE with few
7821         arguments.
7822         * tests/Makefile.am (TESTS): Updated.
7823
7824 2010-11-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
7825
7826         Fix bug in rules for creating vala vapi/header files.
7827         * automake.in (lang_vala_finish_target): Add forgotten "fi" in an
7828         if control structure in a generated make rules.  Bug introduced
7829         by previous commit `v1.11-221-gd7c1679', and revealed by failure
7830         of test `vala2.test'.
7831
7832 2010-11-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7833
7834         Fix and document rules to not touch the tree with `make -n'.
7835         * doc/automake.texi (Multiple Outputs): Document the problem of
7836         modifications during dry-run execution, propose solution.
7837         * NEWS: Update.
7838         * automake.in (lang_vala_finish_target): Split recipe so the
7839         stamp file is not removed with GNU `make -n'.
7840         (lang_yacc_target_hook): Separate removal of parser output file
7841         and header remaking.
7842         * lib/am/lisp.am ($(am__ELCFILES)): Determine whether -n was
7843         passed to make, take care not to remove any files in that case.
7844         * lib/am/remake-hdr.am (%CONFIG_H%): Separate removal of
7845         %STAMP% file from induced remaking of config header.
7846         * tests/autohdrdry.test, tests/lispdry.test, tests/yaccdry.test:
7847         New tests.
7848         * tests/Makefile.am (TESTS): Update.
7849
7850 2010-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
7851
7852         Fix potential bug in generated tests `instpc-*.test'.
7853         This bug is due to the changes introduced by the recently-merged
7854         "tests-init" branch.  In that branch, `tests/defs' didn't define
7855         anymore `$srcdir', instead defining directly `$testsrcdir'; but
7856         the generated tests were using `$srcdir', hence the bug.
7857         Luckily, since the Automake parallel test driver automatically
7858         exports `srcdir' to a proper value, that prevented the bug from
7859         manifesting itself.
7860         * tests/Makefile.am ($(instspc_tests)): In the generated test
7861         scripts, use `$testsrcdir', not `$srcdir'.
7862
7863 2010-11-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7864
7865         Overhauled and modularized tests in `instspc.test'.
7866         The test `instspc.test' was way too big and fragile.  Its running
7867         time was very long.  It also produced a log that was nearly
7868         unreadable due to its length, making it very difficult to find
7869         out the reason for failures.
7870         Also, it was too much monolithic, with a single (maybe spurious)
7871         failure in a corner case causing the whole test to fail (even if
7872         everything worked as expected in the other 99% of cases).
7873         The present change should solve these problems, by separating
7874         `instspc.test' into many smaller, self-contained, auto-generated
7875         tests.
7876         * tests/instspc.test: Removed.
7877         * tests/instspc-tests.sh: New script, fulfilling a double role:
7878         1. it generates a Makefile.am snippet `tests/instspc-tests.am',
7879         containing the definition of a list of new tests which will take
7880         over the older `instspc.test', and
7881         2. it is sourced by said generated tests with proper parameters
7882         pre-set, to run the "meat" of the checks.
7883         This apparent abuse is indeed required because the test generation
7884         code and test execution code are inevitably intertwined.
7885         * tests/Makefile.am ($(srcdir)/instspc-tests.am): Include this
7886         snippet, which (among the other things) defines ...
7887         (instspc_tests): ... this new macro, containing the list of the
7888         newly generated `instspc*.test' tests, and ...
7889         (instspc_xfail_tests): ... this new macro, containing the list
7890         of the `instspc*.test' tests expected to fail.
7891         ($(instspc_tests)): New rule, generates the `instspc*.test' tests.
7892         ($(instspc_tests:.test=.log)): New rule, registers the dependency
7893         of all `instspc*.test' tests on the `instspc-tests.sh' script.
7894         (TESTS): Add `$(instspc_tests)', remove `instspc.test'.
7895         (XFAIL_TESTS): Add `$(xfail_instspc_tests)'.
7896         (EXTRA_DIST): Distribute instspc-tests.sh.
7897         (MAINTAINERCLEANFILES): Added $(instspc_tests).
7898         Other minor cosmetic changes.
7899         * bootstrap: Generate instspc-tests.am.
7900         * tests/.gitignore: Updated.
7901
7902 2010-11-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7903
7904         Add FAQ entry for bug reporting instructions.
7905         * doc/automake.texi (Reporting Bugs): New section.
7906         (Introduction): Refer to it.
7907
7908 2010-10-07  Peter Rosin  <peda@lysator.liu.se>
7909
7910         depcomp: add new one-pass depmode for MSVC 7 and later.
7911         * lib/depcomp: Add new depmodes 'msvc7' and 'msvc7msys' which
7912         make use of the -showIncludes option added in MSVC 7.
7913         * m4/depend.m4 (_AM_DEPENDENCIES): Handle the new depmodes
7914         similarly to 'msvisualcpp' and 'msvcmsys' as MSVC does not
7915         support the -o option.
7916
7917 2010-10-05  Jim Meyering  <meyering@redhat.com>
7918
7919         dist-xz, dist-bzip2: don't hard-code -9: honor envvar settings
7920         * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that
7921         made it impossible to override.  Instead, use its XZ_OPT envvar,
7922         defaulting to -9 if not defined.  Thus no change in behavior
7923         when XZ_OPT is not set, and now, this rule honors the setting
7924         of that envvar when it is set.  Suggested by Lasse Collin.
7925         (dist-bzip2): Likewise for it's corresponding envvar: BZIP2.
7926         * NEWS (Miscellaneous changes): Mention it.
7927         * doc/automake.texi (The Types of Distributions): Describe the
7928         newly enabled environment variables.
7929
7930 2010-10-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7931
7932         Add support for newer python versions.
7933         * m4/python.m4 (AM_PATH_PYTHON): Add python2.7 and python3.2 to
7934         _AM_PYTHON_INTERPRETER_LIST.  Since we are at it, break a long
7935         line and fix indentation.
7936         * THANKS: Updated.
7937         From a report by Thomas Klausner.
7938
7939         Add test for `AM_WITH_DMALLOC' macro.
7940         * tests/dmalloc.test: New test.
7941         * tests/Makefile.am (TESTS): Update.
7942
7943         Fix nits and bugs in tests `help*.test'.
7944         * tests/help4.test: Fix broken sed commands used to strip `-W...'
7945         flags away from "$AUTOMAKE" and "$ACLOCAL".
7946         * tests/help3.test: Likewise, and fix a botched comment.
7947         * tests/help.test: Likewise.  Also, use "AUTOMAKE_fails ..."
7948         instead of "$AUTOMAKE ... && Exit 1", for consistency and to
7949         please maintainer-check.
7950         * tests/help2.test: Likewise.
7951
7952 2010-10-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
7953             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7954
7955         Improve tests `help*.test' (also fixes maintcheck failures).
7956         * tests/help.test: To run automake, use `$AUTOMAKE' with all `-W'
7957         flags stripped away rather than hard-coded `automake-$APIVERSION',
7958         to better honour user-overrides.  Similarly for aclocal.
7959         * tests/help2.test: Likewise.
7960         * tests/help3.test: Likewise.
7961         * tests/help4.test: Likewise.
7962
7963 2010-10-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7964
7965         tests: fix ar-lib.test for echo that interprets backslashes.
7966         * tests/ar-lib.test: Use printf instead of echo.  Avoid test -a.
7967         More robust quoting.
7968
7969 2010-10-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7970
7971         maintainer-check coverage for variables before rules.
7972         * Makefile.am (sc_ensure_testsuite_has_run): Suggest keeping
7973         around the test directories.
7974         (sc_tests_makefile_variable_order): New rule with a heuristic to
7975         catch ordering violations.
7976
7977         Document and fix expansion of variables before rules.
7978         * doc/automake.texi (General Operation): Document that variables
7979         are expanded before rules.
7980         * lib/am/check.am (am__check_post): Reword a bit so it does not
7981         get matched as a rule.
7982         Suggestion by Ben Pfaff.
7983
7984 2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7985
7986         Coverage and minor fixes for variable typo detection.
7987         * automake.in (check_typos): Remove `EXTRA_' prefix when
7988         computing canonical name.
7989         * tests/vartypo2.test, tests/vartypos.test: New tests.
7990         * tests/Makefile.am (TESTS): Update.
7991
7992         Implement EXTRA_maude_DEPENDENCIES for programs and libraries.
7993         * automake.in (handle_programs, handle_libraries)
7994         (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
7995         * doc/automake.texi (Linking, Program and Library Variables)
7996         (LIBOBJS): Document EXTRA_*_DEPENDENCIES.
7997         * lib/am/library.am (%LIBRARY%): Also depend on
7998         $(EXTRA_%XLIBRARY%_DEPENDENCIES).
7999         * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
8000         (%XLTLIBRARY%_DEPENDENCIES).
8001         * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
8002         $(EXTRA_%XPROGRAM%_DEPENDENCIES).
8003         * tests/extradep.test, tests/extradep2.test: New tests.
8004         * tests/Makefile.am (TESTS): Update.
8005         * NEWS: Update.
8006         Suggested by Eric Blake.
8007
8008         tests: avoid running into timing issues due to sanity change.
8009         * tests/acloca10.test, tests/acloca18.test, tests/aclocal9.test:
8010         Insert strategic sleep before aclocal reruns, to ensure files
8011         are newer.
8012         * tests/python11.test: Use --force for repeated autotools runs.
8013         Reports from the NixOS Hydra build daemon via Ludovic Courtès.
8014
8015         Fix timestamp issues by ensuring configure takes at least a second.
8016         * m4/sanity.m4 (AM_SANITY_CHECK): If we didn't sleep here,
8017         start a sleep in the background and wait for it to finish
8018         before creating config.status, hopefully fixing all spurious
8019         testsuite failures involving botched time stamps.
8020         * NEWS: Update.
8021         Reports by Ludovic Courtès, Peter Breitenlohner, and others.
8022
8023 2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8024
8025         Revert "parallel-tests: avoid command-line length limit issue."
8026         This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835,
8027         because it re-opened the bug fixed by v1.11-10-g218e678.
8028
8029         2010-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8030
8031         parallel-tests: avoid command-line length limit issue.
8032         * automake.in (handle_tests): New argument $makefile, new
8033         substitution %MAKEFILE%.
8034         (generate_makefile): Adjust.
8035         * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
8036         sanitized TEST_LOGS value as makefile snippet on standard
8037         input to $(MAKE), to avoid exceeding the command line limit on
8038         w32 (MSYS).
8039         * NEWS: Update.
8040         Report by Bob Friesenhahn.
8041
8042 2010-09-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
8043
8044         Extend tests on `--help' and `--version' options.
8045         * tests/help.test: Create a new empty directory and chdir into
8046         it, rather than removing already present files.  Run the aclocal
8047         and automake wrapper scripts directly, instead of relying on
8048         $AUTOMAKE and $ACLOCAL.  Be sure to correctly match literal dots
8049         in aclocal's and automake's stderr.  Add a trailing `:' command.
8050         * tests/help2.test: New test, checking that options `--help' and
8051         `--version' works in directories with broken `configure.in'.
8052         * tests/help3.test: New test, checking that options `--help' and
8053         `--version' take precedence on the other options.
8054         * tests/help4.test: New test, checking that the first among the
8055         `--help' and `--version' options to be specified on the command
8056         line wins.
8057         * tests/Makefile.am (TESTS): Updated.
8058
8059 2010-09-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
8060
8061         Testsuite: Use `$PATH_SEPARATOR', not `:', when extending PATH.
8062         * tests/compile2.test: Do no uselessly (implicitly) repeat the
8063         computation of PATH_SEPARATOR again.
8064         * tests/instmany-mans.test: Use `$PATH_SEPARATOR', not `:', when
8065         extending/redefining PATH.
8066         * tests/instmany-python.test: Likewise.
8067         * tests/instmany.test: Likewise.
8068         * tests/man4.test: Likewise.
8069         * tests/mkinst3.test: Likewise.
8070         * tests/mmodely.test: Likewise.
8071         * tests/multlib.test: Likewise.
8072         * tests/txinfo30.test: Likewise.
8073         * tests/README (Section "Writing test cases" subsection "Do"):
8074         Updated.
8075         * Makefile.am (sc_tests_PATH_SEPARATOR): New maintainer check.
8076         (syntax_check_rules): Updated.
8077
8078         Testsuite: new variables `$PATH_SEPARATOR' and `$APIVERSION'.
8079         * tests/defs.in ($APIVERSION):  New AC_SUBST'd variable.
8080         ($ACLOCAL, $AUTOMAKE): Use it.
8081         ($PATH_SEPARATOR):  New AC_SUBST'd variables.
8082         ($PATH): Use it.
8083
8084 2010-09-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
8085
8086         Manual: be more agnostic w.r.t. version control system used.
8087         * doc/automake.texi (Basics of Distribution): Also refer to `.svn'
8088         directories as a type of probably-unwanted files that are copied
8089         regardless when adding directories to EXTRA_DIST.
8090         (The dist Hook): Show a dist-hook example which removes Subversion
8091         `.svn' private directories from distdir, rather than CVS private
8092         directories.
8093         (missing and AM_MAINTAINER_MODE): Try to be more agnostic w.r.t.
8094         the version control system used.
8095
8096         Manual: index refer to target "git-dist", not "cvs-dist".
8097         * doc/automake.texi (General Operation): Index the non-standard
8098         example about "git-dist" under the "git-dist" label, not under
8099         the "cvs-dist" one.
8100
8101         Perl modules: remove references to "Automake CVS repository".
8102         * lib/Automake/Channels.pm: Update comments to refer to "Automke's
8103         git repository" rather than to "Automake's CVS repository".
8104         * lib/Automake/Configure_ac.pm: Likewise.
8105         * lib/Automake/FileUtils.pm: Likewise.
8106         * lib/Automake/Struct.pm: Likewise.
8107         * lib/Automake/XFile.pm: Likewise.
8108         * lib/Automake/Version.pm (=head1 DESCRIPTION): Refer to "git
8109         branches" rather than "CVS branches".
8110
8111         Remove obsolete .cvsignore files.
8112         * .cvsignore, doc/.cvsignore, lib/.cvsignore, lib/am/.cvsignore,
8113         lib/Automake/.cvsignore, lib/Automake/tests/.cvsignore,
8114         m4/.cvsignore, tests/.cvsignore: Files deleted.  Even when using
8115         savannah's CVS readonly mirror there's no way to commit back to
8116         the real repository, so this files are not worth maintaining or
8117         keeping around.
8118
8119 2010-09-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
8120
8121         * m4/dmalloc.m4: Bump serial number and copyright years.
8122
8123 2010-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
8124
8125         Fix broken link in `AM_WITH_DMALLOC' help screen.
8126         * m4/dmalloc.m4 (AM_WITH_DMALLOC): Refer only to the dmalloc site
8127         `http://www.dmalloc.com', not to the dmalloc tarball there (which
8128         seems to have been removed, substituted by multiple release
8129         tarballs now).
8130
8131 2010-09-21  Peter Rosin  <peda@lysator.liu.se>
8132
8133         compile: implement library search to support MSVC static linking
8134         * lib/compile (func_cl_wrapper): Implement library search and
8135         -static option so that the user can select whether to prefer
8136         dll import libraries or static libraries.  This enables MSVC to
8137         link against dlls generated by libtool without requiring libtool
8138         or workarounds such as -lfoo.dll etc.  Makes the tests/static.at
8139         test case in libtool pass.
8140         * tests/compile3.test: Don't trip up if there happens to exist
8141         a "foo" library in the library search path.
8142         * tests/compile6.test: New test, verifying the library search.
8143         * tests/Makefile.am (TESTS): Update.
8144
8145 2010-09-17  Eric Blake  <eblake@redhat.com>
8146
8147         Avoid triple-space after period.
8148         * automake.in (handle_single_transform): Avoid 3 spaces at
8149         sentence end.
8150         * ChangeLog.03: Likewise.
8151         * lib/Automake/ChannelDefs.pm: Likewise.
8152         * lib/Automake/Channels.pm (_print_message): Likewise.
8153         * lib/Automake/Rule.pm (rule): Likewise.
8154         * lib/Automake/Variable.pm (var): Likewise.
8155         * lib/am/distdir.am: Likewise.
8156         * tests/insthook.test: Likewise.
8157
8158 2010-09-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8159
8160         Test automake-generated portions of configure help screen.
8161         * tests/help-depend.test: New test.
8162         * tests/help-depend2.test: Likewise.
8163         * tests/help-dmalloc.test: Likewise.
8164         * tests/help-init.test: Likewise.
8165         * tests/help-lispdir.test: Likewise.
8166         * tests/help-maintainer.test: Likewise.
8167         * tests/help-multilib.test: Likewise.
8168         * tests/help-regex.test: Likewise.
8169         * tests/help-silent.test: Likewise.
8170         * tests/help-upc.test: Likewise.
8171         * tests/mmode.test: Remove tests on `configure --help' output,
8172         they are superseded by tests in `help-maintainer.test'.
8173         * tests/Makefile.am (TESTS): Update.
8174
8175 2010-09-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
8176
8177         * tests/README: Don't put GCS mandated tools in $required.
8178
8179 2010-09-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8180
8181         * HACKING: Hint at old commits with `git describe' output.
8182
8183 2010-09-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
8184
8185         Prefer `$(am__cd)' to plain `cd' in our Makefiles.
8186         * Makefile.am (recheck, dist-hook, git-dist, path-check, fetch)
8187         (release-stats): Use `$(am__cd)' rather than plain `cd'.
8188         * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
8189
8190 2010-09-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
8191
8192         Fix regression in test `colon4.test'.
8193         * tests/colon4.test: Fix botched editing to `configure.in'
8194         that made the test useless.  Since we are at it, improve
8195         comments and make grepping of generated Makefile.in slightly
8196         stricter.
8197         Regression introduced by change "Modernize, improve and/or
8198         extend tests `colon*.test" (Stefano Lattarini, 2010-08-08).
8199
8200 2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
8201
8202         Do not require "gzip" explicitly in tests.
8203         The gzip utility is simply expected to be present on any decent
8204         target system for Automake.  So it's pointless to put it in
8205         $required.
8206         * tests/install2.test ($required): Do not require "gzip".
8207         * tests/lex3.test: Likewise.
8208         * tests/pr9.test: Likewise.
8209         From a suggestion by Ralf Wildenhues.
8210
8211 2010-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
8212
8213         Use AS_HELP_STRING in AM_SILENT_RULES.
8214         * m4/silent.m4 (AM_SILENT_RULES): Use `AS_HELP_STRING' to format
8215         help message regarding configure options `--enable-silent-rules'
8216         and `--disable-silent-rules'.  Also throw in a couple of cosmetic
8217         changes in the related `case' statement (indentation, balancing
8218         of parentheses).
8219         * THANKS: Update.
8220         From a report by Jeff A. Daily.
8221
8222 2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
8223
8224         Make some `confh*.test' tests more "semantic" (plus tweakings).
8225         * tests/confh.test: Run "autoconf", "configure" and "make check",
8226         instead of munging/grepping the generated `Makefile.in'.
8227         * tests/confh4.test: Relax the grepping of Makefile.in w.r.t.
8228         white spaces.  Do not create useless dummy source file `foo.c'
8229         and useless dummy header file `acconfig.h'.
8230         (configure.in): Remove superfluous call to `AC_OUTPUT'.
8231         * tests/confh6.test: Add trailing `:' command.
8232         * tests/confh7.test: In comments, add reference to ...
8233         * tests/confh8.test: ... this new test, "semantic" sister
8234         of `confh7.test'.
8235         * tests/Makefile.am (TESTS): Updated.
8236         Prompted by a report from Ralf Wildenhues.
8237
8238 2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
8239
8240         Remove useless whitespace padding in XFAIL_TESTS definition.
8241         * tests/Makefile.am (XFAIL_TESTS): Remove whitespace padding.
8242
8243 2010-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8244
8245         parallel-tests: avoid command-line length limit issue.
8246         * automake.in (handle_tests): New argument $makefile, new
8247         substitution %MAKEFILE%.
8248         (generate_makefile): Adjust.
8249         * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
8250         sanitized TEST_LOGS value as makefile snippet on standard
8251         input to $(MAKE), to avoid exceeding the command line limit on
8252         w32 (MSYS).
8253         * NEWS: Update.
8254         Report by Bob Friesenhahn.
8255
8256         Posix 2008 requires make to set errexit.
8257         * lib/am/check.am: Update comment.
8258
8259 2010-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
8260
8261         Tests defs: remove variable $testaclocaldir.
8262         * tests/defs.in ($testaclocaldir): Removed.
8263         * tests/aclocal.test: Use `$top_testsrcdir/m4' directly, not
8264         `$testaclocaldir'.
8265
8266         Tests defs: $srcdir and $top_srcdir renaming.
8267         * tests/defs.in ($srcdir): Remove, define $testsrcdir directly.
8268         * tests/Makefile.am ($(parallel_tests)): Generation of derived
8269         tests updated.
8270
8271         Tests defs: new variable $top_testsrcdir.
8272         * tests/defs.in ($top_testsrcdir): Define unconditionally
8273         to @abs_top_srcdir@.  Use it throughout.
8274         * tests/ar-lib.test: Use `$top_testsrcdir' instead of
8275         `$testsrcdir/..'.
8276         * tests/auxdir.test: Likewise.
8277         * tests/compile.test: Likewise.
8278         * tests/compile2.test: Likewise.
8279         * tests/compile3.test: Likewise.
8280         * tests/compile5.test: Likewise.
8281         * tests/mdate6.test: Likewise.
8282         * tests/mkinst3.test: Likewise.
8283         * tests/multlib.test: Likewise.
8284         * tests/txinfo22.test: Likewise.
8285
8286         Tests defs: $srcdir is unconditionally substituted.
8287         * tests/defs.in ($srcdir): Define unconditionally to @abs_srcdir@.
8288         Remove code for $srcdir normalization, which is now useless.
8289
8290 2010-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
8291
8292         Tests defs: make spacing more consistent.
8293         * tests/defs.in: Make spacing more consistent in indentation.
8294         Especially, indent using only spaces, not tabs.  Also, move
8295         a comment to a better position.
8296
8297         Improve code for requiring libtool and gettext in tests.
8298         * tests/defs.in: Stricter (and more correct) detection of wheter
8299         libtool, libtoolize and/or gettext are in $required.
8300
8301
8302 2010-08-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
8303
8304         Fix bug in test missing6.test.
8305         * tests/missing6.test: Fix the hack used to edit `configure.in',
8306         to avoid producing a configure script that breaks with shells
8307         that do not support $LINENO.  Also throw in a couple of cosmetic
8308         changes.
8309
8310 2010-09-02  Peter Rosin  <peda@lysator.liu.se>
8311
8312         Make ar-lib support backslashed files in archives.
8313         * lib/ar-lib: If an archive member contains a backslash, make sure
8314         it is escaped when the archive member is extracted.
8315         * tests/ar-lib.test: Test the above.
8316
8317 2010-08-31  Peter Rosin  <peda@lysator.liu.se>
8318
8319         Do file name conversion for object files in the compile wrapper.
8320         * lib/compile (func_cl_wrapper): Do file name conversion for object
8321         files (i.e. extensions .obj, .OBJ, .o and .O) if needed.
8322         * tests/compile4.test: Test the above.
8323
8324 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8325
8326         Speed up removal of auxiliary linker output files for ltlibraries.
8327         * lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Rewrite using just
8328         one `rm' invocation.
8329         Report by Bob Friesenhahn.
8330
8331         Improve robustness of mdate-sh script.
8332         * lib/mdate-sh: Sanitize zsh behavior on startup, to ensure
8333         $ls_command is word-split properly upon invocation.
8334         (error): New function.
8335         (main): Use it.  Improve error checking to avoid endless loop
8336         in case $ls_command gave bogus output.  Fix eval quotation.
8337         * tests/mdate6.test: New test, to expose eval quotation error.
8338         * tests/Makefile.am: Update.
8339
8340 2010-08-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
8341
8342         Fix potential regressions in depcomp{3,5}.test.
8343         * tests/depcomp3.test: Do not uselessly escape the character `$'
8344         in makefile rules, when it's used to expand a make macro.
8345         * tests/depcomp5.test: Likewise.
8346
8347 2010-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
8348             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8349
8350         Docs: clarify how to avoid automatic dependencies tracking.
8351         * doc/automake.texi (Automatic dependency tracking): Mention that
8352         automatic dependencies tracking is enabled by default, but that
8353         the package developer can disable it altogether.  Add a reference
8354         to the proper section for a more in-depth explanation.
8355
8356         Fix typo in manual (`Makefile.in' instead of `Makefile.am').
8357         * doc/automake.texi (Automatic dependency tracking): Fix typo.
8358
8359 2010-08-16  Bruno Haible  <bruno@clisp.org>
8360
8361         Don't hide the table of contents.
8362         * doc/automake.texi: Move the table of contents to the beginning.
8363
8364 2010-08-16  Peter Rosin  <peda@lysator.liu.se>
8365
8366         Optimize compile script on MSYS.
8367         * lib/compile (func_file_conv): Add new argument 'lazy' which
8368         takes an optional list of conversion types where the requested
8369         conversion isn't needed.
8370         (func_cl_wrapper): Take advantage of the above for cases where
8371         MSYS is doing the conversion for us.
8372         Suggested by Ralf Wildenhues.
8373
8374 2010-08-16  Peter Rosin  <peda@lysator.liu.se>
8375
8376         Support more C++ file extensions for MSVC in the compile script.
8377         * lib/compile (func_cl_wrapper): MSVC only recognizes the .cpp
8378         file extension as C++, unless it's given a hint. So hint about
8379         .cc, .CC, .cxx, .CXX, c++ and C++. Also do path conversion on
8380         .c, .cpp, .CPP, .lib, .LIB and .Lib files.
8381         * tests/compile3.test: Test the C++ hinting.
8382
8383 2010-08-12  Peter Rosin  <peda@lysator.liu.se>
8384
8385         Enable the use of "link -lib" as the wrapped archiver.
8386         * lib/ar-lib: Enable the use of "link -lib" as the wrapped
8387         archiver, as well as allowing some other options to be passed
8388         through to the wrapped archiver.
8389         * tests/ar-lib.test: Test the above.
8390
8391 2010-08-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
8392
8393         Tweak and/or extend some `acloca*.test' tests.
8394         * tests/aclocal8.test:  Ensure verbose printing of captured
8395         output.
8396         * tests/aclocal.test: Likewise.  Also, add trailing `:'
8397         command.
8398         * tests/acloca19.test: Likewise.
8399         * tests/aclocal5.test: Add trailing `:' command, and prefer
8400         `$me' over hard-coded test name.
8401         * tests/aclocal6.test: Likewise.
8402         * tests/aclocal18.test: Add trailing `:' command, and make
8403         some grepping slightly stricter.
8404         * tests/acloca14.test: Likewise.  Also, prefer `diff' over
8405         `cmp', and add some "cosmetic" blank lines.
8406
8407 2010-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
8408
8409         Tweak and extend tests `pr[!0-9]*.test'.
8410         * tests/primary3.test: Add trailing `:' command.
8411         * tests/primary.test: Make grepping of Automake's stderr stricter.
8412         Also, add trailing `:' command, and cosmetic changes in spacing.
8413         * tests/primary2.test: Likewise.
8414         * tests/prefix.test: Enable `errexit' shell flags, and related
8415         changes.  Add a trailing `:' command.
8416         * tests/proginst.test: Likewise.
8417
8418         Modernize, improve and extend tests for PR (`pr[0-9]*.test').
8419         * tests/pr2.test: Add trailing `:' command.
8420         * tests/pr229.test: Likewise.
8421         * tests/pr401.test: Likewise.
8422         * tests/pr401b.test: Likewise.
8423         * tests/pr401c.test: Likewise.
8424         * tests/pr300-prog.test: Likewise, plus cosmetic changes in
8425         spacing.
8426         * tests/pr300-lib.test: Likewise.
8427         * tests/pr300-ltlib.test: Likewise, and ensure verbose printing
8428         of captured make stdout.
8429         * tests/pr211.test: Add trailing `:' command.  Also, use the
8430         `configure.in' stub created by ./defs, rather than writing it
8431         from scratch.
8432         * tests/pr204.test: Likewise, plus cosmetic spacing changes.
8433         * tests/pr287.test: Likewise, and move setting of `errexit' shell
8434         flag earlier in the script (just after inclusion of ./defs).
8435         * tests/pr220.test: Make grepping of Automake's stderr stricter.
8436         Also, add trailing `:' command, and cosmetic changes in spacing.
8437         * tests/pr224.test: Move setting of `errexit' shell flag earlier
8438         in the script (just after inclusion of ./defs).  Do not export
8439         `CC=gcc' to configure explicitly (it's already exported globally
8440         in ./defs, since we have "gcc" in $required).  Use the stub for
8441         `configure.in' created by ./defs, rather than writing it from
8442         scratch.  Do not create dummy files required by "gnu" mode (e.g.
8443         README, NEWS), since we run automake in foreign mode anyway.
8444         * tests/pr72.test: Enable `errexit' shell flags, and related
8445         changes.  Extend existing checks a bit.
8446         * tests/pr9.test: Likewise.  Also, avoid obsolescent constructs in
8447         the generated `configure.in', and extend existing checks over the
8448         generated tarball a bit.
8449         * tests/pr87.test: Enable `errexit' shell flags, and related
8450         changes.  Add a trailing `:' command.  Also, do not create dummy
8451         files required by "gnu" mode (e.g. README, NEWS), since we run
8452         automake in foreign mode anyway.
8453         * tests/pr243.test: Avoid obsolescent constructs in the generated
8454         `configure.in'.  Enable the `errexit' shell flag, and related
8455         changes.  Cosmetic changes to spacing, add trailing `:' command,
8456         and add a "FIXME" comment.
8457         * tests/pr266.test: Likewise, and add explicit command line switch
8458         `--enable-dependency-tracking' to the ./configure call.
8459         * tests/pr279.test: Avoid obsolescent constructs in the generated
8460         `configure.in'; also, use the `configure.in' stub created by
8461         ./defs, rather than writing it from scratch.  Enable `errexit'
8462         shell flag, and related changes.  Add trailing `:' command.
8463         * tests/pr279-2.test: Likewise, and make grepping of Makefile.in
8464         stricter.
8465         * tests/pr307.test: Move setting of `errexit' shell flag earlier
8466         in the script (just after inclusion of ./defs).  Escape literal
8467         dots in grep regular expressions.  Also, add a trailing `:'
8468         command, and cosmetic changes to spacing.
8469
8470         Tests for PR: add excerpts from original bug report, for clarity.
8471         * tests/pr2.test: Ditto.
8472         * tests/pr9.test: Likewise.
8473         * tests/pr72.test: Likewise.
8474         * tests/pr87.test: Likewise.
8475         * tests/pr211.test: Likewise.
8476         * tests/pr220.test: Likewise.
8477         * tests/pr224.test: Likewise.
8478         * tests/pr229.test: Likewise.
8479         * tests/pr243.test: Likewise.
8480         * tests/pr266.test: Likewise.
8481         * tests/pr279.test: Likewise, and tell to keep it in sync
8482         with its sister test.
8483         * tests/pr279-2.test: Likewise.
8484
8485 2010-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
8486
8487         Tweak, extend and improve tests `cond[a-z]*.test'.
8488         * tests/condd.test: Add trailing `:' command.  Typofix in
8489         comment.
8490         * tests/condhook.test: Make sure target `install-data-hook' is
8491         not called by `make install', but that data files are installed.
8492         Use proper m4 quoting in configure.in. Add trailing `:' command.
8493         * tests/condhook2.test: New test, sister test of condhook, with
8494         inverted semantic.
8495         * tests/condinc2.test: Use proper m4 quoting in configure.in.
8496         Prefer trailing `:' command over trailing `Exit 0'.
8497         * tests/condman2.test: Enable errexit shell flag, and related
8498         changes.  Add trailing `:' command.
8499         * tests/condman.test: Likewise.  Also, do not create useless
8500         dummy manpages, and use proper m4 quoting in configure.in.
8501         * tests/condman3.test: New test, similar to condman.test, but
8502         it also runs ./configure and "make install", and check the
8503         installed files.
8504         * tests/Makefile.am (TESTS): Updated.
8505
8506         Modernize, improve and/or extend tests `colon*.test.
8507         * tests/colon.test: Rely on the `configure.in' stub created by
8508         `./defs', rather than writing one from scratch.  Do not create
8509         a useless dummy file.  Add trailing `:' command.
8510         * tests/colon4.test: Enable the `errexit' shell flag, and
8511         related changes.  Rely on the `configure.in' stub created by
8512         `./defs', rather than writing one from scratch.
8513         * tests/colon7.test: Enable `errexit' shell flag, and related
8514         changes.  Improve the generated `configure.in' file.  Add
8515         trailing `:' command.
8516         * tests/colon2.test: Likewise.  Also, add some new checks.
8517         * tests/colon5.test: Improve the generated `configure.in' file.
8518         Add new, much deeper checks.  Add trailing `:' command.
8519         * tests/colon6.test: Likewise.
8520         * tests/colon3.test: Add trailing `:' command.  Remove useless
8521         comments and echos.  Improve the generated `configure.in' file.
8522         make some grepping tests stricter.  Add a "FIXME" comments about
8523         planned improvements.
8524
8525         Improve and extend tests `asm*.test'.
8526         * tests/asm.test: Use configure.in stub generated by ./defs,
8527         and avoid obsoleted autoconf constructs.  Make grepping of
8528         Automake stderr stricter.  Do not create useless source file.
8529         Improve verbose messages.  Minor cosmetic changes.  Tell to
8530         keep it in sync with other sister tests asm*.test.
8531         * tests/asm2.test: Likewise.
8532         * tests/asm3.test: Likewise.
8533
8534         Modernize, improve and/or extend test scripts `conf*.test'.
8535         * tests/confh5.test: Cosmetic changes.
8536         * tests/conff.test: Likewise.
8537         * tests/confdeps.test: Likewise.
8538         * tests/conflnk.test: Likewise.
8539         * tests/conflnk2.test: Likewise.
8540         * tests/confsub.test: Likewise.
8541         * tests/confvar.test: Likewise, and make grepping of Makefile.in
8542         stricter.
8543         * tests/confvar2.test: Likewise.
8544         * tests/conflnk3.test: Cosmetic changes.  Re-enable a temporarily
8545         disabled test (which didn't work with autoconf <= 2.59, but now we
8546         are requiring autoconf 2.62, so...)
8547         * tests/conflnk4.test: Cosmetic changes, and extend existing tests
8548         accordingly to "TODO" comments.
8549         * tests/conff2.test: Make grepping of Automake's stderr stricter.
8550         Add some comments explaining why we don't use the `configure.in'
8551         stub preset be ./defs.
8552         * tests/confh.test: Use the `configure.in' stub created by ./defs,
8553         rather than writing one from scratch, and do not call AC_OUTPUT.
8554         Enable `errexit' shell flag, and related changes.  Prefer diff over
8555         cmp to compare text files. Prefer perl over sed to fetch the value
8556         of $(DIST_COMMON) from Makefile.in.  Make grepping of the contents
8557         of $(DIST_COMMON) stricter.
8558         * tests/confh4.test: Use the `configure.in' stub created by ./defs,
8559         rather than writing one from scratch.  Make grepping of Makefile.in
8560         stricter.
8561         * tests/confh5.test: Make grepping of `config.h' stricter.  Add a
8562         comment.
8563         * tests/configure.test: Avoid obsolescent constructs in generated
8564         `configure.ac'.  Do not write `configure.in' two times.  Escape
8565         literal dots in grep regular expressions.
8566         * tests/confincl.test:  Enable `errexit' shell flag, and related
8567         changes.  Prefer fgrep over grep.  Other cosmetic changes.
8568         * tests/config.test: Renamed to ...
8569         * tests/confh6.test: ... this.  Fix m4 quoting in `configure.in',
8570         and make grepping of `config.h' and `config.h.in' stricter.
8571         * tests/conf2.test: Renamed ...
8572         * tests/confh7.test: ... to this.  Use the `configure.in' stub
8573         created by ./defs, rather than writing one from scratch.  Try to
8574         run the checks both with and without AC_PROG_CC and AC_OUTPUT in
8575         `configure.in'.
8576         * tests/Makefile.am (TESTS): Updated.
8577
8578         Minor improvements and fixes in tests `depcomp*.test'.
8579         * tests/depcomp.test: Do not create useless dummy source files.
8580         Add a trailing `:' command.
8581         * tests/depcomp2.test: Use `unset' on the CFLAGS variable to ensure
8582         it's not in in the environment, rather than exporting it with an
8583         empty value.  Do not pass CC=gcc to configure, as that's already
8584         done in ./defs since we have gcc in $required.  Ensure verbose
8585         printing of captured stderr, and normalize its checking.  Add a
8586         trailing `:' command.
8587         * tests/depcomp3.test: Quote literal dots and dollar characters in
8588         grep regexps.  Always use `: >' rather than `touch' to create empty
8589         files.  Explicitly declare phony targets as such in the created
8590         Makefile.am.  Add a trailing `:' command.
8591         * tests/depcomp4.test: Quote literal dots and dollar characters in
8592         grep regexp.  Explicitly declare phony targets as such in the
8593         created Makefile.am.  Ensure verbose printing of captured makes'
8594         stoud/stderr.  Add a trailing `:' command.
8595         * tests/depcomp5.test: Move setting of `errexit' shell flag earlier
8596         in the script (just after inclusion of ./defs).  Quote literal dots
8597         and dollar characters in grep regexps.  Explicitly declare phony
8598         targets as such in the created Makefile.am.  Add a trailing `:'
8599         command.
8600         * tests/depcomp6.test: Consistently use m4 quoting in the generated
8601         configure.in.  Cosmetic fixes to spacing.  Make the "dummy" `if'
8602         statement required by OpenBSD's sh `set -e' more robust, and add
8603         explanatory comments to it.
8604         * tests/depcomp7.test: Likewise, and add  a trailing `:' command.
8605
8606         Separate failing part of test `all.test'.
8607         * tests/all.test: Keep only (x)failing part of the test.  Working
8608         checks moved out to ...
8609         * tests/all2.test: ... this new test.
8610         * tests/Makefile.am (TESTS): Updated.
8611
8612         Modernize, improve and extend tests `subobj*.test'.
8613         * tests/subobjname.test:  Add trailing `:' command.
8614         * tests/subobj.test: Make grepping of `Makefile.in' stricter.
8615         Escape literal dots in grep regexps.
8616         * tests/subobj2.test:  Add trailing `:' command.  Do not use the
8617         unportable fgrep option `-e'.
8618         * tests/subobj3.test: Add trailing `:' command.
8619         (configure.in): Use proper m4 quoting, and avoid obsolescent
8620         constructs.
8621         * tests/subobj8.test: Likewise.  Also, enable `errexit' shell
8622         flag, with related changes
8623         * tests/subobj4.test: Likewise.  Also, make grepping of
8624         `Makefile.in' stricter.
8625         * tests/subobj5.test: Add trailing `:' command.  Move setting of
8626         `errexit' shell flag earlier in the script (just after inclusion
8627         of ./defs).
8628         (configure.in): Use the stub created by `./defs', rather than
8629         writing it from scratch, and avoid obsolescent constructs.
8630         * tests/subobj6.test: Add trailing `:' command.  Move setting of
8631         `errexit' shell flag earlier in the script (just after inclusion
8632         of ./defs).  Do not create useless dummy ac-init file `f'.
8633         * tests/subobj7.test: Do not create useless dummy ac-init file
8634         `f'.
8635         (configure.in): Use the stub created by `./defs', rather than
8636         writing it from scratch, and avoid obsolescent constructs.
8637         * tests/subobj9.test: Move setting of `errexit' shell flag earlier
8638         in the script (just after inclusion of ./defs).  Fail the test if
8639         `make distcheck' fails.  Ensure verbose printing of captured make
8640         stdout.  Avoid useless fork by doing simple grep instead of using
8641         test -n "`COMMAND | grep ...`".
8642         (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
8643         (Makefile.am): Explicitly mark target "print" as phony.
8644         * tests/subobj10.test: Removed duplicated call to `set -e'.  Add
8645         trailing `:' command.
8646         (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
8647
8648         Remove a couple of obsoleted tests.
8649         * tests/fpinstall.test: Removed.
8650         * tests/fpinst2.test: Likewise.
8651         * tests/Makefile.am (TESTS): Updated.
8652
8653         Bootstrap: updated HACKING entry.
8654         * HACKING ("Working with git"): Explain how to override the
8655         autoconf and autom4te programs used by the bootstrap process.
8656
8657         Bootstrap: fixlet.
8658         * bootstrap: Do not remove `lib/Automake/Config.pm' anymore,
8659         since we don't generate it.  Correctly quote arguments of
8660         `eval' builtin.  Fixed a botched error message.  Removed an
8661         extra blank line.
8662
8663         Bootstrap: don't search perl in $PATH.
8664         * bootstrap: Do not explicitly search perl in $PATH anymore.
8665         ($PATH_SEPARATOR): Removed, it's no more needed.
8666
8667         Bootstrap: let the user choose which autoconf to use.
8668         * bootstrap ($AUTOCONF): New variable, from the environment.
8669         ($AUTOM4TE): Likewise, for clarity.
8670         Use "$AUTOCONF" instead of calling "autoconf" directly.
8671
8672         Minor improvements to tests ar*.test.
8673         * tests/ar.test: Add trailing `:' command.
8674         * tests/ar2.test: Likewise, and make grepping of generated
8675         Makefile.in stricter.
8676
8677 2010-08-06  Peter Rosin  <peda@lysator.liu.se>
8678
8679         Add new auxiliary 'ar-lib' script, wrapping Microsoft lib.
8680         * lib/ar-lib: New auxiliary script.
8681         * lib/Makefile.am: Add above.
8682         * tests/ar-lib.test: New test.
8683         * tests/Makefile.am: Add above.
8684         * automake.in (@common_files): Distribute the 'ar-lib' script.
8685         * doc/automake.texi (Auxiliary Programs): Mention the new
8686         'ar-lib' script.
8687         (Optional): Mention 'ar-lib' in AC_CONFIG_AUX_DIR.
8688         * NEWS: Update.
8689
8690 2010-08-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8691
8692         Fix shell pattern negation in compile script.
8693         * lib/compile (func_file_conv): Use `!' not `^' for pattern
8694         negation.
8695
8696 2010-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8697
8698         Fix maintainer-check failure.
8699         * tests/cond5.test: Quote sleep argument, this isn't about
8700         time stamp differences.
8701
8702         Sync auxiliary files from upstream.
8703         * lib/config.guess, lib/config.sub, lib/texinfo.tex:
8704         Sync from upstream.
8705
8706 2010-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
8707
8708         Work around a nasty bug (segfault) of Solaris make.
8709         * lib/am/check.am (recheck, recheck-html): Trim trailing spaces
8710         from $list, to avoid triggering a nasty bug (potential segfault)
8711         on Solaris make.
8712
8713 2010-08-06  Peter Rosin  <peda@lysator.liu.se>
8714
8715         Make cond5.test more robust on MSYS.
8716         * tests/cond5.test: Add delay before the first kill attempt to
8717         cater for problems with MSYS bash.
8718
8719 2010-08-01  Peter Rosin  <peda@lysator.liu.se>
8720
8721         Wrap some MSVC options in the compile script.
8722         * lib/compile: MSVC supports naming the output file, the option
8723         is just not called -o, so transform -o into the appropriate form
8724         for MSVC. Also wrap some other options while at it (-L, -l, -Wl,
8725         -Xlinker and -I) and convert file names to windows form where
8726         needed for those options to make MSVC more usable in an
8727         autotooled environment.
8728         * doc/automake.texi (Auxiliary Programs): Document the above
8729         extension of the compile script.
8730         * NEWS: Updated.
8731         * tests/defs.in: New required entry 'cl'.
8732         * tests/compile3.test: New test.
8733         * tests/compile4.test: New test.
8734         * tests/compile5.test: New test.
8735         * tests/Makefile.am: Update.
8736
8737 2010-07-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8738
8739         Add example git work flow; discuss merge --log in HACKING.
8740         * HACKING: Update.
8741         Suggestion by Stefano Lattarini.
8742
8743         Add more hints for debugging make rules.
8744         * doc/automake.texi (Debugging Make Rules): Show command to find
8745         out expanded values of variables; point to makefile debugger.
8746         * THANKS: Update.
8747         Prompted by suggestion from Ludovic Courtès and Andy Wingo.
8748
8749 2010-07-27  Patrick Welche  <prlw1@cam.ac.uk>  (tiny change)
8750
8751         Fix typo in the manual.
8752         * doc/automake.texi (Scripts): Fix typo.
8753
8754 2010-07-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8755
8756         Document current policy for development with git.
8757         * HACKING (Working with git): Overhaul.
8758         Prompted by suggestion from Stefano Lattarini.
8759
8760         Fix AM_COND_IF for gone-invalid condition shell expression.
8761         * m4/cond-if.m4 (AM_COND_IF): test contents of $COND_TRUE
8762         variable, rather than re-evaluating the shell expression for
8763         the condition.
8764         * tests/cond40.test: Extend test.
8765         * NEWS: Update.
8766
8767         Avoid syntax error if IF-TRUE part of AM_COND_IF expands empty.
8768         * m4/cond-if.m4 (AM_COND_IF): Ensure IF-TRUE part is never empty
8769         to avoid shell syntax error if the m4 expansion is empty.
8770         * tests/cond40.test: Enhance test.
8771
8772         Coverage: bogus option to AM_INIT_AUTOMAKE.
8773         * tests/init2.test: New test.
8774         * tests/Makefile.am: Update.
8775
8776 2010-07-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
8777
8778         Modernize and improve test scripts `subdir*.test'.
8779         * tests/subdir.test: Enable `errexit' shell flag, and related
8780         changes.  Use the `configure.in' stub created by `./defs',
8781         rather than writing one from scratch.
8782         * tests/subdir2.test: Likewise.
8783         * tests/subdir4.test: Likewise.
8784         * tests/subdir3.test: Enable `errexit' shell flag, and related
8785         changes.  Do not create useless dummy source files.
8786         * tests/subdir5.test: Make grepping of Makefile.in (in topdir
8787         and in subdirs) stricter.  Some minor changes to keep it more
8788         in sync with the related test `subdir8.test'.
8789         * tests/subdir8.test: Likewise (but with the related test being
8790         `subdir5.test' here).
8791         * tests/subdir6.test: Cosmetic change in spacing.
8792         * tests/subdir9.test: Define and use new variable `$distdir'.  Add
8793         trailing `:' command.
8794         * tests/subdir10.test: Cosmetic consistency-related change.
8795         * tests/subdirbuiltsources.test: Cosmetic changes in spacings.
8796         (configure.in): Use stub created by `./defs', rather than writing
8797         it from scratch.  Do not use obsoleted and/or deprecated forms of
8798         autoconf/automake macros.
8799
8800         Modernize and improve test scripts `dist*.test'.
8801         * tests/distcleancheck.test: Do not add useless `-e' option to
8802         a $MAKE call.  Extend test by grepping stderr of make.
8803         * tests/distcom2.test: Do not run the same test script on the
8804         Makefile.in twice, but save its output in an intermediate file
8805         instead.  Make grepping of DIST_COMMON definition stricter.
8806         Display the content of more files, to ease debugging.  Add a
8807         trailing `:' command.  Improved heading comments w.r.t. sister
8808         test(s).
8809         * tests/distcom6.test: Likewise, and avoid to uselessly run
8810         autoconf.
8811         * tests/distcom3.test: Ensure verbose printing of captured stdout
8812         and stderr.  Make grepping of captured stderr stricter.  Also,
8813         add trailing `:' command.
8814         * tests/distcom4.test: Declare the target `test' in the generated
8815         Makefile.am as `.PHONY'.  Display content of more files, to ease
8816         debugging.  Add trailing `:' command.
8817         * tests/distcom5.test: Likewise.  Also, factor out common sed
8818         script in subroutine `extract_distcommon'.
8819         * tests/distcom7.test: Prefer cat + here-doc over echo to write
8820         test Makefile.am files.  Add a trailing `:' command.
8821         * tests/distname.test: Prefer `gzip -d' over `gunzip'.  Move the
8822         call to `set -e' earlier.  Be stricter and more verbose in the
8823         checking of the generated tarball.
8824         (configure.in): Use the stub provided by ./defs, instead of
8825         writing it from scratch.  Avoid obsoleted constructs.  Remove
8826         useless call to `AM_PROG_CC_C_O'.
8827         * tests/distdir.test: Various minor improvements/normalizations.
8828         * tests/distlinks.test: Likewise.
8829
8830 2010-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
8831
8832         Improve and extend test cond5.test.
8833         * tests/cond5.test: Do not blindly sleep 60 seconds before polling
8834         the background automake process, but poll it every 10 seconds for
8835         at most 30 times (this makes the test both faster on good machines,
8836         and more resilient to spurious timeout-due failures when in low
8837         priority or on heavily-loaded systems).
8838         Check also that automake writes the expected error messages on the
8839         standard error.
8840         Enable `errexit' flag, and related changes.
8841         Rely on the `configure.in' stub created by `./defs', rather than
8842         writing one from scratch.
8843
8844 2010-06-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8845
8846         Update program --help output to match current GCS.
8847         * configure.ac: Set and substitute PACKAGE_URL if AC_PACKAGE_URL
8848         is not defined, for compatibility to Autoconf < 2.64.
8849         * Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT and
8850         PACKAGE_URL.
8851         (sc_diff_automake_in_automake): Update number of diff lines for
8852         additional substitutions.
8853         * aclocal.in (usage): Use PACKAGE_BUGREPORT.  Point to Automake
8854         home page and GNU general help page.
8855         * automake.in (usage): Likewise.
8856         * doc/automake.texi: New flag PACKAGE_BUGREPORT, to factor email
8857         address.
8858         (Introduction, Creating amhello, amhello Explained, Options):
8859         Use it throughout.
8860         * lib/Automake/Makefile.am (do_subst): Substitute
8861         PACKAGE_BUGREPORT.
8862         * lib/Automake/Config.in ($PACKAGE_BUGREPORT): New global.
8863         * lib/Automake/ChannelDefs.pm: Use it for footer of fatal
8864         messages.
8865
8866         Clean up @var handling in the manual.
8867         * doc/automake.texi: Throughout the manual, lower-case @var
8868         names, replace a few one-character names.
8869
8870 2010-06-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
8871
8872         Fix typo-related bug in test script silent5.test.
8873         * tests/silent5.test: Use $EGREP, not $GREP (which is not even
8874         defined).
8875
8876         Tests: remove useless repetitions of `foreign' automake option.
8877         * tests/multlib.test (configure.in): Remove useless use of
8878         `foreign' option in AM_INIT_AUTOMAKE (the `--foreign' option is
8879         already in $AUTOMAKE by default, so no point in repeating it).
8880         * tests/subobj10.test: Likewise.
8881         * tests/subobj9.test: Likewise.
8882         * tests/lex3.test (Makefile.am): Similarly, remove useless use
8883         of `foreign' option in AUTOMAKE_OPTIONS.
8884         * tests/lex5.test: Likewise.
8885         * tests/pr279.test: Likewise.
8886         * tests/pr279-2.test: Likewise.
8887         * tests/specflg3.test: Likewise.
8888         * tests/target-cflags.test: Likewise.
8889
8890         Drop useless requirement "gzip" in lex5.test.
8891         * tests/lex5.test ($required): Do not list "gzip", as it's
8892         never used.
8893
8894 2010-06-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
8895
8896         Fix bugs in test script silent5.test.
8897         * tests/silent5.test: Fixed a nasty bug (due to the use of grep
8898         instead of egrep) that could have led to false negatives.
8899
8900 2010-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
8901
8902         Add a test checking that distributed broken symlinks cause
8903         `make dist' to fail.
8904         * tests/distlinksbrk.test: New test.
8905         * tests/Makefile.am (TESTS): Updated.
8906
8907 2010-06-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8908
8909         Fix minor testsuite issues, update docs, for Yacc/Lex changes.
8910         * doc/automake.texi (Yacc and Lex): Mention AM_YFLAGS, YFLAGS
8911         and AM_LFLAGS, LFLAGS in the order in which they now appear in
8912         the rules.
8913         * NEWS: Update.
8914         * tests/lflags.test, tests/lflags2.test, tests/yflags.test,
8915         tests/yflags2.test: Prefer `make -e' over `make VAR=VAL', to
8916         please maintainer-check.  Ensure generated C files contain a
8917         declaration, to please compilers.
8918
8919 2010-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
8920
8921         Fix bugs in Automake Yacc/Lex support w.r.t. $(AM_FLAGS) and
8922         $(FLAGS) precedence.
8923         * automake.in: Fix registration of languages "Lex", "Lex (C++)",
8924         "Yacc" and "Yacc (C++)", so that $(LFLAGS) has precedence over
8925         $(AM_LFLAGS) and $(YFLAGS) has precedence over $(AM_YFLAGS).
8926         * tests/Makefile.am (XFAIL_TESTS): Updated accordingly.
8927         * NEWS: Updated.
8928
8929         New tests, exposing bugs in Automake Yacc/Lex support w.r.t.
8930         $(AM_FLAGS) and $(FLAGS) precedence.
8931         * tests/lflags.test: New test, check that user $(LFLAGS) takes
8932         precedence over automake (AM_LFLAGS) and (foo_LFLAGS).  Still
8933         xfailing.
8934         * tests/lflags2.test: Likewise.
8935         * tests/yflags.test: New test, check that user $(YFLAGS) takes
8936         precedence over automake (AM_YFLAGS) and (foo_YFLAGS).  Still
8937         xfailing.
8938         * tests/yflags2.test: Likewise.
8939         * tests/Makefile.am (TESTS, XFAIL_TESTS): Extended accordingly.
8940
8941 2010-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
8942
8943         Modernize, improve and extend tests `suffix*.test'.
8944         * tests/suffix3.test: Enable `errexit' shell flag, and related
8945         changes.
8946         * tests/suffix4.test: Likewise.
8947         * tests/suffix6.test: Likewise, and do not create a useless dummy
8948         source file.
8949         * tests/suffix7.test: Likewise.
8950         * tests/suffix5.test: Enable `errexit' shell flag, and related
8951         changes.  Make grepping of Makefile.in slightly stricter.
8952         * tests/suffix.test: Enable `errexit' shell flag, and related
8953         changes.  Also, do not redirect grep output to /dev/null, as this
8954         might unmotivatedly hide useful information.
8955         * tests/suffix2.test: Move setting of `errexit' shell flag earlier
8956         in the script (just after inclusion of ./defs).  Use a more
8957         idiomatic way to count text occurrences in Makefile.in with
8958         grep.  Do not create useless dummy source files.
8959         * tests/suffix10.test: Ensure verbose printing of captured make
8960         stdout.  Minor cosmetic changes.
8961         * tests/suffix8.test: Likewise.  Also, drop useless call to the
8962         env(1) utility, and make grepping of make output stricter by using
8963         $FGREP rather than plain grep.
8964         * tests/suffix11.test: Likewise.
8965         * tests/suffix12.test: Likewise.
8966         * tests/suffix9.test: Prefer cat + here-doc over echo to append to
8967         the `configure.in' stub.  Cosmetic changes.
8968         * tests/suffix13.test: Cosmetic spacing change.
8969
8970 2010-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
8971
8972         Add useful comment in test script ext.test.
8973         * tests/ext.test: Add a comment explaining why an apparently
8974         useless `if' statement is indeed required.
8975
8976 2010-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
8977
8978         Add useful comment in test script obsolete.test.
8979         * tests/obsolete.test: Add a comment explaining why we need
8980         an indirection in adding $AUTOUPDATE to $required.
8981
8982         Normalize whitespaces in 'tests/Makefile.am'.
8983         * tests/Makefile.am (TESTS): Use only spaces, not tabs, in the
8984         definition of this variable.
8985
8986         Parallel tests generation: improve comments (tiny change).
8987         * tests/Makefile.am ($(parallel_tests)): Added useful comment to
8988         generated tests.
8989
8990         Tests defs: truly get rid of `$am_defs_included' (unused variable)
8991          * tests/defs.in ($am_defs_included): Remove, its now unused.  It
8992         should have been removed in a previous changeset, but the removal
8993         was done only partially (oversight).
8994
8995 2010-06-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8996
8997         Remove a couple of unneeded conditionals from tests.
8998         * tests/pr243.test, tests/pr266.test, tests/strip.test: No need
8999         for the FOOTEST conditional.
9000
9001 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
9002
9003         Modernize, improve and/or fix various test scripts.
9004         * tests/symlink3.test: Deleted, separated into two new, more
9005         complete tests ...
9006         * tests/forcemiss.test: ... this one ...
9007         * tests/forcemiss2.test: ... and this one.
9008         * tests/symlink2.test: Enable `errexit' shell flag, make test
9009         stricter, and skip it if symlink creation is not supported.
9010         * tests/postproc.test: Enable `errexit' shell flag, related
9011         changes, and a couple of unrelated cosmetic changes.
9012         * tests/recurs.test: Use the `configure.in' stub created by
9013         `./defs', rather than writing one from scratch.  Make grepping
9014         of Automake stderr slightly stricter.
9015         * tests/substtarg.test: Likewise.
9016         * tests/strip.test: Likewise, and move the call to `set -e'
9017         earlier (just after the inclusion of `./defs'). Also, make sure
9018         that the script installed by `make install-script' is equal to
9019         the original one.
9020         * tests/substref.test: Use the `configure.in' stub created by
9021         `./defs', rather than writing one from scratch.  Move the call
9022         to `set -e' earlier (just after the inclusion of `./defs').
9023         Avoid to explicitly export CC for configure (that's already done
9024         in ./defs).  Avoid potential problems with unpredictable make
9025         output.  Finally, make grepping of Makefile.in stricter.
9026         * tests/substre2.test: Ensure verbose printing of the captured
9027         make's output, and make its grepping slightly stricter.
9028         * tests/cygwin32.test: Enable `errexit' shell flag, and related
9029         changes.  Also, do not create useless dummy source/data files.
9030         * tests/scripts.test: Likewise.
9031         * tests/recurs2.test: Likewise.  Also, use the `configure.in'
9032         stub created by `./defs'.
9033         * tests/Makefile.am (TESTS): Updated.
9034
9035         Modernize, improve and/or fix tests `pluseq*.test.
9036         * tests/pluseq5.test: Append to configure.in using cat with an
9037         here-doc, not using echo.
9038         * tests/pluseq10.test: Make sure that the captured output of
9039         `make' command is always displayed. Where possible, use $FGREP
9040         instead of grep (this change makes some checks slightly stricter).
9041         * tests/pluseq8.test: Enable `errexit' shell flag, with related
9042         changes.
9043         * tests/pluseq.test: Likewise.  Also, do not create useless dummy
9044         data files, and use better m4 quoting in generated configure.in.
9045         * tests/pluseq2.test: Likewise.  Also, append to configure.in
9046         using cat with an here-doc, not using echo.
9047         * tests/pluseq3.test: Likewise.
9048         * tests/pluseq4.test: Likewise.
9049         * tests/pluseq6.test: Likewise.
9050         * tests/pluseq7.test: Do not create useless dummy source file.
9051         * tests/pluseq9.test: Slightly extended w.r.t. the grepping of
9052         Automake stderr.  Some unrelated cosmetic changes.
9053
9054 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
9055
9056         cscope.test: ensure verbose printing of captured stderr.
9057         * tests/cscope.test: Print captured stderr before failing.
9058
9059 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
9060
9061         Testsuite: ensure verbose printing of captured stderr.
9062         * tests/acloca18.test: Print captured stderr before either failing
9063         or grepping it.  Be sure to send captured stderr to stderr, not to
9064         stdout.
9065         * tests/ansi3b.test: Likewise.
9066         * tests/cond39.test: Likewise.
9067         * tests/configure.test: Likewise.
9068         * tests/missing3.test: Likewise.
9069         * tests/missing6.test: Likewise.
9070         * tests/output-order.test: Likewise.
9071         * tests/pr300-ltlib.test: Likewise.
9072         * tests/python6.test: Likewise.
9073         * tests/python7.test: Likewise.
9074         * tests/python8.test: Likewise.
9075         * tests/python9.test: Likewise.
9076         * tests/subobj.test: Likewise.
9077         * tests/vars3.test: Likewise.
9078         * tests/missing4.test: Likewise, and fix a call to grep not to use
9079         the `-c' flag.
9080         * tests/ansi3.test: Likewise, and rely on the `configure.in' stub
9081         created by `./defs', rather than writing one from scratch.
9082
9083         Enable `errexit' shell flag in various tests.
9084         * tests/backsl.test: Enable the `errexit' shell flag, and
9085         related changes.
9086         * tests/backsl2.test: Likewise.
9087         * tests/block.test: Likewise.
9088         * tests/canon2.test: Likewise.
9089         * tests/canon4.test: Likewise.
9090         * tests/comment2.test: Likewise.
9091         * tests/condlib.test: Likewise.
9092         * tests/cond15.test: Likewise, and prefer $FGREP over grep.
9093         * tests/canon3.test: Likewise.  Also, avoid to create an useless
9094         dummy source file.
9095         * tests/acoutpt2.test: Enable the `errexit' shell flag, and some
9096         related changes.  Do some cosmetic improvements in the generated
9097         `configure.in' file.
9098         * tests/cond4.test: Likewise.
9099         * tests/cond14.test: Likewise.
9100         * tests/condinc.test: Likewise.
9101         * tests/cond7.test: Likewise.  Also, remove useless setting of
9102         AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am.
9103         * tests/ansi.test: Enable the `errexit' shell flag, and related
9104         changes.  Extended, esp. by running autoconf, ./configure and
9105         make, and by looking into the distdir.
9106
9107 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
9108             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9109
9110         Extend tests/README w.r.t. trailing `:' in test scripts.
9111         * tests/README (section "Writing test cases" subsection "Do"):
9112         Explain why apparently redundant trailing `:' and `Exit 0' in
9113         test scripts can indeed be useful.
9114
9115 2010-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9116
9117         Improve determination of PATH separator in bootstrap script.
9118         * bootstrap: Determine what the PATH separator is the same way
9119         autoconf does.
9120
9121         Minor improvements in bootstrap script.
9122         * bootstrap: Consistently use two-spaces indentation.  Cosmetic
9123         improvement to comments.
9124         ($me): New variable, containing program basename.
9125         Prepend it to all error messages.
9126
9127         Testsuite now works with BSD make in parallel mode.
9128         * tests/defs.in: Unset variables __MKLVL__ and MAKE_JOBS_FIFO,
9129         which are exported by BSD make when run in parallel mode, and
9130         which can confuse make processes spawned by our testsuite.
9131         This change fixes a lot of spurious failure when the testsuite
9132         is run with BSD make in parallel mode.
9133
9134 2010-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
9135
9136         Modernize, improve and/or fix various test scripts.
9137         * tests/sanity.test: Rely on the `configure.in' stub created by
9138         `./defs', rather than writing one from scratch.
9139         * tests/depend2.test: Likewise.  Also, call `set -e' just after
9140         the inclusion of `./defs', instead that later in the script.
9141         * tests/canon5.test: Avoid a useless `|| Exit 1' after a call to
9142         $AUTOMAKE, and improve the positioning of an $ACLOCAL call.
9143         * tests/exeext4.test: Use $FGREP instead of grep, where possible.
9144         Make auxiliary rules in the generated Makefile more silent.
9145         These changes make some checks slightly stricter.
9146         * tests/ext2.test: Call `Exit 1' if inclusion of `./defs' fails.
9147         * tests/gettext2.test: Place final `:' at the end of the script,
9148         rather than in the middle.
9149         * tests/exeext.test: Call `set -e' just after the inclusion of
9150         `./defs', instead that later in the script.
9151         * tests/extra5.test: Likewise.
9152         * tests/confdeps.test: Likewise.  Also, prefer `mv -f' over
9153         plain `mv', just to be sure.
9154         * tests/depcomp.test: Enable `errexit' shell flag, with related
9155         changes.  Also, modernize the generated configure.in.
9156         * tests/cond9.test: Likewise.  Also, rely on the `configure.in'
9157         stub created by `./defs', rather than writing one from scratch.
9158         * tests/cond10.test: Likewise.
9159         * tests/depcomp2.test: Likewise.
9160         * tests/depend3.test: Likewise.
9161         * tests/distcom7.test: Likewise.
9162         * tests/fortdep.test: Likewise.  Also, remove definition of
9163         AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am,
9164         since that flag is already provided by $AUTOMAKE.
9165         * tests/mdate.test: Made stricter, by checking that Automake
9166         actually failed, and by making a stricter grep on the error
9167         message.  Also, set shell `errexit flag'.
9168         * tests/python2.test: Improved verbose messages.
9169
9170         Make test `ammissing.test' stricter.
9171         * tests/ammissing.test: Fail if $ACLOCAL succeeds unexpectedly.
9172         Enable `errexit' shell flag.
9173
9174 2010-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
9175             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9176
9177         Fix error in generation of parallel tests.
9178         * tests/defs.in ($am_skip_defs): New variable, to be used when
9179         ./defs must be sourced multiple times.  If set, unset it and
9180         only define $srcdir; otherwise, also go through the rest of
9181         the script.
9182         ($am_defs_included): Remove, no more needed.
9183         * tests/Makefile.am ($(parallel_tests)): Update accordingly,
9184         using only $srcdir from defs.
9185         Fixes potential test failures of tests that use $required.
9186
9187 2010-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
9188
9189         Enable `errexit' shell flag in some test scripts.
9190         * tests/subcond.test: Enabled `errexit' shell flag, and related
9191         minor changes.
9192         * tests/subst.test: Likewise.
9193         * tests/vars.test: Likewise.
9194         * tests/version4.test: Likewise.
9195         * tests/vpath.test: Likewise.
9196         * tests/vtexi2.test: Likewise.
9197         * tests/werror.test: Likewise.
9198         * tests/whoami.test: Likewise.
9199         * tests/tags.test: Likewise, and avoid to crate an useless dummy
9200         header file.
9201         * tests/acsilent.test: Likewise, and don't use an easily-avoided
9202         command substitution.
9203         * tests/unused.test: Likewise, and don't use an easily-avoided
9204         command substitution.
9205         * tests/version.test: Likewise, and avoid deprecated constructs
9206         in the generated `configure.in'.
9207         * tests/version2.test: Likewise, and avoid deprecated constructs
9208         in the generated `configure.in'.
9209
9210 2010-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
9211             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9212
9213         Improve declaration of dependencies in the testsuite.
9214         * tests/Makefile.am (check_SCRIPTS): Remove.  Instead, let ...
9215         ($(TEST_LOGS)): ... all test logs depend on the scripts.
9216         * test/gen-parallel-tests: For each parallel test foo-p.test,
9217         let `foo-p.log' also depend on `foo.test', since it is sourced.
9218
9219 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9220
9221         Coverage for TAGS_DEPENDENCIES warning.
9222         * tests/tags2.test: New test.
9223         * tests/Makefile.am: Update.
9224
9225         Coverage for use of anachronistic variables.
9226         * tests/oldvars.test: New test.
9227         * tests/Makefile.am: Update.
9228
9229         Testsuite coverage for bogus macro file serial numbers.
9230         * tests/acloca18.test: Also test ill-formed serial numbers
9231         and serial numbers after macro definitions.
9232
9233         Coverage for aclocal diagnosing underquoted macros.
9234         * tests/acloca23.test: New test.
9235         * tests/Makefile.am: Update.
9236
9237 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9238
9239         Prefer AUTOMAKE_fails over `$AUTOMAKE | grep' in tests.
9240         * tests/ldadd.test: Enable errexit.  Use AUTOMAKE_fails so
9241         the verbose log contains all output.
9242         * tests/mdate.test: Likewise.
9243         Prompted by Stefano Lattarini's change to discover.test.
9244
9245 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9246
9247         More minor message fixes.
9248         * aclocal.in (scan_file): Fix recommended info command line.
9249         * automake.in (handle_lib_objects): No need to prepend function
9250         name to prog_error message.
9251         (handle_tags): Add missing word and missing space in error
9252         message.
9253         (handle_dist): Add missing closing single quote in message.
9254         Line-wrap one long message for readability.
9255
9256 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
9257             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9258
9259         Fix distcheck failure with distributed generated parallel tests.
9260         * tests/Makefile.am ($(parallel_tests)): Cope with $(srcdir)
9261         being different from the value at developer `make dist' time.
9262         * tests/defs.in: Protect against multiple inclusion, by using ...
9263         ($am_defs_included): ... this new variable.
9264         ($srcdir): Do not compute, but simply define to `@abs_srcdir@'
9265         as substituted by configure.
9266         Report, suggestions and first fix by Ralf Wildenhues, final
9267         patch by Stefano Lattarini.
9268
9269 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
9270
9271         Improve tests link*.test (enable `errexit' shell flag).
9272         * tests/link_c_cxx.test: Enable `errexit shell flag, and related
9273         changes.  Also, do not create useless source files.
9274         * tests/link_dist.test: Likewise.
9275         * tests/link_f90_only.test: Likewise.
9276         * tests/link_f_only.test: Likewise.
9277         * tests/link_fc.test: Likewise.
9278         * tests/link_fccxx.test: Likewise.
9279         * tests/link_fcxx.test: Likewise.
9280
9281 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9282
9283         Improve ext.test semantics, avoid OpenBSD sh errexit issue.
9284         * tests/ext.test: Inside shell compound command, use
9285         `if $cmd; then Exit 1; fi' rather than `$cmd && Exit 1', to
9286         fix failure with OpenBSD sh introduced with last patch.
9287         Actually ensure that a rule for .EXT.o is created for each
9288         known extension EXT.
9289
9290 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
9291
9292         Enable `errexit' shell flag in some test scripts.
9293         * tests/dash.test: Enable `errexit' shell flag, and related
9294         changes.
9295         * tests/defun.test: Likewise.
9296         * tests/defun2.test: Likewise.
9297         * tests/dejagnu.test: Likewise.
9298         * tests/double.test: Likewise.
9299         * tests/distcom2.test: Likewise.
9300         * tests/empty2.test: Likewise.
9301         * tests/empty3.test: Likewise.
9302         * tests/empty4.test: Likewise.
9303         * tests/exdir.test: Likewise.
9304         * tests/ext.test: Likewise.
9305         * tests/extra.test: Likewise.
9306         * tests/extra2.test: Likewise.
9307         * tests/extra3.test: Likewise.
9308         * tests/extra4.test: Likewise.
9309         * tests/flibs.test: Likewise.
9310         * tests/fnoc.test: Likewise.
9311         * tests/fo.test: Likewise.
9312         * tests/instexec.test: Likewise.
9313         * tests/ltdeps.test: Likewise.
9314         * tests/nodep.test: Likewise.
9315         * tests/nodepcomp.test: Likewise.
9316         * tests/f90only.test: Likewise, and remove botched/obsoleted
9317         comments and unnecessary commands.
9318         * tests/fonly.test: Likewise, and remove botched/obsoleted
9319         comments and unnecessary commands.
9320         * tests/discover.test: Likewise, and made stricter.
9321
9322         Enable `errexit' shell flag in all tests cxx*.test.
9323         * tests/cxx.test: Enabled `errexit' shell flag, and related
9324         minor changes.
9325         * tests/cxxansi.test: Likewise.
9326         * tests/cxxcpp.test: Likewise.
9327         * tests/cxxlibobj.test: Likewise.
9328         * tests/cxxlink.test: Likewise.
9329         * tests/cxxo.test: Likewise.
9330
9331         Enable `errexit' shell flag in various tests.
9332         * tests/acoutnoq.test: Enabled `errexit' shell flag, and related
9333         minor changes.
9334         * tests/acoutpt.test: Likewise.
9335         * tests/acoutqnl.test: Likewise.
9336         * tests/amassign.test: Likewise.
9337         * tests/ansi2.test: Likewise.
9338         * tests/ansi4.test: Likewise.
9339         * tests/badprog.test: Likewise.
9340         * tests/checkall.test: Likewise.
9341         * tests/clean.test: Likewise.
9342         * tests/colneq2.test: Likewise.
9343         * tests/colon.test: Likewise.
9344         * tests/colon5.test: Likewise.
9345         * tests/colon6.test: Likewise.
9346         * tests/comment.test: Likewise.
9347         * tests/compile_f90_c_cxx.test: Likewise.
9348         * tests/compile_f_c_cxx.test: Likewise.
9349         * tests/cond3.test: Likewise.
9350         * tests/cond6.test: Likewise.
9351         * tests/cond13.test: Likewise.
9352         * tests/conf2.test: Likewise.
9353         * tests/confvar.test: Likewise.
9354         * tests/confvar2.test: Likewise.
9355         * tests/cond8.test: Likewise, plus a cosmetic change.
9356         * tests/confh4.test: Likewise.  Also, add in the heading comments
9357         an excerpt from the original bug report which motivated the
9358         creation of this test, to make its purpose clearer.
9359
9360 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9361
9362         Rewrite manual to be gender-neutral.
9363         * doc/automake.texi (GNU Build System)
9364         (Standard Directory Variables, General Operation, CVS)
9365         (Hard-Coded Install Paths, Dependencies As Side Effects):
9366         Rewrite text to not contain gender-specific pronouns when
9367         speaking about developers or users, either by avoiding pronouns
9368         or by addressing them as `you' instead.
9369         * THANKS: Update.
9370         Report by Christina Gratorp.
9371
9372         * AUTHORS: Update.
9373
9374 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
9375
9376         Tiny fix in silent8.test (display output of `make' command).
9377         * tests/silent8.test: Make sure that the captured output of `make'
9378         command is always displayed.
9379
9380         Make tests on user extensibility of silent-rules mode stricter.
9381         * tests/silent6.test: Made stricter w.r.t. the grepping of the
9382         output produced by `make'.
9383         * tests/silent7.test: Likewise.
9384
9385         Tests on silent-mode for C/Libtool made stricter.
9386         * tests/silent.test: Made stricter w.r.t. the grepping of the
9387         output produced by `make'.
9388         * tests/silent2.test: Likewise.
9389         * tests/silent4.test: Likewise.
9390         * tests/silent9.test: Likewise.
9391         * tests/silent3.test: Likewise, and add a final `make distclean'
9392         command to keep it better in sync with tests/silent{4,9}.test.
9393
9394         Improved test silent5.test.
9395         * tests/silent5.test: Remove by hand all generated C files after
9396         non-verbose builds, to ensure the following builds are clean.
9397         Try to clean and rebuild with the same verbosity and without
9398         removing generated sources in between, to check that this does
9399         not trigger a different set of rules.  Make grepping of make's
9400         output stricter.  Improved/added some comments.
9401
9402         New tests for Automake silent-mode with Fortran.
9403         * tests/silentf77.test: New test.
9404         * tests/silentf90.test: Likewise.
9405         * tests/Makefile.am (TESTS): Updated accordingly.
9406
9407         New test `silentcxx.test' (Automake silent-mode with C++).
9408         * tests/silentcxx.test: New test.
9409         * tests/Makefile.am (TESTS): Updated accordingly.
9410
9411         New test `silentyacc.test' (Automake silent-mode with Yacc).
9412         * tests/silentyacc.test: New test.
9413         * tests/Makefile.am (TESTS): Updated accordingly.
9414
9415         New test `silentlex.test' (Automake silent-mode with Lex).
9416         * tests/silentlex.test: New test.
9417         * tests/Makefile.am (TESTS): Updated accordingly.
9418
9419         Relax tests on silent-rules to cater to overly verbose makes.
9420         * tests/silent.test: When testing silent builds, don't fail if
9421         make's output simply contains the `mv' substring, but only if
9422         it contains the `mv ' substring (note the trailing space).
9423         * tests/silent2.test: Likewise.
9424         * tests/silent3.test: Likewise.
9425         * tests/silent4.test: Likewise.
9426         * tests/silent5.test: Likewise.
9427         * tests/silent9.test: Likewise.
9428
9429 2010-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
9430
9431         Extend test on `nostdinc' automake option.
9432         * tests/nostdinc.test: Enable `errexit' shell flag.  Related and
9433         unrelated minor changes.  Make the grepping of the generated
9434         Makefile.in slightly stricter.  Generate and run configure, so that
9435         the generated Makefile can be grepped too.
9436
9437 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9438
9439         Make gnupload portable to EBCDIC hosts.
9440         * lib/gnupload: Use literal newline as argument for 'tr' rather
9441         than \015, for EBCDIC hosts.  Also, avoid unportable nested
9442         double-quotes and backquotes.
9443         * THANKS: Update.
9444         Report from Eric Blake and Steve Goetze via gnulib.
9445
9446 2010-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
9447
9448         Fix Autoconf version required by Automake's configure.
9449         Automake configure script used to tell that automake required
9450         autoconf 2.60 or later, but then it checked for autoconf >= 2.62,
9451         and if that was not found, it gave an error saying that Automake
9452         required configure 2.61a-341 or later.  This change should
9453         eliminate such inconsistencies.
9454         * configure.ac ($required_autoconf_version): New variable.
9455         Use it throughout.
9456
9457 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9458
9459         Fix truncated comment in Makefile.am.
9460         * Makefile.am (sc_tests_logs_duplicate_prefixes): Fix unfinished
9461         sentence in comment.
9462         Report by Stefano Lattarini.
9463
9464         Relax silent8.test for NetBSD make.
9465         * tests/silent8.test: Accept ./foo.info in output as well.
9466
9467         Fix unportable sed script in maintainer-check test.
9468         * Makefile.am (sc_tests_Exit_not_exit): Rewrite sed script to
9469         not contain semicolon after 'b' or brace commands, for NetBSD.
9470
9471         Wildcards are not portable to NetBSD make.
9472         * doc/automake.texi (Wildcards): Document portability issue.
9473         * tests/extra10.test, tests/extra11.test, tests/extra12.test:
9474         Require GNU make.
9475
9476 2010-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
9477
9478         Make test for configure.in vs. configure.ac stricter.
9479         * tests/configure.test: Use a configure.in file that provokes
9480         an automake error, to ensure configure.ac is preferred.
9481
9482         Avoid possible false negatives in dejagnu7.test.
9483         * tests/dejagnu7.test: Enable shell `errexit' flag.  Also, avoid
9484         unportable use of fgrep option `-e'.
9485
9486         Fix conflnk3.test to work with Solaris/Heirloom Sh.
9487         * tests/conflnk3.test: Use `test -r FILE' and `test ! -r FILE'
9488         instead of respectively `test -e FILE' and `test ! -e FILE',
9489         since Solaris Sh doesn't grok the latter.  Do not SKIP the test
9490         if the shell doesn't support `test -e'.
9491
9492 2010-04-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9493
9494         Warning and error message formatting cleanups.
9495         * aclocal.in (parse_arguments, main): Remove trailing period or
9496         newline in error or warning messages, avoid capitalization of
9497         the first word of a message.
9498         * automake.in (check_user_variables, handle_languages)
9499         (handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files)
9500         (scan_autoconf_files, cond_stack_if, require_file_internal)
9501         (usage, generate_makefile, parse_arguments): Likewise.
9502         * lib/Automake/ChannelDefs.pm (set_strictness): Likewise.
9503         * lib/Automake/Configure_ac.pm (find_configure_ac): Likewise.
9504         * lib/Automake/Options.pm (set_strictness): Likewise.
9505         * lib/Automake/Rule.pm (define): Likewise.
9506         * lib/Automake/Variable.pm (define, variables_dump): Likewise.
9507         * tests/ltinstloc.test, tests/suffix11.test: Adjust expected
9508         error message.
9509         * lib/Automake/Channels.pm (setup_channel): Reword error message
9510         to be the same as in msg.
9511
9512         Fix placing of ellipses in English text and synopses.
9513         * Makefile.am: Be sure to add a space before `...' in natural
9514         language text.
9515         * automake.in (scan_autoconf_traces): Likewise.
9516         * lib/Automake/Rule.pm (define): Likewise.
9517         * lib/Automake/Variable.pm (define): Likewise.
9518         * lib/am/dejagnu.am: Likewise.
9519         * lib/am/progs.am: Likewise.
9520         * lib/gnupload (dprint, upload): Likewise.
9521         * tests/confdeps.test: Likewise.
9522         * tests/location.test: Adjust expected output.
9523         * automake.in (usage): In synopsis, use singular for OPTION,
9524         * remove space before ellipsis.
9525         * aclocal.in (usage): Likewise.  Also, fix indentation.
9526
9527         Fix more duplicate message prefixes.
9528         * lib/Automake/XFile.pm (seek): Do not prepend $me.
9529         ($me): Remove now-unused package-global.
9530         * aclocal.in (check_acinclude): Remove duplicate 'warning: '
9531         prefix.
9532
9533         Fix typo in manual.
9534         * doc/automake.texi (Simple Tests using parallel-tests): Add
9535         missing closing parenthesis.
9536
9537         Fix leftover call to removed function macros_dump.
9538         * automake.in (read_main_am_file): Call variables_dump, not
9539         macros_dump.  Print actual error before list of variables.
9540
9541 2010-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
9542
9543         Minor improvements in comments of test `silent3.test'.
9544         * tests/silent3.test: Tell to keep it in sync with `silent9.test'
9545         too.
9546
9547 2010-04-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9548
9549         testsuite: ensure verbose printing of captured output.
9550         * tests/acloca14.test, tests/acloca18.test, tests/aclocal.test,
9551         tests/fort2.test, tests/help.test, tests/missing3.test,
9552         tests/missing6.test: Print captured stdout or stderr before
9553         grepping it.
9554
9555 2010-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
9556
9557         Make test badopt.test stricter (by enabling `set -e').
9558         * tests/badopt.test: Add call to `set -e'.  Due to this change,
9559         an unexpected failure in the call to `$ACLOCAL' (whose outcome
9560         was previously unchecked) would cause the whole test to fail.
9561         Also, bumped the copyright years.
9562
9563         Make test for configure.in vs. configure.ac stricter.
9564         * tests/configure.test: Use a configure.in file that provokes
9565         an automake error, to ensure configure.ac is preferred.
9566
9567         Use `set -e' in confsub.test (avoids possible false negatives).
9568         * tests/confsub.test: Enable shell `errexit' flag, and related
9569         changes (this helps avoiding some possible minor false negatives).
9570         Also, bumped copyright years.
9571
9572 2010-04-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9573
9574         Fix -Werror handling for presence of configure.in and configure.ac.
9575         * lib/Automake/Variable.pm (Automake::Variable): Do not initialize
9576         $configure_ac at the global level, before command-line arguments
9577         have been parsed.
9578         (require_variables): Initialize it here.
9579         * tests/configure.test: New test.
9580         * tests/Makefile.am: Update.
9581         Report by Stefano Lattarini.
9582
9583 2010-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
9584
9585         Avoid possible false negatives in confh5.test.
9586         * tests/confh5.test: Enable shell `errexit' flag, and bumped
9587         copyright years.  Due to this change, any unexpected failure
9588         in calls to $ACLOCAL, $AUTOMAKE, $AUTOCONF or $AUTOHEADER, or
9589         a failure in grepping expected text in output files should now
9590         cause the whole test to fail.
9591
9592 2010-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
9593
9594         Fixed typo in POD documentation of Automake::Channels.
9595         * lib/Automake/Channels.pm: Fixed typo in POD documentation:
9596         @<...> was used instead of C<...>.
9597
9598 2010-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
9599
9600         Refactor tests on Automake TESTS color output.
9601         * tests/color.test: Tests using the expect program moved out to...
9602         * tests/color2.test: ... this new file.
9603         * tests/Makefile.am (TESTS): Extended accordingly.
9604
9605 2010-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
9606
9607         Fix typos in comments in test confh5.test
9608         * tests/confh5.test: Fix a couple of typos in comments.
9609
9610         Avoid possible false negatives in canon-name.test.
9611         * tests/canon-name.test: Enable shell `errexit' flag.  Improve
9612         test description.
9613
9614 2010-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9615
9616         Print 'warnings are treated as errors' note if needed.
9617         * lib/Automake/Channels.pm: Fix typo in comment.
9618         (_print_message): If -Werror is enabled, print a 'warnings are
9619         treated as errors' note before the first such warning.
9620         * tests/warnopts.test: Adjust comment to mention expected warning.
9621         Adjust code to ignore 'warnings are treated as errors' note.
9622         * tests/location.test: Adjust expected output with -Werror.
9623         * tests/werror4.test: New test.
9624         * tests/Makefile.am: Update.
9625         * NEWS: Update.
9626
9627         Ensure we don't print 'warning:' or 'error:' twice.
9628         * Makefile.am (sc_ensure_testsuite_has_run): New helper rule.
9629         (sc_tests_logs_duplicate_prefixes): New rule, to check for
9630         wrong-looking warning and error messages in the test suite logs.
9631         * aclocal.in (scan_configure_dep, scan_file): Remove duplicate
9632         `warning: ' prefix.
9633         * tests/vars3.test: Rename variable to avoid false positive.
9634
9635         Prepend type to warning, error, and fatal messages.
9636         For the first part of messages of types `error' or `fatal',
9637         prepend `error: ' to the message.  Prepend `warning: ' to
9638         warning messages, whatever the setting of -Werror.
9639         * lib/Automake/Channels.pm (partial): Move up definition.
9640         (_format_message): Emit `header' and `footer' strings only with
9641         the first resp. last part of a set of partial messages.
9642         * lib/Automake/ChannelDefs.pm: Add missing '1;' statement at the
9643         end of the module.
9644         (Automake::ChannelDefs): Setup warning channels with header
9645         `warning: ', error and fatal messages with header `error: '.
9646         * tests/condinc2.test, tests/ltinstloc.test: Adjust expected
9647         error messages.
9648         * tests/comment5.test: Likewise.  Also, include stack notes
9649         should not start with `error:'.
9650         * tests/location.test: Likewise.  Also, try both -Werror and
9651         -Wno-error.
9652         * NEWS: Update.
9653         Report by Bruno Haible.
9654
9655         Fix capitalization of error messages, reword one message.
9656         * lib/Automake/Variable.pm (define): Do not capitalize the first
9657         word in the error message.
9658         * automake.in (require_file_internal): Likewise.  Also, reword
9659         and line-wrap for better readability.
9660         * tests/distcom7.test, tests/pluseq5.test, tests/pluseq9.test:
9661         Adjust tests.
9662
9663         Fix connected warnings about obsolete exeext override.
9664         * lib/Automake/Rule.pm (define): Merge two warnings that belong
9665         together, by setting the 'partial' flag for the first one.
9666
9667         Fix per-Makefile.am setting of -Werror.
9668         Before this patch, 'AUTOMAKE_OPTIONS = -Werror' in one
9669         Makefile.am would carry over to other Makefile.am files
9670         treated afterwards by the same thread, causing inconsistent
9671         and unstable exit status values.
9672         * lib/Automake/Channels.pm (dup_channel_setup)
9673         (drop_channel_setup): Save and restore the setting of
9674         $warnings_are_errors.
9675         * tests/werror3.test: New test.
9676         * tests/Makefile.am: Adjust.
9677         * NEWS: Update.
9678
9679 2010-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9680
9681         Bugfix in confh5.test w.r.t. Solaris/Heirloom Sh.
9682         * tests/confh5.test: In the generated Makefile.am: do not use
9683         `test ! -e FILE' to check for the non-existence of a file, since
9684         that is not supported by Solaris/Heirloom Sh.
9685
9686         Make test `aclocal3.test' stricter.
9687         * tests/aclocal3.test: Add call to `set -e'.  Fail if $ACLOCAL
9688         succeds unexpectedly.
9689
9690         Add tests checking that symlinks are resolved by `make dist'.
9691         * tests/distlinks.test: New test.
9692         * tests/Makefile.am (TESTS): Updated accordingly.
9693         Suggested by observations from Ralf Wildenhues.
9694
9695 2010-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9696
9697         Use -9 for maximum xz compression with dist-xz.
9698         * lib/am/distdir.am (dist-xz, dist, dist-all): Pass -9 to xz.
9699         * NEWS, THANKS: Update.
9700         Report by Pavel Sanda.
9701
9702 2010-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
9703
9704         Avoid possible false negatives in cond46.test.
9705         * tests/cond46.test: Enable shell `errexit' flag (and bumped
9706         copyright years).  Due to this change, the testcase should now
9707         fail on unexpected failures in calls to $ACLOCAL/$AUTOMAKE (whose
9708         outcomes were previously unchecked), and on failures in grepping
9709         the expected diagnostic in Automake stderr.
9710
9711 2010-04-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
9712
9713         Generated tests are now just a thin layer around other tests.
9714         * tests/Makefile.am: Rewrite the rule to generate the `*-p.test'
9715         test scripts so that any of them simply includes the corresponding
9716         `*.test' script (after setting `$parallel_tests' to `yes').
9717         * tests/.gitignore: Add wildcard for temporary files used in the
9718         generation of `*-p.test' tests.
9719
9720 2010-03-30  Stefano Lattarini  <stefano.lattarini@gmail.com>
9721
9722         Avoid an unportable use of `$status' shell variable.
9723         * Makefile.am (path-check): Don't use the `$status' shell variable
9724         in the target's rules, as it's special in Zsh (equivalent to `$?',
9725         and readonly).
9726
9727         Avoid another use of `chmod -R'.
9728         * Makefile.am (path-check): To be safe, do not use `chmod -R' on
9729         $(distdir) before removing it (as Solaris `chmod -R' touches
9730         symlink targets).  Instead, use the cleanup strategy used in
9731         distdir.am.
9732
9733 2010-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9734
9735         Remove uses of @acronym and @sc.
9736         * doc/automake.texi (Public Macros, Limitations on File Names):
9737         Remove all usage of @acronym and @sc in the manual.
9738         Suggested by Karl Berry.
9739
9740 2010-03-13  Karl Berry  <karl@freefriends.org>
9741
9742         GNU hello uses fdl.texi, not gpl.texi.
9743         * doc/automake.texi (Texinfo): Adjust example to upstream
9744         change.
9745
9746 2010-03-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9747
9748         Formatting cleanups in macro comments.
9749         * automake.in, lib/Automake/Channels.pm,
9750         lib/Automake/FileUtils.pm, lib/Automake/Options.pm,
9751         lib/Automake/Variable.pm, lib/Automake/XFile.pm,
9752         m4/options.m4, m4/substnot.m4: Fix macro comment format.
9753
9754 2010-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
9755             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9756
9757         Avoid generation of `tests/defs-p' file.
9758         * tests/defs.in: In the generated `configure.in' snippet: call
9759         `AM_INIT_AUTOMAKE' with the `parallel-tests' option if the shell
9760         variable `parallel_tests' is set to `yes'.
9761         * tests/Makefile.am (defs-p): Target removed.
9762         (check_SCRIPTS): Removed `defs-p'.
9763         (clean-local-check): Do not unlink `defs-p' anymore.
9764         ($(parallel_tests)): Transformation rules for the test scripts
9765         adjusted.
9766         * tests/gen-parallel-tests: Selection rules for the test
9767         scripts adjusted.
9768         * tests/parallel-tests.test: Set `$parallel_tests' to `yes'
9769         then include `./defs' (rather than simply including `./defs-p').
9770         * tests/parallel-tests2.test: Likewise.
9771         * tests/parallel-tests3.test: Likewise.
9772         * tests/parallel-tests4.test: Likewise.
9773         * tests/parallel-tests5.test: Likewise.
9774         * tests/parallel-tests6.test: Likewise.
9775         * tests/parallel-tests7.test: Likewise.
9776         * tests/parallel-tests8.test: Likewise.
9777         * tests/parallel-tests9.test: Likewise.
9778         * tests/parallel-tests10.test: Likewise.
9779         * tests/README (Section "Writing Test Cases" subsection "Do"):
9780         Adjusted the parts referring to tests checking `parallel-tests'
9781         behaviour.  Some other minor related improvements.
9782         * tests/.gitignore (defs-p): Removed.
9783
9784 2010-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
9785
9786         Remove redundant unset of variable TESTS from some test scripts.
9787         * tests/color.test: Do not unset the `TESTS' variable, as it's
9788         already unset in the `defs' file.
9789         * tests/check5.test: Likewise.
9790         * tests/check8.test: Likewise.
9791         * tests/check9.test: Likewise.
9792         * tests/check10.test: Likewise.
9793         * tests/check11.test: Likewise.
9794         * tests/parallel-tests.test: Likewise.
9795         * tests/parallel-tests3.test: Likewise.
9796         * tests/parallel-tests4.test: Likewise.
9797         * tests/parallel-tests5.test: Likewise.
9798         * tests/parallel-tests6.test: Likewise.
9799         * tests/parallel-tests7.test: Likewise.
9800
9801 2010-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9802
9803         Fix cscope test on systems without working Fortran compiler.
9804         * tests/cscope.test: Skip remainder of test if `$MAKE all' fails.
9805         * THANKS: Update.
9806         Report by Peter Johansson.
9807
9808 2010-02-24  Antonio Diaz Diaz  <ant_diaz@teleline.es>  (tiny change)
9809             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9810
9811         Add lzip compression support.
9812         * automake.in (handle_dist): Recognize dist-lzip.
9813         (make_paragraphs): Map LZIP to dist-lzip.
9814         * doc/automake.texi (Dist): Add dist-lzip.
9815         (Options): Likewise.
9816         * lib/Automake/Options.pm (_process_option_list): Add dist-lzip.
9817         * lib/am/distdir.am
9818         (dist dist-all): Add command to create an lzip-compressed tarball.
9819         (distcheck): Handle lzip-compressed tarballs just like the others.
9820         * tests/defs.in: Test for lzip, too.
9821         * tests/lzip.test: New file, based on nogzip.test.
9822         * tests/Makefile.am (TESTS): Add lzip.test.
9823         * NEWS: Update.
9824
9825 2010-02-22  Karl Berry  <karl@gnu.org>
9826
9827         Improve help message of mdate-sh.
9828         * mdate-sh: mention actual output format in help message.
9829
9830 2010-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9831
9832         Deprecate dist-lzma in favor of dist-xz.
9833         * doc/automake.texi (The Types of Distributions, Options):
9834         Adjust text to reflect renaming of lzma to xz.
9835         * NEWS: Update.
9836         Missing deprecation noted by Antonio Diaz Diaz.
9837
9838 2010-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
9839
9840         Add tests about support of wildcards in EXTRA_DIST.
9841         * tests/extra10.test: New test, check basic support of wildcards
9842         in EXTRA_DIST.
9843         * tests/extra11.test: New test, check more complex usage of
9844         wildcards in EXTRA_DIST.
9845         * tests/extra12.test: New test, check usage of wildcards in
9846         EXTRA_DIST when $builddir != $srcdir.
9847         * tests/Makefile.am (TESTS): Updated accordingly.
9848         Necessity of these new tests suggested by Braden McDaniel
9849         and Ralf Wildenhues.
9850
9851 2010-02-08  Simon Josefsson  <simon@josefsson.org>
9852
9853         Fix copyright statement in gnupload script.
9854         * lib/gnupload: Fix copyright statement.
9855
9856 2010-02-06  Dmitry V. Levin  <ldv@altlinux.org>  (tiny change)
9857             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9858
9859         Fix exit status of signal handlers in shell scripts.
9860         The value of `$?' on entrance to signal handlers in shell scripts
9861         cannot be relied upon, so set the exit code explicitly to
9862         128 + SIG<SIGNAL>.
9863         * lib/am/check.am (am__check_pre): Use `exit 143' in signal handler.
9864         * lib/elisp-comp: Likewise.
9865         * lib/install-sh: Likewise.
9866         * lib/ylwrap: Likewise.  Also, fix script to trap signal 13, not 3.
9867         * NEWS, THANKS: Update.
9868         Bug report, analysis, and initial patch by Dmitry V. Levin.
9869
9870 2010-02-06  Karl Berry  <karl@gnu.org>
9871
9872         Improve gnupload usage text.
9873         * gnupload (usage): Shorten to make more likely to fit on a tty
9874         line.  Mention CMD in the synopsis.  With ..., plural is implied.
9875
9876 2010-01-28  Christos Kontas  <xakon@yahoo.com>  (tiny change)
9877
9878         Fix some typos in the manual
9879         * doc/automake.texi (Nested Packages, Rebuilding): Fix typos.
9880
9881 2010-01-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9882
9883         Fix silent-rules output for disabled dependency tracking.
9884         * lib/am/depend2.am [!%FASTDEP%]: Rework silent-rules variable
9885         expansion code to also work in the case where %AMDEP% expands
9886         to FALSE at config.status time, using new substitution string
9887         %VERBOSE-NODEP%.
9888         * automake.in (verbose_nodep_flag): New function, appending
9889         `@am__nodep@' to the verbose-variable name.
9890         (handle_languages): If dependencies are not disabled, use it to
9891         set %VERBOSE-NODEP%.
9892         * m4/depend.m4: Substitute am__nodep as '_no', so the second
9893         verbose-variable will always expand to an empty string, if
9894         dependencies are enabled.
9895         * tests/silent5.test: Also test --disable-dependency-tracking;
9896         also test per-target flags for non-C language files.
9897         * tests/silent9.test: New test, like silent4.test but disable
9898         dependency tracking.
9899         * tests/Makefile.am: Adjust.
9900         * NEWS, THANKS: Update.
9901         Report by Dmitry V. Levin <ldv@altlinux.org>.
9902
9903 2010-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
9904
9905         Slighty improve tests acoutbs.test and acoutbs2.test.
9906         * tests/acoutbs2.test: Enable `errexit' shell flag.  Check that
9907         autoconf and configure work, that the file `zot' is created by
9908         configure, and that no file containing a backslash in its name is
9909         created.
9910         * tests/acoutbs.test: Likewise, plus updated copyright years.
9911
9912         Fix test acoutbs2.test.
9913         * tests/acoutbs2: In the generated configure.in: add proper calls
9914         to AC_INIT and AM_INIT_AUTOMAKE, and remove explicit definition of
9915         PACKAGE and VERSION. Add a call to aclocal before calling automake.
9916         Updated copyright years.
9917         * tests/Makefile.am (XFAIL_TESTS): Removed acoutbs2.test.
9918
9919         Add forgotten test scripts to $(TESTS).
9920         * tests/Makefile.am (TESTS): Added test scripts present on the
9921         filesystem, which were erroneously left out from $(TESTS):
9922         acoutbs2.test, badopt.test, extra2.test.
9923         (XFAIL_TESTS): Added acoutbs2.test.
9924
9925 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9926
9927         Sync auxiliary files from upstream.
9928         * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub:
9929         Sync from upstream.
9930
9931         Bump copyright years.
9932         * aclocal.in (write_aclocal, version): Bump copyright years.
9933         * automake.in (gen_copyright, version): Likewise.
9934         * doc/automake.texi: Likewise.
9935
9936         Rotate ChangeLog.
9937         * ChangeLog.09: New file, rotated from ...
9938         * ChangeLog: ... here.
9939         * Makefile.am (EXTRA_DIST): Distribute ChangeLog.09.
9940
9941 -----
9942
9943 Copyright (C) 2010, 2011  Free Software Foundation, Inc.
9944
9945 Copying and distribution of this file, with or without modification, are
9946 permitted provided the copyright notice and this notice are preserved.
9947
9948 ;; Variables:
9949 ;; coding: utf-8
9950 ;; End: