1 2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3 aclocal: better URL reference in error message
4 * aclocal.in (scan_file): In the error message about underquoted
5 definitions, reference the automake page at `www.gnu.org', not
6 at `sources.redhat.com'.
8 2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
10 tests: avoid creating useless files in some test directories
11 * tests/aclocal.test: Define `$am_create_testdir' to "empty"
12 before sourcing ./defs, to avoid bringing in unused auxiliary
13 files. Related adjustments.
14 * tests/aclocal3.test: Likewise.
15 * tests/aclocal8.test: Likewise.
16 * tests/aclocal9.test: Likewise.
17 * tests/acloca10.test: Likewise.
18 * tests/acloca11.test: Likewise.
19 * tests/acloca12.test: Likewise.
20 * tests/acloca15.test: Likewise.
21 * tests/acloca16.test: Likewise.
22 * tests/acloca17.test: Likewise.
23 * tests/acloca18.test: Likewise.
24 * tests/acloca20.test: Likewise.
25 * tests/acloca21.test: Likewise.
26 * tests/acloca23.test: Likewise.
27 * tests/aclocal-print-acdir.test: Likewise.
28 * tests/ar-lib.test: Likewise.
29 * tests/compile.test: Likewise.
30 * tests/compile2.test: Likewise.
31 * tests/compile3.test: Likewise.
32 * tests/compile6.test: Likewise.
33 * tests/instsh2.test: Likewise.
34 * tests/instsh3.test: Likewise.
35 * tests/mdate5.test: Likewise.
36 * tests/mdate6.test: Likewise.
37 * tests/missing3.test: Likewise.
38 * tests/missing5.test: Likewise.
39 * tests/mkinst3.test: Likewise.
40 * tests/self-check-explicit-skips.test: Likewise.
41 * tests/self-check-report.test: Likewise.
42 * tests/self-check-sanity.test: Likewise.
43 * tests/tap-driver-stderr.test: Likewise.
45 2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
47 test defs: more environment cleanup
48 * tests/defs: Also unset the XFAIL_TESTS, and various
49 LOG_DRIVER, LOG_COMPILER variables (and corresponding
52 2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
54 tests: allow depmod.tap to only run a subset of its tests
55 * tests/depmod.tap: If command-line arguments are passed to the
56 tests, they are now taken as the list of test names for which the
59 2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
61 tests: allow instspc.tap to only run a subset of its tests
62 * tests/instspc.tap: If command-line arguments are passed to the
63 tests, they are now taken as the list of test names for which the
66 2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
68 coverage: distcheck-hook to catch missing/outdated *.m4 files
69 Related to automake bug#9037.
70 * tests/distcheck-missing-m4.test: New test.
71 * tests/distcheck-outdated-m4.test: Likewise.
72 * tests/distcheck-hook-m4.am: New data file, used by the new
74 * tests/Makefile.am (distcheck-m4-missing.log,
75 distcheck-m4-outdated.log): Depend on it.
76 (EXTRA_DIST): Distribute it.
77 (TESTS): Add the new tests.
79 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
81 tests: more granularity in variables for tools overriding
82 Among the other things, this change makes it possible to use, at
83 the same time, an autoconf version in the automake testsuite and
84 another one in the automake build system; even more importantly, it
85 makes it possible to use, say, a non-GNU make implementation in the
86 test scripts, while at the same time using GNU make to drive the
87 execution of the automake's test suite.
88 * tests/defs-static.in (TEX, EGREP, FGREP, SHELL, PERL, MAKE,
89 AUTOCONF, AUTOM4TE, AUTORECONF, AUTOHEADER, AUTOUPDATE,
90 original_AUTOMAKE, original_ACLOCAL): Allow and prefer overriding
91 through corresponding `AM_TESTSUITE_..' variables; for example,
92 $GREP can now be overridden by an exported `$AM_TESTSUITE_GREP'
94 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
96 testsuite: fix `skip_row_' subroutine in tap-functions.sh
97 * tests/tap-functions.sh (skip_row_): Use `seq_', not `seq', to
98 be portable to non-GNU systems.
99 Bug revealed by a testsuite error on Solaris.
101 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
103 installcheck: support it in our own testsuite
105 * tests/defs-static.in ($am_running_installcheck): New variable.
106 Initialize it to a default of "no", and sanity-check its value.
107 ($am_datadir, $am_docdir, $am_automake_acdir, $am_system_acdir,
108 $am_bindir, $am_scriptdir, $am_pkgvdir): New variables,
109 initialized from AC_SUBST'ed values which are adaptively chosen
110 depending on whether the testsuite is running in "simple" mode
111 or in "installcheck" mode.
112 ($MISSING): Remove, it's not really required by the testsuite.
113 ($PATH): Update using `$am_bindir', not `$testbuilddir'.
114 * Makefile.am (installcheck-local): New target.
115 * lib/Automake/tests/Makefile.am (installcheck-local): New target.
116 (AM_TESTS_ENVIRONMENT, AM_PL_LOG_FLAGS): Adaptively choose the
117 `-I' flags for perl based on whether the tests are being run by
118 "make check" or "make installcheck".
119 * tests/Makefile.am (installcheck-local): New target.
120 (defs-static): Generate it at make time, not at configure time,
121 in order to correctly resolve all the indirections in the
122 AC_SUBST'd variables; done with the help of ...
123 (do_subst): ... this new macro.
124 (EXTRA_DIST): Explicitly distribute `defs-static.in'.
125 (CLEANFILES): Remove `defs-static'.
126 * configure.ac (AC_CONFIG_FILES): Remove `tests/defs-static'.
127 (AC_SUBST): Substitute also `automake_acdir', `system_acdir',
128 `scriptdir' and `amdir' to proper values.
129 * lib/Makefile.am (scriptdir): Don't explicitly define anymore.
130 * lib/am/Makefile.am (amdir): Likewise.
131 * m4/acdir/dirlist: Remove, it's not needed anymore. Instead
133 * m4/acdir/.placeholder: ... this file.
134 * m4/Makefile.am (EXTRA_DIST): Update.
135 (automake_acdir, system_acdir): Don't explicitly define anymore.
136 * tests/aclocal-print-acdir.test: Use new `$am_...dir' variables,
137 instead of hard-coding values with $testsrcdir and $testbuilddir,
138 to test more faithfully under "make installcheck".
139 * tests/amhello-binpkg.test: Likewise.
140 * tests/amhello-cflags.test: Likewise.
141 * tests/amhello-cross-compile.test: Likewise.
142 * tests/ansi2knr-no-more.test: Likewise.
143 * tests/autodist-stamp-vti.test: Likewise.
144 * tests/auxdir.test: Likewise.
145 * tests/check2.test: Likewise.
146 * tests/copy.test: Likewise.
147 * tests/multlib.test: Likewise.
148 * tests/obsolete.test: Likewise.
149 * tests/parallel-tests-interrupt.test: Likewise.
150 * tests/repeated-options.test: Likewise.
151 * tests/suffix5.test: Likewise.
152 * tests/tap-doc2.test: Likewise.
153 * tests/txinfo22.test: Likewise.
154 * tests/vtexi3.test: Likewise.
155 * tests/defs: Likewise. Also, print the values of `$using_tap'
156 and `$am_running_installcheck', to simplify debugging, and do
157 some related code movings and tweakings.
158 * tests/aclocal3.test: Update to avoid possible spurious failures
159 when running under "make installcheck".
160 * tests/warnings-unknown.test: Likewise.
161 * tests/location.test: Likewise, and improve debugging input since
163 * tests/acloca10.test: Adapt and tweak to work also during a
164 "make installcheck", and not to require a pre-populated `dirlist'
166 * tests/acloca18.test: Likewise.
167 * tests/dirlist2.test: Likewise.
168 * tests/dirlist.test: Likewise, and remove an obsolete comment.
169 * tests/README: Update.
170 * tests/dirlist-abspath.test: New test.
171 * tests/list-of-tests.mk: Update.
173 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
175 maintcheck: fix spurious failures
176 * tests/gen-testsuite-part (write_wrapper_script): More uses of
177 creative quoting in the generated tests, to avoid triggering
178 failures in the `sc_tests_Exit_not_exit' maintcheck.
179 * Makefile.am (sc_tests_tap_plan): It's OK for auto-generated
180 TAP tests that sources an hand-written one not to declare a TAP
181 plan: the sourced test will do so.
182 * tests/Makefile.am (checked_test_extensions): Don't define
183 anymore, the default value `$(TEST_EXTENSIONS)' is correct now.
184 (expected_list_of_tests): Don't define anymore, the default
185 value `$(TESTS)' is correct now.
187 2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
189 aclocal: more granularity in acdir overriding
190 Before this change, using the `--acdir' option caused aclocal to
191 redefine both the directory of automake-provided m4 macros and the
192 directory of third-party system-wide m4 macros. With this change,
193 we deprecate the `--acdir' aclocal option, and introduce two new
194 options `--automake-acdir' and `--system-acdir', to allow for more
196 * aclocal.in (@automake_includes, @system_includes,
197 @user_includes): Fix and extend comments.
199 (handle_acdir_option): New function.
200 (parse_arguments): Recognize new options `--system-acdir' and
201 `automake-acdir', and handle `--acdir' using the new function
202 above. Simplify logic by assuming that the directory of
203 third-party system-wide m4 files always exists.
204 * tests/aclocal.in: Update to use the new options, instead of
205 the deprecated. `--acdir'.
206 * m4/dirlist: Move ...
207 * m4/acdir/dirlist: ... here.
208 * m4/Makefile.am (EXTRA_DIST): Update.
209 (m4datadir): Rename ...
210 (automake_acdir): ... to this. Accordingly, ...
211 (dist_m4data_DATA): ... rename this ...
212 (dist_automake_ac_DATA): ... to this.
213 (system_acdir): New, directory.
214 (dist_system_ac_DATA): New, defined to an empty value; this will
215 ensure that the $(system_acdir) directory will be created by
217 * tests/aclocal.test: Remove check about the `--print-ac-dir'
218 option of aclocal, it has been moved into ...
219 * tests/aclocal-print-acdir.test: ... this new test, and quite
221 * tests/aclocal-acdir.test: New test.
222 * tests/Makefile.am (TESTS): Add the new tests.
223 * NEWS, bootstrap: Update.
224 * doc/automake.texi (aclocal Options, Macro Search Path): Update.
226 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
228 cosmetic: rename gen-tests-deps -> gen-testsuite-part
229 * tests/gen-tests-deps: Renamed ...
230 * tests/gen-testsuite-part: ... to this.
232 * tests/Makefile.am ($(srcdir)/tests-deps.am): Don't generate
234 ($(srcdir)/testsuite-part.am): ... do with this instead.
235 * tests/.gitignore (tests-deps.am): Don't ignore this ...
236 (testsuite-part.am): ... ignore this instead.
238 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
240 testsuite: revamp generation of autogenerated tests
241 With this change, we make generated tests be real scripts again
242 -- albeit only thin layers around the tests they wrap. It turned
243 out that the apparently clever tricks we played by having lots
244 of custom (and auto-generated) `..._LOG_COMPILER' variables and
245 by having the tests in $(wrap_TESTS) not being real on-file-system
246 scripts caused more pain and confusion than expected, for only
247 marginal gains. Also, that previous setup didn't interact very
248 well with "make check RECHECK_LOGS=", since the log files for
249 the "wrappee" tests were always considered out-of-date (which in
250 hindsight is natural, since these log files depended on wrappee
251 tests that didn't exist -- and weren't created). And finally, it
252 wasn't possible to easily and naturally run the wrappee tests
253 from the command line -- definitely harmful for debugging and
255 * tests/gen-wrap-tests: Deleted, its role subsumed into ...
256 * tests/gen-tests-deps: ... this script, with the help of
257 (unindent, atomic_write, build_matcher, write_wrapper_script,
258 %test_generators): ... these new functions and variables.
259 Other few minor fixlets and improvements.
260 * tests/wrap-tests.sh: Delete, not needed anymore.
261 * tests/Makefile.am ($(srcdir)/wrap-tests.am): Don't generate
263 (EXTRA_DIST): Update.
264 (wrap_TESTS): Renamed to ...
265 (generated_TESTS): ... this.
266 ($(generated_TESTS)): Must have the same dependencies of
267 `$(srcdir)/tests-deps.am'.
268 Other minor related reordering and adjustments.
269 * bootstrap: Do not generate `wrap-tests.am' anymore.
270 * tests/.gitignore (wrap-tests.am): Don't ignore anymore.
271 (*-w.test, *-w.tap): Ignore.
272 * tests/README: Update paragraph on automatically-generated
275 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
277 testsuite: automatize generation of dependencies for tests
278 * tests/gen-test-deps: New script, automatically generates
279 dependencies for the tests.
280 * tests/Makefile.am (EXTRA_DIST): Distribute it.
281 ($(srcdir)/tests-deps.am): New rule.
282 (include $(srcdir)/tests-deps.am): New inclusion.
283 Remove hand-written dependencies for tests. Other related
285 * tests/list-of-tests (tap_with_common_setup_TESTS,
286 tap_other_TESTS): Delete, their content merged back into ...
287 (handwritten_TESTS): ... this.
288 * tests/.gitignore (tests-deps.am): New ignored file.
289 * bootstrap: Generate `tests/tests-deps.am'.
291 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
293 tests: avoid spurious failure due to bug in older TAP::Parser
294 Older TAP::Parser versions (e.g., 3.10) erroneously convert a test
295 number `0' into `1'; do not let this bug cause a spurious failure
297 * tests/tap-test-number-0.test: Skip if the aforementioned
298 TAP::Parser bug is detected.
300 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
302 tap/perl: be more portable to older perl versions
303 * lib/tap-driver.pl (trap_perl_warnings_and_errors): Do not use
304 the three-args version of the `open' builtin, it is not well
305 supported by older perl versions (at least perl 5.6.2).
306 (start): Add a no-op statement to pacify a "possible typo ... used
307 only once" perl warning.
309 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
311 tap/perl: be more portable to older TAP::Parser versions
312 * lib/tap-driver.pl (start): Do not call the `ignore_exit' method
313 on our TAP parser: it is not supported in older TAP::Parser
314 versions (e.g., 3.10), and is not really required by our usage of
317 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
319 tests: fix spurious Cygwin failure of a test on TAP support
320 * tests/tap-bad-prog.tap (noexec.test): Add forgotten `echo'.
321 When trying to run it, redirect its output to /dev/null, to
322 avoid confusing automake's testsuite own TAP driver.
324 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
326 test defs: fix glitch in TAP version of `warn_' function
327 * tests/tap-functions.sh (warn_): Do not display the warning
330 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
332 tests: fix another spurious failure due to ignored signals
333 * tests/tap-signal.test: Renamed ...
334 * tests/tap-signal.tap: ... to this, converted to the use of the
335 TAP protocol, and improved not to try to use/trap signals that
336 are ignored by the parent shell (they will be forcibly ignored
337 by all the child processes too). Extend the test a bit since we
339 * tests/list-of-tests.mk: Update.
341 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
343 tests: fix a spurious failure due to lacking Fortran compilers
344 * tests/silent-many-generic.test (configure.in): Cause the test
345 to be skipped if `configure' fails to find working C++, Fortran
346 and Fortran 77 compilers.
348 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
350 self tests: more use of TAP
351 * tests/self-check-reexec.test: Renamed ...
352 * tests/self-check-reexec.tap: ... to this, converted to the
353 use of TAP protocol, and extended a bit.
354 * tests/self-check-seq.test: Renamed ...
355 * tests/self-check-seq.tap: ... to this, and converted to the
357 * tests/list-of-tests.mk: Update.
359 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
361 self tests: fix spurious failures when /bin/ksh do not exists
362 * tests/self-check-reexec.test: Ensure that the non-bash shells
363 we look do really exists. Since we are at it, also try the name
364 `ash', non `dash', for the Almquist Shell, for Cygwin 1.5.
366 2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
368 tests: more use of TAP in our own testsuite
369 * tests/parallel-tests-interrupt.test: Renamed ...
370 * tests/parallel-tests-interrupt.tap: ... to this, and converted
371 to the use of TAP protocol.
372 * tests/self-check-cleanup.test: Renamed ...
373 * tests/self-check-cleanup.tap: ... to this, and converted to the
375 * tests/self-check-dir.test: Renamed ...
376 * tests/self-check-dir.tap: ... to this, and converted to the use
378 * tests/self-check-is_newest.test: Renamed ...
379 * tests/self-check-is_newest.tap: ... to this, and converted to
380 the use of TAP protocol.
381 * tests/self-check-unindent.test: Renamed ...
382 * tests/self-check-unindent.tap: ... to this, and converted to
383 the use of TAP protocol.
384 * tests/list-of-tests.mk: Update.
386 2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
388 self tests: sanity check on 'is_blocked_signal' function
389 * tests/self-check-is-blocked-signal.tap: New test.
390 * tests/list-of-tests.mk: Update.
392 2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
394 tests: fix spurious failures due to ignored signals
395 * tests/defs (is_blocked_signal): New function.
396 * tests/parallel-tests-interrupt.test: Do not try to use/trap
397 signals that are ignored by the parent shell: they will be
398 ignored by all the child processes too.
399 * tests/self-check-exit.test: Likewise.
400 * tests/self-check-cleanup.test: Likewise, and do few minor
401 improvements and extensions since we are at it.
403 2011-09-05 Peter Rosin <peda@lysator.liu.se>
405 * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
407 2011-09-04 Stefano Lattarini <stefano.lattarini@gmail.com>
409 fix: list test 'vala-vpath.test' in XFAIL_TESTS
410 * tests/Makefile.am (XFAIL_TESTS): Update.
412 2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
414 tests: simplify wrapper for aclocal
415 * tests/aclocal.in: Remove use of $ACLOCAL_TESTSUITE_FLAGS and
416 extra `-I' flags; they are not really required, since the file
417 `m4/amversion.m4' is generated in the srcdir anyway.
418 * tests/acloca10.test: Remove use of $ACLOCAL_TESTSUITE_FLAGS.
419 * tests/acloca18.test: Likewise.
420 * tests/defs.in: Don't nullify $ACLOCAL_TESTSUITE_FLAGS, and do
423 2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
425 tests: remove redundant settings of `errexit' shell flag
426 * doc-parsing-buglets-colneq-subst.test: Do not set the
427 `errexit' shell flag, as it is already set by `tests/defs'.
428 * doc-parsing-buglets-tabs.test: Likewise.
429 * java-empty-classpath.test: Likewise.
430 * vala-vpath.test: Likewise.
432 2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
434 tests: more uses of `$top_testsrcdir', in the `amhello' tests
435 * tests/amhello-binpkg.test: Use `$top_testsrcdir' instead
437 * tests/amhello-cflags.test: Likewise.
438 * tests/amhello-cross-compile.test: Likewise.
440 2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
442 tests: avoid creating useless files in the `amhello' tests
443 * tests/amhello-binpkg.test: Define `$am_create_testdir' to
444 "empty" before sourcing ./defs, to avoid bringing in unused
446 * tests/amhello-cflags.test: Likewise.
447 * tests/amhello-cross-compile.test: Likewise.
449 2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
451 coverage: vala support failing for VPATH from-scratch builds
452 * tests/vala-vpath.test: New test, xfailing.
453 * tests/Makefile.am (TESTS): Update.
455 From a report by Zbigniew Jędrzejewski-Szmek.
456 Related to automake bug#8753.
458 2011-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
460 docs: report few more automake parsing limitations
461 Partly motivated by automake bug#8360.
462 * doc/automake.texi (General Operation): Report few more automake
463 limitations w.r.t. parsing of unusual makefile constructs. Related
465 * tests/doc-parsing-buglets-colneq-subst.test: New test.
466 * tests/doc-parsing-buglets-tabs.test: Likewise.
467 * tests/Makefile.am (TESTS): Update.
469 2011-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
471 automake: fix regression due to de-ansification support removal
472 The last change `v1.11-947-g136b489' removed code that automake
473 was using to decide whether binary objects were built by the
474 generated Makefile.in, so that it could avoid to emit unneeded
475 code when this was not the case. Re-introduce such code in a
476 less-obfuscated form, and add a test to ensure we don't regress
478 * automake.in ($must_handle_compiled_objects): New global
479 variable, telling whether the generated Makefile has to build
481 (initialize_per_input): Reset it.
482 (handle_programs, handle_libraries, handle_ltlibraries): Set
483 it to a true value when required.
484 (handle_compile): Don't generate any code if the variable
485 `$must_handle_compiled_objects' is not set to a true value.
486 * tests/no-extra-makefile-code.test: New test.
487 * tests/Makefile.am (TESTS): Add it.
489 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
491 automake: cleanups after de-ansification support removal (2)
492 * automake.in ($get_object_extension_was_run): Remove, it's not
493 really needed anymore.
494 (&get_object_extension): Remove, it's a no-op now.
495 All callers adjusted.
497 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
499 automake: cleanups after de-ansification support removal (1)
500 * automake.in (lang_c_rewrite, handle_single_transform): Rename
501 variable `$nonansi_obj' to `$obj'.
503 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
505 ansi: remove obsolete code/files for de-ANSI-fication support
506 * lib/ansi2knr.1, lib/ansi2knr.c: Deleted.
507 * lib/Makefile.am (dist_pkgvdata_DATA): Do not list them anymore.
508 * lib/am/ansi2knr.am: Delete.
509 * lib/am/Makefile.am (dist_am_DATA): Do not list it anymore.
510 * lib/Automake/Variable.pm (%_am_macro_for_var): Remove entries for
512 * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Don't care anymore
513 about possible definition of the `$U' variable.
514 * automake.in (@common_files): Drop `ansi2knr.1' and `ansi2knr.c'.
515 (struct): Remove scalar field `ansi'.
516 All callers adjusted.
517 (&lang_c_finish, %de_ansi_files): Remove, they're not required
519 All callers adjusted.
520 ($get_object_extension_was_run): Fix typo in comment.
521 (&get_object_extension): Drop code dealing with de-ansification;
522 this function basically a no-op now, but is required to properly
523 initialize `$get_object_extension_was_run' variable.
524 (&handle_languages, &handle_compile, &lang_c_rewrite): Drop code
525 dealing with de-ansification.
527 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
529 ansi: reject attempts to use automatic de-ANSI-fication support
530 * tests/protos.m4 (AM_C_PROTOTYPES): Error out whenever called.
531 * lib/Automake/Options.pm (_process_option_list ): Error out
532 with a proper error message when the `ansi2knr' option is used.
533 Related updates to comments.
534 * tests/depacl2.test: Update.
535 * tests/ansi2knr-no-more.test: New test.
536 * tests/Makefile.am (TESTS): Add it.
539 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
541 tests: remove tests about obsolete de-ANSI-fication support
542 * tests/ansi.test: Delete.
543 * tests/ansi10.test: Likewise.
544 * tests/ansi2.test: Likewise.
545 * tests/ansi2knr-deprecation.test: Likewise.
546 * tests/ansi3.test: Likewise.
547 * tests/ansi3b.test: Likewise.
548 * tests/ansi4.test: Likewise.
549 * tests/ansi5.test: Likewise.
550 * tests/ansi6.test: Likewise.
551 * tests/ansi7.test: Likewise.
552 * tests/ansi8.test: Likewise.
553 * tests/ansi9.test: Likewise.
554 * tests/cxxansi.test: Likewise.
555 * tests/libobj8.test: Likewise.
556 * tests/subobj3.test: Likewise.
557 * tests/Makefile.am (TESTS): Update.
559 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
561 docs: remove description of de-ANSI-fication support from manual
562 * doc/automake.texi (Auxiliary Programs): Remove mention of
563 `ansi2knr.c' and `ansi2knr.1'.
564 (Obsolete Macros): Remove mention of `AM_C_PROTOTYPES'. Do not
565 index it nor variables `ANSI2KNR' and `U' anymore.
566 (List of Automake options): Remove mention of `ansi2knr' option,
567 and obsolete entries for concept and option indexes.
568 (Optional): Remove entry about `AM_C_PROTOTYPES'.
569 (@c LocalWords): Remove `ansi' and `knr'.
570 (@menu, @detailmenu): Remove entries about de-ANSI-fication
573 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
575 tests: better respect of TAP usage in wrapped tests
576 * tests/gen-wrap-tests: Partial rewrite to take into account the
577 possibility that the wrapped test uses the TAP protocol. This
578 complicates the code quite a bit, but is essential to ensure real
579 correctness in all the wrapped scripts.
580 * tests/wrap-tests.sh: Update, and add few more sanity checks.
582 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
584 tests: use both perl and awk implementations for tests on TAP
585 * tests/gen-wrap-tests (get_list_for_pltap): New function, gets
586 the list of tests that check the Automake TAP support.
587 ($defines_for_pltap): New variable.
588 ($wrapper_type_list): Add "pltap".
589 * tests/defs-static.in: Check that `$am_tap_implementation' is
590 not exported in the environment.
591 * tests/self-check-env-sanitize.tap: Update.
593 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
595 tests: two single auxiliary scripts to run/generate wrapped tests
596 * tests/config-shell-tests.sh, tests/parallel-tests.sh,
597 tests/gen-config-shell-tests, tests/gen-parallel-tests: Deleted,
598 their roles taken over by ...
599 * tests/wrap-tests.sh, tests/gen-wrap-tests: ... these new more
601 * tests/Makefile.am (EXTRA_DIST): Distribute the new scripts, and
602 do not distribute the obsolete ones anymore.
603 ($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am): Do
604 not include nor generate anymore, they have been superseded by ...
605 ($(srcdir)/wrap-tests.am): ... this new fragment, automatically
606 generated by `gen-wrap-tests'.
607 (PTEST_LOG_COMPILER, SHTST_LOG_COMPILER): Delete, they are now
608 defined in the new `wrap-tests.am' makefile fragment.
609 (TEST_EXTENSIONS): Do not append to it anymore, that is now done
610 by the new `wrap-tests.am' makefile fragment above.
611 ($(parallel_tests:.ptest=.log), $(config_shell_tests:.shtst=.log),
612 $(parallel_tests), $(config_shell_tests): Remove this dependencies,
614 ($(wrap_TESTS), $(wrap_LOGS)): ... these ones.
615 (MAINTAINERCLEANFILES): Delete, it's not used anymore.
616 (TESTS): Do not contain anymore `$(config_shell_tests)' nor
617 `$(parallel_tests)', contain `$(wrap_TESTS)' instead, as defined
618 by `$(srcdir)/wrap-tests.am'.
619 Other related minor edits and reorderings.
620 * bootstrap, tests/.gitignore, tests/README: Update.
622 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
624 tests: list of tests placed in a separate Makefile fragment
625 This change allows us to easily use make instead of by-hand (and
626 more fragile) grepping to extract the list of hand-written tests
628 * bootstrap (BOOTSTRAP_MAKE): New variable.
629 Use it to run make in order to extract the list of hand-written
631 * tests/list-of-tests.mk: ... this new file, where they are
633 (handwritten_TESTS, tap_with_common_setup_TESTS, tap_other_TESTS):
634 ... these variables, extracted respectively from ...
635 * tests/Makefile.am (handwritten_tests, tap_other_tests,
636 tap_with_common_setup_tests): ... these older variables, now
638 (EXTRA_DIST, expected_list_of_tests): Update w.r.t. the variable
640 (include $(srcdir)/list-of-tests.mk): New inclusion.
641 Remove an overkill indirection, and with it ...
642 (tap_with_common_setup_logs): ... this variable.
643 ($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am):
644 Update to match the new interface of ...
645 (gen-parallel-tests, gen-config-shell-tests): ... these scripts,
646 that now read the list of tests from the standard input.
648 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
650 tests: prefer AM_... variables to user-reserved ones in Makefile
651 * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Renamed ...
652 (AM_TAP_LOG_DRIVER_FLAGS): ... to this.
654 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
656 tests: some minor fixlets w.r.t. TAP-based tests
657 The variable that is used by our test scripts to decide whether
658 they are "plain" or TAP-based is `using_tap'; however, some
659 peripheral sanity checks and sanitization code in our testsuite
660 were erroneously using the `use_tap' variable instead. Fix that.
661 * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Nullify `using_tap',
663 * tests/defs-static.in: Check that `using_tap', not `use_tap',
665 * tests/self-check-env-sanitize.test: Update.
667 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
669 tests: avoid re-running a test with the 'parallel-tests' option
670 * tests/backcompat5.test (parallel_tests): Define to "no", to
671 prevent the generation of a sibling test script that uses the
672 'parallel-tests' driver. That would be useless anyway, since
673 we manually override the contents of configure.in, thus clobbering
674 the `parallel-tests' option in AM_INIT_AUTOMAKE.
675 Fix a typo in comments since we are at it.
677 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
679 tests: defaults to awk+shell driver in tests on TAP support
680 * tests/defs ($am_tap_implementation): Default to "shell", not
683 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
685 tests: list "forgotten" test script in TESTS
686 * tests/Makefile.am (TESTS): Also list ...
687 * tests/java-empty-classpath.test: ... this test. Since we are
688 at it, remove trailing whitespace from a couple of lines.
690 2011-08-25 Eric Blake <eblake@redhat.com>
692 ylwrap: fix unusual indentation whitespace
693 * lib/ylwrap: Convert tabs to spaces.
694 Reported by Karl Berry.
696 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
698 testsuite: different test scripts cannot share the same basename
699 If two test scripts have the same basename, they will end up
700 sharing the same log file, leading to all sort of undefined and
701 undesired behaviours. Add a Makefile check verifying that this
703 * tests/test-logs-repeated.test: New test, verifying previously
704 unspecified semantics (in the definition of $(TEST_LOGS) from
705 $(TESTS)) that we use in our new check.
706 * tests/Makefile.am (TESTS): Update.
707 (check-no-repeated-test-name): New .PHONY check.
708 (check-local): Depend on it.
710 2011-08-26 Stefano Lattarini <stefano.lattarini@gmail.com>
712 tests: fix spurious failure for awk implementation of TAP driver
713 * tests/tap-realtime.test: The awk+shell implementation of the TAP
714 driver must "read ahead" of one line in order to catch the exit
715 status of the test script it runs. So, in the TAP-producer script
716 here, be sure to echo one "dummy" line after each TAP result line
717 in order not to cause false positives.
719 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
721 tap/awk: allow escaping of TAP directives
722 * lib/tap-driver.sh (setup_result_obj): Handle escaping of TAP
723 directives in a way tat is (mostly) compatible by what is done
724 by the TAP::Parser module.
725 With this change, the tests `tap-escape-directive.test' and
726 `tap-escape-directive-2.test' now also pass with the shell/awk
727 implementation of the TAP driver.
729 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
731 coverage: more about escaping of TAP directives
732 * tests/tap-escape-directive.test: Make grepping of testsuite
733 progress output slightly stricter.
734 * tests/tap-escape-directive-2.test: New test (failing with the
735 awk implementation of the TAP driver).
736 * tests/Makefile.am (tap_with_common_setup_tests): Update.
738 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
740 tap: improve syncing between awk+shell and perl implementations
741 * lib/tap-driver.pl (stringify_test_result): Renamed ...
742 (stringify_result_obj): ... to this. Break up a clause in the
743 long "if/elsif/.../else" construct to avoid unaesthetic line
744 breaks and to be more synced with the sibling function in
745 `tap-driver.sh'. Rename the `$result', `$PASS' and `$FAIL'
746 variables to respectively `$result_obj', `$COOKED_PASS' and
747 `$COOKED_FAIL', for clarity and better syncing.
748 (handle_tap_test): Renamed ...
749 (handle_tap_result): ... to this, and change the name of the
750 `$test' local variable to `$result_obj'.
751 (extract_comment): Reimplement using the simpler `index' and
752 `substr' builtins, rather than with more advanced uses of
754 (%test_results, @test_results): Renamed respectively ...
755 (%test_results_seen, @test_results_list): ... to these, and
756 related adjustments throughout the `TEST_RESULTS' block.
757 (main, get_global_test_result): Refactor and do some cosmetic
758 changes to make these functions clearer and better synced with
759 sibling code in `tap-driver.sh'.
760 Other minor cosmetic and typo fixes.
761 * lib/tap-driver.sh (extract_tap_comment): Remove outdated
763 (get_global_test_result): Small reordering to make it better
764 synced with its sibling function in `tap-driver.pl'.
765 (stringify_result_obj): Consistently use `result_obj' as the
767 Other minor cosmetic and typo fixes.
769 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
771 tap/perl: don't redirect perl warnings/errors to log files
772 With this change, the test `tap-driver-stderr.test' also passes
773 with the perl implementation of the TAP driver.
774 * lib/tap-driver.pl (start): Save the original stderr into the
775 `OLDERR' file handle, and call ...
776 (trap_perl_warnings_and_errors): ... this new function, trapping
777 the `__WARN__' and `__DIE__' "pseudo-signals" to ensure that the
778 warning and error messages goes to that original stderr stream.
779 Since we are at it, be sure to prepend all possible "die" message
780 with the name of the script as given by the `$ME' variable.
782 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
784 tap/perl: add copyright notice, version string, and emacs stuff
785 * lib/tap-driver.pl: Add proper copyright notice and bug reporting
786 address. Remove obsolete heading comments. Add trailing comments
787 for emacs w.r.t. code-formatting rules and automatic updating of
788 the date-based script version saved into the `$VERSION' variable.
789 ($VERSION): Define to the current UTC date.
791 2011-08-24 Stefano Lattarini <stefano.lattarini@gmail.com>
793 tap/awk: don't redirect awk stderr to log files
794 * lib/tap-driver.sh: Handle the file descriptors redirections
795 more smartly, to avoid sending error messages from awk (about
796 e.g. syntax or I/O errors) to the log files instead that to the
798 * tests/tap-driver-stderr.test: New test, verifying the improved
799 driver behaviour. Notice that this test still fails when using
800 the perl implementation of the TAP driver.
801 * tests/Makefile.am (tap_other_tests): Update.
803 2011-08-24 Stefano Lattarini <stefano.lattarini@gmail.com>
805 tap/awk: remove obsolete "FIXME" comment
806 * lib/tap-driver.sh: Remove obsolete "FIXME" comment about our
807 driver losing the exit status of the tested program; this issue
808 has been solved in precedent commit `v1.11-1052-gd630a0d'. Fix
809 an unrelated typo in comments since we are at it.
811 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
813 testsuite: avoid spurious failure on Solaris
814 * tests/tap-signal.test (signal_caught): Fix a regression from
815 commit `v1.11-1052-gd630a0d' that was causing this test to fail
816 spuriously on Solaris (due to an already worked-around Solaris
817 /bin/sh bug, see commit `v1.11-981-g0ef3ef5').
819 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
821 testsuite: use the new awk+shell TAP driver in our own testsuite
822 * tests/Makefile.am (TAP_LOG_DRIVER): Redefine to use the new
823 awk+shell tap driver, which should be complete enough for use in
824 a "controlled" production environment.
826 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
828 tap/awk: handle non-zero exit status from the test command
829 * lib/tap-driver.sh (get_test_exit_message): New function in the
830 awk script, used to extract the exit status of the test program,
831 or at least a good guess of it.
832 (write_test_results): Use it, reporting an ERROR result if it
833 detects that the test program exited with a non-zero status.
834 * tests/tap-signal.test: Account for the differences in the
835 error messages generated by the awk and perl TAP drivers. Fix
836 an unrelated typo in comments since we are at it.
838 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
840 tap/awk: prepare to fetch the exit status of the test command
841 * lib/tap-driver.sh: Rewrite some logic in the main parsing loop,
842 to make it possible to read the exit status of the test command
843 from the last line of the input stream.
845 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
847 tap/awk: refactor for future changes
848 * lib/tap-driver.sh: Rewrite the awk script so that the parsing
849 of the input stream is implemented as a hand-rolled loop in the
850 BEGIN block, using the `getline' builtin.
852 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
854 testsuite: avoid spurious failure if rst2html program is missing
855 * tests/tap-html.test ($required): Require `rst2html'.
857 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
859 tap/awk: support Solaris /usr/xpg4/bin/awk
860 * lib/tap-driver.sh: Use `\t', not `\\t', to represent tabulation
861 character in regexps, even when inside double-quoted strings; that
862 seems to be more portable to Solaris 10 XPG4 awk.
864 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
866 tap/awk: support Solaris /usr/bin/nawk
867 * lib/tap-driver.sh (close_or_die): Remove, the use of the `close'
868 builtin in there was confusing /usr/bin/nawk from Solaris 10 into
870 (write_test_results): Simply use `close' on the `*.trs' file, that
873 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
875 tap/awk: correctly extract message from SKIP plans
876 * lib/tap-driver.sh (/^1\.\.0+[ \t]*#/): Add a forgotten `?' to
877 the regex used to extract the skip message from a "1..0" TAP plan.
878 * tests/planskip.test: Check for the just-fixed bug.
879 * tests/tap-planskip-unplanned-corner.test: Don't be too strict
880 w.r.t. the formatting of the "skip whole test" message, to avoid
881 failing due to bugs irrelevant for this test (like the one just
884 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
886 tap/awk: support colorized output
887 * lib/tap-driver.sh: Pass definition of colors to the BEGIN block
888 of the awk script, using ...
889 ($init_colors): ... this new variable, which supersedes ...
890 ($red, $grn, $lgn, $blu, $mgn, $std): ... these variables, which
891 have been consequently removed.
892 ($color_tests): We don't have to pass this anymore to the awk
893 script, so do not convert it to a numeric boolean.
894 (decorate_result): Implement for real.
895 With this change, the test 'tap-color.test' now passes.
897 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
899 tap: real (but still incomplete) awk implementation of TAP driver
900 * lib/tap-driver.sh: Add an incomplete, but mostly working,
901 implementation of a TAP parser and driver in awk. It doesn't yet
902 support colorized output, fetching of exit status from test
903 programs, nor a way to escape TAP directives in TAP result lines,
904 but passes all the tests of TAP support in the automake testsuite,
905 apart from the following ones:
907 - tap-escape-directive.test
909 - tap-missing-plan-and-bad-exit.test
910 - tap-passthrough-exit.test
911 - tap-planskip-badexit.test
912 - tap-planskip-unplanned-corner.test
914 Tested on Debian GNU/Linux with GNU awk 3.1.7 and 3.0.2, "original
915 awk" 2010-05-23-1, and mawk 1.3.3-15 (with which also the test
916 `tap-realtime.test' fails, in addition to those listed above).
918 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
920 testsuite: fix spurious failure due to Solaris 'wc' incompatibility
921 * tests/tap-number-wordboundary.test ($planned): Strip any extra
922 whitespace from the output of `wc', to cater to Solaris 10.
924 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
926 coverage: keyword "SKIP" in TAP plan is case-insensitive
927 * tests/tap-planskip-case-insensitive.test: New test.
928 * tests/tap-planskip.test: Remove now-duplicated checks.
929 * tests/Makefile.am (tap_with_common_setup_tests): Update.
931 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
933 coverage: ambiguous use of TAP "TODO"/"SKIP" directives
934 * tests/tap-ambiguous-directive.test: New test.
935 * tests/tap-todo-skip-together.test: Reference it in heading
937 * tests/Makefile.am (tap_with_common_setup_tests): Update.
939 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
941 coverage: non-directive comments in TAP results are preserved
942 * tests/tap-result-comment.test: New test.
943 * tests/Makefile.am (tap_with_common_setup_tests): Update.
945 2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
947 coverage: TAP result number followed by non-whitespace word boundary
948 * tests/tap-number-wordboundary.test: New test.
949 * tests/Makefile.am (tap_with_common_setup_tests): Update.
951 2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
953 coverage: a TAP result numbered "0" is always out-of-order
954 * tests/tap-test-number-0.test: New, checks that a test result
955 numbered as 0 is to be considered out-of-order; this is
956 consistent with the behaviour of the `prove' utility.
957 * tests/Makefile.am (tap_with_common_setup_tests): Update.
959 2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
961 cosmetics: fix botched indentation in perl TAP driver
962 * lib/tap-driver.pl (main, Getopt::Long::GetOptions): Fix
963 improper or botched indentation.
965 2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
967 coverage: some more tests on corner cases of TAP support
968 * tests/tap-no-spurious.test: Extend checks verifying that a line
969 matching, say, the regex "^ok[a-zA-Z0-9_]" is *not* considered a
971 * tests/tap-no-spurious-numbers.test: New test, checking that our
972 TAP driver doesn't spuriously recognize as TAP result numbers what
973 is not (even if it seems pretty close).
974 * tests/tap-negative-numbers.test: New test, checking that our
975 TAP driver doesn't spuriously recognize negative TAP result
976 numbers, but correctly interprets them as test descriptions
978 * tests/tap-plan-leading-zero.test, tap-numbers-leading-zero.test:
979 New tests, checking how our driver fares in recognizing numbers
980 with leading zeroes in TAP results or TAP plans.
981 * tests/tap-planskip-malformed.test: New test, checking that a
982 malformed TAP plan is not recognized as a valid plan.
983 * tests/tap-plan-whitespace.test: New test, checking that a TAP
984 plan line with trailing whitespace is recognized and handled
986 * tests/Makefile.am (tap_with_common_setup_tests): Update.
988 2011-08-19 Stefano Lattarini <stefano.lattarini@gmail.com>
990 testsuite: various fixlets and tweakings
991 * tests/seenc.test: Make grepping of automake stderr stricter.
992 Add a trailing `:' command.
993 * tests/symlink.test: Likewise. Also, define `$am_create_testdir'
994 to "empty" to avoid bringing in unused auxiliary files (only to
995 have to remove them right away), and use proper m4 quoting in
997 * tests/vpath.test: Make grepping of generated `Makefile.in'
998 slightly stricter. Prefer trailing `:' over trailing `Exit 0'.
999 * tests/suffix6c.test: Unset OBJEXT to avoid interferences from
1001 * tests/suffix12.test: Do not whitespace-indent `##' comments
1002 when they are embedded in a makefile rule: having them indented
1003 is not part of the Automake API, and might cause failures with
1005 * tests/syntax.test: Simplify the `Makefile.am' to ensure that
1006 automake doesn't fail for the wrong reasons. Make grepping of
1007 automake stderr slightly stricter.
1008 * tests/test-harness-vpath-rewrite.test: Remove useless variable
1009 definition from `Makefile.am'.
1010 * tests/test-driver-custom-multitest.test: Fix typo in comments.
1011 * tests/self-check-me.tap: Fix minor typo in test description.
1012 * tests/vars3.test: Make grepping of automake stderr stricter
1014 * tests/version6.test: Add sanity check, verifying that the
1015 version number extracted from `automake --version' output seems
1017 * tests/auxdir2.test: Renamed ...
1018 * tests/auxdir-compauted.tap: ... to this, and converted to the
1020 * tests/auxdir4.test: Renamed ...
1021 * tests/auxdir-unportable.tap: ... to this, and converted to the
1023 * tests/auxdir3.test: Renamed ...
1024 * tests/auxdir-misplaced.test: ... to this.
1025 * tests/auxdir5.test: Renamed ...
1026 * tests/auxdir-nonexistent.test: ... to this.
1027 * tests/auxdir9.test: Renamed ...
1028 * tests/auxdir-autodetect.test: ... to this.
1029 * tests/Makefile.am (TESTS): Update.
1030 (XFAIL_TESTS): Remove `auxdir2.test'.
1032 2011-08-19 Stefano Lattarini <stefano.lattarini@gmail.com>
1034 testsuite: fix some redundant autotools calls in tests on TAP
1035 * tests/tap-deps.test: Do not call autotools and configure; there
1036 is no need to, since this script sources `tap-setup.sh'.
1037 * tests/tap-empty-diagnostic.test: Likewise.
1038 * tests/tap-escape-directive.test: Likewise.
1039 * tests/tap-fancy2.test: Likewise.
1040 * tests/tap-no-spurious.test: Likewise.
1041 * tests/tap-out-of-order.test: Likewise.
1043 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
1045 * THANKS (Daniel Richard G.): Update e-mail address.
1047 2011-08-16 Daniel Richard G. <skunk@iskunk.org> (tiny change)
1048 Stefano Lattarini <stefano.lattarini@gmail.com>
1050 java: avoid compilation errors when CLASSPATH is empty
1051 * lib/am/java.am (CLASSPATH_ENV): When redefining `$CLASSPATH',
1052 do not append an empty component in case the previous value of
1053 CLASSPATH is empty or unset.
1054 * tests/java-empty-classpath.test: New test.
1055 * tests/Makefile.am (TESTS): Update.
1056 Fixes automake bug#9306.
1058 2011-08-16 Stefano Lattarini <stefano.lattarini@gmail.com>
1060 parallel-tests: no more spurious successes for FreeBSD make
1061 Work around a bug of FreeBSD make bug that was causing the
1062 automake-generated "check" target to complete with success
1063 even if some tests failed; this happened only when FreeBSD
1064 make was run in concurrent mode (as in, e.g., "make -j2
1065 check"). The bug is not present in NetBSD make.
1066 This change fixes automake bug#9245:
1067 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>
1068 See also FreeBSD PR bin/159730:
1069 <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>
1070 * lib/am/check.am [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Use a
1071 more "safe" (and apparently redundant) idiom to exit with error,
1072 so that the non-zero exit status is picked up also by FreeBSD
1073 make when it's running in concurrent mode.
1075 * tests/check-concurrency-bug9245.test: New test.
1076 * tests/Makefile.am (TESTS): Update.
1078 2011-08-11 Stefano Lattarini <stefano.lattarini@gmail.com>
1080 hacking: we now require autoconf 2.68
1081 * HACKING ("Working in git"): Use autoconf and autom4te 2.68,
1082 not 2.67, in the examples.
1084 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
1086 tap: improve granularity for tests on problematic TAP messages
1087 * tests/tap-message-0.test: Break up into ...
1088 * tests/tap-msg0-result.test, tests/tap-msg0-directive.test,
1089 tests/tap-msg0-planskip.test, tests/tap-msg0-misc.test,
1090 tests/tap-msg0-bailout.test: ... these new tests, and extend
1092 * tests/Makefile.am (tap_with_common_setup_tests): Update.
1094 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
1096 tap: correctly handle string "0" in TAP messages
1097 * lib/tap-driver.pl (is_null_string): New function, can be used
1098 to determine whether a given string variable is empty or undefined.
1099 Useful to avoid pitfalls like:
1100 if ($message) { print "$message\n"; }
1101 which wouldn't print anything if $message is the literal "0".
1102 (handle_tap_test, handle_tap_plan, handle_tap_bailout): Use it,
1103 to avoid missing messages composed only by a literal "0" in TAP
1104 result descriptions and in skip, todo and bailout explanations.
1105 * tests/tap-message-0.test: Enhance.
1106 * tests/Makefile.am (XFAIL_TESTS): Remove it, it passes now.
1108 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
1110 tap: a minor simplification in the perl TAP driver
1111 * lib/tap-driver.pl: The `--disable-hard-errors' option is a
1112 no-op, so just ignore it and its argument.
1114 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
1116 parallel-tests: fix help screen for test driver scripts
1117 * lib/tap-driver.pl ($USAGE): The `--trs-file' option is mandatory
1119 * lib/tap-driver.sh (print_usage): Likewise.
1120 * lib/test-driver (print_usage): Likewise.
1121 ($scriptversion): Update.
1123 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
1125 tap: add a dummy TAP driver script implemented in shell + awk
1126 The user can also now decide which implementation of the TAP driver
1127 to use in the testsuite by defining the `$am_tap_implementation'
1128 variable to either "perl" or "shell". Future enhancements will
1129 allow the testsuite to automatically run the test scripts on TAP
1130 support with both the TAP driver implementations, to improve
1132 * tests/defs (fetch_tap_driver): Honor the `$am_tap_implementation'
1133 variable to decide which implementation of the TAP driver to fetch.
1134 ($am_tap_implementation): Default to "perl".
1135 * tests/tap-common-setup.test: Do not fetch the TAP driver, the
1136 code in tap-setup.sh does that already (and respecting runtime
1137 overriding of `$am_tap_implementation').
1138 * lib/tap-driver: Renamed ...
1139 * lib/tap-driver.pl: ... to this, and ...
1140 ($ME): ... adjusted this.
1141 * doc/automake.texi: Adjust to the renaming.
1142 * tests/Makefile.am (TAP_LOG_DRIVER): Likewise.
1143 * tests/tap-doc2.test: Likewise.
1144 * lib/tap-driver.sh: New script, still mostly dummy.
1145 * lib/Makefile.am (dist_script_DATA): Update, and since we are at
1146 it, rewrite it to make it easier to add new entries in the future.
1148 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
1150 testsuite: refactor tests on TAP support in view of future changes
1151 * tests/defs (fetch_tap_driver): New subroutine; it fetches the
1152 automake-provided TAP driver from the `lib/' directory into the
1153 current directory, and edits its shebang line so that it will be
1154 run with the perl interpreter determined at configure time.
1155 * tests/tap-setup.sh: Use it.
1156 * tests/tap-common-setup.test: There's no need to AC_SUBST `PERL'
1157 anymore, nor to use it in the Makefile to run the TAP driver.
1158 Also, use the `fetch_tap_driver' function instead of copying the
1159 `tap-driver' auxiliary script directly.
1160 * tests/tap-bad-prog.tap: Likewise.
1161 * tests/tap-diagnostic-custom.test: Likewise.
1162 * tests/tap-doc.test: Likewise.
1163 * tests/tap-merge-stdout-stderr.test: Likewise.
1164 * tests/tap-more.test: Likewise.
1165 * tests/tap-more2.test: Likewise.
1166 * tests/tap-recheck.test: Likewise.
1167 * tests/tap-summary-aux.sh: Likewise.
1168 * tests/tap-basic.test: Likewise, and fix a grammaro in comments
1171 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
1173 test defs: fix typo in comments
1174 * tests/defs (get_shell_script): Fix typo in the function
1177 2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
1179 coverage: missing tap plan and non-zero exit status
1180 * tests/tap-missing-plan-and-bad-exit.test: New test.
1181 * tests/Makefile.am (tap_with_common_setup_tests): Update.
1183 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1185 testsuite: fix an unportable use of sed
1186 * tests/tap-todo-skip-whitespace.test: Alternation with "\|" in
1187 sed regular expressions is not portable to (at least) FreeBSD
1190 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1192 testsuite: avoid spurious failure if rst2html program is missing
1193 * tests/test-driver-custom-no-html.test: Account for the
1194 possibility of a lacking `rst2html' program in our final
1195 grepping of make output.
1197 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1199 tap: improve diagnosing and reporting of plan mismatches
1200 Problem exposed by a failure in the test 'tap-plan-errors.test'.
1201 * lib/tap-driver (NO_PLAN, EARLY_PLAN, LATE_PLAN): New constants.
1202 (Throughout the file): Use more complex semantics for `$plan_seen',
1203 which now also remember whether the plan that has been seen is an
1204 "early" or "late" plan; in turn, this makes ...
1205 ($tap_stopped): ... this variable redundant; remove it.
1206 (handle_tap_plan): Adjust to avoid producing spurious or confusing
1207 error messages about extra or mismatched "late" TAP plans.
1208 * tests/tap-plan-corned.test: Adjust and extend.
1209 * tests/tap-color.test: Likewise.
1211 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1213 tap: log all TAP stream, even after a "Bail out!"
1214 * lib/tap-driver ($bailed_out): New global boolean variable,
1215 telling whether a "Bail out!" directive has been seen or not.
1216 (handle_tap_bailout): This function does not anymore stop the
1217 reading from TAP stream; instead, it sets `$bailed_out' to a
1218 true value, so that only the subsequent parsing of the input
1219 TAP stream is stopped.
1220 (finish): Remove, no more needed, its contents inlined into ...
1221 (main): ... this function, with related adjustments in the code
1223 (get_test_exit_message): Do not "flush" the input TAP stream
1224 to fetch the exit status of test script, it is not anymore
1225 required. Add a sanity check.
1226 * tests/tap-bailout-and-logging.test: New test.
1227 * tests/Makefile.am (tap_with_common_setup_tests): Update.
1229 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1231 coverage: TAP diagnostics after "Bail out!" aren't reported
1232 This is compatible with the behaviour of the `prove' utility.
1233 * tests/tap-bailout-suppress-later-diagnostic.test: New test.
1234 * tests/Makefile.am (tap_with_common_setup_tests): Update.
1236 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1238 coverage: TAP errors after a "Bail out!" directive aren't reported
1239 This is compatible with the behaviour of the `prove' utility.
1240 * tests/tap-bailout-suppress-later-errors.test: New test.
1241 * tests/tap-bailout-badexit.test: Renamed ...
1242 * tests/tap-bailout-suppress-badexit.test: ... to this, for
1244 * tests/Makefile.am (tap_with_common_setup_tests): Update.
1246 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1248 testsuite: reorganize tests on TAP plans
1249 * tests/tap-skip-whole.test: Rename ...
1250 * tests/tap-planskip.test: ... to this
1251 * tests/tap-skip-whole-badexit.test: Rename ...
1252 * tests/tap-planskip-badexit.test: ... to this.
1253 * tests/tap-skip-whole-bailout.test: Rename ...
1254 * tests/tap-planskip-bailout.test: ... to this.
1255 * tests/tap-skip-whole-bailout.test: Rename ...
1256 * tests/tap-planskip-later-errors.test: ... to this.
1257 * tests/tap-skip-whole-unplanned.test: Rename ...
1258 * tests/tap-planskip-unplanned.test: ... to this.
1259 * tests/tap-skip-whole-whitespace.test: Rename ...
1260 * tests/tap-planskip-whitespace.test: ... to this.
1261 * tests/tap-skip-whole-continue.test: Rename ...
1262 * tests/tap-planskip-and-logging.test: ... to this, extend to try
1263 more cases, and fix heading comments.
1264 * tests/tap-skip-whole-lastline.test: Rename ...
1265 * tests/tap-planskip-late.test: ... to this, fix heading comments,
1266 and remove some checks that are just a duplication of those already
1267 performed in the previous script.
1268 * tests/tap-results-with-planskip.test: Rename to ...
1269 * tests/tap-planskip-unplanned-corner.test: ... this, and improve
1271 * tests/tap-planskip-later-errors.test: New test.
1272 * tests/Makefile.am (tap_with_common_setup_tests): Update.
1274 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1276 coverage: more TAP driver consistency w.r.t. 'prove'
1277 * tests/skip-results-with-planskip.test: New test, verifies that
1278 test results seen in a TAP stream that has a "plan with SKIP" are
1280 * tests/Makefile.am (tap_with_common_setup_tests): Update.
1282 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1284 tap: improve some comments in the TAP driver
1285 * lib/tap-driver (handle_tap_plan): Improve comments describing
1286 possible errors in a "plan with SKIP" directive.
1288 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1290 tap: non-zero exit status after "Bail out!" should not be reported
1291 This new behaviour is more consistent with that of the `prove'
1292 utility. Also, experience with the use of TAP in the Automake's
1293 own test suite has shown that reporting non-zero exit status from
1294 a script after it has issued a "Bail out!" directive is mostly
1295 redundant, more introducing noise rather than conveying useful
1297 * lib/tap-driver (finish): Inline the part of it that was getting
1298 the script exit status ...
1299 (main): ... in here.
1300 * tests/tap-bailout-badexit.test: New test.
1301 * tests/Makefile.am (tap_with_common_setup_tests): Update.
1303 2011-08-11 Stefano Lattarini <stefano.lattarini@gmail.com>
1305 tap: a "plan with SKIP" after test results is an error
1306 This new behaviour is both more natural and more consistent with
1307 that of the `prove' utility.
1308 * lib/tap-driver (handle_tap_plan): Do not stop TAP parsing when
1309 a "plan with SKIP" line (e.g., "1..0 # SKIP") is encountered, and
1310 do not print a "SKIP" line if some TAP result has already been
1312 * tests/tap-skip-whole.test: Adapt.
1313 * tests/tap-skip-whole-lastline.test: Likewise.
1314 * tests/tap-global-result.test: Adapt and extend.
1315 * tests/tap-skip-plan-errors.test: Likewise, and fix an obsolete
1316 small part of a comment.
1317 * tests/tap-skip-whole-bailout.test: New test.
1318 * tests/tap-skip-whole-unplanned.test: Likewise.
1319 * tests/tap-skip-whole-continue.test: Likewise.
1320 * tests/Makefile.am (tap_with_common_setup_tests): Update.
1322 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1324 test harness: avoid possible fork bomb
1325 This fixes a regression w.r.t. the master branch, exposed by
1326 test 'parallel-tests-fork-bomb.test'.
1327 * lib/am/check.am (am--redo-logs): Detect possible infinite
1328 recursion due to a test log in $(TEST_LOGS) being the same
1329 as $(TEST_SUITE_LOG).
1331 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1333 coverage: enhance test against infinite recursion in test harness
1334 * tests/parallel-tests-fork-bomb.test: Enhance and extend a
1335 little now, for soon-to-be-implemented more explicit and safer
1338 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1340 coverage: possible infinite recursion in the test harness
1341 Motivated by a regression in the 'test-protocols' branch.
1342 * tests/parallel-tests-fork-bomb.test: New test, checking that
1343 if $(TEST_SUITE_LOG) is in $(TEST_LOGS), we obtain a diagnosed
1344 error rather than a make hang or a fork bomb.
1345 * tests/Makefile.am (TESTS): Update.
1347 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1349 test defs: yet more environment cleanup
1350 * tests/defs: Also unset the TEST_SUITE_LOG variable.
1352 2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
1354 self tests: some minor refactoring
1355 * tests/self-check-exit.tap: Disable the `errexit' shell flag;
1356 this allow to remove some boilerplate idioms and to make some
1357 code slightly less cumbersome.
1358 * tests/self-check-me.tap: Likewise.
1360 2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
1362 maintcheck: look for TAP-based tests without TAP plan
1363 * Makefile.am (sc_tests_tap_plan): New maintainer check.
1364 (syntax_check_rules): Add it.
1365 * tests/suffix10.tap: Declare a TAP plan.
1366 * tests/add-missing.tap: Likewise.
1368 2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
1370 testsuite: avoid confusing SKIP messages for errored tests
1371 * tests/defs [$use_tap] (exit trap): Don't print the test plan
1372 in case the client script exited with a non-zero status. This
1373 avoids the display of redundant "SKIP" messages for tests with
1374 lazy plans that error out before any test is run.
1376 2011-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
1378 testsuite: keep more debugging info around in 'add-missing.tap'
1379 * tests/add-missing.tap: Use a different directory for each test,
1380 so that in case of failure more information is kept around.
1381 Since we are at it, remove redundant TAP diagnostic, and define
1382 `$am_create_testdir' to "empty" to avoid bringing in unused
1385 2011-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
1387 testsuite: more granular count of test results in our TAP library
1388 * tests/tap-functions.sh ($tap_bad_count_): Removed, superseded
1390 ($tap_fail_count_, $tap_xpass_count_): ... these new variables,
1391 which keep more granular counts.
1392 ($tap_pass_count_: New variable.
1393 * tests/defs (exit trap): Adjust and simplify accordingly.
1395 2011-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
1397 testsuite: fixlets and improvements in two long TAP-based tests
1398 * tests/depmod.tap: Clean up the subdirectories used by tests that
1399 passed, to avoid ending up with a too big test directory. This is
1400 especially important since, on each and every system, at least some
1401 tests in this script are expected to be skipped (which ones exactly
1402 depends on the system), thus causing the test directory not to be
1403 removed when the script terminates.
1404 * tests/instspc.tap: Likewise (with the difference that tests here
1405 are not expected to be skipped, but to xfail). Give more explicit
1406 error message in case of setup failure. Skip the proper number of
1407 tests when required, to avoid spurious errors due to mismatched
1408 plan. Also, really avoid to run the unsupported test cases when
1409 the need to skip them is detected.
1411 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1413 test harness: recursive make invocations must use $(AM_MAKEFLAGS)
1414 * lib/am/check.am ($(TEST_SUITE_LOG)): Pass $(AM_MAKEFLAGS)
1415 to $(MAKE) when issuing a recursive make call.
1416 Problem detected by the `sc_tests_make_without_am_makeflags'
1419 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1421 tests: fix spurious failure in 'suffix-chain.tap'
1422 * tests/suffix-chain.test: Use more uncommon suffixes that
1423 don't trigger built-in recipes with FreeBSD make.
1425 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1427 testsuite: improvements to our shell TAP library and APIs
1428 These improvements impact only the Automake's own testsuite.
1429 * tests/tap-functions.sh (plan_): Allow new special arguments
1430 "unknown" a.k.a. "later" and "lazy" a.k.a. "now". Perform
1431 sanity check the given arguments. Adjust incorrect comments.
1432 (lazy_plan_): Removed, superseded by the new version of `plan_'.
1433 (not): New function, run a command and inverts its exit status.
1434 (ok_, not_ok_, skip_): These are just shorthands for common
1436 (xfail_, xpass_, reset_test_count_): Removed, they are not used,
1437 nor does a legitimate use for them seem in sight.
1438 (not): New function, to run a command inverting its exit status.
1439 (command_not_ok_): Removed, superseded by `command_ok_' + `not'.
1440 (command_ok_): Extended to accept TAP directives.
1441 * tests/defs (trap): Don't use `late_plan_' anymore, use
1442 `plan_ "now"' instead.
1443 * tests/ac-output-old.tap: Update to take advantage of the new
1445 * tests/self-check-env-sanitize.tap: Likewise.
1446 * tests/suffix-chain.tap: Likewise.
1447 * tests/suffix10.tap: Likewise.
1448 * tests/suffix11.tap: Likewise.
1449 * tests/suffix3.tap: Likewise.
1450 * tests/suffix8.tap: Likewise.
1451 * tests/tap-bad-prog.tap: Likewise.
1452 * tests/self-check-exit.tap: Likewise, plus a small improvement
1453 in the name of a variable.
1455 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1457 testsuite: convert some `suffix*' tests to TAP
1458 This will allow us to explicitly declare some expected failures
1459 involving Solaris make as such, instead of partly papering over
1460 them with skips and partly letting them fail too loudly.
1461 * tests/suffix-chain.test: Rename ...
1462 * tests/suffix-chain.tap: ... to this, and convert to the use of
1463 TAP. Also, fix some bugs since we are at it, and ...
1464 ($required): ... require `cc'.
1465 * tests/suffix3.test: Rename ...
1466 * tests/suffix3.tap: ... to this, and convert to the use of TAP.
1467 Also, since we are at it, throw in some formatting fixes.
1468 * tests/suffix8.test: Rename ...
1469 * tests/suffix8.tap: ... to this, and convert to the use of TAP.
1470 Also, since we are at it, throw in some formatting fixes.
1471 * tests/suffix10.test: Rename ...
1472 * tests/suffix10.tap: ... to this, and convert to the use of TAP.
1473 * tests/suffix11.test: Rename ...
1474 * tests/suffix11.tap: ... to this, and convert to the use of TAP.
1475 * tests/Makefile.am (TESTS): Update.
1477 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1479 tests: don't let a known Solaris make bug poison too many tests
1480 See automake bug#7670 and bug#7824.
1481 * tests/defs (make_can_chain_suffix_rules): New function, tell
1482 whether the make implementation in use can chain suffix rules
1483 automatically or not.
1484 * tests/suffix3.test: Use it to avoid issuing calls to make that
1485 are unportable to make implementations that are not smart enough
1486 to chain suffix rules automatically.
1487 * tests/suffix8.test: Use it to avoid issuing calls to make that
1488 * tests/suffix10.test: Use it to avoid issuing calls to make that
1489 * tests/suffix11.test: Use it to avoid issuing calls to make that
1490 * tests/suffix-chain.test: New test, exposes the limitation that
1491 we have papered over in the tests above.
1493 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1495 gitignore: more use of anchors
1496 * .gitignore: Anchor files that are intended to be ignored only
1497 if found in the same directory of the `.gitignore' file, not also
1498 in its subdirectories.
1499 * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
1500 lib/Automake/tests/.gitignore, tests/.gitignore: Likewise. Also,
1501 where needed, add new entries that were once implied by the
1502 non-anchored entries in the upper-level `.gitignore' files.
1504 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1506 self tests: avoid spurious output on console, and related fixlets
1507 * tests/self-check-cleanup.test: Set `$stderr_fileno_' to `2'
1508 in the self tests, to avoid spurious diagnostic on console.
1509 * tests/self-check-exit.tap: Only unset `am_explicit_skips' and
1510 `$stderr_fileno_' in the self tests, not at the global level, it
1512 ($init): New variable, to reduce code duplication.
1513 Some refactoring and adjustments to the name of the tests.
1515 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1517 test defs: few more sanity checks
1518 * tests/defs: Catch some more (very unlikely) set-up or internal
1519 errors, and diagnose them explicitly. This is intended mostly
1520 to be a theoretic-only improvement.
1522 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1524 test defs: really make them "set -e" clean
1525 Motivated by a spurious failure of test `instsh3-w.shtst' on
1527 * tests/defs: Make really "set -e" clean, to avoid spurious
1528 failures in case this file is sourced by a test script that has
1529 already set the `errexit' flag. To be sure we don't regress,
1530 move the `set -e' call much earlier, and make the comment telling
1531 about the expected "set -e" cleanliness more loud and outstanding.
1533 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1535 self tests: register an expected failures with Solaris /bin/sh
1536 Solaris 10 /bin/sh erroneously exit with success right away when
1537 the following three conditions are met at the same time:
1538 1. the `errexit' flag is active,
1539 2. an exit trap is installed, and
1540 3. a non-existing command is issued.
1541 * tests/self-exit.tap: When that bug is detected, issue an XFAIL
1542 rather than a FAIL. Since we are at it, improve by avoiding
1543 creation of stray temporary files when testing for non-executable
1546 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1548 gitignore: update and improve for the testsuite files
1549 * tests/.gitignore: Don't ignore temporary partial log files,
1550 autogenerated tests and makefile fragments that are not used
1551 anymore. Anchor all the remaining patterns.
1553 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1555 self tests: some new uses of TAP, few extensions
1556 * tests/self-check-me.test: Renamed ...
1557 * tests/self-check-me.tap: .. to this, and converted to use TAP.
1558 * tests/self-check-exit.test: Renamed ...
1559 * tests/self-check-exit.tap: .. to this, and converted to use TAP.
1560 Set `$stderr_fileno_' to `2', to avoid spurious messages on the
1561 console. Add a new test, and relax another one.
1562 * tests/self-check-env-sanitize.test: Renamed ...
1563 * tests/self-check-env-sanitize.tap: .. to this, and converted to
1565 * tests/Makefile.am (TESTS): Update.
1567 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
1569 test defs: test directory creation more configurable
1570 After this change, the individual tests will be able to tell
1571 `./defs' whether or not to create a temporary test directory
1572 for them, and if yes, whether or not to pre-populate it.
1573 * tests/defs: Only create the temporary test directory if the
1574 variable `$am_create_testdir' is not set to "no". In this
1575 case, only pre-populate it if that variable is not set to
1577 * tests/defs-static.in: Check that `$am_create_testdir' is not
1578 exported in the environment.
1579 * tests/self-check-env-sanitize.test: Update.
1580 * tests/self-check-dir.test: Extend, and make deeper and more
1582 * tests/README (Section "Writing test cases" subsection "Do"):
1584 * tests/autodist.test: Set `$am_create_testdir' instead of
1585 removing by hand files created by ./defs.
1586 * tests/tap-doc2.test: Likewise.
1588 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1590 testsuite: more uses of the `seq_' function
1591 * tests/parallel-tests-exit-statuses.test: Use the `seq_' function
1592 from `tests/defs', instead of duplicating its semantics.
1593 * tests/testsuite-summary-count.test: Likewise.
1595 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1597 testsuite: drop redundant environment sanitization
1598 * tests/Makefile.am (TESTS_ENVIRONMENT): Don't remove `planned'
1599 from the environment.
1600 * tests/defs-static.in: Don't complain if `planned' is set in
1602 * tests/self-check-env-sanitize.test: Update.
1604 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1606 test defs: fix bug in plain version of `skip_all_'
1607 * tests/plain-functions.sh (skip_all_): Call `skip_', not `skip'.
1609 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1611 test defs: small cleanups and tweakings
1612 * tests/defs: Where possible, prefer `framework_failure_' or
1613 `fatal_' to `Exit 99'. Try to catch more possible hard errors
1614 and setup failures. Do not hide expected error messages. Avoid
1615 a couple of forks when copying files from `$(top_srcdir)/lib'.
1616 ($signal): Remove, no more needed.
1618 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1620 testsuite: improve interface for giving early TAP plan
1621 Since commit `v1.11-976-g4740f56', an early TAP plan can also be
1622 specified after input lines have already been seen, as long as
1623 no one of them is a TAP result line. We can now take advantage
1624 of this in our own testsuite, allowing the TAP-based scripts to
1625 specify their earlier plan after having included `./defs'. In
1626 particular, this offers the benefit of allowing those scripts to
1627 issue a "skip all" plan (e.g., "1..0 # SKIP reason ...") after
1628 the inclusion of `./defs', which wasn't possible with the older
1629 interface (introduced in commit `v1.11-1114-g0286308').
1630 * tests/defs: Don't try to call `plan_' if `$planned' is defined,
1631 the calling scripts can do that directly now.
1632 * tests/ac-output-old.tap: Use `plan_' directly instead of
1633 setting `$planned' before including `./defs'.
1634 * tests/automake-cmdline.tap: Likewise.
1635 * tests/depmod.tap: Likewise.
1636 * tests/instspc.tap: Likewise.
1637 * tests/tap-bad-prog.tap: Likewise.
1638 * tests/add-missing.tap: Don't set `$planned'.
1640 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1642 test defs: fix bug in TAP version of `skip_all_'
1643 * tests/tap-functions (skip_all_): Set `$have_tap_plan_' to "yes"
1644 when called, so that the exit trap won't write another TAP plan.
1646 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1648 test defs: fix skip directives to work also with TAP-based tests
1649 * test/defs: Use `skip_all_', not `skip_', to issue a skip of the
1650 whole calling test script.
1652 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1654 test defs: more environment cleanup
1655 * tests/defs: Also unset variables AM_COLOR_TESTS and
1656 AM_TESTS_ENVIRONMENT.
1658 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1660 test harness: more minor VPATH-rewrite issues
1661 * tests/am/check.am (am__set_TESTS_bases, $(TEST_SUITE_LOGS),
1662 am--redo-logs, recheck, recheck-html): Cosmetic fixlets to
1663 minimize the risk of unwanted VPATH rewrites.
1664 (check-TESTS): Likewise, and normalize trailing whitespace
1666 Bugs exposed by test cases `check6-p.test' and `check7-p.test'.
1668 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1670 test harness: "make -n check" works correctly with Solaris make
1671 To avoid some recipes being executed with "make -n", we used the
1672 trick of issuing recursive make calls not directly with $(MAKE),
1673 but with a simple indirection instead:
1675 am__stealth_MAKE = $(MAKE)
1678 ... $(am__stealth_MAKE) ...
1680 This hack worked with GNU make, but, unfortunately, not with
1681 Solaris make. The present change removes the hack, and uses more
1682 proper idioms to avoid unwanted recipe executions with "make -n".
1683 Bug exposed by test case `parallel-tests-dry-run.test'.
1684 * lib/am/check.am (am__stealth_MAKE): Remove, no more used.
1685 (.log.trs): Break recipe in multiple shell invocations.
1686 ($(TEST_SUITE_LOG)): Likewise, and move some corner-case parts of
1688 (am--redo-logs): ... this new internal helper .PHONY target.
1690 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1692 tests: fix spurious failure with Solaris make
1693 * tests/distcheck-configure-flags-am.test: Avoid using `+=' too
1694 liberally with AM_DISTCHECK_CONFIGURE_FLAGS, since the line breaks
1695 so introduced, in conjunction with single quotes, might confuse
1698 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1700 test harness: fixlet in workaround for VPATH rewrite issue
1701 Fixes a minor in previous commit `v1.11-983-gfda3de5'.
1702 * lib/am/check.am (am__set_TESTS_bases): Add forgotten end-of-line
1703 anchor to sed expression. In comments, add reference to ...
1704 * tests/test-trs-basic.test: ... this test, which has been adapted
1705 and tightened (and tweaked).
1707 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1709 test harness: work around a VPATH rewrite issue
1710 * lib/am/check.am (am__TEST_BASES): Removed, it's role taken
1712 (am__set_TESTS_bases): ... these new variable.
1713 ($(TEST_SUITE_LOG): Use it, to avoid VPATH rewrite issues.
1714 * automake.in (handle_tests): Update the code for the cleanup
1715 of the `.trs' file to use `$(TEST_LOGS)' instead of
1716 `$(am__TEST_BASES)'.
1717 * tests/test-harness-vpath-rewrite.test: New test, better
1718 exposing the problem fixed by this change
1719 * tests/Makefile.am (TESTS): Add it.
1720 * tests/test-trs-basic.test: Update and extend.
1722 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1724 parallel-tests: work around Solaris XPG4 make segfault
1725 Issue exposed by test `posixsubst-tests-p.test', and similar to
1726 the problem solved by commit `v1.11-159-ge7aa360'.
1727 * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Trim trailing
1728 whitespace from $list, to avoid triggering a nasty bug (potential
1729 segfault) on Solaris XPG4 make and Heirloom make.
1731 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1733 testsuite: fix weird spurious failure with Solaris /bin/sh
1734 Solaris /bin/sh, when killed with a SIGTERM or SIGINT signal, can
1735 apparently end up exiting with exit status 208, instead of leaving
1736 the correct wide exit status to the parent. See:
1737 <http://dbaspot.com/shell/396118-bourne-shell-exit-code-term.html>
1738 Work around this incompatibility.
1739 * tap-signal.test: Look for the above Solaris bug.
1740 (signal_caught): Adapt to handle it.
1742 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1744 testsuite: fix another spurious failure on Solaris make
1745 * tests/parallel-tests-log-override-recheck.test: Filter make
1746 output before grepping it, for make implementations that, like
1747 Solaris' one, print the whole of the failed recipe on failure.
1749 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1751 testsuite: fix two spurious failures on Solaris make
1752 * tests/tests-environment-and-log-compiler.test: Do not fail if
1753 "make -n check" fails, as that is issued only for debugging, its
1754 semantics being tested in other test scripts.
1755 * tests/test-driver-strip-vpath.test: Likewise.
1757 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1759 tap driver: refactor and remove dead code
1760 * lib/tap-driver (get_tap_line): Removed, ...
1761 (all callers): ... updated to use $parser->next directly instead.
1762 (peek_tap_line, unget_tap_line, @tap_lines): Remove, they're not
1764 (TAP_PEEKING): Block deleted, all its subroutines and variables
1765 having been removed.
1767 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1769 testsuite: fix spurious failure in a test on TAP support
1770 * tests/tap-passthrough-exit.test: When the `--ignore-exit' flag
1771 of the TAP driver is used, don't look for a message reporting the
1772 non-zero exit statuses of tests in the log files; such message is
1773 not expected to be there anymore. Related simplifications.
1775 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1777 tap: plan location is more liberal w.r.t. non-TAP lines
1778 With this change, only lines that are TAP results will matter
1779 w.r.t. the position of the TAP plan in the input; for example,
1781 this is a non-TAP line
1782 # and this a TAP diagnostic line
1785 was considered to be an error, diagnosed with a message "test
1786 plan in middle of output"; as effect of the current change, such
1787 input is now valid. This is more consistent with the behaviour
1788 of the `prove' utility.
1789 * lib/tap-driver ($lineno): Removed, no more needed.
1790 ($tap_stopped): New global variable.
1791 (stringify_test_result): Return "ERROR" if a TAP result is found
1792 when `$tap_stopped' is set to true.
1793 (handle_tap_test): Diagnose TAP results that comes after a late
1794 plan. Add a couple of blank lines, for clarity.
1795 (handle_tap_plan): Set `$tap_stopped' to true after a late plan
1796 is encountered. Do not complain anymore for extra non-TAP lines
1797 preceding or following the plan. Adjust comments.
1798 (main): Don't increment $lineno anymore.
1799 * tests/tap-plan.test: Extend a bit, and remove stale comment.
1800 * tests/tap-color.test: Adjust.
1801 * tests/tap-passthrough.test: Likewise.
1802 * tests/tap-plan-corner.test: Adjust and extend.
1803 * tests/tap-plan-errors.test: Likewise.
1804 * tests/tap-plan-middle.test: New test.
1805 * tests/tap-plan-corner2.test: Delete, it's obsolete now.
1806 * tests/Makefile.am (XFAIL_TESTS): Remove it.
1807 (tap_with_common_setup_tests): Likewise, and add
1808 `tap-plan-corner.test'.
1810 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1812 testsuite: remove now-passing test from XFAIL_TESTS
1813 * tests/Makefile.am (XFAIL_TESTS): Remove `tap-signal.test',
1814 which is passing since previous commit `v1.11-974-gc7fa872'.
1816 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1818 test defs: get name of TAP-using tests correctly
1819 This change fixes the names of the temporary directories used
1820 by the TAP-based tests (e.g., test `foo.tap' now uses `foo.dir'
1821 rather than `foo.tap.dir'); more importantly, this make the
1822 variable `$destdir' defined in `tests/defs' usable also in the
1824 ($me): Also strip the any `.tap' suffix from the name of the
1827 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1829 testsuite: TAP tests properly decide when to remove tempdirs
1830 Before this change, the TAP tests in the Automake testsuite were
1831 removing the temporary test directory even when they failed or
1832 were skipped, thus making debugging more difficult.
1833 * tests/tap-functions.sh (incr_tap_count): Removed, superseded
1835 (incr_): ... this function, which can increment the value of any
1836 variable passed to it.
1837 (result_): Updated to use `incr_' instead of the now-removed
1838 `incr_tap_count_'. Keep count of failures, xfailures, xpasses,
1839 and skips, using ...
1840 ($tap_skip_count_, $tap_bad_count, _$tap_xfail_count_): ...
1841 these new variables.
1842 * tests/defs (trap): Try to use their values to decide whether
1843 the temporary directory being used by the test script should be
1844 removed or not. Other code reorganizations. And move the code
1845 for the removal of the temporary directory out to ...
1846 (rm_rf_): ... this new subroutine.
1847 (Main code): Use that instead of duplicating the code.
1849 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1851 testsuite: improve and refactor our custom TAP shell library
1852 This change is mostly done in preparation for the next one.
1853 * tests/tap-functions.sh (result_with_directive_): Merge into ...
1854 (result_): ... this function, which has been greatly extended and
1855 improved in various ways.
1856 (ok_, not_ok_, skip_, xfail_, xpass_): Adjust.
1857 Adjust comments. Remove an extra empty line.
1858 * tests/instspc.tap: Use the new improved interface of `result_'.
1859 * tests/tap-bad-prog.tap: Likewise.
1861 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1863 testsuite: update "user interface" description in tests/README
1864 * tests/README (Subsection "Interpretation"): Mention the "ERROR"
1866 (Subsection "Getting details from failures"): Don't tell that the
1867 test scripts can be run directly, this is not 100% true; anymore;
1869 (Subsection "About the tests"): ... use this new subsection to
1870 explain how to run the tests (either simple or TAP-based) by hand.
1871 (Subsection "Supported shells"): Extend to refer to TAP tests too.
1873 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1875 testsuite: TAP tests can have early plan now
1876 * tests/defs: When using TAP, allow the user to specify the number
1877 of tests through the `$planned' variable.
1878 (trap): Do not print the auto-generated plan if an explicit one
1879 has already been printed.
1880 * tests/defs-static.in: Complain and bail out if the `$planned'
1881 variable is exported in the environment. Reformat the code to
1882 facilitate future additions.
1883 * tests/Makefile.am (TESTS_ENVIRONMENT): Neutralize `$planned'.
1884 * tests/self-check-env-sanitize.test: Update.
1885 * tests/ac-output-old.tap: Give an explicit TAP plan, by defining
1886 `$planned' just before including `./defs'.
1887 * tests/depmode.tap: Likewise.
1888 * tests/automake-cmdline.tap: Likewise.
1889 * tests/tap-bad-prog.tap: Likewise.
1890 * tests/instspc.tap: Likewise, and related adjustments.
1891 * tests/add-missing.tap: Make it explicit that we have no a-priori
1894 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1896 testsuite: run autogenerated tests with $(LOG_COMPILER) too
1897 This change enhances consistency in the testsuite.
1898 * tests/Makefile.am: Some cosmetic reordering, to keep the
1899 definition of FOO_LOG_COMPILER near to the place where `.foo'
1900 is added to $(TEST_EXTENSIONS).
1901 (PTEST_LOG_COMPILER): Run `$(srcdir)/parallel-tests.sh' with
1902 `$(LOG_COMPILER)', not with `$(SHELL)'.
1903 (SHTST_LOG_COMPILER): Likewise.
1905 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1907 testsuite: run TAP and "plain" tests with the same $(LOG_COMPILER)
1908 With this change, it will be easier to override, at make time, the
1909 shell used to run the tests.
1910 * tests/Makefile.am (LOG_COMPILER): Define to `$(SHELL)'.
1911 (TEST_LOG_COMPILER): Re-define to `$(LOG_COMPILER)'.
1912 (TAP_LOG_COMPILER): Likewise.
1914 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
1916 testsuite: run TAP-based tests explicitly with $(SHELL)
1917 * tests/Makefile.am (TAP_LOG_COMPILER): Define to `$(SHELL)'.
1919 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
1921 tap driver: handle signals received by the tests being run
1922 * lib/tap-driver (get_test_exit_message): Also deal with signals,
1923 by using the `wait' method of the TAP::Parser object instead of
1924 the `exit' method. This required the use of the standard perl
1926 * doc/automake.texi (Use TAP with the Automake test harness):
1927 Document that `--ignore-exit' has effect also on terminating
1928 signals. Add a "synchronizing" comment that references the tests
1929 'tap-exit.test' and 'tap-signal.test'.
1930 * tests/tap-signal.test: Extend and adjust.
1932 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
1934 test driver: a preparatory refactoring (2)
1935 * lib/tap-driver (finish): Move code to fetch the message about
1936 the exit status of the test being run to ...
1937 (get_test_exit_message): ... this new subroutine.
1939 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
1941 tap driver: a preparatory refactoring (1)
1942 * lib/tap-driver (finish): Do not flush the TAP stream nor
1943 fetch the exit status of the TAP producer if running with
1944 the `--ignore-exit' option. Obviously, don't try to write
1945 such exit status in the test log anymore.
1947 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
1949 cosmetics: typofix in the name of a function in the TAP driver
1950 * lib/tap-driver (testuite_error): Renamed ...
1951 (testsuite_error): ... to this, and minor related reformatting.
1953 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
1955 tap: scripts with a SKIP plan but with exit status != 0 must error
1956 This change has been motivated by Automake's own testsuite. Some
1957 TAP tests there were erroring out (due to unexpected, unhandled
1958 failures) before having encountered TAP result, so that the
1959 simple-minded shell library implementing TAP generation ended up
1960 printing a "1..0" trailing test plan; this caused the script to be
1961 reported as a SKIP rather than an ERROR -- a nasty false negative.
1962 * lib/tap-driver: Add prototypes for each subroutine, to free up
1963 the order in which they can be defined and called.
1964 (main): Move the code checking for a bad exit status of the TAP
1966 (finish): ... here, and flush the TAP stream to ensure that the
1967 parser always obtains the producer's exit status.
1968 * tests/tap-skip-whole-badexit.test: New test.
1969 * tests/Makefile.am (tap_with_common_setup_tests): Add it.
1971 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
1973 tap: fix whitespace munging of diagnostic messages
1974 * lib/tap-driver (extract_tap_comment): Pass the `g' flag to the
1975 substitution operator, to strip also trailing whitespaces. Fixes
1976 a failure in test `tap-whitespace-normalization.test'.
1978 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
1980 testsuite: refactor and cleanup 'instspc.tap'
1981 * tests/instspc.tap (is_in_list): New helper subroutine.
1982 (expected_to_fail): Re-implement using it.
1983 (define_problematic_string): Likewise. Also, rename the special
1984 arguments `build-fail' and 'install-fail' to respectively
1985 `builddir-fail' and `destdir-fail', and other related changes.
1986 (Test data definition): Adapt.
1987 ($instspc_xfail_builds_list): Renamed ...
1988 ($builddir_xfails): ... to this.
1989 ($instspc_xfail_installs_list): Renamed ...
1990 ($destdir_xfails): ... to this.
1991 ($instspc_names_list): Renamed ...
1992 ($test_names_list): ... to this.
1993 ($instspc_test_string): Renamed ...
1994 ($test_string): ... to this.
1995 Add some explicative and "FIXME" comments.
1997 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
1999 testsuite: use TAP for `depmod*' tests, related simplifications
2000 * tests/depmod-tests.sh: Delete this complex and multifarious
2001 script, moving all it checks it used to perform into ...
2002 * tests/depmod.tap: ... this TAP-based test script. And extend
2003 it quite a bit, since the new form of the test was papering over
2004 some pre-existing failures (this was due to the fact that the
2005 values used for the VPATH were shorter in the new test script).
2006 * tests/depmod-data.test: Deleted.
2007 * tests/Makefile.am ($(srcdir)/depmod-tests.am): Don't include
2008 nor generate it anymore.
2009 (EXTRA_DIST): Don't distribute depmod-tests.sh anymore.
2010 (TEST_EXTENSIONS): Remove '.depmod'.
2011 (DEPMOD_LOG_COMPILER): Deleted.
2012 (depmod-data.log, $(depmod_tests:.depmod=.log)): Delete
2013 dependencies for these files, which are not used anymore.
2014 ($(depmod_tests)): Delete this dummy dependency declaration.
2015 (TESTS): Remove $(depmod_tests).
2016 (handwritten_tests): Remove depmod-data.test, add depmod.tap.
2017 * bootstrap: Don't generate tests/depmod-tests.am anymore.
2019 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
2021 testsuite: use TAP for `instspc*' tests, related simplifications
2022 * tests/instspc-tests.sh: Delete this complex and multifarious
2023 script, moving all it checks it used to perform into ...
2024 * tests/instspc.tap: ... this TAP-based test script.
2025 * tests/instspc-data.test: Deleted.
2026 * tests/Makefile.am ($(srcdir)/instspc-tests.am): Don't include
2027 nor generate it anymore.
2028 (EXTRA_DIST): Don't distribute instspc-tests.sh anymore.
2029 (TEST_EXTENSIONS): Remove '.instspc'.
2030 (INSTSPC_LOG_COMPILER): Deleted.
2031 (XFAIL_TESTS): Remove $(instspc_xfail_tests).
2032 (instspc-data.log, $(instspc_tests:.instspc=.log)): Delete
2033 dependencies for these files, which are not used anymore.
2034 ($(instspc_tests)): Delete this dummy dependency declaration.
2035 (TESTS): Remove $(instspc_tests).
2036 (handwritten_tests): Remove instspc-data.test, add instspc.tap.
2037 * bootstrap: Don't generate tests/instspc-tests.am anymore.
2039 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
2041 testsuite: do fd redirections with $(AM_TESTS_FD_REDIRECT)
2042 * tests/Makefile.am: The redirections of file descriptors needed
2043 by our test scripts is now done using the $(AM_TESTS_FD_REDIRECT)
2044 variable (the new blessed way since commit `v1.11-906-gb9e9d54'),
2045 not using an hack involving $(AM_TESTS_ENVIRONMENT). This has
2046 the further benefit of allowing the use of $(TESTS_ENVIRONMENT)
2047 again on part of the users.
2048 * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Remove redirection of
2050 (AM_TESTS_FD_REDIRECT): Redirect file descriptor 9 to original
2053 * tests/plain-functions.sh ($stderr_fileno_): Update comment.
2055 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
2057 testsuite: use custom TAP diagnostic in our own tests
2058 This change allow us to easily and transparently avoid spurious
2059 TAP diagnostic in our own testsuite, with the help of the new
2060 `--diagnostic-string' option of our TAP test driver.
2061 * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Also pass option
2062 `--diagnostic-string' with value `#%#' (necessarily obtained
2063 through some shell indirections).
2064 * tests/tap-functions.sh (diag_): Assume that the string denoting
2065 TAP diagnostic is stored in the `$diag_string_' variable. Update
2067 ($diag_string_): Initialize to "#".
2068 * tests/defs ($diag_string_): Re-define to "#%#".
2069 (show_): Remove, it's obsolete now.
2070 * add-missing.tap: Don't use `show_' anymore to avoid spurious
2071 TAP diagnostic; `cat' should suffice now.
2073 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
2075 tap: fix typo in TAP driver version message
2076 * lib/tap-driver (anonymous subroutine printing the script version
2077 message): Add missing trailing newline to the version message.
2079 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
2081 tap docs: we don't support pragma or version directives (yet)
2082 * doc/automake.texi (Incompatibilities with other TAP parsers
2083 and drivers): Document that limitation. Normalize an unrelated
2086 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
2088 tap: new option to change the string designating TAP diagnostic
2089 Here we introduce a new option `--diagnostic-string' in our TAP
2090 test driver, that allows the user to specify which string should
2091 denote the beginning of a TAP diagnostic line. This change is
2092 not gratuitous, nor result if over-engineering: it is motivated
2093 by real issues that have emerged during the use of TAP in the
2094 Automake's own testsuite (see the commit `v1.11-1082-g9b967c2'
2095 "testsuite: yet more use of TAP, and related extensions").
2096 * doc/automake.texi (Use TAP with Automake test harness): Document
2098 (Incompatibilities with other TAP parsers and drivers): Report it
2099 as a potential source of incompatibility.
2100 * lib/tap-driver ($diag_string): New global variable, defaulting
2101 to "#", and whose value can be changed ...
2102 (Getopt::Long::GetOptions): ... by the newly recognized option
2103 `--diagnostic-string'.
2104 (handle_tap_comment): Subroutine removed, some of its simple logic
2106 (main): ... in here, where now ...
2107 (extract_tap_comment): ... this new subroutine is used.
2109 * tests/tap-diagnostic.test: Make one check slightly stricter.
2110 * tests/tap-diag-custom.test: New test.
2111 * tests/Makefile.am (tap_other_tests): Add it.
2113 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
2115 check: add small "synchronization" comment to `test-driver'
2116 * lib/test-driver: Add comment to the code initializing ANSI color
2117 escapes, telling to keep it in sync with the similar initialization
2118 in `lib/am/check.am'.
2120 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
2122 maintcheck: fix spurious failure w.r.t. use of bare "exit"
2123 * tests/check12.test: Cosmetic changes to avoid triggering a
2124 spurious failure of the `sc_tests_Exit_not_exit' maintainer
2127 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
2129 check: update comments to reflect recent heavy changes
2130 * lib/am/check.am [%?PARALLEL_TESTS%]: Update the comments to
2131 reflect the recent changes. Remove quite many comments that
2132 were merely duplicating excerpts from the Automake manual.
2134 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
2136 check: small cleanups and refactorings in test harness and drivers
2137 * lib/tap-driver (yn): New subroutine, converts a boolean value to
2138 a "yes" or "no" string.
2139 (write_test_results): Use it, and related reformatting.
2140 * lib/test-driver (trap): Also remove the `.trs' file on signals,
2142 (fatal): Remove this function, it's never used.
2143 ($logfile, $trsfile): Renamed ...
2144 ($log_file, $trs_file): ... to these, for clarity, and in order to
2145 be more consistent with the `tap-driver' script.
2146 Improve a couple of comments.
2147 * automake.in (handle_tests): Don't define anymore the now-obsolete
2148 make macro `$(TEST_LOGS_TMP)', nor add it to the list of files to
2149 be removed upon "make mostlyclean".
2150 * lib/am/check.am ($(TEST_SUITE_LOG)): New shell function `f_ok',
2151 tells whether a path refers to an existing, regular, readable file.
2153 (recheck): Be safer w.r.t. make implementation that run recipes
2154 with `errexit' shell flag active.
2156 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
2158 testsuite: use AM_TESTS_FD_REDIRECT where appropriate
2159 * parallel-tests-interrupt.test: Use AM_TESTS_FD_REDIRECT, not
2160 AM_TESTS_ENVIRONMENT, to define file descriptors' redirection
2161 for "make check". Fix botched comment.
2163 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
2165 docs: some fixlets in documentation on testsuites support
2166 * doc/automake.texi (Script-based Testsuites): Rename node ...
2167 (Scripts-based Testsuites): ... to this. Break overly long lines
2168 in an example (were causing problems with PDF output).
2169 (Parallel Test Harness): Don't intend paragraphs that come after
2170 examples or bulleted list.
2171 (Overview of Custom Test Drivers Support): Fix typo s/the the/the/.
2172 (Declaring Custom Test Drivers): When giving an aside, prefer comma
2173 to parentheses, as it disrupts the reading flow less.
2174 (API for Custom Test Drivers): Remove a sentence that was basically
2175 duplicated from the previous subsection.
2176 (Command-line arguments for test drivers): Don't intend paragraph
2177 coming after an itemized list. Clarify wording and fix grammaros.
2178 Add a couple of cross-references to earlier explanations of `.log'
2180 (Links and external resources): Node renamed ...
2181 (Links and external resources on TAP): ... to this, for clarity.
2182 Slightly extend and clarify introductory sentence.
2184 2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
2186 test harness: be aware of more metadata, simplify test drivers
2187 * lib/am/check.am ($(TEST_SUITE_LOG)): When producing the
2188 global test log, take into account the new metadata field
2189 `:global-test-result:, to write nicely formatted RST section
2190 titles, instead of leaving this chore to the individual test
2192 (am_rst_section): Re-introduce this variable, as removed in
2193 commit `v1.11-870-ga27c9c4'.
2194 * lib/test-driver, lib/tap-driver: Write the global test result
2195 as metadata in the `.trs' file, not as (part of) a formatted RST
2196 subsection title in the `.log' file. Related simplifications;
2197 in particular, get rid of temporary files usage.
2198 * doc/automake.texi (Log files generation and test results
2199 recording): Document the new metadata.
2200 * tests/check12.test: Update.
2201 * tests/parallel-tests-harderror.test: Likewise.
2202 * tests/parallel-tests-interrupt.test: Likewise.
2203 * tests/parallel-tests-log-override-2.test: Likewise.
2204 * tests/parallel-tests-log-override-recheck.test: Likewise.
2205 * tests/parallel-tests-unreadable.test: Likewise.
2206 * tests/tap-global-result.test: Likewise.
2207 * tests/test-metadata-results.test: Likewise.
2208 * tests/test-log.test: Likewise, and another minor unrelated fix.
2209 * tests/test-metadata-global-result.test: New test.
2210 * tests/Makefile.am (TESTS): Update.
2212 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
2214 tap: check that also a trailing TAP plan can hold a skip directive
2215 * tests/tap-skip-whole-lastline.test: New test.
2216 * tests/Makefile.am (tap_with_common_setup_tests): Add it.
2218 2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
2220 testsuite: more correct names for a couple of tests
2221 * tests/parallel-tests-ext-driver.test: Rename ...
2222 * tests/parallel-tests-log-compiler-1.test: ... to this, and
2223 adjust heading comments.
2224 * tests/parallel-tests-ext-driver-prog.test: Rename ...
2225 * tests/parallel-tests-log-compiler-2.test: ... to this, and
2226 adjust heading comments.
2227 * tests/Makefile.am (TESTS): Update.
2229 2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
2231 testsuite: fix another spurious failure
2232 * tests/parallel-tests-ext-driver.test: Name out custom/dummy
2233 log compilers as `foo-compiler' rather `foo-driver'; not only
2234 this is less confusing, it also avoids errors due to the dummy
2235 log compiler `test-driver' overriding the `test-driver' helper
2236 script installed by Automake.
2237 * tests/parallel-tests-ext-driver-prog.test: Adjust heading
2240 2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
2242 testsuite: fix a spurious failure
2243 * tests/parallel-tests-ext-driver.test: Exporting of environment
2244 variables directly from $(LOG_COMPILER) variables is not allowed
2245 anymore. Adjust to this.
2247 2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
2249 testsuite: yet more use of TAP, and related extensions
2250 * tests/defs (show_): New function, display the contents of one or
2251 more files on stdout, with bells & whistles (both for cosmetic and
2252 practical reasons, the latter aimed at avoiding spurious TAP
2254 (AUTOMAKE_run): Extend and adapt to make it compatible with TAP
2255 based tests. Since we are at it, make its implementation more
2256 namespace-safe, and improve its command-line interface.
2257 (AUTOMAKE_fails): Adapt to the new command-line interface of
2259 * tests/add-missing.test: Renamed ...
2260 * tests/add-missing.tap: ... to this, and converted to the use
2261 of the TAP protocol, and of the new `show_' function.
2262 * tests/automake.test: Renamed ...
2263 * tests/automake-cmdline.tap: ... to this, and converted to the
2264 use of the TAP protocol.
2265 * tests/getopt.test: Adapt to the new command-line interface
2267 * tests/cond44.test: Likewise.
2268 * tests/cond45.test: Likewise.
2269 * tests/configure.test: Likewise.
2270 * tests/license2.test: Likewise.
2271 * tests/parallel-am.test: Likewise.
2272 * tests/parallel-am3.test: Likewise.
2273 * tests/tags2.test: Likewise.
2274 * tests/werror3.test: Likewise.
2275 * tests/werror4.test: Likewise.
2276 * tests/amopts-variable-expansion.test: Likewise.
2277 * tests/warnings-win-over-strictness.test: Likewise.
2278 * tests/Makefile.am (TESTS): Update.
2279 (TAP_LOG_DRIVER_FLAGS): Add `--merge', so that TAP diagnostic is
2280 reported in the testsuite progress output.
2282 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
2284 maintcheck: fix more maintainer-check failures
2285 * tests/test-driver-custom-no-html.test (no-rst): Use `EOF',
2286 not `EoL', as the here-document delimiter.
2287 * tests/test-trs-basic.test: Use `cat + here-doc' rather
2288 than `echo' when creating the dummy test scripts, to please
2290 * tests/test-trs-recover.test: Use creative quoting where
2291 needed, to please maintainer-check.
2292 * tests/parallel-tests-no-color-in-log.test: Likewise.
2293 * tests/parallel-tests-dry-run.test: Likewise.
2295 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
2297 maintcheck: fix maintainer-check failures, both real and spurious
2298 * tests/amhello-binpkg.test: Use "$MAKE", not bare "make".
2299 * Makefile.am (sc_perl_local): Also allow perl special variable
2300 `$~' to be localized. And be slightly laxer in the regexp, to
2301 allow for usages like "local $_ = $foo;".
2302 (sc_tests_overriding_macros_on_cmdline): Also allow for command
2303 line overriding of the `DISABLE_HARD_ERRORS' make variable. Try
2304 to avoid false positives for usages like "$MAKE || st=$?".
2306 2011-08-03 Bruno Haible <bruno@clisp.org>
2308 docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support
2309 * doc/automake.texi (Program Variables): Recommend -I options to
2310 both the build directory and the source directory when needed.
2312 2011-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
2314 tests: relax a test on amhello examples to cater to Solaris tar
2315 * tests/amhello-binpkg.test: When the tar implementation in use
2316 is not GNU tar, relax the tests on tar output, to avoid spurious
2317 failures. For example, "tar cvf ..." with GNU tar can output
2318 lines like "./usr/bin/hello" on the standard output, while with
2319 Solaris tar it can output lines like "a ./usr/bin/hello 8K" on
2320 standard output, and with Heirloom tar it can output lines like
2321 "a ./usr/bin/hello 15 tape blocks" on standard error.
2323 2011-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
2325 test defs: function 'is_newest' now works also with directories
2326 * tests/defs (is_newest): Call `find' with the `-prune' option,
2327 so that it won't descend in the directories (which could cause
2329 * tests/self-check-is_newest: Extend accordingly.
2330 From a report by Jim Meyering, see automake bug#9147.
2332 2011-07-15 Benoit Sigoure <tsunanet@gmail.com>
2334 docs: add references between the 2 sections on java support
2335 * doc/automake.texi (Java Support, Java): Add cross-references.
2337 2011-07-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2339 Sync auxiliary files from upstream.
2340 * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
2341 lib/texinfo.tex: Sync from upstream.
2343 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
2345 tests: fix weakness in 'tests-environment-backcompat.test'
2346 * tests/tests-environment-backcompat.test: Do not override the
2347 content of xfailing test `baz.test' with a "weaker" version that
2348 fails unconditionally: the test must fail only when the 'strict'
2349 pragma is in use, in order not to reduce coverage.
2351 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
2353 docs, tests: synchronize examples on silent-rules from config.site
2354 * doc/automake.texi (Automake silent-rules Option): Reference test
2355 'silent-configsite.test' in comments.
2357 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
2359 tests: portability fixes in tests on amhello examples
2360 * tests/amhello-binpkg.test: Don't use "tar xzf too.tag.gz" to
2361 extract a gzip-compressed tarball, that's unportable to some
2362 tar implementations; use the "gzip -dc fo.tar.gz | tar xf -"
2364 * tests/amhello-cflags.test: Likewise.
2365 * tests/amhello-cross-compile.test: Likewise.
2366 Suggestion from Ralf Wildenhues.
2368 2011-07-04 Stefano Lattarini <stefano.lattarini@gmail.com>
2370 remake: add test ensuring that slower remakes don't hang
2371 * tests/remake-subdir-long-time.test: New test.
2372 * tests/Makefile.am (TESTS): Update.
2373 Suggestion by Ralf Wildenhues.
2375 2011-07-04 Stefano Lattarini <stefano.lattarini@gmail.com>
2377 remake: fix outdated comment in configure.am
2378 * lib/am/configure.am: Fix comment falsified by changes in
2379 commit `v1.11-366-gbee9871'.
2380 Suggestion by Ralf Wildenhues.
2382 2011-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
2384 docs, tests: synchronize examples from docs to tests
2385 * tests/README (Writing test cases): Give suggestions on how to
2386 keep test cases and examples in the documentation synchronized.
2387 * doc/automake.texi: Improve or fix existing testcase-referencing
2388 comments, and add many new ones.
2389 * HACKING (Administrivia): Suggest to test complex examples and
2390 idioms from the manual.
2391 * tests/specflg8.test: Improve synchronization with the example
2393 * tests/output11.test:Likewise.
2394 * tests/txinfo21.test:Likewise.
2395 * tests/interp.test: Likewise.
2396 * tests/amhello-cflags.test: New test.
2397 * tests/amhello-cross-compile.test: Likewise.
2398 * tests/amhello-binpkg.test: Likewise.
2399 * tests/tests-environment-backcompat.test: Likewise.
2400 * tests/parallel-tests-log-compiler-example.test: Likewise.
2401 * tests/Makefile.am (TESTS): Update.
2403 2011-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
2405 coverage: new test on parallel-tests TESTS runtime overriding
2406 * tests/parallel-tests-cmdline-override.test: New test, check that
2407 we can use indirections when overriding TESTS and TEST_LOGS from
2409 * tests/Makefile.am (TESTS): Update.
2411 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
2413 gitignore: ignore `*.trs' files in lib/Automake/tests
2414 * lib/Automake/tests/.gitignore: Add `*.trs' pattern.
2416 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
2418 testsuite: list another "forgotten" test script in Makefile.am
2419 * tests/Makefile.am (TESTS): Also list test script
2420 `test-driver-trs-suffix-registered.test'; it had been introduced
2421 in commit `v1.11-910-g0c81b43', but by mistake it wasn't added
2422 to the list of tests in the Makefile back then.
2424 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
2426 testsuite: list "forgotten" test script in Makefile.am
2427 * tests/Makefile.am (TESTS): Also list the test script
2428 `parallel-tests-no-color-in-log.test'; it had been introduced in
2429 commit `v1.11-899-geaac33f', but by mistake it wasn't added to
2430 the list of tests in the Makefile back then.
2432 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
2434 testsuite: remove duplicated mention of a test in Makefile.am
2435 * tests/Makefile.am (tap_other_tests): Remove `tap-empty.test',
2436 it is already listed in `$(tap_with_common_setup_tests)'.
2438 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
2440 testsuite: one more use of TAP in our own tests
2441 * tests/tap-bad-prog.test, tests/tap-bad-prog2.test: Merged
2443 * tests/tap-bad-prog.tap: ... this TAP-generating test.
2444 * tests/Makefile.am (tap_other_tests): Remove plan-bad-prog.test
2445 and plan-bad-prog2.test.
2446 (XFAIL_TESTS): Remove plan-bad-prog2.test.
2447 (plan-bad-prog2.log): Remove.
2449 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
2451 testsuite: scaffolding to allow use of TAP in our own tests
2452 Now that Automake has initial support for the TAP test protocol,
2453 we can start "eating our own dog food" and rewrite some tests to
2454 use TAP; this should allow for better granularity, especially in
2455 the control of skips and expected failures. With this change, we
2456 set up the initial scaffolding required by the planned TAP tests,
2457 and convert few older tests to use TAP, mostly in order to verify
2458 that there are no obvious errors. The tests in our testsuite that
2459 use the TAP protocol will be marked by the new `.tap' extension.
2460 * tests/plain-functions.sh: New file containing definition of
2461 helper shell functions used by the "protocol-less" tests of the
2463 * tests/tap-functions.sh: New file containing definition of
2464 helper shell functions used by the TAP-producing tests of the
2466 * tests/defs: Remove definitions of some functions that are
2467 now defined in `plain-functions.sh'. Instead, source one of
2468 `plain-functions.sh' or `tap-functions.sh', depending on whether
2469 `$use_tap' is set to "no" or "yes".
2470 (exit trap): Call `late_plan_' if `$use_tap' is true. Also,
2471 unset shell traces before issuing the latest commands, to avoid
2472 confusing the tap driver with spurious output.
2473 * tests/defs-static.in ($use_tap): New variable, by default set
2474 to "yes" if the calling test script has a `.tap' suffix, and to
2475 "no" otherwise. The individual scripts can override it though.
2476 In code sanity-checking the environment, verify that `$use_tap'
2478 * tests/self-check-env-sanitize.test: Update, and small related
2480 * tests/self-check-tap.test: New very minimal self test.
2481 * tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test,
2482 tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test:
2483 Removed, merged into ...
2484 * tests/ac-output-old.tap: ... this new test, that uses TAP.
2485 * tests/Makefile.am (TAP_LOG_DRIVER): Define to invoke our own
2486 `tap-driver' script.
2487 (TAP_LOG_DRIVER_FLAGS): Define to `--merge', so that the stdout
2488 and stderr of the test scripts remains synced.
2489 (TEST_EXTENSIONS): Define, to add the `.tap' suffix; also list
2490 the `.test' suffix explicitly.
2491 (EXTRA_DIST): Distribute the new files `plain-functions.sh' and
2493 ($(TEST_LOGS)): Depends on them.
2494 (AM_TESTS_ENVIRONMENT): Ensure that `use_tap' is not exported in
2495 the environment of the tests.
2498 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
2500 * NEWS: Fix typo, and related reformatting.
2502 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
2504 * NEWS: add mention of new experimental TAP support
2506 2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
2508 testsuite: rename some test scripts
2509 * tests/parallel-tests-am_tests_environment.test: Renamed ...
2510 * tests/am-tests-environment.test: ... to this.
2511 * tests/check-tests_environment.test: Renamed ...
2512 * tests/tests-environment.test: ... to this.
2513 * tests/parallel-test-driver-install.test: Renamed ...
2514 * tests/parallel-tests-driver-install.test: ... to this.
2515 * tests/parallel-tests-make-n.test: Renamed ...
2516 * tests/parallel-tests-dry-run.test: ... to this.
2517 * tests/Makefile.am (TESTS): Updated.
2519 2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
2521 coverage: parallel-tests and lazy dependencies on EXTRA_PROGRAMS
2522 * tests/parallel-tests-extra-programs.test: New test.
2523 * tests/Makefile.am (TESTS): Update.
2524 * doc/automake.texi (Parallel Test Harness): Add a comment
2525 pointing to the new test.
2527 2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
2529 docs: improve, extend and fix documentation on TAP support
2530 * doc/automake.texi ("Using the TAP test protocol"): Divide this
2532 ("Introduction to TAP", "Use TAP with the Automake test harness",
2533 "Incompatibilities with other TAP parsers and drivers", "Links
2534 and external resources"): ... these subsections, extend them by
2535 adding more information and examples, and improve them by removing
2536 incomplete and/or temporary wordings and TODO items.
2537 ("Script-based Testsuites", "Parallel Test Harness"): Add a couple
2538 of anchors to improve the granularity of cross-references.
2539 * tests/tap-doc2.test: New test, verifying the correctness of the
2540 new examples given in the manual.
2541 * tests/Makefile.am (tap_other_tests): Add the new test.
2543 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
2545 testsuite: separate the only failing check of an xfailing test
2546 * tests/plan-bad-prog.test: Move the only failing check of this
2547 test (i.e., the one about the total number of "ERROR" outcomes)
2549 * tests/plan-bad-prog2.test: ... this new test.
2550 * tests/Makefile.am (XFAIL_TESTS): Remove `plan-bad-prog.test',
2551 add `plan-bad-prog2.test'.
2552 (tap_other_tests): Add `plan-bad-prog2.test'.
2553 (plan-bad-prog2.log): Depend on `plan-bad-prog.test'.
2555 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
2557 testsuite: fix spurious errors in an xfailing test on TAP support
2558 * tests/plan-bad-prog.test: Fix typo in the name of the test
2559 being made unreadable. Correct the wording of the potential
2560 skip message, and simplify the condition under which the test
2561 is to be skipped. Escape literal dots in grep regexps.
2563 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
2565 testsuite: better granularity in a couple of tests on TAP support
2566 * tests/tap-summary-aux.sh: New auxiliary script, filled with code
2568 * tests/tap-summary.test: ... this test, from which the checks on
2569 colored testsuite have further been moved into ...
2570 * tests/tap-summary-color.test: ... this new test, which in turn
2571 * tests/Makefile.am (tap_other_tests): Add `tap-summary-color.test'.
2572 (EXTRA_DIST): Distribute `tap-summary-aux.sh'
2573 (tap-summary.log): Depend on `tap-summary-aux.sh'.
2574 (tap-summary-color.log): Likewise.
2576 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
2578 testsuite: optimize tests on TAP for speed and against duplication
2579 The creation and configuration of common files and data used by
2580 many tests on TAP is, with this change, factored out into a new
2581 dedicated auxiliary test, from which those tests will depend upon.
2582 This reduces code duplication in tests and, more importantly,
2583 offers a noticeable speedup in the involved tests (30-40%).
2584 * tests/tap-common-setup.test: New test, setting up the common
2585 files and data used by various tests on TAP support.
2586 * tests/tap-setup.sh: New file, to be sourced by tests wanting to
2587 bring in data generated by `tap-common-setup.test'.
2588 * tests/tap-autonumber.test: Update to use the pre-computed data
2590 * tests/tap-bailout.test: Likewise.
2591 * tests/tap-color.test: Likewise.
2592 * tests/tap-deps.test: Likewise.
2593 * tests/tap-diagnostic.test: Likewise.
2594 * tests/tap-empty-diagnostic.test: Likewise.
2595 * tests/tap-empty.test: Likewise.
2596 * tests/tap-escape-directive.test: Likewise.
2597 * tests/tap-exit.test: Likewise.
2598 * tests/tap-signal.test: Likewise.
2599 * tests/tap-fancy.test: Likewise.
2600 * tests/tap-fancy2.test: Likewise.
2601 * tests/tap-global-log.test: Likewise.
2602 * tests/tap-global-result.test: Likewise.
2603 * tests/tap-html.test: Likewise.
2604 * tests/tap-log.test: Likewise.
2605 * tests/tap-merge-stdout-stderr.test: Likewise.
2606 * tests/tap-no-merge-stdout-stderr.test: Likewise.
2607 * tests/tap-message-0.test: Likewise.
2608 * tests/tap-no-disable-hard-error.test: Likewise.
2609 * tests/tap-no-spurious-summary.test: Likewise.
2610 * tests/tap-no-spurious.test: Likewise.
2611 * tests/tap-not-ok-skip.test: Likewise.
2612 * tests/tap-numeric-description.test: Likewise.
2613 * tests/tap-out-of-order.test: Likewise.
2614 * tests/tap-passthrough.test: Likewise.
2615 * tests/tap-passthrough-exit.test: Likewise.
2616 * tests/tap-plan.test: Likewise.
2617 * tests/tap-plan-corner.test: Likewise.
2618 * tests/tap-plan-corner2.test: Likewise.
2619 * tests/tap-plan-errors.test: Likewise.
2620 * tests/tap-realtime.test: Likewise.
2621 * tests/tap-recheck-logs.test: Likewise.
2622 * tests/tap-skip-whole.test: Likewise.
2623 * tests/tap-todo-skip-together.test: Likewise.
2624 * tests/tap-todo-skip-whitespace.test: Likewise.
2625 * tests/tap-todo-skip.test: Likewise.
2626 * tests/tap-unplanned.test: Likewise.
2627 * tests/tap-with-and-without-number.test: Likewise.
2628 * tests/tap-xfail-tests.test: Likewise.
2629 * tests/tap-skip-whole-whitespace.test: Likewise, and remove
2630 redundant definitions of `$sp' and `$tab' (they are already
2631 defined in `tests/defs').
2632 * tests/tap-whitespace-normalization.test: Likewise.
2633 * tests/Makefile.am (TESTS): Update.
2634 (EXTRA_DIST): Distribute `tap-setup.sh'.
2635 (tap_with_common_setup_tests, tap_with_common_setup_logs)): New
2636 variables, holding respectively the list of tests using the files
2637 pre-computed by `tap-common-setup.test', and the list of their
2638 corresponding log files.
2639 (tap_other_tests): New variable, holding the list of other tests
2641 ($(tap_with_common_setup_logs)): Depend on `tap-common-setup.log'
2644 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
2646 test harness: use new `.trs' files to hold test metadata
2647 With this change, the test harness will keep test metadata in
2648 dedicated `.trs' files, instead of having them embedded into the
2649 `.log' files. This allows for easier forward-compatibility and
2650 extension of test metadata, and for more flexibility in the
2651 format of the `.log' files. Note that this change makes the
2652 `:end-metadata:' field obsolete.
2653 * doc/automake.texi (Parallel Test Harness, Log files generation
2654 and test results recording): Document the new APIs and behaviour;
2655 some related minor rewordings and fixlets.
2657 * automake.in (handle_tests): When bringing in the content of
2658 `check2.am', substitute %BASE% with the basename of the `.log'
2659 file being created by a rule. Add the generated `.trs' files
2660 to the list of files to be cleaned by "make mostlyclean".
2661 * lib/am/check.am (am__test_driver_flags): Rename ...
2662 (am__common_driver_flags): ... to this, and remove the flags
2663 `--test-name' and `--log-file' from it: they are now define in
2664 the proper rules in `check2.am'.
2665 (am__TEST_BASES): New internal variable, holding the names of
2666 the tests, with any registered extension removed.
2667 (am__stealth_MAKE): New internal variable, can be used instead of
2668 $(MAKE) in recipes requiring a recursive call to make, but which
2669 are not intended to be executed by "make -n".
2670 (.log.trs): New suffix rule, to recover from deletion of `.trs'
2672 ($(TEST_SUITE_LOG)): Almost completely rewritten to follow the
2673 new API of "test logs in `.log' files, test metadata in `.trs'
2674 files". It goes to some length to work correctly in face of
2675 unreadable or missing `.log' and `.trs' files, and to error out
2676 with proper error messages when this is not possible.
2677 [%?PARALLEL_TESTS%] (check-TESTS): Also remove relevant "stale"
2678 `.trs' files (in addition to `.log files) before remaking the
2680 (recheck, recheck-html): Look for the `:recheck:' field in the
2681 `.trs' files, not in the `.log' files.
2682 * lib/am/check2.am (?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Adjust
2683 the call to the test driver, in particularly passing the new
2684 option `--trs-file'.
2685 [%am__EXEEXT%] (?GENERIC?%EXT%$(EXEEXT).log): Likewise.
2686 * lib/tap-driver ($USAGE): Adjust the help screen.
2687 (Getopt::Long::GetOptions): Handle the `--trs-file' option,
2688 through the use of ...
2689 ($trs_file): ... this new global variable.
2690 (finish): Write metadata for the test run to `$trs_file' rather
2691 then to `$log_file', through the use of ...
2692 (write_test_results): ... this new function.
2693 * lib/test-driver (print_usage): Update the help screen.
2694 (Option parsing): Handle the `--trs-file' option, through the
2696 ($resfile): ... this new global variable.
2697 (Main code): Write metadata for the test run to `$trsfile' rather
2699 Minor related adjustments to comments.
2700 * tests/.gitignore: Ignore `*.trs' files.
2701 * tests/parallel-tests-unreadable-log.test: Moved ...
2702 * tests/parallel-tests-unreadable.test: ... to this, and extended
2703 to also check the semantics for unreadable `.trs' files.
2704 * tests/test-driver-end-metadata.test: Deleted as obsolete.
2705 * tests/test-driver-metadata-no-leading-space.test: Likewise.
2706 * tests/test-driver-global-log.test: Renamed ...
2707 * tests/test-metadata-global-log.test: ... to this, and modified
2708 as to verify the new APIs and semantics.
2709 * tests/test-driver-recheck: Renamed ...
2710 * tests/test-metadata-recheck.test: ... to this, and modified
2712 * tests/parallel-tests-once.test: New test.
2713 * tests/parallel-tests-make-n.test: Likewise.
2714 * test-metadata-results.test: Likewise.
2715 * test-missing.test: Likewise.
2716 * test-missing2.test: Likewise.
2717 * test-trs-basic.test: Likewise.
2718 * test-trs-recover.test: Likewise.
2719 * test-trs-recover2.test: Likewise.
2720 * tests/Makefile.am (TESTS): Update.
2722 2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
2724 test harness: allow more metadata in log files
2725 This change reworks and improves the parallel test harness to use
2726 more specialized reStructuredText fields in the log files (instead
2727 of relying on specially-placed of "magic lines" and more indirect
2728 semantical formatting); the new fields are the following:
2729 - ":recheck:": tell whether the associated test will have to be
2730 re-run by "make recheck";
2731 - ":copy-in-global-log:": tell whether the content of the log
2732 file should be copied in the "global log" `test-suite.log';
2733 - ":end-metadata:", which inhibits the scanning of the rest of
2734 the log file (for what concerns test metadata).
2735 Also, the special `:test-result:' value "END" has been removed,
2736 superseded by the new `:end-metadata:' field.
2737 * doc/automake.texi (Log files generation and test results
2738 recording): Document the new API and semantics. Remove or fix
2739 some obsolete comments.
2740 * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
2741 Adjust comments and code.
2742 * lib/tap-driver (finish): Adjust, with the help of ...
2743 (must_recheck, copy_in_global_log): ... these new functions.
2744 * lib/test-driver (Main code): Adjust, with the help of ...
2745 ($recheck, $gcopy): ... these new variables.
2746 * tests/trivial-test-driver: Update to obey the new APIs.
2747 * tests/test-driver-recheck.test: Likewise.
2748 * tests/test-driver-global-log.test: Likewise.
2749 * tests/tap-passthrough.test: Relax the test, avoiding to check
2750 what is written in `test-suite.log'; such check has been moved ...
2751 * tests/tap-global-log.test: ... in this new test, and extended.
2752 * tests/test-driver-metadata-no-leading-space.test: New test.
2753 * tests/test-driver-end-test-results.test: Removed, it checked
2754 the old APIs; superseded by ...
2755 * tests/test-driver-end-metadata.test: ... this new test.
2756 * tests/tap-log.test: Improve syncing with ...
2757 * tests/test-log.test: ... this new test.
2758 * tests/parallel-tests.test: Remove some duplication w.r.t. this
2759 last new test. Updated heading comments.
2760 * tests/Makefile.am (TESTS): Update.
2762 2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
2764 testsuite: fix a spurious failure with non-bash shells
2765 * tests/tap-fancy2.test: Remove an unportable use of backslashes
2766 with the `echo' builtin, which was causing some shells (among them
2767 bash and Debian /bin/ksh) to print a `\\' string, while other
2768 shells (among them zsh, dash, and Solaris /bin/sh and /bin/ksh)
2769 were unexpectedly printing a single `\' character. Since we are
2770 at it, add a sanity check to ensure that this issue does not
2773 2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
2775 testsuite: fix spurious failures with Solaris /bin/sh
2776 * tests/tap-more.test: Use `echo > file', not `: > file', to
2777 create empty files in the "for" loops; this is required since,
2778 as documented in the autoconf manual, Solaris 10 /bin/sh
2779 "optimizes" away the `:' command after the first iteration,
2780 even if it is redirected.
2781 * tests/test-driver-custom-multitest-recheck2.test: Likewise.
2782 * tests/tap-numeric-description.test: Partial rewrite to avoid
2783 using positional parameters from the 10th onward, which are
2784 unportable to Solaris /bin/sh (using `${10}' causes the shell
2785 to die with "bad substitution").
2787 2011-07-31 Stefano Lattarini <stefano.lattarini@gmail.com>
2789 simple tests: support developer-defined fd redirections
2790 Motivated by coreutils bug#8846, and related discussions:
2791 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
2792 <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
2793 In those threads it has been shown how problematic it can be to do
2794 portable file descriptor redirections in the testsuite when using
2795 the Automake testsuite harness. This change should remedy to that
2797 * lib/am/check2.am (?GENERIC?%EXT%$(EXEEXT).log,
2798 ?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Append redirection defined
2799 in $(AM_TESTS_FD_REDIRECT) to the command-line invocations of the
2801 * lib/am/check.am [!%?PARALLEL_TESTS%] $(check-TESTS): Likewise.
2803 * doc/automake.texi (Script-based Testsuites): Document the new
2805 * tests/check-fd-redirect.test: New test.
2806 * tests/parallel-tests-fd-redirect.test: Likewise.
2807 * tests/parallel-tests-am_tests_environment.test: Remove checks
2808 about the use of redirections in AM_TESTS_ENVIRONMENT: they would
2809 check deprecated (if not undefined) behaviour now. Strengthen a
2810 couple of still valid checks, to keep the test more in sync with
2811 the documentation. Improve debugging information.
2812 * tests/Makefile.am (TESTS): Update.
2814 2011-07-22 Stefano Lattarini <stefano.lattarini@gmail.com>
2816 docs: rework and extend documentation on testsuites support
2817 * doc/automake.texi (Generalities about Testing): New section.
2818 (Simple Tests using parallel-tests): Section removed, merged
2820 (Simple Tests): ... this one, which on the other hand has been
2822 (Script-based Testsuites, Serial Test Harness, Parallel Test
2823 Harness): ... these new subsection.
2824 (DejaGnu Tests): Minor adjustments.
2825 Other related typofixes and rewordings throughout the manual;
2826 in particular, avoid to use the term "test driver" for three
2827 different concepts (and use instead "test harness" and "test
2828 runner" where appropriate).
2829 * tests/tap-doc.test: New test.
2830 * tests/tap-no-disable-hard-error.test: Likewise.
2831 * tests/Makefile.am (TESTS): Update.
2833 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
2835 tap: support colorization of testsuite progress output
2836 * lib/tap-driver (%COLORS): New variable (definition extracted
2837 from `lib/am/check.am:$(am__tty_colors)', with some obvious
2839 (report): Adjust to colorize console output when required,
2841 (decorate_result): ... this new function.
2842 (colored): New function, used by the one above.
2843 * tests/tap-summary.test: Also run the checks when `color-tests'
2845 * tests/Makefile.am (XFAIL_TESTS): Remove `tap-color.test'.
2847 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
2849 tap: some preparatory refactoring (2)
2850 This is a follow-up simplification.
2851 * lib/tap-driver (console_output): Renamed ...
2852 (report): ... to this, and extended to appropriately register
2853 the test results when needed.
2854 (testsuite_error, handle_tap_comment, handle_tap_test,
2855 handle_tap_plan): Adjusted accordingly.
2857 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
2859 tap: some preparatory refactoring (1)
2860 This refactoring is aimed at simplifying the introduction of
2861 colored console output for the TAP driver.
2862 * lib/tap-driver (console_output): Now accept two arguments, the
2863 first one indicating which kind of thing is to be displayed (for
2864 now only a test result or a diagnostic comment), and the second
2865 one (if present) the message associated to it.
2866 (handle_tap_test, handle_tap_comment, handle_tap_plan,
2867 testsuite_error): Adapt to the new `console_output' interface.
2869 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
2871 tap: add experimental TAP-aware driver
2872 * doc/automake.texi (Using the TAP test protocol): New section.
2873 (Overview of Custom Test Drivers Support): Minor updates.
2874 * lib/tap-driver: New script, TAP-aware test driver for Automake;
2875 implemented in perl and based on TAP::Parser.
2876 * lib/Makefile.am (dist_script_DATA): Add it.
2877 * tests/tap-autonumber.test: New test.
2878 * tests/tap-bailout.test: Likewise.
2879 * tests/tap-basic.test: Likewise.
2880 * tests/tap-deps.test: Likewise.
2881 * tests/tap-diagnostic.test: Likewise.
2882 * tests/tap-empty.test: Likewise.
2883 * tests/tap-empty-diagnostic.test: Likewise.
2884 * tests/tap-escape-directive.test: Likewise.
2885 * tests/tap-exit.test: Likewise.
2886 * tests/tap-fancy.test: Likewise.
2887 * tests/tap-fancy2.test: Likewise.
2888 * tests/tap-global-result.test: Likewise.
2889 * tests/tap-html.test: Likewise.
2890 * tests/tap-log.test: Likewise.
2891 * tests/tap-merge-stdout-stderr.test: Likewise.
2892 * tests/tap-more.test: Likewise.
2893 * tests/tap-more2.test: Likewise.
2894 * tests/tap-no-merge-stdout-stderr.test: Likewise.
2895 * tests/tap-no-spurious-summary.test: Likewise.
2896 * tests/tap-no-spurious.test: Likewise.
2897 * tests/tap-not-ok-skip.test: Likewise.
2898 * tests/tap-numeric-description.test: Likewise.
2899 * tests/tap-out-of-order.test: Likewise.
2900 * tests/tap-passthrough.test: Likewise.
2901 * tests/tap-plan.test: Likewise.
2902 * tests/tap-plan-errors.test: Likewise.
2903 * tests/tap-plan-corner.test: Likewise.
2904 * tests/tap-realtime.test: Likewise.
2905 * tests/tap-recheck-logs.test: Likewise.
2906 * tests/tap-recheck.test: Likewise.
2907 * tests/tap-skip-whole.test: Likewise.
2908 * tests/tap-summary.test: Likewise.
2909 * tests/tap-todo-skip.test: Likewise.
2910 * tests/tap-todo-skip-together.test: Likewise.
2911 * tests/tap-todo-skip-whitespace.test: Likewise.
2912 * tests/tap-skipall-whitespace.test: Likewise.
2913 * tests/tap-unplanned.test: Likewise.
2914 * tests/tap-whitespace-normalization.test: Likewise.
2915 * tests/tap-with-and-without-number.test: Likewise.
2916 * tests/tap-xfail-tests.test: Likewise.
2917 * tests/tap-bad-prog.test: New xfailing test.
2918 * tests/tap-color.test: Likewise.
2919 * tests/tap-plan-corner2.test: Likewise.
2920 * tests/tap-message-0.test: Likewise.
2921 * tests/tap-signal.test: Likewise.
2922 * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
2924 2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
2926 test defs: new auxiliary function 'count_test_results'
2927 * tests/defs (count_test_results): New function.
2928 * tests/check11.test: Use it.
2929 * tests/test-driver-custom-multitest.test: Likewise.
2930 * tests/test-driver-custom-multitest-recheck.test: Likewise.
2931 * tests/test-driver-custom-multitest-recheck2.test: Likewise.
2932 * tests/parallel-tests-log-override-recheck.test: Likewise.
2933 * tests/parallel-tests-log-override-recheck.test: Likewise.
2934 * tests/parallel-tests-no-spurious-summary.test: Likewise, and
2935 slightly improve debugging output.
2936 * tests/parallel-tests.test: Make use of `count_test_results'.
2937 Also, make grepping of "make check" output slightly stricter
2938 * tests/parallel-tests9.test: Likewise.
2939 * tests/parallel-tests-log-override-2.test: Likewise, and throw
2940 in a small optimization.
2942 2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
2944 parallel-tests: simplify testsuite summary
2945 Prefer a more deterministic, "tabular" format for the testsuite
2946 summary, always listing the numbers of passed, failed, xfailed,
2947 xpassed, skipped and errored tests, even when these numbers are
2948 zero. This simplify the logic of testsuite summary creation,
2949 makes it more easily machine-parseable, and will probably allow
2950 for easier addition of new kinds of test results in the future.
2951 * lib/am/check.am (am__tty_colors_dummy): New make variable, to
2952 reduce code duplication. Extracted from previous versions of
2953 $(am__tty_colors), and extended by defining two new variables
2955 [%?COLOR%, %!?COLOR%] (am__tty_colors): Use that new variable.
2956 (am__text_box): Delete, is not needed anymore.
2957 ($(TEST_SUITE_LOG)): Rewrite associated rules to implement the
2958 new testsuite summary format.
2960 * tests/check10.test: Don't run with the parallel-tests harness
2961 too, that makes no sense anymore.
2962 * tests/color.test: Update and adjust.
2963 * tests/color2.test: Likewise.
2964 * tests/parallel-tests.test: Likewise.
2965 * tests/parallel-tests3.test: Likewise.
2966 * tests/parallel-tests6.test: Likewise.
2967 * tests/parallel-tests9.test: Likewise.
2968 * tests/parallel-tests-unreadable-log.test: Likewise.
2969 * tests/parallel-tests-empty-testlogs.test: Likewise.
2970 * tests/parallel-tests-log-override-recheck.test: Likewise.
2971 * tests/parallel-tests-no-spurious-summary.test: Likewise.
2972 * tests/test-driver-custom-multitest.test: Likewise.
2973 * tests/test-driver-end-test-results.test: Likewise.
2974 * tests/parallel-tests-no-color-in-log.test: New test.
2975 * tests/testsuite-summary-color.test: Likewise.
2976 * tests/testsuite-summary-count.test: Likewise.
2977 * tests/testsuite-summary-count-many.test: Likewise.
2978 * tests/testsuite-summary-reference-log.test: Likewise.
2979 * tests/testsuite-summary-checks.sh: New auxiliary script, used
2980 by the new tests above.
2981 * tests/extract-testsuite-summary: Likewise.
2982 * tests/trivial-test-driver: Optimize for speed when there are
2984 * tests/Makefile.am (EXTRA_DIST): Distribute them.
2985 (testsuite-summary-color.log, testsuite-summary-count.log): Depend
2987 (testsuite-summary-count-many.log): Depend on the auxiliary scripts
2988 'trivial-test-driver' and 'extract-testsuite-summary'.
2991 2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
2993 parallel-tests: new recognized test result 'ERROR'
2994 * lib/am/check.am ($(TEST_SUITE_LOG)): Recognize a new test result
2995 `ERROR'. Use it when encountering unreadable test logs (previously
2996 a simple `FAIL' was used in this situations).
2997 * lib/test-driver: Set the global test result to `ERROR' when the
2998 test exit status is 99. When doing colorized output, color `ERROR'
3000 * doc/automake.texi (Log files generation and test results
3001 recording): Update by listing `ERROR' too among the list of valid
3002 `:test-results:' arguments.
3004 * tests/trivial-test-driver: Update.
3005 * tests/parallel-tests.test: Likewise.
3006 * tests/parallel-tests-harderror.test: Likewise.
3007 * tests/parallel-tests-no-spurious-summary.test: Likewise.
3008 * tests/test-driver-global-log.test: Likewise.
3009 * tests/test-driver-recheck.test: Likewise.
3010 * tests/test-driver-custom-multitest-recheck.test: Likewise.
3011 * tests/test-driver-custom-multitest-recheck2.test: Likewise.
3012 * tests/test-driver-custom-multitest.test: Likewise.
3013 * tests/test-driver-custom-no-html.test: Likewise.
3014 * tests/test-driver-end-test-results.test: Likewise.
3015 * tests/color.test: Likewise. Also, make stricter, and also test
3017 * tests/color2.test: Likewise, and improve syncing with color.test.
3018 * tests/parallel-tests-exit-statuses.test: New test.
3019 * tests/parallel-tests-console-output.test: Likewise.
3020 * tests/Makefile.am (TESTS): Update.
3022 2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
3024 parallel-tests: make parsing of test results safer
3025 The new code for parsing the testsuite-generated `.log' files,
3026 as introduced in commit `v1.11-872-gc96b881', considers each
3027 `:test-result:' field anywhere in a `.log' file as a declaration
3028 of a test result, and accounts for it as such in the testsuite
3029 summary. Unfortunately this could easily cause spurious test
3030 failures being reported in the testsuite summary. This happened
3031 in practice with the Automake's own testsuite; for example:
3032 $ make check TESTS='check12-p.test'; echo exit: $?
3034 PASS: check12-p.test
3035 =====================================
3037 See tests/test-suite.log
3038 Please report to bug-automake@gnu.org
3039 =====================================
3040 make[2]: *** [test-suite.log] Error 1
3041 make: *** [check-am] Error 2
3043 This change introduces a new special `:test-result:' "END", that,
3044 when seen, prevents the rest of the log file from being parsed.
3045 For more information, refer to the thread:
3046 <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00199.html>
3047 * lib/am/check.am ($(TEST_SUITE_LOG)): Stop the parsing of a log
3048 file as soon as the special ":test-result:END" directive is seen.
3049 Related changes and enhancements.
3050 * lib/test-driver: Protect the rest of the log after the result
3051 lined with a ":test-result:END" directive.
3052 * doc/automake.texi (Log files generation and test results
3053 recording): Update, and related improvements.
3054 * tests/parallel-tests-no-spurious-summary.test: New test.
3055 * tests/test-driver-end-test-results.test: Likewise.
3056 * tests/Makefile.am (TESTS): Update.
3058 2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
3060 docs: document custom test drivers and protocols
3061 * doc/automake.texi (Simple Tests): Note that the TESTS_ENVIRONMENT
3062 use suggested here is not portable to 'parallel-tests'.
3063 (Simple Tests using parallel-tests): Document new restrictions on
3064 the uses of TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT.
3065 (Custom Test Drivers): New section and node.
3066 (Overview of Custom Test Drivers Support): New subsection.
3067 (Declaring Custom Test Drivers in @file{Makefile.am}): Likewise.
3068 (APIs for Custom Test Drivers): Likewise.
3069 (Options): Update description of color-tests.
3070 * lib/am/check ($(TEST_SUITE_LOG)): Remove comments that have been
3071 moved into the manual.
3072 (recheck, recheck-html): Minor adjustments to better conform to the
3073 documentation (this should cause no semantic changes w.r.t. the
3074 former behaviour); minor improvements and extensions to existing
3076 * tests/test-driver-create-log-dir.test: New test.
3077 * tests/test-driver-strip-vpath.test: Likewise.
3078 * tests/test-driver-global-log.test: Likewise.
3079 * tests/test-driver-recheck.test: Likewise.
3080 * tests/Makefile.am (TESTS): Update.
3082 2011-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
3084 tests: small enhancement to 'primary3.test'
3085 * tests/primary3.test: Also test that the program named `foo.la'
3086 has been effectively created.
3088 2011-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
3090 tests: a small simplification in 'pr8365-remake-timing.test'
3091 * tests/pr8365-remake-timing.test: Avoid redundant definition
3092 and use of `$save_AUTOCONF' variable.
3094 2011-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
3096 tests: remove an extra leading blank line
3097 * tests/override-conditional-1.test: Remove extra blank line
3098 placed before the shebang line.
3100 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
3102 tests: fix typos, grammaros and other blunders in comments
3103 All affected files changed.
3105 2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
3107 test defs: new subroutine 'seq_', simulating GNU seq(1)
3108 * tests/defs (seq_): New subroutine.
3109 * tests/instmany.test: Use it.
3110 * tests/instmany-mans.test: Likewise.
3111 * tests/instmany-python.test: Likewise.
3112 * tests/self-check-seq.test: New self test.
3113 * tests/Makefile.am (TESTS): Update.
3115 2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
3117 tests: remove duplication about testing of config.* aux files
3118 * tests/add-missing.test: Also check that the `AC_CANONICAL_SYSTEM'
3119 autoconf macro causes the `config.sub' and `config.guess' scripts
3120 to be installed by `automake --add-missing'. Since we are at it,
3121 fix minor buglets and cosmetic issues in the `check_' function.
3122 * tests/hosts.test: Removed, completely subsumed by the previous
3124 * tests/Makefile.am (TESTS): Update.
3126 2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
3128 tests: more uses of the 'unindent' subroutine
3129 * tests/backcompat.test: Prefer `unindent' over plain `cat' for
3130 here documents created from within a loop of if/else body.
3131 * tests/backcompat2.test: Likewise.
3132 * tests/backcompat4.test: Likewise.
3133 * tests/init.test: Likewise.
3134 * tests/instmany.test: Likewise.
3135 * tests/instmany-mans.test: Likewise.
3136 * tests/instmany-python.test: Likewise.
3137 * tests/missing5.test: Likewise.
3138 * tests/parallel-am2.test : Likewise.
3139 * tests/parallel-am3.test : Likewise.
3140 * tests/pr307.test: Likewise.
3141 * tests/depend4.test: Likewise. Since we are at it, normalize
3142 other code formatting.
3143 * tests/instfail-java.test: Prefer `echo' over `cat' + here-doc
3146 2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
3148 tests: avoid '##'-style comments inside recipe commands
3149 * tests/autodist.test: Do not whitespace-indent `##' comments when
3150 they are embedded in a makefile rule: having them indented is not
3151 part of the Automake API, and might cause failures with e.g., Tru64
3153 * tests/autodist-subdir.test: Likewise.
3154 * tests/backcompat.test: Likewise.
3155 * tests/backcompat6.test: Likewise.
3156 * tests/colon7.test: Likewise.
3157 * tests/posixsubst-scripts.test: Likewise.
3158 * tests/posixsubst-sources.test: Likewise.
3160 2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
3162 tests: tweak, improve and extend tests on lisp support
3163 * tests/lisp2.test: Prettify, and improve debugging output. Make
3164 grepping of automake stderr stricter.
3165 * tests/lisp7.test: Ensure verbose printing of captured make
3166 output. Add trailing `:' command.
3167 * tests/lisp8.test: Likewise.
3168 * tests/lisp3.test: Likewise. Also, check that `.el' files and
3169 compiled `.elc' files get installed by "make install", and
3170 uninstalled by "make uninstall".
3171 * tests/lisp4.test: Ensure installed `.el' files gets removed by
3172 "make uninstall". Related changes. Add trailing `:' command.
3173 * tests/lisp5.test: Likewise.
3174 * tests/lisp6.test: Use proper m4 quoting in configure.in. Fix
3175 use of blank lines, to improve clarity and symmetry. Fix typo in
3176 comment. Add trailing `:' command.
3178 2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
3180 tests: drop useless requirement in 'license.test'
3181 * tests/license.test: Drop useless requirement "makeinfo". Add
3182 an extra blank line, for clarity.
3184 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
3186 tests defs: more uses of $top_testsrcdir
3187 * tests/autodist-stamp-vti.test: Use `$top_testsrcdir' instead
3188 of `$testsrcdir/..'.
3189 * tests/repeated-options.test: Likewise.
3190 * tests/suffix5.test: Likewise.
3191 * tests/vtexi3.test: Likewise.
3193 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
3195 self tests: fix typo in comment
3196 * tests/self-check-exit.test: Fix typo in heading comments.
3198 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
3200 tests: remove redundant settings of `errexit' shell flag
3201 * tests/amhello-binpkg.test: Do not set the `errexit' shell
3202 flag, as it is already set by `tests/defs'.
3203 * tests/amhello-cflags.test: Likewise.
3204 * tests/amhello-cross-compile.test: Likewise.
3205 * tests/ansi2knr-deprecation.test: Likewise.
3206 * tests/autodist-no-duplicate.test: Likewise.
3207 * tests/distcheck-configure-flags-am.test: Likewise.
3208 * tests/distcheck-configure-flags-subpkg.test: Likewise.
3209 * tests/distcheck-configure-flags.test: Likewise.
3210 * tests/distcheck-hook.test: Likewise.
3211 * tests/distcheck-hook2.test: Likewise.
3212 * tests/parallel-tests-am_tests_environment.test: Likewise.
3213 * tests/parallel-tests-harderror.test: Likewise.
3214 * tests/parallel-tests-log-compiler-example.test: Likewise.
3215 * tests/parallel-tests-log-override-1.test: Likewise.
3216 * tests/parallel-tests-log-override-2.test: Likewise.
3217 * tests/parallel-tests-log-override-recheck.test: Likewise.
3218 * tests/primary-prefix-couples-documented-valid.test: Likewise.
3219 * tests/primary-prefix-couples-force-valid.test: Likewise.
3220 * tests/primary-prefix-invalid-couples.test: Likewise.
3221 * tests/primary-prefix-valid-couples.test: Likewise.
3222 * tests/remake-subdir-from-subdir.test: Likewise.
3223 * tests/remake-subdir-gnu.test: Likewise.
3224 * tests/remake-subdir-long-time.test: Likewise.
3225 * tests/remake-subdir.test: Likewise.
3226 * tests/remake-subdir2.test: Likewise.
3227 * tests/silent-configsite.test: Likewise.
3228 * tests/tests-environment-backcompat.test: Likewise.
3230 2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
3232 docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
3233 * doc/automake.texi (Simple Tests using parallel-tests): Ditto, and
3234 related adjustments.
3235 Suggestion by Ralf Wildenhues.
3237 2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
3239 docs: fix unportable example of AM_TESTS_ENVIRONMENT usage
3240 * doc/automake.texi (Simple Tests using parallel-tests): The
3241 old example on AM_TESTS_ENVIRONMENT relied on unportable shell
3242 features, and in particular didn't work with various Korn
3243 Shells (see also commit `v1.11-925-g29ca903'). Give another
3244 example, simpler this time, but still inspired to real-world
3245 usage (the GNU coreutils testsuite).
3247 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
3249 docs: avoid a footnote, some related rewordings and improvements
3250 * doc/automake.texi (Dist): Reword the part about automatically
3251 distributed files to avoid a footnote. Since we are at it, extend
3252 a bit, and add an example and a reference to a relevant test case.
3254 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
3256 docs: minor cosmetic fixes
3257 * doc/automake.texi: Break few overly long lines, throughout the
3259 ("Simple Tests"): Move @vindex for XFAIL_TESTS to the correct
3260 position, i.e., before and not after the paragraph where it is
3262 ("Options" @item ansi2knr): Use @pxref instead of @xref. This
3263 fixes a texinfo warning.
3264 ("Other things Automake recognizes" @item AM_C_PROTOTYPES): Use
3265 @pxref instead of @ref.
3267 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
3269 help: improve text about automatically-distributed files
3270 This change fixes automake bug#7819.
3271 * automake.in (usage): Distinguish between files that are always
3272 automatically distributed when found, and those which are only
3273 "under certain conditions".
3274 * doc/automake.texi (Basics of Distribution): Update accordingly.
3275 * tests/autodist-subdir.test: Update.
3276 * tests/autodist-no-duplicate.test: Likewise.
3277 * tests/autodist.test: Likewise.
3278 (configure.in): Remove useless call to AM_MAINTAINER_MODE.
3280 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
3282 refactor: split 'usage' subroutine in automake
3283 This change is related to automake bug#7819.
3284 * automake.in (print_autodist_files): New subroutine,
3286 (usage): ... this, which now uses it.
3287 * tests/autodist-no-duplicate.test: New test.
3288 * tests/Makefile.am (TESTS): Update.
3290 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
3292 tests: fix bug in 'autodist.test'
3293 * tests/autodist.test: Avoid spurious failure due to no
3294 `defs-static' file being found in the parent directory.
3296 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
3298 parallel-tests: allow each test to have multiple results
3299 With this change, we improve the code creating the `test-suite.log'
3300 global log and the console testsuite summary to make it able to
3301 grasp multiple results per test script. This is required in order
3302 to introduce the planned support for test protocols, like TAP and
3303 SubUnit, which can indeed run multiple tests per test script, each
3304 with its individual result.
3305 The implementation makes use of a custom reStructuredText field
3307 Note that no new documentation is added by this change; that is
3308 be left for follow-up changes.
3309 * lib/check.am ($(TEST_SUITE_LOG)): When processing .log files,
3310 recognize a report of a test's result only if it is declared with
3311 the custom `:test-result:' reStructuredText field placed at the
3312 beginning of a line. Extend and add explanatory comments.
3313 (recheck, recheck-html): Add explanatory comments.
3314 * lib/test-driver: Write an appropriate reStructuredText field
3315 `:test-result:' in the generated log file. Use a reStructuredText
3316 transition to better separate the test outcome report from the
3317 test script's registered output. Improve comments.
3318 * tests/test-driver-custom-xfail-tests.test: Adjust.
3319 * tests/parallel-tests7.test: Adjust.
3320 * tests/parallel-tests-empty-testlogs.test: New test.
3321 * tests/parallel-tests-recheck-override.test: Likewise.
3322 * tests/parallel-tests2.test: Extend and keep more in-sync with ...
3323 * tests/test-driver-custom-html.test: ... this new related test.
3324 * tests/test-driver-custom-no-html.test: New test.
3325 * tests/test-driver-custom-multitest.test: Likewise.
3326 * tests/test-driver-custom-multitest-recheck.test: Likewise.
3327 * tests/test-driver-custom-multitest-recheck2.test: Likewise.
3328 * tests/trivial-test-driver: New file, used by the last four tests
3330 * tests/Makefile.am (TESTS): Update.
3331 (EXTRA_DIST): Distribute `trivial-test-driver'.
3332 (test-driver-custom-multitest.log): Depend on `trivial-test-driver'.
3333 (test-driver-custom-multitest-recheck.log): Likewise.
3334 (test-driver-custom-multitest-recheck2.log): Likewise.
3335 (test-driver-custom-html.log): Likewise.
3337 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
3339 parallel-tests: allow custom driver scripts
3340 Allow suffix-based definition of custom "driver script" for the
3341 test scripts. These driver scripts will be responsible of
3342 launching the tests (or their corresponding $(LOG_COMPILER), if
3343 they have an associated one), interpreting and displaying the
3344 test results, and writing the `.log' files.
3345 This new API should allow easy and flexible use of different
3346 test protocols in the future; in particular, we plan to use it
3347 to implement TAP and SubUnit harnesses.
3348 Note that no new documentation is added by this change; that is
3349 be left for follow-up changes.
3350 * automake.in (handle_tests): Define default for $(LOG_DRIVER),
3351 and, for any registered test extension `<ext>', define defaults
3352 for $(<ext>_LOG_DRIVER). Substitute %DRIVER% using these new
3353 variables, instead of the old internal $(am__test_driver). When
3354 processing check2.am, also substitute %DRIVER_FLAGS%.
3355 Require auxiliary script `test-driver' only if no driver has been
3356 explicitly defined for the test script kinds.
3357 * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
3358 ?!GENERIC?%OBJ%): Pass the %DRIVER_FLAGS% to the %DRIVER% call.
3359 * tests/parallel-tests-no-extra-driver.test: New test.
3360 * tests/test-driver-custom.test: Likewise.
3361 * tests/test-driver-custom-xfail-tests.test: Likewise.
3362 * tests/test-driver-fail.test: Likewise.
3363 * tests/Makefile.am: Update.
3366 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
3368 parallel-tests: add auxiliary script 'test-driver', refactor
3369 This refactoring should cause no API of functionality change,
3370 and is meant only to simplify the future implementation of TAP
3371 and SubUnit testsuite drivers. More precisely, our roadmap is
3372 to move most of the "testsuite driving" features out of the
3373 Automake-generated Makefiles, and into external scripts with
3374 well-defined interfaces. This will allow the user to define
3375 its own personalized testsuite drivers, and will also offer us
3376 a framework upon which to implement our new TAP and SubUnit
3377 drivers, all in a very unobtrusive way and retaining an high
3378 degree of code reuse and backward-compatibility.
3379 * lib/test-driver: New auxiliary script.
3380 * lib/Makefile.am (dist_SCRIPT_DATA): Add it.
3381 * automake.in (handle_tests): Require the new auxiliary script
3382 `test-driver', and define a new internal makefile variable
3383 `$(am__test_driver)', used to call it. Perform new substitution
3384 on `DRIVER' when processing the `check2.am' file.
3385 * lib/check.am (am__tty_colors): Define new shell variable
3387 (am__rst_section): Removed, its role taken over by the new
3388 `test-driver' script.
3389 (am__test_driver_flags): New variable, contains the command
3390 line options passed to `test-driver'.
3391 (am__check_pre): Do not deal with temporary files and exit
3392 traps anymore, as the `test-driver' script takes care of that
3393 now. Define shell variable `$am__enable_hard_errors', used by
3394 `$(am__test_driver_flags)'. Reorder so that we don't need to
3395 save and restore the value of the `TERM' environment variable
3397 Other related adjustments.
3398 (am__check_post): Remove, as its role has been completely taken
3399 over by the `test-driver' script.
3400 * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
3401 ?!GENERIC?%OBJ%): Call the test script through the Automake
3402 substituted `%DRIVER%', and honor the command-line options
3403 in `$(am__test_driver_flags)'. Do not call the obsoleted
3404 `$(am__check_post)' anymore.
3405 * doc/automake.texi (Auxiliary Programs): Mention the new
3406 `test-driver' script.
3407 (Optional): Mention `test-driver' in AC_CONFIG_AUX_DIR.
3408 Since we are at it, break the list of auxiliary scripts by
3409 placing one per line, to simplify potential future additions
3411 * tests/check.test: Adjust.
3412 * tests/check2.test : Likewise.
3413 * tests/check3.test : Likewise.
3414 * tests/check4.test : Likewise.
3415 * tests/check10.test: Likewise.
3416 * tests/color.test: Likewise.
3417 * tests/color2.test: Likewise.
3418 * tests/comment9.test: Likewise.
3419 * tests/dejagnu.test: Likewise.
3420 * tests/exeext4.test: Likewise.
3421 * tests/maken3.test: Likewise.
3422 * tests/maken4.test: Likewise.
3423 * tests/parallel-tests-interrupt.test: Likewise.
3424 * tests/posixsubst-tests.test: Likewise.
3425 * tests/repeated-options.test: Likewise.
3426 * tests/check-no-test-driver.test: New test.
3427 * tests/parallel-test-driver-install.test: Likewise.
3428 * tests/Makefile.am (TESTS): Update.
3431 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
3433 maintcheck: extend 'sc_tests_plain_*' checks
3434 * Makefile.am (sc_tests_plain_autom4te): New check.
3435 (sc_tests_plain_autoreconf): Likewise.
3436 (sc_tests_plain_autoheader): Likewise.
3437 (syntax_check_rules): Update.
3439 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
3441 tests: interactions between TESTS_ENVIRONMENT and LOG_COMPILER
3442 * tests/tests-environment-and-log-compiler.test: New test,
3443 checking that we can use variables and functions set by
3444 TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT in LOG_COMPILER
3445 and LOG_FLAGS (for tests both with and without registered
3447 * tests/Makefile.am (TESTS): Update.
3449 2011-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
3451 tests: make 'subst-no-trailing-empty-line.test' more robust
3452 * tests/subst-no-trailing-empty-line.test: Strengthen existing
3453 checks, to try more scenarios and be slightly stricter in some
3456 2011-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
3458 tests: fix an incomplete comment
3459 * tests/subst-no-trailing-empty-line.test: Fix an incomplete
3460 comment, and move it to a more proper place. Minor cosmetic
3461 fixes to other comments.
3463 2011-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
3465 maintcheck: avoid few more spurious failures
3466 * tests/depmod-data.test: Use creative quoting to avoid
3467 spuriously triggering the `sc_tests_Exit_not_exit' maintainer
3468 check. Commit `v1.11-900-g3453b8e' attempted to fix it, but
3469 succeeded only partially.
3470 * tests/cond33.test: Fix header comments, not to reference
3471 obsolescent make variable `$(mkdir_p)'.
3472 * tests/cond4.test: Rewrite "$MAKE exp=..." as "exp=.. $MAKE -e",
3473 to please `sc_tests_overriding_macros_on_cmdline'
3474 * tests/cond19.test: Likewise.
3475 * tests/cond32.test: Likewise.
3476 * tests/add-missing.test: Use "AUTOMAKE_fails" instead of
3477 "$AUTOMAKE ... && Exit 1", to please `sc_tests_automake_fails'.
3479 2011-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
3481 maintcheck: avoid few spurious failures
3482 * Makefile.am (sc_tests_plain_aclocal, sc_tests_plain_perl,
3483 sc_tests_plain_autoconf, sc_tests_plain_automake,
3484 sc_tests_plain_autoupate): Be stricter in matching an erroneous
3485 literal command, i.e., `aclocal', `automake', `perl', etc.
3487 2011-06-20 Bert Wesarg <bert.wesarg@googlemail.com> (tiny change)
3489 check: don't use multi-line coloring for the report
3490 "less -R" can't handle multi-line coloring as it is done for the
3491 check reports of the serial and parallel testsuite, because of
3492 performance reasons. Thus, color each line of the check report
3494 * lib/am/check.am (am__text_box): Accept colors for lines, and
3495 color each line by its own.
3496 [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Let am__text_box handle
3498 [!%?PARALLEL_TESTS%] $(check-TESTS): Color each report line by
3502 2011-06-18 Stefano Lattarini <stefano.lattarini@gmail.com>
3504 docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
3505 * doc/automake.texi (Checking the Distribution): Explain that the
3506 developers should take care of making their code buildable without
3507 requiring any special configure options, so that in general
3508 AM_DISTCHECK_CONFIGURE_FLAGS shouldn't be used. Give an example
3509 of where its use is legitimate.
3510 Suggestions from Ralf Wildenhues and Eric Blake.
3512 2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
3514 ansi2knr: deprecate, it will go away in the next major release
3515 * doc/automake.texi: Loudly and repeatedly state that the old
3516 de-ANSI-fication features are now deprecated and will be removed
3517 in the next major Automake release. Other related adjustments.
3518 * lib/Automake/Options.pm (_process_option_list ): Give a warning
3519 in the `obsolete' category when the `ansi2knr' option is used.
3520 * m4/protos.m4 (AM_C_PROTOTYPES): Deprecate this macro: a warning
3521 in the `obsolete' category will be emitted it if is used.
3522 * tests/ansi2knr-deprecation.test: New test.
3523 * tests/Makefile.am (TESTS): Update.
3524 * tests/ansi.test: Adjust, by calling autoconf and/or automake
3525 with the `-Wno-obsolete' flag.
3526 * tests/ansi10.test: Likewise.
3527 * tests/ansi2.test: Likewise.
3528 * tests/ansi3.test: Likewise.
3529 * tests/ansi3b.test: Likewise.
3530 * tests/ansi4.test: Likewise.
3531 * tests/ansi5.test: Likewise.
3532 * tests/ansi6.test: Likewise.
3533 * tests/ansi7.test: Likewise.
3534 * tests/ansi8.test: Likewise.
3535 * tests/ansi9.test: Likewise.
3536 * tests/cxxansi.test: Likewise.
3537 * tests/libobj8.test: Likewise.
3538 * NEWS: Update about the future planned backward-incompatibility
3539 due to the removal of de-ANSI-fication feature.
3541 2011-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
3543 docs: primary/prefix combination "pkglib_PROGRAMS" is now invalid
3544 * doc/automake.texi (Program Sources): pkglib_PROGRAMS is not a
3545 valid combination anymore, so don't document it. Inconsistency
3546 introduced in commit `v1.11-373-g9ca6326'.
3548 2011-06-19 Jim Meyering <meyering@redhat.com>
3550 docs: replace obsolete @vindex entry with a useful one
3551 * doc/automake.texi (Program Sources): Do not index obsolete
3552 pkglib_PROGRAMS here. Do index pkglibexec_PROGRAMS.
3554 2011-06-18 Stefano Lattarini <stefano.lattarini@gmail.com>
3556 tests: more checks on portable fd redirection in TESTS_ENVIRONMENT
3557 * tests/tests-environment-fd-redirect.test: Extend by also using
3558 a perl script among the tests. Run the test shell script with
3559 the `errexit' flag active. Export `VERBOSE' to yes when running
3560 "make check", to give more debugging information in case of
3561 failures. Look for a Korn Shell also in `/usr/bin', not on only
3564 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
3566 tests: optimize tests on primary/prefix mismatch for speed
3567 * tests/primary-prefix-invalid-couples.test: Partial rewrite, in
3568 order to use just a single automake invocation rather than one
3569 invocation for each invalid primary/prefix couple. This improves
3570 the test script execution time by an order of magnitude.
3571 Since we are at it, throw in some other improvements to avoid
3572 unrelated automake warnings and failures that could potentially
3573 cause false positives w.r.t. the automake exit status.
3575 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
3577 news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
3578 * NEWS (Miscellaneous changes): Update.
3580 2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
3582 maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
3583 * Makefile.am (sc_tests_overriding_macros_on_cmdline): It's now
3584 acceptable that the test scripts override DISTCHECK_CONFIGURE_FLAGS
3585 on the make command line. Update comments accordingly. Since we
3586 are at it, make the relevant grepping rules slightly tighter.
3588 2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
3590 distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
3591 * doc/automake.texi (Checking the Distribution): Suggest to use
3592 AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to
3593 define (in the top-level Makefile.am) extra flags to be passed
3594 to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS
3595 should be reserved for the user. Add proper `@vindex' directive.
3596 Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a
3597 subpackage Makefile.am, but the flags in it are passed down to
3598 the configure script of the subpackage.
3599 * lib/am/distdir.am (distcheck): Also pass the flags in
3600 $(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation.
3602 * tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS,
3603 DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in
3604 the environment, they might improperly influence our testsuite.
3605 * tests/distcheck-configure-flags.test: New test.
3606 * tests/distcheck-configure-flags-am.test: Likewise.
3607 * tests/distcheck-configure-flags-subpkg.test: Likewise.
3608 * distcheck-hook.test: Likewise.
3609 * distcheck-hook2.test: Likewise.
3610 * tests/Makefile.am (TESTS): Update.
3611 Closes automake bug#8784.
3613 2010-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3615 docs: better documentation for silent make rules
3616 * doc/automake.texi (Options): Detailed description of the
3617 automake option `silent-rules' moved from here ...
3618 (Silent Make): ... into this new chapter, expanded, improved,
3619 and subdivided into ...
3620 (Make verbosity, Tricks For Silencing Make,
3621 Automake silent-rules Option): ... these new sections.
3622 (@menu, @detailmenu): Update.
3623 * tests/silent-configsite.test: New test, checking that the
3624 user can control default mode of silent-rules from config.site,
3625 as is documented in the manual.
3626 * tests/Makefile.am (TESTS): Updated.
3628 2011-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
3630 Warnings about primary/prefix mismatch fixed and extended.
3631 * automake.in (%standard_prefix): Add `doc' and `locale'.
3632 Rename `pkgdatadir' to `pkgdata'. Similarly for`pkglibdir',
3633 `pkgincludedir' and `pkglibexecdir'.
3634 (handle_programs): List `pkglibexec', not `pkglib', among the
3635 prefixes valid for the `PROGRAMS' primary.
3636 (handle_data): List also `doc' among the prefixes valid for
3637 the `DATA' primary. This is required by automake's own build
3639 * tests/dirforbid.test: Test removed, superseded by ...
3640 * tests/primary-prefix-invalid-couples.test: ... this new test.
3641 * tests/primary-prefix-valid-couples.test: New test.
3642 * tests/primary-prefix-couples-documented-valid.test: Likewise.
3643 * tests/primary-prefix-couples-force-valid.test: Likewise.
3644 * tests/java3.test: Adjusted, and extended a bit.
3645 * tests/Makefile.am (TESTS): Updated.
3647 From a report by Eric Blake.
3649 2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
3651 tests: check portable fd redirection in TESTS_ENVIRONMENT
3652 * tests/tests-environment-fd-redirect.test: New test.
3653 * tests/Makefile.am (TESTS): Update.
3654 Motivated by coreutils bug#8846:
3655 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
3656 See also following CC:ed thread on bug-autoconf list:
3657 <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
3659 2011-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
3661 tests: make test 'self-check-reexec.test' more portable
3662 * tests/self-check-reexec.test: Rewrite not to require a Korn
3663 Shell able to grok variable expansions such as `${.sh.version}';
3664 Solaris 10 /bin/ksh fails on this for example. Instead, just
3665 require bash and a shell that is not bash.
3667 2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
3668 Jim Meyering <meyering@redhat.com>
3670 test defs: fix ksh-related portability bug in warning messages
3671 Running "make check" normally prints a diagnostic to the outermost
3672 stderr (usually a tty) to explain why a test is skipped, thus
3673 giving better and faster feedback to the user. It used to do
3674 so by redirecting file descriptor 9 to stderr (via "exec 9>&2")
3675 before invoking the test scripts, which then would write any skip
3676 explanation to file descriptor 9 via the `skip_' function defined
3678 However, various Korn Shells (at least Solaris 10's /bin/ksh and
3679 Debian GNU/Linux's /bin/ksh) and the HP-UX's /bin/sh close open
3680 file descriptors > 2 upon an `exec' system call; thus the effects
3681 of "exec 9>&2" are cancelled upon fork-and-exec, so we would get
3682 a "Bad file number" diagnostic and no skip explanation with those
3684 The present change remedies this situation.
3685 * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Redirect more portably,
3686 via a trailing "9>&2", rather than the prior "exec 9>&2; ...". Add
3687 explanatory comments.
3688 * tests/defs (stderr_fileno_): Update the advice in comments.
3689 Based on commit v8.12-82-g6b68745 "tests: accommodate HP-UX and
3690 ksh-derived shells" in GNU coreutils.
3691 Further references, with lots of discussion:
3692 <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
3693 <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488>
3694 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
3696 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
3698 tests: remove 'test_prefer_config_shell' from the environment
3699 Since commit `v1.11-910-g7df1a9b', the once user-overridable
3700 variable `$test_prefer_config_shell' has become an internal
3701 detail, and the test scripts now complain and bail out if it is
3702 set in the environment.
3703 * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Unset the variable
3704 `test_prefer_config_shell' if it is set in the environment.
3706 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
3708 tests: autogenerate list of wrapped tests for `lib/' shell scripts
3709 * tests/gen-config-shell-tests: New script, generates distributed
3710 makefile snippet `tests/config-shell-tests.am' to list all tests
3711 that use the `get_shell_script' function, with names mangled to
3712 use suffix `-w.shtst', in ...
3713 * tests/Makefile.am (config_shell_tests): ... this macro, whose
3714 definition has been consequently removed from Makefile.am.
3715 (EXTRA_DIST): Distribute the new script.
3716 ($(srcdir)/config-shell-tests.am): Generate using the new script.
3717 (include): Include the `config-shell-tests.am' fragment.
3718 * bootstrap: Invoke `tests/gen-config-shell-tests' to generate
3719 `tests/config-shell-tests.am'.
3720 * tests/.gitignore: Ignore `config-shell-tests.am'.
3721 * tests/gen-parallel-tests: Fixlet in heading comments.
3723 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
3725 tests: test mdate-sh with /bin/sh too
3726 * tests/mdate5.test: Fetch the `mdate-sh' script using the
3727 `get_shell_script' function, and run it directly instead of
3729 * tests/mdate6.test: Likewise. Since we are at it, make checks
3730 on the `mdate-sh' output stricter, remove now unneeded calls to
3731 aclocal and automake and creation/extension of `configure.in',
3732 `Makefile.am' and `textutils.tex' files, and add a trailing `:'
3734 * tests/Makefile.am (config_shell_tests): Add `mdate5-w.shtst'
3735 and `mdate6-w.shtst'.
3737 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
3739 tests: extend tests on `--add-missing' and `--copy' a bit
3740 * tests/add-missing.test: Fix typo in heading comments. Try with
3741 another testcase that install many (but not all) the auxiliary
3742 scripts at once, and uses non-standard (but valid and documented)
3743 setups (e.g., defining YACC in Makefile.am instead of calling
3744 AC_PROG_YACC from configure.in).
3745 * tests/copy.test: Reference `add-missing.test' in heading
3746 comments. Try few more test scenarios.
3748 2011-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
3750 tests: few fixlets and improvements
3751 * tests/cond31.test ($required): Remove `cc', it's not really
3753 * tests/confh.test: Call autoheader too. The lack of this call
3754 wasn't causing spurious failures because the automatic remake
3755 rules were somehow invoking it on our behalf (at make time).
3756 * tests/fn99subdir.test: Use $subdirname throughout, instead of
3757 ${subdirname}, for consistency with the rest of the testsuite.
3758 Avoid an unnecessary subshell, which could also cause spurious
3759 passes, being guarded by a trailing `|| Exit 1', which neutralize
3760 the `errexit' flag. Remove an unnecessary `|| Exit 1' guard.
3761 * tests/insh2.test: Rewrite to avoid hackish Makefile.in munging,
3762 and to also run configure and make.
3764 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
3766 tests: don't hard-code test name in txinfo21.test
3767 * tests/txinfo21.test: Use `$me' instead of hard-coding the
3768 current testcase name "txinfo21". Add a trailing `:' command
3771 2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
3773 tests: new test dedicated to `--add-missing' and `--copy'
3774 * tests/add-missing.test: New test.
3775 * tests/Makefile.am (TESTS): Update.
3776 Suggested by Peter Rosin.
3778 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
3780 testsuite: use 'fatal_' and 'framework_failure_' for hard errors
3781 * tests/defs (require_xsi): Use `fatal_', not `framework_failure',
3782 to report an invalid usage.
3783 * tests/remake-gnulib-remove-header.test: Prefer using `fatal_'
3784 with a proper error message over a direct call to `Exit 99'.
3785 * tests/pr8365-remake-timing.test: Likewise.
3786 * tests/cygnus-imply-foreign.test: Likewise.
3787 * tests/missing6.test: Likewise.
3788 * tests/cond8.test: Likewise.
3789 * tests/cond33.test: Likewise.
3790 * tests/python-virtualenv.test: Prefer using `framework_failure_'
3791 with a proper error message over a direct call to `Exit 99'.
3792 * tests/instspc-tests.sh: Prefer using `framework_failure_' and
3793 `fatal_' over direct calls to `Exit 99'.
3794 (fatal_): Define this (which is a simplified version of the one
3795 in `tests/defs') for early uses (i.e., before `tests/defs'
3797 * tests/depmode-tests.sh: Likewise. Also, simplify the
3798 'get_depmodes' function and calls to it accordingly.
3800 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
3802 self tests: check new 'fatal_' function
3803 * tests/self-check-exit.test: Also check the new 'fatal_'
3806 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
3808 test defs: new function 'fatal_', for hard errors
3809 Before this patch, the only way offered by tests/defs to
3810 properly signal a hard error was the `framework_failure_'
3811 function. But the error message issued by that function,
3812 as its name would suggest, refers to a set-up failure in the
3813 testsuite, while hard errors can obviously also be due to
3814 other reasons. The best way to fix this inconsistency is to
3815 introduce a new function with a more general error message.
3816 Inspired by a recent similar change to Gnulib's tests/init.sh.
3817 * tests/defs (fatal_): New function.
3818 * tests/README (Section "Writing test cases" subsection "Do"):
3819 Suggest the use of `fatal_', not of `framework_failure_', for
3820 generic hard errors. The latter should be reserved for "real"
3823 2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
3825 tests: `lib/' shell scripts transparently tested also with $SHELL
3826 With the previous commit, the user could prefer the use of $SHELL
3827 over /bin/sh in some tests checking the Automake-provided shell
3828 scripts by manually exporting `test_prefer_config_shell' to "yes"
3829 in the environment. With this commit, we ensure that such tests
3830 *always* and *transparently* run using both $SHELL and /bin/sh
3831 to execute the checked scripts. The `test_prefer_config_shell'
3832 variable becomes an internal detail, and is no more meant to be
3833 manually defined or overridden.
3834 * tests/defs-static.in: Check that `test_prefer_config_shell' is
3835 not exported in the environment. Error out if this is the case.
3836 * tests/config-shell-tests.sh: New file, driver script to run
3837 checks on the shell scripts in `lib/' using the $SHELL determined
3838 at configure time instead of the default system shell /bin/sh.
3839 * Makefile.am (TESTS_EXTENSIONS): Add `.shtst'.
3840 (SHTST_LOG_COMPILER): Define, it calls `config-shell-tests.sh'.
3841 (config_shell_tests): Define to a list of tests that wraps other
3842 `*.test' tests using `config-shell-tests.sh'.
3843 ($(config_shell_tests)): Dummy dependency declaration required
3844 in order to have make actually produce expected log files from
3845 the `.shtst.log' suffix rule.
3846 (EXTRA_DIST): Distribute `config-shell-tests.sh'.
3847 (TESTS): Add `$(config_shell_tests)'.
3848 * tests/self-check-env-sanitize.test: Update, by checking that
3849 `test_prefer_config_shell' isn't exported in the environment.
3851 2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
3853 tests: can use also $SHELL to check shell scripts from `lib/'
3854 * tests/ar-lib.test: If the variable `$test_prefer_config_shell'
3855 is set to "yes", run the script under test with configure-time
3856 determined $SHELL, rather than with /bin/sh.
3857 The `$test_prefer_config_shell' variable defaults to empty, but
3858 can be overridden at runtime by the user, thus allowing more
3860 * tests/compile.test: Likewise.
3861 * tests/compile2.test: Likewise.
3862 * tests/compile3.test: Likewise.
3863 * tests/compile4.test: Likewise.
3864 * tests/compile5.test: Likewise.
3865 * tests/compile6.test: Likewise.
3866 * tests/instsh2.test: Likewise.
3867 * tests/instsh3.test: Likewise.
3868 * tests/mkinst3.test: Likewise.
3869 * tests/missing.test: Likewise.
3870 * tests/missing2.test: Likewise.
3871 * tests/missing3.test: Likewise.
3872 * tests/missing5.test: Likewise.
3873 * tests/defs (get_shell_script): New subroutine, factoring out
3874 code common to the tests above.
3875 (xsi-lib-shell): If `$test_prefer_config_shell' is set to "yes",
3876 check that $SHELL, not /bin/sh, supports XSI constructs, as we
3877 expect the test will use $SHELL and not /bin/sh to run the
3878 script being tested.
3880 2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
3882 tests defs: better requirements for XSI shells
3883 This change avoids potential spurious failures with tests using
3884 the requirement 'xsi-shell' to mean that they want */bin/sh* (not
3885 $SHELL) to be XSI-conforming. This idiom used to work before
3886 commit `v1.11-874-g1321be7' (as back then the test scripts were
3887 unconditionally run with /bin/sh), but has become inconsistent
3888 now that the test scripts re-execute themselves with configure
3890 The described spurious failures have already occurred in practice,
3891 for examples on Solaris systems which also had GNU Bash installed.
3892 From a suggestion by Peter Rosin. See discussion at:
3893 <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00016.html>
3894 * tests/defs (xsi-shell): Now check that $SHELL, rather than the
3895 shell currently running the test script, is an XSI shell.
3896 (xsi-bin-sh): New requirement, checking that /bin/sh (which can
3897 differ from $SHELL) is an XSI shell.
3898 (xsi-lib-shell): New requirement, checking that the shell that
3899 should be used to test the Automake-provided scripts from `lib/'
3900 is an XSI shell. For the moment, this is just an alias for
3902 (require_xsi): New subroutine, used to factor out code common to
3903 the requirements above.
3904 ($xsi_shell_code): New variable, contains shell code supposed to
3905 work only with XSI shells. Used by the new subroutine above.
3906 * tests/ar-lib.test ($required): Require 'xsi-lib-shell' instead
3907 of 'xsi-shell', since the script we test here is run with /bin/sh,
3909 * tests/compile3.test: Likewise.
3910 * tests/compile6.test: Likewise.
3912 2011-06-05 Stefano Lattarini <stefano.lattarini@gmail.com>
3914 tests: fix typo-related error in auxdir2.test
3915 * tests/auxdir2.test (configure.in): Close m4 quoting in the
3916 argument to AC_CONFIG_AUX_DIR. Without this, aclocal fails with
3917 "ERROR: end of file in string". This problem hasn't been exposed
3918 by the testsuite before because this test is in XFAIL_TESTS, so
3919 its failure went unnoticed, even if it was due to a wrong cause.
3920 Bug introduced in commit v1.11-249-g49ac3de.
3922 2011-06-05 Stefano Lattarini <stefano.lattarini@gmail.com>
3924 self tests: check that `$me' can be overridden
3925 * tests/self-check-me.test: Check that `$me' can be overridden
3926 before sourcing ./defs, with or without sourcing ./defs-static
3927 beforehand, and that this override is honored. Update heading
3930 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
3932 self tests: fix another spurious failure
3933 Our ad-hoc usage of `tests/defs' in the testsuite's self tests
3934 stopped working properly when we made the test scripts re-execute
3935 themselves with the configure-time $SHELL. Fix this.
3936 Fixes a regression introduced by commit 'v1.11-874-g1321be7'.
3937 * tests/self-check-exit.test: Export `AM_TESTS_REEXEC' to "no"
3938 before running the self tests. This fixes a spurious failure
3939 present only when the test was run by hand.
3941 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
3943 silent-rules tests: fix spurious failures with Sun Studio C++
3944 * tests/silentcxx.test: The C++ compiler from Sun Studio is named
3945 `CC'. Account for this in our grepping checks on the make output.
3946 Since we are at it, throw in a couple of improvements to comments
3948 * tests/silent-many-generic.test: The C++ compiler from Sun Studio
3949 is named `CC', and this can cause spurious failures in our grepping
3950 of the make output. Work around this by using a wrapper script
3951 around the C++ compiler (generated on the fly), since filtering the
3952 make output proved to be too fragile.
3954 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
3956 tests: fix spurious failure in backcompat2.test on NetBSD
3957 * tests/backcompat2.test: Add trailing `:' in the body of a `for'
3958 loop, in case the last command there might have an exit status
3959 different 0. This work around `set -e' issues in some BSD shells,
3960 e.g., NetBSD /bin/ksh.
3962 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
3964 tests: fix spurious failure in autohdr3.test
3965 * tests/autohder3.test (Makefile.am): Let `test' depend on `all',
3966 so that config.h header is truly remade.
3967 Remove now useless call to `$MAKE' when non-GNU make is in use.
3968 Failure introduced by commit `v1.11-895-g5e62b96'.
3970 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
3972 tests: fix spurious failure of cond29.test on NetBSD
3973 * tests/cond29.test: Skip if we cannot safely limit the maximal
3974 size of used virtual memory to 20K. This fixes a spurious failure
3976 Bug introduced in commit `v1.11-885-g908d335'.
3978 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
3980 maintcheck: fix again few more failures
3981 * tests/cond29.test: To please the `sc_tests_Exit_not_exit'
3982 maintainer check, avoid using `sh -c "exit 0"' where a simple
3984 * tests/depmod-data.test: Use creative quoting to avoid
3985 spuriously triggering the `sc_tests_Exit_not_exit' maintainer
3988 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
3990 maintcheck: fix some more failures
3991 * tests/instdir-ltlib.test: Use creative quoting to avoid
3992 spuriously triggering the `sc_rm_minus_f' maintainer check.
3993 * tests/instdir-prog.test: Likewise.
3994 * tests/instspc-data.test: Use creative quoting to avoid
3995 spuriously triggering the `sc_tests_Exit_not_exit' maintainer
3998 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
4000 maintcheck: fix some failures, extend some checks
4001 * Makefile.am (sc_diff_automake_in_automake): Update, as we
4002 now expect 9 lines, not 8, to be changed from `automake.in'
4004 (sc_diff_aclocal_in_aclocal): New maintainer check, similar to
4005 the above, and checking that only 10 lines are changed from
4006 `aclocal.in' to `aclocal'.
4007 (syntax_check_rules): Update.
4008 (sc_tests_Exit_not_exit): Exempt self tests `self-check-*.test'
4009 from this check, as they can legitimately use the bare `exit'
4010 builtin in various places.
4011 * doc/automake.texi (Python): Remove stray `@' from the end of
4012 a line. Typo introduced in commit `v1.11-312-g5bf7af6'.
4013 * tests/depcomp8a.test: Pass DISTCHECK_CONFIGURE_FLAGS to make
4014 from the environment rather than from the command line, to
4015 pacify the `sc_tests_overriding_macros_on_cmdline' maintainer
4017 * tests/depcomp8b.test: Likewise.
4019 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
4021 tests: don't require GNU make where it's not strictly needed
4022 * tests/autohdr3.test: Rewrite to be stricter when make is GNU
4023 make. Drop the requirement of GNU make.
4024 * tests/aclocal5.test: Drop GNU make requirement, it's not truly
4025 needed. Add reference to similar tests `remake-subdir*.test'.
4026 * remake-subdir-gnu.test, remake-subdir-from-subdir.test,
4027 remake-subdir.test, remake-subdir2.test: Add reference to
4028 each other, and to related test `aclocal5.test'.
4029 * tests/aclocal6.test: Drop GNU make requirement, it's not
4031 * tests/confh6.test: Likewise.
4032 * tests/lex3.test: Likewise.
4033 * tests/remake11.test: Likewise.
4034 * tests/subdir5.test: Likewise.
4035 * tests/subdir8.test: Likewise.
4036 * tests/werror2.test: Likewise.
4037 * tests/conff.test: Likewise, and ensure verbose printing of
4038 captured make output.
4039 * tests/lex5.test: Tweak so that GNU make is no more required.
4040 * tests/version7.test: Likewise.
4041 * tests/maken2.test: Add explicative comment for why this test
4043 * tests/maken4.test: Let it run also with BSD makes supporting
4044 the `.MAKE' special target.
4045 * tests/output6.test: Use proper m4 quoting in configure.in.
4046 Expand make macros with one-character name using `$(x)', not
4047 `$x', for portability. Move checks in the makefiles, rather
4048 than relying on grepping the output from make. Drop the now
4049 unneeded GNU make requirement.
4051 2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
4053 remake: behave better with non-GNU make in subdirectories
4054 Currently, with every decent make program, it is possible to
4055 rebuild out-of-date autotools-generated files with a simple
4056 "make Makefile" -- but for this to work reliably with non-GNU
4057 make implementations, the command must be issued from the
4058 top-level directory. This patch removes such limitation.
4059 * lib/am/configure.am (am--refresh): Depend on `%MAKEFILE%'.
4060 * tests/remake-subdir.test: New test.
4061 * tests/remake-subdir2.test: Likewise.
4062 * tests/remake-subdir-gnu.test: Likewise.
4063 * tests/remake-subdir-from-subdir.test: Likewise.
4064 * tests/Makefile.am (TESTS): Update.
4066 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
4068 lex tests: fix spurious failures with Solaris lex
4069 * tests/lex-lib.test (foo.l): Avoid empty "rules section", which
4070 can confuse Solaris lex.
4071 * tests/lex-libobj.test (foo.l): Likewise.
4073 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
4075 lex tests: do not force the use of flex unconditionally
4076 * tests/defs (lex): Act more similarly to what the `yacc'
4077 requirement does, i.e., only force the use of flex if the
4078 $LEX variable is left unset by the user.
4079 (flex): Use `skip_' to skip the test if flex is not found.
4081 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
4083 lex tests: avoid possible hang; fix and extend
4084 * tests/lex3.test (foo.l:yywrap): Return 1, not 0, to avoid hangs.
4085 Bug introduced in commit 'v1.11-871-geb147a1'.
4086 (Makefile.am): Do not add `@LEXLIB@' to `$(LDADD)', as we define
4087 our own `yywrap' function.
4088 * tests/lex.test (tscan.l): In `yywrap', return 1, not 0, for
4089 consistency with the default flex implementation.
4090 * tests/lex-libobj.test (yywrap.c): Likewise.
4091 * tests/lex-subobj-nodep.test (s1.l): Likewise.
4092 * tests/lexvpath.test (foo.c): Likewise.
4093 * tests/silent-lex-gcc (foo.l): Likewise.
4094 * tests/silent-lex-generic (foo.l): Likewise.
4095 * tests/silent-many-gcc (foo5.l): Likewise.
4096 * tests/silent-many-generic (foo5.l): Likewise.
4097 * tests/lex-lib.test (mu.c): Likewise.
4098 Update heading comments, to refer to ...
4099 * tests/lex-lib-external.test: ... this new test, which checks
4100 that we can get use the `yywrap' function from a system-wide
4101 library, if that's available.
4103 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
4105 tests: prefer `skip_' over `echo ...; Exit 77'
4106 * tests/self-check-cleanup.test: When the test must be skipped,
4107 use `skip_ REASON' instead of `echo REASON; Exit 77'. Also,
4108 make the skip message shorter and clearer.
4110 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
4112 tests: fix spurious failures in self tests
4113 Our ad-hoc usage of `tests/defs' in the testsuite's self tests
4114 stopped working properly when we made the test scripts re-execute
4115 themselves with the configure-time $SHELL. Fix this.
4116 Fixes a bug introduced by commit 'v1.11-874-g1321be7'.
4117 * tests/defs: Only check that we can find the client test script
4118 when we must re-execute it.
4119 * tests/self-check-cleanup.test: Export `AM_TESTS_REEXEC' to "no"
4120 before running the self tests.
4121 * tests/self-check-dir.test: Likewise.
4122 * tests/self-check-explicit-skips.test: Likewise.
4123 * tests/self-check-me.test: Likewise.
4124 * tests/self-check-sanity.test: Likewise.
4125 * tests/self-check-reexec.test: New test.
4126 * tests/Makefile.am (TESTS): Update.
4128 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
4130 tests: prefer ulimit over timeout in test on a memory-hogging bug
4131 * tests/cond29.test: Use 'ulimit' instead of 'timeout' to ensure
4132 that automake does not uses up too much resources. This is really
4133 and improvement because the bug tested by this script wasn't just
4134 a "it hangs" or "it runs too slow" bug, but rather a memory-hogging
4135 bug (due to combinatorial explosion when many Automake conditionals
4136 had to be handled) which could easily crash the whole system, which
4137 is unacceptable. The requirement of a proper and working 'ulimit'
4138 builtin might cause the test to be skipped on more systems, but
4139 that shouldn't be a problem since the bug isn't about a portability
4140 issue, but is rather an automake internal implementation problem.
4141 I've verified that the test as updated by this patch still passes
4142 with automake 1.8.5, automake 1.10.2, and obviously the development
4143 version of automake, and that it fails with automake 1.7.9.
4145 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
4147 testsuite: avoid generating `*-p.test' tests, use a wrapper script
4148 The generated `*-p.test' tests had already become just thin layers
4149 around the corresponding test scripts. This change makes the final
4150 step, converting to the use of a generic wrapper script and thus
4151 avoiding the extra test generation (similarly to what is done for
4152 the `*.instspc' and `*.depmod' tests).
4153 * tests/parallel-tests.sh: New file, driver script to run checks
4154 the on the `parallel-tests' semantics by wrapping tests that use
4155 the generic "Simple Tests" driver.
4156 * tests/gen-parallel-tests: Update, mostly to reflect the new
4157 `.ptest' extensions used for tests in $(parallel_tests).
4158 * Makefile.am (TESTS_EXTENSIONS): Add `.ptest'.
4159 (PTEST_LOG_COMPILER): Define, it calls `parallel-tests.sh'.
4160 ($(parallel_tests)): Do not really generate `*-p.test' tests
4161 anymore; this is now just a dummy dependency declaration required
4162 in order to have make actually produce expected log files from
4163 the `.ptest.log' suffix rule.
4164 (EXTRA_DIST): Distribute `parallel-tests.sh'.
4165 (MAINTAINERCLEANFILES): Don't remove the `$(parallel_tests)', it
4166 is not necessary anymore.
4167 (generated_tests): Variable definition removed.
4168 (TESTS): Update, by listing `$(parallel_tests)' directly instead
4169 of `$(generated_tests)'
4170 (expected_list_of_tests): Remove `$(generated_tests)'.
4171 (maintainer-check-list-of-tests): No need to explicitly depend on
4172 `$(expected_list_of_tests)' anymore.
4174 2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
4176 automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE
4177 Currently, the Automake's own configure script allow definition
4178 of AUTOCONF and AUTOM4TE, expected to point respectively to an
4179 autoconf and autom4te programs. But while these definitions are
4180 honoured in the Automake's build systems and test suite, they
4181 were *not* honoured in the generated `automake' and `aclocal'
4182 scripts. This behaviour, apart from being wrong in that it does
4183 not allow the user enough freedom in choosing his tools, also
4184 caused inconsistencies in the test suite, brining to spurious
4186 Problem reported by Graham Reitz on the automake list; see thread:
4187 <http://lists.gnu.org/archive/html/automake/2011-05/msg00022.html>
4188 * automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'.
4189 * aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'.
4190 * Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and
4195 2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
4197 build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too
4198 Our build system allows the user to override AUTOCONF and AUTOHEADER
4199 at configure time, and honours these overrides in our testsuite.
4200 But it didn't do the same with AUTOM4TE, AUTORECONF and AUTOUPDATE.
4201 This change fixes that inconsistency.
4202 * configure.ac (am_AUTOM4TE, am_AUTOUPDATE, am_AUTORECONF): New
4203 AC_SUBSTitutions. Update comments.
4204 * tests/defs.in ($AUTOUPDATE): Default to `@am_AUTOUPDATE@' now.
4205 ($AUTOM4TE): New variable, defaulting to `@am_AUTOM4TE@'.
4206 ($AUTORECONF): New variable, defaulting to `@am_AUTORECONF@'.
4207 * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Update.
4209 2011-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
4211 parallel-tests: stricter checks on DISABLE_HARD_ERRORS support
4212 * tests/parallel-tests-harderror.test: New test, doing more
4213 in-depth checks on DISABLE_HARD_ERRORS.
4214 * tests/parallel-tests.test: Remove tests on DISABLE_HARD_ERRORS,
4216 * tests/Makefile.am (TESTS): Update.
4218 2011-05-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4219 Stefano Lattarini <stefano.lattarini@gmail.com>
4221 tests/README: fix example about `make -e' usage
4222 * tests/README (Section "Writing test cases" subsection "Do"): When
4223 some variable is never initialized in the Makefile, `-e' is not
4224 necessary in order to override it. DESTDIR is such a variable: we
4225 ensure that we do not ever initialize it. And as such, it is quite
4227 $ make DESTDIR=/foo/bar install
4228 and in fact, quite widely used.
4229 So our example about when `make -e' is required, which references
4230 the `DESTDIR' variable, is poorly chosen, if not downright wrong.
4231 Rewrite it to use `prefix' as the overridden variable instead.
4233 2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
4235 tests: don't require gfortran if any fortran compiler is enough
4236 * tests/silentf90.test ($required): Require `fortran', not
4238 * tests/silentf77.test ($required): Require `fortran77', not
4240 * tests/silent-many-generic.test ($required): Require `fortran'
4241 and `fortran77' rather than `gfortran'.
4243 2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
4245 tests: improve `ccnoco*.test', better cross-compiling support
4246 * tests/ccnoco3.test (Mycomp): Use the `$CC' chosen by `tests/defs'
4247 instead of forcing `gcc' unconditionally. This ensures better
4248 coverage in case of cross-compiling, when GCC can be named e.g.,
4249 `i586-mingw32msvc-gcc', instead of simply `gcc'.
4250 * tests/ccnoco.test: Likewise. Remove redundant checks. Modernize
4251 the created `configure.in'. Run tests both in-tree and in VPATH.
4252 Export `CC' to the overridden value only once.
4253 * tests/ccnoco2.test: Slightly stricter grepping of automake
4254 stderr. Add trailing `:' command.
4256 2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
4258 testsuite: each test case depends on `defs-static'
4259 * tests/Makefile.am ($(TEST_LOGS)): Depends on `defs-static' too.
4262 2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
4264 testsuite: use $SHELL to run tests which are shell scripts
4265 * tests/Makefile.am (TEST_LOG_COMPILER): Define so that the
4266 configure-time $SHELL is used to run the tests.
4267 * tests/defs: Add code to re-execute by default the running
4268 test script with configure-time $SHELL. Updated comments.
4269 * configure.ac: Check that `set -e' is working for $SHELL,
4271 * tests/defs-static.in: Update comments.
4272 * tests/README (Supported shells): Updated.
4273 (Getting details from failures): Don't tell that tests are
4274 run by /bin/sh by default.
4276 2011-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
4278 tests: split 'subst2.test' to improve modularity and coverage
4279 * tests/subst2.test: Test removed, split into ...
4280 * tests/programs-primary-rewritten.test: ... this test ...
4281 * tests/subst-no-trailing-empty-line.test: ... and this one ...
4282 * tests/extra-programs-empty.test: ... and this one.
4283 * tests/Makefile.am (TESTS): Update.
4285 2011-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
4287 tests: tweak and improve tests on Automake conditionals
4288 The "avoid the requirement of a working compiler" we refer about
4289 below is obtained by disabling automatic dependency tracking and
4290 defining `CC' (and `EXEEXT', `OBJEXT', `CXX', etc., if needed) to
4291 dummy values, either directly in the `Makefile.am', or by AC_SUBST
4293 The "cosmetic changes" we refer about below consists in, e.g.,
4294 adding a trailing `:' command to a script, using proper m4 quoting
4295 in `configure.in' files, adding commands that offer more debugging
4296 output, explicitly declaring phony targets as such in Makefiles,
4297 making use of idioms more consistent with those employed in other
4298 tests, following the GNU formatting standards more closely, etc.
4299 * tests/cond.test: Cosmetic changes.
4300 * tests/cond3.test: Likewise.
4301 * tests/cond10.test: Likewise.
4302 * tests/cond14.test: Likewise.
4303 * tests/cond15.test: Likewise.
4304 * tests/cond17.test: Likewise.
4305 * tests/cond40.test: Likewise.
4306 * tests/cond13.test: Likewise, and make grepping of the generated
4307 `Makefile.in' slightly stricter.
4308 * tests/cond6.test: Extend by also running ./configure, make and
4309 "make install". Few cosmetic changes.
4310 * tests/cond8.test: Likewise.
4311 * tests/cond2.test: Do few cosmetic changes. Make grepping of
4312 automake stderr stricter.
4313 * tests/cond20.test: Likewise.
4314 * tests/cond23.test: Likewise.
4315 * tests/cond24.test: Likewise.
4316 * tests/cond42.test: Likewise.
4317 * tests/cond46.test: Likewise.
4318 * tests/cond9.test: Move more checks in the `Makefile.am' instead
4319 of grepping make's output.
4320 * tests/cond38.test: Likewise.
4321 * tests/cond11.test: Likewise. Avoid the requirement of a working
4323 * tests/cond16.test: Likewise.
4324 * tests/cond22.test: Likewise.
4325 * tests/cond30.test: Likewise.
4326 * tests/cond31.test: Likewise.
4327 * tests/cond4.test: Likewise, and drop the now-useless GNU make
4328 requirement as well.
4329 * tests/cond18.test: Likewise.
4330 * tests/cond19.test: Likewise.
4331 * tests/cond22.test: Likewise.
4332 * tests/cond25.test: Add trailing `:' command.
4333 * tests/cond26.test: Likewise.
4334 * tests/cond27.test: Likewise.
4335 * tests/cond28.test: Likewise.
4336 * tests/cond29.test: Use `unindent' function for better formatting.
4337 Other minor cosmetic changes. Use a `timeout' program (if it's
4338 available) to determine whether the script takes too long, instead
4339 of just hoping that the user will notice an abnormally long test
4341 * tests/cond33.test: Extend a bit. Fix heading comments. Few more
4343 * tests/cond37.test: Ensure verbose printing of captured make
4344 output. Minor cosmetic changes.
4345 * tests/cond34.test: Likewise. Avoid the requirement of a working
4346 C compiler. Make grepping of make output slightly stricter.
4347 * tests/cond35.test: Quote literal dots in grep regexp. Add extra
4348 debugging output. Minor cosmetic changes.
4349 * tests/cond36.test: Likewise.
4350 * tests/cond41.test: Do not simply check that aclocal fails, but
4351 also grep its stderr for the expected error message.
4352 * tests/cond43.test: Likewise (but the program being automake).
4353 Few cosmetic changes.
4354 * tests/condd.test: Avoid the requirement of a working C compiler.
4355 * tests/condman3.test: Extend by using more man pages and more
4357 * tests/condman.test: Removed, it's completely superseded by
4359 * tests/Makefile.am (TESTS): Update.
4361 2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
4363 lex tests: avoid spurious failures when LEXLIB isn't found
4364 The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
4365 the "lex library" expected to provide a `yywrap' function (function
4366 which is required to link most lex-generated programs). On the
4367 contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
4368 fail, configure declares that no lex library is needed, and simply
4369 proceeds with the configuration process -- only for the build to
4370 possibly fail later, at make time.
4371 This behaviour might be (partly) intended; the Autoconf manual
4373 ``You are encouraged to use Flex in your sources, since it is
4374 both more pleasant to use than plain Lex and the C source
4375 it produces is portable. In order to ensure portability,
4376 however, you must either provide a function `yywrap' or, if
4377 you don't use it (e.g., your scanner has no `#include'-like
4378 feature), simply include a `%noyywrap' statement in the
4380 This AC_PROG_LEX behaviour is causing some spurious failures of the
4381 Automake testsuite in environments which lack a proper library
4382 providing `yywrap' (this happens for example in Linux->MinGW cross
4383 compilations). But at this point is clear that a proper workaround
4384 is to simply provide a fall-back implementation of `yywrap' in our
4386 * tests/cond35.test: Provide a dummy `yywrap' function.
4387 * tests/lex3.test: Likewise.
4388 * tests/lexvpath.test: Likewise.
4389 * tests/silent-many-gcc.test: Likewise.
4390 * tests/silent-many-generic.test: Likewise.
4391 * tests/silent-lex-gcc.test: Likewise, and a dummy `main' too.
4392 * tests/silent-lex-generic.test: Likewise.
4393 * tests/lex-lib.test: New test.
4394 * tests/lex-libobj.test: New test.
4395 * tests/lex-nowrap.test: New test.
4396 * tests/Makefile.am (TESTS): Update.
4398 Thanks to Russ Allbery for the suggestion.
4400 2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
4402 testsuite: require C++ compiler explicitly in tests needing it
4403 The list of the test scripts which needed a C++ compiler but
4404 failed to require it explicitly has been found by running:
4405 $ tests=`grep -lE 'CXX|\.c(c|\+\+|xx|pp)' *.test | tr '\n' ' '`
4406 $ am_explicit_skips=yes CXX=false make check TESTS="$tests"
4407 and looking for tests that reported FAIL instead of SKIP.
4408 After the present change, all those previously failing tests
4409 either pass or get correctly skipped.
4410 * tests/subobj9.test: Require `c++', instead of explicitly
4411 skipping on configure failure. Add excerpts and/or details from
4412 the original bug report that prompted this tests to be written.
4413 * tests/silentcxx-gcc.test: Require g++.
4414 * tests/silentcxx.test: Require c++.
4415 * tests/suffix3.test: Likewise.
4417 2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
4419 testsuite: don't require g++ where any C++ compiler is enough
4420 * tests/specflg10.test ($required): Use `c++', not g++.
4421 * tests/silent-many-generic.test: Likewise.
4423 2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
4425 testsuite: require C compiler explicitly in tests needing it
4426 The list of the test scripts which needed a C compiler but
4427 failed to require it explicitly has been found by running:
4428 $ am_explicit_skips=yes CC=false make check
4429 and looking for tests that reported FAIL instead of SKIP.
4430 After the present change, all those previously failing tests
4431 either pass or get correctly skipped.
4432 * tests/aclocal4.test ($required): Add `cc'.
4433 * tests/ansi.test: Likewise.
4434 * tests/ansi10.test: Likewise.
4435 * tests/ansi3.test: Likewise.
4436 * tests/ansi3b.test: Likewise.
4437 * tests/ansi5.test: Likewise.
4438 * tests/ansi6.test: Likewise.
4439 * tests/ansi7.test: Likewise.
4440 * tests/ansi9.test: Likewise.
4441 * tests/backcompat6.test: Likewise.
4442 * tests/canon7.test: Likewise.
4443 * tests/check5.test: Likewise.
4444 * tests/check7.test: Likewise.
4445 * tests/check8.test: Likewise.
4446 * tests/cond4.test: Likewise.
4447 * tests/cond11.test: Likewise.
4448 * tests/cond16.test: Likewise.
4449 * tests/cond18.test: Likewise.
4450 * tests/cond19.test: Likewise.
4451 * tests/cond22.test: Likewise.
4452 * tests/cond30.test: Likewise.
4453 * tests/cond31.test: Likewise.
4454 * tests/cond32.test: Likewise.
4455 * tests/cond34.test: Likewise.
4456 * tests/cond35.test: Likewise.
4457 * tests/cond39.test: Likewise.
4458 * tests/condd.test: Likewise.
4459 * tests/cygnus-dependency-tracking.test: Likewise.
4460 * tests/depcomp2.test: Likewise.
4461 * tests/depcomp6.test: Likewise.
4462 * tests/depcomp7.test: Likewise.
4463 * tests/depcomp8a.test: Likewise.
4464 * tests/depcomp8b.test: Likewise.
4465 * tests/depdist.test: Likewise.
4466 * tests/depend2.test: Likewise.
4467 * tests/depend5.test: Likewise.
4468 * tests/distcleancheck.test: Likewise.
4469 * tests/distname.test: Likewise.
4470 * tests/exeext.test: Likewise.
4471 * tests/exeext4.test: Likewise.
4472 * tests/extradep.test: Likewise.
4473 * tests/extradep2.test: Likewise.
4474 * tests/gnits2.test: Likewise.
4475 * tests/gnits3.test: Likewise.
4476 * tests/instdir-ltlib.test: Likewise.
4477 * tests/instdir-prog.test: Likewise.
4478 * tests/instfail.test: Likewise.
4479 * tests/instfail-libtool.test: Likewise.
4480 * tests/lex3.test: Likewise.
4481 * tests/lex5.test: Likewise.
4482 * tests/lexvpath.test: Likewise.
4483 * tests/lex-subobj-nodep.test: Likewise.
4484 * tests/lflags.test: Likewise.
4485 * tests/libobj-basic.test: Likewise.
4486 * tests/libobj2.test: Likewise.
4487 * tests/libobj7.test: Likewise.
4488 * tests/libobj10.test: Likewise.
4489 * tests/libobj16a.test: Likewise.
4490 * tests/libobj16b.test: Likewise.
4491 * tests/libobj17.test: Likewise.
4492 * tests/libobj19.test: Likewise.
4493 * tests/libtool2.test: Likewise.
4494 * tests/libtool3.test: Likewise.
4495 * tests/libtool7.test: Likewise.
4496 * tests/libtool9.test: Likewise.
4497 * tests/libtoo10.test: Likewise.
4498 * tests/libtoo11.test: Likewise.
4499 * tests/ltcond.test: Likewise.
4500 * tests/ltcond2.test: Likewise.
4501 * tests/ltconv.test: Likewise.
4502 * tests/ltinit.test: Likewise.
4503 * tests/ltlibsrc.test: Likewise.
4504 * tests/ltorder.test: Likewise.
4505 * tests/nobase.test: Likewise.
4506 * tests/nobase-libtool.test: Likewise.
4507 * tests/mmodely.test: Likewise.
4508 * tests/parallel-tests5.test: Likewise.
4509 * tests/parallel-tests-suffix-prog.test: Likewise.
4510 * tests/parallel-tests-ext-driver-prog.test: Likewise.
4511 * tests/posixsubst-ldadd.test: Likewise.
4512 * tests/posixsubst-libraries.test: Likewise.
4513 * tests/posixsubst-ltlibraries.test: Likewise.
4514 * tests/posixsubst-programs.test: Likewise.
4515 * tests/posixsubst-sources.test: Likewise.
4516 * tests/pr87.test: Likewise.
4517 * tests/pr204.test: Likewise.
4518 * tests/pr224.test: Likewise.
4519 * tests/pr300-lib.test: Likewise.
4520 * tests/pr300-ltlib.test: Likewise.
4521 * tests/pr300-prog.test: Likewise.
4522 * tests/pr401.test: Likewise.
4523 * tests/pr401b.test: Likewise.
4524 * tests/pr401c.test: Likewise.
4525 * tests/remake-gnulib-add-acsubst.test: Likewise.
4526 * tests/remake-gnulib-add-header.test: Likewise.
4527 * tests/regex.test: Likewise.
4528 * tests/repeated-options.test: Likewise.
4529 * tests/silent.test: Likewise.
4530 * tests/silent3.test: Likewise.
4531 * tests/silent9.test: Likewise.
4532 * tests/silent-lex-generic.test: Likewise.
4533 * tests/silent-many-generic.test: Likewise.
4534 * tests/silent-yacc-generic.test: Likewise.
4535 * tests/specflg7.test: Likewise.
4536 * tests/specflg9.test: Likewise.
4537 * tests/specflg10.test: Likewise.
4538 * tests/stdinc.test: Likewise.
4539 * tests/strip.test: Likewise.
4540 * tests/strip2.test: Likewise.
4541 * tests/strip3.test: Likewise.
4542 * tests/subdirbuiltsources.test: Likewise.
4543 * tests/subobj3.test: Likewise.
4544 * tests/subobj6.test: Likewise.
4545 * tests/subobj11a.test: Likewise.
4546 * tests/subpkg.test: Likewise.
4547 * tests/subst2.test: Likewise.
4548 * tests/subst3.test: Likewise.
4549 * tests/substref.test: Likewise.
4550 * tests/substre2.test: Likewise.
4551 * tests/suffix5.test: Likewise.
4552 * tests/suffix8.test: Likewise.
4553 * tests/suffix10.test: Likewise.
4554 * tests/suffix11.test: Likewise.
4555 * tests/suffix12.test: Likewise.
4556 * tests/suffix13.test: Likewise.
4557 * tests/target-cflags.test: Likewise.
4558 * tests/transform.test: Likewise.
4559 * tests/transform2.test: Likewise.
4560 * tests/yacc-basic.test: Likewise.
4561 * tests/yacc-d-basic.test: Likewise.
4562 * tests/yacc-clean.test: Likewise.
4563 * tests/yacc-dist-nobuild.test: Likewise.
4564 * tests/yacc-nodist.test: Likewise.
4565 * tests/yaccvpath.test: Likewise.
4566 * tests/yacc-d-vpath.test: Likewise.
4567 * tests/yacc4.test: Likewise.
4568 * tests/yacc7.test: Likewise.
4569 * tests/yacc8.test: Likewise.
4570 * tests/yaccdry.test: Likewise.
4571 * tests/yflags-cmdline-override.test: Likewise.
4572 * tests/yflags-force-override.test: Likewise.
4573 * tests/python-virtualenv.test: Likewise. Also, improve skip
4575 * tests/subobj5.test ($required): Add `cc'.
4576 (Makefile.am): Set `AUTOMAKE_OPTIONS' to `subdir-objects', and
4577 add new checking rules `test-build' and `test-distdir'.
4578 Extend the test by building and examining the distdir, the
4579 program, and the object files.
4580 * tests/postproc.test ($required): Add `cc'.
4581 Avoid the explicit `|| Exit $?' after call to configure, which
4582 is now either redundant (e.g., when `am_explicit_skips' is
4583 unset), or counter-productive (e.g., when `am_explicit_skips'
4585 * tests/pr243.test: Likewise.
4586 * tests/pr266.test: Likewise.
4587 * tests/pr220.test: Simplify so that it doesn't require a
4589 * tests/subdir5.test: Likewise.
4590 * tests/subdir8.test: Likewise.
4591 * tests/lflags.test: Likewise.
4592 * tests/yflags.test: Likewise.
4593 * tests/yflags-force-conditional.test: Likewise.
4594 * tests/lflags2.test: Simplify so that it doesn't require a
4595 C++ compiler anymore.
4596 * tests/yflags2.test: Likewise.
4597 * tests/autohdrdry.test (configure.in): Remove unneeded call
4599 * tests/pr287.test: Likewise.
4600 * tests/check6.test: Likewise.
4601 * tests/cond21.test: Likewise, plus some cosmetic adjustments.
4602 * tests/upc.test: Skip if configure fails with status `77'.
4603 * tests/upc3.test: Likewise.
4604 * tests/vala4.test: Likewise.
4605 * tests/nostdinc.test: Likewise. Also, make grepping checks
4606 on `Makefile.in'. Update heading comments.
4607 * tests/compile5.test: When we must skip, skip explicitly,
4608 and with a meaningful message.
4609 * tests/instspc-tests.sh: When running in "test-build" or
4610 "test-install" mode (as determined by the value of variable
4611 `$instspc_action'), require `cc'. Adjust comments.
4612 * tests/depmod-tests.sh: Likewise.
4614 2011-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
4616 testsuite: allow user to ask for stricter skip semantics
4617 Given how the Automake testsuite is currently structured, if a
4618 command in a test script fails with status `77', the global test
4619 outcome is considered a SKIP, because the value of `77' for `$?'
4620 is passed to the exit trap. Indeed, this happens in practice, as
4621 an autoconf-generated configure script can exit with status `77'
4622 if it fails to find, e.g., a required compiler.
4623 While this behaviour is quite useful for avoiding spurious test
4624 failures in the wild, it can also sometimes prevent the Automake
4625 developers to easily see and declare the requirements of their
4627 This change introduces a new variable `am_explicit_skips', meant to
4628 be user-overridable, and which, when set to a "true" value (i.e.,
4629 `yes' or `1'), require a direct call to `Exit 77' in order to make
4630 the test outcome be considered a SKIP.
4631 * tests/defs.in ($am__test_skipped): New variable, initialized
4633 (Exit): Set `$am__test_skipped' to `yes' if passed an exit status
4635 (trap '...' 0): When `$am_explicit_skips' is set to a "true" value,
4636 reset an exit status of `77' to `78' if $am__test_skipped is not
4638 * tests/self-check-exit.test: Adjust: unset `am_explicit_skips'.
4639 * tests/self-check-explicit-skips.test: New test.
4640 * tests/Makefile.am (TESTS): Update.
4642 2011-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
4644 testsuite: user can force skipping of compiler-requiring tests
4645 * tests/defs (cc, c++, fortran, fortran77): Skip the test if
4646 the relevant compiler is disabled by having the corresponding
4647 variable (CC, CXX, FC and F77, respectively) set to "false".
4648 (yacc): For consistency, skip the test when the YACC variable
4649 is set to "false", not when it's set to "no". Since we are at
4650 it, fix the skip message to be shorter and more consistent.
4652 2011-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
4654 tests: tweak and improve tests on "Simple Tests" driver
4655 * tests/check.test: Make grepping of generated Makefile.in
4656 slightly stricter. Add trailing `:' command.
4657 * tests/check2.test: Ensure verbose printing of captured make
4658 output. Make grepping of generated Makefile.in and of make
4659 output stricter. Add trailing `:' command.
4660 * tests/check3.test: Likewise. Also, fix minor error in a
4662 * tests/check4.test: Stricter grepping of make output. Use
4663 `using_gmake' subroutine instead of copy&paste from defs.in
4664 to determine whether $MAKE is GNU make. Add a trailing `:'
4666 * tests/check6.test: Add trailing `:' command.
4667 * tests/check10.test: Prefer redirection `>' over `>>' when
4668 creating new files. Ensure verbose printing of captured make
4670 * tests/check11.test: Likewise.
4671 * tests/check7.test: Likewise. Make grepping of make output
4672 stricter. Prefer "make distcheck" over a simple "make check"
4673 in a VPATH build. Add trailing `:' command.
4674 (a.c): Format following GNU coding standards.
4675 (Makefile.am): Explicitly declare target `print-xfail-tests'
4676 as PHONY. Distribute $(check_SCRIPTS), for distcheck.
4677 * tests/parallel-tests.test: Prefer redirection `>' over `>>'
4678 when creating new files.
4679 * tests/parallel-tests2.test: Likewise.
4680 * tests/parallel-tests9.test: Likewise.
4681 * tests/parallel-tests8.test: Likewise. Make grepping of
4682 automake stderr stricter.
4683 * tests/check8.test: Likewise. Make formatting of created
4684 *.c files more consistent with GNU Coding Standards.
4685 * tests/check-subst-prog.test (configure.in): Break overly
4687 (pass-prog.c, xfail-prog.c): Format them more consistently
4688 with GNU Coding Standards.
4689 * tests/parallel-tests3.test: Use a shorter and clearer skip
4690 message. Use the `unindent' subroutine to improve readability
4691 of indented loop bodies. Simplify the hack used to please
4693 * tests/parallel-tests5.test: Make formatting of created *.c
4694 files more consistent with GNU Coding Standards. Use the
4695 `unindent' subroutine to improve readability of indented loop
4697 * tests/parallel-tests10.test: Add blank line, for clarity.
4698 Prefer trailing `:' over trailing `Exit 0', for consistency
4701 2011-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
4703 tests/README: small consistency improvement
4704 * tests/README (Section "User interface" subsection "Running the
4705 tests"): In examples, be more consistent w.r.t. the differences
4706 between GNU and non-GNU make.
4708 2011-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
4710 tests/README: suggest how to run tests in cross-compile mode
4711 * tests/README (Section "User interface" subsection "Running the
4712 tests"): Briefly explain how to override 'host_alias' at runtime
4713 to force the use of cross-compilers by the testsuite. Give an
4716 2011-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
4718 test defs: better detection of cross-compile mode
4719 * configure.ac (AC_CANONICAL_HOST): New, probably not strictly
4720 necessary, but useful to complements AC_CANONICAL_BUILD.
4721 * tests/defs-static.in ($host_alias, $build_alias): New variables,
4722 exported, user-overridable, defaults AC_SUBST'd by configure.
4723 * tests/defs (cross_compiling): Consider cross-compilation mode
4724 active only if `$host_alias' is not empty *and* it differs from
4725 `$build_alias'. This is more faithful to the way configure
4726 determines whether it is cross-compiling, but still allows the
4727 user to easily force cross-compilation by overriding `host_alias'
4728 and `build_alias' at runtime.
4729 From a report by Ralf Wildenhues.
4731 2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
4733 testsuite: avoid re-running few tests with 'parallel-tests' option
4734 Some tests in our testsuite use the 'simple-tests' driver only
4735 marginally, or simply as a mean to conveniently check unrelated
4736 invariants. It makes little sense to force these tests to also
4737 run with the 'parallel-tests' Automake option active, as doing so
4738 offers no real gain in coverage, while often causing a measurable
4739 overhead in execution time (for an already too-slow testsuite).
4740 * tests/pr401.test (parallel_tests): Define to "no", to prevent
4741 the generation of a sibling test script using the 'parallel-tests'
4743 * tests/pr401b.test: Likewise.
4744 * tests/pr401c.test: Likewise.
4746 2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
4748 testsuite: allow tests to avoid the use of 'parallel-tests' option
4749 * tests/gen-parallel-tests: Do not generate "siblings" for tests
4750 that explicitly define the `parallel_tests', whether to "yes" or
4751 to any other value. Extend heading comments to give a rationale
4753 * tests/README: Update.
4755 2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
4757 tests/README: update obsoleted advice
4758 * tests/README (Section "Writing test cases" subsection "Do"):
4759 Do not suggest to use the `*-p.test' pattern for the names of
4760 hand-written tests which use the `parallel-tests' Automake option.
4761 Not only is this not respected by the existing tests, but it is
4762 more likely to cause conflicts with auto-generated tests.
4763 So, suggest to *avoid* using the `*-p.test' pattern in names
4764 of hand-written tests instead.
4765 (Section "Writing test cases" subsection "Do not"): When
4766 suggesting not to override Makefile variables using command
4767 line arguments, do not use the badly outdated variables `U'
4768 and 'ANSI2KNR' in the example; instead, use the more common
4769 and typical `DESTDIR'.
4771 2011-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
4773 tests: avoid spurious failures in cross-compile mode
4774 * tests/depcomp2.test: Ensure verbose printing of captured stderr
4776 * tests/ansi3.test ($required): Add 'native', as the ansi2knr
4777 functionality is not meant to work with a cross-compiler.
4778 * tests/ansi3b.test: Likewise.
4779 * tests/ansi5.test: Likewise.
4780 * tests/ansi6.test: Likewise.
4781 * tests/ansi7.test: Likewise.
4782 * tests/ansi8.test: Likewise.
4783 * tests/ansi10.test: Likewise.
4784 * tests/subobj3.test: Likewise.
4785 * tests/check8.test ($required): Add 'native', as this test is
4786 not meant to work with a cross-compiler.
4787 * tests/gnits2.test: Likewise.
4788 * tests/ltconv.test: Likewise.
4789 * tests/ltcond2.test: Likewise.
4790 * tests/parallel-tests5.test: Likewise.
4791 * tests/specflg7.test: Likewise.
4792 * tests/specflg8.test: Likewise.
4793 * tests/check5.test: Likewise. Also, ensure verbose printing of
4794 captured make output, and thrown in few cosmetic and consistency
4796 * tests/ltinit.test: Be laxer in grepping configure output, to
4797 avoid spurious failures on systems which lack POSIX dynamic
4798 linking (e.g., MinGW), or when cross-compiling for such systems.
4799 * tests/ansi9.test: Skip parts of the test that would require a
4801 * tests/backcompat6.test: Likewise.
4802 * tests/depcomp8a.test: Likewise.
4803 * tests/pr401.test: Likewise.
4804 * tests/pr401b.test: Likewise.
4805 * tests/pr401c.test: Likewise.
4806 * tests/target-cflags.test: Likewise.
4807 * tests/lex3.test: Likewise.
4808 * tests/yacc-basic.test: Likewise.
4809 * tests/autohdr4.test: Likewise. Also, extend the test to ensure
4810 more coverage in cross-compile mode.
4811 * tests/canon7.test: Likewise.
4812 * tests/check9.test: Removed, split into two new tests ...
4813 * tests/check-subst-prog.test: ... this one, which requires a
4814 native C compiler ...
4815 * tests/check-subst.test: ... and this one, which doesn't require
4817 * tests/parallel-tests4.test: Removed, split into two new tests ...
4818 * tests/parallel-tests-suffix-prog.test: ... this one, which
4819 requires a native C compiler ...
4820 * tests/parallel-tests-suffix.test: ... and this one, which
4821 doesn't require any compiler.
4822 * tests/parallel-tests7.test: Removed, split into two new tests ...
4823 * tests/parallel-tests-ext-driver-prog.test: ... this one, which
4824 requires a native C compiler ...
4825 * tests/parallel-tests-ext-driver.test: ... and this one, which
4826 doesn't require any compiler.
4827 * tests/Makefile.am (TESTS): Update.
4829 2011-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
4831 test defs: rename requirement 'non-cross' -> 'native'
4832 * tests/defs.in (non-cross): Rename requirement ...
4833 (native): ... to this, which is clearer and fits the
4834 existing lingo better.
4835 Suggestion by Ralf Wildenhues.
4837 2011-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
4839 testsuite: be more cross-compile friendly
4840 * tests/defs.in (cross_compiling): New subroutine.
4841 (am__tool_prefix): New internal variable.
4842 (gcc, g++, gcj): Force the use of the correct "tool prefix"
4843 when cross compiling.
4844 (gfortran, g77, non-cross): New requirements.
4846 2011-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
4848 tests: fix portability issues in 'repeated-options.test'
4849 * tests/repeated-options.test: Do not assume that object files
4850 have `.o' suffix and executables have no default suffix; instead,
4851 use `$(OBJEXT)' and `$(EXEEXT)'.
4853 2011-05-11 Stefano Lattarini <stefano.lattarini@gmail.com>
4855 check: document and test $(TEST_SUITE_LOG) overriding
4856 * doc/automake.texi (Simple Tests using parallel-tests): Explain
4857 how and why TEST_SUITE_LOG can be overridden at runtime.
4858 * tests/parallel-tests-log-override-1.test: New test, check that
4859 the newly documented idiom and similar usages are truly supported.
4860 * tests/parallel-tests-log-override-2.test: Likewise.
4861 * tests/parallel-tests-log-override-recheck.test: Likewise.
4862 * tests/Makefile.am (TESTS): Update.
4864 2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4866 tests: fix spurious failure of extradep.test on FreeBSD
4867 * tests/extradep.test: When using `ls -t' to determine whether a
4868 file has been updated, make sure to use as reference a file whose
4869 timestamp is expected to be *strictly* older that that of the file
4870 being checked. This is required because at least FreeBSD `ls' do
4871 not sort files with the same timestamp in alphabetical order when
4872 using the `-t' option.
4873 * tests/extradep2.test: Likewise.
4875 2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4877 tests: fix spurious failure of txinfo21.test on FreeBSD
4878 * tests/txinfo21.test: Use the `is_newest' subroutine instead of
4879 the `ls -t' hack to to determine whether a file has been updated.
4880 This is required because at least FreeBSD `ls' do not sort files
4881 with the same timestamp in alphabetical order when using the `-t'
4884 2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4886 tests: fix syntax error in 'silentcxx-gcc.test'
4887 * tests/silentcxx-gcc.test (for config_args in ...): Remove extra
4888 trailing backslash from the list of looped-on items.
4890 2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4892 depmod tests: fix bug in depmodes list extraction
4893 * tests/depmod-tests.sh (get_depmodes): Use `echo $all_depmodes'
4894 instead of `... | tr "$nl" "$sp"' to strip extra whitespaces and
4895 newlines from `$all_depmodes'. The latter idiom with `tr' is
4896 wrong since it gets run before `./defs' is sourced, and thus `$nl'
4897 and `$sp' are undefined.
4898 Bug revealad by FreeBSD tr(1) implementation, which doesn't accept
4899 empty strings as arguments.
4901 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
4903 tests: add excerpts from few original bug reports, for clarity.
4904 * tests/comment6.test: Add excerpts and/or details from the
4905 original bug report that prompted this tests to be added and/or
4907 * tests/dejagnu4.test: Likewise.
4908 * tests/installdir.test: Likewise.
4910 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
4912 tests defs: allow requirements for compilers (mostly dummy)
4913 Most of the new requirements that are now accepted in `$required'
4914 as consequence of this patch are still dummy. They are planned
4915 to be implemented only in master (or in some derived branch), but
4916 having them here (even just as no-op) will allow for an easier
4917 integration/backporting of potential new testcases.
4918 * tests/defs.in (cc, c++, fortran, fortran77): New requirements,
4920 (flex): New requirement, picking LEX for configure.
4921 (lex): New requirement, alias for `flex'. A more appropriate
4922 implementation, looking for a generic `lex' program, will follow
4925 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
4927 tests: 'silent-many-gcc.test' improved and made more robust
4928 * tests/silent-many-gcc.test: Also force "fast" gcc depmode
4929 for C++ compilations. Add sanity checks verifying that the
4930 cache variables we force are really used by configure. Fix
4933 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
4935 tests: drop useless requirements of 'g++'
4936 * tests/lflags2.test ($required): Remove 'g++', as any working
4937 C++ compiler should be enough, and ./configure will cause the
4938 test to skip if no working C++ compiler is found.
4939 * tests/yflags2.test: Likewise.
4940 * tests/subobj9.test: Likewise.
4941 * tests/silentcxx.test: Likewise. Also, do not force depmodes
4942 that could cause non-GNU C++ compilers to fail.
4943 * tests/silentcxx-gcc.test: New test, like `silentcxx.test',
4944 but forcing "fast" gcc depmode (and thus requiring the GNU C++
4946 * tests/specflg10.test: Add proper "fixme" comment telling that
4947 we should make this test work with a generic C++ compiler.
4948 * tests/Makefile.am (TESTS): Update.
4950 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4952 tests defs: one more environment sanitization (corner case)
4953 * tests/defs (am__using_gmake): Initialize. The `using_gmake'
4954 subroutine was using this variable for caching, but wasn't
4955 initializing it, which could cause problems in the (admittedly
4956 very unlikely) case in which it was pre-existent in the
4959 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4961 tests: add forgotten test scripts to $(TESTS)
4962 * tests/Makefile.am (TESTS): Added test scripts man[678].test,
4963 which have been present on the filesystem and in the repository,
4964 but which had erroneously been left out from $(TESTS).
4966 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4968 tests: ensure verbose printing of captured make output
4969 * tests/libtool7.test: Ensure verbose printing of captured
4971 * tests/libtool9.test: Likewise.
4973 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4975 maintcheck: consistency of list of test scripts
4976 * CheckListOfTests.am: New file.
4977 (maintainer-check-list-of-tests): New target,
4978 check for consistency between list of tests defined in the
4979 including Makefile and list of tests on the filesystem.
4980 (clean-maintcheck-testslist-tmp): New rule, to clean up the
4981 temporary files that might be left around by the rules associated
4982 with the previous target.
4983 (clean-local): Depend on it.
4984 * lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
4985 (maintainer-check): Added dependency from the new target
4986 `maintainer-check-list-of-tests'.
4987 * tests/Makefile.am: Likewise. Also ...
4988 (checked_test_extensions): Define to `.test'.
4989 (expected_test_list): Define properly.
4990 * Makefile.am (maintainer-check-list-of-test): New target,
4991 calling recursively into `tests/' and `lib/Automake/tests/',
4993 (TEST_SUBDIRS): ... this new variable.
4995 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4997 tests: drop useless requirements of gcc (plus testsuite tweakings)
4998 * tests/libobj14.test ($required): Remove 'gcc', as we never run
5000 * tests/targetclash.test: Likewise.
5001 * tests/ansi6.test ($required): Remove 'gcc', as any working
5002 C compiler should be enough.
5003 * tests/ansi7.test: Likewise.
5004 * tests/ansi9.test: Likewise.
5005 * tests/ansi10.test: Likewise.
5006 * tests/lex5.test: Likewise.
5007 * tests/lexvpath.test: Likewise.
5008 * tests/mmodely.test: Likewise.
5009 * tests/pr204.test: Likewise.
5010 * tests/pr300-lib.test: Likewise.
5011 * tests/pr300-prog.test: Likewise.
5012 * tests/primary3.test: Likewise.
5013 * tests/specflg7.test: Likewise.
5014 * tests/specflg8.test: Likewise.
5015 * tests/subdir5.test: Likewise.
5016 * tests/subdir8.test: Likewise.
5017 * tests/subobj6.test: Likewise.
5018 * tests/subst3.test: Likewise.
5019 * tests/substre2.test: Likewise.
5020 * tests/yacc6.test: Likewise.
5021 * tests/yacc8.test: Likewise.
5022 * tests/depcomp2.test: Likewise. Also, avoid clobbering user-set
5024 * tests/lex3.test: Likewise.
5025 * tests/ansi3.test: Likewise. Also, avoid 'CC=gcc' in configure.
5026 * tests/ansi3b.test: Likewise.
5027 * tests/ansi5.test: Likewise.
5028 * tests/autohdr4.test ($required): Remove 'gcc', as any working
5029 C compiler should be enough.
5030 Also, do not reject slow dependency extractors (which we might
5031 be forced to use now that $CC is not necessarily gcc anymore).
5032 * tests/cond16.test ($required): Remove 'gcc', as any working
5033 C compiler should be enough.
5034 Since we are at it, throw in few minor tweakings (mostly cosmetic,
5035 stylistic, or consistency-related).
5036 * tests/cond18.test: Likewise.
5037 * tests/cond35.test: Likewise.
5038 * tests/gnits2.test: Likewise.
5039 * tests/libtool3.test: Likewise.
5040 * tests/libtool7.test: Likewise.
5041 * tests/libtool9.test: Likewise.
5042 * tests/ltcond.test: Likewise.
5043 * tests/ltcond2.test: Likewise.
5044 * tests/ltconv.test: Likewise.
5045 * tests/ltlibsrc.test: Likewise.
5046 * tests/nobase.test: Likewise.
5047 * tests/nobase-libtool.test: Likewise.
5048 * tests/pr220.test: Likewise.
5049 * tests/pr224.test: Likewise.
5050 * tests/pr300-ltlib.test: Likewise.
5051 * tests/pr401.test: Likewise.
5052 * tests/pr401b.test: Likewise.
5053 * tests/pr401c.test: Likewise.
5054 * tests/subpkg.test: Likewise.
5055 * tests/target-cflags.test: Likewise.
5056 * tests/transform.test: Likewise.
5057 * tests/yacc4.test: Likewise.
5058 * tests/cond19.test: Likewise. Also, avoid clobbering user-set
5060 * tests/cond4.test: Likewise.
5061 * tests/depend2.test: Likewise.
5062 * tests/pr87.test: Likewise.
5063 * tests/subobj3.test: Likewise.
5064 * tests/substref.test: Likewise.
5066 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
5068 test defs: increase coverage w.r.t. GNU make
5069 * tests/defs (GNUmake): Instead of just skipping the tests
5070 requiring GNU make if $MAKE is not GNU make, try to look for
5071 it and, if found, redefine $MAKE accordingly. This will help
5072 to transparently increase coverage on non-GNU systems which
5073 have GNU make available in PATH.
5075 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
5077 tests: improve few inter-tests references
5078 * tests/acloca22.test: Improve and extend the heading comments.
5079 Add reference to related tests 'remake-deleted-m4-file.test' and
5080 'remake-renamed-m4-macro-and-file.test'. Since we are at it,
5081 add trailing `:' command, and few blank lines for readability.
5082 * tests/remake-renamed-m4-macro-and-file.test: In the heading
5083 comments, add reference to the related test 'acloca22.test'.
5085 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
5087 tests: fix spurious failure in 'color2.test'
5088 * tests/color2.test: If $MAKE contains command-line arguments (as
5089 in e.g., "make -j2"), expect's directive "spawn $env(MAKE)" fails
5090 spuriously, because it tries to run "$MAKE" as a single command.
5091 Fix this with proper uses of the TCL `eval' builtin.
5093 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
5095 tests: few more checks on automatic remake support
5096 * tests/remake-all-1.test: New test, check that the "all" target
5097 triggers rebuilt of outdated Makefiles.
5098 * tests/remake-all-2.test: Likewise, but for when the makefiles
5099 are not named `Makefile'.
5100 * tests/Makefile.am (TESTS): Update.
5102 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
5104 tests: check some remake features with non-GNU make too
5105 * tests/acloca14.test ($required): Drop "GNUmake". This test
5106 works as-is with non-GNU make implementations.
5107 * tests/remake1a.test: Likewise.
5108 * tests/aclocal4.test ($required): Drop "GNUmake".
5109 Modify the test to have it work also with non-GNU make.
5110 * tests/remake5.test: Likewise.
5111 * tests/remake8a.test: Likewise.
5112 * tests/remake8b.test: Likewise.
5113 * tests/remake9a.test: Likewise.
5114 * tests/remake9b.test: Likewise.
5115 * tests/remake9c.test: Likewise.
5116 * tests/remake9d.test: Likewise.
5117 * tests/remake10a.test: Likewise.
5118 * tests/remake10b.test: Likewise.
5119 * tests/remake10c.test: Likewise.
5120 * tests/remake12.test: ($required): Drop "GNUmake".
5121 Adapt the test to make it work also with non-GNU make (if
5122 it supports an "include" directive).
5124 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5126 tests: extend tests on dependency tracking with VPATH
5127 * tests/depmod-tests.sh: New script, fulfilling a threefold role:
5128 1. it is called to generate a Makefile.am snippet, containing the
5129 definition of proper lists of tests;
5130 2. it is called to set up a directory containing some common data
5131 files and autotools-generated files used by the aforementioned
5132 tests (this is done for speed reasons only); and
5133 3. it is called to properly run those tests, one at a time.
5134 * tests/depcomp9.test: Delete, it's obsolete now.
5135 * tests/depcomp10.test: Likewise.
5136 * tests/Makefile.am ($(srcdir)/depmod-tests.am): Include this
5137 snippet, which defines ...
5138 (depmode_tests): ... this new macro, containing the list of the
5139 newly generated `*.depmod' tests.
5140 (TESTS_EXTENSIONS): Add `.depmod'.
5141 (DEPMOD_LOG_COMPILER): Define. It calls `depmod-tests.sh', so that
5142 the "depmode tests" will be executed by passing that driver script
5144 ($(depmod_tests)): New dependency declaration (dummy, but required
5145 in order to have make actually produce expected log files from the
5146 `.depmod.log' suffix rule).
5147 (TESTS): Add $(depmod_tests).
5148 (EXTRA_DIST): Distribute depmod-tests.sh.
5149 Other minor cosmetic changes and reorderings.
5150 * bootstrap: Generate depmod-tests.am.
5151 * tests/.gitignore: Updated.
5153 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5155 tests: avoid extra test generation (for `instspc' tests)
5156 We don't really need to generate tons and tons of wrapper test
5157 scripts (presently, ~ 90) just to run what is basically a single
5158 test (specifically, `instspc-tests.sh') with different parameters.
5159 In fact, the possibility of running a single driver script with
5160 multiple files/configurations/parameters is one of the major
5161 selling points of the 'parallel-tests' testsuite driver of
5162 automake. So why not use ourselves more extensively the best
5163 features we provide?
5164 * tests/instspc-tests.sh: Update heading comments. Expect
5165 to be executed, not sourced. Update handling of command-line
5166 arguments. Adjust to reflect the renaming of "instspc tests"
5167 from `instspc-*.test' to `*.instspc'.
5168 * tests/instspc-data.test: Update heading comments. Execute
5169 driver script `instspc-tests.sh', instead of sourcing it.
5170 Give more informative messages in case of internal errors.
5171 * tests/Makefile.am (TESTS_EXTENSIONS): Define explicitly (to
5172 `.test' and `.instspc').
5173 (TESTS): Add `$(instspc_tests)'.
5174 (generated_tests): Remove `$(instspc_tests)'.
5175 (INSTSPC_LOG_COMPILER): Define. Calls `instspc-tests.sh', so
5176 that the "instspc tests" will be now executed by passing that
5177 driver script a proper parameter.
5178 ($(instspc_tests)): Remove, we don't need anymore to generate
5180 ($(instspc_tests:.test=.log)): Remove, substituted by ...
5181 ($(instspc_tests:.instspc=.log)): ... this.
5182 ($(instspc_tests)): New dependency declaration (dummy, but
5183 required in order to have make actually produce expected log
5184 files from the `.instspc.log' suffix rule).
5185 (MAINTAINERCLEANFILES, generated_tests): Don't extend with
5186 $(instspc_tests) anymore.
5189 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5191 build: improve the definition of the list of testcases
5192 * tests/Makefile.am (handwritten_tests): New variable.
5193 (generated_tests): Likewise.
5194 (TESTS): Redefine as the union of the above.
5195 (EXTRA_DIST): Extend using $(handwritten_tests) and
5196 $(generated_tests) rather than $(TESTS).
5197 * tests/gen-parallel-tests: Update accordingly, and
5200 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5202 tests skips: shorter and clearer messages
5203 * tests/defs: Use shorter messages when giving reasons for test
5204 skipping; it turns out these shorter messages are also clearer.
5205 If more info might be useful, send them to the log file only.
5207 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5209 tests: fix self check spurious failure with older bash versions
5210 * tests/self-check-cleanup.test: Add trailing `:' to the test code
5211 passed to $SHELL, otherwise older versions of bash (at least 2.05
5212 and 3.2.39) fail to correctly remove the temporary directory in
5215 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5217 tests: add sanity check to 'self-check-cleanup.test'
5218 * tests/self-check-cleanup.test: Check that the "hacked" file
5219 `defs-static' used by the test differs from the "vanilla" one
5220 in builddir. This also offers a little more debugging output.
5222 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5224 testsuite: display reasons for skips to the console
5225 * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Open file descriptor
5226 `9' to the original stderr; define `stderr_fileno_' to `9', and
5228 * tests/self-check-report.test: Prevent new spurious failures by
5229 removing from the environment any definition of `stderr_fileno_'.
5231 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5233 testsuite: use `skip_' for skipping of tests
5234 * tests/defs: Use the `skip_' subroutine for test skipping. Also
5235 give sometimes more detailed messages about the reasons for the
5237 * tests/canon7.test: Likewise.
5238 * tests/color.test: Likewise.
5239 * tests/color2.test: Likewise.
5240 * tests/compile2.test: Likewise.
5241 * tests/dejagnu7.test: Likewise.
5242 * tests/depcomp6.test: Likewise.
5243 * tests/depcomp9.test: Likewise.
5244 * tests/depcomp10.test: Likewise.
5245 * tests/distlinks.test: Likewise.
5246 * tests/distlinksbrk.test: Likewise.
5247 * tests/fn99.test: Likewise.
5248 * tests/fn99subdir.test: Likewise.
5249 * tests/forcemiss2.test: Likewise.
5250 * tests/fort5.test: Likewise.
5251 * tests/gettext3.test: Likewise.
5252 * tests/install2.test: Likewise.
5253 * tests/instfail-info.test: Likewise.
5254 * tests/instfail-java.test: Likewise.
5255 * tests/instfail-libtool.test: Likewise.
5256 * tests/instfail.test: Likewise.
5257 * tests/instmany-mans.test: Likewise.
5258 * tests/instmany-python.test: Likewise.
5259 * tests/instmany.test: Likewise.
5260 * tests/instsh3.test: Likewise.
5261 * tests/ltinit.test: Likewise.
5262 * tests/makej2.test: Likewise.
5263 * tests/mdate6.test: Likewise.
5264 * tests/mkinst3.test: Likewise.
5265 * tests/parallel-tests3.test: Likewise.
5266 * tests/parallel-tests-reset-term.test: Likewise.
5267 * tests/parallel-tests-unreadable-log.test: Likewise,
5268 * tests/python-virtualenv.test: Likewise.
5269 * tests/remake-gnulib-remove-header.test: Likewise.
5270 * tests/subobj9.test: Likewise.
5271 * tests/symlink2.test: Likewise.
5272 * tests/tar.test: Likewise.
5273 * tests/tar2.test: Likewise.
5274 * tests/txinfo26.test: Likewise.
5275 * tests/vala2.test: Likewise.
5276 * tests/vala3.test: Likewise.
5277 * tests/vala5.test: Likewise.
5278 * tests/vtexi4.test: Likewise.
5279 * tests/instdir-texi.test: Likewise.
5280 * tests/txinfo21.test: Likewise.
5282 2011-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
5284 testsuite: more environment sanitization
5285 * tests/defs: Move the checks verifying that the variables `me',
5286 `parallel_tests' and `required' aren't set in the environment ...
5287 * tests/defs-static.in: ... in here, with some optimizations to
5288 avoid useless forks. Also, do the same checks for the variables
5289 `original_AUTOMAKE' and `original_ACLOCAL' too.
5290 * tests/self-check-env-sanitize.test: Update.
5291 * tests/Makefile.am (TESTS_ENVIRONMENT): Unset also variables
5292 `original_AUTOMAKE' and `original_ACLOCAL'.
5294 2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
5296 tests: fix spurious failure (non-renamed AM_TESTS_SETUP usage)
5297 * tests/parallel-tests-reset-term.test: Use AM_TESTS_ENVIRONMENT
5298 instead of AM_TESTS_SETUP (which has been removed in commit
5299 v1.11-349-g12f48fa).
5300 Fix spurious failure introduced by merge `v1.11-781-gfeed175'.
5302 2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
5304 tests: fix spurious failure in a test on TESTS (VPATH-related)
5305 * tests/check-tests-in-builddir.test: When not using the
5306 parallel-tests option, do not check that VPATH components are
5307 not present in the displayed test name, since the simple-tests
5308 driver do not try to strip them.
5310 2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
5312 tests: fix spurious failure in self-check-env-sanitize.test
5313 * tests/self-check-env-sanitize.test: Open file descriptor `5'
5315 Fix spurious failure introduced by merge `v1.11-788-g3b0c8d5'.
5317 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
5319 test: self check subroutines for skipping/failing of tests
5320 * tests/self-check-report.test: New test.
5321 * tests/Makefile.am (TESTS): Update.
5323 2011-04-23 Jim Meyering <meyering@redhat.com>
5324 Stefano Lattarini <stefano.lattarini@gmail.com>
5326 test defs: new subroutines for test skipping/failing
5327 * tests/defs.in (Exit): Move definition of this function earlier.
5328 (warn_, skip_, fail_, framework_failure_): New functions, inspired
5329 to the homonyms in gnulib's tests/init.sh.
5330 ($stderr_fileno_): New global variable, used by the new functions
5332 * tests/README: Updated.
5333 From a suggestion by Ralf Wildenhues.
5335 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
5337 tests: fix typo (copy & paste blunder) in heading comment
5338 * tests/maintclean-vpath.test: Correctly refer to the sister test
5339 as `maintclean.test', not as `maintclean-vpath.test'.
5341 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
5343 tests: remove redundant test `mclean.test'
5344 * tests/mclean.test: Remove, it's a weak grepping test completely
5345 superseded by the much more complete `maintclean.test'.
5346 * tests/Makefile.am (TESTS): Update.
5348 2011-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
5350 testsuite: more environment sanitization
5351 * tests/defs.in: Sanity check: abort if any of `parallel_tests'
5352 or `required' is in the environment.
5353 ($sed_unindent_prog): Initialize to empty, to avoid interferences
5354 from the environment.
5355 * tests/self-check-me-in-env.test: Renamed to ...
5356 * tests/self-check-env-sanitize.test: ... this, and extended.
5357 * tests/Makefile.am (TESTS): Update.
5358 (TESTS_ENVIRONMENT): Unset variables `parallel_tests' and
5359 `required'. Adjust comments.
5361 2011-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
5363 tests: in self-checks, use $SHELL, not /bin/sh
5364 * tests/self-check-me-in-env.test: Include `./defs-static' to get
5365 the definition of `$SHELL'. Use `$SHELL' instead of `/bin/sh' to
5368 2011-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
5370 tests: prefer AM_TESTS_ENVIRONMENT to TESTS_ENVIRONMENT
5371 * tests/Makefile.am (TESTS_ENVIRONMENT): Renamed to ...
5372 (AM_TESTS_ENVIRONMENT): ... this.
5374 2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
5376 tests: don't allow `$me' to be overridden from the environment
5377 * tests/defs.in: Sanity check: abort if $me is in the environment.
5378 * tests/self-check-me-in-env.test: New test.
5379 * tests/Makefile.am (TESTS_ENVIRONMENT): Unset variable `me'.
5381 Suggestion by Ralf Wildenhues.
5383 2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
5385 check: rename AM_TESTS_SETUP -> AM_TESTS_ENVIRONMENT
5386 The AM_TESTS_SETUP naming was not a good one after all. It may
5387 be technically more correct than AM_TESTS_ENVIRONMENT, but the
5388 latter is a better one simply because it is easier to remember,
5389 and even if you've never heard of it and only know the semantics
5390 of TESTS_ENVIRONMENT, you can have a straightforward way to
5391 figure out how AM_TESTS_ENVIRONMENT would work.
5392 * tests/check.am (am__check_pre): Update.
5393 * doc/automake.in (Simple Tests using parallel-tests): Update.
5394 * tests/parallel-tests-am_tests_setup.test: Renamed ...
5395 * tests/parallel-tests-am_tests_environment.test: ... to this,
5397 * tests/Makefile.am (TESTS): Update.
5398 Suggestion and motivation by Ralf Wildenhues.
5400 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
5402 test defs: allow overriding of `$me'
5403 * tests/defs.in ($me): Allow overriding by the including test
5404 script. Add some explicative comments.
5406 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
5408 coverage: more tests on the parallel-tests driver
5409 * tests/parallel-tests-interrupt.test: New test.
5410 * tests/parallel-tests-reset-term.test: Likewise.
5411 * tests/Makefile.am (TESTS): Update.
5413 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
5415 check: new developer-reserved AM_TESTS_SETUP variable
5416 For reference, see the discussion at:
5417 <http://lists.gnu.org/archive/html/automake-patches/2011-01/msg00213.html>
5418 * lib/am/check.am [%?PARALLEL_TESTS%] (am__check_pre): Pass also
5419 $(AM_TESTS_SETUP). Comments updated, and some typos fixed.
5420 * doc/automake.texi (Simple Tests using parallel-tests): Document
5421 AM_TESTS_SETUP. Reorder some of the existing documentation a bit.
5422 * tests/parallel-tests-am_tests_setup.test: New test.
5423 From a suggestion by Ralf Wildenhues.
5425 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
5427 depcomp tests: don't reject slower dependency extractors
5428 * tests/depcomp8b.test: Add the `--enable-dependency-tracking'
5429 option to `configure' invocations, so that slower dependency
5430 extractors are not rejected.
5431 * tests/depcomp8a.test: Likewise. Also ...
5432 (foo.c): ... since we are at it, fix spacing to be consistent
5433 with GNU coding standards.
5435 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
5437 m4: add missing serial numbers to a few files
5438 Fixes automake bug#8483.
5439 * m4/amversion.in: Add serial number.
5440 * m4/auxdir.m4: Likewise.
5441 * m4/gcj.m4: Likewise.
5442 * m4/install-sh.m4: Likewise.
5443 * m4/mkdirp.m4: Likewise.
5444 * m4/python.m4: Likewise.
5445 * m4/runlog.m4: Likewise.
5446 * m4/strip.m4: Likewise.
5447 * m4/upc.m4: Likewise.
5449 2011-04-16 Stefano Lattarini <stefano.lattarini@gmail.com>
5451 tests: fix few bugs in self checks
5452 Related to automake bug#8508.
5453 * tests/self-check-cleanup.test: Be laxer when grepping output
5454 from `ls -l', to account for ACLs and SELinux-only files.
5455 * tests/self-check-dir.test: Source `defs-static' to read in the
5456 correct definition for $SHELL.
5457 * tests/self-check-me.test: Likewise, and extend a bit.
5458 Report from Jim Meyering.
5460 2011-04-16 Jim Meyering <meyering@redhat.com>
5462 depcomp: correct invalid sed invocation
5463 * lib/depcomp: Insert missing -e before '/:$/d'.
5464 Otherwise, that use of sed would treat '/:$/d' as a file name.
5466 2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
5468 maintainer check: quote literal `$' in Makefile rule
5469 * Makefile.am (sc_tests_PATH_SEPARATOR): Escape literal `$'
5470 character in double-quoted string. Fix a bug in which the rule
5471 emitted an erroneously empty substring in its error message.
5473 2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
5475 tests: fix typo in python5b.test
5476 * tests/python5b.test: Remove extra `:' from $PATH redefinition.
5478 2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
5480 tests: remove redundant settings of `errexit' shell flag
5481 * tests/autodist-acconfig.test: Do not set the `errexit'
5482 shell flag, as it is already set by `tests/defs'.
5483 * tests/autodist-acconfig-no-subdir.test: Likewise.
5484 * tests/autodist-aclocal-m4.test: Likewise.
5485 * tests/autodist-config-headers.test: Likewise.
5486 * tests/autodist-configure-no-subdir.test: Likewise.
5487 * tests/autodist-stamp-vti.test: Likewise.
5488 * tests/autodist-subdir.test: Likewise.
5489 * tests/autodist.test: Likewise.
5490 * tests/check-exported-srcdir.test: Likewise.
5491 * tests/check-tests-in-builddir.test: Likewise.
5492 * tests/check-tests_environment.test: Likewise.
5493 * tests/help-python.test: Likewise.
5494 * tests/java-check.test: Likewise.
5495 * tests/java-extra.test: Likewise.
5496 * tests/java-noinst.test: Likewise.
5497 * tests/lex-subobj-nodep.test: Likewise.
5498 * tests/ltinit.test: Likewise.
5499 * tests/m4-inclusion.test: Likewise.
5500 * tests/maintclean-vpath.test: Likewise.
5501 * tests/parallel-tests-subdir.test: Likewise.
5502 * tests/pr8365-remake-timing.test: Likewise.
5503 * tests/python-dist.test: Likewise.
5504 * tests/python-vars.test: Likewise.
5505 * tests/python-virtualenv.test: Likewise.
5506 * tests/python5b.test: Likewise.
5507 * tests/specflg-dummy.test: Likewise.
5508 * tests/yacc-dist-nobuild-subdir.test: Likewise.
5510 2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
5512 coverage: test for automake bug#8485 (known regression)
5513 * tests/yacc-dist-nobuild-subdir.test: New test.
5514 * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
5516 2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
5518 test defs: define default $distdir (help reducing duplication)
5519 * tests/defs ($distdir): New variable, might be used in
5520 testcases checking distribution-related features.
5521 * tests/pr9.test: Use it.
5522 * tests/subdir9.test: Likewise.
5523 * tests/lex3.test: Likewise.
5524 * tests/lexvpath.test: Likewise.
5525 * tests/remake-moved-m4-file.test: Likewise.
5526 * tests/remake-renamed-m4-file.test: Likewise.
5527 * tests/remake-renamed-m4-macro-and-file.test: Likewise.
5528 * tests/yacc-basic.test: Likewise.
5529 * tests/yacc-d-basic.test: Likewise.
5530 * tests/yacc-d-vpath.test: Likewise.
5531 * tests/yacc-dist-nobuild.test: Likewise.
5532 * tests/vtexi3.test: Add comment explaining why we redefine
5533 $distdir in this test.
5535 2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
5537 depcomp: fix bugs in tests and in the depcomp script
5538 * lib/depcomp (gcc): Remove duplicated `-e' from sed invocation.
5539 * tests/depcomp10.test: Make it executable. Fix a blunder that
5540 has left part of an intended comment not prefixed by `#', thus
5541 causing shell syntax errors. In this same comment, break a
5542 too-long reported error message on multiple lines, for clarity.
5543 Add reference to the relevant bug report. Add a comment which
5544 explains why the test result 'skipped' if the first "make" call
5545 fails. Add other useful comments.
5546 * tests/depcomp9.test: Slightly improve comments.
5548 2011-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5550 Fix hp depmode for VPATH builds with GNU make.
5551 * lib/depcomp: Be sure to remove VPATH-prefixed object from
5552 dependency output when creating stub rule.
5553 * tests/depcomp10.test: New test.
5554 * tests/Makefile.am (TESTS): Update.
5556 Report by Bruno Haible.
5558 2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
5560 test defs: fix 'javac' requirement for older JDK versions
5561 The Java compiler from JDK 1.5 (and presumably earlier versions)
5562 cannot handle the `-version' option by itself; and while it does
5563 print the version number, it then errors out with an usage error:
5566 javac: no source files
5567 Usage: javac <options> <source files>
5569 Luckily, adding the `-help' option to the `javac' invocation
5570 seems to fix this problem.
5571 * tests/defs.in (javac): Pass also the `-help' option to the
5572 `javac' program. Add a comment explaining why it is needed.
5573 Report from Ralf Wildenhues.
5575 2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
5577 test defs: new requirement for the default java compiler
5578 * tests/defs.in (for tool in $required): New requirement 'javac'.
5579 * tests/java.test: Use it instead of ad-hoc configure check.
5580 * tests/java-check.test: Likewise.
5581 * tests/java-extra.test: Likewise.
5582 * tests/java-noinst.test: Likewise.
5583 * tests/instfail-java.test: Likewise.
5584 * tests/instdir-java.test: Likewise.
5586 2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
5588 java: check_JAVA does not cause compilation by "make all" anymore
5589 Fixes automake bug#8234.
5590 * automake.in (handle_java): Make stamp of class files built from
5591 java sources in $(check_JAVA) a dependency of `check' target, not
5593 * tests/java-check.test: New test.
5594 * tests/Makefile.am (TESTS): Update.
5597 Report from Petteri Räty.
5599 2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
5600 Bruno Haible <bruno@clisp.org>
5602 coverage: add tests on remake rules in more complex situations
5603 * tests/defs (using_gmake): New function.
5604 (for tool in $required): Use it when $tool is 'GNUmake'.
5605 * tests/remake-moved-m4-file.test: New test.
5606 * tests/remake-deleted-m4-file.test: Likewise.
5607 * tests/remake-renamed-m4-file.test: Likewise.
5608 * tests/remake-renamed-m4-macro-and-file.test: Likewise.
5609 * tests/remake-renamed-m4-macro.test: Likewise.
5610 * tests/remake-add-acsubst-gnulib.test: Likewise.
5611 * tests/remake-add-header-gnulib.test: Likewise.
5612 * tests/remake-remove-header-gnulib.test: Likewise.
5613 * tests/Makefile.am (TESTS): Update.
5615 2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
5617 typofix in 'tests/defs'
5618 * tests/defs: Fix typo (`itslef' instead of `itself') in
5621 2011-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
5623 coverage: more on java support EXTRA_ and noinst_ prefixes
5624 * tests/java-extra.test: New test, checking support for the
5625 prefix `EXTRA_' with the JAVA primary.
5626 * tests/java-noinst.test: New test, checking support for the
5627 prefix `noinst_' with the JAVA primary.
5628 * tests/Makefile.am (TESTS): Update.
5630 2011-04-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5632 Clarify regex code in depcomp.
5633 * lib/depcomp: Add comment why we don't need regex-escaping here.
5634 Suggested by Stefano Lattarini.
5636 2011-04-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5638 Fix makedepend depmode for VPATH builds.
5639 * lib/depcomp [makedepend]: Remove any VPATH prefix from the
5640 object file name, so a rebuild doesn't attempt to update the
5641 .Po files in the source tree.
5642 * tests/depcomp9.test: New test.
5643 * tests/Makefile.am (TESTS): Update.
5646 2011-04-02 Stefano Lattarini <stefano.lattarini@gmail.com>
5648 tests: fix timestamp-related failures
5649 Fixes automake bug#8365.
5650 * tests/aclocal6.test: Sleep before modifying m4 files that should
5651 trigger remake rules. Remove incorrect/obsoleted comments.
5652 * tests/subdir5.test: Likewise, and extend a bit.
5653 * tests/subdir8.test: Likewise.
5654 * tests/pr8365-remake-timing.test: New xfailing test.
5655 * tests/Makefile.am (TESTS): Update.
5656 Report from Sam Steingold.
5658 2011-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5660 Create subdirs for generated sources even when not dep tracking.
5661 * automake.in (handle_single_transform): If $object is derived
5662 and lands in subdir, be sure to output a dirstamp dependency.
5663 * tests/yacc5.test: Avoid falsely matching the dirstamp
5664 dependency when grepping for a rule.
5665 * tests/lex-subobj-nodep.test: New test.
5666 * tests/Makefile.am (TESTS): Update.
5668 Report by Ignacy Gawedzki.
5670 Fix locale issue in check-exported-srcdir.test.
5671 * tests/check-exported-srcdir.test: Reformulate glob to not fail
5672 in a locale that ignores or interleaves character case.
5674 2011-04-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5676 docs: better visibility for aclocal in the index
5677 * doc/automake.texi (@menu): Rename title for entry 'configure'
5678 from "Scanning configure.ac or configure.in" to the more precise
5679 "Scanning configure.ac, using aclocal".
5680 (@detailmenu): Adjust.
5681 (@node configure): Adjust, and extend @cindex calls accordingly.
5683 From a report by Maynard Johnson.
5685 2011-03-30 Stefano Lattarini <stefano.lattarini@gmail.com>
5687 tests: improve tests on "maintainer-clean" target
5688 * tests/aclocal6.test: Move checks related to "maintainer-clean"
5689 functionalities into ...
5690 * tests/maintclean-vpath.test: ... this new test.
5691 * tests/maintclean.test: Update heading comments. Extend to also
5692 test subdirs. Remove useless disabling of YACC. Fix m4 quoting
5693 in configure.in. Add a trailing `:' command. Remove extra blank
5695 * tests/Makefile.am (TESTS): Update.
5697 2011-03-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5699 tests: fix unindent to use printf not echo for script.
5700 * tests/defs.in: Use printf rather than echo, as the latter may
5701 interpret the backslashes in the sed script. Fixes test
5702 failures with dash as /bin/sh.
5704 2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
5705 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5707 maintcheck: look for problematic names of testcases
5708 The configure.in stub created by default by `tests/defs' obtains
5709 the first argument of AC_INIT from the test name, and this can
5710 cause some supported autoconf versions to fail with a spurious
5711 error if that test name contains the name of an m4 or m4sugar
5712 builtin or macro (e.g., `defn' or `m4_undefine').
5713 See for example the bug fixed by commit v1.11-287-g1325a8a.
5714 This change add a maintainer check that warns about test names
5715 which are possibly problematic in this regard.
5716 * Makefile.am (sc_test_names): New maintainer-check target.
5717 (syntax_check_rules): Add it.
5718 (m4_builtins): New helper variable.
5719 (TESTS): Updated according to the following renamings.
5720 * tests/include.test: Renamed ...
5721 * tests/hdr-vars-defined-once.test: ... to this.
5722 * tests/sinclude.test: Renamed ...
5723 * tests/m4-inclusion.test: ... to this, and simplified
5725 * tests/include2.test: Renamed ...
5726 * tests/dist-included-parent-dir.test: ... to this, for
5729 2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
5731 tests: fix bug in alloca*.test
5732 * tests/alloca.test: Make grepping of automake stderr stricter,
5733 add a trailing `:' command; also, add AC_PROG_CC to configure.in,
5734 and create a dummy alloca.c file, to ensure that we fail for the
5736 * tests/alloca2.test: Likewise. Also, look for LT_INIT, not
5737 AC_PROG_LIBTOOL, in the error message (bug introduced with commit
5738 v1.11-315-gd51e7b7 "libtool: suggest LT_INIT if LTLIBRARIES
5740 From a report by Patrick Welche.
5742 2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
5744 cosmetics: better use of m4 quoting and m4sugar macros
5745 * m4/dmalloc.m4: Better use of m4 quoting. Bump serial number.
5746 * m4/gcj.m4: Likewise.
5747 * m4/init.m4: Likewise.
5748 * m4/install-sh.m4: Likewise.
5749 * m4/lex.m4: Likewise.
5750 * m4/multi.m4: Likewise.
5751 * m4/option.m4: Likewise.
5752 * m4/python.m4: Likewise.
5753 * m4/sanity.m4: Likewise.
5754 * m4/cond.m4: Likewise. Also, prefer the m4sugar macro 'm4_if'
5755 over the plain m4 macro 'ifelse'.
5756 * m4/depend.m4: Likewise.
5758 2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
5760 tests: add test about deprecated use of AC_INIT
5761 * tests/deprecated-acinit.test: New test, check that automake
5762 and autoconf complain about an old-style AC_INIT call used with
5763 a new-style AM_AUTOMAKE_INIT call.
5764 * tests/Makefile.am (TESTS): Update.
5766 2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
5768 tests: fix bug (comments-in-var-defn.test + autoconf 2.62)
5769 * tests/comments-in-var-defn.test: The configure.in stub created
5770 by default, which has the AC_INIT first argument obtained by the
5771 test name, causes autoconf 2.62 to fail with a spurious error
5772 message like: "configure.in:1: error: defn: undefined macro:".
5773 Thus, to prevent this, the test is renamed to ...
5774 * tests/comments-in-var-def.test: ... this.
5775 * tests/Makefile.am (TESTS): Updated.
5777 2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
5779 cosmetics: convert encoding from ISO-8859 to UTF-8
5780 * ChangeLog.03: Convert encoding to UTF-8.
5781 * ChangeLog.96: Likewise.
5782 * ChangeLog.98: Likewise.
5786 2011-03-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5788 tests: extend checks on the 'unindent' shell function
5789 * tests/self-check-unindent.test: Also check that multiple
5790 instances of 'unindent' can run in parallel (this was not
5791 the case when that function used temporary files).
5793 2011-03-01 Peter Rosin <peda@lysator.liu.se>
5795 test defs: unindent without temporary file
5796 * tests/defs.in (commented_sed_unindent_prog): Commented Sed program
5797 that strips the "proper" amount of leading whitespace.
5798 (unindent): Lazily strip comments from the above program and use it
5799 to unindent without using a temporary file.
5801 2011-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
5803 libtool: suggest LT_INIT if LTLIBRARIES primary is used
5804 When the LTLIBRARIES primary was used, but $(LIBTOOL) wasn't
5805 defined, automake suggested to add a call to AC_PROG_LIBTOOL
5806 in configure.ac. But that macro is deprecated since Libtool
5807 version 1.9b (2004-08-29), in favor of the newer LT_INIT. So
5808 suggest the use of this latter macro instead.
5809 * lib/Automake/Variable.pm (%_am_macro_for_var): Pair 'LIBTOOL'
5810 with 'LT_INIT', not with 'AC_PROG_LIBTOOL'.
5811 * tests/libtool4.test: Adjust and extend. Also, add a call to
5812 macro AC_PROG_CC in configure.in, to help ensuring that automake
5813 does not fail for the wrong reasons.
5814 * tests/ltinit.test: New test, ensure that automake's libtool
5815 support works with LT_INIT-based interface.
5816 Thanks to Jack Kelly for the suggestion.
5818 2011-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
5820 tests: add testcases sanity-checking the testsuite
5821 Helper subroutines, variables and other pieces of code defined
5822 in the `tests/defs' and used by many testcases are non-obvious,
5823 and tricky to get to work portably; but until now, they weren't
5824 tested at all in a clear and self-contained way.
5825 This change should remedy to the situation.
5826 * tests/self-check-cleanup.test: New test, check removal of
5827 temporary test working directory by `./defs'.
5828 * tests/self-check-dir.test: New test, check that tests using
5829 `./defs' create a proper temporary directory, and run in it.
5830 * tests/self-check-exit.test: New test, check that, in case of
5831 failing commands, the correct exit status is passed to the exit
5832 trap installed by the `./defs' script.
5833 * tests/self-check-is_newest.test: New test, checking the
5834 `is_newest' subroutine.
5835 * tests/self-check-me.test: New test, checking that $me gets
5836 defined automatically by `tests/defs' if not set, and that it
5837 can be overridden from either the shell or the environment.
5838 * tests/self-check-sanity.test: New test, check that the sanity
5839 checks performed by the `tests/defs' script works correctly.
5840 * tests/self-check-unindent.test: New test, checking the
5841 `unindent' subroutine.
5842 * tests/Makefile.am (TESTS): Update.
5844 2011-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
5846 tests: tempdirs with restrictive permissions are cleaned correctly
5847 Before this change, the removal of a temporary test directory
5848 containing subdirectories with restrictive permissions (such as
5849 'r--r--r--') could fail.
5850 * tests/defs: Ensure that all the subdirectories of a temporary
5851 test directory have the 'read', 'write' and 'execute' bits set,
5852 before trying to remove it with `rm -rf'.
5853 * tests/Makefile.am (clean-local-check): Likewise.
5855 2011-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
5856 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5858 test defs: add subroutine for input unindenting
5859 * tests/defs.in (unindent): New subroutine.
5860 * tests/instspc-tests.sh: Use it.
5862 2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
5864 python: report the 'PYTHON' influential environment variable
5865 * m4/python.m4 (AM_PATH_PYTHON): Call AC_ARG_VAR on PYTHON.
5866 * doc/automake.texi (Python): Update and extend.
5867 * tests/help-python.test: New test.
5868 * tests/Makefile.am (TESTS): Update.
5869 * THANKS (Jack Kelly): Update e-mail address.
5870 Suggestion by Jack Kelly.
5872 2011-02-10 Stefano Lattarini <stefano.lattarini@gmail.com>
5874 tests defs: clear TESTS_ENVIRONMENT variable
5875 * tests/defs.in (TESTS_ENVIRONMENT): Unset it, so that values
5876 from environment won't interfere with the testcases.
5877 Suggestion by Ralf Wildenhues.
5879 2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
5881 tests: `instspc-*.test': do not create useless source file
5882 * tests/instspc-tests.sh (create_input_data): Do not create
5883 unused source file `source2.c'.
5885 2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
5887 tests: optimize `instspc-*.test' for speed
5888 After the split of `instspc.test' into various generated tests,
5889 the running time of the testsuite has noticeably increased, since
5890 all these new generated tests must run aclocal, autoconf and
5891 automake, whereas previously they were run only once (at the
5892 beginning of `instspc.test'). But luckily, since the new tests
5893 share the same input files for the autotools, this situation can
5894 be easily worked around (at the expenses of a slight increase of
5895 complexity for the testsuite scaffolding).
5896 * tests/instspc-data.test: New helper test, properly calling
5897 the `instspc-tests.sh' script to generate input data for the
5898 others `instspc-*.test' tests.
5899 * tests/Makefile.am (TESTS): Add `instspc-data.test'.
5900 ($(instspc_tests:.test=.log)): Depend on its log file.
5901 (instspc-data.log): Depend on `instspc-tests.sh'.
5902 * tests/instspc-tests.sh: Recognize new action `generate-data',
5903 and use it to create hand-written and autotools-generated static
5904 files shared by all the `instspc-*.test' tests.
5905 When sourced by the `instspc-*.test' tests, use those previously
5906 created files instead of recreating them from scratch.
5907 (unindent, create_input_data): New subroutines.
5908 Some other related changes and refactorings.
5909 From a suggestion by Ralf Wildenhues.
5911 2011-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
5913 python: fix spurious failure in tests
5914 * tests/python-vars.test: Ignore cached values from config.site
5915 by exporting CONFIG_SITE=/dev/null. Be laxer in matching the
5916 expected values of output variables `pythondir' and `pyexecdir',
5917 since they can change quite unpredictably among different python
5918 installations. Also, avoid "hyping" debugging output, thus
5919 offering smaller trace output and more informative diff.
5920 Report and suggestions by Ralf Wildenhues.
5921 * tests/python-virtualenv.test: Require python, since we call it
5922 even after the virtualenv has been deactivated. Ignore cached
5923 values from config.site by exporting CONFIG_SITE=/dev/null.
5925 2011-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
5927 tests: tweak few tests on simple and parallel test drivers
5928 * tests/check-exported-srcdir.test: Improve heading comments.
5929 * tests/check-tests-in-builddir.test: Likewise. Also, unset the
5930 `FOO_EXIT_STATUS' variable, so that any pre-existing value in the
5931 environment won't risk to interfere with the test.
5932 Suggestions by Ralf Wildenhues.
5934 2011-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
5936 python: extend and improve tests, fix minor glitches
5937 * m4/python.m4 (AM_PATH_PYTHON): Ensure the "checking ..." messages
5938 from configure are always complete, even in case of failure. Tiny
5939 cosmetic improvement in info/error messages.
5940 * tests/python.test: Also check that automake complains if the
5941 PYTHON primary is used but the `py-compile' script is not present.
5942 Make grepping of generated Makefile.in laxer w.r.t. whitespace.
5943 Add trailing `:' command.
5944 * tests/python2.test: Remove repeated calls aclocal: they are
5945 useless because configure.in is never modified. Make grepping
5946 of automake stderr more comprehensive. Remove the pre-existing
5947 `py-compile' file before trying to install it with `--add-missing'.
5948 Add trailing `:' command.
5949 * tests/python3.test: Add trailing `:' command.
5950 * tests/python11.test: Likewise.
5951 * tests/python4.test: Likewise. Also, try to pass PYTHON config
5952 variable to configure from the environment, rather than only from
5954 * tests/python5.test: Ensure that the "checking ..." messages from
5955 configure are always complete. Use proper m4 quoting. Add a
5956 trailing `:' command.
5957 * tests/python6.test: Simplify test logic, by checking for files
5958 created by configure rather then grepping its output.
5959 * tests/python7.test: Likewise.
5960 * tests/python8.test: Also check that `$PYTHON' is meaningfully
5961 set in the ACTION-IF-TRUE argument of AM_PATH_PYTHON.
5962 * tests/python9.test: Likewise.
5963 * tests/python10.test: Add trailing `:' command.
5964 (Makefile.am): Declare `disttest' target as `.PHONY', and add
5965 an `ls -l' to its recipe, for debugging.
5966 * tests/nobase-python.test: In testing "make uninstall" and
5967 "make install" results, prefer idioms that make verbose logs
5968 more helpful. Remove a couple of lines of dead code. Add a
5969 trailing `:' command.
5970 * tests/python5b.test: New test, checking that configure performs
5971 the check on the python version even when the choice of the python
5972 interpreter is forced by the user.
5973 * tests/python-dist.test: New test, checking the distribution of
5975 * tests/python-vars.test: New test, checking that AM_PATH_PYTHON
5976 correctly set all the output variables advertised in the manual.
5977 * tests/python-virtualenv.test: New test, checking that python
5978 support offered by automake works well with "virtual python
5979 environments" created by the `virtualenv' program.
5980 * tests/instdir-prog.test: Also check `$(pyexecdir)'. Existing
5981 checks made slightly stricter.
5982 * tests/instdir-prog.test: Also check `$(pyexecdir)'. Existing
5983 * tests/instdir-ltlib.test: Likewise.
5984 * tests/Makefile.am (TESTS): Update.
5986 2011-02-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5988 coverage: more tests on simple and parallel test drivers
5989 * tests/parallel-tests-subdir.test: New test.
5990 * tests/check-exported-srcdir.test: Likewise.
5991 * tests/check-tests-in-builddir.test: Likewise.
5992 * tests/check-tests_environment.test: Likewise.
5993 * tests/Makefile.am (TESTS): Update.
5995 2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
5997 tests: fix spurious failures in lflags*.test
5998 * tests/lflags.test: Remove 'LEX' from the environment, so
5999 that it won't be erroneously picked up by `make -e'.
6000 * tests/lflags2.test: Likewise.
6002 2011-01-24 Stefano Lattarini <stefano.lattarini@gmail.com>
6004 docs: color-tests issues with parallel make
6005 * doc/automake.texi (Simple Tests): Document that automatic
6006 recognition of a capable terminal attached to stdout can fail
6007 with some make implementation when running in parallel mode,
6008 thus causing colored test output not to be automatically
6009 activated when it should.
6011 2011-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
6013 coverage: test semantics of "dummy" per-target flags
6014 * tests/specflg-dummy.test: New test, ensuring that even "dummy"
6015 per-target flags triggers the use of renamed objects.
6016 * tests/Makefile.am (TESTS): Update.
6017 Suggestion by Ralf Wildenhues.
6019 2011-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
6021 tests defs: sanitize IFS
6022 * tests/defs ($IFS): Define to <space>, <tab>, <newline>.
6023 ($sp): New variable, holding a single whitespace character.
6024 ($tab): New variable, holding a tabulation character.
6025 ($nl): New variable, holding a newline character.
6027 2011-01-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6029 tests: avoid instspc* failures due to make's whitespace trimming
6030 * tests/instspc-tests.sh: Prepend './' when passing the test
6031 characters, to avoid leading whitespace characters to be trimmed
6032 from macros set from environment variables. Fixes testsuite
6033 failures with HP-UX and Tru64/OSF make.
6035 2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6037 tests: fix VPATH auto-expansion workarounds.
6038 * tests/suffix10.test, tests/suffix11.test, tests/suffix12.test,
6039 tests/suffix3.test, tests/suffix5.test, tests/suffix8.test:
6040 Ensure $< is not surrounded by white space, to prevent Solaris
6041 make from applying automatic VPATH text expansion.
6043 tests: fix VPATH auto-expansion workarounds.
6044 * tests/parallel-tests8.test, tests/suffix13.test:
6045 Ensure $< is not surrounded by white space, to prevent Solaris
6046 make from applying automatic VPATH text expansion.
6048 2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
6050 tests: fix spurious failures in yflags*.test
6051 * tests/yflags.test: Remove 'YACC' from the environment, so
6052 that it won't be erroneously picked up by `make -e'.
6053 * tests/yflags2.test: Likewise.
6055 2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6057 tests: avoid fn99*.test failures due to buggy AIX 5.3 cp -R.
6058 * tests/fn99.test, tests/fn99subdir.test: Skip if an initial
6059 `cp -R' of the subdir tree already fails; AIX 5.3 cp messes
6060 up its internal memory when copying this tree.
6062 2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6063 Stefano Lattarini <stefano.lattarini@gmail.com>
6065 Add comment to check-TESTS rule working around make 3.80 bug.
6066 * lib/am/check.am (check-TESTS): Update comment.
6068 2011-01-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6070 tests: less strict double-colon spy.test again.
6071 * tests/spy.test: We know BSD make doesn't invoke more than one
6072 double-colon rule, so no need to expose that failure.
6074 2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6076 install-sh: avoid Tru64 sh `test' operator precedence issues.
6077 * lib/install-sh: Protect file names and directory components
6078 that consist of `=', `(', `)', or `!'. Move protection as early
6079 as possible, to avoid errors such as with Tru64 sh `test -z ='.
6080 * tests/instsh2.test: Extend test to cover more possibilities.
6081 Fixes 1.12 instspc-equal-install.test failure on Tru64/OSF 5.1.
6083 2011-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
6084 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6086 docs: automake testsuite doesn't use TESTS_ENVIRONMENT anymore
6087 * doc/automake.texi (Simple Tests): Do not claim Automake uses
6088 TESTS_ENVIRONMENT for the perl driver. Instead, point to the
6089 parallel-tests driver.
6091 2011-01-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6093 tests: check for presence of cscope with redirected input.
6094 * tests/defs: Add required test for cscope.
6095 Fixes cscope3.test hang with Sun C 5.9 cscope.
6097 tests: avoid false failure in cygnus-dependency-tracking.test.
6098 * tests/cygnus-dependency-tracking.test: Be less restrictive
6099 when grepping the compiler error message, GCC 3.4.6 on FreeBSD
6100 does not mention an undefined symbol.
6102 2011-01-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6104 tests: revert not turning off errexit in instspc-test.sh
6105 * tests/instspc-tests.sh: Turn off errexit while sourcing defs,
6106 the scripts might still not be clean.
6108 2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6110 tests: work around Tru64 sh -e issues for instspc*.test.
6111 Apparently, Tru64 sh does not like turning off errexit mode,
6113 * tests/defs: Document 'errexit' cleanliness requirement.
6114 * tests/defs-static.in: Likewise. Avoid error from command
6115 substitution to abort instspc*.test with Tru64/OSF 5.1 sh.
6116 * tests/instspc-tests.sh: Drop now-unneeded temporary errexit
6117 dropping. Add strategic '|| Exit' to let tests work on Tru64.
6119 2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6121 Allow _AM_DEPENDENCIES to be used later in configure.
6122 * m4/depend.m4 (_AM_DEPENDENCIES): Remove a previously existing
6123 conftest.dir before recreating it.
6125 Report by Eric Blake, from report by Scott McCreary against M4.
6127 2011-01-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6129 tests: avoid failure on w32 file systems.
6130 * tests/parallel-tests-unreadable-log.test: SKIP if file cannot
6131 be turned unreadable.
6133 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6135 tests: allow double-colon spy.test to work with HP-UX make.
6136 * tests/spy.test: Fix comment typos. Ensure prerequisites we
6137 do not want to depend on are strictly older than the target.
6138 Also test with a target out of date wrt. more than one rule.
6140 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6142 Avoid local $_ perl variable, for Perl before 5.9.1.
6143 * lib/Automake/Options.pm (_process_option_list): Do not
6144 lexically localize $_. Fixes bootstrap on AIX 5.1.
6145 Bug introduced in commit `v1.11-622-gf90a06c'.
6147 2011-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
6149 tests: remove useless requirements from cond36.test
6150 * tests/cond36.test ($required): Remove.
6151 Since we are at it, add a trailing `:' command.
6153 2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6155 tests: avoid failing command substitution in errexit mode.
6156 * tests/vartypo2.test, tests/vartypos.test: Rewrite to not use
6157 a command substitution with a nonzero exit status, that causes
6158 IRIX and Tru64/OSF sh to fail the whole test.
6160 2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6161 Stefano Lattarini <stefano.lattarini@gmail.com>
6163 parallel-tests: work around Tru64/OSF 5.1 sh read bugs.
6164 * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
6165 Test file readability before redirecting input from it, to avoid
6166 exiting Tru64/OSF 5.1 sh which treats read as special builtin.
6167 * tests/parallel-tests-unreadable-log.test: New test.
6168 * tests/Makefile.am (TESTS): Update.
6171 2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6173 * NEWS, README: Update copyright years.
6175 2011-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
6177 tests: hard error in case of internal failures or signal caught
6178 * tests/defs: Exit with status 99 (hard error) rather than
6179 1 (failure) on unexpected/internal errors, or when a signal
6180 is caught by the client script.
6182 Tests defs: don't let useless variables leak in test scripts.
6183 * tests/defs ($priv_check_temp, $overwrite_status, $ro_dir_temp,
6184 $create_status, $r2h, $libtool_found, $gettext_found, $aclocaldir,
6185 $extra_includes): Unset once they've served their purpose.
6187 2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6189 Fix parallel-tests.test failure with HP-UX make.
6190 * tests/parallel-tests.test: Sleep inside inner tests, so logs
6191 are newer than logs of tests they depend on, for HP-UX make.
6193 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6195 docs: ensure example are separated with empty lines in the input
6196 * doc/automake.texi (Extending aclocal, Emacs Lisp, Rebuilding)
6197 (API Versioning, Renamed Objects, Multiple Outputs): Add empty
6198 lines before `@example' and after `@end example' lines, so info
6199 output is rendered correctly, and a following @noindent honored.
6200 Report by Stefano Lattarini.
6202 2011-01-15 Jim Meyering <meyering@redhat.com>
6204 tests: fix comment typo
6205 * tests/substref.test: Fix grammar in a comment.
6207 2011-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
6209 tests: fix spurious failures in two texinfo tests
6210 * tests/txinfo.test ($required): Add 'makeinfo'.
6211 * tests/txinfo8.test: Create a dummy 'textutils.info' file, so
6212 that make won't try to run makeinfo (which could be unavailable)
6214 Found by NixOS Hydra, reported by Ralf Wildenhues.
6216 2011-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
6218 Update docs w.r.t. warning and strictness options.
6219 * doc/automake.texi (Strictness): Document that some warnings are
6220 turned off by default in `foreign' strictness.
6221 (Options): Divide into new sections "Options generalities" and
6222 "List of Automake options". Fix typo (colon instead of full
6223 stop). Document option precedence (AUTOMAKE_OPTIONS wins over
6224 AM_INIT_AUTOMAKE which wins over command line). Also document
6225 interactions between options specifying strictness and those
6226 specifying warnings.
6228 More tests on warnings/strictness precedence.
6229 * tests/warning-groups-win-over-strictness.test: New test, similar
6230 to `warnings-win-over-strictness.test', but checking the explicit
6231 catch-all warning flags (like `-Wall' and `-Wnone').
6232 * tests/Makefile.am (TESTS): Update.
6234 Update NEWS about the warnings-over-strictness precedence.
6235 * NEWS: Automake explicit warning levels always take precedence
6236 over the implicit warning levels implied by Automake strictness.
6238 For PR automake/547:
6239 Warnings win over strictness in AUTOMAKE_OPTIONS.
6240 Ensure that, for what concerns the options specified in
6241 AUTOMAKE_OPTIONS, explicitly-defined warnings always take
6242 precedence over implicit strictness-implied warnings.
6243 This finally fixes Automake bug#7669 a.k.a. PR/547.
6244 * automake.in (handle_options): Call 'process_option_list'
6245 only once per set of options.
6246 * lib/Automake/Options.pm (process_global_option_list,
6247 process_option_list): Add sanity checks.
6248 ($_options_processed, $_global_options_processed): New
6249 internal variables, used by the sanity checks above.
6250 * tests/warnings-win-over-strictness.test: Extend.
6252 For PR automake/547:
6253 Change signature of 'Automake::Options::_process_option_list()'.
6254 This only modifies internal details in the automake implementation,
6255 bearing no externally visible effect, but preparing the way for the
6256 final fix of Automake bug#7669 a.k.a. PR/547.
6257 * lib/Automake/Options.pm (_process_option_list): Accept as
6258 arguments a list of hash references with keys 'option' and 'where',
6259 where 'option' is an option as might occur in AUTOMAKE_OPTIONS or
6260 AM_INIT_AUTOMAKE, and 'where' is the location where it occurred.
6261 (process_option_list, process_global_option_list): Updated.
6262 * automake.in (handle_options, scan_autoconf_traces): Update.
6264 Add more tests about AUTOMAKE_OPTIONS.
6265 In view of soon-to-follow refactorings (still in the pursuit of a
6266 fix for Automake bug#7669 a.k.a. PR/547), add some more tests on
6267 AUTOMAKE_OPTIONS support, to prevent obvious regressions.
6268 * tests/amopts-variable-expansion.test: New test.
6269 * tests/amopts-location.test: Likewise.
6270 * tests/Makefile.am (TESTS): Update.
6272 For PR automake/547:
6273 Warnings win over strictness in AM_INIT_AUTOMAKE.
6274 This change ensures that, for what concerns the options specified
6275 in AM_INIT_AUTOMAKE, explicitly-defined warnings always take
6276 precedence over implicit strictness-implied warnings. Related to
6277 Automake bug#7669 a.k.a. PR/547.
6278 * lib/Automake/Options.pm (_process_option_list): Parse explicit
6279 warnings only after the strictness level has been set. Fix POD
6281 * tests/warnings-win-over-strictness.test: Extend.
6283 For PR automake/547:
6284 Warnings win over strictness on command line.
6285 Ensure that, on the command line at least, explicitly defined
6286 warnings always take precedence over implicit strictness-implied
6287 warnings. Related to Automake bug#7669 a.k.a. PR/547.
6288 * automake.in (parse_arguments): Parse warnings only after the
6289 strictness level has been processed.
6290 * tests/gnuwarn.test: Update, plus miscellaneous improvements.
6291 * tests/warnings-win-over-strictness.test: New test.
6292 * tests/Makefile.am (TESTS): Update.
6294 More tests on warnings and strictness.
6295 * tests/warnings-strictness-interactions.test: New test.
6296 * tests/warnings-unknown.test: Likewise.
6297 * tests/Makefile.am (TESTS): Update.
6299 New test on silent-rules mode and portability warnings.
6300 * tests/silent-nowarn.test: New test.
6301 * tests/Makefile.am (TESTS): Update.
6303 Add new tests on strictness and warnings precedence and overriding.
6304 * tests/strictness-override.test: New test.
6305 * tests/strictness-precedence.test: New test.
6306 * tests/warnings-override.test: New test.
6307 * tests/warnings-precedence.test: New test.
6308 * tests/Makefile.am (TESTS): Update.
6310 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6312 Fix remake rule-induced test failures with HP-UX make.
6313 * tests/remake1a.test: Require GNU make.
6315 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6317 Fix remake rule-induced test failures with HP-UX make.
6318 * tests/colon6.test: Update timestamp of subdir Makefile, so we
6319 do not spuriously invoke the nonexistent toplevel am--refresh
6322 tests: fix typos in colon6.test
6323 * tests/colon6.test: Fix typos.
6325 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6326 Stefano Lattarini <stefano.lattarini@gmail.com>
6328 tests: explain MSYS setup failure issue, improve test.
6329 * tests/defs: Add comment and failure message, improve fail
6332 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6334 Fix libobj2.test failure with non-GNU make: define $(AR).
6335 * tests/libobj2.test: Ensure $(AR) is suitably defined.
6337 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6339 tests: avoid spurious failures due to fork failure in test setup
6340 * tests/defs: Ensure $me is always nonempty, to avoid spurious
6341 failures on MinGW/MSYS in case the preceding sed command could
6344 Avoid configure warnings from wait about reused PIDs.
6345 * m4/sanity.m4 (AM_SANITY_CHECK): Hide wait stderr output.
6346 Fixes spurious failure of depcomp2.test.
6348 2011-01-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6350 Avoid testsuite failures due to Autoconf Fortran change.
6351 Autoconf v2.68-21-g727ce95 causes AC_F77_LIBRARY_LDFLAGS to
6352 require computing the canonical host name. Ensure config.guess
6353 and config.sub files are present for respective checks.
6354 * tests/compile_f_c_cxx.test: Add stub files.
6355 * tests/flibs.test: Likewise.
6356 * tests/fort4.test: Use $AUTOMAKE -a for installing files.
6358 2011-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
6360 docs: clustered '-d' not recognized in YFLAGS
6361 This change fixes automake bug#7828.
6362 * doc/automake.texi (Yacc and Lex): Document that automake
6363 recognizes '-d' in AM_YFLAGS only if it's not clustered with
6365 From a report by Юрий Пухальский.
6367 2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
6369 tests: add checks on automatically-distributed files
6370 Related to automake bug#7819.
6371 * tests/autodist.test: New test.
6372 * tests/autodist-subdir.test: Likewise.
6373 * tests/autodist-acconfig.test: Likewise.
6374 * tests/autodist-acconfig-no-subdir.test: Likewise.
6375 * tests/autodist-aclocal-m4.test: Likewise.
6376 * tests/autodist-config-headers.test: Likewise.
6377 * tests/autodist-configure-no-subdir.test: Likewise.
6378 * tests/autodist-stamp-vti.test: Likewise.
6379 * tests/Makefile.am (TESTS): Update.
6381 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
6383 tests: do not force yacc-requiring tests to use bison
6384 * tests/defs.in: New required entry 'yacc'. Remove old
6385 required entry 'bison'.
6386 * tests/cond35.test ($required): Require yacc, not bison.
6387 * tests/cond36.test: Likewise.
6388 * tests/pr204.test: Likewise.
6389 * tests/silent-many-gcc.test: Likewise.
6390 * tests/silent-many-generic.test: Likewise.
6391 * tests/silent-yacc-gcc.test: Likewise.
6392 * tests/silent-yacc-generic.test: Likewise.
6393 * tests/subpkg.test: Likewise.
6394 * tests/suffix10.test: Likewise.
6395 * tests/yacc-basic.test: Likewise.
6396 * tests/yacc-clean.test: Likewise.
6397 * tests/yacc-d-basic.test: Likewise.
6398 * tests/yacc-d-vpath.test: Likewise.
6399 * tests/yacc-dist-nobuild.test: Likewise.
6400 * tests/yacc-nodist.test: Likewise.
6401 * tests/yacc4.test: Likewise.
6402 * tests/yacc6.test: Likewise.
6403 * tests/yacc7.test: Likewise.
6404 * tests/yacc8.test: Likewise.
6405 * tests/yaccdry.test: Likewise.
6406 * tests/yaccvpath.test: Likewise.
6408 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
6410 tests: more consistent checks about invalid options
6411 * tests/aclocal.test: Grepping of automake stderr for messages
6412 reporting invalid options made stricter.
6413 * tests/no-outdir-option.test: Likewise. Also, create a dummy
6414 `Makefile.am', to ensure that the automake failures are really
6415 caused only by unrecognized options.
6416 * tests/automake.test: Added trailing `:' command. Removed
6417 redundant checks on `--help' and `--version' option (already
6418 performed in the test `help*.test').
6420 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
6422 tests: enable 'errexit' shell flag by default.
6423 * tests/defs: Enable `errexit' shell flag (near the end).
6424 Removed redundant comment about the enabling of shell traces.
6425 * tests/README (Writing test cases): Update, and use nicer
6426 formatting in a couple of places.
6427 * All tests: Adjusted by removing now-redundant calls to
6430 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
6432 tests: work around a texi+cygnus bug causing a spurious XFAIL
6433 * tests/txinfo5b.test: New test, like txinfo5.test but calling
6434 automake with the `-Wno-override' option to work around a bug
6435 in the texinfo + cygnus interaction.
6436 * tests/txinfo5.test: Update heading comments.
6437 * tests/Makefile.am (TEST): Updated.
6439 2011-01-09 Dave Hart <davehart@gmail.com> (tiny change)
6441 Fix another typo in Rule.pm comment.
6442 * lib/Automake/Rule.pm: Fix typo.
6444 2011-01-09 Peter Rosin <peda@lysator.liu.se>
6446 Fix another typo in Rule.pm comment.
6447 * lib/Automake/Rule.pm: Fix typo.
6449 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
6451 tests: texinfo unrecognized extensions
6452 * tests/txinfo-unrecognized-extension.test: New test.
6453 * tests/Makefile.am (TESTS): Update.
6455 Improve, extend and tweak tests on Texinfo support.
6456 * tests/instdir-texi.test: Add a call to `ls -l' after that to
6457 `make', for debugging. When looking for required tools, do not
6458 redirect the output of "$tool --help" to /dev/null, and do not
6459 uselessly run it in a subshell.
6460 * tests/txinfo.test: Rewritten to run autoconf, ./configure and
6461 make. All checks moved into Makefile.am.
6462 * tests/txinfo8.test: Likewise, and modernize the generated
6464 * tests/txinfo2.test: Moved checks into Makefile.am, and other
6466 * tests/txinfo5.test: Enable `errexit' shell flag, and related
6467 changes. Add trailing `:' command.
6468 * tests/txinfo6.test: Likewise, and make grepping of generated
6469 Makefile.in stricter.
6470 * tests/txinfo7.test: Enable `errexit' shell flag, and related
6471 changes. Add trailing `:' command. Do not add unnecessary stuff
6473 * tests/txinfo9.test: Verify that more targets which are expected
6474 to be generated only once really are. Make grepping less strict,
6475 to avoid exposing too much internal details. More minor changes.
6476 * tests/txinfo16.test: Add trailing `:'. Prefer cat over echo
6477 for appending to configure.in. Updated/fixed heading comments.
6478 * tests/txinfo23.test: Likewise, and extended a little by making
6479 it check that no info file is created in the $(srcdir).
6480 * tests/txinfo24.test: Likewise.
6481 * tests/txinfo25.test: Likewise.
6482 * tests/txinfo18.test: Add trailing `:'. Prefer cat over echo
6483 for appending to configure.in. Also, check that index files are
6484 cleaned also by "make clean", not only by "make distclean".
6485 * tests/txinfo22.test: Prefer `$me' over hard-coded test name,
6486 and added trailing `:' command. This testcase also used to check
6487 that automake ignores in-line comments when using variables, but
6488 preserves them in the output; these checks (added in commit
6489 "Release-1-7f-4-g9177ef8") do not really pertain to this test,
6490 so they have been moved ...
6491 * tests/comments-in-var-defn.test: ... into this new test.
6492 * tests/txinfo4.test: Escape literal dots in grep regexps. Add
6493 trailing `:' command.
6494 * tests/txinfo29.test: Likewise. Relax grepping of generated
6495 Makefile.in w.r.t. whitespaces. Prefer `cat' over `echo' to
6496 append to configure.in.
6497 * tests/txinfo3.test: Likewise.
6498 * tests/vtexi.test: Improve grepping of Makefile.in (sometimes
6499 make it stricter, sometimes laxer). Move `set -e' setting just
6500 after the inclusion of ./defs. De-uglify a sed command. Other
6501 minor cosmetic improvements.
6502 * tests/vtexi2.test: Make grepping of Makefile.in stricter. Add
6503 trailing `:' command.
6504 * tests/vtexi3.test: New test on version.texi support.
6505 * tests/vtexi4.test: Likewise.
6506 * tests/Makefile.am (TESTS): Updated.
6508 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
6510 tests: fix spurious failure in 'tests/yflags-conditional.test'
6511 * tests/yflags-conditional.test: Filter out message "warnings are
6512 treated as errors" from automake stderr, to avoid a false positive
6513 when grepping for extraneous warning messages.
6515 2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
6517 yacc: warn about conditional content in *YFLAGS variables
6518 This change fixes automake bug#7804.
6519 * automake.in (lang_yacc_target_hook): Warn if any of the relevant
6520 *YFLAGS variables has conditional contents (not only a conditional
6521 definition). Related refactoring.
6523 * tests/yflags-conditional.test: Updated and extended.
6524 * tests/yflags-conditional-force.test: New test.
6525 * tests/Makefile.am (TESTS): Updated.
6527 2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6529 yacc: support variable expansions in *YFLAGS definition.
6530 This change fixes automake bug#7800.
6531 * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
6532 instead of 'variable_value' to get the value of *YFLAGS variables.
6534 ($DASH_D_PATTERN): Removed.
6535 * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
6536 * tests/yacc-clean.test: Remove workaround for now-fixed bug.
6539 2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6541 yacc: more tests on *YFLAGS support
6542 * tests/yflags-var-expand.test: New test, still xfailing. It
6543 exposes automake bug#7800 -- "automake fails to honor `-d' in
6544 AM_YFLAGS when variable expansions are involved".
6545 * tests/yflags-d-false-positive.test: New test, checking that
6546 automake do not spuriously see `-d' in *YFLAGS when that isn't
6548 * tests/yflags-force-override.test: New test, checking that
6549 automake can cope with definition of the YFLAGS variable in
6550 Makefile.am (even if that is an extremely bad practice, as that
6551 variable is user-reserved).
6552 * tests/yflags-cmdline-override.test: New test, checking that
6553 automake can cope with user-redefinition of YFLAGS at configure
6554 time and/or at make time.
6555 * tests/yflags-conditional.test: New test, checks that automake
6556 warns on conditionally-defined *YFLAGS variables.
6557 * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
6559 2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6561 yacc: extend and improve tests
6562 * tests/yacc-basic.test: Also check that the intermediate C file
6563 is mentioned in the generated Makefile.in, and that it is created
6564 by the first make invocation.
6565 * tests/yacc3.test: Test removed, superseded by ...
6566 * tests/yacc-d-basic.test: ... this new test.
6567 * tests/yacc2.test: Add reference to that new test in the heading
6569 * tests/yacc-d-vpath.test: New test.
6570 * tests/yaccvpath.test: Updated heading comments. Do not require
6571 gcc anymore, as any working C compiler should be enough. Remove
6573 * tests/yacc-nodist.test: New test.
6574 * tests/yacc-dist-nobuild.test: New test.
6575 * tests/Makefile.am (TESTS): Update.
6577 2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
6579 Extend, fix and improve tests on Lex and Yacc support.
6580 * tests/lexcpp.test: New test script, on support for Lex + C++.
6581 * tests/lexvpath.test: New test script, test build and rebuild
6582 rules for lexers in VPATH setup.
6583 * tests/yacc-basic.test: New test script, run simple "semantic"
6584 checks on basic Yacc support (similarly to what lex3.test does
6586 * tests/lex.test: Don't create useless dummy source file joe.l.
6587 Remove extra blank lines.
6588 * tests/lex4.test: Add trailing `:' command. Do not create dummy
6589 useless lex source file.
6590 * tests/lex2.test: Likewise. Call automake with the `-a' option,
6591 so that it doesn't fail for the absence of `ylwrap' script. Make
6592 grepping of automake stderr stricter.
6593 * tests/yacc7.test: Add trailing `:' command. Enable `errexit'
6594 shell flag earlier (just after having sourced ./defs).
6595 * tests/yacc4.test: Likewise. Also ...
6596 (configure.in): Use pre-populated skeleton set up by ./defs,
6597 instead of writing one from scratch.
6598 Other minor cosmetic changes.
6599 * tests/yacc5.test: Likewise.
6600 * tests/yaccvpath.test: Likewise. Also ...
6601 ($distdir): New variable.
6603 * tests/lex5.test: Likewise.
6604 * tests/lex3.test: Likewise. Check the distdir, rather than
6605 grepping the distribution tarball. Extend the test on the
6606 created binary, and be sure to avoid hangs. Add some comments.
6607 * tests/yacc.test: Use stricter grepping. Add trailing `:'.
6608 * tests/yacc6.test: Likewise.
6609 * tests/yacc3.test: Likewise. Do not create the unused file
6610 `Makefile.sed'. Remove useless rules from Makefile.am. Other
6611 minor cosmetic changes.
6612 * tests/yacc2.test: Make grepping of generated `Makefile.in' and
6613 of automake error messages stricter. Do not redirect output of
6614 grep to /dev/null. Move call to aclocal earlier. Reduce the
6615 number of empty blank lines. Fix a typo in comments.
6616 * tests/yacc8.test: Fixed bugs that reduced the completeness of
6617 the tests. Added trailing `:' command.
6618 (configure.in): Use pre-populated skeleton set up by ./defs,
6619 instead of writing one from scratch.
6620 * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
6621 `.yxx', rather than only `.yy'.
6622 * tests/Makefile.am (TESTS): Update.
6624 2011-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
6626 cosmetics: remove trailing whitespaces
6627 * doc/automake.texi: Remove trailing whitespaces.
6628 * tests/cond13.test: Likewise.
6629 * tests/cond14.test: Likewise.
6630 * tests/fort4.test: Likewise.
6631 * tests/fort5.test: Likewise.
6632 * tests/libobj17.test: Likewise.
6633 * tests/suffix7.test: Likewise.
6634 * tests/vtexi2.test: Likewise.
6636 automake: minor fixes in comments
6637 * automake.in: Some minor fixes and enhancements in comments.
6639 2011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6641 Add test coverage for deleted header files.
6642 * tests/depcomp6.test, tests/depcomp7.test: Update tests to
6643 also check for the deleted header bug. If no dependency
6644 tracking mechanism could be found, SKIP rather than exit
6645 successfully. Use GNU style spacing and ANSI C prototypes.
6647 Fix typos in Rule.pm comments.
6648 * lib/Automake/Rule.pm: Fix typos in comments.
6650 docs: split 'amhello Explained' node.
6651 * doc/automake.texi (amhello Explained): Split node ...
6652 (amhello's configure.ac Setup Explained)
6653 (amhello's Makefile.am Setup Explained) : ... into these two.
6654 (Top, Hello World): Adjust, and add @anchor for stable URL links.
6655 Suggestion by Karl Berry in automake bug#7766.
6657 2011-01-08 Karl Berry <karl@freefriends.org>
6658 Eric Blake <eblake@redhat.com>
6660 docs: reference defining directories in amhello node.
6661 * doc/automake.texi (amhello Explained): Point to Autoconf
6662 manual for how to convert directory values into macros.
6663 (Optional): Fix grammar nit.
6665 2011-01-07 Stefano Lattarini <stefano.lattarini@gmail.com>
6667 yacc: "make clean" removes .c and .h files from non-distributed .y
6668 Previously, while automake did *not* distribute C source and header
6669 files derived from non-distributed Yacc sources, it still caused
6670 them to be removed only by "make maintainer-clean" only, and not by
6671 simply "make clean" or "make distclean".
6672 This caused "make distcheck" to fail, unless the developer put
6673 those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
6675 This change fixes this issue, by making non-distributed `.c' and
6676 `.h' files generated by non-distributed Yacc sources cleaned by
6678 * tests/automake.in (lang_yacc_target_hook): Make C source and
6679 header files derived from non-distributed Yacc files cleaned by
6680 "make clean", not only by "make maintainer-clean".
6681 * tests/yacc-clean.test: New test.
6682 * tests/Makefile.am (TESTS): Update.
6685 2011-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
6687 * NEWS: Fix typo (forgotten word).
6689 2011-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
6690 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6692 docs: how to work around checks on invalid primary/directory couples
6693 * doc/automake.texi (Uniform): Document the blessed idiom which can
6694 be used to work around automake checks on invalid primary/directory
6695 couples (such as `lib_PROGRAMS' or `doc_LIBRARIES').
6697 2010-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
6699 Tests: normalize use of the 'errexit' shell flag.
6700 * tests/maken3.test (check_targets): Remove redundant call to
6702 * tests/maken4.test: Likewise.
6703 * tests/ansi5.test: Call 'set -e' just after './defs' has been
6705 * tests/ansi6.test: Likewise.
6706 * tests/ansi7.test: Likewise.
6707 * tests/cond16.test: Likewise.
6708 * tests/cond17.test: Likewise.
6709 * tests/cond18.test: Likewise.
6710 * tests/cond19.test: Likewise.
6711 * tests/cond20.test: Likewise.
6712 * tests/cond21.test: Likewise.
6713 * tests/instdat2.test: Likewise.
6714 * tests/instdir-texi.test: Likewise.
6715 * tests/parallel-tests3.test: Likewise.
6716 * tests/remake1a.test: Likewise.
6717 * tests/ccnoco.test: Likewise, and add trailing `:' command.
6718 * tests/comment4.test: Likewise.
6719 * tests/gcj4.test: Likewise.
6720 * tests/nodist2.test: Likewise.
6721 * tests/nodist3.test: Enable 'errexit' shell flag (this should
6722 have been done in commit v1.11-248-g317e17b, but the relevant
6723 hunk has been forgotten somehow).
6724 * tests/output.test: Likewise.
6725 * tests/gnits2.test: Likewise, and display captured stderr to
6726 script's stderr, not to script's stdout.
6727 * tests/gnits3.test: Likewise. Also, prefer 'cat' over 'echo'
6728 to append to Makefile.am, and really check that the exit status
6729 of "make installcheck" indicates failure.
6731 2011-01-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6733 Sync auxiliary files from upstream.
6734 * lib/config.guess, lib/config.sub, lib/texinfo.tex:
6737 Avoid caching bug in cygnus mode test.
6738 * tests/cygnus-requires-maintainer-mode.test: Remove
6739 autom4te.cache directory before rerunning aclocal, to
6740 remove trace caches.
6742 Fix maintainer-check regression.
6743 * tests/subobj11a.test: Pass DISTCHECK_CONFIGURE_FLAGS in the
6746 Bump copyright years.
6747 * aclocal.in (write_aclocal, version): Bump copyright years.
6748 * automake.in (gen_copyright, version): Likewise.
6749 * doc/automake.texi: Likewise.
6751 2010-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
6753 * NEWS: Add missing blank line between two entries.
6755 2010-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
6757 Improve and extend tests `suffix*.test'.
6758 * tests/suffix.test: Check that suffix rules for C compilation are
6759 only included once. Try also with a static library.
6760 * tests/suffix2.test: Add a new grep to help potential debugging.
6761 Do not run automake with the `--add-missing' options, since we
6762 already create all the needed auxiliary files. Try also *without*
6763 the `no-dependencies' automake option.
6764 * tests/suffix4.test: Make grepping of Makefile.in stricter.
6765 * tests/suffix3.test: Rewritten to run also autoconf, ./configure
6767 * tests/suffix5.test: Likewise.
6768 * tests/suffix6.test: Fix botched recipe indentation (eight spaces
6769 were used instead of a tabulation character). Extend to check
6770 that `.obj' is handled like `.$(OBJEXT)' (as is done for `.o').
6771 Improved parsing & grepping of generated Makefile.in. Other minor
6772 fixes and improvements.
6773 * tests/suffix10.test: Move some checks in Makefile.am. Also run
6775 * tests/suffix12.test: Likewise, and account for VPATH issues in
6776 weaker make implementations.
6777 * tests/suffix11.test: Likewise. Also, run "make distcheck", for
6778 completeness, and related changes.
6779 * tests/suffix8.test: Likewise. Also, do not put `gcc' anymore
6781 * tests/suffix13.test: Do not use the `--force-missing' automake
6782 option unnecessarily.
6783 * tests/suffix6b.test: New test, semantic sister of `suffix6.test'.
6784 * tests/suffix6c.test: Likewise.
6785 * tests/Makefile.am (TESTS): Updated.
6787 2010-12-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6788 Stefano Lattarini <stefano.lattarini@gmail.com>
6790 Work around a bug in file-inclusion mechanism of Solaris make.
6791 * automake.in (handle_single_transform): In the name of the
6792 dependency file: collapse multiple slash characters into a single
6794 * tests/subobj11a.test: New test.
6795 * tests/subobj11b.test: Likewise.
6796 * tests/subobj11c.test: Likewise.
6797 * tests/depcomp8a.test: Likewise.
6798 * tests/depcomp8b.test: Likewise.
6799 * tests/Makefile.am (TESTS): Updated.
6801 Report by Stefano Lattarini, quick fix by Ralf Wildenhues, final
6802 patch and tests by Stefano Lattarini.
6804 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
6806 Fix two spurious testsuite failures on IRIX 6.5.
6807 * tests/suffix13.test (Makefile.am): Account for VPATH issues on
6808 weaker make implementations (e.g. IRIX 6.5).
6809 * tests/parallel-tests8.test: Likewise, plus a required related
6811 Reported by Ralf Wildenhues. The bugs have been there from the
6812 first versions of the affected test scripts.
6814 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
6816 docs: cygnus mode doesn't require AM_CYGWIN32 macro.
6817 * doc/automake.texi (Cygnus): Mode 'cygnus' does not require
6818 the AM_CYGWIN32 macro (and indeed hasn't required it since at
6819 least commit Release-1-2-31-g3038064 "merged changes from
6820 Cygnus" of 1997-08-25).
6822 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
6824 Add some tests on 'cygnus' mode.
6825 * tests/clean2.test: Extend.
6826 * tests/cygnus-check-without-all.test: New test.
6827 * tests/cygnus-dependency-tracking.test: Likewise.
6828 * tests/cygnus-distclean.test: Likewise.
6829 * tests/cygnus-imply-foreign.test: Likewise.
6830 * tests/cygnus-no-dist.test: Likewise.
6831 * tests/cygnus-no-installinfo.test: Likewise.
6832 * tests/cygnus-requires-maintainer-mode.test: Likewise.
6833 * tests/Makefile.am (TESTS): Update.
6835 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
6837 Fix parallel testsuite run with Zsh.
6838 This change deals with a Zsh incompatibility in the handling
6839 of the special shell variable `$0' in sourced files; this
6840 incompatibility used to cause utter breakage when the
6841 Automake testsuite was run in parallel mode with Zsh as
6842 the $(TEST_LOG_COMPILER).
6843 For more information, please refer to the thread "Fix parallel
6844 testsuite run with zsh" on automake-patches, dated 2010-12-22:
6845 <http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00135.html>
6846 This change works around the problems described above for Zsh 4.3
6847 or later, and offers better error messages (instead of random
6848 failures) for earlier Zsh version.
6849 * tests/README (Supported shells): When describing the manual
6850 workaround about the Zsh incompatibility in the handling of `$0',
6851 tell that it is now needed only with Zsh versions preceding 4.3.
6852 Done also some minor rewordings.
6853 * tests/defs-static.in ($argv0): New variable, offers a workaround
6854 for the Zsh incompatibility in the handling of `$0'.
6855 Abort if that variable cannot be correctly set (can happen only
6856 in older Zsh version).
6857 * tests/defs ($me): Define using `$argv0', not `$0'.
6859 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
6861 Tests defs: keep track of original $AUTOMAKE and $ACLOCAL values.
6862 This is especially useful for tests which might want to run
6863 automake and aclocal without additional flags and warnings.
6864 * tests/defs-static.in ($original_ACLOCAL): New variable.
6865 ($original_AUTOMAKE): Likewise.
6866 * tests/help.test: Use them.
6867 * tests/help2.test: Likewise.
6868 * tests/help3.test: Likewise.
6869 * tests/help4.test: Likewise.
6870 From a suggestion by Ralf Wildenhues.
6872 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
6874 distlinksbrk.test: Work around botched "make -k".
6875 * tests/distlinksbrk.test: Run "make" multiple times and grep
6876 its output each time for a single error message, rather than
6877 running "make -k" one single time and grepping its output for
6878 all the expected error messages. This should work around make
6879 implementations with limited (broken?) `-k' support; for more
6880 information, see these subthreads on the automake-patches list:
6881 - 2010-11-15, "Testsuite failures on HP-UX 11.23",
6882 <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00162.html>
6883 - 2010-11-15, "Testsuite failures on IRIX 6.5",
6884 <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00166.html>
6886 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
6888 Minor improvements to test 'amopts.test'.
6889 * tests/amopts.test: Remove botched comment. Make grepping of
6890 automake stderr slighty stricter. Add trailing `:' command.
6892 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
6894 backcompat6.test: avoid comments inside recipe commands.
6895 * tests/backcompat6.test: Remove shell comments from makefile rule
6896 commands, as they are not portable to (at least) Tru64 make.
6898 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
6900 man8.test: avoid comments inside recipe commands.
6901 * tests/man8.test: Remove shell comments from makefile rule
6902 commands, as they are not portable to (at least) Tru64 make.
6904 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
6906 Fix sed-related buglet in test "subdir5.test"
6907 * tests/subdir5.test: Always terminate text passed to the
6908 `i' sed command with a newline, to work around limitations
6909 in e.g. older OpenBSD sed.
6911 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
6913 Fix spurious failures in tests on AC_CONFIG_AUX_DIR.
6914 * tests/auxdir7.test: Do not try to needlessly overwrite the files
6915 `install-sh' and `missing'. This avoid spurious failures in "make
6916 distcheck", when those files might be copied as read-only from the
6918 * tests/auxdir8.test: Likewise.
6920 2010-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
6922 Make test 'posixsubst-script' portable to MinGW/MSYS.
6923 * tests/posixsubst-script.test: Ensure that the generated dummy
6924 scripts really start with a shebang line, to work around a
6925 limitation of 'test -x' on MinGW/MSYS.
6926 Reported by Ralf Wildenhues.
6928 Improve comments in tests `posixsubst*.test'.
6929 * tests/posixsubst-data.test: Improve comment explaining why we
6930 try also empty match suffix.
6931 * tests/posixsubst-extradist.test: Likewise.
6932 * tests/posixsubst-ldadd.test: Likewise.
6933 * tests/posixsubst-libraries.test: Likewise.
6934 * tests/posixsubst-ltlibraries.test: Likewise.
6935 * tests/posixsubst-programs.test: Likewise.
6936 * tests/posixsubst-scripts.test: Likewise.
6937 * tests/posixsubst-sources.test: Likewise.
6938 * tests/posixsubst-tests.test: Likewise.
6939 Suggested by Ralf Wildenhues.
6941 2010-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
6943 docs: fix blunder in example about python extension modules
6944 * doc/automake.texi (Python): Use `quaternion_la_SOURCES',
6945 not `quaternion_SOURCES', to declare the sources of python
6946 extension module `quaternion.la'.
6948 2010-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
6950 docs: list LTLIBRARIES among Automake primaries
6951 * doc/automake.texi (Uniform): List `LTLIBRARIES' among
6952 the Automake primaries.
6954 2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
6955 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6957 Tests defs: requirement 'xsi-shell' must be synced with libtool.
6958 * tests/defs (xsi-shell): Add comment telling to keep the
6959 XSI-conformance checks in sync with libtool.
6961 2010-12-17 Stefano Lattarini <stefano.lattarini@gmail.com>
6963 Minor cleanups in canon7.test.
6964 * tests/canon7.test (_foo_bar_SOURCES): Remove libs.c.
6965 (configure.in): Remove AC_PROG_CXX.
6967 2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6969 Avoid false positive in sc_tests_plain_make maintainer-check.
6970 * Makefile.am (sc_tests_plain_make): Ensure to only match full
6971 `make' words. Avoid false positive with remake11.test.
6973 2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6975 Fix canon7.test failure.
6976 * tests/canon7.test (_foo_bar_SOURCES): Add foobar.c.
6977 (lib.h, libd.c, libs.c): Use const for constant strings.
6979 2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6981 Fix typos in test comments.
6982 * tests/posixsubst-data.test, tests/posixsubst-extradist.test,
6983 tests/posixsubst-ldadd.test, tests/posixsubst-libraries.test,
6984 tests/posixsubst-ltlibraries.test, tests/posixsubst-programs.test,
6985 tests/posixsubst-scripts.test, tests/posixsubst-sources.test,
6986 tests/posixsubst-tests.test: Fix typos.
6988 2010-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
6990 More uses of AS_HELP_STRING in automake macros.
6991 * m4/depend.m4 (AM_DEP_TRACK): Use `AS_HELP_STRING' to format
6992 the help message added to the generated configure.
6993 * m4/dmalloc.m4 (AM_WITH_DMALLOC): Likewise.
6994 * m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
6995 * m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
6996 * m4/multi.m4 (AM_ENABLE_MULTILIB): Likewise.
6997 Also, bumped all serial numbers of the modified m4 files.
6999 2010-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
7001 Improve tests on generated portions of configure help screen.
7002 * tests/help-depend.test: Grepping of configure help screen
7003 relaxed to cater for possible line wrapping, and tightened in
7005 * tests/help-depend2.test: Likewise.
7006 * tests/help-dmalloc.test: Likewise.
7007 * tests/help-lispdir.test: Likewise.
7008 * tests/help-maintainer.test: Likewise.
7009 * tests/help-multilib.test: Likewise.
7010 * tests/help-silent.test: Likewise.
7011 * tests/help-upc.test: Likewise.
7012 * tests/help-init.test: Grepping of configure help screen
7015 2010-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
7017 Extended tests on AC_CONFIG_AUX_DIR.
7018 * tests/auxdir.test: Enable `errexit' shell flag. Prefer `$me'
7019 over hard-coded test name. Use proper m4 quoting. Add trailing
7021 * tests/auxdir2.test: Likewise. Try to call automake also with
7022 the `-a' option, so that it will not fail for spurious reasons.
7023 * tests/auxdir3.test: Add an explanatory comment and a trailing
7025 * tests/auxdir4.test: Prefer `$me' over hard-coded test name.
7026 Make grepping of automake stderr slightly stricter. Also, now
7027 this test just checks about Automake's reaction to unportable
7028 auxiliary directory names (and it has been extended in this
7029 respect). Moved the checks about non-existent auxiliary
7031 * tests/auxdir5.test: ... this new test.
7032 * tests/auxdir6.test: New test.
7033 * tests/auxdir7.test: Likewise.
7034 * tests/auxdir8.test: Likewise.
7035 * tests/auxdir9.test: Likewise.
7036 * tests/Makefile.am (TESTS): Updated.
7038 2010-12-06 Stefano Lattarini <stefano.lattarini@gmail.com>
7040 Tests: extend checks on remake rules.
7041 This adds proper semantical tests (i.e. run make to check the
7042 rebuild rules are correctly triggered) in addition to tentative
7043 grepping of the generated Makefile.in(s).
7044 * tests/remake.test: Enable `errexit' shell flag, and related
7045 changes. Modernize `configure.in'. Add trailing `:' command.
7046 Improve heading comments, and add a reference to new sister test
7048 * tests/remake3.test: Likewise (but with sister test being
7050 * tests/remake2.test: Improve heading comments. Enable `errexit'
7051 shell flag, and related changes. Modernize `configure.in'. Make
7052 grepping of `Makefile.in' slightly stricter. Add trailing `:'
7054 * tests/remake5.test: Also run the `distcheck' target. Add
7055 trailing `:' command. Use proper m4 quoting in configure.in.
7056 * tests/remake4.test: Prefer `$me' over hard-coded test name.
7057 * tests/remake7.test: Use the `configure.in' stub created by
7058 ./defs, rather than writing it from scratch.
7059 * tests/remake6.test: Likewise. Also, add trailing `:' command,
7060 and ensure verbose printing of captured make output.
7061 * tests/remake1a.test: New test, sister of remake.test.
7062 * tests/remake3a.test: New test, sister of remake3.test.
7063 * tests/remake8a.test: New test.
7064 * tests/remake8b.test: Likewise.
7065 * tests/remake9a.test: Likewise.
7066 * tests/remake9b.test: Likewise.
7067 * tests/remake9c.test: Likewise.
7068 * tests/remake9d.test: Likewise.
7069 * tests/remake10a.test: Likewise.
7070 * tests/remake10b.test: Likewise.
7071 * tests/remake10c.test: Likewise.
7072 * tests/remake11.test: Likewise.
7073 * tests/remake12.test: Likewise.
7074 * tests/Makefile.am (TESTS): Updated.
7076 2010-12-11 Stefano Lattarini <stefano.lattarini@gmail.com>
7078 Improve and extend tests on canonicalization.
7079 * tests/canon-name.test: Add trailing `:' command. When writing
7080 configure.in, prefer to use $me instead of hard-coding the test
7082 * tests/canon3.test: Prefer trailing `:' over trailing `Exit 0'.
7083 * tests/canon4.test: Likewise. Make grepping of Makefile.in
7084 stricter. Improve heading comment, and add reference to ...
7085 * tests/canon6.test: ... this new test (sister test of the
7087 * tests/canon.test: Prefer cat + here-doc over echo to append
7088 text to configure.in. Extend grepping of Automake stderr. Add
7089 trailing `:' command.
7090 * tests/canon5.test: Likewise.
7091 * tests/canon7.test: New file, stress test on canonicalization.
7092 * tests/canon8.test: New test, for better coverage (check that
7093 the `@' character is not transliterated in canonicalizations).
7094 * tests/Makefile.am: Updated.
7096 2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
7098 Libobj tests: refer to automake bug tracker for limitations.
7099 * tests/libobj15b.test (configure.in): In the comment explaining
7100 why an apparently redundant AC_OUTPUT is indeed needed, refer
7101 to the relevant entry in the Automake bug tracker rather than
7102 describing the bug in detail with a FIXME-style comment.
7103 * tests/libobj15c.test: Likewise.
7104 * tests/libobj20b.test: Likewise.
7106 Libobj tests: do not use `##' automake comments in-line.
7107 * tests/libobj19.test (Makefile.am): Do not use inline `##'
7108 comments in the definition of AUTOMAKE_OPTIONS.
7109 * tests/libobj20c.test: Likewise.
7110 Report by Ralf Wildenhues.
7112 2010-12-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7114 Fix testsuite failure of check12.test without DejaGNU.
7115 * tests/check12.test: Require runtest.
7117 2010-12-12 Stefano Lattarini <stefano.lattarini@gmail.com>
7119 Tests defs: more uses of $top_testsrcdir.
7120 * tests/compile6.test: Use `$top_testsrcdir' instead of
7123 2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
7125 Tests required tools: also try `-v' option for GNU compilers.
7126 * tests/defs.in: In the loop on "$required" tools, for gcc
7127 and g++, also run "gcc -v" (resp. "g++ -v"), to get more
7128 information, and for consistency with gcj.
7130 2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
7131 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7133 Tests defs: avoid some useless subshells.
7134 * tests/defs: In the loop on "$required" tools: avoid subshells
7137 2010-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
7139 Extend tests on AC_LIBOBJ and friends.
7140 * tests/aclibobj.test: Removed, superseded by ...
7141 * tests/libobj-basic.test: ... this new test, which runs autoconf,
7142 ./configure and make, to ensure everything really works.
7143 * tests/libobj3.test: Add trailing `:' command. Escape literal
7145 * tests/libobj4.test: Enable `errexit' shell flag, and related
7146 changes. Add trailing `:' command. Use proper m4 quoting.
7147 * tests/ltlibobjs.test: Likewise.
7148 * tests/libobj5.test: Enable `errexit' shell flag, and related
7149 changes. Add trailing `:' command. Make more robust by using
7150 longer filenames to be grepped.
7151 * tests/libobj8.test: Enable `errexit' shell flag, and related
7152 changes. Add trailing `:' command. Use the configure.in
7153 stub provided by ./defs, rather than writing it from scratch.
7154 * tests/libobj2.test: Likewise. Also, add calls to autoconf,
7155 ./configure and make, to ensure everything really works.
7156 * tests/libobj7.test: Likewise, and ensure that at least one
7157 function listed in AC_REPLACE_FUNCTIONS is truly replaced.
7158 * tests/libobj13.test: Make grepping of Automake stderr slightly
7159 stricter. Add trailing `:' command.
7160 * tests/libobj12.test: Likewise. Also, prefer "cat + here-doc"
7161 over "echo" to append to Makefile.am, and some cosmetic changes
7163 * tests/libobj14.test: Call `Exit 1' if sourcing of ./defs fails.
7164 Slighty improve m4 quoting. Add trailing `:' command.
7165 * tests/libobj10.test: Add calls to autoconf, ./configure and
7166 make, to ensure everything really works. Also, remove tests that
7167 nonexistent source for AC_LIBOBJ cause an Automake failure: this
7168 is already checked by ...
7169 * tests/libobj15a.test: ... this new test.
7170 * tests/libobj15b.test: New test, sister test of libobj15a.test,
7171 checks AC_LIBSOURCE instead of AC_LIBOBJ.
7172 * tests/libobj15c.test: New test, sister test of libobj15a.test,
7173 checks AC_LIBSOURCES instead of AC_LIBOBJ.
7174 * tests/libobj11.test: Removed, superseded by ...
7175 * tests/libobj16a.test: ... this new test.
7176 * tests/libobj16b.test: New test, sister test of libobj16a.test,
7177 but using oldish/deprecated idioms.
7178 * tests/libobj17.test: New test.
7179 * tests/libobj18.test: Likewise.
7180 * tests/libobj19.test: Likewise.
7181 * tests/libobj20a.test: Likewise.
7182 * tests/libobj20b.test: Likewise.
7183 * tests/libobj20c.test: Likewise.
7184 * tests/Makefile.am (TESTS): Updated.
7186 2010-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
7188 Test `$(var:suf=rpl)' expansion in special automake variables.
7189 * tests/posixsubst-data.test: New test.
7190 * tests/posixsubst-extradist.test: Likewise.
7191 * tests/posixsubst-ldadd.test: Likewise.
7192 * tests/posixsubst-libraries.test: Likewise.
7193 * tests/posixsubst-ltlibraries.test: Likewise.
7194 * tests/posixsubst-programs.test: Likewise.
7195 * tests/posixsubst-scripts.test: Likewise.
7196 * tests/posixsubst-sources.test: Likewise.
7197 * tests/posixsubst-tests.test: Likewise.
7198 * tests/Makefile.am (TESTS): Update.
7200 2010-12-07 Stefano Lattarini <stefano.lattarini@gmail.com>
7202 Make tests `colon*.test' more "semantic".
7203 Prefer running configure and make over grepping the generated
7204 files; this is both more correct and less fragile.
7205 * tests/colon.test: Made more "semantic", as described above.
7206 * tests/colon5.test: Likewise.
7207 * tests/colon6.test: Likewise.
7208 * tests/colon7.test: Likewise.
7209 * tests/colon2.test: Likewise, and improve syncing with sister
7211 * tests/colon3.test: Likewise (but with the sister test being
7212 `colon2.test' here).
7214 2010-12-10 Stefano Lattarini <stefano.lattarini@gmail.com>
7216 Extend and improve tests on DejaGnu support.
7217 * tests/dejagnu.test: Do not create useless dummy test script.
7218 Add trailing `:' command. In heading comments, add reference
7220 * tests/check12.test: ... this new "semantic" test, covering
7221 concurrent use of dejagnu tests, simple tests and `check-local'
7223 * tests/dejagnu2.test: Make test more reliable, by avoid weak
7224 grepping of make output. Prefer `cat' over `echo' to append
7225 to configure.in. Quote literal dots in grep regexps. Prefer
7226 `grep -c ...' over `grep ... | wc -l'. Make grepping of
7227 automake stderr slightly stricter. Add trailing `:' command.
7228 * tests/dejagnu3.test: Prefer `cat' over `echo' to append to
7229 configure.in. Check stderr of expected-to-fail "make" call.
7230 Remove extra blank lines from Makefile.am.
7231 * tests/dejagnu4.test: Prefer `cat' over `echo' to append to
7232 configure.in. Prefer `mv -f' over plain `mv' when the target
7233 file already exists. Avoid extra mkdir calls by creating more
7234 directories at once. Better use of blank lines. Check that
7235 the `*.log' and `*.sum' files are created by runtest also when
7237 * tests/dejagnu7.test: Prefer `cat' over `echo' to append to
7238 configure.in. Better use of blank lines. Add a trailing `:'
7240 * tests/dejagnu6.test: Likewise, and give the dejagnu test a
7241 more descriptive name.
7242 * tests/dejagnu5.test: Likewise. Also, simply define package
7243 name to `$me' rather than using a non-obvious sed script to
7244 extract it from `AC_INIT', and write the Makefile.am with only
7246 * tests/Makefile.am (TESTS): Updated.
7248 2010-12-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7250 Avoid running installed automake from 'libtool --help'.
7251 * tests/subobj9.test: Export AUTOCONF and AUTOMAKE.
7252 Together with fixed Libtool, this fixes check-coverage to not
7253 invoke installed automake.
7255 2010-12-06 Stefano Lattarini <stefano.lattarini@gmail.com>
7257 Separate checks on target overriding into multiple test scripts.
7258 * tests/overrid.test: Deleted, its contents separated into ...
7259 * tests/override-suggest-local.test: ... this new test ...
7260 * tests/override-html.test: ... and this new test ...
7261 * tests/override-conditional-1.test: ... and this new test ...
7262 * tests/override-conditional-2.test: ... and this new test (still
7264 * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
7266 Enable `set -e' in more tests (plus some tweakings).
7267 * tests/implicit.test: Enable `errexit' shell flag, and related
7268 changes. Add trailing `:' command.
7269 * tests/insh2.test: Likewise.
7270 * tests/instman2.test: Likewise.
7271 * tests/interp.test: Likewise.
7272 * tests/interp2.test: Likewise.
7273 * tests/library.test: Likewise.
7274 * tests/mclean.test: Likewise.
7275 * tests/info.test: Enable `errexit' shell flag, and related
7276 changes. Add trailing `:' command. Remove useless chaff from
7277 generated Makefile.am. Add a "FIXME" comment.
7278 * tests/include.test: Enable `errexit' shell flag, and related
7279 changes. Add trailing `:' command. Prefer cat + here-doc over
7280 echo to append to configure.in. Make tests more robust by using
7281 longer and less common names to grep. Remove an useless call to
7282 echo. Remove an useless subshell.
7283 * tests/header.test: Enable `errexit' shell flag, and related
7284 changes. Use proper m4 quoting. Add excerpts from the original
7285 report of the bug tested for by this script.
7286 * tests/gcj.test: Enable `errexit' shell flag, and related
7287 changes. Use proper m4 quoting. Add trailing `:' command.
7288 * tests/gcj3.test: Likewise.
7289 * tests/ldflags.test: Likewise.
7290 * tests/libtool.test: Likewise.
7291 * tests/listval.test: Likewise.
7292 * tests/javaprim.test: Likewise, and prefer cat + here-doc over
7293 echo to append to configure.in.
7294 * tests/javasubst.test: Likewise.
7295 * tests/discorver.test: Enable `errexit' shell flag. Prefer
7296 trailing `:' over trailing `Exit 0'.
7297 * tests/instdat.test: Enable `errexit' shell flag, and related
7298 changes. Use proper m4 quoting. Avoid useless subshell. Prefer
7299 cat + here-doc over echo to append to configure.in.
7300 * tests/libtool2.test: Enable `errexit' shell flag, and related
7301 changes. Add trailing `:' command. Use the configure.in
7302 stub provided by ./defs, rather than writing it from scratch.
7304 Modernize, improve and/or tweak some test scripts.
7305 * tests/maintclean.test: Use proper m4 quoting. Add trailing `:'
7307 * tests/sinclude.test: Likewise, and add a couple of blank lines,
7309 * tests/make.test: Move setting of `errexit' shell flag earlier in
7310 the script (just after inclusion of ./defs). Use the configure.in
7311 stub created by ./defs, rather than writing it from scratch. Some
7312 cosmetic changes in spacing. Ensure we wait enough time before
7313 touching configure.in to trigger the rebuild rules.
7314 * tests/makej.test: Use `$me' instead of hard-coding the test
7315 name. Add trailing `:' command.
7316 * tests/version7.test: Likewise.
7317 * tests/space.test: Enable `errexit' shell flag, and related
7319 * tests/makevars.test: Likewise. Also, prefer trailing `:' over
7320 trailing `Exit 0', and be more tolerant of white spaces when
7321 grepping Makefile.in.
7323 2010-12-02 Stefano Lattarini <stefano.lattarini@gmail.com>
7325 * tests/silent8.test: Use "|| Exit 1" after ". ./defs".
7327 Enable `set -e' in more tests (plus some tweakings).
7328 * tests/mkinstall.test: Enable `errexit' shell flag, and related
7329 changes. Add a trailing `:' command, if needed.
7330 * tests/mdate2.test: Likewise.
7331 * tests/objc.test: Likewise.
7332 * tests/noinst.test: Likewise.
7333 * tests/outdir.test: Likewise.
7334 * tests/number.test: Likewise.
7335 * tests/pluseq.test: Likewise.
7336 * tests/req.test: Likewise.
7337 * tests/rulepat.test: Likewise.
7338 * tests/specflg6.test: Likewise.
7339 * tests/spell3.test: Likewise.
7340 * tests/parse.test: Likewise, and ...
7341 (configure.in): Use the stub created by ./defs, rather than
7342 writing it from scratch. Remove useless calls to AC_PROG_RANLIB
7344 * tests/mdate4.test: Likewise.
7345 * tests/mkinstall.test: Likewise, and ...
7346 (configure.in): ... drop useless call to `AC_OUTPUT'.
7347 * tests/output.test: Enable `errexit' shell flag, and related
7348 changes. Add a trailing `:' command.
7349 (configure.in): Modernize.
7350 * tests/output2.test: Likewise.
7351 * tests/output3.test: Likewise.
7352 * tests/output4.test: Likewise.
7353 * tests/mdate3.test: Enable `errexit' shell flag, and related
7354 changes. Prefer `$me' over hard-coded test name. Do not move
7355 non-existent or useless files in the build auxiliary directory.
7356 * tests/nodistdir.test: Enable `errexit' shell flag, and related
7357 changes. Prefer trailing `:' over trailing `Exit 0'.
7358 * tests/nodist.test: Likewise. Also, prefer cat + here-doc over
7359 echo to create input test files, and do not create useless dummy
7361 * tests/nodist2.test: Likewise.
7362 * tests/ppf77.test: Enable `errexit' shell flag, with related
7363 changes. Add a trailing `:' command. Do not create useless
7365 * tests/spelling.test: Enable `errexit' shell flag, with related
7366 changes. Add a trailing `:' command. Also, grep Automake error
7368 * tests/specflg3.test: Enable `errexit' shell flag, with related
7369 changes. Avoid unportable use of `-e' option of fgrep. Prefer
7370 trailing `:' over trailing `Exit 0'. Remove extra empty lines,
7371 and cosmetic changes to whitespaces.
7372 * tests/obsolete.test: Enable `errexit' shell flag, with related
7373 changes. Improve verbosity. Other miscellaneous changes.
7375 2010-11-30 Stefano Lattarini <stefano.lattarini@gmail.com>
7377 Improve and extend tests on `:=' variable assignments.
7378 * tests/colneq.test: Avoid redundant use of variable assignments
7379 in Makefile.am. Use command-line automake options instead of
7380 editing AUTOMAKE_OPTIONS in Makefile.am. Make grepping of the
7381 generated Makefile.in slightly stricter. Add a trailing `:'
7383 * tests/colneq2.test: Do not create unneeded dummy files. Run
7384 also autoconf, ./configure and make. Add trailing `:' command.
7385 * tests/colneq3.test: New test, similar to colneq.test, but
7386 running also autoconf, ./configure and make.
7387 * tests/Makefile.am (TESTS): Update.
7389 2010-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
7391 Remove long-deprecated options --Werror and --Wno-error.
7392 These options has been deprecated at least since commit
7393 "Release-1-6-1b-35-gc037f20", dated 2002-07-06.
7394 * automake.in (parse_arguments): Do not recognize anymore options
7395 `--Werror' and `--Wno-error' as synonyms of respectively `-Werror'
7397 * tests/werror.test: Update: use `-Werror' instead of `--Werror'.
7400 2010-11-25 Stefano Lattarini <stefano.lattarini@gmail.com>
7402 Fix spurious failures in `silent*.test' for $CC != gcc
7403 In some tests on automake-produced silent rules, we forced the
7404 use of gcc depmode to improve testsuite coverage; but this has
7405 unsurprisingly led to spurious failures when some non-GNU C
7406 compilers were used. So we are now careful to require GCC in
7407 tests that force gcc depmode.
7408 From reports by Ralf Wildenhues.
7409 * tests/silent5.test: Test removed, its content split into ...
7410 * tests/silent-many-generic.test, tests/silent-many-gcc.test: ...
7411 these new sister tests, the latter of which forces gcc depmode
7412 and lists "gcc" in $required.
7413 * tests/silentlex.test: Test removed, its content split into ...
7414 * tests/silent-lex-generic.test, tests/silent-lex-gcc.test: ...
7415 these new sister tests, the latter of which forces gcc depmode
7416 and lists "gcc" in $required.
7417 * tests/silentyacc.test: Test removed, its content split into ...
7418 * tests/silent-yacc-generic.test, tests/silent-yacc-gcc.test: ...
7419 these new sister tests, the latter of which forces gcc depmode and
7420 lists "gcc" in $required.
7421 * tests/Makefile.am (TESTS): Updated.
7423 2010-11-21 Stefano Lattarini <stefano.lattarini@gmail.com>
7425 Tests: consistently use "|| Exit 1" after ". ./defs".
7426 * tests/autohdr.test: Use `. ./defs || Exit 1', not bare
7427 `. ./defs', for consistency with other tests.
7428 * tests/autohdr2.test: Likewise.
7429 * tests/autohdr3.test: Likewise.
7430 * tests/autohdr4.test: Likewise.
7431 * tests/cond23.test: Likewise.
7432 * tests/cond24.test: Likewise.
7433 * tests/cond25.test: Likewise.
7434 * tests/cond26.test: Likewise.
7435 * tests/cond27.test: Likewise.
7436 * tests/cond28.test: Likewise.
7437 * tests/cond29.test: Likewise.
7438 * tests/cond30.test: Likewise.
7439 * tests/cond31.test: Likewise.
7440 * tests/cond32.test: Likewise.
7441 * tests/cond33.test: Likewise.
7442 * tests/cond34.test: Likewise.
7443 * tests/cond35.test: Likewise.
7444 * tests/cond36.test: Likewise.
7445 * tests/cond37.test: Likewise.
7446 * tests/cond38.test: Likewise.
7447 * tests/cond39.test: Likewise.
7448 * tests/cond40.test: Likewise.
7449 * tests/cond41.test: Likewise.
7450 * tests/cond42.test: Likewise.
7451 * tests/cond43.test: Likewise.
7452 * tests/cond44.test: Likewise.
7453 * tests/cond45.test: Likewise.
7454 * tests/dollarvar.test: Likewise.
7455 * tests/dollarvar2.test: Likewise.
7456 * tests/hfs.test: Likewise.
7457 * tests/libobj14.test: Likewise.
7458 * tests/percent.test: Likewise.
7459 * tests/percent2.test: Likewise.
7460 * tests/phony.test: Likewise.
7461 * tests/silent.test: Likewise.
7462 * tests/silent2.test: Likewise.
7463 * tests/silent3.test: Likewise.
7464 * tests/silent4.test: Likewise.
7465 * tests/silent5.test: Likewise.
7466 * tests/silent6.test: Likewise.
7467 * tests/silent7.test: Likewise.
7468 * tests/silent9.test: Likewise.
7469 * tests/silentcxx.test: Likewise.
7470 * tests/silentf77.test: Likewise.
7471 * tests/silentf90.test: Likewise.
7472 * tests/silentlex.test: Likewise.
7473 * tests/silentyacc.test: Likewise.
7475 Avoid useless cleaning in some `silent*.test' tests.
7476 * tests/silentf77.test: Removed useless calls to "make clean"
7477 and "make maintainer-clean".
7478 * tests/silentf90.test: Likewise.
7479 * tests/silent3.test: Removed useless call to "make distclean".
7480 * tests/silent4.test: Likewise.
7481 * tests/silent9.test: Likewise.
7483 2010-11-19 Ian Lance Taylor <iant@google.com>
7485 Sync config-ml.in from GCC.
7486 * config-ml.in: Add Go support: treat GOC and GOCFLAGS like other
7487 compiler/flag environment variables.
7489 2010-11-20 Stefano Lattarini <stefano.lattarini@gmail.com>
7491 release-stats: account for more generated tests.
7492 * Makefile.am (release-stats): Be sure to take into account all
7493 the generated tests, by grepping the test scripts to decide which
7494 ones of them are automatically generated.
7496 2010-11-20 Stefano Lattarini <stefano.lattarini@gmail.com>
7498 Code cleanup after removal of option `--output-directory'.
7499 * automake.in ($output_directory): Remove, it's unconditionally
7500 defined to `.' and used only ...
7501 (generate_makefile): ... in this subroutine, which now has been
7502 edited and simplified accordingly.
7504 Remove obsolete automake option `--output-directory'.
7505 This option has been deprecated since version 1.7 (2002/2003).
7506 * automake.in ($output_directory): Define to `.' unconditionally.
7507 (parse_arguments): Remove handling of equivalent options `-o' and
7508 `--output-directory'.
7509 * tests/outdir.test: Removed.
7510 * tests/no-outdir-option.test: New test.
7511 * tests/Makefile.am (TESTS): Updated.
7514 2010-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
7516 Automake::Config: remove extra trailing semicolon.
7517 * lib/Automake/Config.in: Remove extra trailing semicolon.
7519 help4.test: fix botched heading comment.
7520 * tests/help4.test: Fixed the heading comment, since it
7521 didn't correctly describe what checks the testcase was
7522 supposed to perform.
7524 help2.test: add checks on aclocal too.
7525 * tests/help2.test: Check that also `aclocal --version' and
7526 `aclocal --help' work with configure.in and acinclude.m4 both
7529 2010-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
7531 New test on repeated automake options.
7532 * tests/repeated-options.test: New test, check that automake
7533 does not complain on repeated options, nor generate broken or
7534 incorrect makefiles.
7535 * tests/Makefile.am (TESTS): Updated.
7537 2010-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
7539 Fix spurious failures of silent-rules tests with Sun Fortran.
7540 * tests/silentf77.test: Strip from the make output some verbose
7541 messages possibly printed by the SunStudio fortran compilers, to
7542 avoid spurious failures. Add a trailing `:' command.
7543 * tests/silentf90.test: Likewise.
7545 2010-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
7547 Fix spurious failures of silent5.test with Sun Fortran.
7548 * tests/silent5.test: Strip from the make output some verbose
7549 messages possibly printed by the SunStudio fortran compilers,
7550 to avoid spurious failures. This bug has been there from the
7551 very first version of this test script.
7553 2010-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
7555 Fix regression in colon{5,6}.test (failures on AIX 5.3).
7556 * tests/colon5.test: Also substitute `@SHELL@' with `$SHELL' when
7557 post-processing the generated Makefile.in, to work around a bug
7558 of AIX 5.3 make which doesn't allow setting the `$(SHELL)' macro
7559 on the commend line. Calls to `$MAKE' adjusted accordingly.
7560 * tests/colon6.test: Likewise.
7561 Regression introduced in commit v1.11-175-gf9fe878 "Modernize,
7562 improve and/or extend tests `colon*.test", and reported by Ralf
7565 2010-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
7567 Fix regression in ansi.test (failure on AIX 5.3).
7568 * tests/ansi.test: Remove redundant hackish check done using a
7569 hand-postprocessed Makefile.in. This check worked by setting
7570 the `$(SHELL)' macro on the command line of make, but this is
7571 not supported by the AIX 5.3 make implementation.
7572 This bug has been lurking for a long time, and was activated by
7573 commit v1.11-125-gc1f6cdb "Enable `errexit' shell flag in various
7574 tests". Report by Ralf Wildenhues.
7576 2010-11-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7578 backcompat5.test: avoid '##'-style comments inside recipe commands.
7579 * tests/backcompat5.test: Remove double-hash comments
7580 from makefile rule commands, they are not part of the
7581 Automake API. Fixes testsuite failure with Tru64 make.
7583 tests: avoid '##'-style comments inside recipe commands.
7584 * tests/confh.test, tests/confh8.test: Remove
7585 double-hash comments from makefile rule commands, they
7586 are not part of the Automake API.
7588 2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7590 tests: work around dash quoting issue in case statements.
7591 * tests/color.test, tests/color2.test: Quote variable in case
7592 pattern, to avoid skipping tests with dash 0.5.5.1.
7594 2010-11-16 Peter Rosin <peda@lysator.liu.se>
7596 Skip MSVC oriented tests if the shell is not capable.
7597 * tests/defs: New required entry 'xsi-shell'.
7598 * tests/ar-lib.test, tests/compile3.test, tests/compile6.test:
7599 Require a XSI capable shell.
7600 Reported by Ralf Wildenhues.
7602 2010-11-15 Peter Rosin <peda@lysator.liu.se>
7604 compile: clear the `eat' variable earlier.
7605 * lib/compile: Clear the `eat' variable earlier.
7606 ($scriptversion): Update.
7607 * tests/compile3.test: Prevent regressions.
7609 2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7611 More stable configure output from sanity check.
7612 * m4/sanity.m4 (AM_SANITY_CHECK): Always print check line
7613 about ensuring newer files, even if we don't actually need
7616 2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7618 Rebuild menus in the manual.
7619 * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs).
7620 Thanks to Ian Lance Taylor for the suggestion.
7622 Fix install-strip when $(STRIP) contains several words.
7623 * lib/am/install.am (install-strip): Update comment. Use
7624 separate sub-make invocations for empty and nonempty $(STRIP),
7625 to fix quoting issues.
7626 * tests/strip2.test, tests/strip3.test: New tests.
7627 * tests/Makefile.am (TESTS): Adjust.
7629 2010-11-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7631 Fix yaccdry.test failure: require bison.
7632 * tests/yaccdry.test: Require bison.
7633 Found by NixOS Hydra.
7635 2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
7637 Fix bug in test `backcompat6.test' (MSYS portability).
7638 * tests/backcompat6.test (Makefile.am): Grep the output from the
7639 test program, rather than diffing it, to avoid spurious failures
7640 on MinGW/MSYS due to LF vs. CRLF line endings.
7641 Reported by Ralf Wildenhues.
7643 2010-11-13 Stefano Lattarini <stefano.lattarini@gmail.com>
7645 Deprecate obsolete macro AM_WITH_REGEX.
7646 * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete,
7647 and state that it should be removed two years from now.
7648 (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete"
7649 category when this macro is used.
7650 * doc/automake.texi (Public Macros): Move description of
7651 `AM_WITH_REGEX' from here ...
7652 (Obsolete Macros): ... to here, and declare it as obsolete
7653 and "to be removed in a future version".
7654 * tests/regex-obsolete.test: New test.
7655 * tests/Makefile.am (TESTS): Update.
7657 2010-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
7659 Improve and extend tests on man pages support.
7660 * tests/man.test: Enable `errexit' shell flag, and related changes.
7661 Make grepping of generated Makefile.in slightly stricter.
7662 * tests/man3.test: Add trailing `:' command.
7663 * tests/man5.test: Prefer cat + here-doc over echo to append to
7665 * tests/man2.test: Likewise, and add trailing `:' command.
7666 * tests/man4.test: More thorough and consistent checking of make
7667 error messages. Place fake `help2man' program in a new `bin'
7668 directory rather than in `.'. Move the checks using the real
7669 `help2man' program to ...
7670 * tests/man6.test: ... this new test, and extend them. This test
7671 passes with GNU make and Solaris make, still fails with BSD make.
7672 * tests/man7.test: New test, extracted from old man4.test, which
7673 checks for a bug in maintainer-clean w.r.t. generated manpages.
7674 * tests/man8.test: New test, extracted from old man4.test, which
7675 checks for a bug in distcheck w.r.t. generated manpages. Passes
7676 with GNU make and Solaris make, still fails with BSD make.
7678 2010-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
7680 Minor improvements and extensions to various tests.
7681 * tests/defun.test: Also run autoconf and grep the generated
7682 configure to make sure that aclocal truly picks up all the
7684 * tests/compile_f_c_cxx.test: Prefer trailing `:' over trailing
7685 `Exit 0'. Do not create useless dummy source files. Do not set
7686 useless `$(foo_LDADD)' variable in `Makefile.am'. Do not call
7687 useless macro `AC_F77_LIBRARY_LDFLAGS' in `configure.in'.
7688 * tests/compile_f90_c_cxx.test: Likewise.
7689 * tests/suffix10.test: Slightly stricter grepping of make output.
7690 * tests/compile.test: Add trailing `:' command.
7691 * tests/defun2.test: Likewise.
7692 * tests/vars3.test: Likewise.
7693 * tests/vartar.test: Likewise.
7694 * tests/vars.test: Likewise. Also, extend test by checking
7695 that the definition of `MY_FLAGS*' variables is preserved in
7696 the generated `Makefile.in'.
7697 * tests/stamph2.test: Prefer trailing `:' over trailing `Exit 0'.
7698 Use proper m4 quoting in `configure.in'.
7700 2010-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
7702 Tests defs: improve messages for skipped tests.
7703 * tests/defs: Give meaningful messages about the reasons of a
7704 test skip; this is especially useful as this file is run without
7705 verbose xtraces on. Related reorderings in the code and new
7708 2010-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
7710 Tests defs: move static definitions in a new file `defs-static'.
7711 The new file is meant to be idempotent w.r.t. multiple inclusions.
7712 * tests/defs.in: Removed, its contents split among ...
7713 * tests/defs-static.in: ... this new file ...
7714 * tests/defs: ... and this new file, including the former.
7715 * configure.ac (AC_CONFIG_FILES): Remove `tests/defs', add
7716 `tests/defs-static'.
7717 (AC_CONFIG_LINKS): Add `tests/defs'.
7718 * tests/Makefile.am ($(parallel_tests)): Update.
7719 ($(instspc_tests)): Likewise.
7720 * tests/.gitignore: Update.
7722 Tests defs: $testsbuilddir is now AC_SUBST'ed.
7723 * tests/defs.in ($testsbuilddir): Substitute from @abs_builddir@.
7724 Add sanity check on $testsbuilddir, similar to those on
7725 $testsrcdir and $top_testsrcdir.
7727 Tests defs: do not print message "Running test $0" anymore.
7728 * tests/defs.in: Printing the message "=== Running test $0" at
7729 the beginning of each tests made sense when Automake used the old
7730 test-driver, which sent all the output directly to stdout/stderr.
7731 Now that the parallel test-driver is used, which saves output of
7732 each test in its corresponding log file, that old message is just
7735 Tests defs: rename $curdir -> $testbuilddir
7736 * tests/defs.in: Rename $curdir to $testbuildir, for clarity and
7737 consistency with $testsrcdir and $top_testsrcdir.
7739 Tests defs: prefer "$curdir" over "`pwd`".
7740 * tests/defs.in: We already save the value of `pwd` in $curdir
7741 early in the file, so there no need to recalculate it later, when
7742 the current working directory is not changed.
7744 Tests defs: use `$me' in more error messages.
7745 * tests/defs.in: Also use `$me' in error messages referring to
7746 missing `defs' or `defs.in', since that variable is now defined
7747 before those checks.
7749 Tests defs: do not use `Exit' where plain `exit' suffices.
7750 * tests/defs.in: Use "exit 77" rather than "Exit 77" to skip the
7751 test when required libtool/gettext macros are not found, since
7752 such skips would take place before the exit trap is installed.
7754 Tests defs: improve and extends comments.
7755 * tests/defs.in: Improve and extends some comments, especially in
7756 relation with the changes introduced by the previous reordering.
7758 Tests defs: various reorderings.
7759 * tests/defs.in: Reordered various snippets of code in a
7762 2010-11-09 Stefano Lattarini <stefano.lattarini@gmail.com>
7764 Fix bug in test `backcompat4.test' (stale autom4te cache).
7765 * tests/backcompat4.test: Remove stale autom4te cache directory
7766 before re-running aclocal and automake. Also, since we are at
7767 it, be more verbose in displaying contents of generated files,
7768 to ease debuggability.
7769 Reported by Ralf Wildenhues.
7771 2010-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
7773 Fix a bug in variable concatenation with `+='.
7774 * lib/Automake/VarDef.pm (append): Since the content of the
7775 "appended-to" variable is going to be unconditionally normalized
7776 later, simply separate the appended value with a single whitespace
7777 character, instead of trying to be uselessly smarter by using
7778 escaped newlines. This fixes a bug in which extra backslashes
7779 where erroneously inserted in the variable's final value.
7780 * tests/pluseq11.test: New test, exposing the bug.
7781 * tests/Makefile.am (TESTS): Update.
7782 Reported by Andy Wingo.
7784 2010-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
7786 Modernize, improve and/or tweak various test scripts.
7787 * tests/stamph2.test: Improve m4 quoting in `configure.in', and
7788 prefer trailing `:' over trailing `Exit 0'.
7789 * tests/syntax.test: Escape literal dots in grep regexps.
7790 * tests/copy.test: Enable `errexit' shell flag. Extend test by
7791 checking with `test' utility that the script `install-sh' is
7792 copied, but not symlinked.
7793 * tests/depdist.test: Move setting of `errexit' shell flag earlier
7794 in the script (just after inclusion of ./defs). Avoid obsoleted
7795 constructs in generated `configure.in'. Prefer to do our checks
7796 by running configure and make over grepping Makefile.in.
7797 * tests/target-cflags: Move setting of `errexit' shell flag
7798 earlier in the script (just after inclusion of ./defs). Use the
7799 `configure.in' stub created by `./defs', rather than writing it
7801 * tests/target-clash: Do not uselessly run autoconf.
7802 * tests/ctarget1.test: Renamed ...
7803 * tests/cond-basic.test: ... to this. Use the `configure.in' stub
7804 created by `./defs', rather than writing it from scratch.
7805 Move setting of `errexit' shell flag earlier in the script (just
7806 after inclusion of ./defs). Other minor cosmetic changes.
7807 * tests/Makefile.am (TESTS): Updated.
7809 2010-11-06 Stefano Lattarini <stefano.lattarini@gmail.com>
7811 New tests on obsoleted usages of automake/autoconf macros (such
7812 as AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT).
7813 * tests/backcompat.test: New test script.
7814 * tests/backcompat2.test: Likewise.
7815 * tests/backcompat3.test: Likewise.
7816 * tests/backcompat4.test: Likewise.
7817 * tests/backcompat5.test: Likewise.
7818 * tests/backcompat6.test: Likewise.
7819 * tests/init.test: Extended and improved, esp. by trying more
7820 combinations of calls to AC_INIT and AM_INIT_AUTOMAKE with few
7822 * tests/Makefile.am (TESTS): Updated.
7824 2010-11-06 Stefano Lattarini <stefano.lattarini@gmail.com>
7826 Fix bug in rules for creating vala vapi/header files.
7827 * automake.in (lang_vala_finish_target): Add forgotten "fi" in an
7828 if control structure in a generated make rules. Bug introduced
7829 by previous commit `v1.11-221-gd7c1679', and revealed by failure
7830 of test `vala2.test'.
7832 2010-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7834 Fix and document rules to not touch the tree with `make -n'.
7835 * doc/automake.texi (Multiple Outputs): Document the problem of
7836 modifications during dry-run execution, propose solution.
7838 * automake.in (lang_vala_finish_target): Split recipe so the
7839 stamp file is not removed with GNU `make -n'.
7840 (lang_yacc_target_hook): Separate removal of parser output file
7841 and header remaking.
7842 * lib/am/lisp.am ($(am__ELCFILES)): Determine whether -n was
7843 passed to make, take care not to remove any files in that case.
7844 * lib/am/remake-hdr.am (%CONFIG_H%): Separate removal of
7845 %STAMP% file from induced remaking of config header.
7846 * tests/autohdrdry.test, tests/lispdry.test, tests/yaccdry.test:
7848 * tests/Makefile.am (TESTS): Update.
7850 2010-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
7852 Fix potential bug in generated tests `instpc-*.test'.
7853 This bug is due to the changes introduced by the recently-merged
7854 "tests-init" branch. In that branch, `tests/defs' didn't define
7855 anymore `$srcdir', instead defining directly `$testsrcdir'; but
7856 the generated tests were using `$srcdir', hence the bug.
7857 Luckily, since the Automake parallel test driver automatically
7858 exports `srcdir' to a proper value, that prevented the bug from
7860 * tests/Makefile.am ($(instspc_tests)): In the generated test
7861 scripts, use `$testsrcdir', not `$srcdir'.
7863 2010-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
7865 Overhauled and modularized tests in `instspc.test'.
7866 The test `instspc.test' was way too big and fragile. Its running
7867 time was very long. It also produced a log that was nearly
7868 unreadable due to its length, making it very difficult to find
7869 out the reason for failures.
7870 Also, it was too much monolithic, with a single (maybe spurious)
7871 failure in a corner case causing the whole test to fail (even if
7872 everything worked as expected in the other 99% of cases).
7873 The present change should solve these problems, by separating
7874 `instspc.test' into many smaller, self-contained, auto-generated
7876 * tests/instspc.test: Removed.
7877 * tests/instspc-tests.sh: New script, fulfilling a double role:
7878 1. it generates a Makefile.am snippet `tests/instspc-tests.am',
7879 containing the definition of a list of new tests which will take
7880 over the older `instspc.test', and
7881 2. it is sourced by said generated tests with proper parameters
7882 pre-set, to run the "meat" of the checks.
7883 This apparent abuse is indeed required because the test generation
7884 code and test execution code are inevitably intertwined.
7885 * tests/Makefile.am ($(srcdir)/instspc-tests.am): Include this
7886 snippet, which (among the other things) defines ...
7887 (instspc_tests): ... this new macro, containing the list of the
7888 newly generated `instspc*.test' tests, and ...
7889 (instspc_xfail_tests): ... this new macro, containing the list
7890 of the `instspc*.test' tests expected to fail.
7891 ($(instspc_tests)): New rule, generates the `instspc*.test' tests.
7892 ($(instspc_tests:.test=.log)): New rule, registers the dependency
7893 of all `instspc*.test' tests on the `instspc-tests.sh' script.
7894 (TESTS): Add `$(instspc_tests)', remove `instspc.test'.
7895 (XFAIL_TESTS): Add `$(xfail_instspc_tests)'.
7896 (EXTRA_DIST): Distribute instspc-tests.sh.
7897 (MAINTAINERCLEANFILES): Added $(instspc_tests).
7898 Other minor cosmetic changes.
7899 * bootstrap: Generate instspc-tests.am.
7900 * tests/.gitignore: Updated.
7902 2010-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7904 Add FAQ entry for bug reporting instructions.
7905 * doc/automake.texi (Reporting Bugs): New section.
7906 (Introduction): Refer to it.
7908 2010-10-07 Peter Rosin <peda@lysator.liu.se>
7910 depcomp: add new one-pass depmode for MSVC 7 and later.
7911 * lib/depcomp: Add new depmodes 'msvc7' and 'msvc7msys' which
7912 make use of the -showIncludes option added in MSVC 7.
7913 * m4/depend.m4 (_AM_DEPENDENCIES): Handle the new depmodes
7914 similarly to 'msvisualcpp' and 'msvcmsys' as MSVC does not
7915 support the -o option.
7917 2010-10-05 Jim Meyering <meyering@redhat.com>
7919 dist-xz, dist-bzip2: don't hard-code -9: honor envvar settings
7920 * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that
7921 made it impossible to override. Instead, use its XZ_OPT envvar,
7922 defaulting to -9 if not defined. Thus no change in behavior
7923 when XZ_OPT is not set, and now, this rule honors the setting
7924 of that envvar when it is set. Suggested by Lasse Collin.
7925 (dist-bzip2): Likewise for it's corresponding envvar: BZIP2.
7926 * NEWS (Miscellaneous changes): Mention it.
7927 * doc/automake.texi (The Types of Distributions): Describe the
7928 newly enabled environment variables.
7930 2010-10-04 Stefano Lattarini <stefano.lattarini@gmail.com>
7932 Add support for newer python versions.
7933 * m4/python.m4 (AM_PATH_PYTHON): Add python2.7 and python3.2 to
7934 _AM_PYTHON_INTERPRETER_LIST. Since we are at it, break a long
7935 line and fix indentation.
7937 From a report by Thomas Klausner.
7939 Add test for `AM_WITH_DMALLOC' macro.
7940 * tests/dmalloc.test: New test.
7941 * tests/Makefile.am (TESTS): Update.
7943 Fix nits and bugs in tests `help*.test'.
7944 * tests/help4.test: Fix broken sed commands used to strip `-W...'
7945 flags away from "$AUTOMAKE" and "$ACLOCAL".
7946 * tests/help3.test: Likewise, and fix a botched comment.
7947 * tests/help.test: Likewise. Also, use "AUTOMAKE_fails ..."
7948 instead of "$AUTOMAKE ... && Exit 1", for consistency and to
7949 please maintainer-check.
7950 * tests/help2.test: Likewise.
7952 2010-10-03 Stefano Lattarini <stefano.lattarini@gmail.com>
7953 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7955 Improve tests `help*.test' (also fixes maintcheck failures).
7956 * tests/help.test: To run automake, use `$AUTOMAKE' with all `-W'
7957 flags stripped away rather than hard-coded `automake-$APIVERSION',
7958 to better honour user-overrides. Similarly for aclocal.
7959 * tests/help2.test: Likewise.
7960 * tests/help3.test: Likewise.
7961 * tests/help4.test: Likewise.
7963 2010-10-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7965 tests: fix ar-lib.test for echo that interprets backslashes.
7966 * tests/ar-lib.test: Use printf instead of echo. Avoid test -a.
7967 More robust quoting.
7969 2010-10-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7971 maintainer-check coverage for variables before rules.
7972 * Makefile.am (sc_ensure_testsuite_has_run): Suggest keeping
7973 around the test directories.
7974 (sc_tests_makefile_variable_order): New rule with a heuristic to
7975 catch ordering violations.
7977 Document and fix expansion of variables before rules.
7978 * doc/automake.texi (General Operation): Document that variables
7979 are expanded before rules.
7980 * lib/am/check.am (am__check_post): Reword a bit so it does not
7981 get matched as a rule.
7982 Suggestion by Ben Pfaff.
7984 2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7986 Coverage and minor fixes for variable typo detection.
7987 * automake.in (check_typos): Remove `EXTRA_' prefix when
7988 computing canonical name.
7989 * tests/vartypo2.test, tests/vartypos.test: New tests.
7990 * tests/Makefile.am (TESTS): Update.
7992 Implement EXTRA_maude_DEPENDENCIES for programs and libraries.
7993 * automake.in (handle_programs, handle_libraries)
7994 (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
7995 * doc/automake.texi (Linking, Program and Library Variables)
7996 (LIBOBJS): Document EXTRA_*_DEPENDENCIES.
7997 * lib/am/library.am (%LIBRARY%): Also depend on
7998 $(EXTRA_%XLIBRARY%_DEPENDENCIES).
7999 * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
8000 (%XLTLIBRARY%_DEPENDENCIES).
8001 * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
8002 $(EXTRA_%XPROGRAM%_DEPENDENCIES).
8003 * tests/extradep.test, tests/extradep2.test: New tests.
8004 * tests/Makefile.am (TESTS): Update.
8006 Suggested by Eric Blake.
8008 tests: avoid running into timing issues due to sanity change.
8009 * tests/acloca10.test, tests/acloca18.test, tests/aclocal9.test:
8010 Insert strategic sleep before aclocal reruns, to ensure files
8012 * tests/python11.test: Use --force for repeated autotools runs.
8013 Reports from the NixOS Hydra build daemon via Ludovic Courtès.
8015 Fix timestamp issues by ensuring configure takes at least a second.
8016 * m4/sanity.m4 (AM_SANITY_CHECK): If we didn't sleep here,
8017 start a sleep in the background and wait for it to finish
8018 before creating config.status, hopefully fixing all spurious
8019 testsuite failures involving botched time stamps.
8021 Reports by Ludovic Courtès, Peter Breitenlohner, and others.
8023 2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8025 Revert "parallel-tests: avoid command-line length limit issue."
8026 This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835,
8027 because it re-opened the bug fixed by v1.11-10-g218e678.
8029 2010-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8031 parallel-tests: avoid command-line length limit issue.
8032 * automake.in (handle_tests): New argument $makefile, new
8033 substitution %MAKEFILE%.
8034 (generate_makefile): Adjust.
8035 * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
8036 sanitized TEST_LOGS value as makefile snippet on standard
8037 input to $(MAKE), to avoid exceeding the command line limit on
8040 Report by Bob Friesenhahn.
8042 2010-09-26 Stefano Lattarini <stefano.lattarini@gmail.com>
8044 Extend tests on `--help' and `--version' options.
8045 * tests/help.test: Create a new empty directory and chdir into
8046 it, rather than removing already present files. Run the aclocal
8047 and automake wrapper scripts directly, instead of relying on
8048 $AUTOMAKE and $ACLOCAL. Be sure to correctly match literal dots
8049 in aclocal's and automake's stderr. Add a trailing `:' command.
8050 * tests/help2.test: New test, checking that options `--help' and
8051 `--version' works in directories with broken `configure.in'.
8052 * tests/help3.test: New test, checking that options `--help' and
8053 `--version' take precedence on the other options.
8054 * tests/help4.test: New test, checking that the first among the
8055 `--help' and `--version' options to be specified on the command
8057 * tests/Makefile.am (TESTS): Updated.
8059 2010-09-25 Stefano Lattarini <stefano.lattarini@gmail.com>
8061 Testsuite: Use `$PATH_SEPARATOR', not `:', when extending PATH.
8062 * tests/compile2.test: Do no uselessly (implicitly) repeat the
8063 computation of PATH_SEPARATOR again.
8064 * tests/instmany-mans.test: Use `$PATH_SEPARATOR', not `:', when
8065 extending/redefining PATH.
8066 * tests/instmany-python.test: Likewise.
8067 * tests/instmany.test: Likewise.
8068 * tests/man4.test: Likewise.
8069 * tests/mkinst3.test: Likewise.
8070 * tests/mmodely.test: Likewise.
8071 * tests/multlib.test: Likewise.
8072 * tests/txinfo30.test: Likewise.
8073 * tests/README (Section "Writing test cases" subsection "Do"):
8075 * Makefile.am (sc_tests_PATH_SEPARATOR): New maintainer check.
8076 (syntax_check_rules): Updated.
8078 Testsuite: new variables `$PATH_SEPARATOR' and `$APIVERSION'.
8079 * tests/defs.in ($APIVERSION): New AC_SUBST'd variable.
8080 ($ACLOCAL, $AUTOMAKE): Use it.
8081 ($PATH_SEPARATOR): New AC_SUBST'd variables.
8084 2010-09-22 Stefano Lattarini <stefano.lattarini@gmail.com>
8086 Manual: be more agnostic w.r.t. version control system used.
8087 * doc/automake.texi (Basics of Distribution): Also refer to `.svn'
8088 directories as a type of probably-unwanted files that are copied
8089 regardless when adding directories to EXTRA_DIST.
8090 (The dist Hook): Show a dist-hook example which removes Subversion
8091 `.svn' private directories from distdir, rather than CVS private
8093 (missing and AM_MAINTAINER_MODE): Try to be more agnostic w.r.t.
8094 the version control system used.
8096 Manual: index refer to target "git-dist", not "cvs-dist".
8097 * doc/automake.texi (General Operation): Index the non-standard
8098 example about "git-dist" under the "git-dist" label, not under
8101 Perl modules: remove references to "Automake CVS repository".
8102 * lib/Automake/Channels.pm: Update comments to refer to "Automke's
8103 git repository" rather than to "Automake's CVS repository".
8104 * lib/Automake/Configure_ac.pm: Likewise.
8105 * lib/Automake/FileUtils.pm: Likewise.
8106 * lib/Automake/Struct.pm: Likewise.
8107 * lib/Automake/XFile.pm: Likewise.
8108 * lib/Automake/Version.pm (=head1 DESCRIPTION): Refer to "git
8109 branches" rather than "CVS branches".
8111 Remove obsolete .cvsignore files.
8112 * .cvsignore, doc/.cvsignore, lib/.cvsignore, lib/am/.cvsignore,
8113 lib/Automake/.cvsignore, lib/Automake/tests/.cvsignore,
8114 m4/.cvsignore, tests/.cvsignore: Files deleted. Even when using
8115 savannah's CVS readonly mirror there's no way to commit back to
8116 the real repository, so this files are not worth maintaining or
8119 2010-09-21 Stefano Lattarini <stefano.lattarini@gmail.com>
8121 * m4/dmalloc.m4: Bump serial number and copyright years.
8123 2010-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
8125 Fix broken link in `AM_WITH_DMALLOC' help screen.
8126 * m4/dmalloc.m4 (AM_WITH_DMALLOC): Refer only to the dmalloc site
8127 `http://www.dmalloc.com', not to the dmalloc tarball there (which
8128 seems to have been removed, substituted by multiple release
8131 2010-09-21 Peter Rosin <peda@lysator.liu.se>
8133 compile: implement library search to support MSVC static linking
8134 * lib/compile (func_cl_wrapper): Implement library search and
8135 -static option so that the user can select whether to prefer
8136 dll import libraries or static libraries. This enables MSVC to
8137 link against dlls generated by libtool without requiring libtool
8138 or workarounds such as -lfoo.dll etc. Makes the tests/static.at
8139 test case in libtool pass.
8140 * tests/compile3.test: Don't trip up if there happens to exist
8141 a "foo" library in the library search path.
8142 * tests/compile6.test: New test, verifying the library search.
8143 * tests/Makefile.am (TESTS): Update.
8145 2010-09-17 Eric Blake <eblake@redhat.com>
8147 Avoid triple-space after period.
8148 * automake.in (handle_single_transform): Avoid 3 spaces at
8150 * ChangeLog.03: Likewise.
8151 * lib/Automake/ChannelDefs.pm: Likewise.
8152 * lib/Automake/Channels.pm (_print_message): Likewise.
8153 * lib/Automake/Rule.pm (rule): Likewise.
8154 * lib/Automake/Variable.pm (var): Likewise.
8155 * lib/am/distdir.am: Likewise.
8156 * tests/insthook.test: Likewise.
8158 2010-09-15 Stefano Lattarini <stefano.lattarini@gmail.com>
8160 Test automake-generated portions of configure help screen.
8161 * tests/help-depend.test: New test.
8162 * tests/help-depend2.test: Likewise.
8163 * tests/help-dmalloc.test: Likewise.
8164 * tests/help-init.test: Likewise.
8165 * tests/help-lispdir.test: Likewise.
8166 * tests/help-maintainer.test: Likewise.
8167 * tests/help-multilib.test: Likewise.
8168 * tests/help-regex.test: Likewise.
8169 * tests/help-silent.test: Likewise.
8170 * tests/help-upc.test: Likewise.
8171 * tests/mmode.test: Remove tests on `configure --help' output,
8172 they are superseded by tests in `help-maintainer.test'.
8173 * tests/Makefile.am (TESTS): Update.
8175 2010-09-14 Stefano Lattarini <stefano.lattarini@gmail.com>
8177 * tests/README: Don't put GCS mandated tools in $required.
8179 2010-09-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8181 * HACKING: Hint at old commits with `git describe' output.
8183 2010-09-14 Stefano Lattarini <stefano.lattarini@gmail.com>
8185 Prefer `$(am__cd)' to plain `cd' in our Makefiles.
8186 * Makefile.am (recheck, dist-hook, git-dist, path-check, fetch)
8187 (release-stats): Use `$(am__cd)' rather than plain `cd'.
8188 * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
8190 2010-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
8192 Fix regression in test `colon4.test'.
8193 * tests/colon4.test: Fix botched editing to `configure.in'
8194 that made the test useless. Since we are at it, improve
8195 comments and make grepping of generated Makefile.in slightly
8197 Regression introduced by change "Modernize, improve and/or
8198 extend tests `colon*.test" (Stefano Lattarini, 2010-08-08).
8200 2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
8202 Do not require "gzip" explicitly in tests.
8203 The gzip utility is simply expected to be present on any decent
8204 target system for Automake. So it's pointless to put it in
8206 * tests/install2.test ($required): Do not require "gzip".
8207 * tests/lex3.test: Likewise.
8208 * tests/pr9.test: Likewise.
8209 From a suggestion by Ralf Wildenhues.
8211 2010-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
8213 Use AS_HELP_STRING in AM_SILENT_RULES.
8214 * m4/silent.m4 (AM_SILENT_RULES): Use `AS_HELP_STRING' to format
8215 help message regarding configure options `--enable-silent-rules'
8216 and `--disable-silent-rules'. Also throw in a couple of cosmetic
8217 changes in the related `case' statement (indentation, balancing
8220 From a report by Jeff A. Daily.
8222 2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
8224 Make some `confh*.test' tests more "semantic" (plus tweakings).
8225 * tests/confh.test: Run "autoconf", "configure" and "make check",
8226 instead of munging/grepping the generated `Makefile.in'.
8227 * tests/confh4.test: Relax the grepping of Makefile.in w.r.t.
8228 white spaces. Do not create useless dummy source file `foo.c'
8229 and useless dummy header file `acconfig.h'.
8230 (configure.in): Remove superfluous call to `AC_OUTPUT'.
8231 * tests/confh6.test: Add trailing `:' command.
8232 * tests/confh7.test: In comments, add reference to ...
8233 * tests/confh8.test: ... this new test, "semantic" sister
8235 * tests/Makefile.am (TESTS): Updated.
8236 Prompted by a report from Ralf Wildenhues.
8238 2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
8240 Remove useless whitespace padding in XFAIL_TESTS definition.
8241 * tests/Makefile.am (XFAIL_TESTS): Remove whitespace padding.
8243 2010-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8245 parallel-tests: avoid command-line length limit issue.
8246 * automake.in (handle_tests): New argument $makefile, new
8247 substitution %MAKEFILE%.
8248 (generate_makefile): Adjust.
8249 * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
8250 sanitized TEST_LOGS value as makefile snippet on standard
8251 input to $(MAKE), to avoid exceeding the command line limit on
8254 Report by Bob Friesenhahn.
8256 Posix 2008 requires make to set errexit.
8257 * lib/am/check.am: Update comment.
8259 2010-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
8261 Tests defs: remove variable $testaclocaldir.
8262 * tests/defs.in ($testaclocaldir): Removed.
8263 * tests/aclocal.test: Use `$top_testsrcdir/m4' directly, not
8266 Tests defs: $srcdir and $top_srcdir renaming.
8267 * tests/defs.in ($srcdir): Remove, define $testsrcdir directly.
8268 * tests/Makefile.am ($(parallel_tests)): Generation of derived
8271 Tests defs: new variable $top_testsrcdir.
8272 * tests/defs.in ($top_testsrcdir): Define unconditionally
8273 to @abs_top_srcdir@. Use it throughout.
8274 * tests/ar-lib.test: Use `$top_testsrcdir' instead of
8276 * tests/auxdir.test: Likewise.
8277 * tests/compile.test: Likewise.
8278 * tests/compile2.test: Likewise.
8279 * tests/compile3.test: Likewise.
8280 * tests/compile5.test: Likewise.
8281 * tests/mdate6.test: Likewise.
8282 * tests/mkinst3.test: Likewise.
8283 * tests/multlib.test: Likewise.
8284 * tests/txinfo22.test: Likewise.
8286 Tests defs: $srcdir is unconditionally substituted.
8287 * tests/defs.in ($srcdir): Define unconditionally to @abs_srcdir@.
8288 Remove code for $srcdir normalization, which is now useless.
8290 2010-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
8292 Tests defs: make spacing more consistent.
8293 * tests/defs.in: Make spacing more consistent in indentation.
8294 Especially, indent using only spaces, not tabs. Also, move
8295 a comment to a better position.
8297 Improve code for requiring libtool and gettext in tests.
8298 * tests/defs.in: Stricter (and more correct) detection of wheter
8299 libtool, libtoolize and/or gettext are in $required.
8302 2010-08-27 Stefano Lattarini <stefano.lattarini@gmail.com>
8304 Fix bug in test missing6.test.
8305 * tests/missing6.test: Fix the hack used to edit `configure.in',
8306 to avoid producing a configure script that breaks with shells
8307 that do not support $LINENO. Also throw in a couple of cosmetic
8310 2010-09-02 Peter Rosin <peda@lysator.liu.se>
8312 Make ar-lib support backslashed files in archives.
8313 * lib/ar-lib: If an archive member contains a backslash, make sure
8314 it is escaped when the archive member is extracted.
8315 * tests/ar-lib.test: Test the above.
8317 2010-08-31 Peter Rosin <peda@lysator.liu.se>
8319 Do file name conversion for object files in the compile wrapper.
8320 * lib/compile (func_cl_wrapper): Do file name conversion for object
8321 files (i.e. extensions .obj, .OBJ, .o and .O) if needed.
8322 * tests/compile4.test: Test the above.
8324 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8326 Speed up removal of auxiliary linker output files for ltlibraries.
8327 * lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Rewrite using just
8328 one `rm' invocation.
8329 Report by Bob Friesenhahn.
8331 Improve robustness of mdate-sh script.
8332 * lib/mdate-sh: Sanitize zsh behavior on startup, to ensure
8333 $ls_command is word-split properly upon invocation.
8334 (error): New function.
8335 (main): Use it. Improve error checking to avoid endless loop
8336 in case $ls_command gave bogus output. Fix eval quotation.
8337 * tests/mdate6.test: New test, to expose eval quotation error.
8338 * tests/Makefile.am: Update.
8340 2010-08-18 Stefano Lattarini <stefano.lattarini@gmail.com>
8342 Fix potential regressions in depcomp{3,5}.test.
8343 * tests/depcomp3.test: Do not uselessly escape the character `$'
8344 in makefile rules, when it's used to expand a make macro.
8345 * tests/depcomp5.test: Likewise.
8347 2010-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
8348 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8350 Docs: clarify how to avoid automatic dependencies tracking.
8351 * doc/automake.texi (Automatic dependency tracking): Mention that
8352 automatic dependencies tracking is enabled by default, but that
8353 the package developer can disable it altogether. Add a reference
8354 to the proper section for a more in-depth explanation.
8356 Fix typo in manual (`Makefile.in' instead of `Makefile.am').
8357 * doc/automake.texi (Automatic dependency tracking): Fix typo.
8359 2010-08-16 Bruno Haible <bruno@clisp.org>
8361 Don't hide the table of contents.
8362 * doc/automake.texi: Move the table of contents to the beginning.
8364 2010-08-16 Peter Rosin <peda@lysator.liu.se>
8366 Optimize compile script on MSYS.
8367 * lib/compile (func_file_conv): Add new argument 'lazy' which
8368 takes an optional list of conversion types where the requested
8369 conversion isn't needed.
8370 (func_cl_wrapper): Take advantage of the above for cases where
8371 MSYS is doing the conversion for us.
8372 Suggested by Ralf Wildenhues.
8374 2010-08-16 Peter Rosin <peda@lysator.liu.se>
8376 Support more C++ file extensions for MSVC in the compile script.
8377 * lib/compile (func_cl_wrapper): MSVC only recognizes the .cpp
8378 file extension as C++, unless it's given a hint. So hint about
8379 .cc, .CC, .cxx, .CXX, c++ and C++. Also do path conversion on
8380 .c, .cpp, .CPP, .lib, .LIB and .Lib files.
8381 * tests/compile3.test: Test the C++ hinting.
8383 2010-08-12 Peter Rosin <peda@lysator.liu.se>
8385 Enable the use of "link -lib" as the wrapped archiver.
8386 * lib/ar-lib: Enable the use of "link -lib" as the wrapped
8387 archiver, as well as allowing some other options to be passed
8388 through to the wrapped archiver.
8389 * tests/ar-lib.test: Test the above.
8391 2010-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
8393 Tweak and/or extend some `acloca*.test' tests.
8394 * tests/aclocal8.test: Ensure verbose printing of captured
8396 * tests/aclocal.test: Likewise. Also, add trailing `:'
8398 * tests/acloca19.test: Likewise.
8399 * tests/aclocal5.test: Add trailing `:' command, and prefer
8400 `$me' over hard-coded test name.
8401 * tests/aclocal6.test: Likewise.
8402 * tests/aclocal18.test: Add trailing `:' command, and make
8403 some grepping slightly stricter.
8404 * tests/acloca14.test: Likewise. Also, prefer `diff' over
8405 `cmp', and add some "cosmetic" blank lines.
8407 2010-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
8409 Tweak and extend tests `pr[!0-9]*.test'.
8410 * tests/primary3.test: Add trailing `:' command.
8411 * tests/primary.test: Make grepping of Automake's stderr stricter.
8412 Also, add trailing `:' command, and cosmetic changes in spacing.
8413 * tests/primary2.test: Likewise.
8414 * tests/prefix.test: Enable `errexit' shell flags, and related
8415 changes. Add a trailing `:' command.
8416 * tests/proginst.test: Likewise.
8418 Modernize, improve and extend tests for PR (`pr[0-9]*.test').
8419 * tests/pr2.test: Add trailing `:' command.
8420 * tests/pr229.test: Likewise.
8421 * tests/pr401.test: Likewise.
8422 * tests/pr401b.test: Likewise.
8423 * tests/pr401c.test: Likewise.
8424 * tests/pr300-prog.test: Likewise, plus cosmetic changes in
8426 * tests/pr300-lib.test: Likewise.
8427 * tests/pr300-ltlib.test: Likewise, and ensure verbose printing
8428 of captured make stdout.
8429 * tests/pr211.test: Add trailing `:' command. Also, use the
8430 `configure.in' stub created by ./defs, rather than writing it
8432 * tests/pr204.test: Likewise, plus cosmetic spacing changes.
8433 * tests/pr287.test: Likewise, and move setting of `errexit' shell
8434 flag earlier in the script (just after inclusion of ./defs).
8435 * tests/pr220.test: Make grepping of Automake's stderr stricter.
8436 Also, add trailing `:' command, and cosmetic changes in spacing.
8437 * tests/pr224.test: Move setting of `errexit' shell flag earlier
8438 in the script (just after inclusion of ./defs). Do not export
8439 `CC=gcc' to configure explicitly (it's already exported globally
8440 in ./defs, since we have "gcc" in $required). Use the stub for
8441 `configure.in' created by ./defs, rather than writing it from
8442 scratch. Do not create dummy files required by "gnu" mode (e.g.
8443 README, NEWS), since we run automake in foreign mode anyway.
8444 * tests/pr72.test: Enable `errexit' shell flags, and related
8445 changes. Extend existing checks a bit.
8446 * tests/pr9.test: Likewise. Also, avoid obsolescent constructs in
8447 the generated `configure.in', and extend existing checks over the
8448 generated tarball a bit.
8449 * tests/pr87.test: Enable `errexit' shell flags, and related
8450 changes. Add a trailing `:' command. Also, do not create dummy
8451 files required by "gnu" mode (e.g. README, NEWS), since we run
8452 automake in foreign mode anyway.
8453 * tests/pr243.test: Avoid obsolescent constructs in the generated
8454 `configure.in'. Enable the `errexit' shell flag, and related
8455 changes. Cosmetic changes to spacing, add trailing `:' command,
8456 and add a "FIXME" comment.
8457 * tests/pr266.test: Likewise, and add explicit command line switch
8458 `--enable-dependency-tracking' to the ./configure call.
8459 * tests/pr279.test: Avoid obsolescent constructs in the generated
8460 `configure.in'; also, use the `configure.in' stub created by
8461 ./defs, rather than writing it from scratch. Enable `errexit'
8462 shell flag, and related changes. Add trailing `:' command.
8463 * tests/pr279-2.test: Likewise, and make grepping of Makefile.in
8465 * tests/pr307.test: Move setting of `errexit' shell flag earlier
8466 in the script (just after inclusion of ./defs). Escape literal
8467 dots in grep regular expressions. Also, add a trailing `:'
8468 command, and cosmetic changes to spacing.
8470 Tests for PR: add excerpts from original bug report, for clarity.
8471 * tests/pr2.test: Ditto.
8472 * tests/pr9.test: Likewise.
8473 * tests/pr72.test: Likewise.
8474 * tests/pr87.test: Likewise.
8475 * tests/pr211.test: Likewise.
8476 * tests/pr220.test: Likewise.
8477 * tests/pr224.test: Likewise.
8478 * tests/pr229.test: Likewise.
8479 * tests/pr243.test: Likewise.
8480 * tests/pr266.test: Likewise.
8481 * tests/pr279.test: Likewise, and tell to keep it in sync
8482 with its sister test.
8483 * tests/pr279-2.test: Likewise.
8485 2010-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
8487 Tweak, extend and improve tests `cond[a-z]*.test'.
8488 * tests/condd.test: Add trailing `:' command. Typofix in
8490 * tests/condhook.test: Make sure target `install-data-hook' is
8491 not called by `make install', but that data files are installed.
8492 Use proper m4 quoting in configure.in. Add trailing `:' command.
8493 * tests/condhook2.test: New test, sister test of condhook, with
8495 * tests/condinc2.test: Use proper m4 quoting in configure.in.
8496 Prefer trailing `:' command over trailing `Exit 0'.
8497 * tests/condman2.test: Enable errexit shell flag, and related
8498 changes. Add trailing `:' command.
8499 * tests/condman.test: Likewise. Also, do not create useless
8500 dummy manpages, and use proper m4 quoting in configure.in.
8501 * tests/condman3.test: New test, similar to condman.test, but
8502 it also runs ./configure and "make install", and check the
8504 * tests/Makefile.am (TESTS): Updated.
8506 Modernize, improve and/or extend tests `colon*.test.
8507 * tests/colon.test: Rely on the `configure.in' stub created by
8508 `./defs', rather than writing one from scratch. Do not create
8509 a useless dummy file. Add trailing `:' command.
8510 * tests/colon4.test: Enable the `errexit' shell flag, and
8511 related changes. Rely on the `configure.in' stub created by
8512 `./defs', rather than writing one from scratch.
8513 * tests/colon7.test: Enable `errexit' shell flag, and related
8514 changes. Improve the generated `configure.in' file. Add
8515 trailing `:' command.
8516 * tests/colon2.test: Likewise. Also, add some new checks.
8517 * tests/colon5.test: Improve the generated `configure.in' file.
8518 Add new, much deeper checks. Add trailing `:' command.
8519 * tests/colon6.test: Likewise.
8520 * tests/colon3.test: Add trailing `:' command. Remove useless
8521 comments and echos. Improve the generated `configure.in' file.
8522 make some grepping tests stricter. Add a "FIXME" comments about
8523 planned improvements.
8525 Improve and extend tests `asm*.test'.
8526 * tests/asm.test: Use configure.in stub generated by ./defs,
8527 and avoid obsoleted autoconf constructs. Make grepping of
8528 Automake stderr stricter. Do not create useless source file.
8529 Improve verbose messages. Minor cosmetic changes. Tell to
8530 keep it in sync with other sister tests asm*.test.
8531 * tests/asm2.test: Likewise.
8532 * tests/asm3.test: Likewise.
8534 Modernize, improve and/or extend test scripts `conf*.test'.
8535 * tests/confh5.test: Cosmetic changes.
8536 * tests/conff.test: Likewise.
8537 * tests/confdeps.test: Likewise.
8538 * tests/conflnk.test: Likewise.
8539 * tests/conflnk2.test: Likewise.
8540 * tests/confsub.test: Likewise.
8541 * tests/confvar.test: Likewise, and make grepping of Makefile.in
8543 * tests/confvar2.test: Likewise.
8544 * tests/conflnk3.test: Cosmetic changes. Re-enable a temporarily
8545 disabled test (which didn't work with autoconf <= 2.59, but now we
8546 are requiring autoconf 2.62, so...)
8547 * tests/conflnk4.test: Cosmetic changes, and extend existing tests
8548 accordingly to "TODO" comments.
8549 * tests/conff2.test: Make grepping of Automake's stderr stricter.
8550 Add some comments explaining why we don't use the `configure.in'
8551 stub preset be ./defs.
8552 * tests/confh.test: Use the `configure.in' stub created by ./defs,
8553 rather than writing one from scratch, and do not call AC_OUTPUT.
8554 Enable `errexit' shell flag, and related changes. Prefer diff over
8555 cmp to compare text files. Prefer perl over sed to fetch the value
8556 of $(DIST_COMMON) from Makefile.in. Make grepping of the contents
8557 of $(DIST_COMMON) stricter.
8558 * tests/confh4.test: Use the `configure.in' stub created by ./defs,
8559 rather than writing one from scratch. Make grepping of Makefile.in
8561 * tests/confh5.test: Make grepping of `config.h' stricter. Add a
8563 * tests/configure.test: Avoid obsolescent constructs in generated
8564 `configure.ac'. Do not write `configure.in' two times. Escape
8565 literal dots in grep regular expressions.
8566 * tests/confincl.test: Enable `errexit' shell flag, and related
8567 changes. Prefer fgrep over grep. Other cosmetic changes.
8568 * tests/config.test: Renamed to ...
8569 * tests/confh6.test: ... this. Fix m4 quoting in `configure.in',
8570 and make grepping of `config.h' and `config.h.in' stricter.
8571 * tests/conf2.test: Renamed ...
8572 * tests/confh7.test: ... to this. Use the `configure.in' stub
8573 created by ./defs, rather than writing one from scratch. Try to
8574 run the checks both with and without AC_PROG_CC and AC_OUTPUT in
8576 * tests/Makefile.am (TESTS): Updated.
8578 Minor improvements and fixes in tests `depcomp*.test'.
8579 * tests/depcomp.test: Do not create useless dummy source files.
8580 Add a trailing `:' command.
8581 * tests/depcomp2.test: Use `unset' on the CFLAGS variable to ensure
8582 it's not in in the environment, rather than exporting it with an
8583 empty value. Do not pass CC=gcc to configure, as that's already
8584 done in ./defs since we have gcc in $required. Ensure verbose
8585 printing of captured stderr, and normalize its checking. Add a
8586 trailing `:' command.
8587 * tests/depcomp3.test: Quote literal dots and dollar characters in
8588 grep regexps. Always use `: >' rather than `touch' to create empty
8589 files. Explicitly declare phony targets as such in the created
8590 Makefile.am. Add a trailing `:' command.
8591 * tests/depcomp4.test: Quote literal dots and dollar characters in
8592 grep regexp. Explicitly declare phony targets as such in the
8593 created Makefile.am. Ensure verbose printing of captured makes'
8594 stoud/stderr. Add a trailing `:' command.
8595 * tests/depcomp5.test: Move setting of `errexit' shell flag earlier
8596 in the script (just after inclusion of ./defs). Quote literal dots
8597 and dollar characters in grep regexps. Explicitly declare phony
8598 targets as such in the created Makefile.am. Add a trailing `:'
8600 * tests/depcomp6.test: Consistently use m4 quoting in the generated
8601 configure.in. Cosmetic fixes to spacing. Make the "dummy" `if'
8602 statement required by OpenBSD's sh `set -e' more robust, and add
8603 explanatory comments to it.
8604 * tests/depcomp7.test: Likewise, and add a trailing `:' command.
8606 Separate failing part of test `all.test'.
8607 * tests/all.test: Keep only (x)failing part of the test. Working
8608 checks moved out to ...
8609 * tests/all2.test: ... this new test.
8610 * tests/Makefile.am (TESTS): Updated.
8612 Modernize, improve and extend tests `subobj*.test'.
8613 * tests/subobjname.test: Add trailing `:' command.
8614 * tests/subobj.test: Make grepping of `Makefile.in' stricter.
8615 Escape literal dots in grep regexps.
8616 * tests/subobj2.test: Add trailing `:' command. Do not use the
8617 unportable fgrep option `-e'.
8618 * tests/subobj3.test: Add trailing `:' command.
8619 (configure.in): Use proper m4 quoting, and avoid obsolescent
8621 * tests/subobj8.test: Likewise. Also, enable `errexit' shell
8622 flag, with related changes
8623 * tests/subobj4.test: Likewise. Also, make grepping of
8624 `Makefile.in' stricter.
8625 * tests/subobj5.test: Add trailing `:' command. Move setting of
8626 `errexit' shell flag earlier in the script (just after inclusion
8628 (configure.in): Use the stub created by `./defs', rather than
8629 writing it from scratch, and avoid obsolescent constructs.
8630 * tests/subobj6.test: Add trailing `:' command. Move setting of
8631 `errexit' shell flag earlier in the script (just after inclusion
8632 of ./defs). Do not create useless dummy ac-init file `f'.
8633 * tests/subobj7.test: Do not create useless dummy ac-init file
8635 (configure.in): Use the stub created by `./defs', rather than
8636 writing it from scratch, and avoid obsolescent constructs.
8637 * tests/subobj9.test: Move setting of `errexit' shell flag earlier
8638 in the script (just after inclusion of ./defs). Fail the test if
8639 `make distcheck' fails. Ensure verbose printing of captured make
8640 stdout. Avoid useless fork by doing simple grep instead of using
8641 test -n "`COMMAND | grep ...`".
8642 (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
8643 (Makefile.am): Explicitly mark target "print" as phony.
8644 * tests/subobj10.test: Removed duplicated call to `set -e'. Add
8645 trailing `:' command.
8646 (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
8648 Remove a couple of obsoleted tests.
8649 * tests/fpinstall.test: Removed.
8650 * tests/fpinst2.test: Likewise.
8651 * tests/Makefile.am (TESTS): Updated.
8653 Bootstrap: updated HACKING entry.
8654 * HACKING ("Working with git"): Explain how to override the
8655 autoconf and autom4te programs used by the bootstrap process.
8658 * bootstrap: Do not remove `lib/Automake/Config.pm' anymore,
8659 since we don't generate it. Correctly quote arguments of
8660 `eval' builtin. Fixed a botched error message. Removed an
8663 Bootstrap: don't search perl in $PATH.
8664 * bootstrap: Do not explicitly search perl in $PATH anymore.
8665 ($PATH_SEPARATOR): Removed, it's no more needed.
8667 Bootstrap: let the user choose which autoconf to use.
8668 * bootstrap ($AUTOCONF): New variable, from the environment.
8669 ($AUTOM4TE): Likewise, for clarity.
8670 Use "$AUTOCONF" instead of calling "autoconf" directly.
8672 Minor improvements to tests ar*.test.
8673 * tests/ar.test: Add trailing `:' command.
8674 * tests/ar2.test: Likewise, and make grepping of generated
8675 Makefile.in stricter.
8677 2010-08-06 Peter Rosin <peda@lysator.liu.se>
8679 Add new auxiliary 'ar-lib' script, wrapping Microsoft lib.
8680 * lib/ar-lib: New auxiliary script.
8681 * lib/Makefile.am: Add above.
8682 * tests/ar-lib.test: New test.
8683 * tests/Makefile.am: Add above.
8684 * automake.in (@common_files): Distribute the 'ar-lib' script.
8685 * doc/automake.texi (Auxiliary Programs): Mention the new
8687 (Optional): Mention 'ar-lib' in AC_CONFIG_AUX_DIR.
8690 2010-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8692 Fix shell pattern negation in compile script.
8693 * lib/compile (func_file_conv): Use `!' not `^' for pattern
8696 2010-08-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8698 Fix maintainer-check failure.
8699 * tests/cond5.test: Quote sleep argument, this isn't about
8700 time stamp differences.
8702 Sync auxiliary files from upstream.
8703 * lib/config.guess, lib/config.sub, lib/texinfo.tex:
8706 2010-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
8708 Work around a nasty bug (segfault) of Solaris make.
8709 * lib/am/check.am (recheck, recheck-html): Trim trailing spaces
8710 from $list, to avoid triggering a nasty bug (potential segfault)
8713 2010-08-06 Peter Rosin <peda@lysator.liu.se>
8715 Make cond5.test more robust on MSYS.
8716 * tests/cond5.test: Add delay before the first kill attempt to
8717 cater for problems with MSYS bash.
8719 2010-08-01 Peter Rosin <peda@lysator.liu.se>
8721 Wrap some MSVC options in the compile script.
8722 * lib/compile: MSVC supports naming the output file, the option
8723 is just not called -o, so transform -o into the appropriate form
8724 for MSVC. Also wrap some other options while at it (-L, -l, -Wl,
8725 -Xlinker and -I) and convert file names to windows form where
8726 needed for those options to make MSVC more usable in an
8727 autotooled environment.
8728 * doc/automake.texi (Auxiliary Programs): Document the above
8729 extension of the compile script.
8731 * tests/defs.in: New required entry 'cl'.
8732 * tests/compile3.test: New test.
8733 * tests/compile4.test: New test.
8734 * tests/compile5.test: New test.
8735 * tests/Makefile.am: Update.
8737 2010-07-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8739 Add example git work flow; discuss merge --log in HACKING.
8741 Suggestion by Stefano Lattarini.
8743 Add more hints for debugging make rules.
8744 * doc/automake.texi (Debugging Make Rules): Show command to find
8745 out expanded values of variables; point to makefile debugger.
8747 Prompted by suggestion from Ludovic Courtès and Andy Wingo.
8749 2010-07-27 Patrick Welche <prlw1@cam.ac.uk> (tiny change)
8751 Fix typo in the manual.
8752 * doc/automake.texi (Scripts): Fix typo.
8754 2010-07-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8756 Document current policy for development with git.
8757 * HACKING (Working with git): Overhaul.
8758 Prompted by suggestion from Stefano Lattarini.
8760 Fix AM_COND_IF for gone-invalid condition shell expression.
8761 * m4/cond-if.m4 (AM_COND_IF): test contents of $COND_TRUE
8762 variable, rather than re-evaluating the shell expression for
8764 * tests/cond40.test: Extend test.
8767 Avoid syntax error if IF-TRUE part of AM_COND_IF expands empty.
8768 * m4/cond-if.m4 (AM_COND_IF): Ensure IF-TRUE part is never empty
8769 to avoid shell syntax error if the m4 expansion is empty.
8770 * tests/cond40.test: Enhance test.
8772 Coverage: bogus option to AM_INIT_AUTOMAKE.
8773 * tests/init2.test: New test.
8774 * tests/Makefile.am: Update.
8776 2010-07-21 Stefano Lattarini <stefano.lattarini@gmail.com>
8778 Modernize and improve test scripts `subdir*.test'.
8779 * tests/subdir.test: Enable `errexit' shell flag, and related
8780 changes. Use the `configure.in' stub created by `./defs',
8781 rather than writing one from scratch.
8782 * tests/subdir2.test: Likewise.
8783 * tests/subdir4.test: Likewise.
8784 * tests/subdir3.test: Enable `errexit' shell flag, and related
8785 changes. Do not create useless dummy source files.
8786 * tests/subdir5.test: Make grepping of Makefile.in (in topdir
8787 and in subdirs) stricter. Some minor changes to keep it more
8788 in sync with the related test `subdir8.test'.
8789 * tests/subdir8.test: Likewise (but with the related test being
8790 `subdir5.test' here).
8791 * tests/subdir6.test: Cosmetic change in spacing.
8792 * tests/subdir9.test: Define and use new variable `$distdir'. Add
8793 trailing `:' command.
8794 * tests/subdir10.test: Cosmetic consistency-related change.
8795 * tests/subdirbuiltsources.test: Cosmetic changes in spacings.
8796 (configure.in): Use stub created by `./defs', rather than writing
8797 it from scratch. Do not use obsoleted and/or deprecated forms of
8798 autoconf/automake macros.
8800 Modernize and improve test scripts `dist*.test'.
8801 * tests/distcleancheck.test: Do not add useless `-e' option to
8802 a $MAKE call. Extend test by grepping stderr of make.
8803 * tests/distcom2.test: Do not run the same test script on the
8804 Makefile.in twice, but save its output in an intermediate file
8805 instead. Make grepping of DIST_COMMON definition stricter.
8806 Display the content of more files, to ease debugging. Add a
8807 trailing `:' command. Improved heading comments w.r.t. sister
8809 * tests/distcom6.test: Likewise, and avoid to uselessly run
8811 * tests/distcom3.test: Ensure verbose printing of captured stdout
8812 and stderr. Make grepping of captured stderr stricter. Also,
8813 add trailing `:' command.
8814 * tests/distcom4.test: Declare the target `test' in the generated
8815 Makefile.am as `.PHONY'. Display content of more files, to ease
8816 debugging. Add trailing `:' command.
8817 * tests/distcom5.test: Likewise. Also, factor out common sed
8818 script in subroutine `extract_distcommon'.
8819 * tests/distcom7.test: Prefer cat + here-doc over echo to write
8820 test Makefile.am files. Add a trailing `:' command.
8821 * tests/distname.test: Prefer `gzip -d' over `gunzip'. Move the
8822 call to `set -e' earlier. Be stricter and more verbose in the
8823 checking of the generated tarball.
8824 (configure.in): Use the stub provided by ./defs, instead of
8825 writing it from scratch. Avoid obsoleted constructs. Remove
8826 useless call to `AM_PROG_CC_C_O'.
8827 * tests/distdir.test: Various minor improvements/normalizations.
8828 * tests/distlinks.test: Likewise.
8830 2010-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
8832 Improve and extend test cond5.test.
8833 * tests/cond5.test: Do not blindly sleep 60 seconds before polling
8834 the background automake process, but poll it every 10 seconds for
8835 at most 30 times (this makes the test both faster on good machines,
8836 and more resilient to spurious timeout-due failures when in low
8837 priority or on heavily-loaded systems).
8838 Check also that automake writes the expected error messages on the
8840 Enable `errexit' flag, and related changes.
8841 Rely on the `configure.in' stub created by `./defs', rather than
8842 writing one from scratch.
8844 2010-06-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8846 Update program --help output to match current GCS.
8847 * configure.ac: Set and substitute PACKAGE_URL if AC_PACKAGE_URL
8848 is not defined, for compatibility to Autoconf < 2.64.
8849 * Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT and
8851 (sc_diff_automake_in_automake): Update number of diff lines for
8852 additional substitutions.
8853 * aclocal.in (usage): Use PACKAGE_BUGREPORT. Point to Automake
8854 home page and GNU general help page.
8855 * automake.in (usage): Likewise.
8856 * doc/automake.texi: New flag PACKAGE_BUGREPORT, to factor email
8858 (Introduction, Creating amhello, amhello Explained, Options):
8860 * lib/Automake/Makefile.am (do_subst): Substitute
8862 * lib/Automake/Config.in ($PACKAGE_BUGREPORT): New global.
8863 * lib/Automake/ChannelDefs.pm: Use it for footer of fatal
8866 Clean up @var handling in the manual.
8867 * doc/automake.texi: Throughout the manual, lower-case @var
8868 names, replace a few one-character names.
8870 2010-06-26 Stefano Lattarini <stefano.lattarini@gmail.com>
8872 Fix typo-related bug in test script silent5.test.
8873 * tests/silent5.test: Use $EGREP, not $GREP (which is not even
8876 Tests: remove useless repetitions of `foreign' automake option.
8877 * tests/multlib.test (configure.in): Remove useless use of
8878 `foreign' option in AM_INIT_AUTOMAKE (the `--foreign' option is
8879 already in $AUTOMAKE by default, so no point in repeating it).
8880 * tests/subobj10.test: Likewise.
8881 * tests/subobj9.test: Likewise.
8882 * tests/lex3.test (Makefile.am): Similarly, remove useless use
8883 of `foreign' option in AUTOMAKE_OPTIONS.
8884 * tests/lex5.test: Likewise.
8885 * tests/pr279.test: Likewise.
8886 * tests/pr279-2.test: Likewise.
8887 * tests/specflg3.test: Likewise.
8888 * tests/target-cflags.test: Likewise.
8890 Drop useless requirement "gzip" in lex5.test.
8891 * tests/lex5.test ($required): Do not list "gzip", as it's
8894 2010-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
8896 Fix bugs in test script silent5.test.
8897 * tests/silent5.test: Fixed a nasty bug (due to the use of grep
8898 instead of egrep) that could have led to false negatives.
8900 2010-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
8902 Add a test checking that distributed broken symlinks cause
8903 `make dist' to fail.
8904 * tests/distlinksbrk.test: New test.
8905 * tests/Makefile.am (TESTS): Updated.
8907 2010-06-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8909 Fix minor testsuite issues, update docs, for Yacc/Lex changes.
8910 * doc/automake.texi (Yacc and Lex): Mention AM_YFLAGS, YFLAGS
8911 and AM_LFLAGS, LFLAGS in the order in which they now appear in
8914 * tests/lflags.test, tests/lflags2.test, tests/yflags.test,
8915 tests/yflags2.test: Prefer `make -e' over `make VAR=VAL', to
8916 please maintainer-check. Ensure generated C files contain a
8917 declaration, to please compilers.
8919 2010-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
8921 Fix bugs in Automake Yacc/Lex support w.r.t. $(AM_FLAGS) and
8922 $(FLAGS) precedence.
8923 * automake.in: Fix registration of languages "Lex", "Lex (C++)",
8924 "Yacc" and "Yacc (C++)", so that $(LFLAGS) has precedence over
8925 $(AM_LFLAGS) and $(YFLAGS) has precedence over $(AM_YFLAGS).
8926 * tests/Makefile.am (XFAIL_TESTS): Updated accordingly.
8929 New tests, exposing bugs in Automake Yacc/Lex support w.r.t.
8930 $(AM_FLAGS) and $(FLAGS) precedence.
8931 * tests/lflags.test: New test, check that user $(LFLAGS) takes
8932 precedence over automake (AM_LFLAGS) and (foo_LFLAGS). Still
8934 * tests/lflags2.test: Likewise.
8935 * tests/yflags.test: New test, check that user $(YFLAGS) takes
8936 precedence over automake (AM_YFLAGS) and (foo_YFLAGS). Still
8938 * tests/yflags2.test: Likewise.
8939 * tests/Makefile.am (TESTS, XFAIL_TESTS): Extended accordingly.
8941 2010-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
8943 Modernize, improve and extend tests `suffix*.test'.
8944 * tests/suffix3.test: Enable `errexit' shell flag, and related
8946 * tests/suffix4.test: Likewise.
8947 * tests/suffix6.test: Likewise, and do not create a useless dummy
8949 * tests/suffix7.test: Likewise.
8950 * tests/suffix5.test: Enable `errexit' shell flag, and related
8951 changes. Make grepping of Makefile.in slightly stricter.
8952 * tests/suffix.test: Enable `errexit' shell flag, and related
8953 changes. Also, do not redirect grep output to /dev/null, as this
8954 might unmotivatedly hide useful information.
8955 * tests/suffix2.test: Move setting of `errexit' shell flag earlier
8956 in the script (just after inclusion of ./defs). Use a more
8957 idiomatic way to count text occurrences in Makefile.in with
8958 grep. Do not create useless dummy source files.
8959 * tests/suffix10.test: Ensure verbose printing of captured make
8960 stdout. Minor cosmetic changes.
8961 * tests/suffix8.test: Likewise. Also, drop useless call to the
8962 env(1) utility, and make grepping of make output stricter by using
8963 $FGREP rather than plain grep.
8964 * tests/suffix11.test: Likewise.
8965 * tests/suffix12.test: Likewise.
8966 * tests/suffix9.test: Prefer cat + here-doc over echo to append to
8967 the `configure.in' stub. Cosmetic changes.
8968 * tests/suffix13.test: Cosmetic spacing change.
8970 2010-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
8972 Add useful comment in test script ext.test.
8973 * tests/ext.test: Add a comment explaining why an apparently
8974 useless `if' statement is indeed required.
8976 2010-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
8978 Add useful comment in test script obsolete.test.
8979 * tests/obsolete.test: Add a comment explaining why we need
8980 an indirection in adding $AUTOUPDATE to $required.
8982 Normalize whitespaces in 'tests/Makefile.am'.
8983 * tests/Makefile.am (TESTS): Use only spaces, not tabs, in the
8984 definition of this variable.
8986 Parallel tests generation: improve comments (tiny change).
8987 * tests/Makefile.am ($(parallel_tests)): Added useful comment to
8990 Tests defs: truly get rid of `$am_defs_included' (unused variable)
8991 * tests/defs.in ($am_defs_included): Remove, its now unused. It
8992 should have been removed in a previous changeset, but the removal
8993 was done only partially (oversight).
8995 2010-06-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8997 Remove a couple of unneeded conditionals from tests.
8998 * tests/pr243.test, tests/pr266.test, tests/strip.test: No need
8999 for the FOOTEST conditional.
9001 2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
9003 Modernize, improve and/or fix various test scripts.
9004 * tests/symlink3.test: Deleted, separated into two new, more
9006 * tests/forcemiss.test: ... this one ...
9007 * tests/forcemiss2.test: ... and this one.
9008 * tests/symlink2.test: Enable `errexit' shell flag, make test
9009 stricter, and skip it if symlink creation is not supported.
9010 * tests/postproc.test: Enable `errexit' shell flag, related
9011 changes, and a couple of unrelated cosmetic changes.
9012 * tests/recurs.test: Use the `configure.in' stub created by
9013 `./defs', rather than writing one from scratch. Make grepping
9014 of Automake stderr slightly stricter.
9015 * tests/substtarg.test: Likewise.
9016 * tests/strip.test: Likewise, and move the call to `set -e'
9017 earlier (just after the inclusion of `./defs'). Also, make sure
9018 that the script installed by `make install-script' is equal to
9020 * tests/substref.test: Use the `configure.in' stub created by
9021 `./defs', rather than writing one from scratch. Move the call
9022 to `set -e' earlier (just after the inclusion of `./defs').
9023 Avoid to explicitly export CC for configure (that's already done
9024 in ./defs). Avoid potential problems with unpredictable make
9025 output. Finally, make grepping of Makefile.in stricter.
9026 * tests/substre2.test: Ensure verbose printing of the captured
9027 make's output, and make its grepping slightly stricter.
9028 * tests/cygwin32.test: Enable `errexit' shell flag, and related
9029 changes. Also, do not create useless dummy source/data files.
9030 * tests/scripts.test: Likewise.
9031 * tests/recurs2.test: Likewise. Also, use the `configure.in'
9032 stub created by `./defs'.
9033 * tests/Makefile.am (TESTS): Updated.
9035 Modernize, improve and/or fix tests `pluseq*.test.
9036 * tests/pluseq5.test: Append to configure.in using cat with an
9037 here-doc, not using echo.
9038 * tests/pluseq10.test: Make sure that the captured output of
9039 `make' command is always displayed. Where possible, use $FGREP
9040 instead of grep (this change makes some checks slightly stricter).
9041 * tests/pluseq8.test: Enable `errexit' shell flag, with related
9043 * tests/pluseq.test: Likewise. Also, do not create useless dummy
9044 data files, and use better m4 quoting in generated configure.in.
9045 * tests/pluseq2.test: Likewise. Also, append to configure.in
9046 using cat with an here-doc, not using echo.
9047 * tests/pluseq3.test: Likewise.
9048 * tests/pluseq4.test: Likewise.
9049 * tests/pluseq6.test: Likewise.
9050 * tests/pluseq7.test: Do not create useless dummy source file.
9051 * tests/pluseq9.test: Slightly extended w.r.t. the grepping of
9052 Automake stderr. Some unrelated cosmetic changes.
9054 2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
9056 cscope.test: ensure verbose printing of captured stderr.
9057 * tests/cscope.test: Print captured stderr before failing.
9059 2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
9061 Testsuite: ensure verbose printing of captured stderr.
9062 * tests/acloca18.test: Print captured stderr before either failing
9063 or grepping it. Be sure to send captured stderr to stderr, not to
9065 * tests/ansi3b.test: Likewise.
9066 * tests/cond39.test: Likewise.
9067 * tests/configure.test: Likewise.
9068 * tests/missing3.test: Likewise.
9069 * tests/missing6.test: Likewise.
9070 * tests/output-order.test: Likewise.
9071 * tests/pr300-ltlib.test: Likewise.
9072 * tests/python6.test: Likewise.
9073 * tests/python7.test: Likewise.
9074 * tests/python8.test: Likewise.
9075 * tests/python9.test: Likewise.
9076 * tests/subobj.test: Likewise.
9077 * tests/vars3.test: Likewise.
9078 * tests/missing4.test: Likewise, and fix a call to grep not to use
9080 * tests/ansi3.test: Likewise, and rely on the `configure.in' stub
9081 created by `./defs', rather than writing one from scratch.
9083 Enable `errexit' shell flag in various tests.
9084 * tests/backsl.test: Enable the `errexit' shell flag, and
9086 * tests/backsl2.test: Likewise.
9087 * tests/block.test: Likewise.
9088 * tests/canon2.test: Likewise.
9089 * tests/canon4.test: Likewise.
9090 * tests/comment2.test: Likewise.
9091 * tests/condlib.test: Likewise.
9092 * tests/cond15.test: Likewise, and prefer $FGREP over grep.
9093 * tests/canon3.test: Likewise. Also, avoid to create an useless
9095 * tests/acoutpt2.test: Enable the `errexit' shell flag, and some
9096 related changes. Do some cosmetic improvements in the generated
9097 `configure.in' file.
9098 * tests/cond4.test: Likewise.
9099 * tests/cond14.test: Likewise.
9100 * tests/condinc.test: Likewise.
9101 * tests/cond7.test: Likewise. Also, remove useless setting of
9102 AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am.
9103 * tests/ansi.test: Enable the `errexit' shell flag, and related
9104 changes. Extended, esp. by running autoconf, ./configure and
9105 make, and by looking into the distdir.
9107 2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
9108 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9110 Extend tests/README w.r.t. trailing `:' in test scripts.
9111 * tests/README (section "Writing test cases" subsection "Do"):
9112 Explain why apparently redundant trailing `:' and `Exit 0' in
9113 test scripts can indeed be useful.
9115 2010-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
9117 Improve determination of PATH separator in bootstrap script.
9118 * bootstrap: Determine what the PATH separator is the same way
9121 Minor improvements in bootstrap script.
9122 * bootstrap: Consistently use two-spaces indentation. Cosmetic
9123 improvement to comments.
9124 ($me): New variable, containing program basename.
9125 Prepend it to all error messages.
9127 Testsuite now works with BSD make in parallel mode.
9128 * tests/defs.in: Unset variables __MKLVL__ and MAKE_JOBS_FIFO,
9129 which are exported by BSD make when run in parallel mode, and
9130 which can confuse make processes spawned by our testsuite.
9131 This change fixes a lot of spurious failure when the testsuite
9132 is run with BSD make in parallel mode.
9134 2010-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
9136 Modernize, improve and/or fix various test scripts.
9137 * tests/sanity.test: Rely on the `configure.in' stub created by
9138 `./defs', rather than writing one from scratch.
9139 * tests/depend2.test: Likewise. Also, call `set -e' just after
9140 the inclusion of `./defs', instead that later in the script.
9141 * tests/canon5.test: Avoid a useless `|| Exit 1' after a call to
9142 $AUTOMAKE, and improve the positioning of an $ACLOCAL call.
9143 * tests/exeext4.test: Use $FGREP instead of grep, where possible.
9144 Make auxiliary rules in the generated Makefile more silent.
9145 These changes make some checks slightly stricter.
9146 * tests/ext2.test: Call `Exit 1' if inclusion of `./defs' fails.
9147 * tests/gettext2.test: Place final `:' at the end of the script,
9148 rather than in the middle.
9149 * tests/exeext.test: Call `set -e' just after the inclusion of
9150 `./defs', instead that later in the script.
9151 * tests/extra5.test: Likewise.
9152 * tests/confdeps.test: Likewise. Also, prefer `mv -f' over
9153 plain `mv', just to be sure.
9154 * tests/depcomp.test: Enable `errexit' shell flag, with related
9155 changes. Also, modernize the generated configure.in.
9156 * tests/cond9.test: Likewise. Also, rely on the `configure.in'
9157 stub created by `./defs', rather than writing one from scratch.
9158 * tests/cond10.test: Likewise.
9159 * tests/depcomp2.test: Likewise.
9160 * tests/depend3.test: Likewise.
9161 * tests/distcom7.test: Likewise.
9162 * tests/fortdep.test: Likewise. Also, remove definition of
9163 AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am,
9164 since that flag is already provided by $AUTOMAKE.
9165 * tests/mdate.test: Made stricter, by checking that Automake
9166 actually failed, and by making a stricter grep on the error
9167 message. Also, set shell `errexit flag'.
9168 * tests/python2.test: Improved verbose messages.
9170 Make test `ammissing.test' stricter.
9171 * tests/ammissing.test: Fail if $ACLOCAL succeeds unexpectedly.
9172 Enable `errexit' shell flag.
9174 2010-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
9175 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9177 Fix error in generation of parallel tests.
9178 * tests/defs.in ($am_skip_defs): New variable, to be used when
9179 ./defs must be sourced multiple times. If set, unset it and
9180 only define $srcdir; otherwise, also go through the rest of
9182 ($am_defs_included): Remove, no more needed.
9183 * tests/Makefile.am ($(parallel_tests)): Update accordingly,
9184 using only $srcdir from defs.
9185 Fixes potential test failures of tests that use $required.
9187 2010-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
9189 Enable `errexit' shell flag in some test scripts.
9190 * tests/subcond.test: Enabled `errexit' shell flag, and related
9192 * tests/subst.test: Likewise.
9193 * tests/vars.test: Likewise.
9194 * tests/version4.test: Likewise.
9195 * tests/vpath.test: Likewise.
9196 * tests/vtexi2.test: Likewise.
9197 * tests/werror.test: Likewise.
9198 * tests/whoami.test: Likewise.
9199 * tests/tags.test: Likewise, and avoid to crate an useless dummy
9201 * tests/acsilent.test: Likewise, and don't use an easily-avoided
9202 command substitution.
9203 * tests/unused.test: Likewise, and don't use an easily-avoided
9204 command substitution.
9205 * tests/version.test: Likewise, and avoid deprecated constructs
9206 in the generated `configure.in'.
9207 * tests/version2.test: Likewise, and avoid deprecated constructs
9208 in the generated `configure.in'.
9210 2010-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
9211 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9213 Improve declaration of dependencies in the testsuite.
9214 * tests/Makefile.am (check_SCRIPTS): Remove. Instead, let ...
9215 ($(TEST_LOGS)): ... all test logs depend on the scripts.
9216 * test/gen-parallel-tests: For each parallel test foo-p.test,
9217 let `foo-p.log' also depend on `foo.test', since it is sourced.
9219 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9221 Coverage for TAGS_DEPENDENCIES warning.
9222 * tests/tags2.test: New test.
9223 * tests/Makefile.am: Update.
9225 Coverage for use of anachronistic variables.
9226 * tests/oldvars.test: New test.
9227 * tests/Makefile.am: Update.
9229 Testsuite coverage for bogus macro file serial numbers.
9230 * tests/acloca18.test: Also test ill-formed serial numbers
9231 and serial numbers after macro definitions.
9233 Coverage for aclocal diagnosing underquoted macros.
9234 * tests/acloca23.test: New test.
9235 * tests/Makefile.am: Update.
9237 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9239 Prefer AUTOMAKE_fails over `$AUTOMAKE | grep' in tests.
9240 * tests/ldadd.test: Enable errexit. Use AUTOMAKE_fails so
9241 the verbose log contains all output.
9242 * tests/mdate.test: Likewise.
9243 Prompted by Stefano Lattarini's change to discover.test.
9245 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9247 More minor message fixes.
9248 * aclocal.in (scan_file): Fix recommended info command line.
9249 * automake.in (handle_lib_objects): No need to prepend function
9250 name to prog_error message.
9251 (handle_tags): Add missing word and missing space in error
9253 (handle_dist): Add missing closing single quote in message.
9254 Line-wrap one long message for readability.
9256 2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
9257 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9259 Fix distcheck failure with distributed generated parallel tests.
9260 * tests/Makefile.am ($(parallel_tests)): Cope with $(srcdir)
9261 being different from the value at developer `make dist' time.
9262 * tests/defs.in: Protect against multiple inclusion, by using ...
9263 ($am_defs_included): ... this new variable.
9264 ($srcdir): Do not compute, but simply define to `@abs_srcdir@'
9265 as substituted by configure.
9266 Report, suggestions and first fix by Ralf Wildenhues, final
9267 patch by Stefano Lattarini.
9269 2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
9271 Improve tests link*.test (enable `errexit' shell flag).
9272 * tests/link_c_cxx.test: Enable `errexit shell flag, and related
9273 changes. Also, do not create useless source files.
9274 * tests/link_dist.test: Likewise.
9275 * tests/link_f90_only.test: Likewise.
9276 * tests/link_f_only.test: Likewise.
9277 * tests/link_fc.test: Likewise.
9278 * tests/link_fccxx.test: Likewise.
9279 * tests/link_fcxx.test: Likewise.
9281 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9283 Improve ext.test semantics, avoid OpenBSD sh errexit issue.
9284 * tests/ext.test: Inside shell compound command, use
9285 `if $cmd; then Exit 1; fi' rather than `$cmd && Exit 1', to
9286 fix failure with OpenBSD sh introduced with last patch.
9287 Actually ensure that a rule for .EXT.o is created for each
9288 known extension EXT.
9290 2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
9292 Enable `errexit' shell flag in some test scripts.
9293 * tests/dash.test: Enable `errexit' shell flag, and related
9295 * tests/defun.test: Likewise.
9296 * tests/defun2.test: Likewise.
9297 * tests/dejagnu.test: Likewise.
9298 * tests/double.test: Likewise.
9299 * tests/distcom2.test: Likewise.
9300 * tests/empty2.test: Likewise.
9301 * tests/empty3.test: Likewise.
9302 * tests/empty4.test: Likewise.
9303 * tests/exdir.test: Likewise.
9304 * tests/ext.test: Likewise.
9305 * tests/extra.test: Likewise.
9306 * tests/extra2.test: Likewise.
9307 * tests/extra3.test: Likewise.
9308 * tests/extra4.test: Likewise.
9309 * tests/flibs.test: Likewise.
9310 * tests/fnoc.test: Likewise.
9311 * tests/fo.test: Likewise.
9312 * tests/instexec.test: Likewise.
9313 * tests/ltdeps.test: Likewise.
9314 * tests/nodep.test: Likewise.
9315 * tests/nodepcomp.test: Likewise.
9316 * tests/f90only.test: Likewise, and remove botched/obsoleted
9317 comments and unnecessary commands.
9318 * tests/fonly.test: Likewise, and remove botched/obsoleted
9319 comments and unnecessary commands.
9320 * tests/discover.test: Likewise, and made stricter.
9322 Enable `errexit' shell flag in all tests cxx*.test.
9323 * tests/cxx.test: Enabled `errexit' shell flag, and related
9325 * tests/cxxansi.test: Likewise.
9326 * tests/cxxcpp.test: Likewise.
9327 * tests/cxxlibobj.test: Likewise.
9328 * tests/cxxlink.test: Likewise.
9329 * tests/cxxo.test: Likewise.
9331 Enable `errexit' shell flag in various tests.
9332 * tests/acoutnoq.test: Enabled `errexit' shell flag, and related
9334 * tests/acoutpt.test: Likewise.
9335 * tests/acoutqnl.test: Likewise.
9336 * tests/amassign.test: Likewise.
9337 * tests/ansi2.test: Likewise.
9338 * tests/ansi4.test: Likewise.
9339 * tests/badprog.test: Likewise.
9340 * tests/checkall.test: Likewise.
9341 * tests/clean.test: Likewise.
9342 * tests/colneq2.test: Likewise.
9343 * tests/colon.test: Likewise.
9344 * tests/colon5.test: Likewise.
9345 * tests/colon6.test: Likewise.
9346 * tests/comment.test: Likewise.
9347 * tests/compile_f90_c_cxx.test: Likewise.
9348 * tests/compile_f_c_cxx.test: Likewise.
9349 * tests/cond3.test: Likewise.
9350 * tests/cond6.test: Likewise.
9351 * tests/cond13.test: Likewise.
9352 * tests/conf2.test: Likewise.
9353 * tests/confvar.test: Likewise.
9354 * tests/confvar2.test: Likewise.
9355 * tests/cond8.test: Likewise, plus a cosmetic change.
9356 * tests/confh4.test: Likewise. Also, add in the heading comments
9357 an excerpt from the original bug report which motivated the
9358 creation of this test, to make its purpose clearer.
9360 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9362 Rewrite manual to be gender-neutral.
9363 * doc/automake.texi (GNU Build System)
9364 (Standard Directory Variables, General Operation, CVS)
9365 (Hard-Coded Install Paths, Dependencies As Side Effects):
9366 Rewrite text to not contain gender-specific pronouns when
9367 speaking about developers or users, either by avoiding pronouns
9368 or by addressing them as `you' instead.
9370 Report by Christina Gratorp.
9374 2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
9376 Tiny fix in silent8.test (display output of `make' command).
9377 * tests/silent8.test: Make sure that the captured output of `make'
9378 command is always displayed.
9380 Make tests on user extensibility of silent-rules mode stricter.
9381 * tests/silent6.test: Made stricter w.r.t. the grepping of the
9382 output produced by `make'.
9383 * tests/silent7.test: Likewise.
9385 Tests on silent-mode for C/Libtool made stricter.
9386 * tests/silent.test: Made stricter w.r.t. the grepping of the
9387 output produced by `make'.
9388 * tests/silent2.test: Likewise.
9389 * tests/silent4.test: Likewise.
9390 * tests/silent9.test: Likewise.
9391 * tests/silent3.test: Likewise, and add a final `make distclean'
9392 command to keep it better in sync with tests/silent{4,9}.test.
9394 Improved test silent5.test.
9395 * tests/silent5.test: Remove by hand all generated C files after
9396 non-verbose builds, to ensure the following builds are clean.
9397 Try to clean and rebuild with the same verbosity and without
9398 removing generated sources in between, to check that this does
9399 not trigger a different set of rules. Make grepping of make's
9400 output stricter. Improved/added some comments.
9402 New tests for Automake silent-mode with Fortran.
9403 * tests/silentf77.test: New test.
9404 * tests/silentf90.test: Likewise.
9405 * tests/Makefile.am (TESTS): Updated accordingly.
9407 New test `silentcxx.test' (Automake silent-mode with C++).
9408 * tests/silentcxx.test: New test.
9409 * tests/Makefile.am (TESTS): Updated accordingly.
9411 New test `silentyacc.test' (Automake silent-mode with Yacc).
9412 * tests/silentyacc.test: New test.
9413 * tests/Makefile.am (TESTS): Updated accordingly.
9415 New test `silentlex.test' (Automake silent-mode with Lex).
9416 * tests/silentlex.test: New test.
9417 * tests/Makefile.am (TESTS): Updated accordingly.
9419 Relax tests on silent-rules to cater to overly verbose makes.
9420 * tests/silent.test: When testing silent builds, don't fail if
9421 make's output simply contains the `mv' substring, but only if
9422 it contains the `mv ' substring (note the trailing space).
9423 * tests/silent2.test: Likewise.
9424 * tests/silent3.test: Likewise.
9425 * tests/silent4.test: Likewise.
9426 * tests/silent5.test: Likewise.
9427 * tests/silent9.test: Likewise.
9429 2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
9431 Extend test on `nostdinc' automake option.
9432 * tests/nostdinc.test: Enable `errexit' shell flag. Related and
9433 unrelated minor changes. Make the grepping of the generated
9434 Makefile.in slightly stricter. Generate and run configure, so that
9435 the generated Makefile can be grepped too.
9437 2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9439 Make gnupload portable to EBCDIC hosts.
9440 * lib/gnupload: Use literal newline as argument for 'tr' rather
9441 than \015, for EBCDIC hosts. Also, avoid unportable nested
9442 double-quotes and backquotes.
9444 Report from Eric Blake and Steve Goetze via gnulib.
9446 2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
9448 Fix Autoconf version required by Automake's configure.
9449 Automake configure script used to tell that automake required
9450 autoconf 2.60 or later, but then it checked for autoconf >= 2.62,
9451 and if that was not found, it gave an error saying that Automake
9452 required configure 2.61a-341 or later. This change should
9453 eliminate such inconsistencies.
9454 * configure.ac ($required_autoconf_version): New variable.
9457 2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9459 Fix truncated comment in Makefile.am.
9460 * Makefile.am (sc_tests_logs_duplicate_prefixes): Fix unfinished
9461 sentence in comment.
9462 Report by Stefano Lattarini.
9464 Relax silent8.test for NetBSD make.
9465 * tests/silent8.test: Accept ./foo.info in output as well.
9467 Fix unportable sed script in maintainer-check test.
9468 * Makefile.am (sc_tests_Exit_not_exit): Rewrite sed script to
9469 not contain semicolon after 'b' or brace commands, for NetBSD.
9471 Wildcards are not portable to NetBSD make.
9472 * doc/automake.texi (Wildcards): Document portability issue.
9473 * tests/extra10.test, tests/extra11.test, tests/extra12.test:
9476 2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
9478 Make test for configure.in vs. configure.ac stricter.
9479 * tests/configure.test: Use a configure.in file that provokes
9480 an automake error, to ensure configure.ac is preferred.
9482 Avoid possible false negatives in dejagnu7.test.
9483 * tests/dejagnu7.test: Enable shell `errexit' flag. Also, avoid
9484 unportable use of fgrep option `-e'.
9486 Fix conflnk3.test to work with Solaris/Heirloom Sh.
9487 * tests/conflnk3.test: Use `test -r FILE' and `test ! -r FILE'
9488 instead of respectively `test -e FILE' and `test ! -e FILE',
9489 since Solaris Sh doesn't grok the latter. Do not SKIP the test
9490 if the shell doesn't support `test -e'.
9492 2010-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9494 Warning and error message formatting cleanups.
9495 * aclocal.in (parse_arguments, main): Remove trailing period or
9496 newline in error or warning messages, avoid capitalization of
9497 the first word of a message.
9498 * automake.in (check_user_variables, handle_languages)
9499 (handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files)
9500 (scan_autoconf_files, cond_stack_if, require_file_internal)
9501 (usage, generate_makefile, parse_arguments): Likewise.
9502 * lib/Automake/ChannelDefs.pm (set_strictness): Likewise.
9503 * lib/Automake/Configure_ac.pm (find_configure_ac): Likewise.
9504 * lib/Automake/Options.pm (set_strictness): Likewise.
9505 * lib/Automake/Rule.pm (define): Likewise.
9506 * lib/Automake/Variable.pm (define, variables_dump): Likewise.
9507 * tests/ltinstloc.test, tests/suffix11.test: Adjust expected
9509 * lib/Automake/Channels.pm (setup_channel): Reword error message
9510 to be the same as in msg.
9512 Fix placing of ellipses in English text and synopses.
9513 * Makefile.am: Be sure to add a space before `...' in natural
9515 * automake.in (scan_autoconf_traces): Likewise.
9516 * lib/Automake/Rule.pm (define): Likewise.
9517 * lib/Automake/Variable.pm (define): Likewise.
9518 * lib/am/dejagnu.am: Likewise.
9519 * lib/am/progs.am: Likewise.
9520 * lib/gnupload (dprint, upload): Likewise.
9521 * tests/confdeps.test: Likewise.
9522 * tests/location.test: Adjust expected output.
9523 * automake.in (usage): In synopsis, use singular for OPTION,
9524 * remove space before ellipsis.
9525 * aclocal.in (usage): Likewise. Also, fix indentation.
9527 Fix more duplicate message prefixes.
9528 * lib/Automake/XFile.pm (seek): Do not prepend $me.
9529 ($me): Remove now-unused package-global.
9530 * aclocal.in (check_acinclude): Remove duplicate 'warning: '
9534 * doc/automake.texi (Simple Tests using parallel-tests): Add
9535 missing closing parenthesis.
9537 Fix leftover call to removed function macros_dump.
9538 * automake.in (read_main_am_file): Call variables_dump, not
9539 macros_dump. Print actual error before list of variables.
9541 2010-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
9543 Minor improvements in comments of test `silent3.test'.
9544 * tests/silent3.test: Tell to keep it in sync with `silent9.test'
9547 2010-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9549 testsuite: ensure verbose printing of captured output.
9550 * tests/acloca14.test, tests/acloca18.test, tests/aclocal.test,
9551 tests/fort2.test, tests/help.test, tests/missing3.test,
9552 tests/missing6.test: Print captured stdout or stderr before
9555 2010-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
9557 Make test badopt.test stricter (by enabling `set -e').
9558 * tests/badopt.test: Add call to `set -e'. Due to this change,
9559 an unexpected failure in the call to `$ACLOCAL' (whose outcome
9560 was previously unchecked) would cause the whole test to fail.
9561 Also, bumped the copyright years.
9563 Make test for configure.in vs. configure.ac stricter.
9564 * tests/configure.test: Use a configure.in file that provokes
9565 an automake error, to ensure configure.ac is preferred.
9567 Use `set -e' in confsub.test (avoids possible false negatives).
9568 * tests/confsub.test: Enable shell `errexit' flag, and related
9569 changes (this helps avoiding some possible minor false negatives).
9570 Also, bumped copyright years.
9572 2010-04-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9574 Fix -Werror handling for presence of configure.in and configure.ac.
9575 * lib/Automake/Variable.pm (Automake::Variable): Do not initialize
9576 $configure_ac at the global level, before command-line arguments
9578 (require_variables): Initialize it here.
9579 * tests/configure.test: New test.
9580 * tests/Makefile.am: Update.
9581 Report by Stefano Lattarini.
9583 2010-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
9585 Avoid possible false negatives in confh5.test.
9586 * tests/confh5.test: Enable shell `errexit' flag, and bumped
9587 copyright years. Due to this change, any unexpected failure
9588 in calls to $ACLOCAL, $AUTOMAKE, $AUTOCONF or $AUTOHEADER, or
9589 a failure in grepping expected text in output files should now
9590 cause the whole test to fail.
9592 2010-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
9594 Fixed typo in POD documentation of Automake::Channels.
9595 * lib/Automake/Channels.pm: Fixed typo in POD documentation:
9596 @<...> was used instead of C<...>.
9598 2010-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
9600 Refactor tests on Automake TESTS color output.
9601 * tests/color.test: Tests using the expect program moved out to...
9602 * tests/color2.test: ... this new file.
9603 * tests/Makefile.am (TESTS): Extended accordingly.
9605 2010-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
9607 Fix typos in comments in test confh5.test
9608 * tests/confh5.test: Fix a couple of typos in comments.
9610 Avoid possible false negatives in canon-name.test.
9611 * tests/canon-name.test: Enable shell `errexit' flag. Improve
9614 2010-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9616 Print 'warnings are treated as errors' note if needed.
9617 * lib/Automake/Channels.pm: Fix typo in comment.
9618 (_print_message): If -Werror is enabled, print a 'warnings are
9619 treated as errors' note before the first such warning.
9620 * tests/warnopts.test: Adjust comment to mention expected warning.
9621 Adjust code to ignore 'warnings are treated as errors' note.
9622 * tests/location.test: Adjust expected output with -Werror.
9623 * tests/werror4.test: New test.
9624 * tests/Makefile.am: Update.
9627 Ensure we don't print 'warning:' or 'error:' twice.
9628 * Makefile.am (sc_ensure_testsuite_has_run): New helper rule.
9629 (sc_tests_logs_duplicate_prefixes): New rule, to check for
9630 wrong-looking warning and error messages in the test suite logs.
9631 * aclocal.in (scan_configure_dep, scan_file): Remove duplicate
9633 * tests/vars3.test: Rename variable to avoid false positive.
9635 Prepend type to warning, error, and fatal messages.
9636 For the first part of messages of types `error' or `fatal',
9637 prepend `error: ' to the message. Prepend `warning: ' to
9638 warning messages, whatever the setting of -Werror.
9639 * lib/Automake/Channels.pm (partial): Move up definition.
9640 (_format_message): Emit `header' and `footer' strings only with
9641 the first resp. last part of a set of partial messages.
9642 * lib/Automake/ChannelDefs.pm: Add missing '1;' statement at the
9644 (Automake::ChannelDefs): Setup warning channels with header
9645 `warning: ', error and fatal messages with header `error: '.
9646 * tests/condinc2.test, tests/ltinstloc.test: Adjust expected
9648 * tests/comment5.test: Likewise. Also, include stack notes
9649 should not start with `error:'.
9650 * tests/location.test: Likewise. Also, try both -Werror and
9653 Report by Bruno Haible.
9655 Fix capitalization of error messages, reword one message.
9656 * lib/Automake/Variable.pm (define): Do not capitalize the first
9657 word in the error message.
9658 * automake.in (require_file_internal): Likewise. Also, reword
9659 and line-wrap for better readability.
9660 * tests/distcom7.test, tests/pluseq5.test, tests/pluseq9.test:
9663 Fix connected warnings about obsolete exeext override.
9664 * lib/Automake/Rule.pm (define): Merge two warnings that belong
9665 together, by setting the 'partial' flag for the first one.
9667 Fix per-Makefile.am setting of -Werror.
9668 Before this patch, 'AUTOMAKE_OPTIONS = -Werror' in one
9669 Makefile.am would carry over to other Makefile.am files
9670 treated afterwards by the same thread, causing inconsistent
9671 and unstable exit status values.
9672 * lib/Automake/Channels.pm (dup_channel_setup)
9673 (drop_channel_setup): Save and restore the setting of
9674 $warnings_are_errors.
9675 * tests/werror3.test: New test.
9676 * tests/Makefile.am: Adjust.
9679 2010-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
9681 Bugfix in confh5.test w.r.t. Solaris/Heirloom Sh.
9682 * tests/confh5.test: In the generated Makefile.am: do not use
9683 `test ! -e FILE' to check for the non-existence of a file, since
9684 that is not supported by Solaris/Heirloom Sh.
9686 Make test `aclocal3.test' stricter.
9687 * tests/aclocal3.test: Add call to `set -e'. Fail if $ACLOCAL
9688 succeds unexpectedly.
9690 Add tests checking that symlinks are resolved by `make dist'.
9691 * tests/distlinks.test: New test.
9692 * tests/Makefile.am (TESTS): Updated accordingly.
9693 Suggested by observations from Ralf Wildenhues.
9695 2010-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9697 Use -9 for maximum xz compression with dist-xz.
9698 * lib/am/distdir.am (dist-xz, dist, dist-all): Pass -9 to xz.
9699 * NEWS, THANKS: Update.
9700 Report by Pavel Sanda.
9702 2010-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
9704 Avoid possible false negatives in cond46.test.
9705 * tests/cond46.test: Enable shell `errexit' flag (and bumped
9706 copyright years). Due to this change, the testcase should now
9707 fail on unexpected failures in calls to $ACLOCAL/$AUTOMAKE (whose
9708 outcomes were previously unchecked), and on failures in grepping
9709 the expected diagnostic in Automake stderr.
9711 2010-04-04 Stefano Lattarini <stefano.lattarini@gmail.com>
9713 Generated tests are now just a thin layer around other tests.
9714 * tests/Makefile.am: Rewrite the rule to generate the `*-p.test'
9715 test scripts so that any of them simply includes the corresponding
9716 `*.test' script (after setting `$parallel_tests' to `yes').
9717 * tests/.gitignore: Add wildcard for temporary files used in the
9718 generation of `*-p.test' tests.
9720 2010-03-30 Stefano Lattarini <stefano.lattarini@gmail.com>
9722 Avoid an unportable use of `$status' shell variable.
9723 * Makefile.am (path-check): Don't use the `$status' shell variable
9724 in the target's rules, as it's special in Zsh (equivalent to `$?',
9727 Avoid another use of `chmod -R'.
9728 * Makefile.am (path-check): To be safe, do not use `chmod -R' on
9729 $(distdir) before removing it (as Solaris `chmod -R' touches
9730 symlink targets). Instead, use the cleanup strategy used in
9733 2010-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9735 Remove uses of @acronym and @sc.
9736 * doc/automake.texi (Public Macros, Limitations on File Names):
9737 Remove all usage of @acronym and @sc in the manual.
9738 Suggested by Karl Berry.
9740 2010-03-13 Karl Berry <karl@freefriends.org>
9742 GNU hello uses fdl.texi, not gpl.texi.
9743 * doc/automake.texi (Texinfo): Adjust example to upstream
9746 2010-03-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9748 Formatting cleanups in macro comments.
9749 * automake.in, lib/Automake/Channels.pm,
9750 lib/Automake/FileUtils.pm, lib/Automake/Options.pm,
9751 lib/Automake/Variable.pm, lib/Automake/XFile.pm,
9752 m4/options.m4, m4/substnot.m4: Fix macro comment format.
9754 2010-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
9755 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9757 Avoid generation of `tests/defs-p' file.
9758 * tests/defs.in: In the generated `configure.in' snippet: call
9759 `AM_INIT_AUTOMAKE' with the `parallel-tests' option if the shell
9760 variable `parallel_tests' is set to `yes'.
9761 * tests/Makefile.am (defs-p): Target removed.
9762 (check_SCRIPTS): Removed `defs-p'.
9763 (clean-local-check): Do not unlink `defs-p' anymore.
9764 ($(parallel_tests)): Transformation rules for the test scripts
9766 * tests/gen-parallel-tests: Selection rules for the test
9768 * tests/parallel-tests.test: Set `$parallel_tests' to `yes'
9769 then include `./defs' (rather than simply including `./defs-p').
9770 * tests/parallel-tests2.test: Likewise.
9771 * tests/parallel-tests3.test: Likewise.
9772 * tests/parallel-tests4.test: Likewise.
9773 * tests/parallel-tests5.test: Likewise.
9774 * tests/parallel-tests6.test: Likewise.
9775 * tests/parallel-tests7.test: Likewise.
9776 * tests/parallel-tests8.test: Likewise.
9777 * tests/parallel-tests9.test: Likewise.
9778 * tests/parallel-tests10.test: Likewise.
9779 * tests/README (Section "Writing Test Cases" subsection "Do"):
9780 Adjusted the parts referring to tests checking `parallel-tests'
9781 behaviour. Some other minor related improvements.
9782 * tests/.gitignore (defs-p): Removed.
9784 2010-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
9786 Remove redundant unset of variable TESTS from some test scripts.
9787 * tests/color.test: Do not unset the `TESTS' variable, as it's
9788 already unset in the `defs' file.
9789 * tests/check5.test: Likewise.
9790 * tests/check8.test: Likewise.
9791 * tests/check9.test: Likewise.
9792 * tests/check10.test: Likewise.
9793 * tests/check11.test: Likewise.
9794 * tests/parallel-tests.test: Likewise.
9795 * tests/parallel-tests3.test: Likewise.
9796 * tests/parallel-tests4.test: Likewise.
9797 * tests/parallel-tests5.test: Likewise.
9798 * tests/parallel-tests6.test: Likewise.
9799 * tests/parallel-tests7.test: Likewise.
9801 2010-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9803 Fix cscope test on systems without working Fortran compiler.
9804 * tests/cscope.test: Skip remainder of test if `$MAKE all' fails.
9806 Report by Peter Johansson.
9808 2010-02-24 Antonio Diaz Diaz <ant_diaz@teleline.es> (tiny change)
9809 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9811 Add lzip compression support.
9812 * automake.in (handle_dist): Recognize dist-lzip.
9813 (make_paragraphs): Map LZIP to dist-lzip.
9814 * doc/automake.texi (Dist): Add dist-lzip.
9815 (Options): Likewise.
9816 * lib/Automake/Options.pm (_process_option_list): Add dist-lzip.
9818 (dist dist-all): Add command to create an lzip-compressed tarball.
9819 (distcheck): Handle lzip-compressed tarballs just like the others.
9820 * tests/defs.in: Test for lzip, too.
9821 * tests/lzip.test: New file, based on nogzip.test.
9822 * tests/Makefile.am (TESTS): Add lzip.test.
9825 2010-02-22 Karl Berry <karl@gnu.org>
9827 Improve help message of mdate-sh.
9828 * mdate-sh: mention actual output format in help message.
9830 2010-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9832 Deprecate dist-lzma in favor of dist-xz.
9833 * doc/automake.texi (The Types of Distributions, Options):
9834 Adjust text to reflect renaming of lzma to xz.
9836 Missing deprecation noted by Antonio Diaz Diaz.
9838 2010-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
9840 Add tests about support of wildcards in EXTRA_DIST.
9841 * tests/extra10.test: New test, check basic support of wildcards
9843 * tests/extra11.test: New test, check more complex usage of
9844 wildcards in EXTRA_DIST.
9845 * tests/extra12.test: New test, check usage of wildcards in
9846 EXTRA_DIST when $builddir != $srcdir.
9847 * tests/Makefile.am (TESTS): Updated accordingly.
9848 Necessity of these new tests suggested by Braden McDaniel
9849 and Ralf Wildenhues.
9851 2010-02-08 Simon Josefsson <simon@josefsson.org>
9853 Fix copyright statement in gnupload script.
9854 * lib/gnupload: Fix copyright statement.
9856 2010-02-06 Dmitry V. Levin <ldv@altlinux.org> (tiny change)
9857 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9859 Fix exit status of signal handlers in shell scripts.
9860 The value of `$?' on entrance to signal handlers in shell scripts
9861 cannot be relied upon, so set the exit code explicitly to
9863 * lib/am/check.am (am__check_pre): Use `exit 143' in signal handler.
9864 * lib/elisp-comp: Likewise.
9865 * lib/install-sh: Likewise.
9866 * lib/ylwrap: Likewise. Also, fix script to trap signal 13, not 3.
9867 * NEWS, THANKS: Update.
9868 Bug report, analysis, and initial patch by Dmitry V. Levin.
9870 2010-02-06 Karl Berry <karl@gnu.org>
9872 Improve gnupload usage text.
9873 * gnupload (usage): Shorten to make more likely to fit on a tty
9874 line. Mention CMD in the synopsis. With ..., plural is implied.
9876 2010-01-28 Christos Kontas <xakon@yahoo.com> (tiny change)
9878 Fix some typos in the manual
9879 * doc/automake.texi (Nested Packages, Rebuilding): Fix typos.
9881 2010-01-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9883 Fix silent-rules output for disabled dependency tracking.
9884 * lib/am/depend2.am [!%FASTDEP%]: Rework silent-rules variable
9885 expansion code to also work in the case where %AMDEP% expands
9886 to FALSE at config.status time, using new substitution string
9888 * automake.in (verbose_nodep_flag): New function, appending
9889 `@am__nodep@' to the verbose-variable name.
9890 (handle_languages): If dependencies are not disabled, use it to
9891 set %VERBOSE-NODEP%.
9892 * m4/depend.m4: Substitute am__nodep as '_no', so the second
9893 verbose-variable will always expand to an empty string, if
9894 dependencies are enabled.
9895 * tests/silent5.test: Also test --disable-dependency-tracking;
9896 also test per-target flags for non-C language files.
9897 * tests/silent9.test: New test, like silent4.test but disable
9898 dependency tracking.
9899 * tests/Makefile.am: Adjust.
9900 * NEWS, THANKS: Update.
9901 Report by Dmitry V. Levin <ldv@altlinux.org>.
9903 2010-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
9905 Slighty improve tests acoutbs.test and acoutbs2.test.
9906 * tests/acoutbs2.test: Enable `errexit' shell flag. Check that
9907 autoconf and configure work, that the file `zot' is created by
9908 configure, and that no file containing a backslash in its name is
9910 * tests/acoutbs.test: Likewise, plus updated copyright years.
9912 Fix test acoutbs2.test.
9913 * tests/acoutbs2: In the generated configure.in: add proper calls
9914 to AC_INIT and AM_INIT_AUTOMAKE, and remove explicit definition of
9915 PACKAGE and VERSION. Add a call to aclocal before calling automake.
9916 Updated copyright years.
9917 * tests/Makefile.am (XFAIL_TESTS): Removed acoutbs2.test.
9919 Add forgotten test scripts to $(TESTS).
9920 * tests/Makefile.am (TESTS): Added test scripts present on the
9921 filesystem, which were erroneously left out from $(TESTS):
9922 acoutbs2.test, badopt.test, extra2.test.
9923 (XFAIL_TESTS): Added acoutbs2.test.
9925 2010-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9927 Sync auxiliary files from upstream.
9928 * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub:
9931 Bump copyright years.
9932 * aclocal.in (write_aclocal, version): Bump copyright years.
9933 * automake.in (gen_copyright, version): Likewise.
9934 * doc/automake.texi: Likewise.
9937 * ChangeLog.09: New file, rotated from ...
9938 * ChangeLog: ... here.
9939 * Makefile.am (EXTRA_DIST): Distribute ChangeLog.09.
9943 Copyright (C) 2010, 2011 Free Software Foundation, Inc.
9945 Copying and distribution of this file, with or without modification, are
9946 permitted provided the copyright notice and this notice are preserved.