1 2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
7 2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
18 2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
31 2011-09-24 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
51 2011-09-22 Stefano Lattarini <stefano.lattarini@gmail.com>
53 tests: fix tests on aclocal search path precedences
54 * tests/aclocal-path-precedence.test: Call `$ACLOCAL' with the
55 proper overridden system acdir.
57 2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
59 docs: remove mention of deprecated option `--acdir'
60 * doc/automake.texi (aclocal Options): Remove mention of
61 deprecated `--acdir' option.
63 2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
65 * NEWS: Cleanup after botched merges.
67 2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
71 2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
79 2011-09-19 Paolo Bonzini <bonzini@gnu.org>
80 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
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.
100 2011-09-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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
111 2011-09-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
123 2011-09-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
134 2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
145 2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
151 2011-09-16 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
157 2011-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
159 cosmetics: fix various typos and grammaros
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
165 Suggestions by Peter Rosin.
167 2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
169 coverage: test interactions of `nobase_' and `nodist_'
170 * tests/nobase-nodist.test: New test.
171 * tests/Makefile.am (TESTS): Add it.
173 2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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
182 2011-09-15 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
191 2011-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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'
199 2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
206 2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
219 2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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
228 * aclocal.in (@automake_includes, @system_includes,
229 @user_includes): Fix and extend comments.
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
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
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.
258 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
267 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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
275 2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
286 2011-09-05 Peter Rosin <peda@lysator.liu.se>
288 * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
290 2011-09-04 Stefano Lattarini <stefano.lattarini@gmail.com>
292 fix: list test 'vala-vpath.test' in XFAIL_TESTS
293 * tests/Makefile.am (XFAIL_TESTS): Update.
295 2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
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
306 2011-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
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
315 * automake.in ($must_handle_compiled_objects): New global
316 variable, telling whether the generated Makefile has to build
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.
326 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
334 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
340 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
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.
364 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
376 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
396 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
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
410 2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
412 coverage: vala support failing for VPATH from-scratch builds
413 * tests/vala-vpath.test: New test, xfailing.
414 * tests/Makefile.am (TESTS): Update.
416 From a report by Zbigniew Jędrzejewski-Szmek.
417 Related to automake bug#8753.
419 2011-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
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
426 * tests/doc-parsing-buglets-colneq-subst.test: New test.
427 * tests/doc-parsing-buglets-tabs.test: Likewise.
428 * tests/Makefile.am (TESTS): Update.
430 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
436 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
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',
445 * tests/defs-static.in: Check that `using_tap', not `use_tap',
447 * tests/self-check-env-sanitize.test: Update.
449 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
459 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
461 tests: defaults to awk+shell driver in tests on TAP support
462 * tests/defs ($am_tap_implementation): Default to "shell", not
465 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
472 2011-08-25 Eric Blake <eblake@redhat.com>
474 ylwrap: fix unusual indentation whitespace
475 * lib/ylwrap: Convert tabs to spaces.
476 Reported by Karl Berry.
478 2011-08-26 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
487 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
497 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
506 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
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
535 Other minor cosmetic and typo fixes.
537 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
550 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
559 2011-08-24 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
571 2011-08-24 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
579 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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').
587 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
594 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
606 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
613 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
620 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
622 testsuite: avoid spurious failure if rst2html program is missing
623 * tests/tap-html.test ($required): Require `rst2html'.
625 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
632 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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
638 (write_test_results): Simply use `close' on the `*.trs' file, that
641 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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
652 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
665 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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:
675 - tap-escape-directive.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
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).
686 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
692 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
699 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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
705 * tests/Makefile.am (tap_with_common_setup_tests): Update.
707 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
713 2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
719 2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
727 2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
729 cosmetics: fix botched indentation in perl TAP driver
730 * lib/tap-driver.pl (main, Getopt::Long::GetOptions): Fix
731 improper or botched indentation.
733 2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
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
754 * tests/Makefile.am (tap_with_common_setup_tests): Update.
756 2011-08-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
767 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
769 * THANKS (Daniel Richard G.): Update e-mail address.
771 2011-08-16 Daniel Richard G. <skunk@iskunk.org> (tiny change)
772 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
782 2011-08-16 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
799 * tests/check-concurrency-bug9245.test: New test.
800 * tests/Makefile.am (TESTS): Update.
802 2011-08-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
808 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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
816 * tests/Makefile.am (tap_with_common_setup_tests): Update.
818 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
832 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
838 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
840 parallel-tests: fix help screen for test driver scripts
841 * lib/tap-driver.pl ($USAGE): The `--trs-file' option is mandatory
843 * lib/tap-driver.sh (print_usage): Likewise.
844 * lib/test-driver (print_usage): Likewise.
845 ($scriptversion): Update.
847 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
872 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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
895 2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
901 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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
908 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
915 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
929 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
947 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
954 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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
962 * tests/Makefile.am (tap_with_common_setup_tests): Update.
964 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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
989 * tests/tap-planskip-later-errors.test: New test.
990 * tests/Makefile.am (tap_with_common_setup_tests): Update.
992 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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
998 * tests/Makefile.am (tap_with_common_setup_tests): Update.
1000 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1006 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
1021 2011-08-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
1040 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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).
1049 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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
1056 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1065 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1067 test defs: yet more environment cleanup
1068 * tests/defs: Also unset the TEST_SUITE_LOG variable.
1070 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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'
1078 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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
1088 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1104 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1115 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1125 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1127 test defs: more environment cleanup
1128 * tests/defs: Also unset variables AM_COLOR_TESTS and
1129 AM_TESTS_ENVIRONMENT.
1131 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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
1139 Bugs exposed by test cases `check6-p.test' and `check7-p.test'.
1141 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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:
1148 am__stealth_MAKE = $(MAKE)
1151 ... $(am__stealth_MAKE) ...
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
1161 (am--redo-logs): ... this new internal helper .PHONY target.
1163 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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
1171 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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).
1180 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1182 test harness: work around a VPATH rewrite issue
1183 * lib/am/check.am (am__TEST_BASES): Removed, it's role taken
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.
1195 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1204 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1215 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1222 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1230 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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
1237 (TAP_PEEKING): Block deleted, all its subroutines and variables
1238 having been removed.
1240 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1248 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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,
1254 this is a non-TAP line
1255 # and this a TAP diagnostic line
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'.
1283 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
1289 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
1302 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1309 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1317 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1323 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
1341 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
1348 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1354 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
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
1361 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
1381 (main): ... in here, where now ...
1382 (extract_tap_comment): ... this new subroutine is used.
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.
1388 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
1395 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
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
1402 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1409 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
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,
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.
1428 (recheck): Be safer w.r.t. make implementation that run recipes
1429 with `errexit' shell flag active.
1431 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1438 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
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'
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.
1459 2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
1487 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1493 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
1506 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
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=$?".
1517 2011-08-03 Bruno Haible <bruno@clisp.org>
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.
1523 2011-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1534 2011-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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
1540 * tests/self-check-is_newest: Extend accordingly.
1541 From a report by Jim Meyering, see automake bug#9147.
1543 2011-07-15 Benoit Sigoure <tsunanet@gmail.com>
1545 docs: add references between the 2 sections on java support
1546 * doc/automake.texi (Java Support, Java): Add cross-references.
1548 2011-07-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1550 Sync auxiliary files from upstream.
1551 * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
1552 lib/texinfo.tex: Sync from upstream.
1554 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1562 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1568 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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 -"
1575 * tests/amhello-cflags.test: Likewise.
1576 * tests/amhello-cross-compile.test: Likewise.
1577 Suggestion from Ralf Wildenhues.
1579 2011-07-04 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1586 2011-07-04 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1593 2011-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
1614 2011-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
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
1620 * tests/Makefile.am (TESTS): Update.
1622 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
1624 gitignore: ignore `*.trs' files in lib/Automake/tests
1625 * lib/Automake/tests/.gitignore: Add `*.trs' pattern.
1627 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1635 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1643 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
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)'.
1649 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
1651 testsuite: one more use of TAP in our own tests
1652 * tests/tap-bad-prog.test, tests/tap-bad-prog2.test: Merged
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.
1660 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
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
1674 * tests/tap-functions.sh: New file containing definition of
1675 helper shell functions used by the TAP-producing tests of the
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'
1689 * tests/self-check-env-sanitize.test: Update, and small related
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
1704 ($(TEST_LOGS)): Depends on them.
1705 (AM_TESTS_ENVIRONMENT): Ensure that `use_tap' is not exported in
1706 the environment of the tests.
1709 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
1711 * NEWS: Fix typo, and related reformatting.
1713 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
1715 * NEWS: add mention of new experimental TAP support
1717 2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1730 2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1738 2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
1740 docs: improve, extend and fix documentation on TAP support
1741 * doc/automake.texi ("Using the TAP test protocol"): Divide this
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.
1754 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
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)
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'.
1766 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1774 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
1776 testsuite: better granularity in a couple of tests on TAP support
1777 * tests/tap-summary-aux.sh: New auxiliary script, filled with code
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.
1787 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
1852 ($(tap_with_common_setup_logs)): Depend on `tap-common-setup.log'
1855 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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'
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
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
1907 ($resfile): ... this new global variable.
1908 (Main code): Write metadata for the test run to `$trsfile' rather
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
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.
1933 2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
1973 2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
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
1984 2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
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").
1998 2011-07-31 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
2012 * lib/am/check.am [!%?PARALLEL_TESTS%] $(check-TESTS): Likewise.
2014 * doc/automake.texi (Script-based Testsuites): Document the new
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.
2025 2011-07-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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
2031 (Simple Tests): ... this one, which on the other hand has been
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.
2044 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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
2050 (report): Adjust to colorize console output when required,
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'
2056 * tests/Makefile.am (XFAIL_TESTS): Remove `tap-color.test'.
2058 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2068 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2080 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2135 2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2153 2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
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
2195 * tests/Makefile.am (EXTRA_DIST): Distribute them.
2196 (testsuite-summary-color.log, testsuite-summary-count.log): Depend
2198 (testsuite-summary-count-many.log): Depend on the auxiliary scripts
2199 'trivial-test-driver' and 'extract-testsuite-summary'.
2202 2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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'
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.
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
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.
2233 2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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: $?
2245 PASS: check12-p.test
2246 =====================================
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
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.
2269 2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
2293 2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2300 2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
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).
2310 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2317 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
2319 docs: minor cosmetic fixes
2320 * doc/automake.texi: Break few overly long lines, throughout the
2322 ("Simple Tests"): Move @vindex for XFAIL_TESTS to the correct
2323 position, i.e., before and not after the paragraph where it is
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.
2330 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2343 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
2345 refactor: split 'usage' subroutine in automake
2346 This change is related to automake bug#7819.
2347 * automake.in (print_autodist_files): New subroutine,
2349 (usage): ... this, which now uses it.
2350 * tests/autodist-no-duplicate.test: New test.
2351 * tests/Makefile.am (TESTS): Update.
2353 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2359 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
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.
2400 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2429 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
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
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.
2494 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2502 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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
2510 * tests/Makefile.am (TESTS): Update.
2512 2011-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2520 2011-06-20 Bert Wesarg <bert.wesarg@googlemail.com> (tiny change)
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
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
2531 [!%?PARALLEL_TESTS%] $(check-TESTS): Color each report line by
2535 2011-06-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2545 2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2574 2011-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
2581 2011-06-19 Jim Meyering <meyering@redhat.com>
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.
2587 2011-06-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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
2597 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2608 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
2610 news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
2611 * NEWS (Miscellaneous changes): Update.
2613 2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2621 2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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.
2646 2010-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2661 2011-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
2680 From a report by Eric Blake.
2682 2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
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>
2692 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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"
2709 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2718 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2726 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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
2738 * tests/py-compile-usage.test: Extend and tighten accordingly.
2740 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2752 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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
2762 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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
2768 (am__py_compile): New variable, to reduce code duplication.
2770 2011-06-05 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2780 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
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
2790 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
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'
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
2809 * tests/depcomp8b.test: Likewise.
2811 2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2826 2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
2847 2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2861 2011-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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,
2868 * tests/Makefile.am (TESTS): Update.
2870 2011-05-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2871 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
2885 2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
2887 testsuite: each test case depends on `defs-static'
2888 * tests/Makefile.am ($(TEST_LOGS)): Depends on `defs-static' too.
2891 2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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'
2903 * tests/pr401b.test: Likewise.
2904 * tests/pr401c.test: Likewise.
2905 * tests/java-flat.test: Likewise, and properly update heading
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'.
2911 2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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
2918 * tests/README: Update.
2920 2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
2936 2011-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2944 2011-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2953 2011-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
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)'.
2960 2011-05-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2971 2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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'
2980 2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
2991 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
2993 tests defs: use `skip_' for skipping java-related tests
2994 * tests/defs.in (java, javac): Use `skip_' to signal test
2997 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
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,
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
3012 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
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).
3019 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
3021 tests: ensure verbose printing of captured make output
3022 * tests/libtool7.test: Ensure verbose printing of captured
3024 * tests/libtool9.test: Likewise.
3026 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3034 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
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
3042 2011-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
3054 2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
3062 2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3070 2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
3072 tests: fix spurious failure in self-check-env-sanitize.test
3073 * tests/self-check-env-sanitize.test: Open file descriptor `5'
3075 Fix spurious failure introduced by merge `v1.11-788-g3b0c8d5'.
3077 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
3079 test: self check subroutines for skipping/failing of tests
3080 * tests/self-check-report.test: New test.
3081 * tests/Makefile.am (TESTS): Update.
3083 2011-04-23 Jim Meyering <meyering@redhat.com>
3084 Stefano Lattarini <stefano.lattarini@gmail.com>
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
3092 * tests/README: Updated.
3093 From a suggestion by Ralf Wildenhues.
3095 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
3101 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3108 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3115 2011-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
3117 java coverage: test JAVACFLAGS and AM_JAVACFLAGS
3118 * tests/javaflags.test: New test.
3119 * tests/Makefile.am (TESTS): Update.
3121 2011-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
3123 java coverage: test rebuild rules for java
3124 * tests/java-rebuild.test: New test.
3125 * tests/Makefile.am (TESTS): Update.
3127 2011-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3138 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
3140 test defs: new requirement for the default java interpreter
3141 * tests/defs.in (for tool in $required): New requirement 'java'.
3143 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3153 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
3155 java coverage: add test on uninstall with JAVA primary
3156 * tests/java-uninstall.test: New test.
3157 * tests/Makefile.am (TESTS): Update.
3159 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
3161 java tests: require java compiler more properly
3162 * tests/java-extra.test: Use "required=javac" instead of ad-hoc
3164 * tests/java-noinst.test: Likewise.
3166 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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
3180 * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
3182 2011-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3195 2011-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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
3202 2011-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
3204 tests: prefer AM_TESTS_ENVIRONMENT to TESTS_ENVIRONMENT
3205 * tests/Makefile.am (TESTS_ENVIRONMENT): Renamed to ...
3206 (AM_TESTS_ENVIRONMENT): ... this.
3208 2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
3215 Suggestion by Ralf Wildenhues.
3217 2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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,
3231 * tests/Makefile.am (TESTS): Update.
3232 Suggestion and motivation by Ralf Wildenhues.
3234 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
3236 test defs: allow overriding of `$me'
3237 * tests/defs.in ($me): Allow overriding by the including test
3238 script. Add some explicative comments.
3240 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3247 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3259 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3269 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3283 2011-04-16 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3294 2011-04-16 Jim Meyering <meyering@redhat.com>
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.
3300 2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3307 2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
3309 tests: fix typo in python5b.test
3310 * tests/python5b.test: Remove extra `:' from $PATH redefinition.
3312 2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3344 2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3350 2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3369 2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3382 2011-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3390 Report by Bruno Haible.
3392 2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3415 2011-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3424 2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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:
3432 javac: no source files
3433 Usage: javac <options> <source files>
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.
3441 2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3452 2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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
3459 * tests/java-check.test: New test.
3460 * tests/Makefile.am (TESTS): Update.
3463 Report from Petteri Räty.
3465 2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3466 Bruno Haible <bruno@clisp.org>
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.
3481 2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3483 typofix in 'tests/defs'
3484 * tests/defs: Fix typo (`itslef' instead of `itself') in
3487 2011-04-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3489 Clarify regex code in depcomp.
3490 * lib/depcomp: Add comment why we don't need regex-escaping here.
3491 Suggested by Stefano Lattarini.
3493 2011-04-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3503 2011-04-02 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3515 2011-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3525 Report by Ignacy Gawedzki.
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.
3531 2011-04-01 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3540 From a report by Maynard Johnson.
3542 2011-03-30 Stefano Lattarini <stefano.lattarini@gmail.com>
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
3552 * tests/Makefile.am (TESTS): Update.
3554 2011-03-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3561 2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
3562 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
3582 * tests/include2.test: Renamed ...
3583 * tests/dist-included-parent-dir.test: ... to this, for
3586 2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
3597 From a report by Patrick Welche.
3599 2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3615 2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3623 2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3634 2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3643 2011-03-01 Stefano Lattarini <stefano.lattarini@gmail.com>
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).
3650 2011-03-01 Peter Rosin <peda@lysator.liu.se>
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.
3658 2011-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3675 2011-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3701 2011-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3712 2011-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
3713 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3715 test defs: add subroutine for input unindenting
3716 * tests/defs.in (unindent): New subroutine.
3717 * tests/instspc-tests.sh: Use it.
3719 2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3729 2011-02-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3736 2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
3742 2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3768 2011-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3782 2011-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3791 2011-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
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.
3843 2011-02-01 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3852 2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3859 2011-01-24 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3868 2011-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3876 2011-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3884 2011-01-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3892 2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
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.
3905 2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
3912 2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3919 2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3920 Stefano Lattarini <stefano.lattarini@gmail.com>
3922 Add comment to check-TESTS rule working around make 3.80 bug.
3923 * lib/am/check.am (check-TESTS): Update comment.
3925 2011-01-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3931 2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3940 2011-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
3941 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3948 2011-01-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
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.
3959 2011-01-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3965 2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3967 tests: work around Tru64 sh -e issues for instspc*.test.
3968 Apparently, Tru64 sh does not like turning off errexit mode,
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.
3976 2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3982 Report by Eric Blake, from report by Scott McCreary against M4.
3984 2011-01-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3986 tests: avoid failure on w32 file systems.
3987 * tests/parallel-tests-unreadable-log.test: SKIP if file cannot
3988 be turned unreadable.
3990 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
3997 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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'.
4004 2011-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
4006 tests: remove useless requirements from cond36.test
4007 * tests/cond36.test ($required): Remove.
4008 Since we are at it, add a trailing `:' command.
4010 2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
4017 2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4018 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4028 2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4030 * NEWS, README: Update copyright years.
4032 2011-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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.
4044 2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
4050 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
4059 2011-01-15 Jim Meyering <meyering@redhat.com>
4061 tests: fix comment typo
4062 * tests/substref.test: Fix grammar in a comment.
4064 2011-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
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)
4071 Found by NixOS Hydra, reported by Ralf Wildenhues.
4073 2011-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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.
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.
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.
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.
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.
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
4138 * tests/warnings-win-over-strictness.test: Extend.
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.
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.
4156 New test on silent-rules mode and portability warnings.
4157 * tests/silent-nowarn.test: New test.
4158 * tests/Makefile.am (TESTS): Update.
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.
4167 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4169 Fix remake rule-induced test failures with HP-UX make.
4170 * tests/remake1a.test: Require GNU make.
4172 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
4179 tests: fix typos in colon6.test
4180 * tests/colon6.test: Fix typos.
4182 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4183 Stefano Lattarini <stefano.lattarini@gmail.com>
4185 tests: explain MSYS setup failure issue, improve test.
4186 * tests/defs: Add comment and failure message, improve fail
4189 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4191 Fix libobj2.test failure with non-GNU make: define $(AR).
4192 * tests/libobj2.test: Ensure $(AR) is suitably defined.
4194 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
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.
4205 2011-01-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
4215 2011-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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
4222 From a report by Юрий Пухальский.
4224 2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4238 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4265 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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').
4277 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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
4287 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4296 2011-01-09 Dave Hart <davehart@gmail.com> (tiny change)
4298 Fix another typo in Rule.pm comment.
4299 * lib/Automake/Rule.pm: Fix typo.
4301 2011-01-09 Peter Rosin <peda@lysator.liu.se>
4303 Fix another typo in Rule.pm comment.
4304 * lib/Automake/Rule.pm: Fix typo.
4306 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
4308 tests: texinfo unrecognized extensions
4309 * tests/txinfo-unrecognized-extension.test: New test.
4310 * tests/Makefile.am (TESTS): Update.
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
4321 * tests/txinfo2.test: Moved checks into Makefile.am, and other
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
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.
4365 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4372 2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4380 * tests/yflags-conditional.test: Updated and extended.
4381 * tests/yflags-conditional-force.test: New test.
4382 * tests/Makefile.am (TESTS): Updated.
4384 2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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.
4396 2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
4416 2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
4430 * tests/yacc-nodist.test: New test.
4431 * tests/yacc-dist-nobuild.test: New test.
4432 * tests/Makefile.am (TESTS): Update.
4434 2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
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.
4481 2011-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4493 automake: minor fixes in comments
4494 * automake.in: Some minor fixes and enhancements in comments.
4496 2011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
4504 Fix typos in Rule.pm comments.
4505 * lib/Automake/Rule.pm: Fix typos in comments.
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.
4514 2011-01-08 Karl Berry <karl@freefriends.org>
4515 Eric Blake <eblake@redhat.com>
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.
4522 2011-01-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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
4532 This change fixes this issue, by making non-distributed `.c' and
4533 `.h' files generated by non-distributed Yacc sources cleaned by
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.
4542 2011-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
4544 * NEWS: Fix typo (forgotten word).
4546 2011-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
4547 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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').
4554 2010-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4556 Tests: normalize use of the 'errexit' shell flag.
4557 * tests/maken3.test (check_targets): Remove redundant call to
4559 * tests/maken4.test: Likewise.
4560 * tests/ansi5.test: Call 'set -e' just after './defs' has been
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.
4588 2011-01-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4590 Sync auxiliary files from upstream.
4591 * lib/config.guess, lib/config.sub, lib/texinfo.tex:
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.
4599 Fix maintainer-check regression.
4600 * tests/subobj11a.test: Pass DISTCHECK_CONFIGURE_FLAGS in the
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.
4608 2010-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
4610 * NEWS: Add missing blank line between two entries.
4612 2010-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
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
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.
4644 2010-12-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4645 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
4658 Report by Stefano Lattarini, quick fix by Ralf Wildenhues, final
4659 patch and tests by Stefano Lattarini.
4661 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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
4668 Reported by Ralf Wildenhues. The bugs have been there from the
4669 first versions of the affected test scripts.
4671 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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).
4679 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4692 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
4716 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4729 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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>
4743 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4749 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4755 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4761 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4768 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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
4775 * tests/auxdir8.test: Likewise.
4777 2010-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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.
4798 2010-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
4805 2010-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
4807 docs: list LTLIBRARIES among Automake primaries
4808 * doc/automake.texi (Uniform): List `LTLIBRARIES' among
4809 the Automake primaries.
4811 2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
4812 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
4818 2010-12-17 Stefano Lattarini <stefano.lattarini@gmail.com>
4820 Minor cleanups in canon7.test.
4821 * tests/canon7.test (_foo_bar_SOURCES): Remove libs.c.
4822 (configure.in): Remove AC_PROG_CXX.
4824 2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
4830 2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
4836 2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
4845 2010-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4856 2010-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
4872 2010-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
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
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.
4895 2010-12-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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
4905 * tests/remake3.test: Likewise (but with sister test being
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 `:'
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.
4933 2010-12-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
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.
4953 2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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.
4969 2010-12-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4971 Fix testsuite failure of check12.test without DejaGNU.
4972 * tests/check12.test: Require runtest.
4974 2010-12-12 Stefano Lattarini <stefano.lattarini@gmail.com>
4976 Tests defs: more uses of $top_testsrcdir.
4977 * tests/compile6.test: Use `$top_testsrcdir' instead of
4980 2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
4987 2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
4988 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4990 Tests defs: avoid some useless subshells.
4991 * tests/defs: In the loop on "$required" tools: avoid subshells
4994 2010-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
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.
5043 2010-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
5057 2010-12-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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
5068 * tests/colon3.test: Likewise (but with the sister test being
5069 `colon2.test' here).
5071 2010-12-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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
5077 * tests/check12.test: ... this new "semantic" test, covering
5078 concurrent use of dejagnu tests, simple tests and `check-local'
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
5094 * tests/dejagnu7.test: Prefer `cat' over `echo' to append to
5095 configure.in. Better use of blank lines. Add a trailing `:'
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
5103 * tests/Makefile.am (TESTS): Updated.
5105 2010-12-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
5112 2010-12-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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
5121 * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
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.
5161 Modernize, improve and/or tweak some test scripts.
5162 * tests/maintclean.test: Use proper m4 quoting. Add trailing `:'
5164 * tests/sinclude.test: Likewise, and add a couple of blank lines,
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
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.
5180 2010-12-02 Stefano Lattarini <stefano.lattarini@gmail.com>
5182 * tests/silent8.test: Use "|| Exit 1" after ". ./defs".
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
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
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
5222 * tests/spelling.test: Enable `errexit' shell flag, with related
5223 changes. Add a trailing `:' command. Also, grep Automake error
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.
5232 2010-11-30 Stefano Lattarini <stefano.lattarini@gmail.com>
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 `:'
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.
5246 2010-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
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'
5254 * tests/werror.test: Update: use `-Werror' instead of `--Werror'.
5257 2010-11-25 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
5280 2010-11-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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.
5340 2010-11-19 Ian Lance Taylor <iant@google.com>
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.
5346 2010-11-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
5353 2010-11-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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.
5371 2010-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
5373 Automake::Config: remove extra trailing semicolon.
5374 * lib/Automake/Config.in: Remove extra trailing semicolon.
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.
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
5386 2010-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
5394 2010-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
5402 2010-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
5410 2010-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
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
5422 2010-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
5433 2010-11-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
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.
5445 2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
5451 2010-11-16 Peter Rosin <peda@lysator.liu.se>
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.
5459 2010-11-15 Peter Rosin <peda@lysator.liu.se>
5461 compile: clear the `eat' variable earlier.
5462 * lib/compile: Clear the `eat' variable earlier.
5463 ($scriptversion): Update.
5464 * tests/compile3.test: Prevent regressions.
5466 2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
5473 2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
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.
5486 2010-11-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5488 Fix yaccdry.test failure: require bison.
5489 * tests/yaccdry.test: Require bison.
5490 Found by NixOS Hydra.
5492 2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
5500 2010-11-13 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
5514 2010-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
5535 2010-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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'.
5557 2010-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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
5565 2010-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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.
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
5592 Tests defs: rename $curdir -> $testbuilddir
5593 * tests/defs.in: Rename $curdir to $testbuildir, for clarity and
5594 consistency with $testsrcdir and $top_testsrcdir.
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.
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.
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.
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.
5615 Tests defs: various reorderings.
5616 * tests/defs.in: Reordered various snippets of code in a
5619 2010-11-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
5628 2010-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
5641 2010-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
5666 2010-11-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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
5679 * tests/Makefile.am (TESTS): Updated.
5681 2010-11-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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'.
5689 2010-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
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:
5705 * tests/Makefile.am (TESTS): Update.
5707 2010-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
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
5717 * tests/Makefile.am ($(instspc_tests)): In the generated test
5718 scripts, use `$testsrcdir', not `$srcdir'.
5720 2010-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
5759 2010-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5761 Add FAQ entry for bug reporting instructions.
5762 * doc/automake.texi (Reporting Bugs): New section.
5763 (Introduction): Refer to it.
5765 2010-10-07 Peter Rosin <peda@lysator.liu.se>
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.
5774 2010-10-05 Jim Meyering <meyering@redhat.com>
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.
5787 2010-10-04 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
5794 From a report by Thomas Klausner.
5796 Add test for `AM_WITH_DMALLOC' macro.
5797 * tests/dmalloc.test: New test.
5798 * tests/Makefile.am (TESTS): Update.
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.
5809 2010-10-03 Stefano Lattarini <stefano.lattarini@gmail.com>
5810 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
5820 2010-10-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
5826 2010-10-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
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.
5841 2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
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.
5863 Suggested by Eric Blake.
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
5869 * tests/python11.test: Use --force for repeated autotools runs.
5870 Reports from the NixOS Hydra build daemon via Ludovic Courtès.
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.
5878 Reports by Ludovic Courtès, Peter Breitenlohner, and others.
5880 2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
5886 2010-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
5897 Report by Bob Friesenhahn.
5899 2010-09-26 Stefano Lattarini <stefano.lattarini@gmail.com>
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
5914 * tests/Makefile.am (TESTS): Updated.
5916 2010-09-25 Stefano Lattarini <stefano.lattarini@gmail.com>
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"):
5932 * Makefile.am (sc_tests_PATH_SEPARATOR): New maintainer check.
5933 (syntax_check_rules): Updated.
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.
5941 2010-09-22 Stefano Lattarini <stefano.lattarini@gmail.com>
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
5950 (missing and AM_MAINTAINER_MODE): Try to be more agnostic w.r.t.
5951 the version control system used.
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
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".
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
5976 2010-09-21 Stefano Lattarini <stefano.lattarini@gmail.com>
5978 * m4/dmalloc.m4: Bump serial number and copyright years.
5980 2010-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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
5988 2010-09-21 Peter Rosin <peda@lysator.liu.se>
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.
6002 2010-09-17 Eric Blake <eblake@redhat.com>
6004 Avoid triple-space after period.
6005 * automake.in (handle_single_transform): Avoid 3 spaces at
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.
6015 2010-09-15 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
6032 2010-09-14 Stefano Lattarini <stefano.lattarini@gmail.com>
6034 * tests/README: Don't put GCS mandated tools in $required.
6036 2010-09-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6038 * HACKING: Hint at old commits with `git describe' output.
6040 2010-09-14 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
6047 2010-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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
6054 Regression introduced by change "Modernize, improve and/or
6055 extend tests `colon*.test" (Stefano Lattarini, 2010-08-08).
6057 2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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.
6068 2010-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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
6077 From a report by Jeff A. Daily.
6079 2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
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
6092 * tests/Makefile.am (TESTS): Updated.
6093 Prompted by a report from Ralf Wildenhues.
6095 2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6097 Remove useless whitespace padding in XFAIL_TESTS definition.
6098 * tests/Makefile.am (XFAIL_TESTS): Remove whitespace padding.
6100 2010-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
6111 Report by Bob Friesenhahn.
6113 Posix 2008 requires make to set errexit.
6114 * lib/am/check.am: Update comment.
6116 2010-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
6118 Tests defs: remove variable $testaclocaldir.
6119 * tests/defs.in ($testaclocaldir): Removed.
6120 * tests/aclocal.test: Use `$top_testsrcdir/m4' directly, not
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
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
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.
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.
6147 2010-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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.
6159 2010-08-27 Stefano Lattarini <stefano.lattarini@gmail.com>
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
6167 2010-09-02 Peter Rosin <peda@lysator.liu.se>
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.
6174 2010-08-31 Peter Rosin <peda@lysator.liu.se>
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.
6181 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
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.
6197 2010-08-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
6204 2010-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
6205 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
6213 Fix typo in manual (`Makefile.in' instead of `Makefile.am').
6214 * doc/automake.texi (Automatic dependency tracking): Fix typo.
6216 2010-08-16 Bruno Haible <bruno@clisp.org>
6218 Don't hide the table of contents.
6219 * doc/automake.texi: Move the table of contents to the beginning.
6221 2010-08-16 Peter Rosin <peda@lysator.liu.se>
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.
6231 2010-08-16 Peter Rosin <peda@lysator.liu.se>
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.
6240 2010-08-12 Peter Rosin <peda@lysator.liu.se>
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.
6248 2010-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
6250 Tweak and/or extend some `acloca*.test' tests.
6251 * tests/aclocal8.test: Ensure verbose printing of captured
6253 * tests/aclocal.test: Likewise. Also, add trailing `:'
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.
6264 2010-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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
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
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
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.
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.
6342 2010-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6344 Tweak, extend and improve tests `cond[a-z]*.test'.
6345 * tests/condd.test: Add trailing `:' command. Typofix in
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
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
6361 * tests/Makefile.am (TESTS): Updated.
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.
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.
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
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
6418 * tests/confh5.test: Make grepping of `config.h' stricter. Add a
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
6433 * tests/Makefile.am (TESTS): Updated.
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 `:'
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.
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.
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
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
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
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.
6505 Remove a couple of obsoleted tests.
6506 * tests/fpinstall.test: Removed.
6507 * tests/fpinst2.test: Likewise.
6508 * tests/Makefile.am (TESTS): Updated.
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.
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
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.
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.
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.
6534 2010-08-06 Peter Rosin <peda@lysator.liu.se>
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
6544 (Optional): Mention 'ar-lib' in AC_CONFIG_AUX_DIR.
6547 2010-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6549 Fix shell pattern negation in compile script.
6550 * lib/compile (func_file_conv): Use `!' not `^' for pattern
6553 2010-08-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6555 Fix maintainer-check failure.
6556 * tests/cond5.test: Quote sleep argument, this isn't about
6557 time stamp differences.
6559 Sync auxiliary files from upstream.
6560 * lib/config.guess, lib/config.sub, lib/texinfo.tex:
6563 2010-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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)
6570 2010-08-06 Peter Rosin <peda@lysator.liu.se>
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.
6576 2010-08-01 Peter Rosin <peda@lysator.liu.se>
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.
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.
6594 2010-07-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6596 Add example git work flow; discuss merge --log in HACKING.
6598 Suggestion by Stefano Lattarini.
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.
6604 Prompted by suggestion from Ludovic Courtès and Andy Wingo.
6606 2010-07-27 Patrick Welche <prlw1@cam.ac.uk> (tiny change)
6608 Fix typo in the manual.
6609 * doc/automake.texi (Scripts): Fix typo.
6611 2010-07-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6613 Document current policy for development with git.
6614 * HACKING (Working with git): Overhaul.
6615 Prompted by suggestion from Stefano Lattarini.
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
6621 * tests/cond40.test: Extend test.
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.
6629 Coverage: bogus option to AM_INIT_AUTOMAKE.
6630 * tests/init2.test: New test.
6631 * tests/Makefile.am: Update.
6633 2010-07-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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
6666 * tests/distcom6.test: Likewise, and avoid to uselessly run
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.
6687 2010-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
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
6697 Enable `errexit' flag, and related changes.
6698 Rely on the `configure.in' stub created by `./defs', rather than
6699 writing one from scratch.
6701 2010-06-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
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
6715 (Introduction, Creating amhello, amhello Explained, Options):
6717 * lib/Automake/Makefile.am (do_subst): Substitute
6719 * lib/Automake/Config.in ($PACKAGE_BUGREPORT): New global.
6720 * lib/Automake/ChannelDefs.pm: Use it for footer of fatal
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.
6727 2010-06-26 Stefano Lattarini <stefano.lattarini@gmail.com>
6729 Fix typo-related bug in test script silent5.test.
6730 * tests/silent5.test: Use $EGREP, not $GREP (which is not even
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.
6747 Drop useless requirement "gzip" in lex5.test.
6748 * tests/lex5.test ($required): Do not list "gzip", as it's
6751 2010-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
6757 2010-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
6764 2010-06-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
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.
6776 2010-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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
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
6795 * tests/yflags2.test: Likewise.
6796 * tests/Makefile.am (TESTS, XFAIL_TESTS): Extended accordingly.
6798 2010-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
6800 Modernize, improve and extend tests `suffix*.test'.
6801 * tests/suffix3.test: Enable `errexit' shell flag, and related
6803 * tests/suffix4.test: Likewise.
6804 * tests/suffix6.test: Likewise, and do not create a useless dummy
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.
6827 2010-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
6833 2010-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
6839 Normalize whitespaces in 'tests/Makefile.am'.
6840 * tests/Makefile.am (TESTS): Use only spaces, not tabs, in the
6841 definition of this variable.
6843 Parallel tests generation: improve comments (tiny change).
6844 * tests/Makefile.am ($(parallel_tests)): Added useful comment to
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).
6852 2010-06-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
6858 2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
6860 Modernize, improve and/or fix various test scripts.
6861 * tests/symlink3.test: Deleted, separated into two new, more
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
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.
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
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.
6911 2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
6913 cscope.test: ensure verbose printing of captured stderr.
6914 * tests/cscope.test: Print captured stderr before failing.
6916 2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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
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
6937 * tests/ansi3.test: Likewise, and rely on the `configure.in' stub
6938 created by `./defs', rather than writing one from scratch.
6940 Enable `errexit' shell flag in various tests.
6941 * tests/backsl.test: Enable the `errexit' shell flag, and
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
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.
6964 2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
6965 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
6972 2010-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
6974 Improve determination of PATH separator in bootstrap script.
6975 * bootstrap: Determine what the PATH separator is the same way
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.
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.
6991 2010-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
7027 Make test `ammissing.test' stricter.
7028 * tests/ammissing.test: Fail if $ACLOCAL succeeds unexpectedly.
7029 Enable `errexit' shell flag.
7031 2010-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
7032 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
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.
7044 2010-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
7046 Enable `errexit' shell flag in some test scripts.
7047 * tests/subcond.test: Enabled `errexit' shell flag, and related
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
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'.
7067 2010-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
7068 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
7076 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7078 Coverage for TAGS_DEPENDENCIES warning.
7079 * tests/tags2.test: New test.
7080 * tests/Makefile.am: Update.
7082 Coverage for use of anachronistic variables.
7083 * tests/oldvars.test: New test.
7084 * tests/Makefile.am: Update.
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.
7090 Coverage for aclocal diagnosing underquoted macros.
7091 * tests/acloca23.test: New test.
7092 * tests/Makefile.am: Update.
7094 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
7102 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
7110 (handle_dist): Add missing closing single quote in message.
7111 Line-wrap one long message for readability.
7113 2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
7114 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
7126 2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
7138 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
7147 2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
7149 Enable `errexit' shell flag in some test scripts.
7150 * tests/dash.test: Enable `errexit' shell flag, and related
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.
7179 Enable `errexit' shell flag in all tests cxx*.test.
7180 * tests/cxx.test: Enabled `errexit' shell flag, and related
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.
7188 Enable `errexit' shell flag in various tests.
7189 * tests/acoutnoq.test: Enabled `errexit' shell flag, and related
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.
7217 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
7227 Report by Christina Gratorp.
7231 2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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.
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.
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.
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.
7264 New test `silentcxx.test' (Automake silent-mode with C++).
7265 * tests/silentcxx.test: New test.
7266 * tests/Makefile.am (TESTS): Updated accordingly.
7268 New test `silentyacc.test' (Automake silent-mode with Yacc).
7269 * tests/silentyacc.test: New test.
7270 * tests/Makefile.am (TESTS): Updated accordingly.
7272 New test `silentlex.test' (Automake silent-mode with Lex).
7273 * tests/silentlex.test: New test.
7274 * tests/Makefile.am (TESTS): Updated accordingly.
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.
7286 2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
7294 2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
7301 Report from Eric Blake and Steve Goetze via gnulib.
7303 2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
7314 2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
7321 Relax silent8.test for NetBSD make.
7322 * tests/silent8.test: Accept ./foo.info in output as well.
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.
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:
7333 2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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'.
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'.
7349 2010-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
7366 * lib/Automake/Channels.pm (setup_channel): Reword error message
7367 to be the same as in msg.
7369 Fix placing of ellipses in English text and synopses.
7370 * Makefile.am: Be sure to add a space before `...' in natural
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.
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: '
7391 * doc/automake.texi (Simple Tests using parallel-tests): Add
7392 missing closing parenthesis.
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.
7398 2010-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
7400 Minor improvements in comments of test `silent3.test'.
7401 * tests/silent3.test: Tell to keep it in sync with `silent9.test'
7404 2010-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
7412 2010-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
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.
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.
7429 2010-04-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
7435 (require_variables): Initialize it here.
7436 * tests/configure.test: New test.
7437 * tests/Makefile.am: Update.
7438 Report by Stefano Lattarini.
7440 2010-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
7449 2010-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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<...>.
7455 2010-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
7462 2010-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
7464 Fix typos in comments in test confh5.test
7465 * tests/confh5.test: Fix a couple of typos in comments.
7467 Avoid possible false negatives in canon-name.test.
7468 * tests/canon-name.test: Enable shell `errexit' flag. Improve
7471 2010-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
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
7490 * tests/vars3.test: Rename variable to avoid false positive.
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
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
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
7510 Report by Bruno Haible.
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:
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.
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.
7536 2010-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
7543 Make test `aclocal3.test' stricter.
7544 * tests/aclocal3.test: Add call to `set -e'. Fail if $ACLOCAL
7545 succeds unexpectedly.
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.
7552 2010-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
7559 2010-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
7568 2010-04-04 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
7577 2010-03-30 Stefano Lattarini <stefano.lattarini@gmail.com>
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 `$?',
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
7590 2010-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
7597 2010-03-13 Karl Berry <karl@freefriends.org>
7599 GNU hello uses fdl.texi, not gpl.texi.
7600 * doc/automake.texi (Texinfo): Adjust example to upstream
7603 2010-03-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
7611 2010-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
7612 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
7623 * tests/gen-parallel-tests: Selection rules for the test
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.
7641 2010-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
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.
7658 2010-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7660 Fix cscope test on systems without working Fortran compiler.
7661 * tests/cscope.test: Skip remainder of test if `$MAKE all' fails.
7663 Report by Peter Johansson.
7665 2010-02-24 Antonio Diaz Diaz <ant_diaz@teleline.es> (tiny change)
7666 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
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.
7682 2010-02-22 Karl Berry <karl@gnu.org>
7684 Improve help message of mdate-sh.
7685 * mdate-sh: mention actual output format in help message.
7687 2010-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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.
7693 Missing deprecation noted by Antonio Diaz Diaz.
7695 2010-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
7697 Add tests about support of wildcards in EXTRA_DIST.
7698 * tests/extra10.test: New test, check basic support of wildcards
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.
7708 2010-02-08 Simon Josefsson <simon@josefsson.org>
7710 Fix copyright statement in gnupload script.
7711 * lib/gnupload: Fix copyright statement.
7713 2010-02-06 Dmitry V. Levin <ldv@altlinux.org> (tiny change)
7714 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
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.
7727 2010-02-06 Karl Berry <karl@gnu.org>
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.
7733 2010-01-28 Christos Kontas <xakon@yahoo.com> (tiny change)
7735 Fix some typos in the manual
7736 * doc/automake.texi (Nested Packages, Rebuilding): Fix typos.
7738 2010-01-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
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
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>.
7760 2010-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
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
7767 * tests/acoutbs.test: Likewise, plus updated copyright years.
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.
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.
7782 2010-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7784 Sync auxiliary files from upstream.
7785 * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub:
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.
7794 * ChangeLog.09: New file, rotated from ...
7795 * ChangeLog: ... here.
7796 * Makefile.am (EXTRA_DIST): Distribute ChangeLog.09.
7800 Copyright (C) 2010, 2011 Free Software Foundation, Inc.
7802 Copying and distribution of this file, with or without modification, are
7803 permitted provided the copyright notice and this notice are preserved.