Merge branch 'master' into test-protocols
[platform/upstream/automake.git] / ChangeLog
1 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
2
3         maintcheck: fix usage of `cd' instead of `$(am__cd)'
4         * lib/am/inst-vars.am (am__uninstall_files_from_dir): Use
5         `$(am__cd)', not plain `cd'.
6
7 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
8
9         tap/awk: account for unusual korn shell signal handling behaviour
10         This change has been motivated by a testsuite failure on Debian
11         with the AT&T Korn Shell version 93u-1.
12         * lib/tap-driver.sh: Temporarily ignore some common signals when
13         waiting for the test command to complete, to avoid premature exit
14         in Korn shells that propagate to themselves signals that have
15         killed a child process.
16         See also related commit `v1.11-1342-g6321ad3'.
17
18 2011-09-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
19
20         tap/awk: handle exit statuses > 256 (seen on few korn shells)
21         Some Korn shells, when a child process die due to signal number
22         n, can leave in $? an exit status of 256+n instead of the more
23         standard 128+n.  Apparently, both behaviours are allowed by
24         POSIX, so be prepared to handle them both.
25         This change has been motivated by a testsuite failure on Debian
26         with the AT&T Korn Shell version 93u-1.
27         * lib/tap-driver.sh (get_test_exit_message): Handle the described
28         Korn Shell behaviour too.
29         ($scriptversion): Update.
30
31 2011-09-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
32
33         uninstall: "make uninstall" before "make install" works
34         This change fixes automake bug#9578.
35         * lib/am/inst-vars.am (am__uninstall_files_from_dir): New internal
36         macro, that defines a shell code fragment to uninstall files from
37         a given directory.
38         * lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use it, to reduce code
39         duplication and improve consistency and correctness.
40         * lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise.
41         * lib/am/lisp.am (uninstall-%DIR%LISP): Likewise.
42         * lib/am/mans.am (uninstall-man%SECTION%): Likewise.
43         * lib/am/python.am (uninstall-%DIR%LIBRARIES): Likewise.
44         * lib/am/scripts.am (uninstall-%DIR%SCRIPTS): Likewise.
45         * tests/uninstall-pr9578.test: New test.
46         * tests/uninstall-fail.test: New test.
47         * tests/Makefile.am (TESTS): Add them.
48         * NEWS, THANKS: Update.
49         Report by Nick Bowler.
50
51 2011-09-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
52
53         tests: fix tests on aclocal search path precedences
54         * tests/aclocal-path-precedence.test: Call `$ACLOCAL' with the
55         proper overridden system acdir.
56
57 2011-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
58
59         docs: remove mention of deprecated option `--acdir'
60         * doc/automake.texi (aclocal Options): Remove mention of
61         deprecated `--acdir' option.
62
63 2011-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
64
65         * NEWS: Cleanup after botched merges.
66
67 2011-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
68
69         * NEWS: Fix typo.
70
71 2011-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
72
73         docs: document planned precedence changes in aclocal search path
74         * doc/automake.texi (Macro Search Path): Explicitly state that the
75         lookup order for extra directories of `.m4' files will be changed
76         in the next major release.
77         * NEWS: Likewise.
78
79 2011-09-19  Paolo Bonzini  <bonzini@gnu.org>
80             Stefano Lattarini  <stefano.lattarini@gmail.com>
81
82         aclocal: handle ACLOCAL_PATH environment variable
83         * aclocal.in (parse_ACLOCAL_PATH): New function, parse ACLOCAL_PATH
84         as a colon-separated list of directories to be included in the
85         search path.
86         * doc/automake.texi (Macro Search Path): Document new behavior and
87         the precedence rules for various elements of the search path.
88         * tests/aclocal-path.test: New test.
89         * tests/aclocal-path-install.test: Likewise.
90         * tests/aclocal-path-install-serial.test: Likewise.
91         * tests/aclocal-path-precedence.test: Likewise.
92         * tests/aclocal-path-nonexistent.test: Likewise.
93         * tests/Makefile.am (TESTS): Add them.
94         * NEWS: Update.
95         * tests/distcheck-missing-m4.test: Extend by also checking
96         interactions with ACLOCAL_PATH.
97         * tests/distcheck-outdated-m4.test: Likewise, and fix a couple
98         of botched comments since we are at it.
99
100 2011-09-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
101
102         tests: fix spurious failure in 'primary-prefix-valid-couples.test'
103         * tests/primary-prefix-valid-couples.test: After commit
104         v1.11-464-gc9dfc36, `java_JAVA' is not a valid prefix/primary
105         combination by default anymore: one has to explicitly define
106         $(javadir) to make it so.  So just drop `java_JAVA' from our
107         Makefile.am  Also, since we are at it, ...
108         (configure.in): ... remove AM_PROG_GCJ from here, as it's not
109         really required.
110
111 2011-09-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
112
113         docs: deprecate JAVA primary
114         * doc/automake.texi (Java): Deprecate the JAVA primary, stating
115         that it will become obsolete in automake 1.12 and probably removed
116         altogether in automake 1.13.  Reflect this in the section title,
117         by appending the string "(deprecated feature)".
118         (@menu, @detailmenu): Update.
119         (Java Support with gcj): The cross-referenced support for bytecode
120         compilation with the JAVA primary is rudimentary and deprecated.
121         State that explicitly.
122
123 2011-09-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
124
125         docs: clearer distinction between `.java' with javac and with gcj
126         * doc/automake.texi (Java support): Rename this node ...
127         (Java support with gcj): ... to this, and change its title from
128         "Compiling Java sources" to "Compiling Java sources using gcj".
129         (@detailmenu, @menu, @cindex): Update and make more precise.
130         (Java): Change the title of this node from simply "Java" to
131         "Java bytecode compilation".
132         (@detailmenu, @menu, @cindex): Update and make more precise.
133
134 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
135
136         java: complain if java_JAVA is used but $(javadir) is undefined
137         Fixes automake bug#8461.
138         * automake.in (handle_java): Remove inappropriate "java" argument
139         from the calls to `&am_install_var' and `&am_primary_prefixes'.
140         * tests/instdir-java.test (Makefile.am): Define `$(javadir)'.
141         * tests/javadir-undefined.test: New test.
142         * tests/Makefile.am (TESTS): Add it.
143         * NEWS: Update.
144
145 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
146
147         parallel-tests: expose automake bug#9546
148         * tests/test-driver-is-distributed.test: New test.
149         * tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
150
151 2011-09-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
152
153         automake: remove special handling of `ANSI2KNR' make variable
154         * automake.in (define_configure_variable): Remove special-cased
155         handling of `ANSI2KNR' variable.  Related minor simplifications.
156
157 2011-09-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
158
159         cosmetics: fix various typos and grammaros
160         * NEWS: Fix typos.
161         * tests/py-compile-basic.test: Likewise.
162         * tests/py-compile-basedir.test: Fix botched wording in comments.
163         * tests/py-compile-option-terminate.test: Fix typo and incomplete
164         comment.
165         Suggestions by Peter Rosin.
166
167 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
168
169         coverage: test interactions of `nobase_' and `nodist_'
170         * tests/nobase-nodist.test: New test.
171         * tests/Makefile.am (TESTS): Add it.
172
173 2011-09-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
174
175         java: fix various blunders in test 'java-mix.test'
176         * tests/java-mix.test: Add missing call to `set -e'.  Fix inverted
177         semantics (`.java' files are expected *not* to be distributed by
178         default, not the other way round).  Fix various typos in the name
179         of the `.java' files.  Correct other minor blunders.  Improve some
180         comments.
181
182 2011-09-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
183
184         automake: remove code duplication in 'handle_tests'
185         * automake.in (handle_tests): Factor out some code dealing with
186         test extensions and rules for generation of `.log' files into ...
187         (handle_per_suffix_test): ... this new subroutine.
188         * tests/parallel-tests-exeext.test: New test.
189         * tests/Makefile.am (TESTS): Update.
190
191 2011-09-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
192
193         tests: fix spurious failure on fast machines
194         * tests/aclocal-acdir.test: Avoid spurious failures due to caching
195         issues, by cleaning the autom4te cache between all the aclocal
196         invocations, and by always calling autoconf with the `--force'
197         flag.
198
199 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
200
201         aclocal: better URL reference in error message
202         * aclocal.in (scan_file): In the error message about underquoted
203         definitions, reference the automake page at `www.gnu.org', not
204         at `sources.redhat.com'.
205
206 2011-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
207
208         coverage: distcheck-hook to catch missing/outdated *.m4 files
209         Related to automake bug#9037.
210         * tests/distcheck-missing-m4.test: New test.
211         * tests/distcheck-outdated-m4.test: Likewise.
212         * tests/distcheck-hook-m4.am: New data file, used by the new
213         tests.
214         * tests/Makefile.am (distcheck-m4-missing.log,
215         distcheck-m4-outdated.log): Depend on it.
216         (EXTRA_DIST): Distribute it.
217         (TESTS): Add the new tests.
218
219 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
220
221         aclocal: more granularity in acdir overriding
222         Before this change, using the `--acdir' option caused aclocal to
223         redefine both the directory of automake-provided m4 macros and the
224         directory of third-party system-wide m4 macros.  With this change,
225         we deprecate the `--acdir' aclocal option, and introduce two new
226         options `--automake-acdir' and `--system-acdir', to allow for more
227         granularity.
228         * aclocal.in (@automake_includes, @system_includes,
229         @user_includes): Fix and extend comments.
230         (usage): Update.
231         (handle_acdir_option): New function.
232         (parse_arguments): Recognize new options `--system-acdir' and
233         `automake-acdir', and handle `--acdir' using the new function
234         above.  Simplify logic by assuming that the directory of
235         third-party system-wide m4 files always exists.
236         * tests/aclocal.in: Update to use the new options, instead of
237         the deprecated. `--acdir'.
238         * m4/dirlist: Move ...
239         * m4/acdir/dirlist: ... here.
240         * m4/Makefile.am (EXTRA_DIST): Update.
241         (m4datadir): Rename ...
242         (automake_acdir): ... to this.  Accordingly, ...
243         (dist_m4data_DATA): ... rename this ...
244         (dist_automake_ac_DATA): ... to this.
245         (system_acdir): New, directory.
246         (dist_system_ac_DATA): New, defined to an empty value; this will
247         ensure that the $(system_acdir) directory will be created by
248         "make install".
249         * tests/aclocal.test: Remove check about the `--print-ac-dir'
250         option of aclocal, it has been moved into ...
251         * tests/aclocal-print-acdir.test: ... this new test, and quite
252         extended.
253         * tests/aclocal-acdir.test: New test.
254         * tests/Makefile.am (TESTS): Add the new tests.
255         * NEWS, bootstrap: Update.
256         * doc/automake.texi (aclocal Options, Macro Search Path): Update.
257
258 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
259
260         tap/perl: be more portable to older perl versions
261         * lib/tap-driver.pl (trap_perl_warnings_and_errors): Do not use
262         the three-args version of the `open' builtin, it is not well
263         supported by older perl versions (at least perl 5.6.2).
264         (start): Add a no-op statement to pacify a "possible typo ... used
265         only once" perl warning.
266
267 2011-09-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
268
269         tap/perl: be more portable to older TAP::Parser versions
270         * lib/tap-driver.pl (start): Do not call the `ignore_exit' method
271         on our TAP parser: it is not supported in older TAP::Parser
272         versions (e.g., 3.10), and is not really required by our usage of
273         the parser object.
274
275 2011-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
276
277         tests: fix spurious failures due to ignored signals
278         * tests/defs (is_blocked_signal): New function.
279         * tests/parallel-tests-interrupt.test: Do not try to use/trap
280         signals that are ignored by the parent shell: they will be
281         ignored by all the child processes too.
282         * tests/self-check-exit.test: Likewise.
283         * tests/self-check-cleanup.test: Likewise, and do few minor
284         improvements and extensions since we are at it.
285
286 2011-09-05  Peter Rosin  <peda@lysator.liu.se>
287
288         * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
289
290 2011-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
291
292         fix: list test 'vala-vpath.test' in XFAIL_TESTS
293         * tests/Makefile.am (XFAIL_TESTS): Update.
294
295 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
296
297         tests: simplify wrapper for aclocal
298         * tests/aclocal.in: Remove use of $ACLOCAL_TESTSUITE_FLAGS and
299         extra `-I' flags; they are not really required, since the file
300         `m4/amversion.m4' is generated in the srcdir anyway.
301         * tests/acloca10.test: Remove use of $ACLOCAL_TESTSUITE_FLAGS.
302         * tests/acloca18.test: Likewise.
303         * tests/defs.in: Don't nullify $ACLOCAL_TESTSUITE_FLAGS, and do
304         not export it.
305
306 2011-09-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
307
308         automake: fix regression due to de-ansification support removal
309         The last change `v1.11-947-g136b489' removed code that automake
310         was using to decide whether binary objects were built by the
311         generated Makefile.in, so that it could avoid to emit unneeded
312         code when this was not the case.  Re-introduce such code in a
313         less-obfuscated form, and add a test to ensure we don't regress
314         again.
315         * automake.in ($must_handle_compiled_objects): New global
316         variable, telling whether the generated Makefile has to build
317         compiled objects.
318         (initialize_per_input): Reset it.
319         (handle_programs, handle_libraries, handle_ltlibraries): Set
320         it to a true value when required.
321         (handle_compile): Don't generate any code if the variable
322         `$must_handle_compiled_objects' is not set to a true value.
323         * tests/no-extra-makefile-code.test: New test.
324         * tests/Makefile.am (TESTS): Add it.
325
326 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
327
328         automake: cleanups after de-ansification support removal (2)
329         * automake.in ($get_object_extension_was_run): Remove, it's not
330         really needed anymore.
331         (&get_object_extension): Remove, it's a no-op now.
332         All callers adjusted.
333
334 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
335
336         automake: cleanups after de-ansification support removal (1)
337         * automake.in (lang_c_rewrite, handle_single_transform): Rename 
338         variable `$nonansi_obj' to `$obj'.
339
340 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
341
342         ansi: remove obsolete code/files for de-ANSI-fication support
343         * lib/ansi2knr.1, lib/ansi2knr.c: Deleted.
344         * lib/Makefile.am (dist_pkgvdata_DATA): Do not list them anymore.
345         * lib/am/ansi2knr.am: Delete.
346         * lib/am/Makefile.am (dist_am_DATA): Do not list it anymore.
347         * lib/Automake/Variable.pm (%_am_macro_for_var): Remove entries for
348         `ANSI2KNR' and `U'.
349         * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Don't care anymore
350         about possible definition of the `$U' variable.
351         * automake.in (@common_files): Drop `ansi2knr.1' and `ansi2knr.c'.
352         (struct): Remove scalar field `ansi'.
353         All callers adjusted.
354         (&lang_c_finish, %de_ansi_files): Remove, they're not required
355         anymore.
356         All callers adjusted.
357         ($get_object_extension_was_run): Fix typo in comment.
358         (&get_object_extension): Drop code dealing with de-ansification;
359         this function basically a no-op now, but is required to properly
360         initialize `$get_object_extension_was_run' variable.
361         (&handle_languages, &handle_compile, &lang_c_rewrite): Drop code
362         dealing with de-ansification.
363
364 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
365
366         ansi: reject attempts to use automatic de-ANSI-fication support
367         * tests/protos.m4 (AM_C_PROTOTYPES): Error out whenever called.
368         * lib/Automake/Options.pm (_process_option_list ): Error out
369         with a proper error message when the `ansi2knr' option is used.
370         Related updates to comments.
371         * tests/depacl2.test: Update.
372         * tests/ansi2knr-no-more.test: New test.
373         * tests/Makefile.am (TESTS): Add it.
374         * NEWS: Update.
375
376 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
377
378         tests: remove tests about obsolete de-ANSI-fication support
379         * tests/ansi.test: Delete.
380         * tests/ansi10.test: Likewise.
381         * tests/ansi2.test: Likewise.
382         * tests/ansi2knr-deprecation.test: Likewise.
383         * tests/ansi3.test: Likewise.
384         * tests/ansi3b.test: Likewise.
385         * tests/ansi4.test: Likewise.
386         * tests/ansi5.test: Likewise.
387         * tests/ansi6.test: Likewise.
388         * tests/ansi7.test: Likewise.
389         * tests/ansi8.test: Likewise.
390         * tests/ansi9.test: Likewise.
391         * tests/cxxansi.test: Likewise.
392         * tests/libobj8.test: Likewise.
393         * tests/subobj3.test: Likewise.
394         * tests/Makefile.am (TESTS): Update.
395
396 2011-08-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
397
398         docs: remove description of de-ANSI-fication support from manual
399         * doc/automake.texi (Auxiliary Programs): Remove mention of
400         `ansi2knr.c' and `ansi2knr.1'.
401         (Obsolete Macros): Remove mention of `AM_C_PROTOTYPES'.  Do not
402         index it nor variables `ANSI2KNR' and `U' anymore.
403         (List of Automake options): Remove mention of `ansi2knr' option,
404         and obsolete entries for concept and option indexes.
405         (Optional): Remove entry about `AM_C_PROTOTYPES'.
406         (@c LocalWords): Remove `ansi' and `knr'.
407         (@menu, @detailmenu): Remove entries about de-ANSI-fication
408         support.
409
410 2011-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
411
412         coverage: vala support failing for VPATH from-scratch builds
413         * tests/vala-vpath.test: New test, xfailing.
414         * tests/Makefile.am (TESTS): Update.
415         * THANKS: Update.
416         From a report by Zbigniew Jędrzejewski-Szmek.
417         Related to automake bug#8753.
418
419 2011-09-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
420
421         docs: report few more automake parsing limitations
422         Partly motivated by automake bug#8360.
423         * doc/automake.texi (General Operation): Report few more automake
424         limitations w.r.t. parsing of unusual makefile constructs.  Related
425         minor reorderings.
426         * tests/doc-parsing-buglets-colneq-subst.test: New test.
427         * tests/doc-parsing-buglets-tabs.test: Likewise.
428         * tests/Makefile.am (TESTS): Update.
429
430 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
431
432         tests: prefer AM_... variables to user-reserved ones in Makefile
433         * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Renamed ...
434         (AM_TAP_LOG_DRIVER_FLAGS): ... to this.
435
436 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
437
438         tests: some minor fixlets w.r.t. TAP-based tests
439         The variable that is used by our test scripts to decide whether
440         they are "plain" or TAP-based is `using_tap'; however, some
441         peripheral sanity checks and sanitization code in our testsuite
442         were erroneously using the `use_tap' variable instead.  Fix that.
443         * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Nullify `using_tap',
444         not `use_tap'.
445         * tests/defs-static.in: Check that `using_tap', not `use_tap',
446         is not exported.
447         * tests/self-check-env-sanitize.test: Update.
448
449 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
450
451         tests: avoid re-running a test with the 'parallel-tests' option
452         * tests/backcompat5.test (parallel_tests): Define to "no", to
453         prevent the generation of a sibling test script that uses the
454         'parallel-tests' driver.  That would be useless anyway, since
455         we manually override the contents of configure.in, thus clobbering
456         the `parallel-tests' option in AM_INIT_AUTOMAKE.
457         Fix a typo in comments since we are at it.
458
459 2011-08-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
460
461         tests: defaults to awk+shell driver in tests on TAP support
462         * tests/defs ($am_tap_implementation): Default to "shell", not
463         to "perl".
464
465 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
466
467         tests: list "forgotten" test script in TESTS
468         * tests/Makefile.am (TESTS): Also list ...
469         * tests/java-empty-classpath.test: ... this test.  Since we are
470         at it, remove trailing whitespace from a couple of lines.
471
472 2011-08-25  Eric Blake  <eblake@redhat.com>
473
474         ylwrap: fix unusual indentation whitespace
475         * lib/ylwrap: Convert tabs to spaces.
476         Reported by Karl Berry.
477
478 2011-08-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
479
480         tests: fix spurious failure for awk implementation of TAP driver
481         * tests/tap-realtime.test: The awk+shell implementation of the TAP
482         driver must "read ahead" of one line in order to catch the exit
483         status of the test script it runs.  So, in the TAP-producer script
484         here, be sure to echo one "dummy" line after each TAP result line
485         in order not to cause false positives.
486
487 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
488
489         tap/awk: allow escaping of TAP directives
490         * lib/tap-driver.sh (setup_result_obj): Handle escaping of TAP
491         directives in a way tat is (mostly) compatible by what is done
492         by the TAP::Parser module.
493         With this change, the tests `tap-escape-directive.test' and
494         `tap-escape-directive-2.test' now also pass with the shell/awk
495         implementation of the TAP driver.
496
497 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
498
499         coverage: more about escaping of TAP directives
500         * tests/tap-escape-directive.test: Make grepping of testsuite
501         progress output slightly stricter.
502         * tests/tap-escape-directive-2.test: New test (failing with the
503         awk implementation of the TAP driver).
504         * tests/Makefile.am (tap_with_common_setup_tests): Update.
505
506 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
507
508         tap: improve syncing between awk+shell and perl implementations
509         * lib/tap-driver.pl (stringify_test_result): Renamed ...
510         (stringify_result_obj): ... to this.  Break up a clause in the
511         long "if/elsif/.../else" construct to avoid unaesthetic line
512         breaks and to be more synced with the sibling function in
513         `tap-driver.sh'.  Rename the `$result', `$PASS' and `$FAIL'
514         variables to respectively `$result_obj', `$COOKED_PASS' and
515         `$COOKED_FAIL', for clarity and better syncing.
516         (handle_tap_test): Renamed  ...
517         (handle_tap_result): ... to this, and change the name of the
518         `$test' local variable to `$result_obj'.
519         (extract_comment): Reimplement using the simpler `index' and
520         `substr' builtins, rather than with more advanced uses of
521         regular expressions.
522         (%test_results, @test_results): Renamed respectively ...
523         (%test_results_seen, @test_results_list): ... to these, and
524         related adjustments throughout the `TEST_RESULTS' block.
525         (main, get_global_test_result): Refactor and do some cosmetic
526         changes to make these functions clearer and better synced with
527         sibling code in `tap-driver.sh'.
528         Other minor cosmetic and typo fixes.
529         * lib/tap-driver.sh (extract_tap_comment): Remove outdated
530         "FIXME" comments.
531         (get_global_test_result): Small reordering to make it better
532         synced with its sibling function in `tap-driver.pl'.
533         (stringify_result_obj): Consistently use `result_obj' as the
534         parameter name.
535         Other minor cosmetic and typo fixes.
536
537 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
538
539         tap/perl: don't redirect perl warnings/errors to log files
540         With this change, the test `tap-driver-stderr.test' also passes
541         with the perl implementation of the TAP driver.
542         * lib/tap-driver.pl (start): Save the original stderr into the
543         `OLDERR' file handle, and call ...
544         (trap_perl_warnings_and_errors): ... this new function, trapping
545         the `__WARN__' and `__DIE__' "pseudo-signals" to ensure that the
546         warning and error messages goes to that original stderr stream.
547         Since we are at it, be sure to prepend all possible "die" message
548         with the name of the script as given by the `$ME' variable.
549
550 2011-08-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
551
552         tap/perl: add copyright notice, version string, and emacs stuff
553         * lib/tap-driver.pl: Add proper copyright notice and bug reporting
554         address.  Remove obsolete heading comments.  Add trailing comments
555         for emacs w.r.t. code-formatting rules and automatic updating of
556         the date-based script version saved into the `$VERSION' variable.
557         ($VERSION): Define to the current UTC date.
558
559 2011-08-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
560
561         tap/awk: don't redirect awk stderr to log files
562         * lib/tap-driver.sh: Handle the file descriptors redirections
563         more smartly, to avoid sending error messages from awk (about
564         e.g. syntax or I/O errors) to the log files instead that to the
565         console.
566         * tests/tap-driver-stderr.test: New test, verifying the improved
567         driver behaviour.  Notice that this test still fails when using
568         the perl implementation of the TAP driver.
569         * tests/Makefile.am (tap_other_tests): Update.
570
571 2011-08-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
572
573         tap/awk: remove obsolete "FIXME" comment
574         * lib/tap-driver.sh: Remove obsolete "FIXME" comment about our
575         driver losing the exit status of the tested program; this issue
576         has been solved in precedent commit `v1.11-1052-gd630a0d'.  Fix
577         an unrelated typo in comments since we are at it.
578
579 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
580
581         testsuite: avoid spurious failure on Solaris
582         * tests/tap-signal.test (signal_caught): Fix a regression from
583         commit `v1.11-1052-gd630a0d' that was causing this test to fail
584         spuriously on Solaris (due to an already worked-around Solaris
585         /bin/sh bug, see commit `v1.11-981-g0ef3ef5').
586
587 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
588
589         testsuite: use the new awk+shell TAP driver in our own testsuite
590         * tests/Makefile.am (TAP_LOG_DRIVER): Redefine to use the new
591         awk+shell tap driver, which should be complete enough for use in
592         a "controlled" production environment.
593
594 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
595
596         tap/awk: handle non-zero exit status from the test command
597         * lib/tap-driver.sh (get_test_exit_message): New function in the
598         awk script, used to extract the exit status of the test program,
599         or at least a good guess of it.
600         (write_test_results): Use it, reporting an ERROR result if it
601         detects that the test program exited with a non-zero status.
602         * tests/tap-signal.test: Account for the differences in the
603         error messages generated by the awk and perl TAP drivers.  Fix
604         an unrelated typo in comments since we are at it.
605
606 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
607
608         tap/awk: prepare to fetch the exit status of the test command
609         * lib/tap-driver.sh: Rewrite some logic in the main parsing loop,
610         to make it possible to read the exit status of the test command
611         from the last line of the input stream.
612
613 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
614
615         tap/awk: refactor for future changes
616         * lib/tap-driver.sh: Rewrite the awk script so that the parsing
617         of the input stream is implemented as a hand-rolled loop in the
618         BEGIN block, using the `getline' builtin.
619
620 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
621
622         testsuite: avoid spurious failure if rst2html program is missing
623         * tests/tap-html.test ($required): Require `rst2html'.
624
625 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
626
627         tap/awk: support Solaris /usr/xpg4/bin/awk
628         * lib/tap-driver.sh: Use `\t', not `\\t', to represent tabulation
629         character in regexps, even when inside double-quoted strings; that
630         seems to be more portable to Solaris 10 XPG4 awk.
631
632 2011-08-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
633
634         tap/awk: support Solaris /usr/bin/nawk
635         * lib/tap-driver.sh (close_or_die): Remove, the use of the `close'
636         builtin in there was confusing /usr/bin/nawk from Solaris 10 into
637         a syntax error.
638         (write_test_results): Simply use `close' on the `*.trs' file, that
639         should be enough.
640
641 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
642
643         tap/awk: correctly extract message from SKIP plans
644         * lib/tap-driver.sh (/^1\.\.0+[ \t]*#/): Add a forgotten `?' to
645         the regex used to extract the skip message from a "1..0" TAP plan.
646         * tests/planskip.test: Check for the just-fixed bug.
647         * tests/tap-planskip-unplanned-corner.test: Don't be too strict
648         w.r.t. the formatting of the "skip whole test" message, to avoid
649         failing due to bugs irrelevant for this test (like the one just
650         fixed).
651
652 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
653
654         tap/awk: support colorized output
655         * lib/tap-driver.sh: Pass definition of colors to the BEGIN block
656         of the awk script, using ...
657         ($init_colors): ... this new variable, which supersedes ...
658         ($red, $grn, $lgn, $blu, $mgn, $std): ... these variables, which
659         have been consequently removed.
660         ($color_tests): We don't have to pass this anymore to the awk
661         script, so do not convert it to a numeric boolean.
662         (decorate_result): Implement for real.
663         With this change, the test 'tap-color.test' now passes.
664
665 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
666
667         tap: real (but still incomplete) awk implementation of TAP driver
668         * lib/tap-driver.sh: Add an incomplete, but mostly working,
669         implementation of a TAP parser and driver in awk.  It doesn't yet
670         support colorized output, fetching of exit status from test
671         programs, nor a way to escape TAP directives in TAP result lines,
672         but passes all the tests of TAP support in the automake testsuite,
673         apart from the following ones:
674           - tap-color.test
675           - tap-escape-directive.test
676           - tap-exit.test
677           - tap-missing-plan-and-bad-exit.test
678           - tap-passthrough-exit.test
679           - tap-planskip-badexit.test
680           - tap-planskip-unplanned-corner.test
681           - tap-signal.test
682         Tested on Debian GNU/Linux with GNU awk 3.1.7 and 3.0.2, "original
683         awk" 2010-05-23-1, and mawk 1.3.3-15 (with which also the test
684         `tap-realtime.test' fails, in addition to those listed above).
685
686 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
687
688         testsuite: fix spurious failure due to Solaris 'wc' incompatibility
689         * tests/tap-number-wordboundary.test ($planned): Strip any extra
690         whitespace from the output of `wc', to cater to Solaris 10.
691
692 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
693
694         coverage: keyword "SKIP" in TAP plan is case-insensitive
695         * tests/tap-planskip-case-insensitive.test: New test.
696         * tests/tap-planskip.test: Remove now-duplicated checks.
697         * tests/Makefile.am (tap_with_common_setup_tests): Update.
698
699 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
700
701         coverage: ambiguous use of TAP "TODO"/"SKIP" directives
702         * tests/tap-ambiguous-directive.test: New test.
703         * tests/tap-todo-skip-together.test: Reference it in heading
704         comments.
705         * tests/Makefile.am (tap_with_common_setup_tests): Update.
706
707 2011-08-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
708
709         coverage: non-directive comments in TAP results are preserved
710         * tests/tap-result-comment.test: New test.
711         * tests/Makefile.am (tap_with_common_setup_tests): Update.
712
713 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
714
715         coverage: TAP result number followed by non-whitespace word boundary
716         * tests/tap-number-wordboundary.test: New test.
717         * tests/Makefile.am (tap_with_common_setup_tests): Update.
718
719 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
720
721         coverage: a TAP result numbered "0" is always out-of-order
722         * tests/tap-test-number-0.test: New, checks that a test result
723         numbered as 0 is to be considered out-of-order; this is
724         consistent with the behaviour of the `prove' utility.
725         * tests/Makefile.am (tap_with_common_setup_tests): Update.
726
727 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
728
729         cosmetics: fix botched indentation in perl TAP driver
730         * lib/tap-driver.pl (main, Getopt::Long::GetOptions): Fix
731         improper or botched indentation.
732
733 2011-08-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
734
735         coverage: some more tests on corner cases of TAP support
736         * tests/tap-no-spurious.test: Extend checks verifying that a line
737         matching, say, the regex "^ok[a-zA-Z0-9_]" is *not* considered a
738         TAP result.
739         * tests/tap-no-spurious-numbers.test: New test, checking that our
740         TAP driver doesn't spuriously recognize as TAP result numbers what
741         is not (even if it seems pretty close).
742         * tests/tap-negative-numbers.test: New test, checking that our
743         TAP driver doesn't spuriously recognize negative TAP result
744         numbers, but correctly interprets them as test descriptions
745         instead.
746         * tests/tap-plan-leading-zero.test, tap-numbers-leading-zero.test:
747         New tests, checking how our driver fares in recognizing numbers
748         with leading zeroes in TAP results or TAP plans.
749         * tests/tap-planskip-malformed.test: New test, checking that a
750         malformed TAP plan is not recognized as a valid plan.
751         * tests/tap-plan-whitespace.test: New test, checking that a TAP
752         plan line with trailing whitespace is recognized and handled
753         correctly.
754         * tests/Makefile.am (tap_with_common_setup_tests): Update.
755
756 2011-08-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
757
758         testsuite: fix some redundant autotools calls in tests on TAP
759         * tests/tap-deps.test: Do not call autotools and configure; there
760         is no need to, since this script sources `tap-setup.sh'.
761         * tests/tap-empty-diagnostic.test: Likewise.
762         * tests/tap-escape-directive.test: Likewise.
763         * tests/tap-fancy2.test: Likewise.
764         * tests/tap-no-spurious.test: Likewise.
765         * tests/tap-out-of-order.test: Likewise.
766
767 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
768
769         * THANKS (Daniel Richard G.): Update e-mail address.
770
771 2011-08-16  Daniel Richard G. <skunk@iskunk.org>  (tiny change)
772             Stefano Lattarini  <stefano.lattarini@gmail.com>
773
774         java: avoid compilation errors when CLASSPATH is empty
775         * lib/am/java.am (CLASSPATH_ENV): When redefining `$CLASSPATH',
776         do not append an empty component in case the previous value of
777         CLASSPATH is empty or unset.
778         * tests/java-empty-classpath.test: New test.
779         * tests/Makefile.am (TESTS): Update.
780         Fixes automake bug#9306.
781
782 2011-08-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
783
784         parallel-tests: no more spurious successes for FreeBSD make
785         Work around a bug of FreeBSD make bug that was causing the
786         automake-generated "check" target to complete with success
787         even if some tests failed; this happened only when FreeBSD
788         make was run in concurrent mode (as in, e.g., "make -j2
789         check").  The bug is not present in NetBSD make.
790         This change fixes automake bug#9245:
791          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>
792         See also FreeBSD PR bin/159730:
793          <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>
794         * lib/am/check.am [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Use a
795         more "safe" (and apparently redundant) idiom to exit with error,
796         so that the non-zero exit status is picked up also by FreeBSD
797         make when it's running in concurrent mode.
798         * NEWS: Update.
799         * tests/check-concurrency-bug9245.test: New test.
800         * tests/Makefile.am (TESTS): Update.
801
802 2011-08-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
803
804         hacking: we now require autoconf 2.68
805         * HACKING ("Working in git"): Use autoconf and autom4te 2.68,
806         not 2.67, in the examples.
807
808 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
809
810         tap: improve granularity for tests on problematic TAP messages
811         * tests/tap-message-0.test: Break up into ...
812         * tests/tap-msg0-result.test, tests/tap-msg0-directive.test,
813         tests/tap-msg0-planskip.test, tests/tap-msg0-misc.test,
814         tests/tap-msg0-bailout.test: ... these new tests, and extend
815         a little.
816         * tests/Makefile.am (tap_with_common_setup_tests): Update.
817
818 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
819
820         tap: correctly handle string "0" in TAP messages
821         * lib/tap-driver.pl (is_null_string): New function, can be used
822         to determine whether a given string variable is empty or undefined.
823         Useful to avoid pitfalls like:
824           if ($message) { print "$message\n"; }
825         which wouldn't print anything if $message is the literal "0".
826         (handle_tap_test, handle_tap_plan, handle_tap_bailout): Use it,
827         to avoid missing messages composed only by a literal "0" in TAP
828         result descriptions and in skip, todo and bailout explanations.
829         * tests/tap-message-0.test: Enhance.
830         * tests/Makefile.am (XFAIL_TESTS): Remove it, it passes now.
831
832 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
833
834         tap: a minor simplification in the perl TAP driver
835         * lib/tap-driver.pl: The `--disable-hard-errors' option is a
836         no-op, so just ignore it and its argument.
837
838 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
839
840         parallel-tests: fix help screen for test driver scripts
841         * lib/tap-driver.pl ($USAGE): The `--trs-file' option is mandatory
842         too.
843         * lib/tap-driver.sh (print_usage): Likewise.
844         * lib/test-driver (print_usage): Likewise.
845         ($scriptversion): Update.
846
847 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
848
849         tap: add a dummy TAP driver script implemented in shell + awk
850         The user can also now decide which implementation of the TAP driver
851         to use in the testsuite by defining the `$am_tap_implementation'
852         variable to either "perl" or "shell".  Future enhancements will
853         allow the testsuite to automatically run the test scripts on TAP
854         support with both the TAP driver implementations, to improve
855         coverage.
856         * tests/defs (fetch_tap_driver): Honor the `$am_tap_implementation'
857         variable to decide which implementation of the TAP driver to fetch.
858         ($am_tap_implementation): Default to "perl".
859         * tests/tap-common-setup.test: Do not fetch the TAP driver, the
860         code in tap-setup.sh does that already (and respecting runtime
861         overriding of `$am_tap_implementation').
862         * lib/tap-driver: Renamed ...
863         * lib/tap-driver.pl: ... to this, and ...
864         ($ME): ... adjusted this.
865         * doc/automake.texi: Adjust to the renaming.
866         * tests/Makefile.am (TAP_LOG_DRIVER): Likewise.
867         * tests/tap-doc2.test: Likewise.
868         * lib/tap-driver.sh: New script, still mostly dummy.
869         * lib/Makefile.am (dist_script_DATA): Update, and since we are at
870         it, rewrite it to make it easier to add new entries in the future.
871
872 2011-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
873
874         testsuite: refactor tests on TAP support in view of future changes
875         * tests/defs (fetch_tap_driver): New subroutine; it fetches the
876         automake-provided TAP driver from the `lib/' directory into the
877         current directory, and edits its shebang line so that it will be
878         run with the perl interpreter determined at configure time.
879         * tests/tap-setup.sh: Use it.
880         * tests/tap-common-setup.test: There's no need to AC_SUBST `PERL'
881         anymore, nor to use it in the Makefile to run the TAP driver.
882         Also, use the `fetch_tap_driver' function instead of copying the
883         `tap-driver' auxiliary script directly.
884         * tests/tap-bad-prog.tap: Likewise.
885         * tests/tap-diagnostic-custom.test: Likewise.
886         * tests/tap-doc.test: Likewise.
887         * tests/tap-merge-stdout-stderr.test: Likewise.
888         * tests/tap-more.test: Likewise.
889         * tests/tap-more2.test: Likewise.
890         * tests/tap-recheck.test: Likewise.
891         * tests/tap-summary-aux.sh: Likewise.
892         * tests/tap-basic.test: Likewise, and fix a grammaro in comments
893         since we are at it.
894
895 2011-08-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
896
897         coverage: missing tap plan and non-zero exit status
898         * tests/tap-missing-plan-and-bad-exit.test: New test.
899         * tests/Makefile.am (tap_with_common_setup_tests): Update.
900
901 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
902
903         testsuite: fix an unportable use of sed
904         * tests/tap-todo-skip-whitespace.test: Alternation with "\|" in
905         sed regular expressions is not portable to (at least) FreeBSD
906         sed; do not use it.
907
908 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
909
910         testsuite: avoid spurious failure if rst2html program is missing
911         * tests/test-driver-custom-no-html.test: Account for the
912         possibility of a lacking `rst2html' program in our final
913         grepping of make output.
914
915 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
916
917         tap: improve diagnosing and reporting of plan mismatches
918         Problem exposed by a failure in the test 'tap-plan-errors.test'.
919         * lib/tap-driver (NO_PLAN, EARLY_PLAN, LATE_PLAN): New constants.
920         (Throughout the file): Use more complex semantics for `$plan_seen',
921         which now also remember whether the plan that has been seen is an
922         "early" or "late" plan; in turn, this makes ...
923         ($tap_stopped): ... this variable redundant; remove it.
924         (handle_tap_plan): Adjust to avoid producing spurious or confusing
925         error messages about extra or mismatched "late" TAP plans.
926         * tests/tap-plan-corned.test: Adjust and extend.
927         * tests/tap-color.test: Likewise.
928
929 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
930
931         tap: log all TAP stream, even after a "Bail out!"
932         * lib/tap-driver ($bailed_out): New global boolean variable,
933         telling whether a "Bail out!" directive has been seen or not.
934         (handle_tap_bailout): This function does not anymore stop the
935         reading from TAP stream; instead, it sets `$bailed_out' to a
936         true value, so that only the subsequent parsing of the input
937         TAP stream is stopped.
938         (finish): Remove, no more needed, its contents inlined into ...
939         (main): ... this function, with related adjustments in the code
940         flow.
941         (get_test_exit_message): Do not "flush" the input TAP stream
942         to fetch the exit status of test script, it is not anymore
943         required.  Add a sanity check.
944         * tests/tap-bailout-and-logging.test: New test.
945         * tests/Makefile.am (tap_with_common_setup_tests): Update.
946
947 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
948
949         coverage: TAP diagnostics after "Bail out!" aren't reported
950         This is compatible with the behaviour of the `prove' utility.
951         * tests/tap-bailout-suppress-later-diagnostic.test: New test.
952         * tests/Makefile.am (tap_with_common_setup_tests): Update.
953
954 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
955
956         coverage: TAP errors after a "Bail out!" directive aren't reported
957         This is compatible with the behaviour of the `prove' utility.
958         * tests/tap-bailout-suppress-later-errors.test: New test.
959         * tests/tap-bailout-badexit.test: Renamed ...
960         * tests/tap-bailout-suppress-badexit.test: ... to this, for
961         consistency.
962         * tests/Makefile.am (tap_with_common_setup_tests): Update.
963
964 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
965
966         testsuite: reorganize tests on TAP plans
967         * tests/tap-skip-whole.test: Rename ...
968         * tests/tap-planskip.test: ... to this
969         * tests/tap-skip-whole-badexit.test: Rename ...
970         * tests/tap-planskip-badexit.test: ... to this.
971         * tests/tap-skip-whole-bailout.test: Rename ...
972         * tests/tap-planskip-bailout.test: ... to this.
973         * tests/tap-skip-whole-bailout.test: Rename ...
974         * tests/tap-planskip-later-errors.test: ... to this.
975         * tests/tap-skip-whole-unplanned.test: Rename ...
976         * tests/tap-planskip-unplanned.test: ... to this.
977         * tests/tap-skip-whole-whitespace.test: Rename ...
978         * tests/tap-planskip-whitespace.test: ... to this.
979         * tests/tap-skip-whole-continue.test: Rename ...
980         * tests/tap-planskip-and-logging.test: ... to this, extend to try
981         more cases, and fix heading comments.
982         * tests/tap-skip-whole-lastline.test: Rename ...
983         * tests/tap-planskip-late.test: ... to this, fix heading comments,
984         and remove some checks that are just a duplication of those already
985         performed in the previous script.
986         * tests/tap-results-with-planskip.test: Rename to ...
987         * tests/tap-planskip-unplanned-corner.test: ... this, and improve
988         hading comments.
989         * tests/tap-planskip-later-errors.test: New test.
990         * tests/Makefile.am (tap_with_common_setup_tests): Update.
991
992 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
993
994         coverage: more TAP driver consistency w.r.t. 'prove'
995         * tests/skip-results-with-planskip.test: New test, verifies that
996         test results seen in a TAP stream that has a "plan with SKIP" are
997         flagged as errors.
998         * tests/Makefile.am (tap_with_common_setup_tests): Update.
999
1000 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1001
1002         tap: improve some comments in the TAP driver
1003         * lib/tap-driver (handle_tap_plan): Improve comments describing
1004         possible errors in a "plan with SKIP" directive.
1005
1006 2011-08-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
1007
1008         tap: non-zero exit status after "Bail out!" should not be reported
1009         This new behaviour is more consistent with that of the `prove'
1010         utility.  Also, experience with the use of TAP in the Automake's
1011         own test suite has shown that reporting non-zero exit status from
1012         a script after it has issued a "Bail out!" directive is mostly
1013         redundant, more introducing noise rather than conveying useful
1014         information.
1015         * lib/tap-driver (finish): Inline the part of it that was getting
1016         the script exit status ...
1017         (main): ... in here.
1018         * tests/tap-bailout-badexit.test: New test.
1019         * tests/Makefile.am (tap_with_common_setup_tests): Update.
1020
1021 2011-08-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
1022
1023         tap: a "plan with SKIP" after test results is an error
1024         This new behaviour is both more natural and more consistent with
1025         that of the `prove' utility.
1026         * lib/tap-driver (handle_tap_plan): Do not stop TAP parsing when
1027         a "plan with SKIP" line (e.g., "1..0 # SKIP") is encountered, and
1028         do not print a "SKIP" line if some TAP result has already been
1029         seen.
1030         * tests/tap-skip-whole.test: Adapt.
1031         * tests/tap-skip-whole-lastline.test: Likewise.
1032         * tests/tap-global-result.test: Adapt and extend.
1033         * tests/tap-skip-plan-errors.test: Likewise, and fix an obsolete
1034         small part of a comment.
1035         * tests/tap-skip-whole-bailout.test: New test.
1036         * tests/tap-skip-whole-unplanned.test: Likewise.
1037         * tests/tap-skip-whole-continue.test: Likewise.
1038         * tests/Makefile.am (tap_with_common_setup_tests): Update.
1039
1040 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1041
1042         test harness: avoid possible fork bomb
1043         This fixes a regression w.r.t. the master branch, exposed by
1044         test 'parallel-tests-fork-bomb.test'.
1045         * lib/am/check.am (am--redo-logs): Detect possible infinite
1046         recursion due to a test log in $(TEST_LOGS) being the same
1047         as $(TEST_SUITE_LOG).
1048
1049 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1050
1051         coverage: enhance test against infinite recursion in test harness
1052         * tests/parallel-tests-fork-bomb.test: Enhance and extend a
1053         little now, for soon-to-be-implemented more explicit and safer
1054         semantics.
1055
1056 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1057
1058         coverage: possible infinite recursion in the test harness
1059         Motivated by a regression in the 'test-protocols' branch.
1060         * tests/parallel-tests-fork-bomb.test: New test, checking that
1061         if $(TEST_SUITE_LOG) is in $(TEST_LOGS), we obtain a diagnosed
1062         error rather than a make hang or a fork bomb.
1063         * tests/Makefile.am (TESTS): Update.
1064
1065 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1066
1067         test defs: yet more environment cleanup
1068         * tests/defs: Also unset the TEST_SUITE_LOG variable.
1069
1070 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1071
1072         test harness: recursive make invocations must use $(AM_MAKEFLAGS)
1073         * lib/am/check.am ($(TEST_SUITE_LOG)): Pass $(AM_MAKEFLAGS)
1074         to $(MAKE) when issuing a recursive make call.
1075         Problem detected by the `sc_tests_make_without_am_makeflags'
1076         maintainer check.
1077
1078 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1079
1080         tests: fix various blunders in 'suffix-chain.test'
1081         * tests/suffix-chain.test: Fix various blunders that were causing
1082         this test to fail spuriously: append to `configure.in', not to
1083         `configure.ac'; add a `;' character after the `return' statement
1084         in an input file; use tabs, not spaces, to indent Makefile recipes;
1085         and use more uncommon suffixes that don't trigger built-in recipes
1086         with FreeBSD make.
1087
1088 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1089
1090         tests: don't let a known Solaris make bug poison too many tests
1091         See automake bug#7670 and bug#7824.
1092         * tests/defs (make_can_chain_suffix_rules): New function, tell
1093         whether the make implementation in use can chain suffix rules
1094         automatically or not.
1095         * tests/suffix3.test: Use it to avoid issuing calls to make that
1096         are unportable to make implementations that are not smart enough
1097         to chain suffix rules automatically.
1098         * tests/suffix8.test: Use it to avoid issuing calls to make that
1099         * tests/suffix10.test: Use it to avoid issuing calls to make that
1100         * tests/suffix11.test: Use it to avoid issuing calls to make that
1101         * tests/suffix-chain.test: New test, exposes the limitation that
1102         we have papered over in the tests above.
1103
1104 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1105
1106         gitignore: more use of anchors
1107         * .gitignore: Anchor files that are intended to be ignored only
1108         if found in the same directory of the `.gitignore' file, not also
1109         in its subdirectories.
1110         * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
1111         lib/Automake/tests/.gitignore, tests/.gitignore: Likewise.  Also,
1112         where needed, add new entries that were once implied by the
1113         non-anchored entries in the upper-level `.gitignore' files.
1114
1115 2011-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
1116
1117         testsuite: avoid spurious failure of self checks on Solaris
1118         This is just a quick workaround to prevent having too much noise
1119         in the testsuite; more proper fixes have been committed into the
1120         'testsuite-work' branch.
1121         * tests/self-check-dir.test: Relax a test to avoid unimportant
1122         failure on Solaris 10.
1123         * tests/self-check-exit.test: Likewise.
1124
1125 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1126
1127         test defs: more environment cleanup
1128         * tests/defs: Also unset variables AM_COLOR_TESTS and
1129         AM_TESTS_ENVIRONMENT.
1130
1131 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1132
1133         test harness: more minor VPATH-rewrite issues
1134         * tests/am/check.am (am__set_TESTS_bases, $(TEST_SUITE_LOGS),
1135         am--redo-logs, recheck, recheck-html): Cosmetic fixlets to
1136         minimize the risk of unwanted VPATH rewrites.
1137         (check-TESTS): Likewise, and normalize trailing whitespace
1138         since we are at it.
1139         Bugs exposed by test cases `check6-p.test' and `check7-p.test'.
1140
1141 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1142
1143         test harness: "make -n check" works correctly with Solaris make
1144         To avoid some recipes being executed with "make -n", we used the
1145         trick of issuing recursive make calls not directly with $(MAKE),
1146         but with a simple indirection instead:
1147           ...
1148           am__stealth_MAKE = $(MAKE)
1149           ...
1150           target:
1151               ... $(am__stealth_MAKE) ...
1152           ...
1153         This hack worked with GNU make, but, unfortunately, not with
1154         Solaris make.  The present change removes the hack, and uses more
1155         proper idioms to avoid unwanted recipe executions with "make -n".
1156         Bug exposed by test case `parallel-tests-dry-run.test'.
1157         * lib/am/check.am (am__stealth_MAKE): Remove, no more used.
1158         (.log.trs): Break recipe in multiple shell invocations.
1159         ($(TEST_SUITE_LOG)): Likewise, and move some corner-case parts of
1160         the recipe to ...
1161         (am--redo-logs): ... this new internal helper .PHONY target.
1162
1163 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1164
1165         tests: fix spurious failure with Solaris make
1166         * tests/distcheck-configure-flags-am.test: Avoid using `+=' too
1167         liberally with AM_DISTCHECK_CONFIGURE_FLAGS, since the line breaks
1168         so introduced, in conjunction with single quotes, might confuse
1169         Solaris make.
1170
1171 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1172
1173         test harness: fixlet in workaround for VPATH rewrite issue
1174         Fixes a minor in previous commit `v1.11-983-gfda3de5'.
1175         * lib/am/check.am (am__set_TESTS_bases): Add forgotten end-of-line
1176         anchor to sed expression.  In comments, add reference to ...
1177         * tests/test-trs-basic.test: ... this test, which has been adapted
1178         and tightened (and tweaked).
1179
1180 2011-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1181
1182         test harness: work around a VPATH rewrite issue
1183         * lib/am/check.am (am__TEST_BASES): Removed, it's role taken
1184         over by ...
1185         (am__set_TESTS_bases): ... these new variable.
1186         ($(TEST_SUITE_LOG): Use it, to avoid VPATH rewrite issues.
1187         * automake.in (handle_tests): Update the code for the cleanup
1188         of the `.trs' file to use `$(TEST_LOGS)' instead of
1189         `$(am__TEST_BASES)'.
1190         * tests/test-harness-vpath-rewrite.test: New test, better
1191         exposing the problem fixed by this change
1192         * tests/Makefile.am (TESTS): Add it.
1193         * tests/test-trs-basic.test: Update and extend.
1194
1195 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1196
1197         parallel-tests: work around Solaris XPG4 make segfault
1198         Issue exposed by test `posixsubst-tests-p.test', and similar to
1199         the problem solved by commit `v1.11-159-ge7aa360'.
1200         * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Trim trailing
1201         whitespace from $list, to avoid triggering a nasty bug (potential
1202         segfault) on Solaris XPG4 make and Heirloom make.
1203
1204 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1205
1206         testsuite: fix weird spurious failure with Solaris /bin/sh
1207         Solaris /bin/sh, when killed with a SIGTERM or SIGINT signal, can
1208         apparently end up exiting with exit status 208, instead of leaving
1209         the correct wide exit status to the parent.  See:
1210          <http://dbaspot.com/shell/396118-bourne-shell-exit-code-term.html>
1211         Work around this incompatibility.
1212         * tap-signal.test: Look for the above Solaris bug.
1213         (signal_caught): Adapt to handle it.
1214
1215 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1216
1217         testsuite: fix another spurious failure on Solaris make
1218         * tests/parallel-tests-log-override-recheck.test: Filter make
1219         output before grepping it, for make implementations that, like
1220         Solaris' one, print the whole of the failed recipe on failure.
1221
1222 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1223
1224         testsuite: fix two spurious failures on Solaris make
1225         * tests/tests-environment-and-log-compiler.test: Do not fail if
1226         "make -n check" fails, as that is issued only for debugging, its
1227         semantics being tested in other test scripts.
1228         * tests/test-driver-strip-vpath.test: Likewise.
1229
1230 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1231
1232         tap driver: refactor and remove dead code
1233         * lib/tap-driver (get_tap_line): Removed, ...
1234         (all callers): ... updated to use $parser->next directly instead.
1235         (peek_tap_line, unget_tap_line, @tap_lines): Remove, they're not
1236         used anymore.
1237         (TAP_PEEKING): Block deleted, all its subroutines and variables
1238         having been removed.
1239
1240 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1241
1242         testsuite: fix spurious failure in a test on TAP support
1243         * tests/tap-passthrough-exit.test: When the `--ignore-exit' flag
1244         of the TAP driver is used, don't look for a message reporting the
1245         non-zero exit statuses of tests in the log files; such message is
1246         not expected to be there anymore.  Related simplifications.
1247
1248 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1249
1250         tap: plan location is more liberal w.r.t. non-TAP lines
1251         With this change, only lines that are TAP results will matter
1252         w.r.t. the position of the TAP plan in the input; for example,
1253         this input:
1254           this is a non-TAP line
1255           # and this a TAP diagnostic line
1256           1..1
1257           ok 1
1258         was considered to be an error, diagnosed with a message "test
1259         plan in middle of output"; as effect of the current change, such
1260         input is now valid.  This is more consistent with the behaviour
1261         of the `prove' utility.
1262         * lib/tap-driver ($lineno): Removed, no more needed.
1263         ($tap_stopped): New global variable.
1264         (stringify_test_result): Return "ERROR" if a TAP result is found
1265         when `$tap_stopped' is set to true.
1266         (handle_tap_test): Diagnose TAP results that comes after a late
1267         plan.  Add a couple of blank lines, for clarity.
1268         (handle_tap_plan): Set `$tap_stopped' to true after a late plan
1269         is encountered.  Do not complain anymore for extra non-TAP lines
1270         preceding or following the plan.  Adjust comments.
1271         (main): Don't increment $lineno anymore.
1272         * tests/tap-plan.test: Extend a bit, and remove stale comment.
1273         * tests/tap-color.test: Adjust.
1274         * tests/tap-passthrough.test: Likewise.
1275         * tests/tap-plan-corner.test: Adjust and extend.
1276         * tests/tap-plan-errors.test: Likewise.
1277         * tests/tap-plan-middle.test: New test.
1278         * tests/tap-plan-corner2.test: Delete, it's obsolete now.
1279         * tests/Makefile.am (XFAIL_TESTS): Remove it.
1280         (tap_with_common_setup_tests): Likewise, and add
1281         `tap-plan-corner.test'.
1282
1283 2011-08-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
1284
1285         testsuite: remove now-passing test from XFAIL_TESTS
1286         * tests/Makefile.am (XFAIL_TESTS): Remove `tap-signal.test',
1287         which is passing since previous commit `v1.11-974-gc7fa872'.
1288
1289 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1290
1291         tap driver: handle signals received by the tests being run
1292         * lib/tap-driver (get_test_exit_message): Also deal with signals,
1293         by using the `wait' method of the TAP::Parser object instead of
1294         the `exit' method.  This required the use of the standard perl
1295         module `POSIX'.
1296         * doc/automake.texi (Use TAP with the Automake test harness):
1297         Document that `--ignore-exit' has effect also on terminating
1298         signals.  Add a "synchronizing" comment that references the tests
1299         'tap-exit.test' and 'tap-signal.test'.
1300         * tests/tap-signal.test: Extend and adjust.
1301
1302 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1303
1304         test driver: a preparatory refactoring (2)
1305         * lib/tap-driver (finish): Move code to fetch the message about
1306         the exit status of the test being run to ...
1307         (get_test_exit_message): ... this new subroutine.
1308
1309 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1310
1311         tap driver: a preparatory refactoring (1)
1312         * lib/tap-driver (finish): Do not flush the TAP stream nor
1313         fetch the exit status of the TAP producer if running with
1314         the `--ignore-exit' option.  Obviously, don't try to write
1315         such exit status in the test log anymore.
1316
1317 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1318
1319         cosmetics: typofix in the name of a function in the TAP driver
1320         * lib/tap-driver (testuite_error): Renamed ...
1321         (testsuite_error): ... to this, and minor related reformatting.
1322
1323 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1324
1325         tap: scripts with a SKIP plan but with exit status != 0 must error
1326         This change has been motivated by Automake's own testsuite.  Some
1327         TAP tests there were erroring out (due to unexpected, unhandled
1328         failures) before having encountered TAP result, so that the
1329         simple-minded shell library implementing TAP generation ended up
1330         printing a "1..0" trailing test plan; this caused the script to be
1331         reported as a SKIP rather than an ERROR -- a nasty false negative.
1332         * lib/tap-driver: Add prototypes for each subroutine, to free up
1333         the order in which they can be defined and called.
1334         (main): Move the code checking for a bad exit status of the TAP
1335         producer ...
1336         (finish): ... here, and flush the TAP stream to ensure that the
1337         parser always obtains the producer's exit status.
1338         * tests/tap-skip-whole-badexit.test: New test.
1339         * tests/Makefile.am (tap_with_common_setup_tests): Add it.
1340
1341 2011-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
1342
1343         tap: fix whitespace munging of diagnostic messages
1344         * lib/tap-driver (extract_tap_comment): Pass the `g' flag to the
1345         substitution operator, to strip also trailing whitespaces.  Fixes
1346         a failure in test `tap-whitespace-normalization.test'.
1347
1348 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1349
1350         tap: fix typo in TAP driver version message
1351         * lib/tap-driver (anonymous subroutine printing the script version
1352         message): Add missing trailing newline to the version message.
1353
1354 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1355
1356         tap docs: we don't support pragma or version directives (yet)
1357         * doc/automake.texi (Incompatibilities with other TAP parsers
1358         and drivers): Document that limitation.  Normalize an unrelated
1359         "TODO" item.
1360
1361 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1362
1363         tap: new option to change the string designating TAP diagnostic
1364         Here we introduce a new option `--diagnostic-string' in our TAP
1365         test driver, that allows the user to specify which string should
1366         denote the beginning of a TAP diagnostic line.  This change is
1367         not gratuitous, nor result if over-engineering: it is motivated
1368         by real issues that have emerged during the use of TAP in the
1369         Automake's own testsuite (see the commit `v1.11-1082-g9b967c2'
1370         "testsuite: yet more use of TAP, and related extensions").
1371         * doc/automake.texi (Use TAP with Automake test harness): Document
1372         the new option.
1373         (Incompatibilities with other TAP parsers and drivers): Report it
1374         as a potential source of incompatibility.
1375         * lib/tap-driver ($diag_string): New global variable, defaulting
1376         to "#", and whose value can be changed ...
1377         (Getopt::Long::GetOptions): ... by the newly recognized option
1378         `--diagnostic-string'.
1379         (handle_tap_comment): Subroutine removed, some of its simple logic
1380         inlined ...
1381         (main): ... in here, where now ...
1382         (extract_tap_comment): ... this new subroutine is used.
1383         ($USAGE): Adjust.
1384         * tests/tap-diagnostic.test: Make one check slightly stricter.
1385         * tests/tap-diag-custom.test: New test.
1386         * tests/Makefile.am (tap_other_tests): Add it.
1387
1388 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1389
1390         check: add small "synchronization" comment to `test-driver'
1391         * lib/test-driver: Add comment to the code initializing ANSI color
1392         escapes, telling to keep it in sync with the similar initialization
1393         in `lib/am/check.am'.
1394
1395 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1396
1397         maintcheck: fix spurious failure w.r.t. use of bare "exit"
1398         * tests/check12.test: Cosmetic changes to avoid triggering a
1399         spurious failure of the `sc_tests_Exit_not_exit' maintainer
1400         check.
1401
1402 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1403
1404         check: update comments to reflect recent heavy changes
1405         * lib/am/check.am [%?PARALLEL_TESTS%]: Update the comments to
1406         reflect the recent changes.  Remove quite many comments that
1407         were merely duplicating excerpts from the Automake manual.
1408
1409 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1410
1411         check: small cleanups and refactorings in test harness and drivers
1412         * lib/tap-driver (yn): New subroutine, converts a boolean value to
1413         a "yes" or "no" string.
1414         (write_test_results): Use it, and related reformatting.
1415         * lib/test-driver (trap): Also remove the `.trs' file on signals,
1416         for extra safety.
1417         (fatal): Remove this function, it's never used.
1418         ($logfile, $trsfile): Renamed ...
1419         ($log_file, $trs_file): ... to these, for clarity, and in order to
1420         be more consistent with the `tap-driver' script.
1421         Improve a couple of comments.
1422         * automake.in (handle_tests): Don't define anymore the now-obsolete
1423         make macro `$(TEST_LOGS_TMP)', nor add it to the list of files to
1424         be removed upon "make mostlyclean".
1425         * lib/am/check.am ($(TEST_SUITE_LOG)): New shell function `f_ok',
1426         tells whether a path refers to an existing, regular, readable file.
1427         Use it throughout.
1428         (recheck): Be safer w.r.t. make implementation that run recipes
1429         with `errexit' shell flag active.
1430
1431 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1432
1433         testsuite: use AM_TESTS_FD_REDIRECT where appropriate
1434         * parallel-tests-interrupt.test: Use AM_TESTS_FD_REDIRECT, not
1435         AM_TESTS_ENVIRONMENT, to define file descriptors' redirection
1436         for "make check".  Fix botched comment.
1437
1438 2011-08-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
1439
1440         docs: some fixlets in documentation on testsuites support
1441         * doc/automake.texi (Script-based Testsuites): Rename node ...
1442         (Scripts-based Testsuites): ... to this.  Break overly long lines
1443         in an example (were causing problems with PDF output).
1444         (Parallel Test Harness): Don't intend paragraphs that come after
1445         examples or bulleted list.
1446         (Overview of Custom Test Drivers Support): Fix typo s/the the/the/.
1447         (Declaring Custom Test Drivers): When giving an aside, prefer comma
1448         to parentheses, as it disrupts the reading flow less.
1449         (API for Custom Test Drivers): Remove a sentence that was basically
1450         duplicated from the previous subsection.
1451         (Command-line arguments for test drivers): Don't intend paragraph
1452         coming after an itemized list.  Clarify wording and fix grammaros.
1453         Add a couple of cross-references to earlier explanations of `.log'
1454         and `.trs' files.
1455         (Links and external resources): Node renamed ...
1456         (Links and external resources on TAP): ... to this, for clarity.
1457         Slightly extend and clarify introductory sentence.
1458
1459 2011-08-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1460
1461         test harness: be aware of more metadata, simplify test drivers
1462         * lib/am/check.am ($(TEST_SUITE_LOG)):  When producing the
1463         global test log, take into account the new metadata field
1464         `:global-test-result:, to write nicely formatted RST section
1465         titles, instead of leaving this chore to the individual test
1466         drivers.
1467         (am_rst_section): Re-introduce this variable, as removed in
1468         commit `v1.11-870-ga27c9c4'.
1469         * lib/test-driver, lib/tap-driver: Write the global test result
1470         as metadata in the `.trs' file, not as (part of) a formatted RST
1471         subsection title in the `.log' file.  Related simplifications;
1472         in particular, get rid of temporary files usage.
1473         * doc/automake.texi (Log files generation and test results
1474         recording): Document the new metadata.
1475         * tests/check12.test: Update.
1476         * tests/parallel-tests-harderror.test: Likewise.
1477         * tests/parallel-tests-interrupt.test: Likewise.
1478         * tests/parallel-tests-log-override-2.test: Likewise.
1479         * tests/parallel-tests-log-override-recheck.test: Likewise.
1480         * tests/parallel-tests-unreadable.test: Likewise.
1481         * tests/tap-global-result.test: Likewise.
1482         * tests/test-metadata-results.test: Likewise.
1483         * tests/test-log.test: Likewise, and another minor unrelated fix.
1484         * tests/test-metadata-global-result.test: New test.
1485         * tests/Makefile.am (TESTS): Update.
1486
1487 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1488
1489         tap: check that also a trailing TAP plan can hold a skip directive
1490         * tests/tap-skip-whole-lastline.test: New test.
1491         * tests/Makefile.am (tap_with_common_setup_tests): Add it.
1492
1493 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1494
1495         maintcheck: fix more maintainer-check failures
1496         * tests/test-driver-custom-no-html.test (no-rst): Use `EOF',
1497         not `EoL', as the here-document delimiter.
1498         * tests/test-trs-basic.test: Use `cat + here-doc' rather
1499         than `echo' when creating the dummy test scripts, to please
1500         maintainer-check.
1501         * tests/test-trs-recover.test: Use creative quoting where
1502         needed, to please maintainer-check.
1503         * tests/parallel-tests-no-color-in-log.test: Likewise.
1504         * tests/parallel-tests-dry-run.test: Likewise.
1505
1506 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1507
1508         maintcheck: fix maintainer-check failures, both real and spurious
1509         * tests/amhello-binpkg.test: Use "$MAKE", not bare "make".
1510         * Makefile.am (sc_perl_local): Also allow perl special variable
1511         `$~' to be localized.  And be slightly laxer in the regexp, to
1512         allow for usages like "local $_ = $foo;".
1513         (sc_tests_overriding_macros_on_cmdline): Also allow for command
1514         line overriding of the `DISABLE_HARD_ERRORS' make variable.  Try
1515         to avoid false positives for usages like "$MAKE || st=$?".
1516
1517 2011-08-03  Bruno Haible  <bruno@clisp.org>
1518
1519         docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support
1520         * doc/automake.texi (Program Variables): Recommend -I options to
1521         both the build directory and the source directory when needed.
1522
1523 2011-07-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1524
1525         tests: relax a test on amhello examples to cater to Solaris tar
1526         * tests/amhello-binpkg.test: When the tar implementation in use
1527         is not GNU tar, relax the tests on tar output, to avoid spurious
1528         failures.  For example, "tar cvf ..." with GNU tar can output
1529         lines like "./usr/bin/hello" on the standard output, while with
1530         Solaris tar it can output lines like "a ./usr/bin/hello 8K" on
1531         standard output, and with Heirloom tar it can output lines like
1532         "a ./usr/bin/hello 15 tape blocks" on standard error.
1533
1534 2011-07-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1535
1536         test defs: function 'is_newest' now works also with directories
1537         * tests/defs (is_newest): Call `find' with the `-prune' option,
1538         so that it won't descend in the directories (which could cause
1539         spurious results).
1540         * tests/self-check-is_newest: Extend accordingly.
1541         From a report by Jim Meyering, see automake bug#9147.
1542
1543 2011-07-15  Benoit Sigoure  <tsunanet@gmail.com>
1544
1545         docs: add references between the 2 sections on java support
1546         * doc/automake.texi (Java Support, Java): Add cross-references.
1547
1548 2011-07-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1549
1550         Sync auxiliary files from upstream.
1551         * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
1552         lib/texinfo.tex: Sync from upstream.
1553
1554 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1555
1556         tests: fix weakness in 'tests-environment-backcompat.test'
1557         * tests/tests-environment-backcompat.test: Do not override the
1558         content of xfailing test `baz.test' with a "weaker" version that
1559         fails unconditionally: the test must fail only when the 'strict'
1560         pragma is in use, in order not to reduce coverage.
1561
1562 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1563
1564         docs, tests: synchronize examples on silent-rules from config.site
1565         * doc/automake.texi (Automake silent-rules Option): Reference test
1566         'silent-configsite.test' in comments.
1567
1568 2011-07-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1569
1570         tests: portability fixes in tests on amhello examples
1571         * tests/amhello-binpkg.test: Don't use "tar xzf too.tag.gz" to
1572         extract a gzip-compressed tarball, that's unportable to some
1573         tar implementations; use the "gzip -dc fo.tar.gz | tar xf -"
1574         idiom instead.
1575         * tests/amhello-cflags.test: Likewise.
1576         * tests/amhello-cross-compile.test: Likewise.
1577         Suggestion from Ralf Wildenhues.
1578
1579 2011-07-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1580
1581         remake: add test ensuring that slower remakes don't hang
1582         * tests/remake-subdir-long-time.test: New test.
1583         * tests/Makefile.am (TESTS): Update.
1584         Suggestion by Ralf Wildenhues.
1585
1586 2011-07-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
1587
1588         remake: fix outdated comment in configure.am
1589         * lib/am/configure.am: Fix comment falsified by changes in
1590         commit `v1.11-366-gbee9871'.
1591         Suggestion by Ralf Wildenhues.
1592
1593 2011-07-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
1594
1595         docs, tests: synchronize examples from docs to tests
1596         * tests/README (Writing test cases): Give suggestions on how to
1597         keep test cases and examples in the documentation synchronized.
1598         * doc/automake.texi: Improve or fix existing testcase-referencing
1599         comments, and add many new ones.
1600         * HACKING (Administrivia): Suggest to test complex examples and
1601         idioms from the manual.
1602         * tests/specflg8.test: Improve synchronization with the example
1603         in the manual.
1604         * tests/output11.test:Likewise.
1605         * tests/txinfo21.test:Likewise.
1606         * tests/interp.test: Likewise.
1607         * tests/amhello-cflags.test: New test.
1608         * tests/amhello-cross-compile.test: Likewise.
1609         * tests/amhello-binpkg.test: Likewise.
1610         * tests/tests-environment-backcompat.test: Likewise.
1611         * tests/parallel-tests-log-compiler-example.test: Likewise.
1612         * tests/Makefile.am (TESTS): Update.
1613
1614 2011-06-30   Stefano Lattarini  <stefano.lattarini@gmail.com>
1615
1616         coverage: new test on parallel-tests TESTS runtime overriding
1617         * tests/parallel-tests-cmdline-override.test: New test, check that
1618         we can use indirections when overriding TESTS and TEST_LOGS from
1619         the command line.
1620         * tests/Makefile.am (TESTS): Update.
1621
1622 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1623
1624         gitignore: ignore `*.trs' files in lib/Automake/tests
1625         * lib/Automake/tests/.gitignore: Add `*.trs' pattern.
1626
1627 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1628
1629         testsuite: list another "forgotten" test script in Makefile.am
1630         * tests/Makefile.am (TESTS): Also list test script
1631         `test-driver-trs-suffix-registered.test'; it had been introduced
1632         in commit `v1.11-910-g0c81b43', but by mistake it wasn't added
1633         to the list of tests in the Makefile back then.
1634
1635 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1636
1637         testsuite: list "forgotten" test script in Makefile.am
1638         * tests/Makefile.am (TESTS): Also list the test script
1639         `parallel-tests-no-color-in-log.test'; it had been introduced in
1640         commit `v1.11-899-geaac33f', but by mistake it wasn't added to
1641         the list of tests in the Makefile back then.
1642
1643 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1644
1645         testsuite: remove duplicated mention of a test in Makefile.am
1646         * tests/Makefile.am (tap_other_tests): Remove `tap-empty.test',
1647         it is already listed in `$(tap_with_common_setup_tests)'.
1648
1649 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1650
1651         testsuite: one more use of TAP in our own tests
1652         * tests/tap-bad-prog.test, tests/tap-bad-prog2.test: Merged
1653         into ...
1654         * tests/tap-bad-prog.tap: ... this TAP-generating test.
1655         * tests/Makefile.am (tap_other_tests): Remove plan-bad-prog.test
1656         and plan-bad-prog2.test.
1657         (XFAIL_TESTS): Remove plan-bad-prog2.test.
1658         (plan-bad-prog2.log): Remove.
1659
1660 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1661
1662         testsuite: scaffolding to allow use of TAP in our own tests
1663         Now that Automake has initial support for the TAP test protocol,
1664         we can start "eating our own dog food" and rewrite some tests to
1665         use TAP; this should allow for better granularity, especially in
1666         the control of skips and expected failures.  With this change, we
1667         set up the initial scaffolding required by the planned TAP tests,
1668         and convert few older tests to use TAP, mostly in order to verify
1669         that there are no obvious errors.  The tests in our testsuite that
1670         use the TAP protocol will be marked by the new `.tap' extension.
1671         * tests/plain-functions.sh: New file containing definition of
1672         helper shell functions used by the "protocol-less" tests of the
1673         Automake testsuite.
1674         * tests/tap-functions.sh:  New file containing definition of
1675         helper shell functions used by the TAP-producing tests of the
1676         Automake testsuite.
1677         * tests/defs: Remove definitions of some functions that are
1678         now defined in `plain-functions.sh'.  Instead, source one of
1679         `plain-functions.sh' or `tap-functions.sh', depending on whether
1680         `$use_tap' is set to "no" or "yes".
1681         (exit trap): Call `late_plan_' if `$use_tap' is true.  Also,
1682         unset shell traces before issuing the latest commands, to avoid
1683         confusing the tap driver with spurious output.
1684         * tests/defs-static.in ($use_tap): New variable, by default set
1685         to "yes" if the calling test script has a `.tap' suffix, and to
1686         "no" otherwise.  The individual scripts can override it though.
1687         In code sanity-checking the environment, verify that `$use_tap'
1688         is not exported.
1689         * tests/self-check-env-sanitize.test: Update, and small related
1690         reformatting.
1691         * tests/self-check-tap.test: New very minimal self test.
1692         * tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test,
1693         tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test:
1694         Removed, merged into ...
1695         * tests/ac-output-old.tap: ... this new test, that uses TAP.
1696         * tests/Makefile.am (TAP_LOG_DRIVER): Define to invoke our own
1697         `tap-driver' script.
1698         (TAP_LOG_DRIVER_FLAGS): Define to `--merge', so that the stdout
1699         and stderr of the test scripts remains synced.
1700         (TEST_EXTENSIONS): Define, to add the `.tap' suffix; also list
1701         the `.test' suffix explicitly.
1702         (EXTRA_DIST): Distribute the new files `plain-functions.sh' and
1703         `tap-functions.sh'.
1704         ($(TEST_LOGS)): Depends on them.
1705         (AM_TESTS_ENVIRONMENT): Ensure that `use_tap' is not exported in
1706         the environment of the tests.
1707         (TESTS): Update.
1708
1709 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1710
1711         * NEWS: Fix typo, and related reformatting.
1712
1713 2011-08-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
1714
1715         * NEWS: add mention of new experimental TAP support
1716
1717 2011-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
1718
1719         testsuite: rename some test scripts
1720         * tests/parallel-tests-am_tests_environment.test: Renamed ...
1721         * tests/am-tests-environment.test: ... to this.
1722         * tests/check-tests_environment.test: Renamed ...
1723         * tests/tests-environment.test: ... to this.
1724         * tests/parallel-test-driver-install.test: Renamed ...
1725         * tests/parallel-tests-driver-install.test: ... to this.
1726         * tests/parallel-tests-make-n.test: Renamed ...
1727         * tests/parallel-tests-dry-run.test: ... to this.
1728         * tests/Makefile.am (TESTS): Updated.
1729
1730 2011-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
1731
1732         coverage: parallel-tests and lazy dependencies on EXTRA_PROGRAMS
1733         * tests/parallel-tests-extra-programs.test: New test.
1734         * tests/Makefile.am (TESTS): Update.
1735         * doc/automake.texi (Parallel Test Harness): Add a comment
1736         pointing to the new test.
1737
1738 2011-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
1739
1740         docs: improve, extend and fix documentation on TAP support
1741         * doc/automake.texi ("Using the TAP test protocol"): Divide this
1742         section into ...
1743         ("Introduction to TAP", "Use TAP with the Automake test harness",
1744         "Incompatibilities with other TAP parsers and drivers", "Links
1745         and external resources"): ... these subsections, extend them by
1746         adding more information and examples, and improve them by removing
1747         incomplete and/or temporary wordings and TODO items.
1748         ("Script-based Testsuites", "Parallel Test Harness"): Add a couple
1749         of anchors to improve the granularity of cross-references.
1750         * tests/tap-doc2.test: New test, verifying the correctness of the
1751         new examples given in the manual.
1752         * tests/Makefile.am (tap_other_tests): Add the new test.
1753
1754 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
1755
1756         testsuite: separate the only failing check of an xfailing test
1757         * tests/plan-bad-prog.test: Move the only failing check of this
1758         test (i.e., the one about the total number of "ERROR" outcomes)
1759         into ...
1760         * tests/plan-bad-prog2.test: ... this new test.
1761         * tests/Makefile.am (XFAIL_TESTS): Remove `plan-bad-prog.test',
1762         add `plan-bad-prog2.test'.
1763         (tap_other_tests): Add `plan-bad-prog2.test'.
1764         (plan-bad-prog2.log): Depend on `plan-bad-prog.test'.
1765
1766 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
1767
1768         testsuite: fix spurious errors in an xfailing test on TAP support
1769         * tests/plan-bad-prog.test: Fix typo in the name of the test
1770         being made unreadable.  Correct the wording of the potential
1771         skip message, and simplify the condition under which the test
1772         is to be skipped.  Escape literal dots in grep regexps.
1773
1774 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
1775
1776         testsuite: better granularity in a couple of tests on TAP support
1777         * tests/tap-summary-aux.sh: New auxiliary script, filled with code
1778         moved out from ...
1779         * tests/tap-summary.test: ... this test, from which the checks on
1780         colored testsuite have further been moved into ...
1781         * tests/tap-summary-color.test: ... this new test, which in turn
1782         * tests/Makefile.am (tap_other_tests): Add `tap-summary-color.test'.
1783         (EXTRA_DIST): Distribute `tap-summary-aux.sh'
1784         (tap-summary.log): Depend on `tap-summary-aux.sh'.
1785         (tap-summary-color.log): Likewise.
1786
1787 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
1788
1789         testsuite: optimize tests on TAP for speed and against duplication
1790         The creation and configuration of common files and data used by
1791         many tests on TAP is, with this change, factored out into a new
1792         dedicated auxiliary test, from which those tests will depend upon.
1793         This reduces code duplication in tests and, more importantly,
1794         offers a noticeable speedup in the involved tests (30-40%).
1795         * tests/tap-common-setup.test: New test, setting up the common
1796         files and data used by various tests on TAP support.
1797         * tests/tap-setup.sh: New file, to be sourced by tests wanting to
1798         bring in data generated by `tap-common-setup.test'.
1799         * tests/tap-autonumber.test: Update to use the pre-computed data
1800         files.
1801         * tests/tap-bailout.test: Likewise.
1802         * tests/tap-color.test: Likewise.
1803         * tests/tap-deps.test: Likewise.
1804         * tests/tap-diagnostic.test: Likewise.
1805         * tests/tap-empty-diagnostic.test: Likewise.
1806         * tests/tap-empty.test: Likewise.
1807         * tests/tap-escape-directive.test: Likewise.
1808         * tests/tap-exit.test: Likewise.
1809         * tests/tap-signal.test: Likewise.
1810         * tests/tap-fancy.test: Likewise.
1811         * tests/tap-fancy2.test: Likewise.
1812         * tests/tap-global-log.test: Likewise.
1813         * tests/tap-global-result.test: Likewise.
1814         * tests/tap-html.test: Likewise.
1815         * tests/tap-log.test: Likewise.
1816         * tests/tap-merge-stdout-stderr.test: Likewise.
1817         * tests/tap-no-merge-stdout-stderr.test: Likewise.
1818         * tests/tap-message-0.test: Likewise.
1819         * tests/tap-no-disable-hard-error.test: Likewise.
1820         * tests/tap-no-spurious-summary.test: Likewise.
1821         * tests/tap-no-spurious.test: Likewise.
1822         * tests/tap-not-ok-skip.test: Likewise.
1823         * tests/tap-numeric-description.test: Likewise.
1824         * tests/tap-out-of-order.test: Likewise.
1825         * tests/tap-passthrough.test: Likewise.
1826         * tests/tap-passthrough-exit.test: Likewise.
1827         * tests/tap-plan.test: Likewise.
1828         * tests/tap-plan-corner.test: Likewise.
1829         * tests/tap-plan-corner2.test: Likewise.
1830         * tests/tap-plan-errors.test: Likewise.
1831         * tests/tap-realtime.test: Likewise.
1832         * tests/tap-recheck-logs.test: Likewise.
1833         * tests/tap-skip-whole.test: Likewise.
1834         * tests/tap-todo-skip-together.test: Likewise.
1835         * tests/tap-todo-skip-whitespace.test: Likewise.
1836         * tests/tap-todo-skip.test: Likewise.
1837         * tests/tap-unplanned.test: Likewise.
1838         * tests/tap-with-and-without-number.test: Likewise.
1839         * tests/tap-xfail-tests.test: Likewise.
1840         * tests/tap-skip-whole-whitespace.test: Likewise, and remove
1841         redundant definitions of `$sp' and `$tab' (they are already
1842         defined in `tests/defs').
1843         * tests/tap-whitespace-normalization.test: Likewise.
1844         * tests/Makefile.am (TESTS): Update.
1845         (EXTRA_DIST): Distribute `tap-setup.sh'.
1846         (tap_with_common_setup_tests, tap_with_common_setup_logs)): New
1847         variables, holding respectively the list of tests using the files
1848         pre-computed by `tap-common-setup.test', and the list of their
1849         corresponding log files.
1850         (tap_other_tests): New variable, holding the list of other tests
1851         on TAP support.
1852         ($(tap_with_common_setup_logs)): Depend on `tap-common-setup.log'
1853         and `tap-setup.sh'.
1854
1855 2011-08-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
1856
1857         test harness: use new `.trs' files to hold test metadata
1858         With this change, the test harness will keep test metadata in
1859         dedicated `.trs' files, instead of having them embedded into the
1860         `.log' files.  This allows for easier forward-compatibility and
1861         extension of test metadata, and for more flexibility in the
1862         format of the `.log' files.  Note that this change makes the
1863         `:end-metadata:' field obsolete.
1864         * doc/automake.texi (Parallel Test Harness, Log files generation
1865         and test results recording): Document the new APIs and behaviour;
1866         some related minor rewordings and fixlets.
1867         * NEWS: Update.
1868         * automake.in (handle_tests): When bringing in the content of
1869         `check2.am', substitute %BASE% with the basename of the `.log'
1870         file being created by a rule.  Add the generated `.trs' files
1871         to the list of files to be cleaned by "make mostlyclean".
1872         * lib/am/check.am (am__test_driver_flags): Rename ...
1873         (am__common_driver_flags): ... to this, and remove the flags
1874         `--test-name' and `--log-file' from it: they are now define in
1875         the proper rules in `check2.am'.
1876         (am__TEST_BASES): New internal variable, holding the names of
1877         the tests, with any registered extension removed.
1878         (am__stealth_MAKE): New internal variable, can be used instead of
1879         $(MAKE) in recipes requiring a recursive call to make, but which
1880         are not intended to be executed by "make -n".
1881         (.log.trs): New suffix rule, to recover from deletion of `.trs'
1882         files.
1883         ($(TEST_SUITE_LOG)): Almost completely rewritten to follow the
1884         new API of "test logs in `.log' files, test metadata in `.trs'
1885         files".  It goes to some length to work correctly in face of
1886         unreadable or missing `.log' and `.trs' files, and to error out
1887         with proper error messages when this is not possible.
1888         [%?PARALLEL_TESTS%] (check-TESTS): Also remove relevant "stale"
1889         `.trs' files (in addition to `.log files) before remaking the
1890         $(TEST_SUITE_LOG).
1891         (recheck, recheck-html): Look for the `:recheck:' field in the
1892         `.trs' files, not in the `.log' files.
1893         * lib/am/check2.am (?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Adjust
1894         the call to the test driver, in particularly passing the new
1895         option `--trs-file'.
1896         [%am__EXEEXT%] (?GENERIC?%EXT%$(EXEEXT).log): Likewise.
1897         * lib/tap-driver ($USAGE): Adjust the help screen.
1898         (Getopt::Long::GetOptions): Handle the `--trs-file' option,
1899         through the use of ...
1900         ($trs_file): ... this new global variable.
1901         (finish): Write metadata for the test run to `$trs_file' rather
1902         then to `$log_file', through the use of ...
1903         (write_test_results): ... this new function.
1904         * lib/test-driver (print_usage): Update the help screen.
1905         (Option parsing): Handle the `--trs-file' option, through the
1906         use of ...
1907         ($resfile): ... this new global variable.
1908         (Main code): Write metadata for the test run to `$trsfile' rather
1909         than to `$logfile'.
1910         Minor related adjustments to comments.
1911         * tests/.gitignore: Ignore `*.trs' files.
1912         * tests/parallel-tests-unreadable-log.test: Moved ...
1913         * tests/parallel-tests-unreadable.test: ... to this, and extended
1914         to also check the semantics for unreadable `.trs' files.
1915         * tests/test-driver-end-metadata.test: Deleted as obsolete.
1916         * tests/test-driver-metadata-no-leading-space.test: Likewise.
1917         * tests/test-driver-global-log.test: Renamed ...
1918         * tests/test-metadata-global-log.test: ... to this, and modified
1919         as to verify the new APIs and semantics.
1920         * tests/test-driver-recheck: Renamed ...
1921         * tests/test-metadata-recheck.test: ... to this, and modified
1922         likewise.
1923         * tests/parallel-tests-once.test: New test.
1924         * tests/parallel-tests-make-n.test: Likewise.
1925         * test-metadata-results.test: Likewise.
1926         * test-missing.test: Likewise.
1927         * test-missing2.test: Likewise.
1928         * test-trs-basic.test: Likewise.
1929         * test-trs-recover.test: Likewise.
1930         * test-trs-recover2.test: Likewise.
1931         * tests/Makefile.am (TESTS): Update.
1932
1933 2011-07-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
1934
1935         test harness: allow more metadata in log files
1936         This change reworks and improves the parallel test harness to use
1937         more specialized reStructuredText fields in the log files (instead
1938         of relying on specially-placed of "magic lines" and more indirect
1939         semantical formatting); the new fields are the following:
1940          - ":recheck:": tell whether the associated test will have to be
1941            re-run by "make recheck";
1942          - ":copy-in-global-log:": tell whether the content of the log
1943            file should be copied in the "global log" `test-suite.log';
1944          - ":end-metadata:", which inhibits the scanning of the rest of
1945            the log file (for what concerns test metadata).
1946         Also, the special `:test-result:' value "END" has been removed,
1947         superseded by the new `:end-metadata:' field.
1948         * doc/automake.texi (Log files generation and test results
1949         recording): Document the new API and semantics.  Remove or fix
1950         some obsolete comments.
1951         * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
1952         Adjust comments and code.
1953         * lib/tap-driver (finish): Adjust, with the help of ...
1954         (must_recheck, copy_in_global_log): ... these new functions.
1955         * lib/test-driver (Main code): Adjust, with the help of ...
1956         ($recheck, $gcopy): ... these new variables.
1957         * tests/trivial-test-driver: Update to obey the new APIs.
1958         * tests/test-driver-recheck.test: Likewise.
1959         * tests/test-driver-global-log.test: Likewise.
1960         * tests/tap-passthrough.test: Relax the test, avoiding to check
1961         what is written in `test-suite.log'; such check has been moved ...
1962         * tests/tap-global-log.test: ... in this new test, and extended.
1963         * tests/test-driver-metadata-no-leading-space.test: New test.
1964         * tests/test-driver-end-test-results.test: Removed, it checked
1965         the old APIs; superseded by ...
1966         * tests/test-driver-end-metadata.test: ... this new test.
1967         * tests/tap-log.test: Improve syncing with ...
1968         * tests/test-log.test: ... this new test.
1969         * tests/parallel-tests.test: Remove some duplication w.r.t. this
1970         last new test.  Updated heading comments.
1971         * tests/Makefile.am (TESTS): Update.
1972
1973 2011-07-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
1974
1975         testsuite: fix a spurious failure with non-bash shells
1976         * tests/tap-fancy2.test: Remove an unportable use of backslashes
1977         with the `echo' builtin, which was causing some shells (among them
1978         bash and Debian /bin/ksh) to print a `\\' string, while other
1979         shells (among them zsh, dash, and Solaris /bin/sh and /bin/ksh)
1980         were unexpectedly printing a single `\' character.  Since we are
1981         at it, add a sanity check to ensure that this issue does not
1982         resurface.
1983
1984 2011-07-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
1985
1986         testsuite: fix spurious failures with Solaris /bin/sh
1987         * tests/tap-more.test: Use `echo > file', not `: > file', to
1988         create empty files in the "for" loops; this is required since,
1989         as documented in the autoconf manual, Solaris 10 /bin/sh
1990         "optimizes" away the `:' command after the first iteration,
1991         even if it is redirected.
1992         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
1993         * tests/tap-numeric-description.test: Partial rewrite to avoid
1994         using positional parameters from the 10th onward, which are
1995         unportable to Solaris /bin/sh (using `${10}' causes the shell
1996         to die with "bad substitution").
1997
1998 2011-07-31  Stefano Lattarini  <stefano.lattarini@gmail.com>
1999
2000         simple tests: support developer-defined fd redirections
2001         Motivated by coreutils bug#8846, and related discussions:
2002          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
2003          <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
2004         In those threads it has been shown how problematic it can be to do
2005         portable file descriptor redirections in the testsuite when using
2006         the Automake testsuite harness.  This change should remedy to that
2007         situation.
2008         * lib/am/check2.am (?GENERIC?%EXT%$(EXEEXT).log,
2009         ?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Append redirection defined
2010         in $(AM_TESTS_FD_REDIRECT) to the command-line invocations of the
2011         test scripts.
2012         * lib/am/check.am [!%?PARALLEL_TESTS%] $(check-TESTS): Likewise.
2013         * NEWS: Update.
2014         * doc/automake.texi (Script-based Testsuites): Document the new
2015         feature.
2016         * tests/check-fd-redirect.test: New test.
2017         * tests/parallel-tests-fd-redirect.test: Likewise.
2018         * tests/parallel-tests-am_tests_environment.test: Remove checks
2019         about the use of redirections in AM_TESTS_ENVIRONMENT: they would
2020         check deprecated (if not undefined) behaviour now.  Strengthen a
2021         couple of still valid checks, to keep the test more in sync with
2022         the documentation.  Improve debugging information.
2023         * tests/Makefile.am (TESTS): Update.
2024
2025 2011-07-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
2026
2027         docs: rework and extend documentation on testsuites support
2028         * doc/automake.texi (Generalities about Testing): New section.
2029         (Simple Tests using parallel-tests): Section removed, merged
2030         into ...
2031         (Simple Tests): ... this one, which on the other hand has been
2032         subdivided into ...
2033         (Script-based Testsuites, Serial Test Harness, Parallel Test
2034         Harness): ... these new subsection.
2035         (DejaGnu Tests): Minor adjustments.
2036         Other related typofixes and rewordings throughout the manual;
2037         in particular, avoid to use the term "test driver" for three
2038         different concepts (and use instead "test harness" and "test
2039         runner" where appropriate).
2040         * tests/tap-doc.test: New test.
2041         * tests/tap-no-disable-hard-error.test: Likewise.
2042         * tests/Makefile.am (TESTS): Update.
2043
2044 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2045
2046         tap: support colorization of testsuite progress output
2047         * lib/tap-driver (%COLORS): New variable (definition extracted
2048         from `lib/am/check.am:$(am__tty_colors)', with some obvious
2049         adjustments.
2050         (report): Adjust to colorize console output when required,
2051         using ...
2052         (decorate_result): ... this new function.
2053         (colored): New function, used by the one above.
2054         * tests/tap-summary.test: Also run the checks when `color-tests'
2055         is in use.
2056         * tests/Makefile.am (XFAIL_TESTS): Remove `tap-color.test'.
2057
2058 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2059
2060         tap: some preparatory refactoring (2)
2061         This is a follow-up simplification.
2062         * lib/tap-driver (console_output): Renamed ...
2063         (report): ... to this, and extended to appropriately register
2064         the test results when needed.
2065         (testsuite_error, handle_tap_comment, handle_tap_test,
2066         handle_tap_plan): Adjusted accordingly.
2067
2068 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2069
2070         tap: some preparatory refactoring (1)
2071         This refactoring is aimed at simplifying the introduction of
2072         colored console output for the TAP driver.
2073         * lib/tap-driver (console_output): Now accept two arguments, the
2074         first one indicating which kind of thing is to be displayed (for
2075         now only a test result or a diagnostic comment), and the second
2076         one (if present) the message associated to it.
2077         (handle_tap_test, handle_tap_comment, handle_tap_plan,
2078         testsuite_error): Adapt to the new `console_output' interface.
2079
2080 2011-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2081
2082         tap: add experimental TAP-aware driver
2083         * doc/automake.texi (Using the TAP test protocol): New section.
2084         (Overview of Custom Test Drivers Support): Minor updates.
2085         * lib/tap-driver: New script, TAP-aware test driver for Automake;
2086         implemented in perl and based on TAP::Parser.
2087         * lib/Makefile.am (dist_script_DATA): Add it.
2088         * tests/tap-autonumber.test: New test.
2089         * tests/tap-bailout.test: Likewise.
2090         * tests/tap-basic.test: Likewise.
2091         * tests/tap-deps.test: Likewise.
2092         * tests/tap-diagnostic.test: Likewise.
2093         * tests/tap-empty.test: Likewise.
2094         * tests/tap-empty-diagnostic.test: Likewise.
2095         * tests/tap-escape-directive.test: Likewise.
2096         * tests/tap-exit.test: Likewise.
2097         * tests/tap-fancy.test: Likewise.
2098         * tests/tap-fancy2.test: Likewise.
2099         * tests/tap-global-result.test: Likewise.
2100         * tests/tap-html.test: Likewise.
2101         * tests/tap-log.test: Likewise.
2102         * tests/tap-merge-stdout-stderr.test: Likewise.
2103         * tests/tap-more.test: Likewise.
2104         * tests/tap-more2.test: Likewise.
2105         * tests/tap-no-merge-stdout-stderr.test: Likewise.
2106         * tests/tap-no-spurious-summary.test: Likewise.
2107         * tests/tap-no-spurious.test: Likewise.
2108         * tests/tap-not-ok-skip.test: Likewise.
2109         * tests/tap-numeric-description.test: Likewise.
2110         * tests/tap-out-of-order.test: Likewise.
2111         * tests/tap-passthrough.test: Likewise.
2112         * tests/tap-plan.test: Likewise.
2113         * tests/tap-plan-errors.test: Likewise.
2114         * tests/tap-plan-corner.test: Likewise.
2115         * tests/tap-realtime.test: Likewise.
2116         * tests/tap-recheck-logs.test: Likewise.
2117         * tests/tap-recheck.test: Likewise.
2118         * tests/tap-skip-whole.test: Likewise.
2119         * tests/tap-summary.test: Likewise.
2120         * tests/tap-todo-skip.test: Likewise.
2121         * tests/tap-todo-skip-together.test: Likewise.
2122         * tests/tap-todo-skip-whitespace.test: Likewise.
2123         * tests/tap-skipall-whitespace.test: Likewise.
2124         * tests/tap-unplanned.test: Likewise.
2125         * tests/tap-whitespace-normalization.test: Likewise.
2126         * tests/tap-with-and-without-number.test: Likewise.
2127         * tests/tap-xfail-tests.test: Likewise.
2128         * tests/tap-bad-prog.test: New xfailing test.
2129         * tests/tap-color.test: Likewise.
2130         * tests/tap-plan-corner2.test: Likewise.
2131         * tests/tap-message-0.test: Likewise.
2132         * tests/tap-signal.test: Likewise.
2133         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
2134
2135 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2136
2137         test defs: new auxiliary function 'count_test_results'
2138         * tests/defs (count_test_results): New function.
2139         * tests/check11.test: Use it.
2140         * tests/test-driver-custom-multitest.test: Likewise.
2141         * tests/test-driver-custom-multitest-recheck.test: Likewise.
2142         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
2143         * tests/parallel-tests-log-override-recheck.test: Likewise.
2144         * tests/parallel-tests-log-override-recheck.test: Likewise.
2145         * tests/parallel-tests-no-spurious-summary.test: Likewise, and
2146         slightly improve debugging output.
2147         * tests/parallel-tests.test: Make use of `count_test_results'.
2148         Also, make grepping of "make check" output slightly stricter
2149         * tests/parallel-tests9.test: Likewise.
2150         * tests/parallel-tests-log-override-2.test: Likewise, and throw
2151         in a small optimization.
2152
2153 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2154
2155         parallel-tests: simplify testsuite summary
2156         Prefer a more deterministic, "tabular" format for the testsuite
2157         summary, always listing the numbers of passed, failed, xfailed,
2158         xpassed, skipped and errored tests, even when these numbers are
2159         zero.  This simplify the logic of testsuite summary creation,
2160         makes it more easily machine-parseable, and will probably allow
2161         for easier addition of new kinds of test results in the future.
2162         * lib/am/check.am (am__tty_colors_dummy): New make variable, to
2163         reduce code duplication.  Extracted from previous versions of
2164         $(am__tty_colors), and extended by defining two new variables
2165         `$mgn' and `$brg'.
2166         [%?COLOR%, %!?COLOR%] (am__tty_colors): Use that new variable.
2167         (am__text_box): Delete, is not needed anymore.
2168         ($(TEST_SUITE_LOG)): Rewrite associated rules to implement the
2169         new testsuite summary format.
2170         * NEWS: Update.
2171         * tests/check10.test: Don't run with the parallel-tests harness
2172         too, that makes no sense anymore.
2173         * tests/color.test: Update and adjust.
2174         * tests/color2.test: Likewise.
2175         * tests/parallel-tests.test: Likewise.
2176         * tests/parallel-tests3.test: Likewise.
2177         * tests/parallel-tests6.test: Likewise.
2178         * tests/parallel-tests9.test: Likewise.
2179         * tests/parallel-tests-unreadable-log.test: Likewise.
2180         * tests/parallel-tests-empty-testlogs.test: Likewise.
2181         * tests/parallel-tests-log-override-recheck.test: Likewise.
2182         * tests/parallel-tests-no-spurious-summary.test: Likewise.
2183         * tests/test-driver-custom-multitest.test: Likewise.
2184         * tests/test-driver-end-test-results.test: Likewise.
2185         * tests/parallel-tests-no-color-in-log.test: New test.
2186         * tests/testsuite-summary-color.test: Likewise.
2187         * tests/testsuite-summary-count.test: Likewise.
2188         * tests/testsuite-summary-count-many.test: Likewise.
2189         * tests/testsuite-summary-reference-log.test: Likewise.
2190         * tests/testsuite-summary-checks.sh: New auxiliary script, used
2191         by the new tests above.
2192         * tests/extract-testsuite-summary: Likewise.
2193         * tests/trivial-test-driver: Optimize for speed when there are
2194         lots of of tests.
2195         * tests/Makefile.am (EXTRA_DIST): Distribute them.
2196         (testsuite-summary-color.log, testsuite-summary-count.log): Depend
2197         on them.
2198         (testsuite-summary-count-many.log): Depend on the auxiliary scripts
2199         'trivial-test-driver' and 'extract-testsuite-summary'.
2200         (TESTS): Update.
2201
2202 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2203
2204         parallel-tests: new recognized test result 'ERROR'
2205         * lib/am/check.am ($(TEST_SUITE_LOG)): Recognize a new test result
2206         `ERROR'.  Use it when encountering unreadable test logs (previously
2207         a simple `FAIL' was used in this situations).
2208         * lib/test-driver: Set the global test result to `ERROR' when the
2209         test exit status is 99.  When doing colorized output, color `ERROR'
2210         results in magenta.
2211         * doc/automake.texi (Log files generation and test results
2212         recording): Update by listing `ERROR' too among the list of valid
2213         `:test-results:' arguments.
2214         * NEWS: Update.
2215         * tests/trivial-test-driver: Update.
2216         * tests/parallel-tests.test: Likewise.
2217         * tests/parallel-tests-harderror.test: Likewise.
2218         * tests/parallel-tests-no-spurious-summary.test: Likewise.
2219         * tests/test-driver-global-log.test: Likewise.
2220         * tests/test-driver-recheck.test: Likewise.
2221         * tests/test-driver-custom-multitest-recheck.test: Likewise.
2222         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
2223         * tests/test-driver-custom-multitest.test: Likewise.
2224         * tests/test-driver-custom-no-html.test: Likewise.
2225         * tests/test-driver-end-test-results.test: Likewise.
2226         * tests/color.test: Likewise.  Also, make stricter, and also test
2227         from VPATH.
2228         * tests/color2.test: Likewise, and improve syncing with color.test.
2229         * tests/parallel-tests-exit-statuses.test: New test.
2230         * tests/parallel-tests-console-output.test: Likewise.
2231         * tests/Makefile.am (TESTS): Update.
2232
2233 2011-07-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2234
2235         parallel-tests: make parsing of test results safer
2236         The new code for parsing the testsuite-generated `.log' files,
2237         as introduced in commit `v1.11-872-gc96b881', considers each
2238         `:test-result:' field anywhere in a `.log' file as a declaration
2239         of a test result, and accounts for it as such in the testsuite
2240         summary.  Unfortunately this could easily cause spurious test
2241         failures being reported in the testsuite summary.  This happened
2242         in practice with the Automake's own testsuite; for example:
2243           $ make check TESTS='check12-p.test'; echo exit: $?
2244           ...
2245           PASS: check12-p.test
2246           =====================================
2247           4 of 5 tests failed
2248           See tests/test-suite.log
2249           Please report to bug-automake@gnu.org
2250           =====================================
2251           make[2]: *** [test-suite.log] Error 1
2252           make: *** [check-am] Error 2
2253           exit: 2
2254         This change introduces a new special `:test-result:' "END", that,
2255         when seen, prevents the rest of the log file from being parsed.
2256         For more information, refer to the thread:
2257         <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00199.html>
2258         * lib/am/check.am ($(TEST_SUITE_LOG)): Stop the parsing of a log
2259         file as soon as the special ":test-result:END" directive is seen.
2260         Related changes and enhancements.
2261         * lib/test-driver: Protect the rest of the log after the result
2262         lined with a ":test-result:END" directive.
2263         * doc/automake.texi (Log files generation and test results
2264         recording): Update, and related improvements.
2265         * tests/parallel-tests-no-spurious-summary.test: New test.
2266         * tests/test-driver-end-test-results.test: Likewise.
2267         * tests/Makefile.am (TESTS): Update.
2268
2269 2011-06-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
2270
2271         docs: document custom test drivers and protocols
2272         * doc/automake.texi (Simple Tests): Note that the TESTS_ENVIRONMENT
2273         use suggested here is not portable to 'parallel-tests'.
2274         (Simple Tests using parallel-tests): Document new restrictions on
2275         the uses of TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT.
2276         (Custom Test Drivers): New section and node.
2277         (Overview of Custom Test Drivers Support): New subsection.
2278         (Declaring Custom Test Drivers in @file{Makefile.am}): Likewise.
2279         (APIs for Custom Test Drivers): Likewise.
2280         (Options): Update description of color-tests.
2281         * lib/am/check ($(TEST_SUITE_LOG)): Remove comments that have been
2282         moved into the manual.
2283         (recheck, recheck-html): Minor adjustments to better conform to the
2284         documentation (this should cause no semantic changes w.r.t. the
2285         former behaviour); minor improvements and extensions to existing
2286         comments.
2287         * tests/test-driver-create-log-dir.test: New test.
2288         * tests/test-driver-strip-vpath.test: Likewise.
2289         * tests/test-driver-global-log.test: Likewise.
2290         * tests/test-driver-recheck.test: Likewise.
2291         * tests/Makefile.am (TESTS): Update.
2292
2293 2011-06-29   Stefano Lattarini  <stefano.lattarini@gmail.com>
2294
2295         docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
2296         * doc/automake.texi (Simple Tests using parallel-tests): Ditto, and
2297         related adjustments.
2298         Suggestion by Ralf Wildenhues.
2299
2300 2011-06-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
2301
2302         docs: fix unportable example of AM_TESTS_ENVIRONMENT usage
2303         * doc/automake.texi (Simple Tests using parallel-tests): The
2304         old example on AM_TESTS_ENVIRONMENT relied on unportable shell
2305         features, and in particular didn't work with various Korn
2306         Shells (see also commit `v1.11-925-g29ca903').  Give another
2307         example, simpler this time, but still inspired to real-world
2308         usage (the GNU coreutils testsuite).
2309
2310 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2311
2312         docs: avoid a footnote, some related rewordings and improvements
2313         * doc/automake.texi (Dist): Reword the part about automatically
2314         distributed files to avoid a footnote.  Since we are at it, extend
2315         a bit, and add an example and a reference to a relevant test case.
2316
2317 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2318
2319         docs: minor cosmetic fixes
2320         * doc/automake.texi: Break few overly long lines, throughout the
2321         file.
2322         ("Simple Tests"): Move @vindex for XFAIL_TESTS to the correct
2323         position, i.e., before and not after the paragraph where it is
2324         introduced.
2325         ("Options" @item ansi2knr): Use @pxref instead of @xref.  This
2326         fixes a texinfo warning.
2327         ("Other things Automake recognizes" @item AM_C_PROTOTYPES): Use
2328         @pxref instead of @ref.
2329
2330 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2331
2332         help: improve text about automatically-distributed files
2333         This change fixes automake bug#7819.
2334         * automake.in (usage): Distinguish between files that are always
2335         automatically distributed when found, and those which are only
2336         "under certain conditions".
2337         * doc/automake.texi (Basics of Distribution): Update accordingly.
2338         * tests/autodist-subdir.test: Update.
2339         * tests/autodist-no-duplicate.test: Likewise.
2340         * tests/autodist.test: Likewise.
2341         (configure.in): Remove useless call to AM_MAINTAINER_MODE.
2342
2343 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2344
2345         refactor: split 'usage' subroutine in automake
2346         This change is related to automake bug#7819.
2347         * automake.in (print_autodist_files): New subroutine,
2348         extracted from ...
2349         (usage): ... this, which now uses it.
2350         * tests/autodist-no-duplicate.test: New test.
2351         * tests/Makefile.am (TESTS): Update.
2352
2353 2011-06-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2354
2355         tests: fix bug in 'autodist.test'
2356         * tests/autodist.test: Avoid spurious failure due to no
2357         `defs-static' file being found in the parent directory.
2358
2359 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
2360
2361         parallel-tests: allow each test to have multiple results
2362         With this change, we improve the code creating the `test-suite.log'
2363         global log and the console testsuite summary to make it able to
2364         grasp multiple results per test script.  This is required in order
2365         to introduce the planned support for test protocols, like TAP and
2366         SubUnit, which can indeed run multiple tests per test script, each
2367         with its individual result.
2368         The implementation makes use of a custom reStructuredText field
2369         `:test-result:'.
2370         Note that no new documentation is added by this change; that is
2371         be left for follow-up changes.
2372         * lib/check.am ($(TEST_SUITE_LOG)): When processing .log files,
2373         recognize a report of a test's result only if it is declared with
2374         the custom `:test-result:' reStructuredText field placed at the
2375         beginning of a line.  Extend and add explanatory comments.
2376         (recheck, recheck-html): Add explanatory comments.
2377         * lib/test-driver: Write an appropriate reStructuredText field
2378         `:test-result:' in the generated log file.  Use a reStructuredText
2379         transition to better separate the test outcome report from the
2380         test script's registered output.  Improve comments.
2381         * tests/test-driver-custom-xfail-tests.test: Adjust.
2382         * tests/parallel-tests7.test: Adjust.
2383         * tests/parallel-tests-empty-testlogs.test: New test.
2384         * tests/parallel-tests-recheck-override.test: Likewise.
2385         * tests/parallel-tests2.test: Extend and keep more in-sync with ...
2386         * tests/test-driver-custom-html.test: ... this new related test.
2387         * tests/test-driver-custom-no-html.test: New test.
2388         * tests/test-driver-custom-multitest.test: Likewise.
2389         * tests/test-driver-custom-multitest-recheck.test: Likewise.
2390         * tests/test-driver-custom-multitest-recheck2.test: Likewise.
2391         * tests/trivial-test-driver: New file, used by the last four tests
2392         above.
2393         * tests/Makefile.am (TESTS): Update.
2394         (EXTRA_DIST): Distribute `trivial-test-driver'.
2395         (test-driver-custom-multitest.log): Depend on `trivial-test-driver'.
2396         (test-driver-custom-multitest-recheck.log): Likewise.
2397         (test-driver-custom-multitest-recheck2.log): Likewise.
2398         (test-driver-custom-html.log): Likewise.
2399
2400 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
2401
2402         parallel-tests: allow custom driver scripts
2403         Allow suffix-based definition of custom "driver script" for the
2404         test scripts.  These driver scripts will be responsible of
2405         launching the tests (or their corresponding $(LOG_COMPILER), if
2406         they have an associated one), interpreting and displaying the
2407         test results, and writing the `.log' files.
2408         This new API should allow easy and flexible use of different
2409         test protocols in the future; in particular, we plan to use it
2410         to implement TAP and SubUnit harnesses.
2411         Note that no new documentation is added by this change; that is
2412         be left for follow-up changes.
2413         * automake.in (handle_tests): Define default for $(LOG_DRIVER),
2414         and, for any registered test extension `<ext>', define defaults
2415         for $(<ext>_LOG_DRIVER).  Substitute %DRIVER% using these new
2416         variables, instead of the old internal $(am__test_driver).  When
2417         processing check2.am, also substitute %DRIVER_FLAGS%.
2418         Require auxiliary script `test-driver' only if no driver has been
2419         explicitly defined for the test script kinds.
2420         * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
2421         ?!GENERIC?%OBJ%): Pass the %DRIVER_FLAGS% to the %DRIVER% call.
2422         * tests/parallel-tests-no-extra-driver.test: New test.
2423         * tests/test-driver-custom.test: Likewise.
2424         * tests/test-driver-custom-xfail-tests.test: Likewise.
2425         * tests/test-driver-fail.test: Likewise.
2426         * tests/Makefile.am: Update.
2427         * NEWS: Update.
2428
2429 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
2430
2431         parallel-tests: add auxiliary script 'test-driver', refactor
2432         This refactoring should cause no API of functionality change,
2433         and is meant only to simplify the future implementation of TAP
2434         and SubUnit testsuite drivers.  More precisely, our roadmap is
2435         to move most of the "testsuite driving" features out of the
2436         Automake-generated Makefiles, and into external scripts with
2437         well-defined interfaces.  This will allow the user to define
2438         its own personalized testsuite drivers, and will also offer us
2439         a framework upon which to implement our new TAP and SubUnit
2440         drivers, all in a very unobtrusive way and retaining an high
2441         degree of code reuse and backward-compatibility.
2442         * lib/test-driver: New auxiliary script.
2443         * lib/Makefile.am (dist_SCRIPT_DATA): Add it.
2444         * automake.in (handle_tests): Require the new auxiliary script
2445         `test-driver', and define a new internal makefile variable
2446         `$(am__test_driver)', used to call it.  Perform new substitution
2447         on `DRIVER' when processing the `check2.am' file.
2448         * lib/check.am (am__tty_colors): Define new shell variable
2449         `$am__color_tests'.
2450         (am__rst_section): Removed, its role taken over by the new
2451         `test-driver' script.
2452         (am__test_driver_flags): New variable, contains the command
2453         line options passed to `test-driver'.
2454         (am__check_pre): Do not deal with temporary files and exit
2455         traps anymore, as the `test-driver' script takes care of that
2456         now.  Define shell variable `$am__enable_hard_errors', used by
2457         `$(am__test_driver_flags)'.  Reorder so that we don't need to
2458         save and restore the value of the `TERM' environment variable
2459         anymore.
2460         Other related adjustments.
2461         (am__check_post): Remove, as its role has been completely taken
2462         over by the `test-driver' script.
2463         * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
2464         ?!GENERIC?%OBJ%): Call the test script through the Automake
2465         substituted `%DRIVER%', and honor the command-line options
2466         in `$(am__test_driver_flags)'.  Do not call the obsoleted
2467         `$(am__check_post)' anymore.
2468         * doc/automake.texi (Auxiliary Programs): Mention the new
2469         `test-driver' script.
2470         (Optional): Mention `test-driver' in AC_CONFIG_AUX_DIR.
2471         Since we are at it, break the list of auxiliary scripts by
2472         placing one per line, to simplify potential future additions
2473         of new scripts.
2474         * tests/check.test: Adjust.
2475         * tests/check2.test : Likewise.
2476         * tests/check3.test : Likewise.
2477         * tests/check4.test : Likewise.
2478         * tests/check10.test: Likewise.
2479         * tests/color.test: Likewise.
2480         * tests/color2.test: Likewise.
2481         * tests/comment9.test: Likewise.
2482         * tests/dejagnu.test: Likewise.
2483         * tests/exeext4.test: Likewise.
2484         * tests/maken3.test: Likewise.
2485         * tests/maken4.test: Likewise.
2486         * tests/parallel-tests-interrupt.test: Likewise.
2487         * tests/posixsubst-tests.test: Likewise.
2488         * tests/repeated-options.test: Likewise.
2489         * tests/check-no-test-driver.test: New test.
2490         * tests/parallel-test-driver-install.test: Likewise.
2491         * tests/Makefile.am (TESTS): Update.
2492         * NEWS: Update.
2493
2494 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
2495
2496         maintcheck: extend 'sc_tests_plain_*' checks
2497         * Makefile.am (sc_tests_plain_autom4te): New check.
2498         (sc_tests_plain_autoreconf): Likewise.
2499         (sc_tests_plain_autoheader): Likewise.
2500         (syntax_check_rules): Update.
2501
2502 2011-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
2503
2504         tests: interactions between TESTS_ENVIRONMENT and LOG_COMPILER
2505         * tests/tests-environment-and-log-compiler.test: New test,
2506         checking that we can use variables and functions set by
2507         TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT in LOG_COMPILER
2508         and LOG_FLAGS (for tests both with and without registered
2509         extensions).
2510         * tests/Makefile.am (TESTS): Update.
2511
2512 2011-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
2513
2514         maintcheck: avoid few spurious failures
2515         * Makefile.am (sc_tests_plain_aclocal, sc_tests_plain_perl,
2516         sc_tests_plain_autoconf, sc_tests_plain_automake,
2517         sc_tests_plain_autoupate): Be stricter in matching an erroneous
2518         literal command, i.e., `aclocal', `automake', `perl', etc.
2519
2520 2011-06-20  Bert Wesarg <bert.wesarg@googlemail.com>  (tiny change)
2521
2522         check: don't use multi-line coloring for the report
2523         "less -R" can't handle multi-line coloring as it is done for the
2524         check reports of the serial and parallel testsuite, because of
2525         performance reasons.  Thus, color each line of the check report
2526         by its own.
2527         * lib/am/check.am (am__text_box): Accept colors for lines, and
2528         color each line by its own.
2529         [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Let am__text_box handle
2530         the line coloring.
2531         [!%?PARALLEL_TESTS%] $(check-TESTS): Color each report line by
2532         its own.
2533         * THANKS: Update.
2534
2535 2011-06-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2536
2537         docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
2538         * doc/automake.texi (Checking the Distribution): Explain that the
2539         developers should take care of making their code buildable without
2540         requiring any special configure options, so that in general
2541         AM_DISTCHECK_CONFIGURE_FLAGS shouldn't be used.  Give an example
2542         of where its use is legitimate.
2543         Suggestions from Ralf Wildenhues and Eric Blake.
2544
2545 2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
2546
2547         ansi2knr: deprecate, it will go away in the next major release
2548         * doc/automake.texi: Loudly and repeatedly state that the old
2549         de-ANSI-fication features are now deprecated and will be removed
2550         in the next major Automake release.  Other related adjustments.
2551         * lib/Automake/Options.pm (_process_option_list ): Give a warning
2552         in the `obsolete' category when the `ansi2knr' option is used.
2553         * m4/protos.m4 (AM_C_PROTOTYPES): Deprecate this macro: a warning
2554         in the `obsolete' category will be emitted it if is used.
2555         * tests/ansi2knr-deprecation.test: New test.
2556         * tests/Makefile.am (TESTS): Update.
2557         * tests/ansi.test: Adjust, by calling autoconf and/or automake
2558         with the `-Wno-obsolete' flag.
2559         * tests/ansi10.test: Likewise.
2560         * tests/ansi2.test: Likewise.
2561         * tests/ansi3.test: Likewise.
2562         * tests/ansi3b.test: Likewise.
2563         * tests/ansi4.test: Likewise.
2564         * tests/ansi5.test: Likewise.
2565         * tests/ansi6.test: Likewise.
2566         * tests/ansi7.test: Likewise.
2567         * tests/ansi8.test: Likewise.
2568         * tests/ansi9.test: Likewise.
2569         * tests/cxxansi.test: Likewise.
2570         * tests/libobj8.test: Likewise.
2571         * NEWS: Update about the future planned backward-incompatibility
2572         due to the removal of de-ANSI-fication feature.
2573
2574 2011-06-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
2575
2576         docs: primary/prefix combination "pkglib_PROGRAMS" is now invalid
2577         * doc/automake.texi (Program Sources): pkglib_PROGRAMS is not a
2578         valid combination anymore, so don't document it.  Inconsistency
2579         introduced in commit `v1.11-373-g9ca6326'.
2580
2581 2011-06-19  Jim Meyering  <meyering@redhat.com>
2582
2583         docs: replace obsolete @vindex entry with a useful one
2584         * doc/automake.texi (Program Sources): Do not index obsolete
2585         pkglib_PROGRAMS here.  Do index pkglibexec_PROGRAMS.
2586
2587 2011-06-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
2588
2589         tests: more checks on portable fd redirection in TESTS_ENVIRONMENT
2590         * tests/tests-environment-fd-redirect.test: Extend by also using
2591         a perl script among the tests.  Run the test shell script with
2592         the `errexit' flag active.  Export `VERBOSE' to yes when running
2593         "make check", to give more debugging information in case of
2594         failures.  Look for a Korn Shell also in `/usr/bin', not on only
2595         in `/bin'.
2596
2597 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2598
2599         tests: optimize tests on primary/prefix mismatch for speed
2600         * tests/primary-prefix-invalid-couples.test: Partial rewrite, in
2601         order to use just a single automake invocation rather than one
2602         invocation for each invalid primary/prefix couple.  This improves
2603         the test script execution time by an order of magnitude.
2604         Since we are at it, throw in some other improvements to avoid
2605         unrelated automake warnings and failures that could potentially
2606         cause false positives w.r.t. the automake exit status.
2607
2608 2011-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2609
2610         news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
2611         * NEWS (Miscellaneous changes): Update.
2612
2613 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
2614
2615         maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
2616         * Makefile.am (sc_tests_overriding_macros_on_cmdline): It's now
2617         acceptable that the test scripts override DISTCHECK_CONFIGURE_FLAGS
2618         on the make command line.  Update comments accordingly.  Since we
2619         are at it, make the relevant grepping rules slightly tighter.
2620
2621 2011-06-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
2622
2623         distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
2624         * doc/automake.texi (Checking the Distribution): Suggest to use
2625         AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to
2626         define (in the top-level Makefile.am) extra flags to be passed
2627         to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS
2628         should be reserved for the user.  Add proper `@vindex' directive.
2629         Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a
2630         subpackage Makefile.am, but the flags in it are passed down to
2631         the configure script of the subpackage.
2632         * lib/am/distdir.am (distcheck): Also pass the flags in
2633         $(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation.
2634         Update comments.
2635         * tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS,
2636         DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in
2637         the environment, they might improperly influence our testsuite.
2638         * tests/distcheck-configure-flags.test: New test.
2639         * tests/distcheck-configure-flags-am.test: Likewise.
2640         * tests/distcheck-configure-flags-subpkg.test: Likewise.
2641         * distcheck-hook.test: Likewise.
2642         * distcheck-hook2.test: Likewise.
2643         * tests/Makefile.am (TESTS): Update.
2644         Closes automake bug#8784.
2645
2646 2010-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
2647
2648         docs: better documentation for silent make rules
2649         * doc/automake.texi (Options): Detailed description of the
2650         automake option `silent-rules' moved from here ...
2651         (Silent Make): ... into this new chapter, expanded, improved,
2652         and subdivided into ...
2653         (Make verbosity, Tricks For Silencing Make,
2654         Automake silent-rules Option): ... these new sections.
2655         (@menu, @detailmenu): Update.
2656         * tests/silent-configsite.test: New test, checking that the
2657         user can control default mode of silent-rules from config.site,
2658         as is documented in the manual.
2659         * tests/Makefile.am (TESTS): Updated.
2660
2661 2011-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
2662
2663         Warnings about primary/prefix mismatch fixed and extended.
2664         * automake.in (%standard_prefix): Add `doc' and `locale'.
2665         Rename `pkgdatadir' to `pkgdata'.  Similarly for`pkglibdir',
2666         `pkgincludedir' and `pkglibexecdir'.
2667         (handle_programs): List `pkglibexec', not `pkglib', among the
2668         prefixes valid for the `PROGRAMS' primary.
2669         (handle_data): List also `doc' among the prefixes valid for
2670         the `DATA' primary.  This is required by automake's own build
2671         system.
2672         * tests/dirforbid.test: Test removed, superseded by ...
2673         * tests/primary-prefix-invalid-couples.test: ... this new test.
2674         * tests/primary-prefix-valid-couples.test: New test.
2675         * tests/primary-prefix-couples-documented-valid.test: Likewise.
2676         * tests/primary-prefix-couples-force-valid.test: Likewise.
2677         * tests/java3.test: Adjusted, and extended a bit.
2678         * tests/Makefile.am (TESTS): Updated.
2679         * NEWS: Updated.
2680         From a report by Eric Blake.
2681
2682 2011-06-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
2683
2684         tests: check portable fd redirection in TESTS_ENVIRONMENT
2685         * tests/tests-environment-fd-redirect.test: New test.
2686         * tests/Makefile.am (TESTS): Update.
2687         Motivated by coreutils bug#8846:
2688          <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
2689         See also following CC:ed thread on bug-autoconf list:
2690          <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
2691
2692 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2693
2694         test defs: new function 'fatal_', for hard errors
2695         Before this patch, the only way offered by tests/defs to
2696         properly signal a hard error was the `framework_failure_'
2697         function.  But the error message issued by that function,
2698         as its name would suggest, refers to a set-up failure in the
2699         testsuite, while hard errors can obviously also be due to
2700         other reasons.  The best way to fix this inconsistency is to
2701         introduce a new function with a more general error message.
2702         Inspired by a recent similar change to Gnulib's tests/init.sh.
2703         * tests/defs.in (fatal_): New function.
2704         * tests/README (Section "Writing test cases" subsection "Do"):
2705         Suggest the use of `fatal_', not of `framework_failure_', for
2706         generic hard errors.  The latter should be reserved for "real"
2707         set-up failures.
2708
2709 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2710
2711         py-compile: '--' and non-option arguments terminate the option list
2712         * lib/py-compile: Any non-option argument, or the special `--'
2713         argument, now explicitly terminates the list of options.
2714         * tests/py-compile-option-terminate.test: New test.
2715         * tests/Makefile.am (TESTS): Update.
2716         * NEWS: Update.
2717
2718 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2719
2720         py-compile: complain on unrecognized options
2721         * lib/py-compile: Complain on unrecognized options.  Don't be too
2722         lax in matching `--help' and `--version' options.
2723         * tests/py-compile-usage.test: Extend accordingly.
2724         * NEWS: Update.
2725
2726 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2727
2728         py-compile: normalize error and help messages
2729         * lib/py-compile: Now error messages do not begin with a capital
2730         letter, nor end with a period, as per GNU standards.  Prepend the
2731         error messages with the name of the script, not with its path.
2732         When an invalid usage is recognized, always display the customary
2733         message "Try `py-compile --help' ..." on a line of its own.
2734         ($me): New variable, containing the name of the
2735         program, i.e., `py-compile'.  Use it throughout.
2736         (usage_error): New function, used to display error messages about
2737         invalid usage.
2738         * tests/py-compile-usage.test: Extend and tighten accordingly.
2739
2740 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2741
2742         python tests: add "unit tests" on py-compile
2743         * tests/py-compile-basic.test: New test.
2744         * tests/py-compile-basic2.test: New test.
2745         * tests/py-compile-basedir.test: Likewise.
2746         * tests/py-compile-destdir.test: Likewise.
2747         * tests/py-compile-env.test: Likewise.
2748         * tests/py-compile-usage.test: Likewise.
2749         * tests/Makefile.am (TESTS): Update.
2750         Tested with python 2.0.1, 2.4.6, 2.6.6, 2.7.1, and 3.1.3.
2751
2752 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2753
2754         py-compile: the '--destdir' option now accepts a blank argument
2755         * lib/py-compile (Option parsing): Do not count an empty argument
2756         to `--destdir' or `--basedir' as a missing argument.
2757         * lib/python.am: Simplify accordingly, passing the `--destdir'
2758         option to py-compile unconditionally, even if `$(DESTDIR)' is
2759         empty.
2760         * NEWS: Update.
2761
2762 2011-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
2763
2764         python: run the 'py-compile' script with $(SHELL)
2765         * lib/python.am (install-%DIR%PYTHON): Run each instance of
2766         py-compile using $(SHELL).  Since we are at it, break overly
2767         long lines.
2768         (am__py_compile): New variable, to reduce code duplication.
2769
2770 2011-06-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
2771
2772         tests: fix typo-related error in auxdir2.test
2773         * tests/auxdir2.test (configure.in):  Close m4 quoting in the
2774         argument to AC_CONFIG_AUX_DIR.  Without this, aclocal fails with
2775         "ERROR: end of file in string".  This problem hasn't been exposed
2776         by the testsuite before because this test is in XFAIL_TESTS, so
2777         its failure went unnoticed, even if it was due to a wrong cause.
2778         Bug introduced in commit v1.11-249-g49ac3de.
2779
2780 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2781
2782         maintcheck: fix some more failures
2783         * tests/instdir-ltlib.test: Use creative quoting to avoid
2784         spuriously triggering the `sc_rm_minus_f' maintainer check.
2785         * tests/instdir-prog.test: Likewise.
2786         * tests/instspc-data.test: Use creative quoting to avoid
2787         spuriously triggering the `sc_tests_Exit_not_exit' maintainer
2788         check.
2789
2790 2011-06-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2791
2792         maintcheck: fix some failures, extend some checks
2793         * Makefile.am (sc_diff_automake_in_automake): Update, as we
2794         now expect 9 lines, not 8, to be changed from `automake.in'
2795         to `automake'.
2796         (sc_diff_aclocal_in_aclocal): New maintainer check, similar to
2797         the above, and checking that only 10 lines are changed from
2798         `aclocal.in' to `aclocal'.
2799         (syntax_check_rules): Update.
2800         (sc_tests_Exit_not_exit): Exempt self tests `self-check-*.test'
2801         from this check, as they can legitimately use the bare `exit'
2802         builtin in various places.
2803         * doc/automake.texi (Python): Remove stray `@' from the end of
2804         a line.  Typo introduced in commit `v1.11-312-g5bf7af6'.
2805         * tests/depcomp8a.test: Pass DISTCHECK_CONFIGURE_FLAGS to make
2806         from the environment rather than from the command line, to
2807         pacify the `sc_tests_overriding_macros_on_cmdline' maintainer
2808         check.
2809         * tests/depcomp8b.test: Likewise.
2810
2811 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
2812
2813         remake: behave better with non-GNU make in subdirectories
2814         Currently, with every decent make program, it is possible to
2815         rebuild out-of-date autotools-generated files with a simple
2816         "make Makefile" -- but for this to work reliably with non-GNU
2817         make implementations, the command must be issued from the
2818         top-level directory.  This patch removes such limitation.
2819         * lib/am/configure.am (am--refresh): Depend on `%MAKEFILE%'.
2820         * tests/remake-subdir.test: New test.
2821         * tests/remake-subdir2.test: Likewise.
2822         * tests/remake-subdir-gnu.test: Likewise.
2823         * tests/remake-subdir-from-subdir.test: Likewise.
2824         * tests/Makefile.am (TESTS): Update.
2825
2826 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
2827
2828         automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE
2829         Currently, the Automake's own configure script allow definition
2830         of AUTOCONF and AUTOM4TE, expected to point respectively to an
2831         autoconf and autom4te programs.  But while these definitions are
2832         honoured in the Automake's build systems and test suite, they
2833         were *not* honoured in the generated `automake' and `aclocal'
2834         scripts.  This behaviour, apart from being wrong in that it does
2835         not allow the user enough freedom in choosing his tools, also
2836         caused inconsistencies in the test suite, brining to spurious
2837         failures.
2838         Problem reported by Graham Reitz on the automake list; see thread:
2839         <http://lists.gnu.org/archive/html/automake/2011-05/msg00022.html>
2840         * automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'.
2841         * aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'.
2842         * Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and
2843         `@am_AUTOM4TE'.
2844         * NEWS: Update.
2845         * THANKS: Update.
2846
2847 2011-05-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
2848
2849         build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too
2850         Our build system allows the user to override AUTOCONF and AUTOHEADER
2851         at configure time, and honours these overrides in our testsuite.
2852         But it didn't do the same with AUTOM4TE, AUTORECONF and AUTOUPDATE.
2853         This change fixes that inconsistency.
2854         * configure.ac (am_AUTOM4TE, am_AUTOUPDATE, am_AUTORECONF): New
2855         AC_SUBSTitutions.  Update comments.
2856         * tests/defs.in ($AUTOUPDATE): Default to `@am_AUTOUPDATE@' now.
2857         ($AUTOM4TE): New variable, defaulting to `@am_AUTOM4TE@'.
2858         ($AUTORECONF): New variable, defaulting to `@am_AUTORECONF@'.
2859         * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Update.
2860
2861 2011-05-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
2862
2863         parallel-tests: stricter checks on DISABLE_HARD_ERRORS support
2864         * tests/parallel-tests-harderror.test: New test, doing more
2865         in-depth checks on DISABLE_HARD_ERRORS.
2866         * tests/parallel-tests.test: Remove tests on DISABLE_HARD_ERRORS,
2867         now redundant.
2868         * tests/Makefile.am (TESTS): Update.
2869
2870 2011-05-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2871             Stefano Lattarini  <stefano.lattarini@gmail.com>
2872
2873         tests/README: fix example about `make -e' usage
2874         * tests/README (Section "Writing test cases" subsection "Do"): When
2875         some variable is never initialized in the Makefile, `-e' is not
2876         necessary in order to override it.  DESTDIR is such a variable: we
2877         ensure that we do not ever initialize it.  And as such, it is quite
2878         portable to use:
2879           $ make DESTDIR=/foo/bar install
2880         and in fact, quite widely used.
2881         So our example about when `make -e' is required, which references
2882         the `DESTDIR' variable, is poorly chosen, if not downright wrong.
2883         Rewrite it to use `prefix' as the overridden variable instead.
2884
2885 2011-05-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
2886
2887         testsuite: each test case depends on `defs-static'
2888         * tests/Makefile.am ($(TEST_LOGS)): Depends on `defs-static' too.
2889         Simplify comments.
2890
2891 2011-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
2892
2893         testsuite: avoid re-running few tests with 'parallel-tests' option
2894         Some tests in our testsuite use the 'simple-tests' driver only
2895         marginally, or simply as a mean to conveniently check unrelated
2896         invariants.  It makes little sense to force these tests to also
2897         run with the 'parallel-tests' Automake option active, as doing so
2898         offers no real gain in coverage, while often causing a measurable
2899         overhead in execution time (for an already too-slow testsuite).
2900         * tests/pr401.test (parallel_tests): Define to "no", to prevent
2901         the generation of a sibling test script using the 'parallel-tests'
2902         driver.
2903         * tests/pr401b.test: Likewise.
2904         * tests/pr401c.test: Likewise.
2905         * tests/java-flat.test: Likewise, and properly update heading
2906         comments.
2907         * tests/java-nested.test: Likewise, but defining `parallel_tests'
2908         to "yes" instead, for improved coverage in conjunction with the
2909         sister test `java-flat.test'.
2910
2911 2011-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
2912
2913         testsuite: allow tests to avoid the use of 'parallel-tests' option
2914         * tests/gen-parallel-tests: Do not generate "siblings" for tests
2915         that explicitly define the `parallel_tests', whether to "yes" or
2916         to any other value.  Extend heading comments to give a rationale
2917         for this behaviour.
2918         * tests/README: Update.
2919
2920 2011-05-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
2921
2922         tests/README: update obsoleted advice
2923         * tests/README (Section "Writing test cases" subsection "Do"):
2924         Do not suggest to use the `*-p.test' pattern for the names of
2925         hand-written tests which use the `parallel-tests' Automake option.
2926         Not only is this not respected by the existing tests, but it is
2927         more likely to cause conflicts with auto-generated tests.
2928         So, suggest to *avoid* using the `*-p.test' pattern in names
2929         of hand-written tests instead.
2930         (Section "Writing test cases" subsection "Do not"):  When
2931         suggesting not to override Makefile variables using command
2932         line arguments, do not use the badly outdated variables `U'
2933         and 'ANSI2KNR' in the example; instead, use the more common
2934         and typical `DESTDIR'.
2935
2936 2011-05-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
2937
2938         test defs: rename requirement 'non-cross' -> 'native'
2939         * tests/defs.in (non-cross): Rename requirement ...
2940         (native): ... to this, which is clearer and fits the
2941         existing lingo better.
2942         Suggestion by Ralf Wildenhues.
2943
2944 2011-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
2945
2946         testsuite: be more cross-compile friendly
2947         * tests/defs.in (cross_compiling): New subroutine.
2948         (am__tool_prefix): New internal variable.
2949         (gcc, g++, gcj): Force the use of the correct "tool prefix"
2950         when cross compiling.
2951         (gfortran, g77, non-cross): New requirements.
2952
2953 2011-05-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
2954
2955         tests: fix portability issues in 'repeated-options.test'
2956         * tests/repeated-options.test: Do not assume that object files
2957         have `.o' suffix and executables have no default suffix; instead,
2958         use `$(OBJEXT)' and `$(EXEEXT)'.
2959
2960 2011-05-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
2961
2962         check: document and test $(TEST_SUITE_LOG) overriding
2963         * doc/automake.texi (Simple Tests using parallel-tests): Explain
2964         how and why TEST_SUITE_LOG can be overridden at runtime.
2965         * tests/parallel-tests-log-override-1.test: New test, check that
2966         the newly documented idiom and similar usages are truly supported.
2967         * tests/parallel-tests-log-override-2.test: Likewise.
2968         * tests/parallel-tests-log-override-recheck.test: Likewise.
2969         * tests/Makefile.am (TESTS): Update.
2970
2971 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2972
2973         tests: fix spurious failure of txinfo21.test on FreeBSD
2974         * tests/txinfo21.test: Use the `is_newest' subroutine instead of
2975         the `ls -t' hack to to determine whether a file has been updated.
2976         This is required because at least FreeBSD `ls' do not sort files
2977         with the same timestamp in alphabetical order when using the `-t'
2978         option.
2979
2980 2011-05-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
2981
2982         tests: fix spurious failure of extradep.test on FreeBSD
2983         * tests/extradep.test: When using `ls -t' to determine whether a
2984         file has been updated, make sure to use as reference a file whose
2985         timestamp is expected to be *strictly* older that that of the file
2986         being checked.  This is required because at least FreeBSD `ls' do
2987         not sort files with the same timestamp in alphabetical order when
2988         using the `-t' option.
2989         * tests/extradep2.test: Likewise.
2990
2991 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
2992
2993         tests defs: use `skip_' for skipping java-related tests
2994         * tests/defs.in (java, javac): Use `skip_' to signal test
2995         skipping.
2996
2997 2011-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
2998
2999         tests defs: allow requirements for compilers (mostly dummy)
3000         Most of the new requirements that are now accepted in `$required'
3001         as consequence of this patch are still dummy.  They are planned
3002         to be implemented only in master (or in some derived branch), but
3003         having them here (even just as no-op) will allow for an easier
3004         integration/backporting of potential new testcases.
3005         * tests/defs.in (cc, c++, fortran, fortran77): New requirements,
3006         still dummy.
3007         (flex): New requirement, picking LEX for configure.
3008         (lex): New requirement, alias for `flex'.  A more appropriate
3009         implementation, looking for a generic `lex' program, will follow
3010         in the future.
3011
3012 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
3013
3014         tests: add forgotten test scripts to $(TESTS)
3015         * tests/Makefile.am (TESTS): Added test scripts  man[678].test,
3016         which have been present on the filesystem and in the repository,
3017         but which had erroneously been left out from $(TESTS).
3018
3019 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
3020
3021         tests: ensure verbose printing of captured make output
3022         * tests/libtool7.test: Ensure verbose printing of captured
3023         make output.
3024         * tests/libtool9.test: Likewise.
3025
3026 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
3027
3028         tests: fix spurious failure in 'color2.test'
3029         * tests/color2.test: If $MAKE contains command-line arguments (as
3030         in e.g., "make -j2"), expect's directive "spawn $env(MAKE)" fails
3031         spuriously, because it tries to run "$MAKE" as a single command.
3032         Fix this with proper uses of the TCL `eval' builtin.
3033
3034 2011-05-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
3035
3036         tests: fix self check spurious failure with older bash versions
3037         * tests/self-check-cleanup.test: Add trailing `:' to the test code
3038         passed to $SHELL, otherwise older versions of bash (at least 2.05
3039         and 3.2.39) fail to correctly remove the temporary directory in
3040         the exit trap.
3041
3042 2011-04-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3043
3044         testsuite: more environment sanitization
3045         * tests/defs: Move the checks verifying that the variables `me',
3046         `parallel_tests' and `required' aren't set in the environment ...
3047         * tests/defs-static.in: ... in here, with some optimizations to
3048         avoid useless forks.  Also, do the same checks for the variables
3049         `original_AUTOMAKE' and `original_ACLOCAL' too.
3050         * tests/self-check-env-sanitize.test: Update.
3051         * tests/Makefile.am (TESTS_ENVIRONMENT): Unset also variables
3052         `original_AUTOMAKE' and `original_ACLOCAL'.
3053
3054 2011-04-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3055
3056         tests: fix spurious failure (non-renamed AM_TESTS_SETUP usage)
3057         * tests/parallel-tests-reset-term.test: Use AM_TESTS_ENVIRONMENT
3058         instead of AM_TESTS_SETUP (which has been removed in commit
3059         v1.11-349-g12f48fa).
3060         Fix spurious failure introduced by merge `v1.11-781-gfeed175'.
3061
3062 2011-04-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3063
3064         tests: fix spurious failure in a test on TESTS (VPATH-related)
3065         * tests/check-tests-in-builddir.test: When not using the
3066         parallel-tests option, do not check that VPATH components are
3067         not present in the displayed test name, since the simple-tests
3068         driver do not try to strip them.
3069
3070 2011-04-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3071
3072         tests: fix spurious failure in self-check-env-sanitize.test
3073         * tests/self-check-env-sanitize.test: Open file descriptor `5'
3074         to stdout.
3075         Fix spurious failure introduced by merge `v1.11-788-g3b0c8d5'.
3076
3077 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3078
3079         test: self check subroutines for skipping/failing of tests
3080         * tests/self-check-report.test: New test.
3081         * tests/Makefile.am (TESTS): Update.
3082
3083 2011-04-23  Jim Meyering  <meyering@redhat.com>
3084             Stefano Lattarini  <stefano.lattarini@gmail.com>
3085
3086         test defs: new subroutines for test skipping/failing
3087         * tests/defs.in (Exit): Move definition of this function earlier.
3088         (warn_, skip_, fail_, framework_failure_): New functions, inspired
3089         to the homonyms in gnulib's tests/init.sh.
3090         ($stderr_fileno_): New global variable, used by the new functions
3091         above.
3092         * tests/README: Updated.
3093         From a suggestion by Ralf Wildenhues.
3094
3095 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3096
3097         tests: fix typo (copy & paste blunder) in heading comment
3098         * tests/maintclean-vpath.test: Correctly refer to the sister test
3099         as `maintclean.test', not as `maintclean-vpath.test'.
3100
3101 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3102
3103         tests: remove redundant test `mclean.test'
3104         * tests/mclean.test: Remove, it's a weak grepping test completely
3105         superseded by the much more complete `maintclean.test'.
3106         * tests/Makefile.am (TESTS): Update.
3107
3108 2011-05-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
3109
3110         java tests: use $PATH_SEPARATOR where appropriate
3111         * tests/java-compile-run-nested.test: Use `$PATH_SEPARATOR', not
3112         `:', to separate entries of extended PATH and CLASSPATH variables.
3113         * tests/java-compile-run-flat.test: Likewise.
3114
3115 2011-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
3116
3117         java coverage: test JAVACFLAGS and AM_JAVACFLAGS
3118         * tests/javaflags.test: New test.
3119         * tests/Makefile.am (TESTS): Update.
3120
3121 2011-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
3122
3123         java coverage: test rebuild rules for java
3124         * tests/java-rebuild.test: New test.
3125         * tests/Makefile.am (TESTS): Update.
3126
3127 2011-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
3128
3129         java coverage: try to build and run a java program
3130         * tests/java-compile-run-flat.test: New test, try to build and run
3131         a "UNIX-style" java program (complete with wrapper shell script
3132         and the like) with a "flat" source-tree setup (i.e., everything in
3133         the top-level directory).
3134         * tests/java-compile-nested.test: Likewise, but using a more
3135         typical "nested" source-tree setup.
3136         * tests/Makefile.am (TESTS): Update.
3137
3138 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3139
3140         test defs: new requirement for the default java interpreter
3141         * tests/defs.in (for tool in $required): New requirement 'java'.
3142
3143 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3144
3145         java tests: tweak and make stricter a couple of tests
3146         * tests/javasubst.test: Use proper m4 quoting.  Add trailing `:'
3147         command.  Enable `errexit' shell flag, and related changes.
3148         Prefer cat + here-doc over echo to append to configure.in.
3149         Make grepping of Makefile.in stricter.  Add debugging output.
3150         Improve heading comments.
3151         * tests/javaprim.test: Likewise.
3152
3153 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3154
3155         java coverage: add test on uninstall with JAVA primary
3156         * tests/java-uninstall.test: New test.
3157         * tests/Makefile.am (TESTS): Update.
3158
3159 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3160
3161         java tests: require java compiler more properly
3162         * tests/java-extra.test: Use "required=javac" instead of ad-hoc
3163         configure check.
3164         * tests/java-noinst.test: Likewise.
3165
3166 2011-04-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3167
3168         java: allow both JAVA and nobase_JAVA in the same Makefile.am
3169         * automake.in (handle_java): Also strip `nobase_' from the given
3170         prefix, when needed.
3171         * tests/java-clean.test: Update and extend.
3172         * tests/java-compile-install.test: Likewise.
3173         * tests/java-no-duplicate.test: Likewise.
3174         * tests/java-sources.test: Likewise.
3175         * tests/java-noinst.test: Likewise.
3176         * tests/java-mix-dist-nodist.test: Renamed to ...
3177         * tests/java-mix.test: ... this, and extended.
3178         * tests/java-nobase.test: New test, still xfailing due to
3179         unrelated issues.
3180         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
3181
3182 2011-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3183
3184         testsuite: more environment sanitization
3185         * tests/defs.in: Sanity check: abort if any of `parallel_tests'
3186         or `required' is in the environment.
3187         ($sed_unindent_prog): Initialize to empty, to avoid interferences
3188         from the environment.
3189         * tests/self-check-me-in-env.test: Renamed to ...
3190         * tests/self-check-env-sanitize.test: ... this, and extended.
3191         * tests/Makefile.am (TESTS): Update.
3192         (TESTS_ENVIRONMENT): Unset variables `parallel_tests' and
3193         `required'.  Adjust comments.
3194
3195 2011-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
3196
3197         tests: in self-checks, use $SHELL, not /bin/sh
3198         * tests/self-check-me-in-env.test: Include `./defs-static' to get
3199         the definition of `$SHELL'.  Use `$SHELL' instead of `/bin/sh' to
3200         execute the tests.
3201
3202 2011-04-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
3203
3204         tests: prefer AM_TESTS_ENVIRONMENT to TESTS_ENVIRONMENT
3205         * tests/Makefile.am (TESTS_ENVIRONMENT): Renamed to ...
3206         (AM_TESTS_ENVIRONMENT): ... this.
3207
3208 2011-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
3209
3210         tests: don't allow `$me' to be overridden from the environment
3211         * tests/defs.in: Sanity check: abort if $me is in the environment.
3212         * tests/self-check-me-in-env.test: New test.
3213         * tests/Makefile.am (TESTS_ENVIRONMENT): Unset variable `me'.
3214         (TESTS): Update.
3215         Suggestion by Ralf Wildenhues.
3216
3217 2011-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
3218
3219         check: rename AM_TESTS_SETUP -> AM_TESTS_ENVIRONMENT
3220         The AM_TESTS_SETUP naming was not a good one after all.  It may
3221         be technically more correct than AM_TESTS_ENVIRONMENT, but the
3222         latter is a better one simply because it is easier to remember,
3223         and even if you've never heard of it and only know the semantics
3224         of TESTS_ENVIRONMENT, you can have a straightforward way to
3225         figure out how AM_TESTS_ENVIRONMENT would work.
3226         * tests/check.am (am__check_pre): Update.
3227         * doc/automake.in (Simple Tests using parallel-tests): Update.
3228         * tests/parallel-tests-am_tests_setup.test: Renamed ...
3229         * tests/parallel-tests-am_tests_environment.test: ... to this,
3230         and updated.
3231         * tests/Makefile.am (TESTS): Update.
3232         Suggestion and motivation by Ralf Wildenhues.
3233
3234 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3235
3236         test defs: allow overriding of `$me'
3237         * tests/defs.in ($me): Allow overriding by the including test
3238         script.  Add some explicative comments.
3239
3240 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3241
3242         coverage: more tests on the parallel-tests driver
3243         * tests/parallel-tests-interrupt.test: New test.
3244         * tests/parallel-tests-reset-term.test: Likewise.
3245         * tests/Makefile.am (TESTS): Update.
3246
3247 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3248
3249         check: new developer-reserved AM_TESTS_SETUP variable
3250         For reference, see the discussion at:
3251         <http://lists.gnu.org/archive/html/automake-patches/2011-01/msg00213.html>
3252         * lib/am/check.am [%?PARALLEL_TESTS%] (am__check_pre): Pass also
3253         $(AM_TESTS_SETUP).  Comments updated, and some typos fixed.
3254         * doc/automake.texi (Simple Tests using parallel-tests): Document
3255         AM_TESTS_SETUP.  Reorder some of the existing documentation a bit.
3256         * tests/parallel-tests-am_tests_setup.test: New test.
3257         From a suggestion by Ralf Wildenhues.
3258
3259 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3260
3261         depcomp tests: don't reject slower dependency extractors
3262         * tests/depcomp8b.test: Add the `--enable-dependency-tracking'
3263         option to `configure' invocations, so that slower dependency
3264         extractors are not rejected.
3265         * tests/depcomp8a.test: Likewise.  Also ...
3266         (foo.c): ... since we are at it, fix spacing to be consistent
3267         with GNU coding standards.
3268
3269 2011-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3270
3271         m4: add missing serial numbers to a few files
3272         Fixes automake bug#8483.
3273         * m4/amversion.in: Add serial number.
3274         * m4/auxdir.m4: Likewise.
3275         * m4/gcj.m4: Likewise.
3276         * m4/install-sh.m4: Likewise.
3277         * m4/mkdirp.m4: Likewise.
3278         * m4/python.m4: Likewise.
3279         * m4/runlog.m4: Likewise.
3280         * m4/strip.m4: Likewise.
3281         * m4/upc.m4: Likewise.
3282
3283 2011-04-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3284
3285         tests: fix few bugs in self checks
3286         Related to automake bug#8508.
3287         * tests/self-check-cleanup.test: Be laxer when grepping output
3288         from `ls -l', to account for ACLs and SELinux-only files.
3289         * tests/self-check-dir.test: Source `defs-static' to read in the
3290         correct definition for $SHELL.
3291         * tests/self-check-me.test: Likewise, and extend a bit.
3292         Report from Jim Meyering.
3293
3294 2011-04-16  Jim Meyering  <meyering@redhat.com>
3295
3296         depcomp: correct invalid sed invocation
3297         * lib/depcomp: Insert missing -e before '/:$/d'.
3298         Otherwise, that use of sed would treat '/:$/d' as a file name.
3299
3300 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3301
3302         maintainer check: quote literal `$' in Makefile rule
3303         * Makefile.am (sc_tests_PATH_SEPARATOR): Escape literal `$'
3304         character in double-quoted string.  Fix a bug in which the rule
3305         emitted an erroneously empty substring in its error message.
3306
3307 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3308
3309         tests: fix typo in python5b.test
3310         * tests/python5b.test: Remove extra `:' from $PATH redefinition.
3311
3312 2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3313
3314         tests: remove redundant settings of `errexit' shell flag
3315         * tests/autodist-acconfig.test: Do not set the `errexit'
3316         shell flag, as it is already set by `tests/defs'.
3317         * tests/autodist-acconfig-no-subdir.test: Likewise.
3318         * tests/autodist-aclocal-m4.test: Likewise.
3319         * tests/autodist-config-headers.test: Likewise.
3320         * tests/autodist-configure-no-subdir.test: Likewise.
3321         * tests/autodist-stamp-vti.test: Likewise.
3322         * tests/autodist-subdir.test: Likewise.
3323         * tests/autodist.test: Likewise.
3324         * tests/check-exported-srcdir.test: Likewise.
3325         * tests/check-tests-in-builddir.test: Likewise.
3326         * tests/check-tests_environment.test: Likewise.
3327         * tests/help-python.test: Likewise.
3328         * tests/java-check.test: Likewise.
3329         * tests/java-extra.test: Likewise.
3330         * tests/java-noinst.test: Likewise.
3331         * tests/lex-subobj-nodep.test: Likewise.
3332         * tests/ltinit.test: Likewise.
3333         * tests/m4-inclusion.test: Likewise.
3334         * tests/maintclean-vpath.test: Likewise.
3335         * tests/parallel-tests-subdir.test: Likewise.
3336         * tests/pr8365-remake-timing.test: Likewise.
3337         * tests/python-dist.test: Likewise.
3338         * tests/python-vars.test: Likewise.
3339         * tests/python-virtualenv.test: Likewise.
3340         * tests/python5b.test: Likewise.
3341         * tests/specflg-dummy.test: Likewise.
3342         * tests/yacc-dist-nobuild-subdir.test: Likewise.
3343         
3344 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3345
3346         coverage: test for automake bug#8485 (known regression)
3347         * tests/yacc-dist-nobuild-subdir.test: New test.
3348         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
3349
3350 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
3351
3352         test defs: define default $distdir (help reducing duplication)
3353         * tests/defs ($distdir): New variable, might be used in
3354         testcases checking distribution-related features.
3355         * tests/pr9.test: Use it.
3356         * tests/subdir9.test: Likewise.
3357         * tests/lex3.test: Likewise.
3358         * tests/lexvpath.test: Likewise.
3359         * tests/remake-moved-m4-file.test: Likewise.
3360         * tests/remake-renamed-m4-file.test: Likewise.
3361         * tests/remake-renamed-m4-macro-and-file.test: Likewise.
3362         * tests/yacc-basic.test: Likewise.
3363         * tests/yacc-d-basic.test: Likewise.
3364         * tests/yacc-d-vpath.test: Likewise.
3365         * tests/yacc-dist-nobuild.test: Likewise.
3366         * tests/vtexi3.test: Add comment explaining why we redefine
3367         $distdir in this test.
3368
3369 2011-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
3370
3371         depcomp: fix bugs in tests and in the depcomp script
3372         * lib/depcomp (gcc): Remove duplicated `-e' from sed invocation.
3373         * tests/depcomp10.test: Make it executable.  Fix a blunder that
3374         has left part of an intended comment not prefixed by `#', thus
3375         causing shell syntax errors.  In this same comment, break a
3376         too-long reported error message on multiple lines, for clarity.
3377         Add reference to the relevant bug report.  Add a comment which
3378         explains why the test result 'skipped' if the first "make" call
3379         fails.  Add other useful comments.
3380         * tests/depcomp9.test: Slightly improve comments.
3381
3382 2011-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3383
3384         Fix hp depmode for VPATH builds with GNU make.
3385         * lib/depcomp: Be sure to remove VPATH-prefixed object from
3386         dependency output when creating stub rule.
3387         * tests/depcomp10.test: New test.
3388         * tests/Makefile.am (TESTS): Update.
3389         * NEWS: Update.
3390         Report by Bruno Haible.
3391
3392 2011-04-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
3393
3394         java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am
3395         Fixes automake bug#8434.
3396         * automake.in (handle_java): Strip `dist_' and `nodist_' from
3397         the given prefix.  Define a new internal Makefile variable
3398         `am__java_sources'.  Related adjustments.
3399         * lib/am/java.am (JAVAC, JAVAROOT, CLASSPATH_ENV): Define only the
3400         first time this am file is processed.
3401         (class%DIR%.stamp): Stamp file renamed ...
3402         (class%NDIR%.stamp): ... to this, so that the `dist_' and `nodist_'
3403         prefixes are stripped from the name of the stampfile.  Adjust
3404         declaration of dependencies by using the new automake-generated
3405         internal variable `$(am__java_sources)'.  In the rule, use `$@'
3406         as the name of the target, rather than hard-coding it.
3407         * tests/java.test: Update and extend.
3408         * tests/java-no-duplicate.test: New test.
3409         * tests/java-mix-dist-nodist.test: Likewise.
3410         * tests/java-compile-and-install.test: Likewise.
3411         * tests/java-clean.test: Likewise.
3412         * tests/java-sources.test: Likewise.
3413         * tests/Makefile.am (TESTS): Update.
3414
3415 2011-04-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
3416
3417         coverage: more on java support EXTRA_ and noinst_ prefixes
3418         * tests/java-extra.test: New test, checking support for the
3419         prefix `EXTRA_' with the JAVA primary.
3420         * tests/java-noinst.test: New test, checking support for the
3421         prefix `noinst_' with the JAVA primary.
3422         * tests/Makefile.am (TESTS): Update.
3423
3424 2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
3425
3426         test defs: fix 'javac' requirement for older JDK versions
3427         The Java compiler from JDK 1.5 (and presumably earlier versions)
3428         cannot handle the `-version' option by itself; and while it does
3429         print the version number, it then errors out with an usage error:
3430           $ javac -version
3431           javac 1.5.0_22
3432           javac: no source files
3433           Usage: javac <options> <source files>
3434           ...
3435         Luckily, adding the `-help' option to the `javac' invocation
3436         seems to fix this problem.
3437         * tests/defs.in (javac): Pass also the `-help' option to the
3438         `javac' program.  Add a comment explaining why it is needed.
3439         Report from Ralf Wildenhues.
3440
3441 2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
3442
3443         test defs: new requirement for the default java compiler
3444         * tests/defs.in (for tool in $required): New requirement 'javac'.
3445         * tests/java.test: Use it instead of ad-hoc configure check.
3446         * tests/java-check.test: Likewise.
3447         * tests/java-extra.test: Likewise.
3448         * tests/java-noinst.test: Likewise.
3449         * tests/instfail-java.test: Likewise.
3450         * tests/instdir-java.test: Likewise.
3451
3452 2011-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3453
3454         java: check_JAVA does not cause compilation by "make all" anymore
3455         Fixes automake bug#8234.
3456         * automake.in (handle_java): Make stamp of class files built from
3457         java sources in $(check_JAVA) a dependency of `check' target, not
3458         `all' target.
3459         * tests/java-check.test: New test.
3460         * tests/Makefile.am (TESTS): Update.
3461         * NEWS: Update.
3462         * THANKS: Update.
3463         Report from Petteri Räty.
3464
3465 2011-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3466             Bruno Haible  <bruno@clisp.org>
3467
3468         coverage: add tests on remake rules in more complex situations
3469         * tests/defs (using_gmake): New function.
3470         (for tool in $required): Use it when $tool is 'GNUmake'.
3471         * tests/remake-moved-m4-file.test: New test.
3472         * tests/remake-deleted-m4-file.test: Likewise.
3473         * tests/remake-renamed-m4-file.test: Likewise.
3474         * tests/remake-renamed-m4-macro-and-file.test: Likewise.
3475         * tests/remake-renamed-m4-macro.test: Likewise.
3476         * tests/remake-add-acsubst-gnulib.test: Likewise.
3477         * tests/remake-add-header-gnulib.test: Likewise.
3478         * tests/remake-remove-header-gnulib.test: Likewise.
3479         * tests/Makefile.am (TESTS): Update.
3480
3481 2011-04-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
3482
3483         typofix in 'tests/defs'
3484         * tests/defs: Fix typo (`itslef' instead of `itself') in
3485         comments.
3486
3487 2011-04-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3488
3489         Clarify regex code in depcomp.
3490         * lib/depcomp: Add comment why we don't need regex-escaping here.
3491         Suggested by Stefano Lattarini.
3492
3493 2011-04-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3494
3495         Fix makedepend depmode for VPATH builds.
3496         * lib/depcomp [makedepend]: Remove any VPATH prefix from the
3497         object file name, so a rebuild doesn't attempt to update the
3498         .Po files in the source tree.
3499         * tests/depcomp9.test: New test.
3500         * tests/Makefile.am (TESTS): Update.
3501         * NEWS: Update.
3502
3503 2011-04-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3504
3505         tests: fix timestamp-related failures
3506         Fixes automake bug#8365.
3507         * tests/aclocal6.test: Sleep before modifying m4 files that should
3508         trigger remake rules.  Remove incorrect/obsoleted comments.
3509         * tests/subdir5.test: Likewise, and extend a bit.
3510         * tests/subdir8.test: Likewise.
3511         * tests/pr8365-remake-timing.test: New xfailing test.
3512         * tests/Makefile.am (TESTS): Update.
3513         Report from Sam Steingold.
3514
3515 2011-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3516
3517         Create subdirs for generated sources even when not dep tracking.
3518         * automake.in (handle_single_transform): If $object is derived
3519         and lands in subdir, be sure to output a dirstamp dependency.
3520         * tests/yacc5.test: Avoid falsely matching the dirstamp
3521         dependency when grepping for a rule.
3522         * tests/lex-subobj-nodep.test: New test.
3523         * tests/Makefile.am (TESTS): Update.
3524         * THANKS: Update.
3525         Report by Ignacy Gawedzki.
3526
3527         Fix locale issue in check-exported-srcdir.test.
3528         * tests/check-exported-srcdir.test: Reformulate glob to not fail
3529         in a locale that ignores or interleaves character case.
3530
3531 2011-04-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
3532
3533         docs: better visibility for aclocal in the index
3534         * doc/automake.texi (@menu): Rename title for entry 'configure'
3535         from "Scanning configure.ac or configure.in" to the more precise
3536         "Scanning configure.ac, using aclocal".
3537         (@detailmenu): Adjust.
3538         (@node configure): Adjust, and extend @cindex calls accordingly.
3539         * THANKS: Update.
3540         From a report by Maynard Johnson.
3541
3542 2011-03-30  Stefano Lattarini  <stefano.lattarini@gmail.com>
3543
3544         tests: improve tests on "maintainer-clean" target
3545         * tests/aclocal6.test: Move checks related to "maintainer-clean"
3546         functionalities into ...
3547         * tests/maintclean-vpath.test: ... this new test.
3548         * tests/maintclean.test: Update heading comments.  Extend to also
3549         test subdirs.  Remove useless disabling of YACC.  Fix m4 quoting
3550         in configure.in.  Add a trailing `:' command.  Remove extra blank
3551         lines.
3552         * tests/Makefile.am (TESTS): Update.
3553
3554 2011-03-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3555
3556         tests: fix unindent to use printf not echo for script.
3557         * tests/defs.in: Use printf rather than echo, as the latter may
3558         interpret the backslashes in the sed script.  Fixes test
3559         failures with dash as /bin/sh.
3560
3561 2011-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3562             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3563
3564         maintcheck: look for problematic names of testcases
3565         The configure.in stub created by default by `tests/defs' obtains
3566         the first argument of AC_INIT from the test name, and this can
3567         cause some supported autoconf versions to fail with a spurious
3568         error if that test name contains the name of an m4 or m4sugar
3569         builtin or macro (e.g., `defn' or `m4_undefine').
3570         See for example the bug fixed by commit v1.11-287-g1325a8a.
3571         This change add a maintainer check that warns about test names
3572         which are possibly problematic in this regard.
3573         * Makefile.am (sc_test_names): New maintainer-check target.
3574         (syntax_check_rules): Add it.
3575         (m4_builtins): New helper variable.
3576         (TESTS): Updated according to the following renamings.
3577         * tests/include.test: Renamed ...
3578         * tests/hdr-vars-defined-once.test: ... to this.
3579         * tests/sinclude.test: Renamed ...
3580         * tests/m4-inclusion.test: ... to this, and simplified
3581         accordingly.
3582         * tests/include2.test: Renamed ...
3583         * tests/dist-included-parent-dir.test: ... to this, for
3584         consistency.
3585
3586 2011-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
3587
3588         tests: fix bug in alloca*.test
3589         * tests/alloca.test: Make grepping of automake stderr stricter,
3590         add a trailing `:' command; also, add AC_PROG_CC to configure.in,
3591         and create a dummy alloca.c file, to ensure that we fail for the
3592         proper reason.
3593         * tests/alloca2.test: Likewise.  Also, look for LT_INIT, not
3594         AC_PROG_LIBTOOL, in the error message (bug introduced with commit
3595         v1.11-315-gd51e7b7 "libtool: suggest LT_INIT if LTLIBRARIES
3596         primary is used").
3597         From a report by Patrick Welche.
3598
3599 2011-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3600
3601         cosmetics: better use of m4 quoting and m4sugar macros
3602         * m4/dmalloc.m4: Better use of m4 quoting.  Bump serial number.
3603         * m4/gcj.m4: Likewise.
3604         * m4/init.m4: Likewise.
3605         * m4/install-sh.m4: Likewise.
3606         * m4/lex.m4: Likewise.
3607         * m4/multi.m4: Likewise.
3608         * m4/option.m4: Likewise.
3609         * m4/python.m4: Likewise.
3610         * m4/sanity.m4: Likewise.
3611         * m4/cond.m4: Likewise.  Also, prefer the m4sugar macro 'm4_if'
3612         over the plain m4 macro 'ifelse'.
3613         * m4/depend.m4: Likewise.
3614
3615 2011-03-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
3616
3617         tests: add test about deprecated use of AC_INIT
3618         * tests/deprecated-acinit.test: New test, check that automake
3619         and autoconf complain about an old-style AC_INIT call used with
3620         a new-style AM_AUTOMAKE_INIT call.
3621         * tests/Makefile.am (TESTS): Update.
3622
3623 2011-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
3624
3625         tests: fix bug (comments-in-var-defn.test + autoconf 2.62)
3626         * tests/comments-in-var-defn.test: The configure.in stub created
3627         by default, which has the AC_INIT first argument obtained by the
3628         test name, causes autoconf 2.62 to fail with a spurious error
3629         message like: "configure.in:1: error: defn: undefined macro:".
3630         Thus, to prevent this, the test is renamed to ...
3631         * tests/comments-in-var-def.test: ... this.
3632         * tests/Makefile.am (TESTS): Updated.
3633
3634 2011-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
3635
3636         cosmetics: convert encoding from ISO-8859 to UTF-8
3637         * ChangeLog.03: Convert encoding to UTF-8.
3638         * ChangeLog.96: Likewise.
3639         * ChangeLog.98: Likewise.
3640         * NEWS: Likewise.
3641         * TODO: Likewise.
3642
3643 2011-03-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
3644
3645         tests: extend checks on the 'unindent' shell function
3646         * tests/self-check-unindent.test: Also check that multiple
3647         instances of 'unindent' can run in parallel (this was not
3648         the case when that function used temporary files).
3649
3650 2011-03-01  Peter Rosin  <peda@lysator.liu.se>
3651
3652         test defs: unindent without temporary file
3653         * tests/defs.in (commented_sed_unindent_prog): Commented Sed program
3654         that strips the "proper" amount of leading whitespace.
3655         (unindent): Lazily strip comments from the above program and use it
3656         to unindent without using a temporary file.
3657
3658 2011-02-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
3659
3660         libtool: suggest LT_INIT if LTLIBRARIES primary is used
3661         When the LTLIBRARIES primary was used, but $(LIBTOOL) wasn't
3662         defined, automake suggested to add a call to AC_PROG_LIBTOOL
3663         in configure.ac.  But that macro is deprecated since Libtool
3664         version 1.9b (2004-08-29), in favor of the newer LT_INIT.  So
3665         suggest the use of this latter macro instead.
3666         * lib/Automake/Variable.pm (%_am_macro_for_var): Pair 'LIBTOOL'
3667         with 'LT_INIT', not with 'AC_PROG_LIBTOOL'.
3668         * tests/libtool4.test: Adjust and extend.  Also, add a call to
3669         macro AC_PROG_CC in configure.in, to help ensuring that automake
3670         does not fail for the wrong reasons.
3671         * tests/ltinit.test: New test, ensure that automake's libtool
3672         support works with LT_INIT-based interface.
3673         Thanks to Jack Kelly for the suggestion.
3674
3675 2011-02-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
3676
3677         tests: add testcases sanity-checking the testsuite
3678         Helper subroutines, variables and other pieces of code defined
3679         in the `tests/defs' and used by many testcases are non-obvious,
3680         and tricky to get to work portably; but until now, they weren't
3681         tested at all in a clear and self-contained way.
3682         This change should remedy to the situation.
3683         * tests/self-check-cleanup.test: New test, check removal of
3684         temporary test working directory by `./defs'.
3685         * tests/self-check-dir.test: New test, check that tests using
3686         `./defs' create a proper temporary directory, and run in it.
3687         * tests/self-check-exit.test: New test, check that, in case of
3688         failing commands, the correct exit status is passed to the exit
3689         trap installed by the `./defs' script.
3690         * tests/self-check-is_newest.test: New test, checking the
3691         `is_newest' subroutine.
3692         * tests/self-check-me.test: New test, checking that $me gets
3693         defined automatically by `tests/defs' if not set, and that it
3694         can be overridden from either the shell or the environment.
3695         * tests/self-check-sanity.test: New test, check that the sanity
3696         checks performed by the `tests/defs' script works correctly.
3697         * tests/self-check-unindent.test: New test, checking the
3698         `unindent' subroutine.
3699         * tests/Makefile.am (TESTS): Update.
3700
3701 2011-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
3702
3703         tests: tempdirs with restrictive permissions are cleaned correctly
3704         Before this change, the removal of a temporary test directory
3705         containing subdirectories with restrictive permissions (such as
3706         'r--r--r--') could fail.
3707         * tests/defs: Ensure that all the subdirectories of a temporary
3708         test directory have the 'read', 'write' and 'execute' bits set,
3709         before trying to remove it with `rm -rf'.
3710         * tests/Makefile.am (clean-local-check): Likewise.
3711
3712 2011-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3713             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3714
3715         test defs: add subroutine for input unindenting
3716         * tests/defs.in (unindent): New subroutine.
3717         * tests/instspc-tests.sh: Use it.
3718
3719 2011-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
3720
3721         python: report the 'PYTHON' influential environment variable
3722         * m4/python.m4 (AM_PATH_PYTHON): Call AC_ARG_VAR on PYTHON.
3723         * doc/automake.texi (Python): Update and extend.
3724         * tests/help-python.test: New test.
3725         * tests/Makefile.am (TESTS): Update.
3726         * THANKS (Jack Kelly): Update e-mail address.
3727         Suggestion by Jack Kelly.
3728
3729 2011-02-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
3730
3731         tests defs: clear TESTS_ENVIRONMENT variable
3732         * tests/defs.in (TESTS_ENVIRONMENT): Unset it, so that values
3733         from environment won't interfere with the testcases.
3734         Suggestion by Ralf Wildenhues.
3735
3736 2011-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
3737
3738         tests: `instspc-*.test': do not create useless source file
3739         * tests/instspc-tests.sh (create_input_data): Do not create
3740         unused source file `source2.c'.
3741
3742 2011-02-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
3743
3744         tests: optimize `instspc-*.test' for speed
3745         After the split of `instspc.test' into various generated tests,
3746         the running time of the testsuite has noticeably increased, since
3747         all these new generated tests must run aclocal, autoconf and
3748         automake, whereas previously they were run only once (at the
3749         beginning of `instspc.test').  But luckily, since the new tests
3750         share the same input files for the autotools, this situation can
3751         be easily worked around (at the expenses of a slight increase of
3752         complexity for the testsuite scaffolding).
3753         * tests/instspc-data.test: New helper test, properly calling
3754         the `instspc-tests.sh' script to generate input data for the
3755         others `instspc-*.test' tests.
3756         * tests/Makefile.am (TESTS): Add `instspc-data.test'.
3757         ($(instspc_tests:.test=.log)): Depend on its log file.
3758         (instspc-data.log): Depend on `instspc-tests.sh'.
3759         * tests/instspc-tests.sh: Recognize new action `generate-data',
3760         and use it to create hand-written and autotools-generated static
3761         files shared by all the `instspc-*.test' tests.
3762         When sourced by the `instspc-*.test' tests, use those previously
3763         created files instead of recreating them from scratch.
3764         (unindent, create_input_data): New subroutines.
3765         Some other related changes and refactorings.
3766         From a suggestion by Ralf Wildenhues.
3767
3768 2011-02-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
3769
3770         python: fix spurious failure in tests
3771         * tests/python-vars.test: Ignore cached values from config.site
3772         by exporting CONFIG_SITE=/dev/null.  Be laxer in matching the
3773         expected values of output variables `pythondir' and `pyexecdir',
3774         since they can change quite unpredictably among different python
3775         installations.  Also, avoid "hyping" debugging output, thus
3776         offering smaller trace output and more informative diff.
3777         Report and suggestions by Ralf Wildenhues.
3778         * tests/python-virtualenv.test: Require python, since we call it
3779         even after the virtualenv has been deactivated.  Ignore cached
3780         values from config.site by exporting CONFIG_SITE=/dev/null.
3781
3782 2011-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
3783
3784         tests: tweak few tests on simple and parallel test drivers
3785         * tests/check-exported-srcdir.test: Improve heading comments.
3786         * tests/check-tests-in-builddir.test: Likewise.  Also, unset the
3787         `FOO_EXIT_STATUS' variable, so that any pre-existing value in the
3788         environment won't risk to interfere with the test.
3789         Suggestions by Ralf Wildenhues.
3790
3791 2011-02-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
3792
3793         python: extend and improve tests, fix minor glitches
3794         * m4/python.m4 (AM_PATH_PYTHON): Ensure the "checking ..." messages
3795         from configure are always complete, even in case of failure.  Tiny
3796         cosmetic improvement in info/error messages.
3797         * tests/python.test: Also check that automake complains if the
3798         PYTHON primary is used but the `py-compile' script is not present.
3799         Make grepping of generated Makefile.in laxer w.r.t. whitespace.
3800         Add trailing `:' command.
3801         * tests/python2.test: Remove repeated calls aclocal: they are
3802         useless because configure.in is never modified.  Make grepping
3803         of automake stderr more comprehensive.  Remove the pre-existing
3804         `py-compile' file before trying to install it with `--add-missing'.
3805         Add trailing `:' command.
3806         * tests/python3.test: Add trailing `:' command.
3807         * tests/python11.test: Likewise.
3808         * tests/python4.test: Likewise.  Also, try to pass PYTHON config
3809         variable to configure from the environment, rather than only from
3810         the command line.
3811         * tests/python5.test: Ensure that the "checking ..." messages from
3812         configure are always complete.  Use proper m4 quoting.  Add a
3813         trailing `:' command.
3814         * tests/python6.test: Simplify test logic, by checking for files
3815         created by configure rather then grepping its output.
3816         * tests/python7.test: Likewise.
3817         * tests/python8.test: Also check that `$PYTHON' is meaningfully
3818         set in the ACTION-IF-TRUE argument of AM_PATH_PYTHON.
3819         * tests/python9.test: Likewise.
3820         * tests/python10.test: Add trailing `:' command.
3821         (Makefile.am): Declare `disttest' target as `.PHONY', and add
3822         an `ls -l' to its recipe, for debugging.
3823         * tests/nobase-python.test: In testing "make uninstall" and
3824         "make install" results, prefer idioms that make verbose logs
3825         more helpful.  Remove a couple of lines of dead code.  Add a
3826         trailing `:' command.
3827         * tests/python5b.test: New test, checking that configure performs
3828         the check on the python version even when the choice of the python
3829         interpreter is forced by the user.
3830         * tests/python-dist.test: New test, checking the distribution of
3831         *_PYTHON files.
3832         * tests/python-vars.test: New test, checking that AM_PATH_PYTHON
3833         correctly set all the output variables advertised in the manual.
3834         * tests/python-virtualenv.test: New test, checking that python
3835         support offered by automake works well with "virtual python
3836         environments" created by the `virtualenv' program.
3837         * tests/instdir-prog.test: Also check `$(pyexecdir)'.  Existing
3838         checks made slightly stricter.
3839         * tests/instdir-prog.test: Also check `$(pyexecdir)'.  Existing
3840         * tests/instdir-ltlib.test: Likewise.
3841         * tests/Makefile.am (TESTS): Update.
3842
3843 2011-02-01  Stefano Lattarini  <stefano.lattarini@gmail.com>
3844
3845         coverage: more tests on simple and parallel test drivers
3846         * tests/parallel-tests-subdir.test: New test.
3847         * tests/check-exported-srcdir.test: Likewise.
3848         * tests/check-tests-in-builddir.test: Likewise.
3849         * tests/check-tests_environment.test: Likewise.
3850         * tests/Makefile.am (TESTS): Update.
3851
3852 2011-01-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
3853
3854         tests: fix spurious failures in lflags*.test
3855         * tests/lflags.test: Remove 'LEX' from the environment, so
3856         that it won't be erroneously picked up by `make -e'.
3857         * tests/lflags2.test: Likewise.
3858
3859 2011-01-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
3860
3861         docs: color-tests issues with parallel make
3862         * doc/automake.texi (Simple Tests): Document that automatic
3863         recognition of a capable terminal attached to stdout can fail
3864         with some make implementation when running in parallel mode,
3865         thus causing colored test output not to be automatically
3866         activated when it should.
3867
3868 2011-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3869
3870         coverage: test semantics of "dummy" per-target flags
3871         * tests/specflg-dummy.test: New test, ensuring that even "dummy"
3872         per-target flags triggers the use of renamed objects.
3873         * tests/Makefile.am (TESTS): Update.
3874         Suggestion by Ralf Wildenhues.
3875
3876 2011-01-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3877
3878         tests defs: sanitize IFS
3879         * tests/defs ($IFS): Define to <space>, <tab>, <newline>.
3880         ($sp): New variable, holding a single whitespace character.
3881         ($tab): New variable, holding a tabulation character.
3882         ($nl): New variable, holding a newline character.
3883
3884 2011-01-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3885
3886         tests: avoid instspc* failures due to make's whitespace trimming
3887         * tests/instspc-tests.sh: Prepend './' when passing the test
3888         characters, to avoid leading whitespace characters to be trimmed
3889         from macros set from environment variables.  Fixes testsuite
3890         failures with HP-UX and Tru64/OSF make.
3891
3892 2011-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3893
3894         tests: fix VPATH auto-expansion workarounds.
3895         * tests/suffix10.test, tests/suffix11.test, tests/suffix12.test,
3896         tests/suffix3.test, tests/suffix5.test, tests/suffix8.test:
3897         Ensure $< is not surrounded by white space, to prevent Solaris
3898         make from applying automatic VPATH text expansion.
3899
3900         tests: fix VPATH auto-expansion workarounds.
3901         * tests/parallel-tests8.test, tests/suffix13.test:
3902         Ensure $< is not surrounded by white space, to prevent Solaris
3903         make from applying automatic VPATH text expansion.
3904
3905 2011-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
3906
3907         tests: fix spurious failures in yflags*.test
3908         * tests/yflags.test: Remove 'YACC' from the environment, so
3909         that it won't be erroneously picked up by `make -e'.
3910         * tests/yflags2.test: Likewise.
3911
3912 2011-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3913
3914         tests: avoid fn99*.test failures due to buggy AIX 5.3 cp -R.
3915         * tests/fn99.test, tests/fn99subdir.test: Skip if an initial
3916         `cp -R' of the subdir tree already fails; AIX 5.3 cp messes
3917         up its internal memory when copying this tree.
3918
3919 2011-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3920             Stefano Lattarini  <stefano.lattarini@gmail.com>
3921
3922         Add comment to check-TESTS rule working around make 3.80 bug.
3923         * lib/am/check.am (check-TESTS): Update comment.
3924
3925 2011-01-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3926
3927         tests: less strict double-colon spy.test again.
3928         * tests/spy.test: We know BSD make doesn't invoke more than one
3929         double-colon rule, so no need to expose that failure.
3930
3931 2011-01-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3932
3933         install-sh: avoid Tru64 sh `test' operator precedence issues.
3934         * lib/install-sh: Protect file names and directory components
3935         that consist of `=', `(', `)', or `!'.  Move protection as early
3936         as possible, to avoid errors such as with Tru64 sh `test -z ='.
3937         * tests/instsh2.test: Extend test to cover more possibilities.
3938         Fixes 1.12 instspc-equal-install.test failure on Tru64/OSF 5.1.
3939
3940 2011-01-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
3941             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3942
3943         docs: automake testsuite doesn't use TESTS_ENVIRONMENT anymore
3944         * doc/automake.texi (Simple Tests): Do not claim Automake uses
3945         TESTS_ENVIRONMENT for the perl driver.  Instead, point to the
3946         parallel-tests driver.
3947
3948 2011-01-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3949
3950         tests: check for presence of cscope with redirected input.
3951         * tests/defs: Add required test for cscope.
3952         Fixes cscope3.test hang with Sun C 5.9 cscope.
3953
3954         tests: avoid false failure in cygnus-dependency-tracking.test.
3955         * tests/cygnus-dependency-tracking.test: Be less restrictive
3956         when grepping the compiler error message, GCC 3.4.6 on FreeBSD
3957         does not mention an undefined symbol.
3958
3959 2011-01-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3960
3961         tests: revert not turning off errexit in instspc-test.sh
3962         * tests/instspc-tests.sh: Turn off errexit while sourcing defs,
3963         the scripts might still not be clean.
3964
3965 2011-01-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3966
3967         tests: work around Tru64 sh -e issues for instspc*.test.
3968         Apparently, Tru64 sh does not like turning off errexit mode,
3969         and gets confused.
3970         * tests/defs: Document 'errexit' cleanliness requirement.
3971         * tests/defs-static.in: Likewise.  Avoid error from command
3972         substitution to abort instspc*.test with Tru64/OSF 5.1 sh.
3973         * tests/instspc-tests.sh: Drop now-unneeded temporary errexit
3974         dropping.  Add strategic '|| Exit' to let tests work on Tru64.
3975
3976 2011-01-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3977
3978         Allow _AM_DEPENDENCIES to be used later in configure.
3979         * m4/depend.m4 (_AM_DEPENDENCIES): Remove a previously existing
3980         conftest.dir before recreating it.
3981         Fixes bug#7864.
3982         Report by Eric Blake, from report by Scott McCreary against M4.
3983
3984 2011-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3985
3986         tests: avoid failure on w32 file systems.
3987         * tests/parallel-tests-unreadable-log.test: SKIP if file cannot
3988         be turned unreadable.
3989
3990 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3991
3992         tests: allow double-colon spy.test to work with HP-UX make.
3993         * tests/spy.test: Fix comment typos.  Ensure prerequisites we
3994         do not want to depend on are strictly older than the target.
3995         Also test with a target out of date wrt. more than one rule.
3996
3997 2011-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3998
3999         Avoid local $_ perl variable, for Perl before 5.9.1.
4000         * lib/Automake/Options.pm (_process_option_list): Do not
4001         lexically localize $_.  Fixes bootstrap on AIX 5.1.
4002         Bug introduced in commit `v1.11-622-gf90a06c'.
4003
4004 2011-01-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
4005
4006         tests: remove useless requirements from cond36.test
4007         * tests/cond36.test ($required): Remove.
4008         Since we are at it, add a trailing `:' command.
4009
4010 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4011
4012         tests: avoid failing command substitution in errexit mode.
4013         * tests/vartypo2.test, tests/vartypos.test: Rewrite to not use
4014         a command substitution with a nonzero exit status, that causes
4015         IRIX and Tru64/OSF sh to fail the whole test.
4016
4017 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4018             Stefano Lattarini  <stefano.lattarini@gmail.com>
4019
4020         parallel-tests: work around Tru64/OSF 5.1 sh read bugs.
4021         * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
4022         Test file readability before redirecting input from it, to avoid
4023         exiting Tru64/OSF 5.1 sh which treats read as special builtin.
4024         * tests/parallel-tests-unreadable-log.test: New test.
4025         * tests/Makefile.am (TESTS): Update.
4026         * NEWS: Update.
4027
4028 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4029
4030         * NEWS, README: Update copyright years.
4031
4032 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
4033
4034         tests: hard error in case of internal failures or signal caught
4035         * tests/defs: Exit with status 99 (hard error) rather than
4036         1 (failure) on unexpected/internal errors, or when a signal
4037         is caught by the client script.
4038
4039         Tests defs: don't let useless variables leak in test scripts.
4040         * tests/defs ($priv_check_temp, $overwrite_status, $ro_dir_temp,
4041         $create_status, $r2h, $libtool_found, $gettext_found, $aclocaldir,
4042         $extra_includes): Unset once they've served their purpose.
4043
4044 2011-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4045
4046         Fix parallel-tests.test failure with HP-UX make.
4047         * tests/parallel-tests.test: Sleep inside inner tests, so logs
4048         are newer than logs of tests they depend on, for HP-UX make.
4049
4050 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4051
4052         docs: ensure example are separated with empty lines in the input
4053         * doc/automake.texi (Extending aclocal, Emacs Lisp, Rebuilding)
4054         (API Versioning, Renamed Objects, Multiple Outputs): Add empty
4055         lines before `@example' and after `@end example' lines, so info
4056         output is rendered correctly, and a following @noindent honored.
4057         Report by Stefano Lattarini.
4058
4059 2011-01-15  Jim Meyering <meyering@redhat.com>
4060
4061         tests: fix comment typo
4062         * tests/substref.test: Fix grammar in a comment.
4063
4064 2011-01-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
4065
4066         tests: fix spurious failures in two texinfo tests
4067         * tests/txinfo.test ($required): Add 'makeinfo'.
4068         * tests/txinfo8.test: Create a dummy 'textutils.info' file, so
4069         that make won't try to run makeinfo (which could be unavailable)
4070         to build it.
4071         Found by NixOS Hydra, reported by Ralf Wildenhues.
4072
4073 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
4074
4075         Update docs w.r.t. warning and strictness options.
4076         * doc/automake.texi (Strictness): Document that some warnings are
4077         turned off by default in `foreign' strictness.
4078         (Options): Divide into new sections "Options generalities" and
4079         "List of Automake options".  Fix typo (colon instead of full
4080         stop).  Document option precedence (AUTOMAKE_OPTIONS wins over
4081         AM_INIT_AUTOMAKE which wins over command line).  Also document
4082         interactions between options specifying strictness and those
4083         specifying warnings.
4084
4085         More tests on warnings/strictness precedence.
4086         * tests/warning-groups-win-over-strictness.test: New test, similar
4087         to `warnings-win-over-strictness.test', but checking the explicit
4088         catch-all warning flags (like `-Wall' and `-Wnone').
4089         * tests/Makefile.am (TESTS): Update.
4090
4091         Update NEWS about the warnings-over-strictness precedence.
4092         * NEWS: Automake explicit warning levels always take precedence
4093         over the implicit warning levels implied by Automake strictness.
4094
4095         For PR automake/547:
4096         Warnings win over strictness in AUTOMAKE_OPTIONS.
4097         Ensure that, for what concerns the options specified in
4098         AUTOMAKE_OPTIONS, explicitly-defined warnings always take
4099         precedence over implicit strictness-implied warnings.
4100         This finally fixes Automake bug#7669 a.k.a. PR/547.
4101         * automake.in (handle_options): Call 'process_option_list'
4102         only once per set of options.
4103         * lib/Automake/Options.pm (process_global_option_list,
4104         process_option_list): Add sanity checks.
4105         ($_options_processed, $_global_options_processed): New
4106         internal variables, used by the sanity checks above.
4107         * tests/warnings-win-over-strictness.test: Extend.
4108
4109         For PR automake/547:
4110         Change signature of 'Automake::Options::_process_option_list()'.
4111         This only modifies internal details in the automake implementation,
4112         bearing no externally visible effect, but preparing the way for the
4113         final fix of Automake bug#7669 a.k.a. PR/547.
4114         * lib/Automake/Options.pm (_process_option_list): Accept as
4115         arguments a list of hash references with keys 'option' and 'where',
4116         where 'option' is an option as might occur in AUTOMAKE_OPTIONS or
4117         AM_INIT_AUTOMAKE, and 'where' is the location where it occurred.
4118         (process_option_list, process_global_option_list): Updated.
4119         * automake.in (handle_options, scan_autoconf_traces): Update.
4120
4121         Add more tests about AUTOMAKE_OPTIONS.
4122         In view of soon-to-follow refactorings (still in the pursuit of a
4123         fix for Automake bug#7669 a.k.a. PR/547), add some more tests on
4124         AUTOMAKE_OPTIONS support, to prevent obvious regressions.
4125         * tests/amopts-variable-expansion.test: New test.
4126         * tests/amopts-location.test: Likewise.
4127         * tests/Makefile.am (TESTS): Update.
4128
4129         For PR automake/547:
4130         Warnings win over strictness in AM_INIT_AUTOMAKE.
4131         This change ensures that, for what concerns the options specified
4132         in AM_INIT_AUTOMAKE,  explicitly-defined warnings always take
4133         precedence over implicit strictness-implied warnings.  Related to
4134         Automake bug#7669 a.k.a. PR/547.
4135         * lib/Automake/Options.pm (_process_option_list): Parse explicit
4136         warnings only after the strictness level has been set.  Fix POD
4137         documentation.
4138         * tests/warnings-win-over-strictness.test: Extend.
4139
4140         For PR automake/547:
4141         Warnings win over strictness on command line.
4142         Ensure that, on the command line at least, explicitly defined
4143         warnings always take precedence over implicit strictness-implied
4144         warnings.  Related to Automake bug#7669 a.k.a. PR/547.
4145         * automake.in (parse_arguments): Parse warnings only after the
4146         strictness level has been processed.
4147         * tests/gnuwarn.test: Update, plus miscellaneous improvements.
4148         * tests/warnings-win-over-strictness.test: New test.
4149         * tests/Makefile.am (TESTS): Update.
4150
4151         More tests on warnings and strictness.
4152         * tests/warnings-strictness-interactions.test: New test.
4153         * tests/warnings-unknown.test: Likewise.
4154         * tests/Makefile.am (TESTS): Update.
4155
4156         New test on silent-rules mode and portability warnings.
4157         * tests/silent-nowarn.test: New test.
4158         * tests/Makefile.am (TESTS): Update.
4159
4160         Add new tests on strictness and warnings precedence and overriding.
4161         * tests/strictness-override.test: New test.
4162         * tests/strictness-precedence.test: New test.
4163         * tests/warnings-override.test: New test.
4164         * tests/warnings-precedence.test: New test.
4165         * tests/Makefile.am (TESTS): Update.
4166
4167 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4168
4169         Fix remake rule-induced test failures with HP-UX make.
4170         * tests/remake1a.test: Require GNU make.
4171
4172 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4173
4174         Fix remake rule-induced test failures with HP-UX make.
4175         * tests/colon6.test: Update timestamp of subdir Makefile, so we
4176         do not spuriously invoke the nonexistent toplevel am--refresh
4177         rule.
4178
4179         tests: fix typos in colon6.test
4180         * tests/colon6.test: Fix typos.
4181
4182 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4183             Stefano Lattarini  <stefano.lattarini@gmail.com>
4184
4185         tests: explain MSYS setup failure issue, improve test.
4186         * tests/defs: Add comment and failure message, improve fail
4187         logic.
4188
4189 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4190
4191         Fix libobj2.test failure with non-GNU make: define $(AR).
4192         * tests/libobj2.test: Ensure $(AR) is suitably defined.
4193
4194 2011-01-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4195
4196         tests: avoid spurious failures due to fork failure in test setup
4197         * tests/defs: Ensure $me is always nonempty, to avoid spurious
4198         failures on MinGW/MSYS in case the preceding sed command could
4199         not be spawned.
4200
4201         Avoid configure warnings from wait about reused PIDs.
4202         * m4/sanity.m4 (AM_SANITY_CHECK): Hide wait stderr output.
4203         Fixes spurious failure of depcomp2.test.
4204
4205 2011-01-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4206
4207         Avoid testsuite failures due to Autoconf Fortran change.
4208         Autoconf v2.68-21-g727ce95 causes AC_F77_LIBRARY_LDFLAGS to
4209         require computing the canonical host name.  Ensure config.guess
4210         and config.sub files are present for respective checks.
4211         * tests/compile_f_c_cxx.test: Add stub files.
4212         * tests/flibs.test: Likewise.
4213         * tests/fort4.test: Use $AUTOMAKE -a for installing files.
4214
4215 2011-01-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
4216
4217         docs: clustered '-d' not recognized in YFLAGS
4218         This change fixes automake bug#7828.
4219         * doc/automake.texi (Yacc and Lex): Document that automake
4220         recognizes '-d' in AM_YFLAGS only if it's not clustered with
4221         other options.
4222         From a report by Юрий Пухальский.
4223
4224 2011-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
4225
4226         tests: add checks on automatically-distributed files
4227         Related to automake bug#7819.
4228         * tests/autodist.test: New test.
4229         * tests/autodist-subdir.test: Likewise.
4230         * tests/autodist-acconfig.test: Likewise.
4231         * tests/autodist-acconfig-no-subdir.test: Likewise.
4232         * tests/autodist-aclocal-m4.test: Likewise.
4233         * tests/autodist-config-headers.test: Likewise.
4234         * tests/autodist-configure-no-subdir.test: Likewise.
4235         * tests/autodist-stamp-vti.test: Likewise.
4236         * tests/Makefile.am (TESTS): Update.
4237
4238 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
4239
4240         tests: do not force yacc-requiring tests to use bison
4241         * tests/defs.in: New required entry 'yacc'.  Remove old
4242         required entry 'bison'.
4243         * tests/cond35.test ($required): Require yacc, not bison.
4244         * tests/cond36.test: Likewise.
4245         * tests/pr204.test: Likewise.
4246         * tests/silent-many-gcc.test: Likewise.
4247         * tests/silent-many-generic.test: Likewise.
4248         * tests/silent-yacc-gcc.test: Likewise.
4249         * tests/silent-yacc-generic.test: Likewise.
4250         * tests/subpkg.test: Likewise.
4251         * tests/suffix10.test: Likewise.
4252         * tests/yacc-basic.test: Likewise.
4253         * tests/yacc-clean.test: Likewise.
4254         * tests/yacc-d-basic.test: Likewise.
4255         * tests/yacc-d-vpath.test: Likewise.
4256         * tests/yacc-dist-nobuild.test: Likewise.
4257         * tests/yacc-nodist.test: Likewise.
4258         * tests/yacc4.test: Likewise.
4259         * tests/yacc6.test: Likewise.
4260         * tests/yacc7.test: Likewise.
4261         * tests/yacc8.test: Likewise.
4262         * tests/yaccdry.test: Likewise.
4263         * tests/yaccvpath.test: Likewise.
4264
4265 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
4266
4267         tests: more consistent checks about invalid options
4268         * tests/aclocal.test: Grepping of automake stderr for messages
4269         reporting invalid options made stricter.
4270         * tests/no-outdir-option.test: Likewise.  Also, create a dummy
4271         `Makefile.am', to ensure that the automake failures are really
4272         caused only by unrecognized options.
4273         * tests/automake.test: Added trailing `:' command.  Removed
4274         redundant checks on `--help' and `--version' option (already
4275         performed in the test `help*.test').
4276
4277 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
4278
4279         tests: enable 'errexit' shell flag by default.
4280         * tests/defs: Enable `errexit' shell flag (near the end).
4281         Removed redundant comment about the enabling of shell traces.
4282         * tests/README (Writing test cases): Update, and use nicer
4283         formatting in a couple of places.
4284         * All tests: Adjusted by removing now-redundant calls to
4285         'set -e'.
4286
4287 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
4288
4289         tests: work around a texi+cygnus bug causing a spurious XFAIL
4290         * tests/txinfo5b.test: New test, like txinfo5.test but calling
4291         automake with the `-Wno-override' option to work around a bug
4292         in the texinfo + cygnus interaction.
4293         * tests/txinfo5.test: Update heading comments.
4294         * tests/Makefile.am (TEST): Updated.
4295
4296 2011-01-09  Dave Hart  <davehart@gmail.com>  (tiny change)
4297
4298         Fix another typo in Rule.pm comment.
4299         * lib/Automake/Rule.pm: Fix typo.
4300
4301 2011-01-09  Peter Rosin  <peda@lysator.liu.se>
4302
4303         Fix another typo in Rule.pm comment.
4304         * lib/Automake/Rule.pm: Fix typo.
4305
4306 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
4307
4308         tests: texinfo unrecognized extensions
4309         * tests/txinfo-unrecognized-extension.test: New test.
4310         * tests/Makefile.am (TESTS): Update.
4311
4312         Improve, extend and tweak tests on Texinfo support.
4313         * tests/instdir-texi.test: Add a call to `ls -l' after that to
4314         `make', for debugging.  When looking for required tools, do not
4315         redirect the output of "$tool --help" to /dev/null, and do not
4316         uselessly run it in a subshell.
4317         * tests/txinfo.test: Rewritten to run autoconf, ./configure and
4318         make.  All checks moved into Makefile.am.
4319         * tests/txinfo8.test: Likewise, and modernize the generated
4320         configure.in.
4321         * tests/txinfo2.test: Moved checks into Makefile.am, and other
4322         minor improvements.
4323         * tests/txinfo5.test: Enable `errexit' shell flag, and related
4324         changes.  Add trailing `:' command.
4325         * tests/txinfo6.test: Likewise, and make grepping of generated
4326         Makefile.in stricter.
4327         * tests/txinfo7.test: Enable `errexit' shell flag, and related
4328         changes.  Add trailing `:' command.  Do not add unnecessary stuff
4329         to Makefile.am.
4330         * tests/txinfo9.test: Verify that more targets which are expected
4331         to be generated only once really are.  Make grepping less strict,
4332         to avoid exposing too much internal details.  More minor changes.
4333         * tests/txinfo16.test: Add trailing `:'.  Prefer cat over echo
4334         for appending to configure.in.  Updated/fixed heading comments.
4335         * tests/txinfo23.test: Likewise, and extended a little by making
4336         it check that no info file is created in the $(srcdir).
4337         * tests/txinfo24.test: Likewise.
4338         * tests/txinfo25.test: Likewise.
4339         * tests/txinfo18.test: Add trailing `:'.  Prefer cat over echo
4340         for appending to configure.in.  Also, check that index files are
4341         cleaned also by "make clean", not only by "make distclean".
4342         * tests/txinfo22.test: Prefer `$me' over hard-coded test name,
4343         and added trailing `:' command.  This testcase also used to check
4344         that automake ignores in-line comments when using variables, but
4345         preserves them in the output; these checks (added in commit
4346         "Release-1-7f-4-g9177ef8") do not really pertain to this test,
4347         so they have been moved ...
4348         * tests/comments-in-var-defn.test: ... into this new test.
4349         * tests/txinfo4.test: Escape literal dots in grep regexps.  Add
4350         trailing `:' command.
4351         * tests/txinfo29.test: Likewise.  Relax grepping of generated
4352         Makefile.in w.r.t. whitespaces.  Prefer `cat' over `echo' to
4353         append to configure.in.
4354         * tests/txinfo3.test: Likewise.
4355         * tests/vtexi.test: Improve grepping of Makefile.in (sometimes
4356         make it stricter, sometimes laxer).  Move `set -e' setting just
4357         after the inclusion of ./defs.  De-uglify a sed command.  Other
4358         minor cosmetic improvements.
4359         * tests/vtexi2.test: Make grepping of Makefile.in stricter.  Add
4360         trailing `:' command.
4361         * tests/vtexi3.test: New test on version.texi support.
4362         * tests/vtexi4.test: Likewise.
4363         * tests/Makefile.am (TESTS): Updated.
4364
4365 2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
4366
4367         tests: fix spurious failure in 'tests/yflags-conditional.test'
4368         * tests/yflags-conditional.test: Filter out message "warnings are
4369         treated as errors" from automake stderr, to avoid a false positive
4370         when grepping for extraneous warning messages.
4371
4372 2011-01-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
4373
4374         yacc: warn about conditional content in *YFLAGS variables
4375         This change fixes automake bug#7804.
4376         * automake.in (lang_yacc_target_hook): Warn if any of the relevant
4377         *YFLAGS variables has conditional contents (not only a conditional
4378         definition).  Related refactoring.
4379         * NEWS: Updated.
4380         * tests/yflags-conditional.test: Updated and extended.
4381         * tests/yflags-conditional-force.test: New test.
4382         * tests/Makefile.am (TESTS): Updated.
4383
4384 2011-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4385
4386         yacc: support variable expansions in *YFLAGS definition.
4387         This change fixes automake bug#7800.
4388         * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
4389         instead of 'variable_value' to get the value of *YFLAGS variables.
4390         Related changes.
4391         ($DASH_D_PATTERN): Removed.
4392         * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
4393         * tests/yacc-clean.test: Remove workaround for now-fixed bug.
4394         * NEWS: Update.
4395
4396 2011-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4397
4398         yacc: more tests on *YFLAGS support
4399         * tests/yflags-var-expand.test: New test, still xfailing.  It
4400         exposes automake bug#7800 -- "automake fails to honor `-d' in
4401         AM_YFLAGS when variable expansions are involved".
4402         * tests/yflags-d-false-positive.test: New test, checking that
4403         automake do not spuriously see `-d' in *YFLAGS when that isn't
4404         really there.
4405         * tests/yflags-force-override.test: New test, checking that
4406         automake can cope with definition of the YFLAGS variable in
4407         Makefile.am (even if that is an extremely bad practice, as that
4408         variable is user-reserved).
4409         * tests/yflags-cmdline-override.test: New test, checking that
4410         automake can cope with user-redefinition of YFLAGS at configure
4411         time and/or at make time.
4412         * tests/yflags-conditional.test: New test, checks that automake
4413         warns on conditionally-defined *YFLAGS variables.
4414         * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
4415
4416 2011-01-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
4417
4418         yacc: extend and improve tests
4419         * tests/yacc-basic.test: Also check that the intermediate C file
4420         is mentioned in the generated Makefile.in, and that it is created
4421         by the first make invocation.
4422         * tests/yacc3.test: Test removed, superseded by ...
4423         * tests/yacc-d-basic.test: ... this new test.
4424         * tests/yacc2.test: Add reference to that new test in the heading
4425         comments.
4426         * tests/yacc-d-vpath.test: New test.
4427         * tests/yaccvpath.test: Updated heading comments.  Do not require
4428         gcc anymore, as any working C compiler should be enough.  Remove
4429         redundant comments.
4430         * tests/yacc-nodist.test: New test.
4431         * tests/yacc-dist-nobuild.test: New test.
4432         * tests/Makefile.am (TESTS): Update.
4433
4434 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
4435
4436         Extend, fix and improve tests on Lex and Yacc support.
4437         * tests/lexcpp.test: New test script, on support for Lex + C++.
4438         * tests/lexvpath.test: New test script, test build and rebuild
4439         rules for lexers in VPATH setup.
4440         * tests/yacc-basic.test: New test script, run simple "semantic"
4441         checks on basic Yacc support (similarly to what lex3.test does
4442         for Lex support).
4443         * tests/lex.test: Don't create useless dummy source file joe.l.
4444         Remove extra blank lines.
4445         * tests/lex4.test: Add trailing `:' command.  Do not create dummy
4446         useless lex source file.
4447         * tests/lex2.test: Likewise.  Call automake with the `-a' option,
4448         so that it doesn't fail for the absence of `ylwrap' script.  Make
4449         grepping of automake stderr stricter.
4450         * tests/yacc7.test: Add trailing `:' command.  Enable `errexit'
4451         shell flag earlier (just after having sourced ./defs).
4452         * tests/yacc4.test: Likewise.  Also ...
4453         (configure.in): Use pre-populated skeleton set up by ./defs,
4454         instead of writing one from scratch.
4455         Other minor cosmetic changes.
4456         * tests/yacc5.test: Likewise.
4457         * tests/yaccvpath.test: Likewise. Also ...
4458         ($distdir): New variable.
4459         Use it throughout.
4460         * tests/lex5.test: Likewise.
4461         * tests/lex3.test: Likewise.  Check the distdir, rather than
4462         grepping the distribution tarball.  Extend the test on the
4463         created binary, and be sure to avoid hangs.  Add some comments.
4464         * tests/yacc.test: Use stricter grepping.  Add trailing `:'.
4465         * tests/yacc6.test: Likewise.
4466         * tests/yacc3.test: Likewise.  Do not create the unused file
4467         `Makefile.sed'.  Remove useless rules from Makefile.am.  Other
4468         minor cosmetic changes.
4469         * tests/yacc2.test: Make grepping of generated `Makefile.in' and
4470         of automake error messages stricter.  Do not redirect output of
4471         grep to /dev/null.  Move call to aclocal earlier.  Reduce the
4472         number of empty blank lines.  Fix a typo in comments.
4473         * tests/yacc8.test: Fixed bugs that reduced the completeness of
4474         the tests.  Added trailing `:' command.
4475         (configure.in): Use pre-populated skeleton set up by ./defs,
4476         instead of writing one from scratch.
4477         * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
4478         `.yxx', rather than only `.yy'.
4479         * tests/Makefile.am (TESTS): Update.
4480
4481 2011-01-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
4482
4483         cosmetics: remove trailing whitespaces
4484         * doc/automake.texi: Remove trailing whitespaces.
4485         * tests/cond13.test: Likewise.
4486         * tests/cond14.test: Likewise.
4487         * tests/fort4.test: Likewise.
4488         * tests/fort5.test: Likewise.
4489         * tests/libobj17.test: Likewise.
4490         * tests/suffix7.test: Likewise.
4491         * tests/vtexi2.test: Likewise.
4492
4493         automake: minor fixes in comments
4494         * automake.in: Some minor fixes and enhancements in comments.
4495
4496 2011-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4497
4498         Add test coverage for deleted header files.
4499         * tests/depcomp6.test, tests/depcomp7.test: Update tests to
4500         also check for the deleted header bug.  If no dependency
4501         tracking mechanism could be found, SKIP rather than exit
4502         successfully.  Use GNU style spacing and ANSI C prototypes.
4503
4504         Fix typos in Rule.pm comments.
4505         * lib/Automake/Rule.pm: Fix typos in comments.
4506
4507         docs: split 'amhello Explained' node.
4508         * doc/automake.texi (amhello Explained): Split node ...
4509         (amhello's configure.ac Setup Explained)
4510         (amhello's Makefile.am Setup Explained) : ... into these two.
4511         (Top, Hello World): Adjust, and add @anchor for stable URL links.
4512         Suggestion by Karl Berry in automake bug#7766.
4513
4514 2011-01-08  Karl Berry  <karl@freefriends.org>
4515             Eric Blake  <eblake@redhat.com>
4516
4517         docs: reference defining directories in amhello node.
4518         * doc/automake.texi (amhello Explained): Point to Autoconf
4519         manual for how to convert directory values into macros.
4520         (Optional): Fix grammar nit.
4521
4522 2011-01-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4523
4524         yacc: "make clean" removes .c and .h files from non-distributed .y
4525         Previously, while automake did *not* distribute C source and header
4526         files derived from non-distributed Yacc sources, it still caused
4527         them to be removed only by "make maintainer-clean" only, and not by
4528         simply "make clean" or "make distclean".
4529         This caused "make distcheck" to fail, unless the developer put
4530         those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
4531         by hand.
4532         This change fixes this issue, by making non-distributed `.c' and
4533         `.h' files generated by non-distributed Yacc sources cleaned by
4534         "make clean".
4535         * tests/automake.in (lang_yacc_target_hook): Make C source and
4536         header files derived from non-distributed Yacc files cleaned by
4537         "make clean", not only by "make maintainer-clean".
4538         * tests/yacc-clean.test: New test.
4539         * tests/Makefile.am (TESTS): Update.
4540         * NEWS: Update.
4541
4542 2011-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
4543
4544         * NEWS: Fix typo (forgotten word).
4545
4546 2011-01-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
4547             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4548
4549         docs: how to work around checks on invalid primary/directory couples
4550         * doc/automake.texi (Uniform): Document the blessed idiom which can
4551         be used to work around automake checks on invalid primary/directory
4552         couples (such as `lib_PROGRAMS' or `doc_LIBRARIES').
4553
4554 2010-01-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
4555
4556         Tests: normalize use of the 'errexit' shell flag.
4557         * tests/maken3.test (check_targets): Remove redundant call to
4558         'set -e'.
4559         * tests/maken4.test: Likewise.
4560         * tests/ansi5.test: Call 'set -e' just after './defs' has been
4561         sourced.
4562         * tests/ansi6.test: Likewise.
4563         * tests/ansi7.test: Likewise.
4564         * tests/cond16.test: Likewise.
4565         * tests/cond17.test: Likewise.
4566         * tests/cond18.test: Likewise.
4567         * tests/cond19.test: Likewise.
4568         * tests/cond20.test: Likewise.
4569         * tests/cond21.test: Likewise.
4570         * tests/instdat2.test: Likewise.
4571         * tests/instdir-texi.test: Likewise.
4572         * tests/parallel-tests3.test: Likewise.
4573         * tests/remake1a.test: Likewise.
4574         * tests/ccnoco.test: Likewise, and add trailing `:' command.
4575         * tests/comment4.test: Likewise.
4576         * tests/gcj4.test: Likewise.
4577         * tests/nodist2.test: Likewise.
4578         * tests/nodist3.test: Enable 'errexit' shell flag (this should
4579         have been done in commit v1.11-248-g317e17b, but the relevant
4580         hunk has been forgotten somehow).
4581         * tests/output.test: Likewise.
4582         * tests/gnits2.test: Likewise, and display captured stderr to
4583         script's stderr, not to script's stdout.
4584         * tests/gnits3.test: Likewise.  Also, prefer 'cat' over 'echo'
4585         to append to Makefile.am, and really check that the exit status
4586         of "make installcheck" indicates failure.
4587
4588 2011-01-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4589
4590         Sync auxiliary files from upstream.
4591         * lib/config.guess, lib/config.sub, lib/texinfo.tex:
4592         Sync from upstream.
4593
4594         Avoid caching bug in cygnus mode test.
4595         * tests/cygnus-requires-maintainer-mode.test: Remove
4596         autom4te.cache directory before rerunning aclocal, to
4597         remove trace caches.
4598
4599         Fix maintainer-check regression.
4600         * tests/subobj11a.test: Pass DISTCHECK_CONFIGURE_FLAGS in the
4601         environment.
4602
4603         Bump copyright years.
4604         * aclocal.in (write_aclocal, version): Bump copyright years.
4605         * automake.in (gen_copyright, version): Likewise.
4606         * doc/automake.texi: Likewise.
4607
4608 2010-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
4609
4610         * NEWS: Add missing blank line between two entries.
4611
4612 2010-12-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
4613
4614         Improve and extend tests `suffix*.test'.
4615         * tests/suffix.test: Check that suffix rules for C compilation are
4616         only included once.  Try also with a static library.
4617         * tests/suffix2.test: Add a new grep to help potential debugging.
4618         Do not run automake with the `--add-missing' options, since we
4619         already create all the needed auxiliary files.  Try also *without*
4620         the `no-dependencies' automake option.
4621         * tests/suffix4.test: Make grepping of Makefile.in stricter.
4622         * tests/suffix3.test: Rewritten to run also autoconf, ./configure
4623         and make.
4624         * tests/suffix5.test: Likewise.
4625         * tests/suffix6.test: Fix botched recipe indentation (eight spaces
4626         were used instead of a tabulation character).  Extend to check
4627         that `.obj' is handled like `.$(OBJEXT)' (as is done for `.o').
4628         Improved parsing & grepping of generated Makefile.in.  Other minor
4629         fixes and improvements.
4630         * tests/suffix10.test: Move some checks in Makefile.am.  Also run
4631         "make all".
4632         * tests/suffix12.test: Likewise, and account for VPATH issues in
4633         weaker make implementations.
4634         * tests/suffix11.test: Likewise.  Also, run "make distcheck", for
4635         completeness, and related changes.
4636         * tests/suffix8.test: Likewise.  Also, do not put `gcc' anymore
4637         in $required.
4638         * tests/suffix13.test: Do not use the `--force-missing' automake
4639         option unnecessarily.
4640         * tests/suffix6b.test: New test, semantic sister of `suffix6.test'.
4641         * tests/suffix6c.test: Likewise.
4642         * tests/Makefile.am (TESTS): Updated.
4643
4644 2010-12-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4645             Stefano Lattarini  <stefano.lattarini@gmail.com>
4646
4647         Work around a bug in file-inclusion mechanism of Solaris make.
4648         * automake.in (handle_single_transform): In the name of the
4649         dependency file: collapse multiple slash characters into a single
4650         one.
4651         * tests/subobj11a.test: New test.
4652         * tests/subobj11b.test: Likewise.
4653         * tests/subobj11c.test: Likewise.
4654         * tests/depcomp8a.test: Likewise.
4655         * tests/depcomp8b.test: Likewise.
4656         * tests/Makefile.am (TESTS): Updated.
4657         * NEWS: Updated.
4658         Report by Stefano Lattarini, quick fix by Ralf Wildenhues, final
4659         patch and tests by Stefano Lattarini.
4660
4661 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
4662
4663         Fix two spurious testsuite failures on IRIX 6.5.
4664         * tests/suffix13.test (Makefile.am): Account for VPATH issues on
4665         weaker make implementations (e.g. IRIX 6.5).
4666         * tests/parallel-tests8.test: Likewise, plus a required related
4667         change.
4668         Reported by Ralf Wildenhues.  The bugs have been there from the
4669         first versions of the affected test scripts.
4670
4671 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
4672
4673         docs: cygnus mode doesn't require AM_CYGWIN32 macro.
4674         * doc/automake.texi (Cygnus): Mode 'cygnus' does not require
4675         the AM_CYGWIN32 macro (and indeed hasn't required it since at
4676         least commit Release-1-2-31-g3038064 "merged changes from
4677         Cygnus" of 1997-08-25).
4678
4679 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
4680
4681         Add some tests on 'cygnus' mode.
4682         * tests/clean2.test: Extend.
4683         * tests/cygnus-check-without-all.test: New test.
4684         * tests/cygnus-dependency-tracking.test: Likewise.
4685         * tests/cygnus-distclean.test: Likewise.
4686         * tests/cygnus-imply-foreign.test: Likewise.
4687         * tests/cygnus-no-dist.test: Likewise.
4688         * tests/cygnus-no-installinfo.test: Likewise.
4689         * tests/cygnus-requires-maintainer-mode.test: Likewise.
4690         * tests/Makefile.am (TESTS): Update.
4691
4692 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
4693
4694         Fix parallel testsuite run with Zsh.
4695         This change deals with a Zsh incompatibility in the handling
4696         of the special shell variable `$0' in sourced files; this
4697         incompatibility used to cause utter breakage when the
4698         Automake testsuite was run in parallel mode with Zsh as
4699         the $(TEST_LOG_COMPILER).
4700         For more information, please refer to the thread "Fix parallel
4701         testsuite run with zsh" on automake-patches, dated 2010-12-22:
4702          <http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00135.html>
4703         This change works around the problems described above for Zsh 4.3
4704         or later, and offers better error messages (instead of random
4705         failures) for earlier Zsh version.
4706         * tests/README (Supported shells): When describing the manual
4707         workaround about the Zsh incompatibility in the handling of `$0',
4708         tell that it is now needed only with Zsh versions preceding 4.3.
4709         Done also some minor rewordings.
4710         * tests/defs-static.in ($argv0): New variable, offers a workaround
4711         for the Zsh incompatibility in the handling of `$0'.
4712         Abort if that variable cannot be correctly set (can happen only
4713         in older Zsh version).
4714         * tests/defs ($me): Define using `$argv0', not `$0'.
4715
4716 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
4717
4718         Tests defs: keep track of original $AUTOMAKE and $ACLOCAL values.
4719         This is especially useful for tests which might want to run
4720         automake and aclocal without additional flags and warnings.
4721         * tests/defs-static.in ($original_ACLOCAL): New variable.
4722         ($original_AUTOMAKE): Likewise.
4723         * tests/help.test: Use them.
4724         * tests/help2.test: Likewise.
4725         * tests/help3.test: Likewise.
4726         * tests/help4.test: Likewise.
4727         From a suggestion by Ralf Wildenhues.
4728
4729 2010-12-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
4730
4731         distlinksbrk.test: Work around botched "make -k".
4732         * tests/distlinksbrk.test: Run "make" multiple times and grep
4733         its output each time for a single error message, rather than
4734         running "make -k" one single time and grepping its output for
4735         all the expected error messages.  This should work around make
4736         implementations with limited (broken?) `-k' support; for more
4737         information, see these subthreads on the automake-patches list:
4738           - 2010-11-15, "Testsuite failures on HP-UX 11.23",
4739             <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00162.html>
4740           - 2010-11-15, "Testsuite failures on IRIX 6.5",
4741             <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00166.html>
4742
4743 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
4744
4745         Minor improvements to test 'amopts.test'.
4746         * tests/amopts.test: Remove botched comment.  Make grepping of
4747         automake stderr slighty stricter.  Add trailing `:' command.
4748
4749 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
4750
4751         backcompat6.test: avoid comments inside recipe commands.
4752         * tests/backcompat6.test: Remove shell comments from makefile rule
4753         commands, as they are not portable to (at least) Tru64 make.
4754
4755 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
4756
4757         man8.test: avoid comments inside recipe commands.
4758         * tests/man8.test: Remove shell comments from makefile rule
4759         commands, as they are not portable to (at least) Tru64 make.
4760
4761 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
4762
4763         Fix sed-related buglet in test "subdir5.test"
4764         * tests/subdir5.test: Always terminate text passed to the
4765         `i' sed command with a newline, to work around limitations
4766         in e.g. older OpenBSD sed.
4767
4768 2010-12-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
4769
4770         Fix spurious failures in tests on AC_CONFIG_AUX_DIR.
4771         * tests/auxdir7.test: Do not try to needlessly overwrite the files
4772         `install-sh' and `missing'.  This avoid spurious failures in "make
4773         distcheck", when those files might be copied as read-only from the
4774         `lib' directory.
4775         * tests/auxdir8.test: Likewise.
4776
4777 2010-12-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
4778
4779         Make test 'posixsubst-script' portable to MinGW/MSYS.
4780         * tests/posixsubst-script.test: Ensure that the generated dummy
4781         scripts really start with a shebang line, to work around a
4782         limitation of 'test -x' on MinGW/MSYS.
4783         Reported by Ralf Wildenhues.
4784
4785         Improve comments in tests `posixsubst*.test'.
4786         * tests/posixsubst-data.test: Improve comment explaining why we
4787         try also empty match suffix.
4788         * tests/posixsubst-extradist.test: Likewise.
4789         * tests/posixsubst-ldadd.test: Likewise.
4790         * tests/posixsubst-libraries.test: Likewise.
4791         * tests/posixsubst-ltlibraries.test: Likewise.
4792         * tests/posixsubst-programs.test: Likewise.
4793         * tests/posixsubst-scripts.test: Likewise.
4794         * tests/posixsubst-sources.test: Likewise.
4795         * tests/posixsubst-tests.test: Likewise.
4796         Suggested by Ralf Wildenhues.
4797
4798 2010-12-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
4799
4800         docs: fix blunder in example about python extension modules
4801         * doc/automake.texi (Python): Use `quaternion_la_SOURCES',
4802         not `quaternion_SOURCES', to declare the sources of python
4803         extension module `quaternion.la'.
4804
4805 2010-12-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
4806
4807         docs: list LTLIBRARIES among Automake primaries
4808         * doc/automake.texi (Uniform): List `LTLIBRARIES' among
4809         the Automake primaries.
4810
4811 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
4812             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4813
4814         Tests defs: requirement 'xsi-shell' must be synced with libtool.
4815         * tests/defs (xsi-shell): Add comment telling to keep the
4816         XSI-conformance checks in sync with libtool.
4817
4818 2010-12-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
4819
4820         Minor cleanups in canon7.test.
4821         * tests/canon7.test (_foo_bar_SOURCES): Remove libs.c.
4822         (configure.in): Remove AC_PROG_CXX.
4823
4824 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4825
4826         Avoid false positive in sc_tests_plain_make maintainer-check.
4827         * Makefile.am (sc_tests_plain_make): Ensure to only match full
4828         `make' words.  Avoid false positive with remake11.test.
4829
4830 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4831
4832         Fix canon7.test failure.
4833         * tests/canon7.test (_foo_bar_SOURCES): Add foobar.c.
4834         (lib.h, libd.c, libs.c): Use const for constant strings.
4835
4836 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4837
4838         Fix typos in test comments.
4839         * tests/posixsubst-data.test, tests/posixsubst-extradist.test,
4840         tests/posixsubst-ldadd.test, tests/posixsubst-libraries.test,
4841         tests/posixsubst-ltlibraries.test, tests/posixsubst-programs.test,
4842         tests/posixsubst-scripts.test, tests/posixsubst-sources.test,
4843         tests/posixsubst-tests.test: Fix typos.
4844
4845 2010-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
4846
4847         More uses of AS_HELP_STRING in automake macros.
4848         * m4/depend.m4 (AM_DEP_TRACK): Use `AS_HELP_STRING' to format
4849         the help message added to the generated configure.
4850         * m4/dmalloc.m4 (AM_WITH_DMALLOC): Likewise.
4851         * m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
4852         * m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
4853         * m4/multi.m4 (AM_ENABLE_MULTILIB): Likewise.
4854         Also, bumped all serial numbers of the modified m4 files.
4855
4856 2010-12-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
4857
4858         Improve tests on generated portions of configure help screen.
4859         * tests/help-depend.test: Grepping of configure help screen
4860         relaxed to cater for possible line wrapping, and tightened in
4861         other respects.
4862         * tests/help-depend2.test: Likewise.
4863         * tests/help-dmalloc.test: Likewise.
4864         * tests/help-lispdir.test: Likewise.
4865         * tests/help-maintainer.test: Likewise.
4866         * tests/help-multilib.test: Likewise.
4867         * tests/help-silent.test: Likewise.
4868         * tests/help-upc.test: Likewise.
4869         * tests/help-init.test: Grepping of configure help screen
4870         tightened.
4871
4872 2010-12-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
4873
4874         Extended tests on AC_CONFIG_AUX_DIR.
4875         * tests/auxdir.test: Enable `errexit' shell flag.  Prefer `$me'
4876         over hard-coded test name.  Use proper m4 quoting.  Add trailing
4877         `:' command.
4878         * tests/auxdir2.test: Likewise.  Try to call automake also with
4879         the `-a' option, so that it will not fail for spurious reasons.
4880         * tests/auxdir3.test: Add an explanatory comment and a trailing
4881         `:' command.
4882         * tests/auxdir4.test: Prefer `$me' over hard-coded test name.
4883         Make grepping of automake stderr slightly stricter.  Also, now
4884         this test just checks about Automake's reaction to unportable
4885         auxiliary directory names (and it has been extended in this
4886         respect).  Moved the checks about non-existent auxiliary
4887         directories to ...
4888         * tests/auxdir5.test: ... this new test.
4889         * tests/auxdir6.test: New test.
4890         * tests/auxdir7.test: Likewise.
4891         * tests/auxdir8.test: Likewise.
4892         * tests/auxdir9.test: Likewise.
4893         * tests/Makefile.am (TESTS): Updated.
4894
4895 2010-12-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
4896
4897         Tests: extend checks on remake rules.
4898         This adds proper semantical tests (i.e. run make to check the
4899         rebuild rules are correctly triggered) in addition to tentative
4900         grepping of the generated Makefile.in(s).
4901         * tests/remake.test: Enable `errexit' shell flag, and related
4902         changes.  Modernize `configure.in'.  Add trailing `:' command.
4903         Improve heading comments, and add a reference to new sister test
4904         remake1a.test.
4905         * tests/remake3.test: Likewise (but with sister test being
4906         remake3a.test).
4907         * tests/remake2.test: Improve heading comments.  Enable `errexit'
4908         shell flag, and related changes.  Modernize `configure.in'.  Make
4909         grepping of `Makefile.in' slightly stricter.  Add trailing `:'
4910         command.
4911         * tests/remake5.test: Also run the `distcheck' target.  Add
4912         trailing `:' command.  Use proper m4 quoting in configure.in.
4913         * tests/remake4.test: Prefer `$me' over hard-coded test name.
4914         * tests/remake7.test: Use the `configure.in' stub created by
4915         ./defs, rather than writing it from scratch.
4916         * tests/remake6.test: Likewise.  Also, add trailing `:' command,
4917         and ensure verbose printing of captured make output.
4918         * tests/remake1a.test: New test, sister of remake.test.
4919         * tests/remake3a.test: New test, sister of remake3.test.
4920         * tests/remake8a.test: New test.
4921         * tests/remake8b.test: Likewise.
4922         * tests/remake9a.test: Likewise.
4923         * tests/remake9b.test: Likewise.
4924         * tests/remake9c.test: Likewise.
4925         * tests/remake9d.test: Likewise.
4926         * tests/remake10a.test: Likewise.
4927         * tests/remake10b.test: Likewise.
4928         * tests/remake10c.test: Likewise.
4929         * tests/remake11.test: Likewise.
4930         * tests/remake12.test: Likewise.
4931         * tests/Makefile.am (TESTS): Updated.
4932
4933 2010-12-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
4934
4935         Improve and extend tests on canonicalization.
4936         * tests/canon-name.test: Add trailing `:' command.  When writing
4937         configure.in, prefer to use $me instead of hard-coding the test
4938         name.
4939         * tests/canon3.test: Prefer trailing `:' over trailing `Exit 0'.
4940         * tests/canon4.test: Likewise.  Make grepping of Makefile.in
4941         stricter.  Improve heading comment, and add reference to ...
4942         * tests/canon6.test: ... this new test (sister test of the
4943         previous one).
4944         * tests/canon.test: Prefer cat + here-doc over echo to append
4945         text to configure.in.  Extend grepping of Automake stderr.  Add
4946         trailing `:' command.
4947         * tests/canon5.test: Likewise.
4948         * tests/canon7.test: New file, stress test on canonicalization.
4949         * tests/canon8.test: New test, for better coverage (check that
4950         the `@' character is not transliterated in canonicalizations).
4951         * tests/Makefile.am: Updated.
4952
4953 2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
4954
4955         Libobj tests: refer to automake bug tracker for limitations.
4956         * tests/libobj15b.test (configure.in): In the comment explaining
4957         why an apparently redundant AC_OUTPUT is indeed needed, refer
4958         to the relevant entry in the Automake bug tracker rather than
4959         describing the bug in detail with a FIXME-style comment.
4960         * tests/libobj15c.test: Likewise.
4961         * tests/libobj20b.test: Likewise.
4962
4963         Libobj tests: do not use `##' automake comments in-line.
4964         * tests/libobj19.test (Makefile.am): Do not use inline `##'
4965         comments in the definition of AUTOMAKE_OPTIONS.
4966         * tests/libobj20c.test: Likewise.
4967         Report by Ralf Wildenhues.
4968
4969 2010-12-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4970
4971         Fix testsuite failure of check12.test without DejaGNU.
4972         * tests/check12.test: Require runtest.
4973
4974 2010-12-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
4975
4976         Tests defs: more uses of $top_testsrcdir.
4977         * tests/compile6.test: Use `$top_testsrcdir' instead of
4978         `$testsrcdir/..'.
4979
4980 2010-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
4981
4982         Tests required tools: also try `-v' option for GNU compilers.
4983         * tests/defs.in: In the loop on "$required" tools, for gcc
4984         and g++, also run "gcc -v" (resp. "g++ -v"), to get more
4985         information, and for consistency with gcj.
4986
4987 2010-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
4988             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4989
4990         Tests defs: avoid some useless subshells.
4991         * tests/defs: In the loop on "$required" tools: avoid subshells
4992         where not needed.
4993
4994 2010-12-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
4995
4996         Extend tests on AC_LIBOBJ and friends.
4997         * tests/aclibobj.test: Removed, superseded by ...
4998         * tests/libobj-basic.test: ... this new test, which runs autoconf,
4999         ./configure and make, to ensure everything really works.
5000         * tests/libobj3.test: Add trailing `:' command.  Escape literal
5001         dot in grep regexp.
5002         * tests/libobj4.test: Enable `errexit' shell flag, and related
5003         changes.  Add trailing `:' command.  Use proper m4 quoting.
5004         * tests/ltlibobjs.test: Likewise.
5005         * tests/libobj5.test: Enable `errexit' shell flag, and related
5006         changes.  Add trailing `:' command.  Make more robust by using
5007         longer filenames to be grepped.
5008         * tests/libobj8.test: Enable `errexit' shell flag, and related
5009         changes.  Add trailing `:' command.  Use the configure.in
5010         stub provided by ./defs, rather than writing it from scratch.
5011         * tests/libobj2.test: Likewise.  Also, add calls to autoconf,
5012         ./configure and make, to ensure everything really works.
5013         * tests/libobj7.test: Likewise, and ensure that at least one
5014         function listed in AC_REPLACE_FUNCTIONS is truly replaced.
5015         * tests/libobj13.test: Make grepping of Automake stderr slightly
5016         stricter.  Add trailing `:' command.
5017         * tests/libobj12.test: Likewise.  Also, prefer "cat + here-doc"
5018         over "echo" to append to Makefile.am, and some cosmetic changes
5019         in spacing.
5020         * tests/libobj14.test: Call `Exit 1' if sourcing of ./defs fails.
5021         Slighty improve m4 quoting.  Add trailing `:' command.
5022         * tests/libobj10.test: Add calls to autoconf, ./configure and
5023         make, to ensure everything really works.  Also, remove tests that
5024         nonexistent source for AC_LIBOBJ cause an Automake failure: this
5025         is already checked by ...
5026         * tests/libobj15a.test: ... this new test.
5027         * tests/libobj15b.test: New test, sister test of libobj15a.test,
5028         checks AC_LIBSOURCE instead of AC_LIBOBJ.
5029         * tests/libobj15c.test: New test, sister test of libobj15a.test,
5030         checks AC_LIBSOURCES instead of AC_LIBOBJ.
5031         * tests/libobj11.test: Removed, superseded by ...
5032         * tests/libobj16a.test: ... this new test.
5033         * tests/libobj16b.test: New test, sister test of libobj16a.test,
5034         but using oldish/deprecated idioms.
5035         * tests/libobj17.test: New test.
5036         * tests/libobj18.test: Likewise.
5037         * tests/libobj19.test: Likewise.
5038         * tests/libobj20a.test: Likewise.
5039         * tests/libobj20b.test: Likewise.
5040         * tests/libobj20c.test: Likewise.
5041         * tests/Makefile.am (TESTS): Updated.
5042
5043 2010-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
5044
5045         Test `$(var:suf=rpl)' expansion in special automake variables.
5046         * tests/posixsubst-data.test: New test.
5047         * tests/posixsubst-extradist.test: Likewise.
5048         * tests/posixsubst-ldadd.test: Likewise.
5049         * tests/posixsubst-libraries.test: Likewise.
5050         * tests/posixsubst-ltlibraries.test: Likewise.
5051         * tests/posixsubst-programs.test: Likewise.
5052         * tests/posixsubst-scripts.test: Likewise.
5053         * tests/posixsubst-sources.test: Likewise.
5054         * tests/posixsubst-tests.test: Likewise.
5055         * tests/Makefile.am (TESTS): Update.
5056
5057 2010-12-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5058
5059         Make tests `colon*.test' more "semantic".
5060         Prefer running configure and make over grepping the generated
5061         files; this is both more correct and less fragile.
5062         * tests/colon.test: Made more "semantic", as described above.
5063         * tests/colon5.test: Likewise.
5064         * tests/colon6.test: Likewise.
5065         * tests/colon7.test: Likewise.
5066         * tests/colon2.test: Likewise, and improve syncing with sister
5067         test `colon3.test'.
5068         * tests/colon3.test: Likewise (but with the sister test being
5069         `colon2.test' here).
5070
5071 2010-12-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
5072
5073         Extend and improve tests on DejaGnu support.
5074         * tests/dejagnu.test: Do not create useless dummy test script.
5075         Add trailing `:' command.  In heading comments, add reference
5076         to ...
5077         * tests/check12.test: ... this new "semantic" test, covering
5078         concurrent use of dejagnu tests, simple tests and `check-local'
5079         target.
5080         * tests/dejagnu2.test: Make test more reliable, by avoid weak
5081         grepping of make output.  Prefer `cat' over `echo' to append
5082         to configure.in.  Quote literal dots in grep regexps.  Prefer
5083         `grep -c ...' over `grep ... | wc -l'.  Make grepping of
5084         automake stderr slightly stricter.  Add trailing `:' command.
5085         * tests/dejagnu3.test: Prefer `cat' over `echo' to append to
5086         configure.in.  Check stderr of expected-to-fail "make" call.
5087         Remove extra blank lines from Makefile.am.
5088         * tests/dejagnu4.test: Prefer `cat' over `echo' to append to
5089         configure.in.  Prefer `mv -f' over plain `mv' when the target
5090         file already exists.  Avoid extra mkdir calls by creating more
5091         directories at once.  Better use of blank lines.  Check that
5092         the `*.log' and `*.sum' files are created by runtest also when
5093         "make check" fails.
5094         * tests/dejagnu7.test: Prefer `cat' over `echo' to append to
5095         configure.in.  Better use of blank lines.  Add a trailing `:'
5096         command.
5097         * tests/dejagnu6.test: Likewise, and give the dejagnu test a
5098         more descriptive name.
5099         * tests/dejagnu5.test: Likewise.  Also, simply define package
5100         name to `$me' rather than using a non-obvious sed script to
5101         extract it from `AC_INIT', and write the Makefile.am with only
5102         one command.
5103         * tests/Makefile.am (TESTS): Updated.
5104
5105 2010-12-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5106
5107         Avoid running installed automake from 'libtool --help'.
5108         * tests/subobj9.test: Export AUTOCONF and AUTOMAKE.
5109         Together with fixed Libtool, this fixes check-coverage to not
5110         invoke installed automake.
5111
5112 2010-12-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
5113
5114         Separate checks on target overriding into multiple test scripts.
5115         * tests/overrid.test: Deleted, its contents separated into ...
5116         * tests/override-suggest-local.test: ... this new test ...
5117         * tests/override-html.test: ... and this new test ...
5118         * tests/override-conditional-1.test: ... and this new test ...
5119         * tests/override-conditional-2.test: ... and this new test (still
5120         xfailing).
5121         * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
5122
5123         Enable `set -e' in more tests (plus some tweakings).
5124         * tests/implicit.test: Enable `errexit' shell flag, and related
5125         changes.  Add trailing `:' command.
5126         * tests/insh2.test: Likewise.
5127         * tests/instman2.test: Likewise.
5128         * tests/interp.test: Likewise.
5129         * tests/interp2.test: Likewise.
5130         * tests/library.test: Likewise.
5131         * tests/mclean.test: Likewise.
5132         * tests/info.test: Enable `errexit' shell flag, and related
5133         changes.  Add trailing `:' command.  Remove useless chaff from
5134         generated Makefile.am.  Add a "FIXME" comment.
5135         * tests/include.test: Enable `errexit' shell flag, and related
5136         changes.  Add trailing `:' command.  Prefer cat + here-doc over
5137         echo to append to configure.in.  Make tests more robust by using
5138         longer and less common names to grep.  Remove an useless call to
5139         echo.  Remove an useless subshell.
5140         * tests/header.test: Enable `errexit' shell flag, and related
5141         changes.  Use proper m4 quoting.  Add excerpts from the original
5142         report of the bug tested for by this script.
5143         * tests/gcj.test: Enable `errexit' shell flag, and related
5144         changes.  Use proper m4 quoting.  Add trailing `:' command.
5145         * tests/gcj3.test: Likewise.
5146         * tests/ldflags.test: Likewise.
5147         * tests/libtool.test: Likewise.
5148         * tests/listval.test: Likewise.
5149         * tests/javaprim.test: Likewise, and prefer cat + here-doc over
5150         echo to append to configure.in.
5151         * tests/javasubst.test: Likewise.
5152         * tests/discorver.test: Enable `errexit' shell flag.  Prefer
5153         trailing `:' over trailing `Exit 0'.
5154         * tests/instdat.test: Enable `errexit' shell flag, and related
5155         changes.  Use proper m4 quoting.  Avoid useless subshell.  Prefer
5156         cat + here-doc over echo to append to configure.in.
5157         * tests/libtool2.test: Enable `errexit' shell flag, and related
5158         changes.  Add trailing `:' command.  Use the configure.in
5159         stub provided by ./defs, rather than writing it from scratch.
5160
5161         Modernize, improve and/or tweak some test scripts.
5162         * tests/maintclean.test: Use proper m4 quoting.  Add trailing `:'
5163         command.
5164         * tests/sinclude.test: Likewise, and add a couple of blank lines,
5165         for clarity.
5166         * tests/make.test: Move setting of `errexit' shell flag earlier in
5167         the script (just after inclusion of ./defs).  Use the configure.in
5168         stub created by ./defs, rather than writing it from scratch.  Some
5169         cosmetic changes in spacing.  Ensure we wait enough time before
5170         touching configure.in to trigger the rebuild rules.
5171         * tests/makej.test: Use `$me' instead of hard-coding the test
5172         name.  Add trailing `:' command.
5173         * tests/version7.test: Likewise.
5174         * tests/space.test: Enable `errexit' shell flag, and related
5175         changes.
5176         * tests/makevars.test: Likewise.  Also, prefer trailing `:' over
5177         trailing `Exit 0', and be more tolerant of white spaces when
5178         grepping Makefile.in.
5179
5180 2010-12-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
5181
5182         * tests/silent8.test: Use "|| Exit 1" after ". ./defs".
5183
5184         Enable `set -e' in more tests (plus some tweakings).
5185         * tests/mkinstall.test: Enable `errexit' shell flag, and related
5186         changes.  Add a trailing `:' command, if needed.
5187         * tests/mdate2.test: Likewise.
5188         * tests/objc.test: Likewise.
5189         * tests/noinst.test: Likewise.
5190         * tests/outdir.test: Likewise.
5191         * tests/number.test: Likewise.
5192         * tests/pluseq.test: Likewise.
5193         * tests/req.test: Likewise.
5194         * tests/rulepat.test: Likewise.
5195         * tests/specflg6.test: Likewise.
5196         * tests/spell3.test: Likewise.
5197         * tests/parse.test: Likewise, and ...
5198         (configure.in): Use the stub created by ./defs, rather than
5199         writing it from scratch.  Remove useless calls to AC_PROG_RANLIB
5200         and AC_OUTPUT.
5201         * tests/mdate4.test: Likewise.
5202         * tests/mkinstall.test: Likewise, and ...
5203         (configure.in): ... drop useless call to `AC_OUTPUT'.
5204         * tests/output.test: Enable `errexit' shell flag, and related
5205         changes.  Add a trailing `:' command.
5206         (configure.in): Modernize.
5207         * tests/output2.test: Likewise.
5208         * tests/output3.test: Likewise.
5209         * tests/output4.test: Likewise.
5210         * tests/mdate3.test: Enable `errexit' shell flag, and related
5211         changes.  Prefer `$me' over hard-coded test name.  Do not move
5212         non-existent or useless files in the build auxiliary directory.
5213         * tests/nodistdir.test: Enable `errexit' shell flag, and related
5214         changes.  Prefer trailing `:' over trailing `Exit 0'.
5215         * tests/nodist.test: Likewise.  Also, prefer cat + here-doc over
5216         echo to create input test files, and do not create useless dummy
5217         C source files.
5218         * tests/nodist2.test: Likewise.
5219         * tests/ppf77.test: Enable `errexit' shell flag, with related
5220         changes.  Add a trailing `:' command.  Do not create useless
5221         dummy source files.
5222         * tests/spelling.test: Enable `errexit' shell flag, with related
5223         changes.  Add a trailing `:' command.  Also, grep Automake error
5224         message.
5225         * tests/specflg3.test: Enable `errexit' shell flag, with related
5226         changes.  Avoid unportable use of `-e' option of fgrep.  Prefer
5227         trailing `:' over trailing `Exit 0'.  Remove extra empty lines,
5228         and cosmetic changes to whitespaces.
5229         * tests/obsolete.test: Enable `errexit' shell flag, with related
5230         changes.  Improve verbosity.  Other miscellaneous changes.
5231
5232 2010-11-30  Stefano Lattarini  <stefano.lattarini@gmail.com>
5233
5234         Improve and extend tests on `:=' variable assignments.
5235         * tests/colneq.test: Avoid redundant use of variable assignments
5236         in Makefile.am.  Use command-line automake options instead of
5237         editing AUTOMAKE_OPTIONS in Makefile.am.  Make grepping of the
5238         generated Makefile.in slightly stricter.  Add a trailing `:'
5239         command.
5240         * tests/colneq2.test: Do not create unneeded dummy files.  Run
5241         also autoconf, ./configure and make.  Add trailing `:' command.
5242         * tests/colneq3.test: New test, similar to colneq.test, but
5243         running also autoconf, ./configure and make.
5244         * tests/Makefile.am (TESTS): Update.
5245
5246 2010-11-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
5247
5248         Remove long-deprecated options --Werror and --Wno-error.
5249         These options has been deprecated at least since commit
5250         "Release-1-6-1b-35-gc037f20", dated 2002-07-06.
5251         * automake.in (parse_arguments): Do not recognize anymore options
5252         `--Werror' and `--Wno-error' as synonyms of respectively `-Werror'
5253         and `-Wno-error'.
5254         * tests/werror.test: Update: use `-Werror' instead of `--Werror'.
5255         * NEWS: Update.
5256
5257 2010-11-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
5258
5259         Fix spurious failures in `silent*.test' for $CC != gcc
5260         In some tests on automake-produced silent rules, we forced the
5261         use of gcc depmode to improve testsuite coverage; but this has
5262         unsurprisingly led to spurious failures when some non-GNU C
5263         compilers were used.  So we are now careful to require GCC in
5264         tests that force gcc depmode.
5265         From reports by Ralf Wildenhues.
5266         * tests/silent5.test: Test removed, its content split into ...
5267         * tests/silent-many-generic.test, tests/silent-many-gcc.test: ...
5268         these new sister tests, the latter of which forces gcc depmode
5269         and lists "gcc" in $required.
5270         * tests/silentlex.test: Test removed, its content split into ...
5271         * tests/silent-lex-generic.test, tests/silent-lex-gcc.test: ...
5272         these new sister tests, the latter of which forces gcc depmode
5273         and lists "gcc" in $required.
5274         * tests/silentyacc.test: Test removed, its content split into ...
5275         * tests/silent-yacc-generic.test, tests/silent-yacc-gcc.test: ...
5276         these new sister tests, the latter of which forces gcc depmode and
5277         lists "gcc" in $required.
5278         * tests/Makefile.am (TESTS): Updated.
5279
5280 2010-11-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
5281
5282         Tests: consistently use "|| Exit 1" after ". ./defs".
5283         * tests/autohdr.test: Use `. ./defs || Exit 1', not bare
5284         `. ./defs', for consistency with other tests.
5285         * tests/autohdr2.test: Likewise.
5286         * tests/autohdr3.test: Likewise.
5287         * tests/autohdr4.test: Likewise.
5288         * tests/cond23.test: Likewise.
5289         * tests/cond24.test: Likewise.
5290         * tests/cond25.test: Likewise.
5291         * tests/cond26.test: Likewise.
5292         * tests/cond27.test: Likewise.
5293         * tests/cond28.test: Likewise.
5294         * tests/cond29.test: Likewise.
5295         * tests/cond30.test: Likewise.
5296         * tests/cond31.test: Likewise.
5297         * tests/cond32.test: Likewise.
5298         * tests/cond33.test: Likewise.
5299         * tests/cond34.test: Likewise.
5300         * tests/cond35.test: Likewise.
5301         * tests/cond36.test: Likewise.
5302         * tests/cond37.test: Likewise.
5303         * tests/cond38.test: Likewise.
5304         * tests/cond39.test: Likewise.
5305         * tests/cond40.test: Likewise.
5306         * tests/cond41.test: Likewise.
5307         * tests/cond42.test: Likewise.
5308         * tests/cond43.test: Likewise.
5309         * tests/cond44.test: Likewise.
5310         * tests/cond45.test: Likewise.
5311         * tests/dollarvar.test: Likewise.
5312         * tests/dollarvar2.test: Likewise.
5313         * tests/hfs.test: Likewise.
5314         * tests/libobj14.test: Likewise.
5315         * tests/percent.test: Likewise.
5316         * tests/percent2.test: Likewise.
5317         * tests/phony.test: Likewise.
5318         * tests/silent.test: Likewise.
5319         * tests/silent2.test: Likewise.
5320         * tests/silent3.test: Likewise.
5321         * tests/silent4.test: Likewise.
5322         * tests/silent5.test: Likewise.
5323         * tests/silent6.test: Likewise.
5324         * tests/silent7.test: Likewise.
5325         * tests/silent9.test: Likewise.
5326         * tests/silentcxx.test: Likewise.
5327         * tests/silentf77.test: Likewise.
5328         * tests/silentf90.test: Likewise.
5329         * tests/silentlex.test: Likewise.
5330         * tests/silentyacc.test: Likewise.
5331
5332         Avoid useless cleaning in some `silent*.test' tests.
5333         * tests/silentf77.test: Removed useless calls to "make clean"
5334         and "make maintainer-clean".
5335         * tests/silentf90.test: Likewise.
5336         * tests/silent3.test: Removed useless call to "make distclean".
5337         * tests/silent4.test: Likewise.
5338         * tests/silent9.test: Likewise.
5339
5340 2010-11-19  Ian Lance Taylor  <iant@google.com>
5341
5342         Sync config-ml.in from GCC.
5343         * config-ml.in: Add Go support: treat GOC and GOCFLAGS like other
5344         compiler/flag environment variables.
5345
5346 2010-11-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
5347
5348         release-stats: account for more generated tests.
5349         * Makefile.am (release-stats): Be sure to take into account all
5350         the generated tests, by grepping the test scripts to decide which
5351         ones of them are automatically generated.
5352
5353 2010-11-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
5354
5355         Code cleanup after removal of option `--output-directory'.
5356         * automake.in ($output_directory): Remove, it's unconditionally
5357         defined to `.' and used only ...
5358         (generate_makefile): ... in this subroutine, which now has been
5359         edited and simplified accordingly.
5360
5361         Remove obsolete automake option `--output-directory'.
5362         This option has been deprecated since version 1.7 (2002/2003).
5363         * automake.in ($output_directory): Define to `.' unconditionally.
5364         (parse_arguments): Remove handling of equivalent options `-o' and
5365         `--output-directory'.
5366         * tests/outdir.test: Removed.
5367         * tests/no-outdir-option.test: New test.
5368         * tests/Makefile.am (TESTS): Updated.
5369         * NEWS: Updated.
5370
5371 2010-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
5372
5373         Automake::Config: remove extra trailing semicolon.
5374         * lib/Automake/Config.in: Remove extra trailing semicolon.
5375
5376         help4.test: fix botched heading comment.
5377         * tests/help4.test: Fixed the heading comment, since it
5378         didn't correctly describe what checks the testcase was
5379         supposed to perform.
5380
5381         help2.test: add checks on aclocal too.
5382         * tests/help2.test: Check that also `aclocal --version' and
5383         `aclocal --help' work with configure.in and acinclude.m4 both
5384         broken.
5385
5386 2010-11-19  Stefano Lattarini  <stefano.lattarini@gmail.com>
5387
5388         New test on repeated automake options.
5389         * tests/repeated-options.test: New test, check that automake
5390         does not complain on repeated options, nor generate broken or
5391         incorrect makefiles.
5392         * tests/Makefile.am (TESTS): Updated.
5393
5394 2010-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
5395
5396         Fix spurious failures of silent-rules tests with Sun Fortran.
5397         * tests/silentf77.test: Strip from the make output some verbose
5398         messages possibly printed by the SunStudio fortran compilers, to
5399         avoid spurious failures.  Add a trailing `:' command.
5400         * tests/silentf90.test: Likewise.
5401
5402 2010-11-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
5403
5404         Fix spurious failures of silent5.test with Sun Fortran.
5405         * tests/silent5.test: Strip from the make output some verbose
5406         messages possibly printed by the SunStudio fortran compilers,
5407         to avoid spurious failures.  This bug has been there from the
5408         very first version of this test script.
5409
5410 2010-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5411
5412         Fix regression in colon{5,6}.test (failures on AIX 5.3).
5413         * tests/colon5.test: Also substitute `@SHELL@' with `$SHELL' when
5414         post-processing the generated Makefile.in, to work around a bug
5415         of AIX 5.3 make which doesn't allow setting the `$(SHELL)' macro
5416         on the commend line.  Calls to `$MAKE' adjusted accordingly.
5417         * tests/colon6.test: Likewise.
5418         Regression introduced in commit v1.11-175-gf9fe878 "Modernize,
5419         improve and/or extend tests `colon*.test", and reported by Ralf
5420         Wildenhues.
5421
5422 2010-11-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5423
5424         Fix regression in ansi.test (failure on AIX 5.3).
5425         * tests/ansi.test: Remove redundant hackish check done using a
5426         hand-postprocessed Makefile.in.  This check worked by setting
5427         the `$(SHELL)' macro on the command line of make, but this is
5428         not supported by the AIX 5.3 make implementation.
5429         This bug has been lurking for a long time, and was activated by
5430         commit v1.11-125-gc1f6cdb "Enable `errexit' shell flag in various
5431         tests".  Report by Ralf Wildenhues.
5432
5433 2010-11-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5434
5435         backcompat5.test: avoid '##'-style comments inside recipe commands.
5436         * tests/backcompat5.test: Remove double-hash comments
5437         from makefile rule commands, they are not part of the
5438         Automake API.  Fixes testsuite failure with Tru64 make.
5439
5440         tests: avoid '##'-style comments inside recipe commands.
5441         * tests/confh.test, tests/confh8.test: Remove
5442         double-hash comments from makefile rule commands, they
5443         are not part of the Automake API.
5444
5445 2010-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5446
5447         tests: work around dash quoting issue in case statements.
5448         * tests/color.test, tests/color2.test: Quote variable in case
5449         pattern, to avoid skipping tests with dash 0.5.5.1.
5450
5451 2010-11-16  Peter Rosin  <peda@lysator.liu.se>
5452
5453         Skip MSVC oriented tests if the shell is not capable.
5454         * tests/defs: New required entry 'xsi-shell'.
5455         * tests/ar-lib.test, tests/compile3.test, tests/compile6.test:
5456         Require a XSI capable shell.
5457         Reported by Ralf Wildenhues.
5458
5459 2010-11-15  Peter Rosin  <peda@lysator.liu.se>
5460
5461         compile: clear the `eat' variable earlier.
5462         * lib/compile: Clear the `eat' variable earlier.
5463         ($scriptversion): Update.
5464         * tests/compile3.test: Prevent regressions.
5465
5466 2010-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5467
5468         More stable configure output from sanity check.
5469         * m4/sanity.m4 (AM_SANITY_CHECK): Always print check line
5470         about ensuring newer files, even if we don't actually need
5471         to wait any more.
5472
5473 2010-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5474
5475         Rebuild menus in the manual.
5476         * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs).
5477         Thanks to Ian Lance Taylor for the suggestion.
5478
5479         Fix install-strip when $(STRIP) contains several words.
5480         * lib/am/install.am (install-strip): Update comment.  Use
5481         separate sub-make invocations for empty and nonempty $(STRIP),
5482         to fix quoting issues.
5483         * tests/strip2.test, tests/strip3.test: New tests.
5484         * tests/Makefile.am (TESTS): Adjust.
5485
5486 2010-11-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5487
5488         Fix yaccdry.test failure: require bison.
5489         * tests/yaccdry.test: Require bison.
5490         Found by NixOS Hydra.
5491
5492 2010-11-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
5493
5494         Fix bug in test `backcompat6.test' (MSYS portability).
5495         * tests/backcompat6.test (Makefile.am): Grep the output from the
5496         test program, rather than diffing it, to avoid spurious failures
5497         on MinGW/MSYS due to LF vs. CRLF line endings.
5498         Reported by Ralf Wildenhues.
5499
5500 2010-11-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
5501
5502         Deprecate obsolete macro AM_WITH_REGEX.
5503         * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete,
5504         and state that it should be removed two years from now.
5505         (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete"
5506         category when this macro is used.
5507         * doc/automake.texi (Public Macros): Move description of
5508         `AM_WITH_REGEX' from here ...
5509         (Obsolete Macros): ... to here, and declare it as obsolete
5510         and "to be removed in a future version".
5511         * tests/regex-obsolete.test: New test.
5512         * tests/Makefile.am (TESTS): Update.
5513
5514 2010-11-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
5515
5516         Improve and extend tests on man pages support.
5517         * tests/man.test: Enable `errexit' shell flag, and related changes.
5518         Make grepping of generated Makefile.in slightly stricter.
5519         * tests/man3.test:  Add trailing `:' command.
5520         * tests/man5.test: Prefer cat + here-doc over echo to append to
5521         configure.in.
5522         * tests/man2.test: Likewise, and add trailing `:' command.
5523         * tests/man4.test: More thorough and consistent checking of make
5524         error messages.  Place fake `help2man' program in a new `bin'
5525         directory rather than in `.'.  Move the checks using the real
5526         `help2man' program to ...
5527         * tests/man6.test: ... this new test, and extend them.  This test
5528         passes with GNU make and Solaris make, still fails with BSD make.
5529         * tests/man7.test: New test, extracted from old man4.test, which
5530         checks for a bug in maintainer-clean w.r.t. generated manpages.
5531         * tests/man8.test: New test, extracted from old man4.test, which
5532         checks for a bug in distcheck w.r.t. generated manpages.  Passes
5533         with GNU make and Solaris make, still fails with BSD make.
5534
5535 2010-11-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
5536
5537         Minor improvements and extensions to various tests.
5538         * tests/defun.test: Also run autoconf and grep the generated
5539         configure to make sure that aclocal truly picks up all the
5540         required macros.
5541         * tests/compile_f_c_cxx.test: Prefer trailing `:' over trailing
5542         `Exit 0'.  Do not create useless dummy source files.  Do not set
5543         useless `$(foo_LDADD)' variable in `Makefile.am'.  Do not call
5544         useless macro `AC_F77_LIBRARY_LDFLAGS' in `configure.in'.
5545         * tests/compile_f90_c_cxx.test: Likewise.
5546         * tests/suffix10.test: Slightly stricter grepping of make output.
5547         * tests/compile.test: Add trailing `:' command.
5548         * tests/defun2.test: Likewise.
5549         * tests/vars3.test: Likewise.
5550         * tests/vartar.test: Likewise.
5551         * tests/vars.test: Likewise.  Also, extend test by checking
5552         that the definition of `MY_FLAGS*' variables is preserved in
5553         the generated `Makefile.in'.
5554         * tests/stamph2.test: Prefer trailing `:' over trailing `Exit 0'.
5555         Use proper m4 quoting in `configure.in'.
5556
5557 2010-11-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
5558
5559         Tests defs: improve messages for skipped tests.
5560         * tests/defs: Give meaningful messages about the reasons of a
5561         test skip; this is especially useful as this file is run without
5562         verbose xtraces on.  Related reorderings in the code and new
5563         comments.
5564
5565 2010-11-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
5566
5567         Tests defs: move static definitions in a new file `defs-static'.
5568         The new file is meant to be idempotent w.r.t. multiple inclusions.
5569         * tests/defs.in: Removed, its contents split among ...
5570         * tests/defs-static.in: ... this new file ...
5571         * tests/defs: ... and this new file, including the former.
5572         * configure.ac (AC_CONFIG_FILES): Remove `tests/defs', add
5573         `tests/defs-static'.
5574         (AC_CONFIG_LINKS): Add `tests/defs'.
5575         * tests/Makefile.am ($(parallel_tests)): Update.
5576         ($(instspc_tests)): Likewise.
5577         * tests/.gitignore: Update.
5578
5579         Tests defs: $testsbuilddir is now AC_SUBST'ed.
5580         * tests/defs.in ($testsbuilddir): Substitute from @abs_builddir@.
5581         Add sanity check on $testsbuilddir, similar to those on
5582         $testsrcdir and $top_testsrcdir.
5583
5584         Tests defs: do not print message "Running test $0" anymore.
5585         * tests/defs.in: Printing the message "=== Running test $0" at
5586         the beginning of each tests made sense when Automake used the old
5587         test-driver, which sent all the output directly to stdout/stderr.
5588         Now that the parallel test-driver is used, which saves output of
5589         each test in its corresponding log file, that old message is just
5590         useless noise.
5591
5592         Tests defs: rename $curdir -> $testbuilddir
5593         * tests/defs.in: Rename $curdir to $testbuildir, for clarity and
5594         consistency with $testsrcdir and $top_testsrcdir.
5595
5596         Tests defs: prefer "$curdir" over "`pwd`".
5597         * tests/defs.in: We already save the value of `pwd` in $curdir
5598         early in the file, so there no need to recalculate it later, when
5599         the current working directory is not changed.
5600
5601         Tests defs: use `$me' in more error messages.
5602         * tests/defs.in: Also use `$me' in error messages referring to
5603         missing `defs' or `defs.in', since that variable is now defined
5604         before those checks.
5605
5606         Tests defs: do not use `Exit' where plain `exit' suffices.
5607         * tests/defs.in: Use "exit 77" rather than "Exit 77" to skip the
5608         test when required libtool/gettext macros are not found, since
5609         such skips would take place before the exit trap is installed.
5610
5611         Tests defs: improve and extends comments.
5612         * tests/defs.in: Improve and extends some comments, especially in
5613         relation with the changes introduced by the previous reordering.
5614
5615         Tests defs: various reorderings.
5616         * tests/defs.in: Reordered various snippets of code in a
5617         clearer way.
5618
5619 2010-11-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
5620
5621         Fix bug in test `backcompat4.test' (stale autom4te cache).
5622         * tests/backcompat4.test: Remove stale autom4te cache directory
5623         before re-running aclocal and automake.  Also, since we are at
5624         it, be more verbose in displaying contents of generated files,
5625         to ease debuggability.
5626         Reported by Ralf Wildenhues.
5627
5628 2010-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5629
5630         Fix a bug in variable concatenation with `+='.
5631         * lib/Automake/VarDef.pm (append): Since the content of the
5632         "appended-to" variable is going to be unconditionally normalized
5633         later, simply separate the appended value with a single whitespace
5634         character, instead of trying to be uselessly smarter by using
5635         escaped newlines.  This fixes a bug in which extra backslashes
5636         where erroneously inserted in the variable's final value.
5637         * tests/pluseq11.test: New test, exposing the bug.
5638         * tests/Makefile.am (TESTS): Update.
5639         Reported by Andy Wingo.
5640
5641 2010-11-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5642
5643         Modernize, improve and/or tweak various test scripts.
5644         * tests/stamph2.test: Improve m4 quoting in `configure.in', and
5645         prefer trailing `:' over trailing `Exit 0'.
5646         * tests/syntax.test: Escape literal dots in grep regexps.
5647         * tests/copy.test: Enable `errexit' shell flag.  Extend test by
5648         checking with `test' utility that the script `install-sh' is
5649         copied, but not symlinked.
5650         * tests/depdist.test: Move setting of `errexit' shell flag earlier
5651         in the script (just after inclusion of ./defs).  Avoid obsoleted
5652         constructs in generated `configure.in'.  Prefer to do our checks
5653         by running configure and make over grepping Makefile.in.
5654         * tests/target-cflags: Move setting of `errexit' shell flag
5655         earlier in the script (just after inclusion of ./defs). Use the
5656         `configure.in' stub created by `./defs', rather than writing it
5657         from scratch.
5658         * tests/target-clash: Do not uselessly run autoconf.
5659         * tests/ctarget1.test: Renamed ...
5660         * tests/cond-basic.test: ... to this.  Use the `configure.in' stub
5661         created by `./defs', rather than writing it from scratch.
5662         Move setting of `errexit' shell flag earlier in the script (just
5663         after inclusion of ./defs).  Other minor cosmetic changes.
5664         * tests/Makefile.am (TESTS): Updated.
5665
5666 2010-11-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
5667
5668         New tests on obsoleted usages of automake/autoconf macros (such
5669         as AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT).
5670         * tests/backcompat.test: New test script.
5671         * tests/backcompat2.test: Likewise.
5672         * tests/backcompat3.test: Likewise.
5673         * tests/backcompat4.test: Likewise.
5674         * tests/backcompat5.test: Likewise.
5675         * tests/backcompat6.test: Likewise.
5676         * tests/init.test: Extended and improved, esp. by trying more
5677         combinations of calls to AC_INIT and AM_INIT_AUTOMAKE with few
5678         arguments.
5679         * tests/Makefile.am (TESTS): Updated.
5680
5681 2010-11-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
5682
5683         Fix bug in rules for creating vala vapi/header files.
5684         * automake.in (lang_vala_finish_target): Add forgotten "fi" in an
5685         if control structure in a generated make rules.  Bug introduced
5686         by previous commit `v1.11-221-gd7c1679', and revealed by failure
5687         of test `vala2.test'.
5688
5689 2010-11-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5690
5691         Fix and document rules to not touch the tree with `make -n'.
5692         * doc/automake.texi (Multiple Outputs): Document the problem of
5693         modifications during dry-run execution, propose solution.
5694         * NEWS: Update.
5695         * automake.in (lang_vala_finish_target): Split recipe so the
5696         stamp file is not removed with GNU `make -n'.
5697         (lang_yacc_target_hook): Separate removal of parser output file
5698         and header remaking.
5699         * lib/am/lisp.am ($(am__ELCFILES)): Determine whether -n was
5700         passed to make, take care not to remove any files in that case.
5701         * lib/am/remake-hdr.am (%CONFIG_H%): Separate removal of
5702         %STAMP% file from induced remaking of config header.
5703         * tests/autohdrdry.test, tests/lispdry.test, tests/yaccdry.test:
5704         New tests.
5705         * tests/Makefile.am (TESTS): Update.
5706
5707 2010-11-05  Stefano Lattarini  <stefano.lattarini@gmail.com>
5708
5709         Fix potential bug in generated tests `instpc-*.test'.
5710         This bug is due to the changes introduced by the recently-merged
5711         "tests-init" branch.  In that branch, `tests/defs' didn't define
5712         anymore `$srcdir', instead defining directly `$testsrcdir'; but
5713         the generated tests were using `$srcdir', hence the bug.
5714         Luckily, since the Automake parallel test driver automatically
5715         exports `srcdir' to a proper value, that prevented the bug from
5716         manifesting itself.
5717         * tests/Makefile.am ($(instspc_tests)): In the generated test
5718         scripts, use `$testsrcdir', not `$srcdir'.
5719
5720 2010-11-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
5721
5722         Overhauled and modularized tests in `instspc.test'.
5723         The test `instspc.test' was way too big and fragile.  Its running
5724         time was very long.  It also produced a log that was nearly
5725         unreadable due to its length, making it very difficult to find
5726         out the reason for failures.
5727         Also, it was too much monolithic, with a single (maybe spurious)
5728         failure in a corner case causing the whole test to fail (even if
5729         everything worked as expected in the other 99% of cases).
5730         The present change should solve these problems, by separating
5731         `instspc.test' into many smaller, self-contained, auto-generated
5732         tests.
5733         * tests/instspc.test: Removed.
5734         * tests/instspc-tests.sh: New script, fulfilling a double role:
5735         1. it generates a Makefile.am snippet `tests/instspc-tests.am',
5736         containing the definition of a list of new tests which will take
5737         over the older `instspc.test', and
5738         2. it is sourced by said generated tests with proper parameters
5739         pre-set, to run the "meat" of the checks.
5740         This apparent abuse is indeed required because the test generation
5741         code and test execution code are inevitably intertwined.
5742         * tests/Makefile.am ($(srcdir)/instspc-tests.am): Include this
5743         snippet, which (among the other things) defines ...
5744         (instspc_tests): ... this new macro, containing the list of the
5745         newly generated `instspc*.test' tests, and ...
5746         (instspc_xfail_tests): ... this new macro, containing the list
5747         of the `instspc*.test' tests expected to fail.
5748         ($(instspc_tests)): New rule, generates the `instspc*.test' tests.
5749         ($(instspc_tests:.test=.log)): New rule, registers the dependency
5750         of all `instspc*.test' tests on the `instspc-tests.sh' script.
5751         (TESTS): Add `$(instspc_tests)', remove `instspc.test'.
5752         (XFAIL_TESTS): Add `$(xfail_instspc_tests)'.
5753         (EXTRA_DIST): Distribute instspc-tests.sh.
5754         (MAINTAINERCLEANFILES): Added $(instspc_tests).
5755         Other minor cosmetic changes.
5756         * bootstrap: Generate instspc-tests.am.
5757         * tests/.gitignore: Updated.
5758
5759 2010-11-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5760
5761         Add FAQ entry for bug reporting instructions.
5762         * doc/automake.texi (Reporting Bugs): New section.
5763         (Introduction): Refer to it.
5764
5765 2010-10-07  Peter Rosin  <peda@lysator.liu.se>
5766
5767         depcomp: add new one-pass depmode for MSVC 7 and later.
5768         * lib/depcomp: Add new depmodes 'msvc7' and 'msvc7msys' which
5769         make use of the -showIncludes option added in MSVC 7.
5770         * m4/depend.m4 (_AM_DEPENDENCIES): Handle the new depmodes
5771         similarly to 'msvisualcpp' and 'msvcmsys' as MSVC does not
5772         support the -o option.
5773
5774 2010-10-05  Jim Meyering  <meyering@redhat.com>
5775
5776         dist-xz, dist-bzip2: don't hard-code -9: honor envvar settings
5777         * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that
5778         made it impossible to override.  Instead, use its XZ_OPT envvar,
5779         defaulting to -9 if not defined.  Thus no change in behavior
5780         when XZ_OPT is not set, and now, this rule honors the setting
5781         of that envvar when it is set.  Suggested by Lasse Collin.
5782         (dist-bzip2): Likewise for it's corresponding envvar: BZIP2.
5783         * NEWS (Miscellaneous changes): Mention it.
5784         * doc/automake.texi (The Types of Distributions): Describe the
5785         newly enabled environment variables.
5786
5787 2010-10-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
5788
5789         Add support for newer python versions.
5790         * m4/python.m4 (AM_PATH_PYTHON): Add python2.7 and python3.2 to
5791         _AM_PYTHON_INTERPRETER_LIST.  Since we are at it, break a long
5792         line and fix indentation.
5793         * THANKS: Updated.
5794         From a report by Thomas Klausner.
5795
5796         Add test for `AM_WITH_DMALLOC' macro.
5797         * tests/dmalloc.test: New test.
5798         * tests/Makefile.am (TESTS): Update.
5799
5800         Fix nits and bugs in tests `help*.test'.
5801         * tests/help4.test: Fix broken sed commands used to strip `-W...'
5802         flags away from "$AUTOMAKE" and "$ACLOCAL".
5803         * tests/help3.test: Likewise, and fix a botched comment.
5804         * tests/help.test: Likewise.  Also, use "AUTOMAKE_fails ..."
5805         instead of "$AUTOMAKE ... && Exit 1", for consistency and to
5806         please maintainer-check.
5807         * tests/help2.test: Likewise.
5808
5809 2010-10-03  Stefano Lattarini  <stefano.lattarini@gmail.com>
5810             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5811
5812         Improve tests `help*.test' (also fixes maintcheck failures).
5813         * tests/help.test: To run automake, use `$AUTOMAKE' with all `-W'
5814         flags stripped away rather than hard-coded `automake-$APIVERSION',
5815         to better honour user-overrides.  Similarly for aclocal.
5816         * tests/help2.test: Likewise.
5817         * tests/help3.test: Likewise.
5818         * tests/help4.test: Likewise.
5819
5820 2010-10-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5821
5822         tests: fix ar-lib.test for echo that interprets backslashes.
5823         * tests/ar-lib.test: Use printf instead of echo.  Avoid test -a.
5824         More robust quoting.
5825
5826 2010-10-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5827
5828         maintainer-check coverage for variables before rules.
5829         * Makefile.am (sc_ensure_testsuite_has_run): Suggest keeping
5830         around the test directories.
5831         (sc_tests_makefile_variable_order): New rule with a heuristic to
5832         catch ordering violations.
5833
5834         Document and fix expansion of variables before rules.
5835         * doc/automake.texi (General Operation): Document that variables
5836         are expanded before rules.
5837         * lib/am/check.am (am__check_post): Reword a bit so it does not
5838         get matched as a rule.
5839         Suggestion by Ben Pfaff.
5840
5841 2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5842
5843         Coverage and minor fixes for variable typo detection.
5844         * automake.in (check_typos): Remove `EXTRA_' prefix when
5845         computing canonical name.
5846         * tests/vartypo2.test, tests/vartypos.test: New tests.
5847         * tests/Makefile.am (TESTS): Update.
5848
5849         Implement EXTRA_maude_DEPENDENCIES for programs and libraries.
5850         * automake.in (handle_programs, handle_libraries)
5851         (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
5852         * doc/automake.texi (Linking, Program and Library Variables)
5853         (LIBOBJS): Document EXTRA_*_DEPENDENCIES.
5854         * lib/am/library.am (%LIBRARY%): Also depend on
5855         $(EXTRA_%XLIBRARY%_DEPENDENCIES).
5856         * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
5857         (%XLTLIBRARY%_DEPENDENCIES).
5858         * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
5859         $(EXTRA_%XPROGRAM%_DEPENDENCIES).
5860         * tests/extradep.test, tests/extradep2.test: New tests.
5861         * tests/Makefile.am (TESTS): Update.
5862         * NEWS: Update.
5863         Suggested by Eric Blake.
5864
5865         tests: avoid running into timing issues due to sanity change.
5866         * tests/acloca10.test, tests/acloca18.test, tests/aclocal9.test:
5867         Insert strategic sleep before aclocal reruns, to ensure files
5868         are newer.
5869         * tests/python11.test: Use --force for repeated autotools runs.
5870         Reports from the NixOS Hydra build daemon via Ludovic Courtès.
5871
5872         Fix timestamp issues by ensuring configure takes at least a second.
5873         * m4/sanity.m4 (AM_SANITY_CHECK): If we didn't sleep here,
5874         start a sleep in the background and wait for it to finish
5875         before creating config.status, hopefully fixing all spurious
5876         testsuite failures involving botched time stamps.
5877         * NEWS: Update.
5878         Reports by Ludovic Courtès, Peter Breitenlohner, and others.
5879
5880 2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5881
5882         Revert "parallel-tests: avoid command-line length limit issue."
5883         This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835,
5884         because it re-opened the bug fixed by v1.11-10-g218e678.
5885
5886         2010-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5887
5888         parallel-tests: avoid command-line length limit issue.
5889         * automake.in (handle_tests): New argument $makefile, new
5890         substitution %MAKEFILE%.
5891         (generate_makefile): Adjust.
5892         * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
5893         sanitized TEST_LOGS value as makefile snippet on standard
5894         input to $(MAKE), to avoid exceeding the command line limit on
5895         w32 (MSYS).
5896         * NEWS: Update.
5897         Report by Bob Friesenhahn.
5898
5899 2010-09-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
5900
5901         Extend tests on `--help' and `--version' options.
5902         * tests/help.test: Create a new empty directory and chdir into
5903         it, rather than removing already present files.  Run the aclocal
5904         and automake wrapper scripts directly, instead of relying on
5905         $AUTOMAKE and $ACLOCAL.  Be sure to correctly match literal dots
5906         in aclocal's and automake's stderr.  Add a trailing `:' command.
5907         * tests/help2.test: New test, checking that options `--help' and
5908         `--version' works in directories with broken `configure.in'.
5909         * tests/help3.test: New test, checking that options `--help' and
5910         `--version' take precedence on the other options.
5911         * tests/help4.test: New test, checking that the first among the
5912         `--help' and `--version' options to be specified on the command
5913         line wins.
5914         * tests/Makefile.am (TESTS): Updated.
5915
5916 2010-09-25  Stefano Lattarini  <stefano.lattarini@gmail.com>
5917
5918         Testsuite: Use `$PATH_SEPARATOR', not `:', when extending PATH.
5919         * tests/compile2.test: Do no uselessly (implicitly) repeat the
5920         computation of PATH_SEPARATOR again.
5921         * tests/instmany-mans.test: Use `$PATH_SEPARATOR', not `:', when
5922         extending/redefining PATH.
5923         * tests/instmany-python.test: Likewise.
5924         * tests/instmany.test: Likewise.
5925         * tests/man4.test: Likewise.
5926         * tests/mkinst3.test: Likewise.
5927         * tests/mmodely.test: Likewise.
5928         * tests/multlib.test: Likewise.
5929         * tests/txinfo30.test: Likewise.
5930         * tests/README (Section "Writing test cases" subsection "Do"):
5931         Updated.
5932         * Makefile.am (sc_tests_PATH_SEPARATOR): New maintainer check.
5933         (syntax_check_rules): Updated.
5934
5935         Testsuite: new variables `$PATH_SEPARATOR' and `$APIVERSION'.
5936         * tests/defs.in ($APIVERSION):  New AC_SUBST'd variable.
5937         ($ACLOCAL, $AUTOMAKE): Use it.
5938         ($PATH_SEPARATOR):  New AC_SUBST'd variables.
5939         ($PATH): Use it.
5940
5941 2010-09-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
5942
5943         Manual: be more agnostic w.r.t. version control system used.
5944         * doc/automake.texi (Basics of Distribution): Also refer to `.svn'
5945         directories as a type of probably-unwanted files that are copied
5946         regardless when adding directories to EXTRA_DIST.
5947         (The dist Hook): Show a dist-hook example which removes Subversion
5948         `.svn' private directories from distdir, rather than CVS private
5949         directories.
5950         (missing and AM_MAINTAINER_MODE): Try to be more agnostic w.r.t.
5951         the version control system used.
5952
5953         Manual: index refer to target "git-dist", not "cvs-dist".
5954         * doc/automake.texi (General Operation): Index the non-standard
5955         example about "git-dist" under the "git-dist" label, not under
5956         the "cvs-dist" one.
5957
5958         Perl modules: remove references to "Automake CVS repository".
5959         * lib/Automake/Channels.pm: Update comments to refer to "Automke's
5960         git repository" rather than to "Automake's CVS repository".
5961         * lib/Automake/Configure_ac.pm: Likewise.
5962         * lib/Automake/FileUtils.pm: Likewise.
5963         * lib/Automake/Struct.pm: Likewise.
5964         * lib/Automake/XFile.pm: Likewise.
5965         * lib/Automake/Version.pm (=head1 DESCRIPTION): Refer to "git
5966         branches" rather than "CVS branches".
5967
5968         Remove obsolete .cvsignore files.
5969         * .cvsignore, doc/.cvsignore, lib/.cvsignore, lib/am/.cvsignore,
5970         lib/Automake/.cvsignore, lib/Automake/tests/.cvsignore,
5971         m4/.cvsignore, tests/.cvsignore: Files deleted.  Even when using
5972         savannah's CVS readonly mirror there's no way to commit back to
5973         the real repository, so this files are not worth maintaining or
5974         keeping around.
5975
5976 2010-09-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
5977
5978         * m4/dmalloc.m4: Bump serial number and copyright years.
5979
5980 2010-09-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
5981
5982         Fix broken link in `AM_WITH_DMALLOC' help screen.
5983         * m4/dmalloc.m4 (AM_WITH_DMALLOC): Refer only to the dmalloc site
5984         `http://www.dmalloc.com', not to the dmalloc tarball there (which
5985         seems to have been removed, substituted by multiple release
5986         tarballs now).
5987
5988 2010-09-21  Peter Rosin  <peda@lysator.liu.se>
5989
5990         compile: implement library search to support MSVC static linking
5991         * lib/compile (func_cl_wrapper): Implement library search and
5992         -static option so that the user can select whether to prefer
5993         dll import libraries or static libraries.  This enables MSVC to
5994         link against dlls generated by libtool without requiring libtool
5995         or workarounds such as -lfoo.dll etc.  Makes the tests/static.at
5996         test case in libtool pass.
5997         * tests/compile3.test: Don't trip up if there happens to exist
5998         a "foo" library in the library search path.
5999         * tests/compile6.test: New test, verifying the library search.
6000         * tests/Makefile.am (TESTS): Update.
6001
6002 2010-09-17  Eric Blake  <eblake@redhat.com>
6003
6004         Avoid triple-space after period.
6005         * automake.in (handle_single_transform): Avoid 3 spaces at
6006         sentence end.
6007         * ChangeLog.03: Likewise.
6008         * lib/Automake/ChannelDefs.pm: Likewise.
6009         * lib/Automake/Channels.pm (_print_message): Likewise.
6010         * lib/Automake/Rule.pm (rule): Likewise.
6011         * lib/Automake/Variable.pm (var): Likewise.
6012         * lib/am/distdir.am: Likewise.
6013         * tests/insthook.test: Likewise.
6014
6015 2010-09-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
6016
6017         Test automake-generated portions of configure help screen.
6018         * tests/help-depend.test: New test.
6019         * tests/help-depend2.test: Likewise.
6020         * tests/help-dmalloc.test: Likewise.
6021         * tests/help-init.test: Likewise.
6022         * tests/help-lispdir.test: Likewise.
6023         * tests/help-maintainer.test: Likewise.
6024         * tests/help-multilib.test: Likewise.
6025         * tests/help-regex.test: Likewise.
6026         * tests/help-silent.test: Likewise.
6027         * tests/help-upc.test: Likewise.
6028         * tests/mmode.test: Remove tests on `configure --help' output,
6029         they are superseded by tests in `help-maintainer.test'.
6030         * tests/Makefile.am (TESTS): Update.
6031
6032 2010-09-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
6033
6034         * tests/README: Don't put GCS mandated tools in $required.
6035
6036 2010-09-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6037
6038         * HACKING: Hint at old commits with `git describe' output.
6039
6040 2010-09-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
6041
6042         Prefer `$(am__cd)' to plain `cd' in our Makefiles.
6043         * Makefile.am (recheck, dist-hook, git-dist, path-check, fetch)
6044         (release-stats): Use `$(am__cd)' rather than plain `cd'.
6045         * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
6046
6047 2010-09-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
6048
6049         Fix regression in test `colon4.test'.
6050         * tests/colon4.test: Fix botched editing to `configure.in'
6051         that made the test useless.  Since we are at it, improve
6052         comments and make grepping of generated Makefile.in slightly
6053         stricter.
6054         Regression introduced by change "Modernize, improve and/or
6055         extend tests `colon*.test" (Stefano Lattarini, 2010-08-08).
6056
6057 2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6058
6059         Do not require "gzip" explicitly in tests.
6060         The gzip utility is simply expected to be present on any decent
6061         target system for Automake.  So it's pointless to put it in
6062         $required.
6063         * tests/install2.test ($required): Do not require "gzip".
6064         * tests/lex3.test: Likewise.
6065         * tests/pr9.test: Likewise.
6066         From a suggestion by Ralf Wildenhues.
6067
6068 2010-09-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
6069
6070         Use AS_HELP_STRING in AM_SILENT_RULES.
6071         * m4/silent.m4 (AM_SILENT_RULES): Use `AS_HELP_STRING' to format
6072         help message regarding configure options `--enable-silent-rules'
6073         and `--disable-silent-rules'.  Also throw in a couple of cosmetic
6074         changes in the related `case' statement (indentation, balancing
6075         of parentheses).
6076         * THANKS: Update.
6077         From a report by Jeff A. Daily.
6078
6079 2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6080
6081         Make some `confh*.test' tests more "semantic" (plus tweakings).
6082         * tests/confh.test: Run "autoconf", "configure" and "make check",
6083         instead of munging/grepping the generated `Makefile.in'.
6084         * tests/confh4.test: Relax the grepping of Makefile.in w.r.t.
6085         white spaces.  Do not create useless dummy source file `foo.c'
6086         and useless dummy header file `acconfig.h'.
6087         (configure.in): Remove superfluous call to `AC_OUTPUT'.
6088         * tests/confh6.test: Add trailing `:' command.
6089         * tests/confh7.test: In comments, add reference to ...
6090         * tests/confh8.test: ... this new test, "semantic" sister
6091         of `confh7.test'.
6092         * tests/Makefile.am (TESTS): Updated.
6093         Prompted by a report from Ralf Wildenhues.
6094
6095 2010-09-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6096
6097         Remove useless whitespace padding in XFAIL_TESTS definition.
6098         * tests/Makefile.am (XFAIL_TESTS): Remove whitespace padding.
6099
6100 2010-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6101
6102         parallel-tests: avoid command-line length limit issue.
6103         * automake.in (handle_tests): New argument $makefile, new
6104         substitution %MAKEFILE%.
6105         (generate_makefile): Adjust.
6106         * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
6107         sanitized TEST_LOGS value as makefile snippet on standard
6108         input to $(MAKE), to avoid exceeding the command line limit on
6109         w32 (MSYS).
6110         * NEWS: Update.
6111         Report by Bob Friesenhahn.
6112
6113         Posix 2008 requires make to set errexit.
6114         * lib/am/check.am: Update comment.
6115
6116 2010-09-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
6117
6118         Tests defs: remove variable $testaclocaldir.
6119         * tests/defs.in ($testaclocaldir): Removed.
6120         * tests/aclocal.test: Use `$top_testsrcdir/m4' directly, not
6121         `$testaclocaldir'.
6122
6123         Tests defs: $srcdir and $top_srcdir renaming.
6124         * tests/defs.in ($srcdir): Remove, define $testsrcdir directly.
6125         * tests/Makefile.am ($(parallel_tests)): Generation of derived
6126         tests updated.
6127
6128         Tests defs: new variable $top_testsrcdir.
6129         * tests/defs.in ($top_testsrcdir): Define unconditionally
6130         to @abs_top_srcdir@.  Use it throughout.
6131         * tests/ar-lib.test: Use `$top_testsrcdir' instead of
6132         `$testsrcdir/..'.
6133         * tests/auxdir.test: Likewise.
6134         * tests/compile.test: Likewise.
6135         * tests/compile2.test: Likewise.
6136         * tests/compile3.test: Likewise.
6137         * tests/compile5.test: Likewise.
6138         * tests/mdate6.test: Likewise.
6139         * tests/mkinst3.test: Likewise.
6140         * tests/multlib.test: Likewise.
6141         * tests/txinfo22.test: Likewise.
6142
6143         Tests defs: $srcdir is unconditionally substituted.
6144         * tests/defs.in ($srcdir): Define unconditionally to @abs_srcdir@.
6145         Remove code for $srcdir normalization, which is now useless.
6146
6147 2010-09-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
6148
6149         Tests defs: make spacing more consistent.
6150         * tests/defs.in: Make spacing more consistent in indentation.
6151         Especially, indent using only spaces, not tabs.  Also, move
6152         a comment to a better position.
6153
6154         Improve code for requiring libtool and gettext in tests.
6155         * tests/defs.in: Stricter (and more correct) detection of wheter
6156         libtool, libtoolize and/or gettext are in $required.
6157
6158
6159 2010-08-27  Stefano Lattarini  <stefano.lattarini@gmail.com>
6160
6161         Fix bug in test missing6.test.
6162         * tests/missing6.test: Fix the hack used to edit `configure.in',
6163         to avoid producing a configure script that breaks with shells
6164         that do not support $LINENO.  Also throw in a couple of cosmetic
6165         changes.
6166
6167 2010-09-02  Peter Rosin  <peda@lysator.liu.se>
6168
6169         Make ar-lib support backslashed files in archives.
6170         * lib/ar-lib: If an archive member contains a backslash, make sure
6171         it is escaped when the archive member is extracted.
6172         * tests/ar-lib.test: Test the above.
6173
6174 2010-08-31  Peter Rosin  <peda@lysator.liu.se>
6175
6176         Do file name conversion for object files in the compile wrapper.
6177         * lib/compile (func_cl_wrapper): Do file name conversion for object
6178         files (i.e. extensions .obj, .OBJ, .o and .O) if needed.
6179         * tests/compile4.test: Test the above.
6180
6181 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6182
6183         Speed up removal of auxiliary linker output files for ltlibraries.
6184         * lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Rewrite using just
6185         one `rm' invocation.
6186         Report by Bob Friesenhahn.
6187
6188         Improve robustness of mdate-sh script.
6189         * lib/mdate-sh: Sanitize zsh behavior on startup, to ensure
6190         $ls_command is word-split properly upon invocation.
6191         (error): New function.
6192         (main): Use it.  Improve error checking to avoid endless loop
6193         in case $ls_command gave bogus output.  Fix eval quotation.
6194         * tests/mdate6.test: New test, to expose eval quotation error.
6195         * tests/Makefile.am: Update.
6196
6197 2010-08-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
6198
6199         Fix potential regressions in depcomp{3,5}.test.
6200         * tests/depcomp3.test: Do not uselessly escape the character `$'
6201         in makefile rules, when it's used to expand a make macro.
6202         * tests/depcomp5.test: Likewise.
6203
6204 2010-08-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
6205             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6206
6207         Docs: clarify how to avoid automatic dependencies tracking.
6208         * doc/automake.texi (Automatic dependency tracking): Mention that
6209         automatic dependencies tracking is enabled by default, but that
6210         the package developer can disable it altogether.  Add a reference
6211         to the proper section for a more in-depth explanation.
6212
6213         Fix typo in manual (`Makefile.in' instead of `Makefile.am').
6214         * doc/automake.texi (Automatic dependency tracking): Fix typo.
6215
6216 2010-08-16  Bruno Haible  <bruno@clisp.org>
6217
6218         Don't hide the table of contents.
6219         * doc/automake.texi: Move the table of contents to the beginning.
6220
6221 2010-08-16  Peter Rosin  <peda@lysator.liu.se>
6222
6223         Optimize compile script on MSYS.
6224         * lib/compile (func_file_conv): Add new argument 'lazy' which
6225         takes an optional list of conversion types where the requested
6226         conversion isn't needed.
6227         (func_cl_wrapper): Take advantage of the above for cases where
6228         MSYS is doing the conversion for us.
6229         Suggested by Ralf Wildenhues.
6230
6231 2010-08-16  Peter Rosin  <peda@lysator.liu.se>
6232
6233         Support more C++ file extensions for MSVC in the compile script.
6234         * lib/compile (func_cl_wrapper): MSVC only recognizes the .cpp
6235         file extension as C++, unless it's given a hint. So hint about
6236         .cc, .CC, .cxx, .CXX, c++ and C++. Also do path conversion on
6237         .c, .cpp, .CPP, .lib, .LIB and .Lib files.
6238         * tests/compile3.test: Test the C++ hinting.
6239
6240 2010-08-12  Peter Rosin  <peda@lysator.liu.se>
6241
6242         Enable the use of "link -lib" as the wrapped archiver.
6243         * lib/ar-lib: Enable the use of "link -lib" as the wrapped
6244         archiver, as well as allowing some other options to be passed
6245         through to the wrapped archiver.
6246         * tests/ar-lib.test: Test the above.
6247
6248 2010-08-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
6249
6250         Tweak and/or extend some `acloca*.test' tests.
6251         * tests/aclocal8.test:  Ensure verbose printing of captured
6252         output.
6253         * tests/aclocal.test: Likewise.  Also, add trailing `:'
6254         command.
6255         * tests/acloca19.test: Likewise.
6256         * tests/aclocal5.test: Add trailing `:' command, and prefer
6257         `$me' over hard-coded test name.
6258         * tests/aclocal6.test: Likewise.
6259         * tests/aclocal18.test: Add trailing `:' command, and make
6260         some grepping slightly stricter.
6261         * tests/acloca14.test: Likewise.  Also, prefer `diff' over
6262         `cmp', and add some "cosmetic" blank lines.
6263
6264 2010-08-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
6265
6266         Tweak and extend tests `pr[!0-9]*.test'.
6267         * tests/primary3.test: Add trailing `:' command.
6268         * tests/primary.test: Make grepping of Automake's stderr stricter.
6269         Also, add trailing `:' command, and cosmetic changes in spacing.
6270         * tests/primary2.test: Likewise.
6271         * tests/prefix.test: Enable `errexit' shell flags, and related
6272         changes.  Add a trailing `:' command.
6273         * tests/proginst.test: Likewise.
6274
6275         Modernize, improve and extend tests for PR (`pr[0-9]*.test').
6276         * tests/pr2.test: Add trailing `:' command.
6277         * tests/pr229.test: Likewise.
6278         * tests/pr401.test: Likewise.
6279         * tests/pr401b.test: Likewise.
6280         * tests/pr401c.test: Likewise.
6281         * tests/pr300-prog.test: Likewise, plus cosmetic changes in
6282         spacing.
6283         * tests/pr300-lib.test: Likewise.
6284         * tests/pr300-ltlib.test: Likewise, and ensure verbose printing
6285         of captured make stdout.
6286         * tests/pr211.test: Add trailing `:' command.  Also, use the
6287         `configure.in' stub created by ./defs, rather than writing it
6288         from scratch.
6289         * tests/pr204.test: Likewise, plus cosmetic spacing changes.
6290         * tests/pr287.test: Likewise, and move setting of `errexit' shell
6291         flag earlier in the script (just after inclusion of ./defs).
6292         * tests/pr220.test: Make grepping of Automake's stderr stricter.
6293         Also, add trailing `:' command, and cosmetic changes in spacing.
6294         * tests/pr224.test: Move setting of `errexit' shell flag earlier
6295         in the script (just after inclusion of ./defs).  Do not export
6296         `CC=gcc' to configure explicitly (it's already exported globally
6297         in ./defs, since we have "gcc" in $required).  Use the stub for
6298         `configure.in' created by ./defs, rather than writing it from
6299         scratch.  Do not create dummy files required by "gnu" mode (e.g.
6300         README, NEWS), since we run automake in foreign mode anyway.
6301         * tests/pr72.test: Enable `errexit' shell flags, and related
6302         changes.  Extend existing checks a bit.
6303         * tests/pr9.test: Likewise.  Also, avoid obsolescent constructs in
6304         the generated `configure.in', and extend existing checks over the
6305         generated tarball a bit.
6306         * tests/pr87.test: Enable `errexit' shell flags, and related
6307         changes.  Add a trailing `:' command.  Also, do not create dummy
6308         files required by "gnu" mode (e.g. README, NEWS), since we run
6309         automake in foreign mode anyway.
6310         * tests/pr243.test: Avoid obsolescent constructs in the generated
6311         `configure.in'.  Enable the `errexit' shell flag, and related
6312         changes.  Cosmetic changes to spacing, add trailing `:' command,
6313         and add a "FIXME" comment.
6314         * tests/pr266.test: Likewise, and add explicit command line switch
6315         `--enable-dependency-tracking' to the ./configure call.
6316         * tests/pr279.test: Avoid obsolescent constructs in the generated
6317         `configure.in'; also, use the `configure.in' stub created by
6318         ./defs, rather than writing it from scratch.  Enable `errexit'
6319         shell flag, and related changes.  Add trailing `:' command.
6320         * tests/pr279-2.test: Likewise, and make grepping of Makefile.in
6321         stricter.
6322         * tests/pr307.test: Move setting of `errexit' shell flag earlier
6323         in the script (just after inclusion of ./defs).  Escape literal
6324         dots in grep regular expressions.  Also, add a trailing `:'
6325         command, and cosmetic changes to spacing.
6326
6327         Tests for PR: add excerpts from original bug report, for clarity.
6328         * tests/pr2.test: Ditto.
6329         * tests/pr9.test: Likewise.
6330         * tests/pr72.test: Likewise.
6331         * tests/pr87.test: Likewise.
6332         * tests/pr211.test: Likewise.
6333         * tests/pr220.test: Likewise.
6334         * tests/pr224.test: Likewise.
6335         * tests/pr229.test: Likewise.
6336         * tests/pr243.test: Likewise.
6337         * tests/pr266.test: Likewise.
6338         * tests/pr279.test: Likewise, and tell to keep it in sync
6339         with its sister test.
6340         * tests/pr279-2.test: Likewise.
6341
6342 2010-08-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
6343
6344         Tweak, extend and improve tests `cond[a-z]*.test'.
6345         * tests/condd.test: Add trailing `:' command.  Typofix in
6346         comment.
6347         * tests/condhook.test: Make sure target `install-data-hook' is
6348         not called by `make install', but that data files are installed.
6349         Use proper m4 quoting in configure.in. Add trailing `:' command.
6350         * tests/condhook2.test: New test, sister test of condhook, with
6351         inverted semantic.
6352         * tests/condinc2.test: Use proper m4 quoting in configure.in.
6353         Prefer trailing `:' command over trailing `Exit 0'.
6354         * tests/condman2.test: Enable errexit shell flag, and related
6355         changes.  Add trailing `:' command.
6356         * tests/condman.test: Likewise.  Also, do not create useless
6357         dummy manpages, and use proper m4 quoting in configure.in.
6358         * tests/condman3.test: New test, similar to condman.test, but
6359         it also runs ./configure and "make install", and check the
6360         installed files.
6361         * tests/Makefile.am (TESTS): Updated.
6362
6363         Modernize, improve and/or extend tests `colon*.test.
6364         * tests/colon.test: Rely on the `configure.in' stub created by
6365         `./defs', rather than writing one from scratch.  Do not create
6366         a useless dummy file.  Add trailing `:' command.
6367         * tests/colon4.test: Enable the `errexit' shell flag, and
6368         related changes.  Rely on the `configure.in' stub created by
6369         `./defs', rather than writing one from scratch.
6370         * tests/colon7.test: Enable `errexit' shell flag, and related
6371         changes.  Improve the generated `configure.in' file.  Add
6372         trailing `:' command.
6373         * tests/colon2.test: Likewise.  Also, add some new checks.
6374         * tests/colon5.test: Improve the generated `configure.in' file.
6375         Add new, much deeper checks.  Add trailing `:' command.
6376         * tests/colon6.test: Likewise.
6377         * tests/colon3.test: Add trailing `:' command.  Remove useless
6378         comments and echos.  Improve the generated `configure.in' file.
6379         make some grepping tests stricter.  Add a "FIXME" comments about
6380         planned improvements.
6381
6382         Improve and extend tests `asm*.test'.
6383         * tests/asm.test: Use configure.in stub generated by ./defs,
6384         and avoid obsoleted autoconf constructs.  Make grepping of
6385         Automake stderr stricter.  Do not create useless source file.
6386         Improve verbose messages.  Minor cosmetic changes.  Tell to
6387         keep it in sync with other sister tests asm*.test.
6388         * tests/asm2.test: Likewise.
6389         * tests/asm3.test: Likewise.
6390
6391         Modernize, improve and/or extend test scripts `conf*.test'.
6392         * tests/confh5.test: Cosmetic changes.
6393         * tests/conff.test: Likewise.
6394         * tests/confdeps.test: Likewise.
6395         * tests/conflnk.test: Likewise.
6396         * tests/conflnk2.test: Likewise.
6397         * tests/confsub.test: Likewise.
6398         * tests/confvar.test: Likewise, and make grepping of Makefile.in
6399         stricter.
6400         * tests/confvar2.test: Likewise.
6401         * tests/conflnk3.test: Cosmetic changes.  Re-enable a temporarily
6402         disabled test (which didn't work with autoconf <= 2.59, but now we
6403         are requiring autoconf 2.62, so...)
6404         * tests/conflnk4.test: Cosmetic changes, and extend existing tests
6405         accordingly to "TODO" comments.
6406         * tests/conff2.test: Make grepping of Automake's stderr stricter.
6407         Add some comments explaining why we don't use the `configure.in'
6408         stub preset be ./defs.
6409         * tests/confh.test: Use the `configure.in' stub created by ./defs,
6410         rather than writing one from scratch, and do not call AC_OUTPUT.
6411         Enable `errexit' shell flag, and related changes.  Prefer diff over
6412         cmp to compare text files. Prefer perl over sed to fetch the value
6413         of $(DIST_COMMON) from Makefile.in.  Make grepping of the contents
6414         of $(DIST_COMMON) stricter.
6415         * tests/confh4.test: Use the `configure.in' stub created by ./defs,
6416         rather than writing one from scratch.  Make grepping of Makefile.in
6417         stricter.
6418         * tests/confh5.test: Make grepping of `config.h' stricter.  Add a
6419         comment.
6420         * tests/configure.test: Avoid obsolescent constructs in generated
6421         `configure.ac'.  Do not write `configure.in' two times.  Escape
6422         literal dots in grep regular expressions.
6423         * tests/confincl.test:  Enable `errexit' shell flag, and related
6424         changes.  Prefer fgrep over grep.  Other cosmetic changes.
6425         * tests/config.test: Renamed to ...
6426         * tests/confh6.test: ... this.  Fix m4 quoting in `configure.in',
6427         and make grepping of `config.h' and `config.h.in' stricter.
6428         * tests/conf2.test: Renamed ...
6429         * tests/confh7.test: ... to this.  Use the `configure.in' stub
6430         created by ./defs, rather than writing one from scratch.  Try to
6431         run the checks both with and without AC_PROG_CC and AC_OUTPUT in
6432         `configure.in'.
6433         * tests/Makefile.am (TESTS): Updated.
6434
6435         Minor improvements and fixes in tests `depcomp*.test'.
6436         * tests/depcomp.test: Do not create useless dummy source files.
6437         Add a trailing `:' command.
6438         * tests/depcomp2.test: Use `unset' on the CFLAGS variable to ensure
6439         it's not in in the environment, rather than exporting it with an
6440         empty value.  Do not pass CC=gcc to configure, as that's already
6441         done in ./defs since we have gcc in $required.  Ensure verbose
6442         printing of captured stderr, and normalize its checking.  Add a
6443         trailing `:' command.
6444         * tests/depcomp3.test: Quote literal dots and dollar characters in
6445         grep regexps.  Always use `: >' rather than `touch' to create empty
6446         files.  Explicitly declare phony targets as such in the created
6447         Makefile.am.  Add a trailing `:' command.
6448         * tests/depcomp4.test: Quote literal dots and dollar characters in
6449         grep regexp.  Explicitly declare phony targets as such in the
6450         created Makefile.am.  Ensure verbose printing of captured makes'
6451         stoud/stderr.  Add a trailing `:' command.
6452         * tests/depcomp5.test: Move setting of `errexit' shell flag earlier
6453         in the script (just after inclusion of ./defs).  Quote literal dots
6454         and dollar characters in grep regexps.  Explicitly declare phony
6455         targets as such in the created Makefile.am.  Add a trailing `:'
6456         command.
6457         * tests/depcomp6.test: Consistently use m4 quoting in the generated
6458         configure.in.  Cosmetic fixes to spacing.  Make the "dummy" `if'
6459         statement required by OpenBSD's sh `set -e' more robust, and add
6460         explanatory comments to it.
6461         * tests/depcomp7.test: Likewise, and add  a trailing `:' command.
6462
6463         Separate failing part of test `all.test'.
6464         * tests/all.test: Keep only (x)failing part of the test.  Working
6465         checks moved out to ...
6466         * tests/all2.test: ... this new test.
6467         * tests/Makefile.am (TESTS): Updated.
6468
6469         Modernize, improve and extend tests `subobj*.test'.
6470         * tests/subobjname.test:  Add trailing `:' command.
6471         * tests/subobj.test: Make grepping of `Makefile.in' stricter.
6472         Escape literal dots in grep regexps.
6473         * tests/subobj2.test:  Add trailing `:' command.  Do not use the
6474         unportable fgrep option `-e'.
6475         * tests/subobj3.test: Add trailing `:' command.
6476         (configure.in): Use proper m4 quoting, and avoid obsolescent
6477         constructs.
6478         * tests/subobj8.test: Likewise.  Also, enable `errexit' shell
6479         flag, with related changes
6480         * tests/subobj4.test: Likewise.  Also, make grepping of
6481         `Makefile.in' stricter.
6482         * tests/subobj5.test: Add trailing `:' command.  Move setting of
6483         `errexit' shell flag earlier in the script (just after inclusion
6484         of ./defs).
6485         (configure.in): Use the stub created by `./defs', rather than
6486         writing it from scratch, and avoid obsolescent constructs.
6487         * tests/subobj6.test: Add trailing `:' command.  Move setting of
6488         `errexit' shell flag earlier in the script (just after inclusion
6489         of ./defs).  Do not create useless dummy ac-init file `f'.
6490         * tests/subobj7.test: Do not create useless dummy ac-init file
6491         `f'.
6492         (configure.in): Use the stub created by `./defs', rather than
6493         writing it from scratch, and avoid obsolescent constructs.
6494         * tests/subobj9.test: Move setting of `errexit' shell flag earlier
6495         in the script (just after inclusion of ./defs).  Fail the test if
6496         `make distcheck' fails.  Ensure verbose printing of captured make
6497         stdout.  Avoid useless fork by doing simple grep instead of using
6498         test -n "`COMMAND | grep ...`".
6499         (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
6500         (Makefile.am): Explicitly mark target "print" as phony.
6501         * tests/subobj10.test: Removed duplicated call to `set -e'.  Add
6502         trailing `:' command.
6503         (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
6504
6505         Remove a couple of obsoleted tests.
6506         * tests/fpinstall.test: Removed.
6507         * tests/fpinst2.test: Likewise.
6508         * tests/Makefile.am (TESTS): Updated.
6509
6510         Bootstrap: updated HACKING entry.
6511         * HACKING ("Working with git"): Explain how to override the
6512         autoconf and autom4te programs used by the bootstrap process.
6513
6514         Bootstrap: fixlet.
6515         * bootstrap: Do not remove `lib/Automake/Config.pm' anymore,
6516         since we don't generate it.  Correctly quote arguments of
6517         `eval' builtin.  Fixed a botched error message.  Removed an
6518         extra blank line.
6519
6520         Bootstrap: don't search perl in $PATH.
6521         * bootstrap: Do not explicitly search perl in $PATH anymore.
6522         ($PATH_SEPARATOR): Removed, it's no more needed.
6523
6524         Bootstrap: let the user choose which autoconf to use.
6525         * bootstrap ($AUTOCONF): New variable, from the environment.
6526         ($AUTOM4TE): Likewise, for clarity.
6527         Use "$AUTOCONF" instead of calling "autoconf" directly.
6528
6529         Minor improvements to tests ar*.test.
6530         * tests/ar.test: Add trailing `:' command.
6531         * tests/ar2.test: Likewise, and make grepping of generated
6532         Makefile.in stricter.
6533
6534 2010-08-06  Peter Rosin  <peda@lysator.liu.se>
6535
6536         Add new auxiliary 'ar-lib' script, wrapping Microsoft lib.
6537         * lib/ar-lib: New auxiliary script.
6538         * lib/Makefile.am: Add above.
6539         * tests/ar-lib.test: New test.
6540         * tests/Makefile.am: Add above.
6541         * automake.in (@common_files): Distribute the 'ar-lib' script.
6542         * doc/automake.texi (Auxiliary Programs): Mention the new
6543         'ar-lib' script.
6544         (Optional): Mention 'ar-lib' in AC_CONFIG_AUX_DIR.
6545         * NEWS: Update.
6546
6547 2010-08-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6548
6549         Fix shell pattern negation in compile script.
6550         * lib/compile (func_file_conv): Use `!' not `^' for pattern
6551         negation.
6552
6553 2010-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6554
6555         Fix maintainer-check failure.
6556         * tests/cond5.test: Quote sleep argument, this isn't about
6557         time stamp differences.
6558
6559         Sync auxiliary files from upstream.
6560         * lib/config.guess, lib/config.sub, lib/texinfo.tex:
6561         Sync from upstream.
6562
6563 2010-08-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
6564
6565         Work around a nasty bug (segfault) of Solaris make.
6566         * lib/am/check.am (recheck, recheck-html): Trim trailing spaces
6567         from $list, to avoid triggering a nasty bug (potential segfault)
6568         on Solaris make.
6569
6570 2010-08-06  Peter Rosin  <peda@lysator.liu.se>
6571
6572         Make cond5.test more robust on MSYS.
6573         * tests/cond5.test: Add delay before the first kill attempt to
6574         cater for problems with MSYS bash.
6575
6576 2010-08-01  Peter Rosin  <peda@lysator.liu.se>
6577
6578         Wrap some MSVC options in the compile script.
6579         * lib/compile: MSVC supports naming the output file, the option
6580         is just not called -o, so transform -o into the appropriate form
6581         for MSVC. Also wrap some other options while at it (-L, -l, -Wl,
6582         -Xlinker and -I) and convert file names to windows form where
6583         needed for those options to make MSVC more usable in an
6584         autotooled environment.
6585         * doc/automake.texi (Auxiliary Programs): Document the above
6586         extension of the compile script.
6587         * NEWS: Updated.
6588         * tests/defs.in: New required entry 'cl'.
6589         * tests/compile3.test: New test.
6590         * tests/compile4.test: New test.
6591         * tests/compile5.test: New test.
6592         * tests/Makefile.am: Update.
6593
6594 2010-07-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6595
6596         Add example git work flow; discuss merge --log in HACKING.
6597         * HACKING: Update.
6598         Suggestion by Stefano Lattarini.
6599
6600         Add more hints for debugging make rules.
6601         * doc/automake.texi (Debugging Make Rules): Show command to find
6602         out expanded values of variables; point to makefile debugger.
6603         * THANKS: Update.
6604         Prompted by suggestion from Ludovic Courtès and Andy Wingo.
6605
6606 2010-07-27  Patrick Welche  <prlw1@cam.ac.uk>  (tiny change)
6607
6608         Fix typo in the manual.
6609         * doc/automake.texi (Scripts): Fix typo.
6610
6611 2010-07-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6612
6613         Document current policy for development with git.
6614         * HACKING (Working with git): Overhaul.
6615         Prompted by suggestion from Stefano Lattarini.
6616
6617         Fix AM_COND_IF for gone-invalid condition shell expression.
6618         * m4/cond-if.m4 (AM_COND_IF): test contents of $COND_TRUE
6619         variable, rather than re-evaluating the shell expression for
6620         the condition.
6621         * tests/cond40.test: Extend test.
6622         * NEWS: Update.
6623
6624         Avoid syntax error if IF-TRUE part of AM_COND_IF expands empty.
6625         * m4/cond-if.m4 (AM_COND_IF): Ensure IF-TRUE part is never empty
6626         to avoid shell syntax error if the m4 expansion is empty.
6627         * tests/cond40.test: Enhance test.
6628
6629         Coverage: bogus option to AM_INIT_AUTOMAKE.
6630         * tests/init2.test: New test.
6631         * tests/Makefile.am: Update.
6632
6633 2010-07-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
6634
6635         Modernize and improve test scripts `subdir*.test'.
6636         * tests/subdir.test: Enable `errexit' shell flag, and related
6637         changes.  Use the `configure.in' stub created by `./defs',
6638         rather than writing one from scratch.
6639         * tests/subdir2.test: Likewise.
6640         * tests/subdir4.test: Likewise.
6641         * tests/subdir3.test: Enable `errexit' shell flag, and related
6642         changes.  Do not create useless dummy source files.
6643         * tests/subdir5.test: Make grepping of Makefile.in (in topdir
6644         and in subdirs) stricter.  Some minor changes to keep it more
6645         in sync with the related test `subdir8.test'.
6646         * tests/subdir8.test: Likewise (but with the related test being
6647         `subdir5.test' here).
6648         * tests/subdir6.test: Cosmetic change in spacing.
6649         * tests/subdir9.test: Define and use new variable `$distdir'.  Add
6650         trailing `:' command.
6651         * tests/subdir10.test: Cosmetic consistency-related change.
6652         * tests/subdirbuiltsources.test: Cosmetic changes in spacings.
6653         (configure.in): Use stub created by `./defs', rather than writing
6654         it from scratch.  Do not use obsoleted and/or deprecated forms of
6655         autoconf/automake macros.
6656
6657         Modernize and improve test scripts `dist*.test'.
6658         * tests/distcleancheck.test: Do not add useless `-e' option to
6659         a $MAKE call.  Extend test by grepping stderr of make.
6660         * tests/distcom2.test: Do not run the same test script on the
6661         Makefile.in twice, but save its output in an intermediate file
6662         instead.  Make grepping of DIST_COMMON definition stricter.
6663         Display the content of more files, to ease debugging.  Add a
6664         trailing `:' command.  Improved heading comments w.r.t. sister
6665         test(s).
6666         * tests/distcom6.test: Likewise, and avoid to uselessly run
6667         autoconf.
6668         * tests/distcom3.test: Ensure verbose printing of captured stdout
6669         and stderr.  Make grepping of captured stderr stricter.  Also,
6670         add trailing `:' command.
6671         * tests/distcom4.test: Declare the target `test' in the generated
6672         Makefile.am as `.PHONY'.  Display content of more files, to ease
6673         debugging.  Add trailing `:' command.
6674         * tests/distcom5.test: Likewise.  Also, factor out common sed
6675         script in subroutine `extract_distcommon'.
6676         * tests/distcom7.test: Prefer cat + here-doc over echo to write
6677         test Makefile.am files.  Add a trailing `:' command.
6678         * tests/distname.test: Prefer `gzip -d' over `gunzip'.  Move the
6679         call to `set -e' earlier.  Be stricter and more verbose in the
6680         checking of the generated tarball.
6681         (configure.in): Use the stub provided by ./defs, instead of
6682         writing it from scratch.  Avoid obsoleted constructs.  Remove
6683         useless call to `AM_PROG_CC_C_O'.
6684         * tests/distdir.test: Various minor improvements/normalizations.
6685         * tests/distlinks.test: Likewise.
6686
6687 2010-07-18  Stefano Lattarini  <stefano.lattarini@gmail.com>
6688
6689         Improve and extend test cond5.test.
6690         * tests/cond5.test: Do not blindly sleep 60 seconds before polling
6691         the background automake process, but poll it every 10 seconds for
6692         at most 30 times (this makes the test both faster on good machines,
6693         and more resilient to spurious timeout-due failures when in low
6694         priority or on heavily-loaded systems).
6695         Check also that automake writes the expected error messages on the
6696         standard error.
6697         Enable `errexit' flag, and related changes.
6698         Rely on the `configure.in' stub created by `./defs', rather than
6699         writing one from scratch.
6700
6701 2010-06-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6702
6703         Update program --help output to match current GCS.
6704         * configure.ac: Set and substitute PACKAGE_URL if AC_PACKAGE_URL
6705         is not defined, for compatibility to Autoconf < 2.64.
6706         * Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT and
6707         PACKAGE_URL.
6708         (sc_diff_automake_in_automake): Update number of diff lines for
6709         additional substitutions.
6710         * aclocal.in (usage): Use PACKAGE_BUGREPORT.  Point to Automake
6711         home page and GNU general help page.
6712         * automake.in (usage): Likewise.
6713         * doc/automake.texi: New flag PACKAGE_BUGREPORT, to factor email
6714         address.
6715         (Introduction, Creating amhello, amhello Explained, Options):
6716         Use it throughout.
6717         * lib/Automake/Makefile.am (do_subst): Substitute
6718         PACKAGE_BUGREPORT.
6719         * lib/Automake/Config.in ($PACKAGE_BUGREPORT): New global.
6720         * lib/Automake/ChannelDefs.pm: Use it for footer of fatal
6721         messages.
6722
6723         Clean up @var handling in the manual.
6724         * doc/automake.texi: Throughout the manual, lower-case @var
6725         names, replace a few one-character names.
6726
6727 2010-06-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
6728
6729         Fix typo-related bug in test script silent5.test.
6730         * tests/silent5.test: Use $EGREP, not $GREP (which is not even
6731         defined).
6732
6733         Tests: remove useless repetitions of `foreign' automake option.
6734         * tests/multlib.test (configure.in): Remove useless use of
6735         `foreign' option in AM_INIT_AUTOMAKE (the `--foreign' option is
6736         already in $AUTOMAKE by default, so no point in repeating it).
6737         * tests/subobj10.test: Likewise.
6738         * tests/subobj9.test: Likewise.
6739         * tests/lex3.test (Makefile.am): Similarly, remove useless use
6740         of `foreign' option in AUTOMAKE_OPTIONS.
6741         * tests/lex5.test: Likewise.
6742         * tests/pr279.test: Likewise.
6743         * tests/pr279-2.test: Likewise.
6744         * tests/specflg3.test: Likewise.
6745         * tests/target-cflags.test: Likewise.
6746
6747         Drop useless requirement "gzip" in lex5.test.
6748         * tests/lex5.test ($required): Do not list "gzip", as it's
6749         never used.
6750
6751 2010-06-24  Stefano Lattarini  <stefano.lattarini@gmail.com>
6752
6753         Fix bugs in test script silent5.test.
6754         * tests/silent5.test: Fixed a nasty bug (due to the use of grep
6755         instead of egrep) that could have led to false negatives.
6756
6757 2010-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
6758
6759         Add a test checking that distributed broken symlinks cause
6760         `make dist' to fail.
6761         * tests/distlinksbrk.test: New test.
6762         * tests/Makefile.am (TESTS): Updated.
6763
6764 2010-06-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6765
6766         Fix minor testsuite issues, update docs, for Yacc/Lex changes.
6767         * doc/automake.texi (Yacc and Lex): Mention AM_YFLAGS, YFLAGS
6768         and AM_LFLAGS, LFLAGS in the order in which they now appear in
6769         the rules.
6770         * NEWS: Update.
6771         * tests/lflags.test, tests/lflags2.test, tests/yflags.test,
6772         tests/yflags2.test: Prefer `make -e' over `make VAR=VAL', to
6773         please maintainer-check.  Ensure generated C files contain a
6774         declaration, to please compilers.
6775
6776 2010-06-21  Stefano Lattarini  <stefano.lattarini@gmail.com>
6777
6778         Fix bugs in Automake Yacc/Lex support w.r.t. $(AM_FLAGS) and
6779         $(FLAGS) precedence.
6780         * automake.in: Fix registration of languages "Lex", "Lex (C++)",
6781         "Yacc" and "Yacc (C++)", so that $(LFLAGS) has precedence over
6782         $(AM_LFLAGS) and $(YFLAGS) has precedence over $(AM_YFLAGS).
6783         * tests/Makefile.am (XFAIL_TESTS): Updated accordingly.
6784         * NEWS: Updated.
6785
6786         New tests, exposing bugs in Automake Yacc/Lex support w.r.t.
6787         $(AM_FLAGS) and $(FLAGS) precedence.
6788         * tests/lflags.test: New test, check that user $(LFLAGS) takes
6789         precedence over automake (AM_LFLAGS) and (foo_LFLAGS).  Still
6790         xfailing.
6791         * tests/lflags2.test: Likewise.
6792         * tests/yflags.test: New test, check that user $(YFLAGS) takes
6793         precedence over automake (AM_YFLAGS) and (foo_YFLAGS).  Still
6794         xfailing.
6795         * tests/yflags2.test: Likewise.
6796         * tests/Makefile.am (TESTS, XFAIL_TESTS): Extended accordingly.
6797
6798 2010-06-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
6799
6800         Modernize, improve and extend tests `suffix*.test'.
6801         * tests/suffix3.test: Enable `errexit' shell flag, and related
6802         changes.
6803         * tests/suffix4.test: Likewise.
6804         * tests/suffix6.test: Likewise, and do not create a useless dummy
6805         source file.
6806         * tests/suffix7.test: Likewise.
6807         * tests/suffix5.test: Enable `errexit' shell flag, and related
6808         changes.  Make grepping of Makefile.in slightly stricter.
6809         * tests/suffix.test: Enable `errexit' shell flag, and related
6810         changes.  Also, do not redirect grep output to /dev/null, as this
6811         might unmotivatedly hide useful information.
6812         * tests/suffix2.test: Move setting of `errexit' shell flag earlier
6813         in the script (just after inclusion of ./defs).  Use a more
6814         idiomatic way to count text occurrences in Makefile.in with
6815         grep.  Do not create useless dummy source files.
6816         * tests/suffix10.test: Ensure verbose printing of captured make
6817         stdout.  Minor cosmetic changes.
6818         * tests/suffix8.test: Likewise.  Also, drop useless call to the
6819         env(1) utility, and make grepping of make output stricter by using
6820         $FGREP rather than plain grep.
6821         * tests/suffix11.test: Likewise.
6822         * tests/suffix12.test: Likewise.
6823         * tests/suffix9.test: Prefer cat + here-doc over echo to append to
6824         the `configure.in' stub.  Cosmetic changes.
6825         * tests/suffix13.test: Cosmetic spacing change.
6826
6827 2010-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6828
6829         Add useful comment in test script ext.test.
6830         * tests/ext.test: Add a comment explaining why an apparently
6831         useless `if' statement is indeed required.
6832
6833 2010-06-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
6834
6835         Add useful comment in test script obsolete.test.
6836         * tests/obsolete.test: Add a comment explaining why we need
6837         an indirection in adding $AUTOUPDATE to $required.
6838
6839         Normalize whitespaces in 'tests/Makefile.am'.
6840         * tests/Makefile.am (TESTS): Use only spaces, not tabs, in the
6841         definition of this variable.
6842
6843         Parallel tests generation: improve comments (tiny change).
6844         * tests/Makefile.am ($(parallel_tests)): Added useful comment to
6845         generated tests.
6846
6847         Tests defs: truly get rid of `$am_defs_included' (unused variable)
6848          * tests/defs.in ($am_defs_included): Remove, its now unused.  It
6849         should have been removed in a previous changeset, but the removal
6850         was done only partially (oversight).
6851
6852 2010-06-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6853
6854         Remove a couple of unneeded conditionals from tests.
6855         * tests/pr243.test, tests/pr266.test, tests/strip.test: No need
6856         for the FOOTEST conditional.
6857
6858 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
6859
6860         Modernize, improve and/or fix various test scripts.
6861         * tests/symlink3.test: Deleted, separated into two new, more
6862         complete tests ...
6863         * tests/forcemiss.test: ... this one ...
6864         * tests/forcemiss2.test: ... and this one.
6865         * tests/symlink2.test: Enable `errexit' shell flag, make test
6866         stricter, and skip it if symlink creation is not supported.
6867         * tests/postproc.test: Enable `errexit' shell flag, related
6868         changes, and a couple of unrelated cosmetic changes.
6869         * tests/recurs.test: Use the `configure.in' stub created by
6870         `./defs', rather than writing one from scratch.  Make grepping
6871         of Automake stderr slightly stricter.
6872         * tests/substtarg.test: Likewise.
6873         * tests/strip.test: Likewise, and move the call to `set -e'
6874         earlier (just after the inclusion of `./defs'). Also, make sure
6875         that the script installed by `make install-script' is equal to
6876         the original one.
6877         * tests/substref.test: Use the `configure.in' stub created by
6878         `./defs', rather than writing one from scratch.  Move the call
6879         to `set -e' earlier (just after the inclusion of `./defs').
6880         Avoid to explicitly export CC for configure (that's already done
6881         in ./defs).  Avoid potential problems with unpredictable make
6882         output.  Finally, make grepping of Makefile.in stricter.
6883         * tests/substre2.test: Ensure verbose printing of the captured
6884         make's output, and make its grepping slightly stricter.
6885         * tests/cygwin32.test: Enable `errexit' shell flag, and related
6886         changes.  Also, do not create useless dummy source/data files.
6887         * tests/scripts.test: Likewise.
6888         * tests/recurs2.test: Likewise.  Also, use the `configure.in'
6889         stub created by `./defs'.
6890         * tests/Makefile.am (TESTS): Updated.
6891
6892         Modernize, improve and/or fix tests `pluseq*.test.
6893         * tests/pluseq5.test: Append to configure.in using cat with an
6894         here-doc, not using echo.
6895         * tests/pluseq10.test: Make sure that the captured output of
6896         `make' command is always displayed. Where possible, use $FGREP
6897         instead of grep (this change makes some checks slightly stricter).
6898         * tests/pluseq8.test: Enable `errexit' shell flag, with related
6899         changes.
6900         * tests/pluseq.test: Likewise.  Also, do not create useless dummy
6901         data files, and use better m4 quoting in generated configure.in.
6902         * tests/pluseq2.test: Likewise.  Also, append to configure.in
6903         using cat with an here-doc, not using echo.
6904         * tests/pluseq3.test: Likewise.
6905         * tests/pluseq4.test: Likewise.
6906         * tests/pluseq6.test: Likewise.
6907         * tests/pluseq7.test: Do not create useless dummy source file.
6908         * tests/pluseq9.test: Slightly extended w.r.t. the grepping of
6909         Automake stderr.  Some unrelated cosmetic changes.
6910
6911 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
6912
6913         cscope.test: ensure verbose printing of captured stderr.
6914         * tests/cscope.test: Print captured stderr before failing.
6915
6916 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
6917
6918         Testsuite: ensure verbose printing of captured stderr.
6919         * tests/acloca18.test: Print captured stderr before either failing
6920         or grepping it.  Be sure to send captured stderr to stderr, not to
6921         stdout.
6922         * tests/ansi3b.test: Likewise.
6923         * tests/cond39.test: Likewise.
6924         * tests/configure.test: Likewise.
6925         * tests/missing3.test: Likewise.
6926         * tests/missing6.test: Likewise.
6927         * tests/output-order.test: Likewise.
6928         * tests/pr300-ltlib.test: Likewise.
6929         * tests/python6.test: Likewise.
6930         * tests/python7.test: Likewise.
6931         * tests/python8.test: Likewise.
6932         * tests/python9.test: Likewise.
6933         * tests/subobj.test: Likewise.
6934         * tests/vars3.test: Likewise.
6935         * tests/missing4.test: Likewise, and fix a call to grep not to use
6936         the `-c' flag.
6937         * tests/ansi3.test: Likewise, and rely on the `configure.in' stub
6938         created by `./defs', rather than writing one from scratch.
6939
6940         Enable `errexit' shell flag in various tests.
6941         * tests/backsl.test: Enable the `errexit' shell flag, and
6942         related changes.
6943         * tests/backsl2.test: Likewise.
6944         * tests/block.test: Likewise.
6945         * tests/canon2.test: Likewise.
6946         * tests/canon4.test: Likewise.
6947         * tests/comment2.test: Likewise.
6948         * tests/condlib.test: Likewise.
6949         * tests/cond15.test: Likewise, and prefer $FGREP over grep.
6950         * tests/canon3.test: Likewise.  Also, avoid to create an useless
6951         dummy source file.
6952         * tests/acoutpt2.test: Enable the `errexit' shell flag, and some
6953         related changes.  Do some cosmetic improvements in the generated
6954         `configure.in' file.
6955         * tests/cond4.test: Likewise.
6956         * tests/cond14.test: Likewise.
6957         * tests/condinc.test: Likewise.
6958         * tests/cond7.test: Likewise.  Also, remove useless setting of
6959         AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am.
6960         * tests/ansi.test: Enable the `errexit' shell flag, and related
6961         changes.  Extended, esp. by running autoconf, ./configure and
6962         make, and by looking into the distdir.
6963
6964 2010-06-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
6965             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6966
6967         Extend tests/README w.r.t. trailing `:' in test scripts.
6968         * tests/README (section "Writing test cases" subsection "Do"):
6969         Explain why apparently redundant trailing `:' and `Exit 0' in
6970         test scripts can indeed be useful.
6971
6972 2010-06-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
6973
6974         Improve determination of PATH separator in bootstrap script.
6975         * bootstrap: Determine what the PATH separator is the same way
6976         autoconf does.
6977
6978         Minor improvements in bootstrap script.
6979         * bootstrap: Consistently use two-spaces indentation.  Cosmetic
6980         improvement to comments.
6981         ($me): New variable, containing program basename.
6982         Prepend it to all error messages.
6983
6984         Testsuite now works with BSD make in parallel mode.
6985         * tests/defs.in: Unset variables __MKLVL__ and MAKE_JOBS_FIFO,
6986         which are exported by BSD make when run in parallel mode, and
6987         which can confuse make processes spawned by our testsuite.
6988         This change fixes a lot of spurious failure when the testsuite
6989         is run with BSD make in parallel mode.
6990
6991 2010-06-09  Stefano Lattarini  <stefano.lattarini@gmail.com>
6992
6993         Modernize, improve and/or fix various test scripts.
6994         * tests/sanity.test: Rely on the `configure.in' stub created by
6995         `./defs', rather than writing one from scratch.
6996         * tests/depend2.test: Likewise.  Also, call `set -e' just after
6997         the inclusion of `./defs', instead that later in the script.
6998         * tests/canon5.test: Avoid a useless `|| Exit 1' after a call to
6999         $AUTOMAKE, and improve the positioning of an $ACLOCAL call.
7000         * tests/exeext4.test: Use $FGREP instead of grep, where possible.
7001         Make auxiliary rules in the generated Makefile more silent.
7002         These changes make some checks slightly stricter.
7003         * tests/ext2.test: Call `Exit 1' if inclusion of `./defs' fails.
7004         * tests/gettext2.test: Place final `:' at the end of the script,
7005         rather than in the middle.
7006         * tests/exeext.test: Call `set -e' just after the inclusion of
7007         `./defs', instead that later in the script.
7008         * tests/extra5.test: Likewise.
7009         * tests/confdeps.test: Likewise.  Also, prefer `mv -f' over
7010         plain `mv', just to be sure.
7011         * tests/depcomp.test: Enable `errexit' shell flag, with related
7012         changes.  Also, modernize the generated configure.in.
7013         * tests/cond9.test: Likewise.  Also, rely on the `configure.in'
7014         stub created by `./defs', rather than writing one from scratch.
7015         * tests/cond10.test: Likewise.
7016         * tests/depcomp2.test: Likewise.
7017         * tests/depend3.test: Likewise.
7018         * tests/distcom7.test: Likewise.
7019         * tests/fortdep.test: Likewise.  Also, remove definition of
7020         AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am,
7021         since that flag is already provided by $AUTOMAKE.
7022         * tests/mdate.test: Made stricter, by checking that Automake
7023         actually failed, and by making a stricter grep on the error
7024         message.  Also, set shell `errexit flag'.
7025         * tests/python2.test: Improved verbose messages.
7026
7027         Make test `ammissing.test' stricter.
7028         * tests/ammissing.test: Fail if $ACLOCAL succeeds unexpectedly.
7029         Enable `errexit' shell flag.
7030
7031 2010-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
7032             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7033
7034         Fix error in generation of parallel tests.
7035         * tests/defs.in ($am_skip_defs): New variable, to be used when
7036         ./defs must be sourced multiple times.  If set, unset it and
7037         only define $srcdir; otherwise, also go through the rest of
7038         the script.
7039         ($am_defs_included): Remove, no more needed.
7040         * tests/Makefile.am ($(parallel_tests)): Update accordingly,
7041         using only $srcdir from defs.
7042         Fixes potential test failures of tests that use $required.
7043
7044 2010-06-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
7045
7046         Enable `errexit' shell flag in some test scripts.
7047         * tests/subcond.test: Enabled `errexit' shell flag, and related
7048         minor changes.
7049         * tests/subst.test: Likewise.
7050         * tests/vars.test: Likewise.
7051         * tests/version4.test: Likewise.
7052         * tests/vpath.test: Likewise.
7053         * tests/vtexi2.test: Likewise.
7054         * tests/werror.test: Likewise.
7055         * tests/whoami.test: Likewise.
7056         * tests/tags.test: Likewise, and avoid to crate an useless dummy
7057         header file.
7058         * tests/acsilent.test: Likewise, and don't use an easily-avoided
7059         command substitution.
7060         * tests/unused.test: Likewise, and don't use an easily-avoided
7061         command substitution.
7062         * tests/version.test: Likewise, and avoid deprecated constructs
7063         in the generated `configure.in'.
7064         * tests/version2.test: Likewise, and avoid deprecated constructs
7065         in the generated `configure.in'.
7066
7067 2010-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7068             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7069
7070         Improve declaration of dependencies in the testsuite.
7071         * tests/Makefile.am (check_SCRIPTS): Remove.  Instead, let ...
7072         ($(TEST_LOGS)): ... all test logs depend on the scripts.
7073         * test/gen-parallel-tests: For each parallel test foo-p.test,
7074         let `foo-p.log' also depend on `foo.test', since it is sourced.
7075
7076 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7077
7078         Coverage for TAGS_DEPENDENCIES warning.
7079         * tests/tags2.test: New test.
7080         * tests/Makefile.am: Update.
7081
7082         Coverage for use of anachronistic variables.
7083         * tests/oldvars.test: New test.
7084         * tests/Makefile.am: Update.
7085
7086         Testsuite coverage for bogus macro file serial numbers.
7087         * tests/acloca18.test: Also test ill-formed serial numbers
7088         and serial numbers after macro definitions.
7089
7090         Coverage for aclocal diagnosing underquoted macros.
7091         * tests/acloca23.test: New test.
7092         * tests/Makefile.am: Update.
7093
7094 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7095
7096         Prefer AUTOMAKE_fails over `$AUTOMAKE | grep' in tests.
7097         * tests/ldadd.test: Enable errexit.  Use AUTOMAKE_fails so
7098         the verbose log contains all output.
7099         * tests/mdate.test: Likewise.
7100         Prompted by Stefano Lattarini's change to discover.test.
7101
7102 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7103
7104         More minor message fixes.
7105         * aclocal.in (scan_file): Fix recommended info command line.
7106         * automake.in (handle_lib_objects): No need to prepend function
7107         name to prog_error message.
7108         (handle_tags): Add missing word and missing space in error
7109         message.
7110         (handle_dist): Add missing closing single quote in message.
7111         Line-wrap one long message for readability.
7112
7113 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
7114             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7115
7116         Fix distcheck failure with distributed generated parallel tests.
7117         * tests/Makefile.am ($(parallel_tests)): Cope with $(srcdir)
7118         being different from the value at developer `make dist' time.
7119         * tests/defs.in: Protect against multiple inclusion, by using ...
7120         ($am_defs_included): ... this new variable.
7121         ($srcdir): Do not compute, but simply define to `@abs_srcdir@'
7122         as substituted by configure.
7123         Report, suggestions and first fix by Ralf Wildenhues, final
7124         patch by Stefano Lattarini.
7125
7126 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
7127
7128         Improve tests link*.test (enable `errexit' shell flag).
7129         * tests/link_c_cxx.test: Enable `errexit shell flag, and related
7130         changes.  Also, do not create useless source files.
7131         * tests/link_dist.test: Likewise.
7132         * tests/link_f90_only.test: Likewise.
7133         * tests/link_f_only.test: Likewise.
7134         * tests/link_fc.test: Likewise.
7135         * tests/link_fccxx.test: Likewise.
7136         * tests/link_fcxx.test: Likewise.
7137
7138 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7139
7140         Improve ext.test semantics, avoid OpenBSD sh errexit issue.
7141         * tests/ext.test: Inside shell compound command, use
7142         `if $cmd; then Exit 1; fi' rather than `$cmd && Exit 1', to
7143         fix failure with OpenBSD sh introduced with last patch.
7144         Actually ensure that a rule for .EXT.o is created for each
7145         known extension EXT.
7146
7147 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
7148
7149         Enable `errexit' shell flag in some test scripts.
7150         * tests/dash.test: Enable `errexit' shell flag, and related
7151         changes.
7152         * tests/defun.test: Likewise.
7153         * tests/defun2.test: Likewise.
7154         * tests/dejagnu.test: Likewise.
7155         * tests/double.test: Likewise.
7156         * tests/distcom2.test: Likewise.
7157         * tests/empty2.test: Likewise.
7158         * tests/empty3.test: Likewise.
7159         * tests/empty4.test: Likewise.
7160         * tests/exdir.test: Likewise.
7161         * tests/ext.test: Likewise.
7162         * tests/extra.test: Likewise.
7163         * tests/extra2.test: Likewise.
7164         * tests/extra3.test: Likewise.
7165         * tests/extra4.test: Likewise.
7166         * tests/flibs.test: Likewise.
7167         * tests/fnoc.test: Likewise.
7168         * tests/fo.test: Likewise.
7169         * tests/instexec.test: Likewise.
7170         * tests/ltdeps.test: Likewise.
7171         * tests/nodep.test: Likewise.
7172         * tests/nodepcomp.test: Likewise.
7173         * tests/f90only.test: Likewise, and remove botched/obsoleted
7174         comments and unnecessary commands.
7175         * tests/fonly.test: Likewise, and remove botched/obsoleted
7176         comments and unnecessary commands.
7177         * tests/discover.test: Likewise, and made stricter.
7178
7179         Enable `errexit' shell flag in all tests cxx*.test.
7180         * tests/cxx.test: Enabled `errexit' shell flag, and related
7181         minor changes.
7182         * tests/cxxansi.test: Likewise.
7183         * tests/cxxcpp.test: Likewise.
7184         * tests/cxxlibobj.test: Likewise.
7185         * tests/cxxlink.test: Likewise.
7186         * tests/cxxo.test: Likewise.
7187
7188         Enable `errexit' shell flag in various tests.
7189         * tests/acoutnoq.test: Enabled `errexit' shell flag, and related
7190         minor changes.
7191         * tests/acoutpt.test: Likewise.
7192         * tests/acoutqnl.test: Likewise.
7193         * tests/amassign.test: Likewise.
7194         * tests/ansi2.test: Likewise.
7195         * tests/ansi4.test: Likewise.
7196         * tests/badprog.test: Likewise.
7197         * tests/checkall.test: Likewise.
7198         * tests/clean.test: Likewise.
7199         * tests/colneq2.test: Likewise.
7200         * tests/colon.test: Likewise.
7201         * tests/colon5.test: Likewise.
7202         * tests/colon6.test: Likewise.
7203         * tests/comment.test: Likewise.
7204         * tests/compile_f90_c_cxx.test: Likewise.
7205         * tests/compile_f_c_cxx.test: Likewise.
7206         * tests/cond3.test: Likewise.
7207         * tests/cond6.test: Likewise.
7208         * tests/cond13.test: Likewise.
7209         * tests/conf2.test: Likewise.
7210         * tests/confvar.test: Likewise.
7211         * tests/confvar2.test: Likewise.
7212         * tests/cond8.test: Likewise, plus a cosmetic change.
7213         * tests/confh4.test: Likewise.  Also, add in the heading comments
7214         an excerpt from the original bug report which motivated the
7215         creation of this test, to make its purpose clearer.
7216
7217 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7218
7219         Rewrite manual to be gender-neutral.
7220         * doc/automake.texi (GNU Build System)
7221         (Standard Directory Variables, General Operation, CVS)
7222         (Hard-Coded Install Paths, Dependencies As Side Effects):
7223         Rewrite text to not contain gender-specific pronouns when
7224         speaking about developers or users, either by avoiding pronouns
7225         or by addressing them as `you' instead.
7226         * THANKS: Update.
7227         Report by Christina Gratorp.
7228
7229         * AUTHORS: Update.
7230
7231 2010-06-06  Stefano Lattarini  <stefano.lattarini@gmail.com>
7232
7233         Tiny fix in silent8.test (display output of `make' command).
7234         * tests/silent8.test: Make sure that the captured output of `make'
7235         command is always displayed.
7236
7237         Make tests on user extensibility of silent-rules mode stricter.
7238         * tests/silent6.test: Made stricter w.r.t. the grepping of the
7239         output produced by `make'.
7240         * tests/silent7.test: Likewise.
7241
7242         Tests on silent-mode for C/Libtool made stricter.
7243         * tests/silent.test: Made stricter w.r.t. the grepping of the
7244         output produced by `make'.
7245         * tests/silent2.test: Likewise.
7246         * tests/silent4.test: Likewise.
7247         * tests/silent9.test: Likewise.
7248         * tests/silent3.test: Likewise, and add a final `make distclean'
7249         command to keep it better in sync with tests/silent{4,9}.test.
7250
7251         Improved test silent5.test.
7252         * tests/silent5.test: Remove by hand all generated C files after
7253         non-verbose builds, to ensure the following builds are clean.
7254         Try to clean and rebuild with the same verbosity and without
7255         removing generated sources in between, to check that this does
7256         not trigger a different set of rules.  Make grepping of make's
7257         output stricter.  Improved/added some comments.
7258
7259         New tests for Automake silent-mode with Fortran.
7260         * tests/silentf77.test: New test.
7261         * tests/silentf90.test: Likewise.
7262         * tests/Makefile.am (TESTS): Updated accordingly.
7263
7264         New test `silentcxx.test' (Automake silent-mode with C++).
7265         * tests/silentcxx.test: New test.
7266         * tests/Makefile.am (TESTS): Updated accordingly.
7267
7268         New test `silentyacc.test' (Automake silent-mode with Yacc).
7269         * tests/silentyacc.test: New test.
7270         * tests/Makefile.am (TESTS): Updated accordingly.
7271
7272         New test `silentlex.test' (Automake silent-mode with Lex).
7273         * tests/silentlex.test: New test.
7274         * tests/Makefile.am (TESTS): Updated accordingly.
7275
7276         Relax tests on silent-rules to cater to overly verbose makes.
7277         * tests/silent.test: When testing silent builds, don't fail if
7278         make's output simply contains the `mv' substring, but only if
7279         it contains the `mv ' substring (note the trailing space).
7280         * tests/silent2.test: Likewise.
7281         * tests/silent3.test: Likewise.
7282         * tests/silent4.test: Likewise.
7283         * tests/silent5.test: Likewise.
7284         * tests/silent9.test: Likewise.
7285
7286 2010-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7287
7288         Extend test on `nostdinc' automake option.
7289         * tests/nostdinc.test: Enable `errexit' shell flag.  Related and
7290         unrelated minor changes.  Make the grepping of the generated
7291         Makefile.in slightly stricter.  Generate and run configure, so that
7292         the generated Makefile can be grepped too.
7293
7294 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7295
7296         Make gnupload portable to EBCDIC hosts.
7297         * lib/gnupload: Use literal newline as argument for 'tr' rather
7298         than \015, for EBCDIC hosts.  Also, avoid unportable nested
7299         double-quotes and backquotes.
7300         * THANKS: Update.
7301         Report from Eric Blake and Steve Goetze via gnulib.
7302
7303 2010-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7304
7305         Fix Autoconf version required by Automake's configure.
7306         Automake configure script used to tell that automake required
7307         autoconf 2.60 or later, but then it checked for autoconf >= 2.62,
7308         and if that was not found, it gave an error saying that Automake
7309         required configure 2.61a-341 or later.  This change should
7310         eliminate such inconsistencies.
7311         * configure.ac ($required_autoconf_version): New variable.
7312         Use it throughout.
7313
7314 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7315
7316         Fix truncated comment in Makefile.am.
7317         * Makefile.am (sc_tests_logs_duplicate_prefixes): Fix unfinished
7318         sentence in comment.
7319         Report by Stefano Lattarini.
7320
7321         Relax silent8.test for NetBSD make.
7322         * tests/silent8.test: Accept ./foo.info in output as well.
7323
7324         Fix unportable sed script in maintainer-check test.
7325         * Makefile.am (sc_tests_Exit_not_exit): Rewrite sed script to
7326         not contain semicolon after 'b' or brace commands, for NetBSD.
7327
7328         Wildcards are not portable to NetBSD make.
7329         * doc/automake.texi (Wildcards): Document portability issue.
7330         * tests/extra10.test, tests/extra11.test, tests/extra12.test:
7331         Require GNU make.
7332
7333 2010-05-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
7334
7335         Make test for configure.in vs. configure.ac stricter.
7336         * tests/configure.test: Use a configure.in file that provokes
7337         an automake error, to ensure configure.ac is preferred.
7338
7339         Avoid possible false negatives in dejagnu7.test.
7340         * tests/dejagnu7.test: Enable shell `errexit' flag.  Also, avoid
7341         unportable use of fgrep option `-e'.
7342
7343         Fix conflnk3.test to work with Solaris/Heirloom Sh.
7344         * tests/conflnk3.test: Use `test -r FILE' and `test ! -r FILE'
7345         instead of respectively `test -e FILE' and `test ! -e FILE',
7346         since Solaris Sh doesn't grok the latter.  Do not SKIP the test
7347         if the shell doesn't support `test -e'.
7348
7349 2010-04-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7350
7351         Warning and error message formatting cleanups.
7352         * aclocal.in (parse_arguments, main): Remove trailing period or
7353         newline in error or warning messages, avoid capitalization of
7354         the first word of a message.
7355         * automake.in (check_user_variables, handle_languages)
7356         (handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files)
7357         (scan_autoconf_files, cond_stack_if, require_file_internal)
7358         (usage, generate_makefile, parse_arguments): Likewise.
7359         * lib/Automake/ChannelDefs.pm (set_strictness): Likewise.
7360         * lib/Automake/Configure_ac.pm (find_configure_ac): Likewise.
7361         * lib/Automake/Options.pm (set_strictness): Likewise.
7362         * lib/Automake/Rule.pm (define): Likewise.
7363         * lib/Automake/Variable.pm (define, variables_dump): Likewise.
7364         * tests/ltinstloc.test, tests/suffix11.test: Adjust expected
7365         error message.
7366         * lib/Automake/Channels.pm (setup_channel): Reword error message
7367         to be the same as in msg.
7368
7369         Fix placing of ellipses in English text and synopses.
7370         * Makefile.am: Be sure to add a space before `...' in natural
7371         language text.
7372         * automake.in (scan_autoconf_traces): Likewise.
7373         * lib/Automake/Rule.pm (define): Likewise.
7374         * lib/Automake/Variable.pm (define): Likewise.
7375         * lib/am/dejagnu.am: Likewise.
7376         * lib/am/progs.am: Likewise.
7377         * lib/gnupload (dprint, upload): Likewise.
7378         * tests/confdeps.test: Likewise.
7379         * tests/location.test: Adjust expected output.
7380         * automake.in (usage): In synopsis, use singular for OPTION,
7381         * remove space before ellipsis.
7382         * aclocal.in (usage): Likewise.  Also, fix indentation.
7383
7384         Fix more duplicate message prefixes.
7385         * lib/Automake/XFile.pm (seek): Do not prepend $me.
7386         ($me): Remove now-unused package-global.
7387         * aclocal.in (check_acinclude): Remove duplicate 'warning: '
7388         prefix.
7389
7390         Fix typo in manual.
7391         * doc/automake.texi (Simple Tests using parallel-tests): Add
7392         missing closing parenthesis.
7393
7394         Fix leftover call to removed function macros_dump.
7395         * automake.in (read_main_am_file): Call variables_dump, not
7396         macros_dump.  Print actual error before list of variables.
7397
7398 2010-04-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
7399
7400         Minor improvements in comments of test `silent3.test'.
7401         * tests/silent3.test: Tell to keep it in sync with `silent9.test'
7402         too.
7403
7404 2010-04-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7405
7406         testsuite: ensure verbose printing of captured output.
7407         * tests/acloca14.test, tests/acloca18.test, tests/aclocal.test,
7408         tests/fort2.test, tests/help.test, tests/missing3.test,
7409         tests/missing6.test: Print captured stdout or stderr before
7410         grepping it.
7411
7412 2010-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
7413
7414         Make test badopt.test stricter (by enabling `set -e').
7415         * tests/badopt.test: Add call to `set -e'.  Due to this change,
7416         an unexpected failure in the call to `$ACLOCAL' (whose outcome
7417         was previously unchecked) would cause the whole test to fail.
7418         Also, bumped the copyright years.
7419
7420         Make test for configure.in vs. configure.ac stricter.
7421         * tests/configure.test: Use a configure.in file that provokes
7422         an automake error, to ensure configure.ac is preferred.
7423
7424         Use `set -e' in confsub.test (avoids possible false negatives).
7425         * tests/confsub.test: Enable shell `errexit' flag, and related
7426         changes (this helps avoiding some possible minor false negatives).
7427         Also, bumped copyright years.
7428
7429 2010-04-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7430
7431         Fix -Werror handling for presence of configure.in and configure.ac.
7432         * lib/Automake/Variable.pm (Automake::Variable): Do not initialize
7433         $configure_ac at the global level, before command-line arguments
7434         have been parsed.
7435         (require_variables): Initialize it here.
7436         * tests/configure.test: New test.
7437         * tests/Makefile.am: Update.
7438         Report by Stefano Lattarini.
7439
7440 2010-04-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
7441
7442         Avoid possible false negatives in confh5.test.
7443         * tests/confh5.test: Enable shell `errexit' flag, and bumped
7444         copyright years.  Due to this change, any unexpected failure
7445         in calls to $ACLOCAL, $AUTOMAKE, $AUTOCONF or $AUTOHEADER, or
7446         a failure in grepping expected text in output files should now
7447         cause the whole test to fail.
7448
7449 2010-04-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
7450
7451         Fixed typo in POD documentation of Automake::Channels.
7452         * lib/Automake/Channels.pm: Fixed typo in POD documentation:
7453         @<...> was used instead of C<...>.
7454
7455 2010-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
7456
7457         Refactor tests on Automake TESTS color output.
7458         * tests/color.test: Tests using the expect program moved out to...
7459         * tests/color2.test: ... this new file.
7460         * tests/Makefile.am (TESTS): Extended accordingly.
7461
7462 2010-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
7463
7464         Fix typos in comments in test confh5.test
7465         * tests/confh5.test: Fix a couple of typos in comments.
7466
7467         Avoid possible false negatives in canon-name.test.
7468         * tests/canon-name.test: Enable shell `errexit' flag.  Improve
7469         test description.
7470
7471 2010-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7472
7473         Print 'warnings are treated as errors' note if needed.
7474         * lib/Automake/Channels.pm: Fix typo in comment.
7475         (_print_message): If -Werror is enabled, print a 'warnings are
7476         treated as errors' note before the first such warning.
7477         * tests/warnopts.test: Adjust comment to mention expected warning.
7478         Adjust code to ignore 'warnings are treated as errors' note.
7479         * tests/location.test: Adjust expected output with -Werror.
7480         * tests/werror4.test: New test.
7481         * tests/Makefile.am: Update.
7482         * NEWS: Update.
7483
7484         Ensure we don't print 'warning:' or 'error:' twice.
7485         * Makefile.am (sc_ensure_testsuite_has_run): New helper rule.
7486         (sc_tests_logs_duplicate_prefixes): New rule, to check for
7487         wrong-looking warning and error messages in the test suite logs.
7488         * aclocal.in (scan_configure_dep, scan_file): Remove duplicate
7489         `warning: ' prefix.
7490         * tests/vars3.test: Rename variable to avoid false positive.
7491
7492         Prepend type to warning, error, and fatal messages.
7493         For the first part of messages of types `error' or `fatal',
7494         prepend `error: ' to the message.  Prepend `warning: ' to
7495         warning messages, whatever the setting of -Werror.
7496         * lib/Automake/Channels.pm (partial): Move up definition.
7497         (_format_message): Emit `header' and `footer' strings only with
7498         the first resp. last part of a set of partial messages.
7499         * lib/Automake/ChannelDefs.pm: Add missing '1;' statement at the
7500         end of the module.
7501         (Automake::ChannelDefs): Setup warning channels with header
7502         `warning: ', error and fatal messages with header `error: '.
7503         * tests/condinc2.test, tests/ltinstloc.test: Adjust expected
7504         error messages.
7505         * tests/comment5.test: Likewise.  Also, include stack notes
7506         should not start with `error:'.
7507         * tests/location.test: Likewise.  Also, try both -Werror and
7508         -Wno-error.
7509         * NEWS: Update.
7510         Report by Bruno Haible.
7511
7512         Fix capitalization of error messages, reword one message.
7513         * lib/Automake/Variable.pm (define): Do not capitalize the first
7514         word in the error message.
7515         * automake.in (require_file_internal): Likewise.  Also, reword
7516         and line-wrap for better readability.
7517         * tests/distcom7.test, tests/pluseq5.test, tests/pluseq9.test:
7518         Adjust tests.
7519
7520         Fix connected warnings about obsolete exeext override.
7521         * lib/Automake/Rule.pm (define): Merge two warnings that belong
7522         together, by setting the 'partial' flag for the first one.
7523
7524         Fix per-Makefile.am setting of -Werror.
7525         Before this patch, 'AUTOMAKE_OPTIONS = -Werror' in one
7526         Makefile.am would carry over to other Makefile.am files
7527         treated afterwards by the same thread, causing inconsistent
7528         and unstable exit status values.
7529         * lib/Automake/Channels.pm (dup_channel_setup)
7530         (drop_channel_setup): Save and restore the setting of
7531         $warnings_are_errors.
7532         * tests/werror3.test: New test.
7533         * tests/Makefile.am: Adjust.
7534         * NEWS: Update.
7535
7536 2010-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
7537
7538         Bugfix in confh5.test w.r.t. Solaris/Heirloom Sh.
7539         * tests/confh5.test: In the generated Makefile.am: do not use
7540         `test ! -e FILE' to check for the non-existence of a file, since
7541         that is not supported by Solaris/Heirloom Sh.
7542
7543         Make test `aclocal3.test' stricter.
7544         * tests/aclocal3.test: Add call to `set -e'.  Fail if $ACLOCAL
7545         succeds unexpectedly.
7546
7547         Add tests checking that symlinks are resolved by `make dist'.
7548         * tests/distlinks.test: New test.
7549         * tests/Makefile.am (TESTS): Updated accordingly.
7550         Suggested by observations from Ralf Wildenhues.
7551
7552 2010-04-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7553
7554         Use -9 for maximum xz compression with dist-xz.
7555         * lib/am/distdir.am (dist-xz, dist, dist-all): Pass -9 to xz.
7556         * NEWS, THANKS: Update.
7557         Report by Pavel Sanda.
7558
7559 2010-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
7560
7561         Avoid possible false negatives in cond46.test.
7562         * tests/cond46.test: Enable shell `errexit' flag (and bumped
7563         copyright years).  Due to this change, the testcase should now
7564         fail on unexpected failures in calls to $ACLOCAL/$AUTOMAKE (whose
7565         outcomes were previously unchecked), and on failures in grepping
7566         the expected diagnostic in Automake stderr.
7567
7568 2010-04-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7569
7570         Generated tests are now just a thin layer around other tests.
7571         * tests/Makefile.am: Rewrite the rule to generate the `*-p.test'
7572         test scripts so that any of them simply includes the corresponding
7573         `*.test' script (after setting `$parallel_tests' to `yes').
7574         * tests/.gitignore: Add wildcard for temporary files used in the
7575         generation of `*-p.test' tests.
7576
7577 2010-03-30  Stefano Lattarini  <stefano.lattarini@gmail.com>
7578
7579         Avoid an unportable use of `$status' shell variable.
7580         * Makefile.am (path-check): Don't use the `$status' shell variable
7581         in the target's rules, as it's special in Zsh (equivalent to `$?',
7582         and readonly).
7583
7584         Avoid another use of `chmod -R'.
7585         * Makefile.am (path-check): To be safe, do not use `chmod -R' on
7586         $(distdir) before removing it (as Solaris `chmod -R' touches
7587         symlink targets).  Instead, use the cleanup strategy used in
7588         distdir.am.
7589
7590 2010-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7591
7592         Remove uses of @acronym and @sc.
7593         * doc/automake.texi (Public Macros, Limitations on File Names):
7594         Remove all usage of @acronym and @sc in the manual.
7595         Suggested by Karl Berry.
7596
7597 2010-03-13  Karl Berry  <karl@freefriends.org>
7598
7599         GNU hello uses fdl.texi, not gpl.texi.
7600         * doc/automake.texi (Texinfo): Adjust example to upstream
7601         change.
7602
7603 2010-03-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7604
7605         Formatting cleanups in macro comments.
7606         * automake.in, lib/Automake/Channels.pm,
7607         lib/Automake/FileUtils.pm, lib/Automake/Options.pm,
7608         lib/Automake/Variable.pm, lib/Automake/XFile.pm,
7609         m4/options.m4, m4/substnot.m4: Fix macro comment format.
7610
7611 2010-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7612             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7613
7614         Avoid generation of `tests/defs-p' file.
7615         * tests/defs.in: In the generated `configure.in' snippet: call
7616         `AM_INIT_AUTOMAKE' with the `parallel-tests' option if the shell
7617         variable `parallel_tests' is set to `yes'.
7618         * tests/Makefile.am (defs-p): Target removed.
7619         (check_SCRIPTS): Removed `defs-p'.
7620         (clean-local-check): Do not unlink `defs-p' anymore.
7621         ($(parallel_tests)): Transformation rules for the test scripts
7622         adjusted.
7623         * tests/gen-parallel-tests: Selection rules for the test
7624         scripts adjusted.
7625         * tests/parallel-tests.test: Set `$parallel_tests' to `yes'
7626         then include `./defs' (rather than simply including `./defs-p').
7627         * tests/parallel-tests2.test: Likewise.
7628         * tests/parallel-tests3.test: Likewise.
7629         * tests/parallel-tests4.test: Likewise.
7630         * tests/parallel-tests5.test: Likewise.
7631         * tests/parallel-tests6.test: Likewise.
7632         * tests/parallel-tests7.test: Likewise.
7633         * tests/parallel-tests8.test: Likewise.
7634         * tests/parallel-tests9.test: Likewise.
7635         * tests/parallel-tests10.test: Likewise.
7636         * tests/README (Section "Writing Test Cases" subsection "Do"):
7637         Adjusted the parts referring to tests checking `parallel-tests'
7638         behaviour.  Some other minor related improvements.
7639         * tests/.gitignore (defs-p): Removed.
7640
7641 2010-03-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
7642
7643         Remove redundant unset of variable TESTS from some test scripts.
7644         * tests/color.test: Do not unset the `TESTS' variable, as it's
7645         already unset in the `defs' file.
7646         * tests/check5.test: Likewise.
7647         * tests/check8.test: Likewise.
7648         * tests/check9.test: Likewise.
7649         * tests/check10.test: Likewise.
7650         * tests/check11.test: Likewise.
7651         * tests/parallel-tests.test: Likewise.
7652         * tests/parallel-tests3.test: Likewise.
7653         * tests/parallel-tests4.test: Likewise.
7654         * tests/parallel-tests5.test: Likewise.
7655         * tests/parallel-tests6.test: Likewise.
7656         * tests/parallel-tests7.test: Likewise.
7657
7658 2010-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7659
7660         Fix cscope test on systems without working Fortran compiler.
7661         * tests/cscope.test: Skip remainder of test if `$MAKE all' fails.
7662         * THANKS: Update.
7663         Report by Peter Johansson.
7664
7665 2010-02-24  Antonio Diaz Diaz  <ant_diaz@teleline.es>  (tiny change)
7666             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7667
7668         Add lzip compression support.
7669         * automake.in (handle_dist): Recognize dist-lzip.
7670         (make_paragraphs): Map LZIP to dist-lzip.
7671         * doc/automake.texi (Dist): Add dist-lzip.
7672         (Options): Likewise.
7673         * lib/Automake/Options.pm (_process_option_list): Add dist-lzip.
7674         * lib/am/distdir.am
7675         (dist dist-all): Add command to create an lzip-compressed tarball.
7676         (distcheck): Handle lzip-compressed tarballs just like the others.
7677         * tests/defs.in: Test for lzip, too.
7678         * tests/lzip.test: New file, based on nogzip.test.
7679         * tests/Makefile.am (TESTS): Add lzip.test.
7680         * NEWS: Update.
7681
7682 2010-02-22  Karl Berry  <karl@gnu.org>
7683
7684         Improve help message of mdate-sh.
7685         * mdate-sh: mention actual output format in help message.
7686
7687 2010-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7688
7689         Deprecate dist-lzma in favor of dist-xz.
7690         * doc/automake.texi (The Types of Distributions, Options):
7691         Adjust text to reflect renaming of lzma to xz.
7692         * NEWS: Update.
7693         Missing deprecation noted by Antonio Diaz Diaz.
7694
7695 2010-02-20  Stefano Lattarini  <stefano.lattarini@gmail.com>
7696
7697         Add tests about support of wildcards in EXTRA_DIST.
7698         * tests/extra10.test: New test, check basic support of wildcards
7699         in EXTRA_DIST.
7700         * tests/extra11.test: New test, check more complex usage of
7701         wildcards in EXTRA_DIST.
7702         * tests/extra12.test: New test, check usage of wildcards in
7703         EXTRA_DIST when $builddir != $srcdir.
7704         * tests/Makefile.am (TESTS): Updated accordingly.
7705         Necessity of these new tests suggested by Braden McDaniel
7706         and Ralf Wildenhues.
7707
7708 2010-02-08  Simon Josefsson  <simon@josefsson.org>
7709
7710         Fix copyright statement in gnupload script.
7711         * lib/gnupload: Fix copyright statement.
7712
7713 2010-02-06  Dmitry V. Levin  <ldv@altlinux.org>  (tiny change)
7714             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7715
7716         Fix exit status of signal handlers in shell scripts.
7717         The value of `$?' on entrance to signal handlers in shell scripts
7718         cannot be relied upon, so set the exit code explicitly to
7719         128 + SIG<SIGNAL>.
7720         * lib/am/check.am (am__check_pre): Use `exit 143' in signal handler.
7721         * lib/elisp-comp: Likewise.
7722         * lib/install-sh: Likewise.
7723         * lib/ylwrap: Likewise.  Also, fix script to trap signal 13, not 3.
7724         * NEWS, THANKS: Update.
7725         Bug report, analysis, and initial patch by Dmitry V. Levin.
7726
7727 2010-02-06  Karl Berry  <karl@gnu.org>
7728
7729         Improve gnupload usage text.
7730         * gnupload (usage): Shorten to make more likely to fit on a tty
7731         line.  Mention CMD in the synopsis.  With ..., plural is implied.
7732
7733 2010-01-28  Christos Kontas  <xakon@yahoo.com>  (tiny change)
7734
7735         Fix some typos in the manual
7736         * doc/automake.texi (Nested Packages, Rebuilding): Fix typos.
7737
7738 2010-01-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7739
7740         Fix silent-rules output for disabled dependency tracking.
7741         * lib/am/depend2.am [!%FASTDEP%]: Rework silent-rules variable
7742         expansion code to also work in the case where %AMDEP% expands
7743         to FALSE at config.status time, using new substitution string
7744         %VERBOSE-NODEP%.
7745         * automake.in (verbose_nodep_flag): New function, appending
7746         `@am__nodep@' to the verbose-variable name.
7747         (handle_languages): If dependencies are not disabled, use it to
7748         set %VERBOSE-NODEP%.
7749         * m4/depend.m4: Substitute am__nodep as '_no', so the second
7750         verbose-variable will always expand to an empty string, if
7751         dependencies are enabled.
7752         * tests/silent5.test: Also test --disable-dependency-tracking;
7753         also test per-target flags for non-C language files.
7754         * tests/silent9.test: New test, like silent4.test but disable
7755         dependency tracking.
7756         * tests/Makefile.am: Adjust.
7757         * NEWS, THANKS: Update.
7758         Report by Dmitry V. Levin <ldv@altlinux.org>.
7759
7760 2010-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>
7761
7762         Slighty improve tests acoutbs.test and acoutbs2.test.
7763         * tests/acoutbs2.test: Enable `errexit' shell flag.  Check that
7764         autoconf and configure work, that the file `zot' is created by
7765         configure, and that no file containing a backslash in its name is
7766         created.
7767         * tests/acoutbs.test: Likewise, plus updated copyright years.
7768
7769         Fix test acoutbs2.test.
7770         * tests/acoutbs2: In the generated configure.in: add proper calls
7771         to AC_INIT and AM_INIT_AUTOMAKE, and remove explicit definition of
7772         PACKAGE and VERSION. Add a call to aclocal before calling automake.
7773         Updated copyright years.
7774         * tests/Makefile.am (XFAIL_TESTS): Removed acoutbs2.test.
7775
7776         Add forgotten test scripts to $(TESTS).
7777         * tests/Makefile.am (TESTS): Added test scripts present on the
7778         filesystem, which were erroneously left out from $(TESTS):
7779         acoutbs2.test, badopt.test, extra2.test.
7780         (XFAIL_TESTS): Added acoutbs2.test.
7781
7782 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7783
7784         Sync auxiliary files from upstream.
7785         * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub:
7786         Sync from upstream.
7787
7788         Bump copyright years.
7789         * aclocal.in (write_aclocal, version): Bump copyright years.
7790         * automake.in (gen_copyright, version): Likewise.
7791         * doc/automake.texi: Likewise.
7792
7793         Rotate ChangeLog.
7794         * ChangeLog.09: New file, rotated from ...
7795         * ChangeLog: ... here.
7796         * Makefile.am (EXTRA_DIST): Distribute ChangeLog.09.
7797
7798 -----
7799
7800 Copyright (C) 2010, 2011  Free Software Foundation, Inc.
7801
7802 Copying and distribution of this file, with or without modification, are
7803 permitted provided the copyright notice and this notice are preserved.
7804
7805 ;; Variables:
7806 ;; coding: utf-8
7807 ;; End: