1 2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
3 tests: drop unnecessary requirement in 'subpkg.test'
4 * tests/subpkg.test ($required): Drop "bison", it is not required
5 anymore since commit `v1.11-502-g7e5ae80'.
7 2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
9 gitlog-to-changelog: new auxiliary script, synced from gnulib
11 We have plans to stop maintaining a version-controlled ChangeLog
12 file in the Automake repository, and instead begin to generate it
13 automatically from the git log messages. To do so, we will use
14 the `gitlog-to-changelog' script from gnulib.
16 * lib/gitlog-to-changelog: New, synced from gnulib.
17 * Makefile.am (fetch): Fetch and sync it.
18 * lib/Makefile.am (EXTRA_DIST): Distribute it.
20 2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
22 regex: remove obsolete macro AM_WITH_REGEX
23 Today, practically nobody uses the GNU rx library, which, according
24 to its own website <http://www.gnu.org/software/rx/rx.html>, has
25 been "decommissioned". Consequently, the automake-provided macro
26 AM_WITH_REGEX is not used nor required anymore.
27 * m4/regex.m4: Delete.
28 * m4/Makefile.am (dist_automake_ac_DATA): Do not list it anymore.
29 * doc/automake.texi (Obsolete Macros): Remove description, and in
30 fact any mention, of `AM_WITH_REGEX'.
31 * tests/regex.test: Delete.
32 * tests/help-regex.test: Likewise.
33 * tests/regex-obsolete.test: Likewise.
34 * tests/list-of-tests.mk: Do not list them anymore.
36 See also commits `v1.11-587-g5f335be' and `v1.11-433-g37b0aee',
37 where that macro had been deprecated.
39 2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
41 cosmetics: be more consistent in copyright notices in tests
42 * tests/cond39.test: Update the heading copyright notice, to be
43 consistent with the formulation used in the other files.
44 * tests/cond40.test: Likewise.
45 * tests/cond41.test: Likewise.
46 * tests/cond42.test: Likewise.
47 * tests/cond43.test: Likewise.
48 * tests/conflnk4.test: Likewise.
49 * tests/extra8.test: Likewise.
50 * tests/extra9.test: Likewise.
51 * tests/suffix13.test: Likewise.
52 * tests/vala.test: Likewise.
53 * tests/vala1.test: Likewise.
54 * tests/vala2.test: Likewise.
55 * tests/vala3.test: Likewise.
56 * tests/vala4.test: Likewise.
57 * tests/vala5.test: Likewise.
58 * lib/Automake/tests/Condition.pl: Likewise.
59 * lib/Automake/tests/Condition-t.pl: Likewise.
60 * lib/Automake/tests/DisjConditions.pl: Likewise.
61 * lib/Automake/tests/DisjConditions-t.pl: Likewise.
62 * lib/Automake/tests/Version.pl: Likewise.
63 * lib/Automake/tests/Wrap.pl: Likewise.
64 * lib/Automake/tests/Cond2.pl: Add copyright notice.
65 * lib/Automake/tests/Cond3.pl: Likewise.
66 * lib/Automake/tests/DisjCon2.pl: Likewise.
67 * lib/Automake/tests/DisjCon3.pl: Likewise.
68 * lib/Automake/tests/Version2.pl: Likewise.
69 * lib/Automake/tests/Version3.pl: Likewise.
71 2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
73 tap/awk: "Bail out!" recognized also after leading whitespace
74 Newer versions of TAP::Harness (e.g., 3.23 on Perl 5.14.1)
75 recognize a "Bail out!" directive also when it is prepended by
76 leading whitespace; this was not the case for older TAP:Harness
77 versions, (e.g., for version 3.17 on Perl 5.12.4), and for our
78 TAP driver implemented in awk.
79 * lib/tap-driver.sh: Handle the "Bail out!" directive also when
80 it is preceded by leading whitespace.
81 * tests/tap-spurious.test: Remove the tests checking that a
82 "Bail out!" string coming right after leading whitespace does
83 not trigger a bailout action.
84 * tests/tap-bailout-leading-space.test: New test.
85 * tests/list-of-tests.mk: Add it.
86 Problem reported by Jim Meyering in automake bug#10374.
88 2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
90 tests: fix spurious failure of cond29.test
91 * tests/cond29.test: Limit the amount of virtual memory available
92 to the automake process to ~ 150 MB, rather than only ~ 20 MB, to
93 account for higher (but still acceptable) memory usages on some
94 systems (in this case, a Fedora 16 distro on ppc64). To be
95 sure not to reduce coverage, increase the number of potential
96 combinations of automake conditionals from 2**22 = 4194304 to
98 We have actually verified that the new version of the test case
99 catches the Automake 1.7 it is intended to check against, using
100 the Automake 1.7.9 tarball downloaded from:
101 <http://ftp.gnu.org/gnu/automake/automake-1.7.9.tar.gz>
102 Reported by Jim Meyering in automake bug#10374.
104 2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
106 docs: "aclocal --install -I /abs/dir" actually copies files
108 This change is for automake bug#8407.
110 In the past, there had been some debate and confusion about
111 whether "aclocal --install" should copy third-party .m4 files
112 in the first directory passed to the `-I' option even when
113 such directory was given as an absolute path, or whether it
114 was better to do so only for directories specified with a
117 The rationale for this latter behaviour was that, before the
118 existence of the `ACLOCAL_PATH' variable, the only way (a poor
119 way, I might add) for a common user to extend the search path
120 of a system-wide installation of aclocal was to export something
121 like ACLOCAL="aclocal -I /my/extra/macros" in the environment.
122 Today, the correct way to proceed is undoubtedly through the
123 use of ACLOCAL_PATH, so we can settle the question once and for
124 all, and start verifying the correct behaviour of `-I' with a
127 * tests/aclocal-install-absdir.test: New test.
128 * tests/Makefile.am (TESTS): Add it.
129 * doc/automake.texi (aclocal Options): Be more explicit about
130 this part of `--install' semantics.
132 2011-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
134 docs: fix node names for automake and aclocal invocations
136 With the older node names, an "info automake" command issued
137 from the command line would have opened the node about the
138 invocation of the automake program, rather than the Top node
139 of the automake documentation. To invoke the Top node, one
140 had to issue the command "info Automake" instead (note the
141 different capitalization). This was suboptimal, and certainly
144 With this change, "info automake" will open the Top node of the
145 automake documentation; to access the nodes about the invocation
146 of the automake and aclocal program, one has now to issue "info
147 automake-invocation" and "info aclocal-invocation" respectively.
149 This change fixes automake bug#8071.
151 See also commits `v2.61a-22-ge9215d1' and `v2.61a-72-g8c07b48' in
152 the autoconf git repository, which tackled a similar issue.
154 * doc/automake.texi (@direntry): Rename nodes `aclocal' and
155 `automake' to `aclocal-invocation' and `automake-invocation'
159 2011-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
161 tests: tweak tests on silent-rules for makes without nested vars
162 * tests/silent-nested-vars.test: Define $MAKE to `./mymake' in
163 the environment, so that it will be automatically picked up by
164 configure. Related tweaks and simplifications.
165 Remove the checks verifying that silent rules are respected also
166 when the 'subdir-objects' option is set, the checks testing the
167 old syntax for user-defined silent rules, and the tests using
168 the default $MAKE programs: they are redundant w.r.t. other test
169 cases. Related simplifications.
170 Remove the temporary files used in a sanity check as soon as they
171 are not needed anymore.
172 Do not capture also the standard error of configure: we only want
173 to grep its standard output.
174 Consistently use `stdout' for the name of files where to save the
175 standard output captured from make and configure, for consistency
177 Make grepping of configure output and of the generated Makefile
179 Improve and tweak the `mymake' script a little.
180 * tests/silent6.test: Make grepping of make stdout slightly
181 stricter. After having configured with silent rules disabled,
182 try to force the use silent rules with `make V=1'.
184 2011-12-25 Paul Eggert <eggert@cs.ucla.edu>
186 silent-rules: fallback for makes without nested vars
188 This fixes two problems reported for Automake (Bug#9928, Bug#10237)
189 and is in response to a bug report for building coreutils on HP
190 NonStop OS (Bug#10234). The problem is that HP NonStop 'make'
191 treats a line like "AM_V_CC = $(am__v_CC_$(V))" as one that
192 expands a macro with the funny name am__v_CC_$(V instead of the
193 desired name am__v_CC_1 or am__v_CC_0, and since the funny macro
194 is not defined the line is equivalent to "AM_V_CC = )"; this
195 inserts a stray ")" when $(AM_V_CC) is used, which eventually
196 causes 'make' to fail.
198 The basic idea is that instead of generating Makefile.in lines like
199 "AM_V_CC = $(am__v_CC_$(V))", we generate
200 "AM_V_CC = $(am__v_CC_@AM_V@)". We then AC_SUBST $(V) for @AM_V@
201 in the usual case where `make' supports nested variables,
202 and substitute 1 (or 0) otherwise. Similarly for usages like
203 $(am__v_CC_$(AM_DEFAULT_VERBOSITY)).
205 With this change, make implementations that doesn't grasp nested
206 variable expansions will still be able to run Makefiles generated
207 using the silent-rules option. They won't allow the user to
208 override the make verbosity at runtime through redefinition of
209 $(V) (as in "make V=0"); but this is still an improvement over not
210 being able to work at all.
212 * NEWS: Document this.
213 * automake.in (define_verbose_var): When defining the variables,
214 use @AM_V@ rather than $(V), and use @AM_DEFAULT_V@ rather than
215 $(AM_DEFAULT_VERBOSITY).
216 * doc/automake.texi (Automake silent-rules Option): Explain new system.
217 * m4/silent.m4 (AM_SILENT_RULES): Check whether `make' supports
218 nested variables, and substitute AM_V and AM_DEFAULT_V accordingly.
219 * tests/silent-nested-vars.test: New test.
220 * tests/Makefile.am (TESTS): Add it.
222 2011-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
224 gitignore: use only one .gitignore file, in the top-level directory
225 * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
226 lib/Automake/tests/.gitignore, tests/.gitignore: Deleted, their
227 contents merged into ...
228 * .gitignore: ... this top-level file. Since we are at it, improve
229 it by anchoring files where it makes sense.
231 2011-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
233 tests: one more fixlet for gettext macros requirement
234 * tests/gettext-macros.test (configure.in): Add calls to
235 AC_INIT and AC_PROG_CC, to avoid a spurious failure in the
236 later aclocal invocation.
237 Luckily, this wart wasn't causing any spurious SKIP or FAIL,
238 but only the redundant addition to the `-Wno-syntax' option
239 to some aclocal invocations in the gettext tests.
241 2011-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
243 tests: fix handling of gettext macros requirement
245 The code introduced in the earlier change `v1.11-581-gb7d67d5'
246 and aimed at automatically fetching all the .m4 files provided by
247 gettext has proven inadequate, since it hasn't managed to truly
248 and always get *all* the required .m4 files. For example, it has
249 failed to fetch the file `intldir.m4' (present in gettext 0.18.1,
250 and where the macro `AM_GNU_GETTEXT_INTL_SUBDIR' is defined),
251 which in turn has caused spurious SKIPs of at least the test
254 The reason for this debacle is that autopoint looks at the version
255 specified in AM_GNU_GETTEXT_VERSION to decide which version of the
256 gettext infrastructure to bring in; since we were unconditionally
257 specifying the older 0.10.35 version, the newer `.m4' files weren't
260 * tests/gettext-macros.test: In AM_GNU_GETTEXT_VERSION, instead
261 of unconditionally specifying the older 0.10.35 version, specify
262 the version of the available `gettextize' or `autopoint' program,
263 dynamically extracted with the help of ...
264 (extract_program_version):... this new function, and saved ...
265 ($autopoint_version): ... in this new variable.
267 2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
269 tests: automatically handle deps also for generated tests
270 * tests/gen-testsuite-part: The test scripts are now scanned for
271 automatic dependency generation *after* the auto-generated tests
272 have been created, so they too will be scanned. It is a little
273 tricky to ensure that the freshly-generated tests are correctly
274 scanned, and we do that with the help of ...
275 (@generated_tests): ... this new variable.
276 Other related minor changes and refactorings.
278 2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
280 tests: auto-generate deps for tests requiring libtool/gettext
281 * tests/gen-testsuite-part: Tests requiring libtool (or related
282 programs) will need libtool-provided m4 macros, so they should
283 be run after `libtool-macros.test'. Similarly for gettext tests.
284 So, generate proper declarations of such dependencies.
285 * tests/Makefile.am: Remove now-unneeded hand-written declaration
286 of those dependencies.
288 2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
290 tests: remove FIXME comments from tricks to pacify syntax checks
291 Originally, I myself had insisted on adding those "FIXME" comments
292 near every unusual construct or use of "creative quoting" whose
293 only purpose was to avoid false positive from out syntax checks.
294 I did that with the expectation that we could have easily and soon
295 added a whitelisting capability to our maintainer-specific syntax
296 checks. This hasn't been the case unfortunately, and now those
297 "FIXME" in the comments are just distracting noise, making it more
298 difficult to grep the test cases for stuff that could really use a
299 fix or an improvement. So just get rid of them.
300 * tests/instdir-ltlib.test: Remove that extra "FIXME".
301 * tests/instdir-prog.test: Likewise.
302 * tests/parallel-tests3.test: Likewise.
303 * tests/parallel-tests-dry-run.test: Likewise.
304 * tests/parallel-tests-console-output.test: Likewise.
305 * tests/parallel-tests-no-color-in-log.test: Likewise.
306 * tests/tap-realtime.test: Likewise.
307 * tests/test-trs-recover.test: Likewise.
308 * tests/tap-deps.test: Likewise.
310 2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
312 tests: few minor fixlets, improvements and tweakings
313 * tests/defs-static.in ($top_testbuilddir): New, for consistency
315 * tests/Makefile.am (do_subst): Substitute @abs_top_testbuilddir@
317 * tests/java-compile-run-mested.test: Prefer AM_TESTS_ENVIRONMENT
318 over TESTS_ENVIRONMENT, now that the former has become available.
319 * tests/java-compile-run-flat.test: Correct a botched "FIXME"
321 * tests/tap-realtime.test: Remove extra whitespace in comments.
322 * tests/missing-tar.test: Use `get_shell_script' to bring in the
323 `missing' script, to increase coverage. Remove redundant call to
324 `set -e'. Fix a typo in comments.
325 * tests/get-sysconf.test: Remove redundant definitions of
326 `$top_testsrcdir', `testbuilddir' and `$top_testbuilddir'.
328 2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
330 tests: remove redundant uses of `set -e'
331 * tests/deleted-am.test: Do not set the `errexit' shell flag, as
332 it is already set by `tests/defs'.
333 * tests/deleted-m4.test: Likewise.
334 * tests/dist-missing-am.test: Likewise.
335 * tests/dist-missing-am.test: Likewise.
336 * tests/dist-missing-m4.test: Likewise.
337 * tests/dist-missing-included-m4.test: Likewise.
338 * tests/get-sysconf.test: Likewise.
339 * tests/makefile-deps.test: Likewise.
340 * tests/remake-m4-pr10111.test: Likewise.
341 * tests/remake-am-pr10111.test: Likewise.
342 * tests/remake-deleted-am.test: Likewise.
343 * tests/remake-deleted-am2.test: Likewise.
344 * tests/remake-deleted-am-subdir.test: Likewise.
345 * tests/remake-renamed-am.test: Likewise.
347 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
349 tests: fix failure due to debugging code forgotten into a test
350 * tests/missing-tar.test: Don't ever call the `missing' script
351 with `sh -x'; this was used for debugging, but an instance of
352 it slipped into the committed test case. Bug revealed by a
353 failure on a Solaris 10 system with GNU tar installed as `gtar'.
355 2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
357 Merge branch 'master' into testsuite-work
358 * tests/gettext-macros.test: In the generated `get.sh' file,
359 use `skip_all_', not `skip_'.
360 * tests/libtool-macros.test: Likewise.
361 * tests/list-of-tests.mk: Update.
363 2011-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
365 tests: avoid spurious failure of libtool and gettext tests
367 On Solaris 10 (and presumably earlier), /bin/sh trips up on
368 here-documents that contains a command substitution *and* are
369 fed to a shell function:
379 # An apparently innocuous function ...
381 # ... but hilarity ensues!
385 /tmp/sh137723: cannot open
389 We need to work around this misbehaviour in a couple of our
390 tests (whose failures where causing cascading failures in a
393 * tests/gettext-macros.test: Avoid the use of command substitution
394 in a here-document passed to the `indent' function, by using the
395 `echo' builtin instead.
396 * tests/libtool-macros.test: Likewise.
399 <http://lists.gnu.org/archive/html/bug-autoconf/2011-12/msg00001.html>
401 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
403 Merge branch 'maint' into master.
404 * m4/regex.m4: Bump serial number by some notches, for good
405 measure. Prefer the deprecation message from maint over that
407 * m4/python.m4: Bump serial number.
408 * tests/Makefile.am (canon6.log): Depend on `libtool-macros.log'.
409 (canon7.log): Likewise.
410 (extradep2.log): Likewise.
411 (ar-lib4.log): Likewise.
412 (ar-lib6a.log): Likewise.
413 (ar-lib6b.log): Likewise.
414 (vartypo2): Likewise.
415 (posixsubst-ltlibraries.log): Likewise.
416 * tests/defs: Adjust the path of the included `get.sh' scripts
417 generated by `libtool-macros.test' and `gettext-macros.test'.
418 * aclocal.m4: Delete, it's auto-generated now.
419 * configure: Likewise.
420 * Makefile.in: Likewise.
421 * doc/Makefile.in: Likewise.
422 * m4/Makefile.in: Likewise.
423 * tests/Makefile.in: Likewise.
424 * lib/Makefile.in: Likewise.
425 * lib/am/Makefile.in: Likewise.
426 * lib/Automake/Makefile.in: Likewise.
427 * lib/Automake/tests/Makefile.in: Likewise.
428 * .gitignore: Correctly ignored the autogenerated files
429 that are not committed anymore.
431 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
433 hacking: distribute it, and mention it in the ChangeLog
434 Not distributing the HACKING file might make it more difficult,
435 for some random curious user, to get informed about or interested
436 in the Automake development process, or to send us patches.
437 * Makefile.am (EXTRA_DIST): Add HACKING.
438 * HACKING: It's OK to distribute this file, and to mention it in
441 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
443 regex: deprecate the obsolete macro AM_WITH_REGEX
444 This is a backport of commit v1.11-433-g37b0aee.
445 Today, practically nobody uses the GNU rx library, which, according
446 to its own website <http://www.gnu.org/software/rx/rx.html>, has
447 been "decommissioned". Consequently, the automake-provided macro
448 AM_WITH_REGEX is not used nor required anymore. Deprecate it, so
449 that it will be possible to safely remove it in the next major
451 * m4/regex.m4 (AM_WITH_REGEX): Give a warning of the class
452 `obsolete' when this macro is used.
453 * doc/automake.texi (Public Macros): Move description of
454 `AM_WITH_REGEX' from here ...
455 (Obsolete Macros): ... to here, and declare it as obsolete
456 and "to be removed in a future version".
457 * tests/regex-obsolete.test: New test.
458 * tests/Makefile.am (TESTS): Add it.
461 <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00131.html>
463 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
465 maint: distribute .xz tarballs, not .bz2 ones
466 Many GNU packages are moving towards xz-compressed tarballs, so
467 let's follow suit, by dropping the creation and distribution of
468 a bzip2-compressed tarball and switching to xz instead.
469 For compatibility and safeness, we will continue to create and
470 distribute a gzip-compressed tarball as well.
471 * configure.ac (AM_INIT_AUTOMAKE): Drop `dist-bzip2', add
474 Suggested by Jim Meyering.
476 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
478 include: avoid "deleted .am file" problem
479 * automake.in (handle_configure): When processing `configure.am',
480 also expand `HAVE-MAKEFILE-IN-DEPS' to a boolean telling whether
481 `MAKEFILE-IN-DEPS' is empty or not.
482 * lib/am/configure.am [?HAVE-MAKEFILE-IN-DEPS?]
483 (%MAKEFILE-IN-DEPS%): New target without dependencies, to
484 avoid the "deleted .am file" problem. Emit this only when
485 `?HAVE-MAKEFILE-IN-DEPS?' is true, to avoid generating an
486 "empty" dependency declaration.
487 * tests/deleted-am.test: Make grepping of error message stricter.
488 * tests/dist-missing-am.test: Likewise.
489 * tests/remake-deleted-am.test: New test.
490 * tests/remake-deleted-am-2.test: Likewise.
491 * tests/remake-deleted-am-subdir.test: Likewise.
492 * tests/remake-renamed-am.test: Likewise.
493 * tests/makefile-deps.test: Likewise.
494 * tests/Makefile.am (TESTS): Add the new tests.
496 Fixes automake bug#9768.
497 Report by Peter Johansson.
498 See also commit `Release-1-10-40-gd0ebf71', which fixed a similar
499 problem for .m4 files included by configure.ac.
501 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
503 maint: better use of autoconf 2.68 features
504 * configure.ac: Now that Automake requires autoconf 2.68 for its
505 own bootstrapping and build system, we can assume that PACKAGE_URL
506 gets automatically AC_SUBT'd.
508 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
510 cosmetics: use proper m4 quoting in configure.ac
511 * configure.ac (AC_CONFIG_SRCDIR): Use proper m4 quoting
513 (AC_CONFIG_AUX_DIR): Likewise.
514 (AC_PROG_PATH): Likewise.
516 2011-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
518 tests: better handling of gettext and libtool requirements
520 This change fixes automake bug#9807.
522 Before this change, the automake testsuite only looked for the
523 `.m4' files containing libtool and gettext macros definitions in
524 the directory `${prefix}/share/aclocal' (and in the directories
525 specified by the `dirlist' file in there, if any), where ${prefix}
526 was the configure-time automake installation prefix (defaulting
529 This approach had various shortcomings and disadvantages. Let's
530 briefly describe the three major ones.
532 First, on most GNU/Linux systems, a libtool or gettext installed
533 from distro-provided packages (e.g., by dpkg on Debian/Ubuntu, or
534 by rmp on RedHat/Fedora) would have `/usr', not `/usr/local', as
535 its ${prefix}; so, trying to run the automake testsuite with a
536 simple "./configure && make && make check" would have failed to
537 execute the libtool and gettext tests on most GNU/Linux distros.
538 It's true that it was quite easy to work around this issue, by
539 creating a proper `/usr/local/share/aclocal/dirlist' file with
540 an entry pointing to `/usr/share/aclocal' (a workaround in fact
541 used by most automake developers); but the typical user wasn't
542 aware of the necessity of this trick, so the libtool and gettext
543 tests was usually skipped on testsuite runs "in the wild", thus
544 needlessly reducing coverage.
546 Second, the older testsuite behaviour made more difficult for
547 the developers to run the testsuite with non-default libtool or
548 gettext. For example, assume the developer is working on a system
549 that has a default libtool version 1.5 installed in the /usr/local
550 hierarchy; to improve coverage, the developer installs also a more
551 modern libtool version, say 2.4, in its home directory, let's say
552 in ~/libtool-2.4; he then tries to run the automake testsuite with
553 this more modern libtool by doing an (apparently) simple:
554 $ PATH=$HOME/libtool-2.4:$PATH make check
555 But the automake testsuite would still look for libtool macros in
556 /usr/local/share/aclocal, not in ~/libtool-2.4/share/aclocal, so
557 the wrong version of the macros would be picked up, and the tests
558 would either fail spuriously or (which would be worse) pass without
559 truly covering the libtool version the developers was thinking to
561 Worse again, the automake testsuite would *unconditionally* look
562 for libtool macros in /usr/local/share/aclocal, so even something
564 $ export ACLOCAL_PATH=$HOME/libtool-2.4/share/aclocal
565 $ PATH=$HOME/libtool-2.4:$PATH make check
568 Third and last, during a "make distcheck", automake is configured
569 with a ${prefix} pointing to a proper subdirectory of the build
570 directory (usually `pwd`/_inst), which gets created on-the-fly;
571 in this case, with the old approach, the automake testsuite never
572 found the libtool and gettext macro files, ans so the libtool and
573 gettext tests was *always* skipped in a "make distcheck".
575 * tests/libtool-macros.test: New helper test, looking (with the
576 help of the `libtoolize' script) for libtool macro files required
577 by most libtool tests, and making them easily accessible.
578 * tests/gettext-macros.test: New helper test, looking (with the
579 help of the `libtoolize' script) for libtool macro files required
580 by most libtool tests, and making them easily accessible.
581 * tests/defs.in: Update to make it rely on the results and setups
582 of `libtool-macros.test' and `gettext-macros.test'.
583 * tests/Makefile.am: Declare dependency of all the logs of libtool
584 tests from `libtool-macros.log', and all the logs of gettext tests
585 from `gettext-macros.log'.
586 (TESTS): Add the new tests.
588 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
590 fix: typos and grammaros in comments of the new test
591 * tests/get-sysconf.test: Fix few typos, grammaros and botched
592 wording. Reported by Eric Blake.
594 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
596 tests: report useful system information in 'test-suite.log'
597 It has already happened various times that a user has run the
598 automake testsuite, experienced a failure, read the messages
599 telling him "See tests/test-suite.log" and "Please report to
600 bug-automake@gnu.org", and done exactly that -- sending us only
601 the contents of `tests/test-suite.log', which are usually not
602 enough to start debugging the reported failure. So we have to
603 ask him for more details, and usually also for the `config.log'
604 file generated by configure. It's time to fix this recurring
605 feedback inefficiency. We do so by creating a dummy test case
606 that takes care of copying the contents of `config.log', plus
607 other useful system information, in the final `test-suite.log'.
608 * tests/get-sysconf.test: New test, gathering system information
609 and then always terminating with a SKIP, so that its output gets
610 copied in `test-suite.log'.
611 * tests/Makefile.am (TESTS): Add it.
613 2011-12-07 Reuben Thomas <rrt@sc3d.org> (tiny change)
615 python: remove relics for Python 1.5 support
616 * m4/python.m4: The comments in here claim to support only
617 Python >= 2.0, yet this file still has specific support for
618 Python 1.5. Just remove it, python 1.5 is 12 years old now,
619 and practically defunct.
621 See also commit `Release-1-10-205-gd5bec12', "Support for
622 Python 3.0, drop support for pre-2.0."
624 2011-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
626 configure: remove extraneous 'eval's from AM_RUN_LOG invocations
627 * configure.ac: Remove extra 'eval's from AM_RUN_LOG invocations;
628 for example, instead of "AM_RUN_LOG([eval $PERL --version])",
629 simply use "AM_RUN_LOG([$PERL --version])"
631 2011-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
633 configure: report TeX version in config.log
634 * configure.ac: If possible, report the version of the selected
635 TeX program; this should render the logs more informative.
637 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
639 maint: snapshots from `maint' are still development snapshots
640 The maintenance-oriented development line in the `maint' branch,
641 while being usually pretty stable and 99% backward-compatible,
642 is not always right off production-quality; but until now, the
643 Automake package version declared in configure.ac hid this fact,
644 since it appeared to be the version of a stable release (e.g.,
646 * configure.ac (AC_INIT): Bump version to "1.11.0a".
648 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
650 configure: print proper message for test releases
651 * configure.ac: If the current release is detected to be a test
652 release or a development snapshot, print a proper warning for
654 * README-alpha: Delete, it's obsolete now (and in fact this file
655 hasn't been touched in eleven years, since release 1.4b or so).
656 * HACKING (Release procedure): Don't say to update README-alpha.
658 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
660 devel: help in comparing Makefile.in from different commits
661 Now that the generated Makefile.in, configure and aclocal.m4 files
662 are no longer committed in Automake's git repository, a simple
663 "git diff" or "git log" no longer shows if and how a change in
664 Automake results in changes to the Makefile.in files and/or
665 configure script of its own build system. Still, the ability to
666 peek so easily at such differences has proved itself quite useful
667 in the past, often revealing inconsistencies and blunders, and
668 sometimes even bugs; so it would be a pity to lose that altogether.
669 With this change, we add a new maintainer recipe that re-introduces
670 much of that capability, by generating and comparing on the fly the
671 Makefile.in, configure and aclocal.m4 derived from two arbitrary
672 commits of the Automake repository.
673 * Makefile.am (autodiffs, compare-autodiffs): New phony targets.
675 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
677 repo: don't commit generated files in the git repository anymore
678 It has been quite some time since autoconf and libtool have stopped
679 committing the generated autotools files in their git repositories,
680 with no significant ill effects we're aware of. It's true that the
681 autoconf bootstrap process has now the minor annoyance that a
682 pre-installed autoconf is required to complete it; but luckily
683 automake will not have a similar annoyance, since our bootstrap
684 script take care, through some hoops, to use the very automake and
685 aclocal versions from the current git checkout to generate the
686 required aclocal.m4 and Makefile.in files. In fact, this has been
687 a necessity also in the past, because automake has been known to
688 use in its own build system new development features that hadn't
689 been present in any previously released automake distribution.
690 * .gitignore: Ignore configure, aclocal.m4, and all the
692 * configure.ac (AC_PREREQ): New macro call, to require the
693 latest autoconf (2.68 for the moment).
695 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
697 missing: don't try to re-run tar with a munged command line
698 * lib/missing: If the default `tar' program fails with the given
699 arguments, and GNU tar is not available, don't try to re-run the
700 default `tar' with a munged command line (e.g., ditching possibly
701 unportable options), as that could be subtly alter the intended
702 semantics (and maybe even create a somewhat corrupted tarball).
703 Also, it's worth noting that the main purpose of the `missing'
704 script is to allow a non-developer to build the package in the
705 face of slightly-skewed timestamps, not to provide wrappers for
706 all the maintainer tools -- so we don't have to try too hard
707 when `missing' is just called to wrap `tar'.
708 * tests/missing-tar.test: New test.
709 * tests/Makefile.am (TESTS): Add it.
711 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
713 missing: inform the user if GNU tar is called
714 * lib/missing: If the code trying to run GNU tar is reached, it
715 means that the previous attempt to run the default tar program
716 has failed, very likely producing some error message. At this
717 point, just running GNU tar without further comments might be
720 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
722 missing: if GNU tar exists but fails when called, give up
723 * lib/missing: If the code trying to run GNU tar is reached,
724 don't continue if the invoked GNU tar program fails, as there
725 is little point in doing so (and can even be confusing and
728 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
730 missing: miscellaneous fixlets
731 * lib/missing: Some shells, such as Solaris or FreeBSD /bin/sh,
732 warn about missing programs before performing redirections.
733 Therefore, where we have to silently check whether a program
734 exists, perform redirections on a subshell.
735 Remove redundant uses of double-quotes in variable definitions.
736 Delete an extra blank line.
738 2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
740 maint: remove executable bit from automake.in
741 * automake.in: This file is not meant to be executed, only to
742 be preprocessed to create the `automake' script; so don't leave
745 2011-12-20 Peter Rosin <peda@lysator.liu.se>
747 tests: fix spurious failure on systems lacking unistd.h
748 This is for automake bug#10324.
749 * tests/silent-lex-generic.test (foo.l): Add a dummy #define of
750 YY_NO_UNISTD_H, so that the generated foo.c file won't require
751 unistd.h to be present (it is not present when compiling with,
754 2011-12-20 Stefano Lattarini <stefano.lattarini@gmail.com>
756 tests: fix spurious failure on MSYS/MinGW and Cygwin
757 * tests/primary-prefix-couples-force-valid.test (Makefile.am):
758 Correctly append $(EXEEXT) to the path of built binaries.
760 2011-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
762 test defs: hack to support autoconf-wrapper programs
763 * tests/defs-static.in ($AUTOCONF): Add a dummy `-B' option to the
764 autoconf invocation, so that, when the Debian autoconf wrapper is
765 involved, it will correctly dispatch an autoconf >= 2.50 instead of
766 defaulting to autoconf 2.13.
767 ($AUTOHEADER, $AUTORECONF): Likewise, but for autoheader and
768 autoreconf respectively.
769 Reported by Bruno Haible:
770 <http://lists.gnu.org/archive/html/automake/2011-12/msg00039.html>
772 2011-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
774 tests: fix a minor spurious failure with FreeBSD make
775 * tests/remake-am-pr10111.test: Avoid using `#' comments in
776 makefile recipes, as these have been confusing FreeBSD make.
777 The failure was masked by the fact that this test is currently
779 Suggested by a report from Bruno Haible.
781 2011-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
783 tests: make two test scripts executable
784 * tests/remake-am-pr10111.test: Make executable.
785 * tests/remake-m4-pr10111.test: Likewise.
787 2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
789 yacc/lex tests: remove an unneeded workaround for bug#8485
791 * tests/yacc-d-cxx.test: Remove the workaround previously required
792 to avoid spurious failures due to automake bug#8485: that bug has
793 been solved with commit `v1.11-512-g40c3432'.
795 2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
797 yacc/lex tests: avoid too much failures with FreeBSD make
799 In various Yacc/Lex tests, we used to run "make distcheck" commands
800 whose value was mostly dubious, and, even when it was there, was
801 very, very little. The presence of these extra distchecks had two
802 disadvantages: it slowed down our already-too-slow testsuite even
803 more, and, much worse, caused a lot of extra failures with FreeBSD,
804 all due to automake bug#7884, which is already exposed by the test
805 case `yacc-dist-nobuild.test'.
807 We can improve this situation by simply removing "make distcheck"
808 calls from a few testcases, or making them conditional to the use
811 * tests/lex-clean-cxx.test: Do not call "make distcheck".
812 * tests/lex-clean.test: Likewise.
813 * tests/yacc-clean-cxx.test: Likewise.
814 * tests/yacc-clean.test: Likewise.
815 * tests/yflags-force-override.test: Likewise.
816 * tests/yacc-nodist.test: Only run "make distcheck" if make
819 2011-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
821 Merge branch 'maint' into 'yacc-work'
822 * tests/silent-lex.test: Provide a dummy `yywrap()' function, to
823 avoid link errors on systems that doesn't provide a "lex library".
824 See also commit `v1.11-546-gca0ba5d'.
826 2011-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
828 readme: reference webpages for automake mailing lists
829 * README: Rationalize and reorganize the (brief) description of
830 the automake mailing lists. In particular, instead of suggesting
831 the reader to write to the `-request' addresses to subscribe to
832 mailing lists, point him to the relevant webpages, where he can
833 also subscribe via a web form.
835 2011-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
837 readme: update advice about testsuite execution
838 * README: Now that the automake testsuite uses the parallel-tests
839 driver, there is no need for the user to capture the stdout of
840 "make check" to determine which tests have failed: a detailed log
841 is automatically saved into the `tests/test-suite.log' file.
842 Since we are at it, improve the wording by dropping an extra
845 2011-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
847 readme: don't reference the old homepage at sources.redhat.com
848 * README: Don't reference the old homepage at sources.redhat.com,
849 which is no longer active; reference the homepage on www.gnu.org
850 instead. See also automake bug#10157 and bug#10248.
851 * tests/README: Likewise, and remove related extra-pedantic advice
852 about copyright papers for test cases (we'll ask for those papers
853 explicitly when we think they are warranted).
855 2011-12-12 Stefano Lattarini <stefano.lattarini@gmail.com>
857 hacking: some more fixlets
858 * HACKING (Release Procedure): Place the list of pre-release
859 bootstrap-and-test commands on a line of its own, so it's easy to
860 select and then paste it into a terminal window.
861 Fix the explanation of "make git-release", as, since the previous
862 change, "make git-release" would simply run "make dist" rather
863 than "make distcheck".
864 Suggestion from Jim Meyering.
866 2011-12-12 Peter Rosin <peda@lysator.liu.se>
868 * NEWS: Fix typo in 'make dist-bzip2' description.
870 2011-12-10 Stefano Lattarini <stefano.lattarini@gmail.com>
872 release: don't run "make distcheck" automatically
873 * Makefile.am (git-dist): The developers should test extensively
874 before finally creating the release tarball; so don't run "make
875 distcheck" on their behalf here; instead ...
876 * HACKING (Release procedure): ... state here that "make check"
877 and "make distcheck" should be run before calling "make git-dist".
879 2011-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
881 tests: fix spurious failure in 'color2.test'
882 * tests/color2.test: (expect-make): Add an "expect eof" directive,
883 so that the collected output from the spawned make program will be
884 displayed on stdout, as desired.
885 Since we are at it, also correctly remove a temporary file which
886 we was trying to delete using a wrong filename.
887 Problem introduced in merge `v1.11-1579-g8d3466c', probably by a
888 botched edit or conflict resolution.
890 2011-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
892 tests: fix spurious failure in 'lex3.test'
893 * tests/lex3.test (foo.l): Remove duplicated definition of
894 `yywrap'. Problem introduced in merge `v1.11-1579-g8d3466c'.
896 2011-12-09 Jim Meyering <meyering@redhat.com>
897 Stefano Lattarini <stefano.lattarini@gmail.com>
899 dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings
900 Before the present change, automake-generated `dist-xz' rule used
901 a hard-coded `xz -9'. That was a problem because on this front,
902 xz differs from gzip and bzip2. While the latter two don't incur
903 any run-time decompression penalty for using a higher compression
904 level, specifying -9 with xz imposes a potentially fatal virtual
905 memory requirement on any client that wants to decompress your
907 People have complained that a tarball compressed with -9 cannot
908 be uncompressed in a low-memory environment (wrt-based embedded).
909 Hence, instead of defaulting to -9, which is useful only for very
910 large tarballs, it defaults to -e (equivalent to -6e). This
911 limits the default memory requirements imposed on decompressors,
912 yet still gives very good compression ratios.
913 * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made
914 it impossible to override. Actually don't default to -9, either,
915 since that induced inordinately large virtual memory usage when
916 merely decompressing. Instead, use its XZ_OPT envvar, defaulting
917 to -e if not defined. Suggested by Lasse Collin.
918 (dist-bzip2): Similarly, do not hard-code -9, but do continue to
919 use -9 by default. Honor the BZIP2 envvar.
921 * doc/automake.texi (The Types of Distributions): Describe the
922 newly enabled environment variables.
924 2011-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
926 * NEWS: Fix typos, grammaros and suboptimal wording.
927 Reported by Jim Meyering.
929 2011-12-07 Stefano Lattarini <stefano.lattarini@gmail.com>
931 maint: sync auxiliary files from upstream
932 * lib/texinfo.tex: Synced from upstream, by "make fetch".
933 * lib/config.guess: Likewise.
934 * lib/config.sub: Likewise.
936 2011-12-04 Stefano Lattarini <stefano.lattarini@gmail.com>
938 tests: fix spurious failures due to missing 'yywrap()' function
940 The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
941 the "lex library" expected to provide a `yywrap' function (function
942 which is required to link most lex-generated programs). On the
943 contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
944 fail, configure declares that no lex library is needed, and simply
945 proceeds with the configuration process -- only for the build to
946 possibly fail later, at make time.
948 This behaviour is intended; the Autoconf manual reads:
949 ``You are encouraged to use Flex in your sources, since it is
950 both more pleasant to use than plain Lex and the C source it
951 produces is portable. In order to ensure portability, however,
952 you must either provide a function `yywrap' or, if you don't use
953 it (e.g., your scanner has no `#include'-like feature), simply
954 include a `%noyywrap' statement in the scanner's source.''
956 This AC_PROG_LEX behaviour is causing some spurious failures of
957 the Automake testsuite in environments which lack a proper library
958 providing `yywrap' (this happens for example on Fedora-based
959 systems). The proper workaround is to simply provide a fall-back
960 implementation of `yywrap' in our lexers.
962 See also partially-overlapping commit `v1.11-871-geb147a1' (from
963 the 'testsuite-work' branch), which was motivated by similar
964 spurious failures experienced when cross-compiling.
966 From a report by Jim Meyering:
967 <http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html>
969 * tests/cond35.test: Provide a dummy `yywrap' function.
970 * tests/lex3.test: Likewise.
971 * tests/silent-lex-generic.test: Likewise.
972 * tests/silent-lex-gcc.test: Likewise.
973 * tests/silent-many-generic.test: Likewise.
974 * tests/silent-many-gcc.test: Likewise.
976 2011-12-04 Paul Eggert <eggert@cs.ucla.edu>
978 depcomp: spelling fix
979 * lib/depcomp (-h): Fix misspelling in usage diagnostic.
981 2011-11-28 Peter Rosin <peda@lysator.liu.se>
983 tests: fix 'distcheck-override-infodir.test' on Cygwin
984 * tests/distcheck-override-infodir.test (Makefile.am): Do not add
985 any `/' between $(DESTDIR) and the following paths. Otherwise,
986 when $(DESTDIR) is empty, the recipes will try to access files
987 with a leading double slash, which have an implementation-defined
988 interpretation (e.g., for Cygwin, they mean UNC paths).
990 2011-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
992 cosmetics: typofix in comments
993 * tests/remake-am-pr10111.test (Makefile.am): Fix typo in comments.
995 Reported by Krzysztof Żelechowski.
997 2011-11-22 Stefano Lattarini <stefano.lattarini@gmail.com>
999 coverage: undistributed '.am' and '.m4' files are diagnosed
1000 The stub rules emitted to work around the "deleted header problem"
1001 for `.m4' files (included by autoconf in e.g., configure.ac) and
1002 for `.am' files (included by automake in e.g., Makefile.am) should
1003 not prevent "make" from correctly complaining when such a required
1004 file is missing from a distribution tarball.
1005 * tests/dist-missing-am.test: New test.
1006 * tests/dist-missing-m4.test: Likewise.
1007 * tests/dist-missing-included-m4.test: Likewise.
1008 * tests/Makefile.am (TESTS): Add them.
1009 Suggestion by Ralf Wildenhues.
1011 2011-11-22 Stefano Lattarini <stefano.lattarini@gmail.com>
1013 coverage: required but missing '.am' and '.m4' files are diagnosed
1014 The stub rules emitted to work around the "deleted header problem"
1015 for `.m4' files (included by autoconf in e.g., configure.ac) and
1016 for `.am' files (included by automake in e.g., Makefile.am) should
1017 not prevent the remake rules from correctly erroring out when a
1018 still-required file is missing.
1019 * tests/deleted-am.test: New test.
1020 * tests/deleted-m4.test: Likewise.
1021 * tests/Makefile.am (TESTS): Add them.
1023 2011-11-22 Stefano Lattarini <stefano.lattarini@gmail.com>
1025 coverage: expose automake bug#10111 in the testsuite
1026 * tests/remake-am-pr10111.test: New test, xfailing.
1027 * tests/remake-m4-pr10111.test: Likewise.
1028 * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
1030 2011-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
1032 texinfo: work around Solaris 10 xpg4 shell bug in install rules
1033 * lib/am/texinfos.am (install-html-am): Use an extra variable
1034 indirection to work around a bug in Solaris 10 /usr/xpg4/bin/sh.
1035 Bug revealed by a failure of `txinfo21.test'. See also:
1036 <http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html>
1037 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
1039 2011-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
1041 configure: report perl version in config.log
1042 * configure.ac: Report the version of the selected perl interpreter
1043 in config.log; this should render the logs more informative.
1045 2011-11-13 Stefano Lattarini <stefano.lattarini@gmail.com>
1047 tests: fix spurious failure with older install-info
1048 * tests/install-info-dir.test (foo.texi): Also add proper
1049 `@settitle', `@dircategory' and `@direntry' directive, otherwise
1050 older versions of `install-info' (e.g., 4.8) will fail to create
1051 the `dir' index file in ${infodir}.
1052 Problem revealed by a failure on NetBSD 5.1.
1054 2011-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1056 maintcheck: fix spurious failure in 'color2.test'
1057 * tests/color2.test: Avoid creative quoting to avoid a spurious
1058 failure of the `sc_tests_Exit_not_exit' maintainer check.
1060 2011-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1062 tests: fix spurious error in 'uninstall-fail.test' on Solaris
1063 * tests/uninstall-fail.test: Solaris 10 /usr/xpg4/bin/sh can add
1064 a line number before the `:' in the error messages issued by shell
1065 builtins. Account for that in our grepping of make output.
1067 2011-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1069 tests: fix typo in 'uninstall-fail.test'
1070 * tests/uninstall-fail.test: Always use `$rm_f_is_silent_on_error'
1071 instead of the bogus `$rm_f_is_silent_on_failure'.
1073 2011-11-19 Paul Eggert <eggert@cs.ucla.edu>
1075 * lib/install-sh: Spelling fix in comment.
1077 2011-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
1079 tests: avoid a spurious failure of 'ltinit.test' MinGW
1080 * tests/ltinit.test: Be laxer in grepping configure output, to
1081 avoid spurious failures on systems which lack POSIX dynamic
1082 linking (e.g., MinGW), or when cross-compiling for such systems.
1083 See also commit `v1.11-855-ge9e5d4a'.
1084 Report and suggestion from Peter Rosin.
1086 2011-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1088 tests: testsuite is now safe to run with dmake in parallel mode
1089 * tests/defs.in: Unset variables DMAKE_CHILD, DMAKE_DEF_PRINTED
1090 and DMAKE_MAX_JOBS, which are exported by Solaris dmake when run
1091 in parallel mode, and which might confuse make processes spawned
1094 2011-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1096 tests: fix spurious failures w.r.t. parallel make and colorization
1097 * tests/color2.test: Skip the test if the $MAKE program fails to
1098 consider the standard output as a tty when spawned by `expect'.
1099 This is required for make implementations, like FreeBSD make and
1100 Solaris dmake, that redirect the output of recipes to temporary
1101 files or pipes when run in parallel mode. Since we are at it,
1102 simplify the detection of a working `expect' program, and throw
1103 in other minor simplifications.
1105 2011-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1107 tests: fix spurious failure in 'distcheck-override-infodir.test'
1108 * tests/distcheck-override-infodir.test ($required): Add
1111 2011-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1113 tests: avoid another failure of 'uninstall-fail.test' on Solaris
1114 * tests/uninstall-fail.test: On Solaris 10, if `/bin/rm' is run
1115 with the `-f' option, it doesn't print any error message when
1116 failing to remove a file (due to e.g., "Permission denied").
1117 Yikes. Cater to this incompatibility, by relaxing the test when
1118 a faulty `rm' is detected.
1120 2011-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
1122 tests: various minor tweakings, mostly related to AM_PROG_AR
1123 * tests/alloca2.test: Ensure we don't experience a spurious failure
1124 due to a missing `AM_PROG_AR' macro or a missing `ar-lib' auxiliary
1126 * tests/libtool4.test: Likewise.
1127 * tests/ldadd.test: Likewise. Since we are at it, make grepping of
1128 automake stderr stricter.
1129 * tests/reqd2.test: Likewise.
1130 * tests/pr211.test: Ensure automake fails also with `-Wnone', since
1131 the error we are testing for is an hard error, not a mere warning.
1132 * tests/syntax.test: Likewise, and ensure we don't fail to other
1133 errors by removing use of `lib_LTLIBRARIES' in Makefile.am. Since
1134 we are at it, make grepping of automake stderr stricter.
1136 2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
1138 ar-lib: fix configure output for "unrecognized archiver interface"
1139 * m4/ar-lib.m4: Ensure that, even when an error is hit while trying
1140 to determine the archiver interface kind, the "checking archiver
1141 interface" message from configure is properly terminated before
1142 an error message is printed, to avoid slightly garbled output.
1143 * tests/ar4.test: Enhance.
1144 * tests/ar5.test: Likewise.
1146 2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
1148 warnings: fix buglets for portability warnings
1149 * lib/Automake/ChannelDefs.pm (switch_warning): Ensure the
1150 correct implications and inter-dependencies between warnings
1151 in the categories `portability', `extra-portability' and
1152 `recursive-portability' are respected. Also add detailed
1153 explicative comments, and references to the relevant tests.
1154 * tests/dollarvar2.test: Update and extend. Also, remove
1155 some unnecessary uses of `--force' option in automake calls.
1156 * tests/extra-portability3.test: New test.
1157 * tests/Makefile.am (TESTS): Add it.
1159 2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
1161 tests: extend tests on 'extra-portability' warning category
1162 * tests/extra-portability.test: Redefine `$AUTOMAKE' to ensure we
1163 have complete control over the automake options. Extend by using
1164 also a setup where no `portability' warning is present (only an
1165 `extra-portability' warning is). Other minor extensions. Remove
1166 some redundant, verbose comments about the expected diagnostic.
1168 2011-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
1170 tests: various minor tweakings, mostly related to AM_PROG_AR
1171 * tests/alloca.test: Adjust to new portability requirements due
1172 to the new AM_PROG_AR macro.
1173 * tests/discover.test: Likewise.
1174 * tests/libobj3.test: Likewise.
1175 * tests/pluseq7.test: Likewise. Also, make grepping of automake
1176 expected error message stricter.
1177 * tests/stdlib.test: Likewise, and extend the test a bit.
1178 * tests/parse.test (configure.in): Remove redundant call to
1180 * tests/library2.test: Adjust to new portability requirements
1181 due to the new AM_PROG_AR macro. Also ...
1182 (configure.in): ... add call to AC_PROG_CC, to ensure automake
1183 really fails for the expected reason.
1185 2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
1187 ar-lib: fix configure output for "unrecognized archiver interface"
1188 * m4/ar-lib.m4: Ensure that, even when an error is hit while trying
1189 to determine the archiver interface kind, the "checking archiver
1190 interface" message from configure is properly terminated before
1191 an error message is printed, to avoid slightly garbled output.
1192 * tests/ar4.test: Enhance.
1193 * tests/ar5.test: Likewise.
1195 2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
1197 tests: more faithful 'installcheck' support in few tests
1198 * tests/ar-lib5a.test: Use the `$am_scriptdir' variable instead
1199 of "$testsrcdir/../lib" or "$top_testsrcdir/lib", to test more
1200 faithfully under "make installcheck".
1201 * tests/ar-lib5a.test: Likewise.
1202 * tests/libobj-basic.test: Likewise.
1203 * tests/libobj19.test: Likewise.
1204 * tests/suffix5.test: Likewise.
1206 2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
1208 tests: remove redundant settings of `errexit' shell flag
1209 * tests/aclocal-path-install-serial.test: Do not set the
1210 `errexit' shell flag, as it is already set by `tests/defs'.
1211 * tests/ar-lib2.test: Likewise.
1212 * tests/ar-lib3.test: Likewise.
1213 * tests/ar-lib4.test: Likewise.
1214 * tests/ar-lib5a.test: Likewise.
1215 * tests/ar-lib5b.test: Likewise.
1216 * tests/ar-lib6a.test: Likewise.
1217 * tests/ar-lib6b.test: Likewise.
1218 * tests/ar-lib7.test: Likewise.
1219 * tests/ar3.test: Likewise.
1220 * tests/ar4.test: Likewise.
1221 * tests/ar5.test: Likewise.
1222 * tests/extra-portability.test: Likewise.
1223 * tests/extra-portability2.test: Likewise.
1224 * tests/extra-portability3.test: Likewise.
1225 * tests/install-info-dir.test: Likewise.
1226 * tests/maintmode-configure-msg.test: Likewise.
1228 2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
1230 generated tests: avoid extra "FIXME" comments
1231 * tests/gen-testsuite-part: Avoid putting too much "FIXME"
1232 comments in the generated test scripts, since they end up
1233 being just counter-productive noise when one has to grep
1234 the test scripts looking for real "FIXME" items.
1236 2011-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
1238 cosmetics: fix typo in 'prove-runner' script
1239 * tests/prove-runner: Remove erroneously-repeated word.
1241 Reported by Dave Hart.
1243 2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
1245 Merge branch 'master' into testsuite-work
1246 * tests/extra-portability.test: Use `$am_original_AUTOMAKE'
1247 instead of the obsolete `$original_AUTOMAKE'.
1248 * tests/extra-portability3.test: Likewise.
1249 * tests/list-of-tests.mk: Update.
1251 2011-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
1253 Merge branch 'msvc' into master
1254 * tests/extra-portability3.test: Use `$original_AUTOMAKE' instead
1255 of hackishly extracting the first component of `$AUTOMAKE'.
1256 * tests/extra-portability.test: Likewise. Also, since we are at
1257 it, throw in a couple of small extensions and tweakings (suggested
1258 by the minor merge conflicts).
1260 2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
1262 warnings: fix buglets for portability warnings
1263 * lib/Automake/ChannelDefs.pm (switch_warning): Ensure the
1264 correct implications and inter-dependencies between warnings
1265 in the categories `portability', `extra-portability' and
1266 `recursive-portability' are respected. Also add detailed
1267 explicative comments, and references to the relevant tests.
1268 * tests/dollarvar2.test: Update and extend. Also, remove
1269 some unnecessary uses of `--force' option in automake calls.
1270 * tests/extra-portability3.test: New test.
1271 * tests/Makefile.am (TESTS): Add it.
1273 2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
1275 tests: extend tests on 'extra-portability' warning category
1276 * tests/extra-portability.test: Redefine `$AUTOMAKE' to ensure we
1277 have complete control over the automake options. Extend by using
1278 also a setup where no `portability' warning is present (only an
1279 `extra-portability' warning is). Other minor extensions. Remove
1280 some redundant, verbose comments about the expected diagnostic.
1282 2011-11-04 Stefano Lattarini <stefano.lattarini@gmail.com>
1284 test defs: new functions to analyze configure help screen
1285 * tests/defs (extract_configure_help, grep_configure_help): New
1287 * tests/maintmode-configure-msg.test: Use them, reducing code
1288 duplication and test brittleness.
1289 * tests/help-depend.test: Likewise.
1290 * tests/help-depend2.test: Likewise.
1291 * tests/help-dmalloc.test: Likewise.
1292 * tests/help-lispdir.test: Likewise.
1293 * tests/help-multilib.test: Likewise.
1294 * tests/help-python.test: Likewise.
1295 * tests/help-regex.test: Likewise.
1296 * tests/help-silent.test: Likewise.
1297 * tests/help-upc.test: Likewise.
1298 * tests/help-init.test: Make grepping of configure help screen
1300 * tests/self-check-configure-help.test: New self test.
1301 * tests/Makefile.am (TESTS): Add it.
1302 From a report by Jim Meyering.
1304 2011-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
1306 Merge branch 'master' into testsuite-work
1308 * tests/instspc.tap: Adjust to new portability requirements
1309 due to the new AM_PROG_AR macro.
1310 * tests/lex-lib.test: Likewise.
1311 * tests/extra-portability2.test: Use `$am_original_AUTOMAKE'
1312 instead of the obsolete `$original_AUTOMAKE'.
1313 * tests/list-of-tests.mk: Update.
1315 2011-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
1317 tests: various minor tweakings, mostly related to AM_PROG_AR
1318 * tests/alloca.test: Adjust to new portability requirements due
1319 to the new AM_PROG_AR macro.
1320 * tests/discover.test: Likewise.
1321 * tests/libobj3.test: Likewise.
1322 * tests/pluseq7.test: Likewise. Also, make grepping of automake
1323 expected error message stricter.
1324 * tests/stdlib.test: Likewise, and extend the test a bit.
1325 * tests/parse.test (configure.in): Remove redundant call to
1327 * tests/library2.test: Adjust to new portability requirements
1328 due to the new AM_PROG_AR macro. Also ...
1329 (configure.in): ... add call to AC_PROG_CC, to ensure automake
1330 really fails for the expected reason.
1332 2011-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
1334 Merge branch 'msvc' into master
1336 * tests/instspc-tests.sh: Adjust to new portability requirements
1337 due to the new AM_PROG_AR macro.
1338 * tests/libobj-basic.test: Likewise.
1339 * tests/libobj2.test: Likewise.
1340 * tests/libobj15a.test: Likewise.
1341 * tests/libobj15b.test: Likewise.
1342 * tests/libobj15c.test: Likewise.
1343 * tests/libobj16a.test: Likewise.
1344 * tests/libobj16b.test: Likewise.
1345 * tests/libobj17.test: Likewise.
1346 * tests/libobj18.test: Likewise.
1347 * tests/libobj19.test: Likewise.
1348 * tests/libobj20a.test: Likewise.
1349 * tests/libobj20b.test: Likewise.
1350 * tests/libobj20c.test: Likewise.
1351 * tests/canon6.test: Likewise.
1352 * tests/canon6.test: Likewise.
1353 * tests/canon7.tests: Likewise.
1354 * tests/extra9.test: Likewise.
1355 * tests/extradep.test: Likewise.
1356 * tests/extradep2.test: Likewise.
1357 * tests/posixsubst-ldadd.test: Likewise.
1358 * tests/posixsubst-libraries.test: Likewise.
1359 * tests/posixsubst-ltlibraries.test: Likewise.
1360 * tests/python-virtualenv.test: Likewise.
1361 * tests/vartypos.test: Likewise.
1362 * tests/vartypo2.test: Likewise.
1363 * tests/suffix.test: Update to take into account previous
1364 master-only changes.
1365 * tests/suffix2.test: Likewise.
1366 * tests/libobj7.test: Call automake with the `--add-missing'
1367 option, instead of creating a dummy `ar-lib' file, since this
1368 test now also runs "./configure" and "make".
1369 * tests/suffix5.test: Copy the real `ar-lib' script file,
1370 instead of creating a dummy one, since this test now also
1371 runs "./configure" and "make".
1372 * tests/extra-portability2.test: Fix this test not to rely
1373 on the older, faulty semantics of "strictness specification
1374 always reset warning level", which has been fixed in commit
1375 v1.11-623-g1609491 (see also automake bug#7669 a.k.a. PR/547).
1376 Since we are at it, throw inf few other minor unrelated
1378 * tests/extra-portability.test: Explicitly pass `-Wall' to
1379 automake calls, for clarity.
1381 2011-10-21 Peter Rosin <peda@lysator.liu.se>
1383 warnings: new 'extra-portability' category, for AM_PROG_AR
1384 * lib/Automake/ChannelDefs.pm: Register new extra-portability
1386 (switch_warning): Turn off extra-portability if portability is
1387 turned off, and turn on portability if extra-portability is
1389 (set_strictness): Silence extra-portability for --gnits, --gnu
1391 * tests/extra-portability2.test: New test, checking that the
1392 extra-portability channel is silenced by --gnits, --gnu and
1394 * doc/automake.texi (Invoking Automake): Document the new warning
1395 category and its interaction with the portability category.
1396 * tests/extra-portability.test: New test, checking the interaction
1397 between the portability and extra-portability warning categories.
1398 * automake.in (handle_libraries, handle_ltlibraries): Move the
1399 AM_PROG_AR warnings to the new extra-portability channel.
1400 * tests/ar2.test: Adjust to the new warning channel.
1401 * tests/pr300-lib.test: Likewise.
1402 * tests/pr300-ltlib.test: Likewise.
1403 * tests/pr307.test: Likewise.
1404 * tests/pr401.test: Likewise.
1405 * tests/pr401b.test: Likewise.
1406 * tests/pr401c.test: Likewise.
1407 * tests/pr72.test: Likewise.
1409 * tests/Makefile.am (TESTS): Update.
1411 2011-10-21 Peter Rosin <peda@lysator.liu.se>
1412 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1413 Stefano Lattarini <stefano.lattarini@gmail.com>
1415 Add new 'AM_PROG_AR' macro, triggering the 'ar-lib' script.
1416 * m4/ar-lib.m4: New macro AM_PROG_AR, which locates an
1417 archiver and triggers the auxiliary 'ar-lib' script if needed.
1418 * m4/Makefile.am (dist_m4data_DATA): Update.
1419 * automake.in ($seen_ar): New variable.
1420 (scan_autoconf_traces): Set it.
1421 (handle_libraries, handle_ltlibraries): Require AM_PROG_AR for
1423 * doc/automake.texi (Public Macros): Mention the new
1425 (Subpackages): Add AM_PROG_AR to the example.
1426 (A Library): Adjust recommendations for AR given the new
1428 * All relevant tests: Adjust to new portability requirements due
1429 to the new AM_PROG_AR macro.
1430 * tests/ar-lib2.test: New test, checking that AM_PROG_AR triggers
1432 * tests/ar-lib3.test: New test, checking that lib_LIBRARIES
1433 requires AM_PROG_AR.
1434 * tests/ar-lib4.test: New test, checking that lib_LTLIBRARIES
1435 requires AM_PROG_AR.
1436 * tests/ar-lib5a.test: New test, checking that AM_PROG_AR triggers
1437 use of ar-lib when the archiver is Microsoft lib.
1438 * tests/ar-lib5b.test: New test, checking that AM_PROG_AR triggers
1439 use of ar-lib when the archiver is a faked lib.
1440 * tests/ar-lib6a.test: New test, checking the ordering of
1441 AM_PROG_AR and LT_INIT.
1442 * tests/ar-lib6b.test: New test, checking the ordering of
1443 AM_PROG_AR and AC_PROG_LIBTOOL.
1444 * tests/ar-lib7.test: New test, checking that automake warns
1445 if ar-lib is missing.
1446 * tests/ar3.test: New test, checking that AR and ARFLAGS may
1447 be overridden by the user even if AM_PROG_AR is used.
1448 * tests/ar4.test: New test, checking that AM_PROG_AR bails out
1449 if it cannot determine the archiver interface.
1450 * tests/ar5.test: New test, checking that AM_PROG_AR runs its
1451 optional argument if it cannot determine the archiver interface.
1452 * tests/defs.in: New required entry 'lib'.
1453 * tests/Makefile.am (TESTS): Update.
1456 2011-11-03 Zack Weinberg <zackw@panix.com> (tiny change)
1457 Stefano Lattarini <stefano.lattarini@gmail.com>
1459 maint-mode: fix botched configure messages
1460 This change fixes automake bug#9890.
1461 * m4/maintainer.m4 (AM_MAINTAINER_MODE): Fix the "checking ..."
1462 configure message related to the enabling/disabling of maintainer
1464 * tests/help-maintainer.test: Renamed ...
1465 * tests/maintmode-configure-msg.test: ... to this, and extended
1466 to cover the fixed bug. Also, since we are at it, make grepping
1467 of configure help screens stricter, and throw in some few other
1468 changes to reduce code duplication and enhance readability.
1469 * tests/Makefile.am (TESTS): Update.
1470 * THANKS: Update with Zack's new e-mail address.
1471 Report and initial patch by Zack Weinberg, test cases added by
1474 2011-10-23 Stefano Lattarini <stefano.lattarini@gmail.com>
1476 info: allow user to inhibit creation/update of '${infodir}/dir'
1477 With this change, we allow the user to request the install-info
1478 rules not to update the `${infodir}/dir' file, by setting the
1479 environment variable `AM_UPDATE_INFO_DIR' to the value "no".
1480 This is especially useful to distro packagers, and is a definite
1481 improvement over our previous hack of looking whether the
1482 `install-info' program was the Debian or GNU version -- hack
1483 which had been silently broken with recent versions of debian
1484 install-info BTW (probably since dpkg 1.15.4, 2009-09-06).
1485 This change fixes automake bug#9773. See also Debian Bug#543992.
1486 * lib/am/texinfos.am: Don't look anymore at the output of
1487 `install-info --version' to decide whether to use it to update
1488 the `${infodir}/dir' or not; instead, honour the environment
1489 variable `AM_UPDATE_INFO_DIR'.
1490 * tests/install-info-dir.test: New test.
1491 * tests/Makefile.am (TESTS): Add it.
1492 * tests/defs: Also unset `AM_UPDATE_INFO_DIR', to avoid unwanted
1493 interferences from the environment.
1494 * doc/automake.texi (Texinfo): Update.
1497 Report by Jonathan Nieder.
1499 2011-10-25 Stefano Lattarini <stefano.lattarini@gmail.com>
1501 test defs: new function 'am_keeping_testdirs', for better APIs
1503 This change is meant to make it easier for TAP-based test scripts
1504 to remove files left over by completed (sub)tests, while still
1505 honoring the user-provided `$keep_testdirs' setting.
1507 * tests/defs (am_keeping_testdirs): New function, telling whether
1508 we should keep the test directories around, even in case of
1509 success (by default, we don't).
1510 (exit trap): Use it.
1511 * tests/depmod.tap: Likewise.
1512 * tests/instspc.tap: Likewise. Also, fix some pre-existing
1513 "copy & paste" bugs, and a typo in comments.
1515 2011-10-25 Stefano Lattarini <stefano.lattarini@gmail.com>
1517 tests: remove redundant `set -e', and other minor improvements
1518 * tests/dejagnu-absolute-builddir.test: Do not set the `errexit'
1519 shell flag, as it is already set by `tests/defs'.
1520 * tests/dejagnu-relative-srcdir.test: Likewise.
1521 * tests/dejagnu-siteexp-append.test: Likewise.
1522 * tests/dejagnu-siteexp-useredit.test: Likewise, and fix a typo
1524 * tests/dejagnu-siteexp-extend.test: Likewise, and prefer the
1525 use of `$distdir' over hard-coded `$me-1.0'. Also ...
1526 (write_check_for): ... use `unindent' when writing from an
1527 here-doc, for better code indentation.
1529 2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
1531 deps: partially revert commit `v1.11-512-geeee551'
1532 This change partly reverts commit "Create subdirs for generated
1533 sources even when not dep tracking", of 2011-04-02.
1534 That commit had caused the bugs #8485 and #8526. Since we are
1535 nearing the bug-fixing automake release 1.11.2, the safest policy
1536 at the moment is to just revert the problematic hunks: an older,
1537 known bug is better than a regression.
1538 * automake.in (handle_single_transform): Don't add a dirstamp
1539 dependency, even when $object is derived and lands in a subdir.
1540 * tests/Makefile.am (XFAIL_TESTS): Add lex-subobj-nodep.test,
1541 remove yacc-dist-nobuild-subdir.test.
1543 2011-10-25 Stefano Lattarini <stefano.lattarini@gmail.com>
1545 tests: few improvements to some `ar-lib' related tests
1547 * tests/ar-lib5a.test (Makefile.am): Also check that the target
1548 library has truly been created.
1549 (ar-lib): Use the real `ar-lib' script (mildly patched) rather
1550 than a dummy one, to ensure better "real-life coverage". Fix
1551 botched shebang line.
1552 * tests/ar-lib5b.test: Extend the PATH variable to make the dummy
1553 `lib' script accessible, instead of explicitly calling it by its
1554 relative/absolute path.
1555 (ar-lib): Fix botched shebang line.
1556 (bin/lib): Likewise. Also, add explicative comments, and make
1559 2011-10-24 Peter Rosin <peda@lysator.liu.se>
1561 Merge branch 'maint' into msvc
1563 * tests/subpkg-yacc.test: Adjust to new portability requirements due
1564 to the new AM_PROG_AR macro.
1566 2011-10-19 Stefano Lattarini <stefano.lattarini@gmail.com>
1568 dejagnu: allow the package developer to extend site.exp
1569 Fixes automake bug#7873.
1570 * lib/am/dejagnu.am (site.exp): Depend from the files listed in
1571 $(EXTRA_DEJAGNU_SITE_CONFIG), if any. Append their contents to
1572 the generated site.exp (still preserving user edits).
1573 * doc/automake.texi (Dejagnu Tests): Update.
1574 * tests/dejagnu-siteexp-append.test: New test.
1575 * tests/dejagnu-siteexp-extend.test: Likewise.
1576 * tests/dejagnu-siteexp-useredit.test: Likewise.
1577 * tests/Makefile.am (TESTS): Update.
1579 Suggestion by Rainer Orth.
1581 2011-10-19 Stefano Lattarini <stefano.lattarini@gmail.com>
1583 dejagnu: ensure 'srcdir' is defined as a relative directory
1584 This change fixes automake bug#7833.
1585 * lib/am/dejagnu.am (check-DEJAGNU): Prefer using plain $(srcdir)
1586 over calculating and using the absolute path of $(srcdir).
1587 * tests/dejagnu-relative-srcdir.test: New test.
1588 * tests/dejagnu-absolute-builddir.test: Likewise.
1589 * tests/Makefile.am (TESTS): Update.
1590 Report by Ian Lance Taylor. Suggestions by Ralf Wildenhues.
1592 2010-12-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1594 Fix testsuite failure of check12.test without DejaGNU.
1595 * tests/check12.test: Require runtest.
1597 2010-12-10 Stefano Lattarini <stefano.lattarini@gmail.com>
1599 Extend and improve tests on DejaGnu support.
1600 * tests/dejagnu.test: Do not create useless dummy test script.
1601 Add trailing `:' command. In heading comments, add reference
1603 * tests/check12.test: ... this new "semantic" test, covering
1604 concurrent use of dejagnu tests, simple tests and `check-local'
1606 * tests/dejagnu2.test: Make test more reliable, by avoid weak
1607 grepping of make output. Prefer `cat' over `echo' to append
1608 to configure.in. Quote literal dots in grep regexps. Prefer
1609 `grep -c ...' over `grep ... | wc -l'. Make grepping of
1610 automake stderr slightly stricter. Add trailing `:' command.
1611 * tests/dejagnu3.test: Prefer `cat' over `echo' to append to
1612 configure.in. Check stderr of expected-to-fail "make" call.
1613 Remove extra blank lines from Makefile.am.
1614 * tests/dejagnu4.test: Prefer `cat' over `echo' to append to
1615 configure.in. Prefer `mv -f' over plain `mv' when the target
1616 file already exists. Avoid extra mkdir calls by creating more
1617 directories at once. Better use of blank lines. Check that
1618 the `*.log' and `*.sum' files are created by runtest also when
1620 * tests/dejagnu7.test: Prefer `cat' over `echo' to append to
1621 configure.in. Better use of blank lines. Add a trailing `:'
1623 * tests/dejagnu6.test: Likewise, and give the dejagnu test a
1624 more descriptive name.
1625 * tests/dejagnu5.test: Likewise. Also, simply define package
1626 name to `$me' rather than using a non-obvious sed script to
1627 extract it from `AC_INIT', and write the Makefile.am with only
1629 * tests/Makefile.am (TESTS): Updated.
1631 2011-10-21 Peter Rosin <peda@lysator.liu.se>
1633 * THANKS: Fix whitespace issue.
1635 2011-10-25 Stefano Lattarini <stefano.lattarini@gmail.com>
1637 tests: fix spurious failures due to missing 'yywrap()' function
1639 The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
1640 the "lex library" expected to provide a `yywrap' function (function
1641 which is required to link most lex-generated programs). On the
1642 contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
1643 fail, configure declares that no lex library is needed, and simply
1644 proceeds with the configuration process -- only for the build to
1645 possibly fail later, at make time.
1647 This behaviour is intended; the Autoconf manual reads:
1648 ``You are encouraged to use Flex in your sources, since it is
1649 both more pleasant to use than plain Lex and the C source it
1650 produces is portable. In order to ensure portability, however,
1651 you must either provide a function `yywrap' or, if you don't use
1652 it (e.g., your scanner has no `#include'-like feature), simply
1653 include a `%noyywrap' statement in the scanner's source.''
1655 This AC_PROG_LEX behaviour is causing some spurious failures of
1656 the Automake testsuite in environments which lack a proper library
1657 providing `yywrap' (this happens for example on Fedora-based
1658 systems). The proper workaround is to simply provide a fall-back
1659 implementation of `yywrap' in our lexers.
1661 See also partially-overlapping commit `v1.11-871-geb147a1' (from
1662 the 'testsuite-work' branch), which was motivated by similar
1663 spurious failures experienced when cross-compiling.
1665 Reported by Jim Meyering:
1666 <http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html>
1668 * tests/cond35.test: Provide a dummy `yywrap' function.
1669 * tests/lex3.test: Likewise.
1670 * tests/lexvpath.test: Likewise.
1671 * tests/silent-lex-generic.test: Likewise.
1672 * tests/silent-lex-gcc.test: Likewise.
1674 2011-10-21 Stefano Lattarini <stefano.lattarini@gmail.com>
1676 tests: more faithful 'installcheck' support in few tests
1677 * tests/test-driver-acsubst.test: Use the `$am_scriptdir'
1678 variable instead of `$testsrcdir/../lib', to test more
1679 faithfully under "make installcheck".
1680 * tests/test-driver-cond.test: Likewise.
1681 * tests/dist-auxfile.test: Likewise, and add one more use
1682 of `fatal_' to report hard errors.
1683 * tests/tests/dist-auxdir-many-subdirs.test: Likewise.
1685 2011-10-21 Stefano Lattarini <stefano.lattarini@gmail.com>
1687 tests: remove redundant settings of `errexit' shell flag
1688 * tests/aclocal-path-install-serial.test: Do not set the
1689 `errexit' shell flag, as it is already set by `tests/defs'.
1690 * tests/aclocal-path-install.test: Likewise.
1691 * tests/aclocal-path-nonexistent.test: Likewise.
1692 * tests/aclocal-path-precedence.test: Likewise.
1693 * tests/aclocal-path.test: Likewise.
1694 * tests/dist-auxfile-2.test: Likewise.
1695 * tests/dist-auxfile.test: Likewise.
1696 * tests/distcheck-pr9579.test: Likewise.
1697 * tests/javadir-undefined.test: Likewise.
1698 * tests/subpkg-yacc.test: Likewise.
1699 * tests/test-extensions-cond.test: Likewise.
1700 * tests/test-extensions.test: Likewise.
1701 * tests/uninstall-fail.test: Likewise.
1702 * tests/uninstall-pr9578.test: Likewise.
1703 * tests/distcheck-override-infodir.test: Likewise. Also,
1704 fix typo in heading comments since we are at it.
1706 2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
1708 fixup: add forgotten test scripts to $(TESTS)
1709 * tests/list-of-tests.mk: Add various test scripts that are in
1710 the git repository but weren't correctly listed in $(TESTS).
1711 The inconsistency had been caused by botched/incomplete merges,
1712 and revealed by the "maintainer-check-list-of-tests" target.
1714 2011-10-18 Stefano Lattarini <stefano.lattarini@gmail.com>
1716 tests: fix spurious failure with FreeBSD make and Yacc in VPATH
1717 * tests/subpkg.test: Some cosmetic adjustments. Move the tests
1718 checking that $(YLWRAP) is defined and installed properly when
1719 ylwrap is in a default auxdir found in a parent package ...
1720 * tests/subpkg-yacc.test: ... into this new test, which carefully
1721 avoids to trigger the known bug#7884 (combo FreeBSD make plus Yacc
1723 * tests/Makefile.am (TESTS): Update.
1725 2011-10-18 Stefano Lattarini <stefano.lattarini@gmail.com>
1727 tests: avoid spurious failure in 'parallel-tests3.test'
1728 This fixes automake bug#8788.
1729 * tests/parallel-tests3.test: To ensure that the serial run of
1730 the dummy testsuite is still ongoing when the parallel run has
1731 terminated, use `kill -0', not a bare `kill'. This will prevent
1732 a testsuite crash on NetBSD 5.1, and a testsuite hang on FreeBSD
1733 8.2. Also, since we are at it, try harder to avoid possible
1734 hangs of the script in other unusual situations.
1736 2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
1738 tests: fix spurious failures with "chatty" make implementations
1739 * tests/distcheck-missing-m4.test: On failure, some make
1740 implementations (such as Solaris make) print the whole failed
1741 recipe on standard output. This was causing a spurious failure
1742 in the checks grepping the output from make. Work around this.
1743 * tests/distcheck-outdated-m4.test: Likewise.
1745 2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
1747 tests: fix spurious failure on fast machines
1748 * tests/aclocal-path-precedence.test: Also remove the `configure'
1749 script between different test runs, to ensure it is always remade
1750 by autoconf. Add proper explicative comments.
1752 2011-10-20 Stefano Lattarini <stefano.lattarini@gmail.com>
1754 tests: avoid spurious failure of 'uninstall-fail.test' on Solaris
1755 * tests/uninstall-fail.test: All the Solaris 10 shells (/bin/sh,
1756 /bin/ksh, and /usr/xpg4/bin/sh), upon failing to chdir to a
1757 directory with the `cd' builtin, print a message like:
1758 "sh: /root: permission denied"
1759 which doesn't report the `cd' builtin anywhere. Relax the grepping
1760 of the error message accordingly.
1762 2011-10-20 Jim Meyering <meyering@redhat.com>
1764 tests: fix aclocal-print-acdir.test
1765 * tests/aclocal-print-acdir.test: Adjust to pass.
1767 2011-10-19 Stefano Lattarini <stefano.lattarini@gmail.com>
1769 tests: avoid spurious failure of 'uninstall-fail.test' on Cygwin
1770 * tests/uninstall-fail.test: Be sure to really skip this test
1771 on systems that allows files to be removed from unwritable
1772 directories. Motivated by a spurious failure on Cygwin 1.5.
1774 2011-10-17 Stefano Lattarini <stefano.lattarini@gmail.com>
1776 tests: fix spurious failure with autoconf 2.62
1777 * tests/aclocal-path-precedence.test: Rewrite configure.in,
1778 rather than appending to it, to avoid spurious failures (at
1779 least with autoconf 2.62) due to repeated calls to AC_INIT.
1780 Also, add package name and version arguments to AC_INIT, to
1781 avoid spurious errors from automake.
1783 2011-10-16 Stefano Lattarini <stefano.lattarini@gmail.com>
1785 docs: avoid using colon character inside arguments of @pxref
1786 Fixes automake bug#9753
1787 * doc/automake.texi (VPATH Builds): Avoid using colon character
1788 `:' inside arguments of @pxref, as this can cause problems in
1789 the generated `.info' files, and such an usage will be explicitly
1790 forbidden by future texinfo documentation.
1792 Reported by Дилян Палаузов.
1794 2011-10-17 Stefano Lattarini <stefano.lattarini@gmail.com>
1796 refactor: improve signature of 'check_directory' sub in automake
1797 * automake.in (check_directory): Take the relative directory
1798 the directory to be checked is expected to be found into as
1799 an optional parameter, rather than reading it from the global
1800 variable `$relative_dir'.
1801 (scan_autoconf_traces, check_directories_in_var): Adjust.
1803 2011-10-17 Stefano Lattarini <stefano.lattarini@gmail.com>
1805 cosmetics: remove obsolete comment
1806 * automake.in (push_required_file): Remove "FIXME" comment stating
1807 that the special handling of `$config_aux_dir' breaks threaded
1808 automake: this is not true anymore after the recent commits (see
1809 in particular commit `v1.11-1225-gf672944').
1811 2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1813 tests: fix spurious failure with Solaris /bin/sh
1814 * tests/dist-auxfile.test: Don't use redirected `:' in a loop,
1815 it hits a bug in Solaris 10 /bin/sh.
1817 2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1819 threaded-am: better serialization for required config files
1820 With this change, we make serialization/de-serialization of
1821 required config files installs more granular, and in the process
1822 fix the bug introduced by commit `v1.11-1219-g326ecba'.
1823 * automake.in ($required_conf_file_queue): Move its declaration
1825 (require_file_internal): Add a new argument telling whether the
1826 function should act immediately or queue its action for the master
1828 (queue_required_conf_file): Renamed ...
1829 (queue_required_file_check_or_copy): ... to this.
1830 (require_queued_conf_file): Renamed ...
1831 (require_queued_file_check_or_copy): ... to this, and make it call
1832 `required_file_check_or_copy' instead of `require_file_internal'.
1833 (require_conf_file, handle_makefiles_threaded): Adjust and simplify
1835 * tests/Makefile.am (XFAIL_TESTS): Remove `parallel-am.test'.
1837 2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1839 automake: refactor, break up 'require_file_internal'
1840 This refactoring is only required in view of future changes.
1841 * automake.in (require_file_internal): Move the guts of this
1843 (required_file_check_or_copy): ... into this new function. This
1844 ensures that calls to `push_required_file' and code that copies
1845 required files are placed in separate functions; this will be
1846 very useful for reorganizing de-serialization of file installs
1849 2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1851 dist: separate auxiliary file instantiation from DIST_COMMON update
1852 This change simplifies the automake internals dealing with the
1853 checking, copying and distributing of required auxiliary files.
1854 With this change, a required auxiliary file is *unconditionally*
1855 added to the contents of the DIST_COMMON variable in the generated
1856 Makefile.in, before checking whether it exists, or trying to copy
1857 it (if `--add-missing' is in use). This shouldn't be a problem,
1858 since if the checking or copying of the file fails, automake will
1859 bail out, the Makefile.in won't be created, and thus its content
1860 will not matter. OK, this is not completely true when threaded
1861 automake is in use, but then, such a situation was also possible
1862 before this patch, so no regression here, which is enough for us.
1863 This change is the first of a series of steps aimed at fixing
1864 the regression introduced in threaded automake usage by commit
1865 `v1.11-1219-g326ecba'.
1866 * automake.in (require_file_internal): Add the required file to
1867 DIST_COMMON unconditionally.
1868 * tests/missing-auxfile-stops-makefiles-creation.test: New test.
1869 * tests/Makefile.am (TESTS): Add it.
1871 2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1873 refactor: rename a subroutine to a more proper name
1874 * automake.in (maybe_push_require_file): Renamed ...
1875 (push_required_file): ... to this.
1876 All callers adjusted.
1878 2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1880 dist: truly always distribute files in AC_REQUIRE_AUX_FILE
1881 This change fixes automake bug#9651.
1882 * automake.in (handle_dist): Files whose distribution is required
1883 by configure.ac are now correctly distributed even if the build-aux
1884 directory coincides with the top-level directory.
1885 * tests/Makefile.am (XFAIL_TESTS): Remove `dist-auxfile.test'.
1888 2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1890 dist: simplify automake code accordingly to the previous changes
1891 After the previous change `v1.11-1219-g326ecba', every Makefile.am
1892 requiring a file in the "config auxdir" will cause it to be listed
1893 in the DIST_COMMON variable of the corresponding generated
1894 Makefile.in, not only of the top-level Makefile.in. Thus we don't
1895 need to worry anymore about trying to distribute files in the
1896 config auxdir from the top-level Makefile or the Makefile in
1897 config auxdir (if any). This allows us to carry out some useful
1898 simplifications in the automake script.
1899 This will however cause some changes in the generated Makefile;
1900 for example, if the `PROGRAMS' primary is used only in a subdir
1901 Makefile.am, the `depcomp' script will be distributed only by
1902 `subdir/Makefile', not by the top-level Makefile. This change
1903 can be seen as an internal detail though, and definitely warranted
1904 by the nice simplifications the current commit provides.
1905 * automake.in ($automake_will_process_aux_dir): Variable removed.
1906 (scan_autoconf_files): Adjust and simplify.
1907 (handle_makefiles_threaded): Likewise.
1908 (get_number_of_threads): Likewise.
1909 (require_file_internal): Likewise.
1910 (maybe_push_required_file): Its return value is not used anymore,
1911 so return nothing. Add special handling for distributed files from
1912 `$config_libobj_dir'. Also, catch "this can't happen" situations,
1913 and abort accordingly. Fix function description to better fit its
1915 * tests/libobj19.test: Extend to also check situations where the
1916 Makefile.am using $(LIBOBJS) is not the top-level one.
1917 * tests/distcom6.test: Delete, merged into ...
1918 * tests/distcom2.test: ... this test, which has been update to
1919 account for the changed automake semantics.
1920 * tests/Makefile.am (TESTS): Update.
1923 2011-10-08 Stefano Lattarini <stefano.lattarini@gmail.com>
1925 dist: auxiliary files can be distributed from subdir Makefiles
1926 With this change, we make it possible for a subdir Makefile.am
1927 to distribute files in the config auxdir; while this means that
1928 some files might be copied multiple times, it simplify some logic
1929 in the automake script, and fix at least one important bug. In
1930 fact, before this change, the auxiliary script `test-driver' was
1931 not being distributed as expected when TESTS was defined only in
1932 a subdir Makefile (which is a pretty common setup indeed). Now
1933 this does not happen anymore: so the present change fixes automake
1935 Another welcome collateral effect is that `dist-auxfile-2.test'
1937 OTOH, the present changes *breaks threaded automake*. The reason
1938 is that automake needs to serialize file installations spawned
1939 by `--add-missing' (this isn't for cosmetic reasons, but is
1940 really needed to avoid possible race conditions and botched output
1941 files). Currently the code that installs required files is
1942 intertwined with the code that declares the DIST_COMMON variables;
1943 so, upon de-serialization, the definition of DIST_COMMON might get
1944 emitted in the wrong Makefile.in.
1945 Some follow-up refactoring in automake will soon take care of
1946 remedying this situation. For the moment, we just declare some
1947 "parallel-am" tests as xfailing.
1948 * automake.in (maybe_push_required_file): Add ad-hoc handling for
1949 the case where the directory part of the required file is different
1950 from the subdir where the current Makefile.am resides, but is equal
1951 to the "config-aux directory" ($config_auxdir). This is needed to
1952 allow a construct in a non-top-level Makefile.am to require a file
1953 in the config-aux directory.
1954 * tests/test-driver-is-distributed.test: Extend and adjust. This
1956 * tests/java-compile-run-nested.test: Call automake with the `-a'
1957 option to ensure that the `test-driver' auxiliary script gets
1958 correctly installed. This test now passes.
1959 * tests/distcom-subdir.test: New test.
1960 * tests/dist-readonly.test: Likewise.
1961 * tests/dist-repeated.test: Likewise.
1962 * tests/dist-auxdir-many-subdirs.test: Likewise.
1963 * tests/distcom7.test: Removed, it's obsolete now.
1964 * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
1966 2011-10-11 Stefano Lattarini <stefano.lattarini@gmail.com>
1968 coverage: conditional contents in LOG_DRIVER variables
1969 * tests/test-driver-cond.test: New test.
1970 * tests/Makefile.am (TESTS): Add it.
1972 2011-10-11 Stefano Lattarini <stefano.lattarini@gmail.com>
1974 coverage: LOG_DRIVER variables can be defined through AC_SUBST
1975 * tests/test-driver-acsubst.test: New test.
1976 * tests/Makefile.am (TESTS): Add it.
1978 2011-10-07 Stefano Lattarini <stefano.lattarini@gmail.com>
1980 parallel-tests: warn on conditional TEST_EXTENSIONS definition
1981 Before this change, automake would have still bailed out, but
1982 with a confusing error message (about an invalid redefinition
1983 of TEST_EXTENSIONS).
1984 * automake.in (handle_tests): Warn explicitly if TEST_EXTENSIONS
1985 has conditional contents.
1986 * tests/test-extensions-con.test: New test.
1987 * tests/Makefile.am (TESTS): Add it.
1990 2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
1992 parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS
1993 Even after the last commit `v1.11-476-g90bea64', the checks
1994 performed by automake on entries in $(TEST_EXTENSIONS) tried to
1995 allow for @substitited@ stuff. This however ends up allowing
1996 quite brittle setups, which, most importantly, are of no real
1997 practical usefulness anyway. So it's better to just disallow
1998 @substitutions@ in TEST_EXTENSIONS altogether, offering a clear
1999 error message, instead of risking weird bugs and unexpected
2000 behaviors in the generated Makefile.in.
2001 * automake.in ($TEST_EXTENSION_PATTERN): Turned from a regular
2003 (is_valid_test_extension): ... into this subroutine. Don't allow
2004 generic @substitutions@ anymore (possibly making an exception for
2005 `@EXEEXT@' under the proper circumstances).
2006 * tests/test-extensions.test: Adjust and extend. This test does
2007 not cause any internal error in automake anymore now.
2009 2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
2011 tests: fix spurious failure in 'insthook.test'
2012 * tests/insthook.test (Makefile.am): Add a proper `uninstall-hook'
2013 target to remove the symlink created by the `install-exec-hook'
2014 target; this prevents "make distcheck" from failing spuriously.
2015 Since we are at it, delete an extra blank line, and add a trailing
2018 2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
2020 maintcheck: fix spurious failure
2021 * lib/am/distdir.am: Use `$(infodir)', not `${infodir}', to avoid
2022 complaints from the `sc_no_brace_variable_expansions' maintainer
2025 2011-10-18 Stefano Lattarini <stefano.lattarini@gmail.com>
2027 * tests/yacc-dist-nobuild.test: Add reference to relevant bug#7884.
2029 2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
2031 tests: fix spurious error in 'test-extensions.test'
2032 * tests/test-extensions.test: Call automake with the option
2033 `--add-missing', to ensure the required script `test-driver'
2034 gets installed. Note that the test still fails due to an
2035 internal error in automake, though.
2037 2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
2039 tests: avoid few useless uses of the `-e' make option
2040 * tests/python12.test: Using `make -e' is not required to override
2041 the DESTDIR variable, since this variable shouldn't be defined in
2042 any automake-generated Makefile.in file.
2043 * tests/man2.test: Likewise.
2044 * tests/man5.test: Likewise.
2046 2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
2048 fix: make a test script executable
2049 * tests/nobase-nodist.test: Make executable.
2051 2011-10-06 Stefano Lattarini <stefano.lattarini@gmail.com>
2053 coverage: expose automake bug#9651
2054 * tests/dist-auxfile.test: New test, xfailing.
2055 * tests/dist-auxfile-2.test: Likewise.
2056 * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
2058 2011-10-01 Stefano Lattarini <stefano.lattarini@gmail.com>
2060 parallel-tests: automake error our on invalid TEST_EXTENSIONS
2061 This change fixes automake bug#9400.
2062 * automake.in (handle_tests): Bail out if a suffix specified in
2063 TEST_EXTENSIONS would produce an invalid `xxx_LOG_COMPILER'
2064 variable or an invalid suffix rule. Before this change, automake
2065 would have issued a confusing error messages (about invalid or
2066 non-POSIX variables being defined), and in some situations would
2067 have even produced a broken `Makefile.in' file.
2068 ($TEST_EXTENSION_PATTERN): New helper variable.
2069 * doc/automake.texi (Simple Tests using parallel-tests): Document
2070 the limitations on TEST_EXTENSIONS explicitly.
2072 * tests/test-extensions.test: New test.
2073 * tests/Makefile.am (TESTS): Update.
2075 2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
2077 docs: don't suggest installing `.m4' files in hard-coded location
2078 This change fixes automake bug#7988.
2079 * doc/automake.texi (aclocal Options): State that the use of
2080 the `--print-ac-dir' option to determine the directory where
2081 third-party packages can install their `.m4' files is discouraged
2083 (Extending aclocal): Suggest telling the user about ACLOCAL_PATH.
2085 Report by Peter Johansson.
2087 2011-09-26 Stefano Lattarini <stefano.lattarini@gmail.com>
2089 distuninstallcheck: fail also when only one file is left installed
2090 This change fixes automake bug#9579.
2091 * lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring
2092 a potential `dir' file created by install-info and left installed.
2093 Also, be more careful about "this can't happen" kind of errors.
2094 (am__distuninstallcheck_listfiles): New internal helper macro.
2095 * tests/distcheck-pr9579.test: New test.
2096 * tests/distcheck-override-infodir.test: Likewise.
2097 * tests/Makefile.am (TESTS): Add them.
2098 * NEWS, THANKS: Update.
2099 Report by Nick Bowler.
2101 2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
2103 tap/awk: improve comments about Korn shell signal handling issues
2104 * lib/tap-driver.sh: Link an Austin Group discussion about how
2105 shells are allowed, and even encouraged, to set the special
2106 variable `$?' to values greater than 256 to report termination
2107 of a child by a signal. Improve and extend comments about our
2108 workarounds for unusual korn shell signals' propagation.
2109 Thanks to Eric Blake for the pointers.
2111 2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
2113 maintcheck: fix usage of `cd' instead of `$(am__cd)'
2114 * lib/am/inst-vars.am (am__uninstall_files_from_dir): Use
2115 `$(am__cd)', not plain `cd'.
2117 2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
2119 tap/awk: account for unusual korn shell signal handling behaviour
2120 This change has been motivated by a testsuite failure on Debian
2121 with the AT&T Korn Shell version 93u-1.
2122 * lib/tap-driver.sh: Temporarily ignore some common signals when
2123 waiting for the test command to complete, to avoid premature exit
2124 in Korn shells that propagate to themselves signals that have
2125 killed a child process.
2126 See also related commit `v1.11-1342-g6321ad3'.
2128 2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
2130 tap/awk: handle exit statuses > 256 (seen on few korn shells)
2131 Some Korn shells, when a child process die due to signal number
2132 n, can leave in $? an exit status of 256+n instead of the more
2133 standard 128+n. Apparently, both behaviours are allowed by
2134 POSIX, so be prepared to handle them both.
2135 This change has been motivated by a testsuite failure on Debian
2136 with the AT&T Korn Shell version 93u-1.
2137 * lib/tap-driver.sh (get_test_exit_message): Handle the described
2138 Korn Shell behaviour too.
2139 ($scriptversion): Update.
2141 2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
2143 tests: remove redundant workaround for Solaris /bin/sh
2144 After previous commit `v1.11-1424-g27a399a', some workarounds for
2145 Solaris 10 /bin/sh are no more required, and in fact they have
2146 started causing XPASS results on Solaris.
2147 * tests/tap-signal.tap: Remove unneeded workarounds for Solaris 10
2148 /bin/sh. Some related minor code reorganizations.
2150 2011-09-24 Stefano Lattarini <stefano.lattarini@gmail.com>
2152 uninstall: "make uninstall" before "make install" works
2153 This change fixes automake bug#9578.
2154 * lib/am/inst-vars.am (am__uninstall_files_from_dir): New internal
2155 macro, that defines a shell code fragment to uninstall files from
2157 * lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use it, to reduce code
2158 duplication and improve consistency and correctness.
2159 * lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise.
2160 * lib/am/lisp.am (uninstall-%DIR%LISP): Likewise.
2161 * lib/am/mans.am (uninstall-man%SECTION%): Likewise.
2162 * lib/am/python.am (uninstall-%DIR%LIBRARIES): Likewise.
2163 * lib/am/scripts.am (uninstall-%DIR%SCRIPTS): Likewise.
2164 * tests/uninstall-pr9578.test: New test.
2165 * tests/uninstall-fail.test: New test.
2166 * tests/Makefile.am (TESTS): Add them.
2167 * NEWS, THANKS: Update.
2168 Report by Nick Bowler.
2170 2011-09-22 Stefano Lattarini <stefano.lattarini@gmail.com>
2172 tests: fix tests on aclocal search path precedences
2173 * tests/aclocal-path-precedence.test: Call `$ACLOCAL' with the
2174 proper overridden system acdir.
2176 2011-09-28 Stefano Lattarini <stefano.lattarini@gmail.com>
2178 tests: fix spurious failures in tests on TAP + signals
2179 * tests/tap-signal.tap: Write the dummy test scripts as perl
2180 scripts, not as shell scripts, to work around unportabilities
2181 in the handling of signals. In fact, even with bash, the older
2182 script were unable to properly deliver a SIGQUIT to themselves
2185 2011-09-26 Stefano Lattarini <stefano.lattarini@gmail.com>
2187 tests: fix spurious failure in test on ACLOCAL_PATH precedences
2188 * tests/aclocal-path-precedence.test: Do not merely append to
2189 `configure.in', it should be created from scratch. Pass package
2190 name and version to AC_INIT as arguments, otherwise autoconf will
2193 2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
2195 docs: remove mention of deprecated option `--acdir'
2196 * doc/automake.texi (aclocal Options): Remove mention of
2197 deprecated `--acdir' option.
2199 2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
2201 * NEWS: Cleanup after botched merges.
2203 2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
2207 2011-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
2209 docs: document planned precedence changes in aclocal search path
2210 * doc/automake.texi (Macro Search Path): Explicitly state that the
2211 lookup order for extra directories of `.m4' files will be changed
2212 in the next major release.
2215 2011-09-19 Paolo Bonzini <bonzini@gnu.org>
2216 Stefano Lattarini <stefano.lattarini@gmail.com>
2218 aclocal: handle ACLOCAL_PATH environment variable
2219 * aclocal.in (parse_ACLOCAL_PATH): New function, parse ACLOCAL_PATH
2220 as a colon-separated list of directories to be included in the
2222 * doc/automake.texi (Macro Search Path): Document new behavior and
2223 the precedence rules for various elements of the search path.
2224 * tests/aclocal-path.test: New test.
2225 * tests/aclocal-path-install.test: Likewise.
2226 * tests/aclocal-path-install-serial.test: Likewise.
2227 * tests/aclocal-path-precedence.test: Likewise.
2228 * tests/aclocal-path-nonexistent.test: Likewise.
2229 * tests/Makefile.am (TESTS): Add them.
2231 * tests/distcheck-missing-m4.test: Extend by also checking
2232 interactions with ACLOCAL_PATH.
2233 * tests/distcheck-outdated-m4.test: Likewise, and fix a couple
2234 of botched comments since we are at it.
2236 2011-09-19 Stefano Lattarini <stefano.lattarini@gmail.com>
2238 tests: fix spurious failure in 'primary-prefix-valid-couples.test'
2239 * tests/primary-prefix-valid-couples.test: After commit
2240 v1.11-464-gc9dfc36, `java_JAVA' is not a valid prefix/primary
2241 combination by default anymore: one has to explicitly define
2242 $(javadir) to make it so. So just drop `java_JAVA' from our
2243 Makefile.am Also, since we are at it, ...
2244 (configure.in): ... remove AM_PROG_GCJ from here, as it's not
2247 2011-09-19 Stefano Lattarini <stefano.lattarini@gmail.com>
2249 docs: deprecate JAVA primary
2250 * doc/automake.texi (Java): Deprecate the JAVA primary, stating
2251 that it will become obsolete in automake 1.12 and probably removed
2252 altogether in automake 1.13. Reflect this in the section title,
2253 by appending the string "(deprecated feature)".
2254 (@menu, @detailmenu): Update.
2255 (Java Support with gcj): The cross-referenced support for bytecode
2256 compilation with the JAVA primary is rudimentary and deprecated.
2257 State that explicitly.
2259 2011-09-19 Stefano Lattarini <stefano.lattarini@gmail.com>
2261 docs: clearer distinction between `.java' with javac and with gcj
2262 * doc/automake.texi (Java support): Rename this node ...
2263 (Java support with gcj): ... to this, and change its title from
2264 "Compiling Java sources" to "Compiling Java sources using gcj".
2265 (@detailmenu, @menu, @cindex): Update and make more precise.
2266 (Java): Change the title of this node from simply "Java" to
2267 "Java bytecode compilation".
2268 (@detailmenu, @menu, @cindex): Update and make more precise.
2270 2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
2272 java: complain if java_JAVA is used but $(javadir) is undefined
2273 Fixes automake bug#8461.
2274 * automake.in (handle_java): Remove inappropriate "java" argument
2275 from the calls to `&am_install_var' and `&am_primary_prefixes'.
2276 * tests/instdir-java.test (Makefile.am): Define `$(javadir)'.
2277 * tests/javadir-undefined.test: New test.
2278 * tests/Makefile.am (TESTS): Add it.
2281 2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
2283 parallel-tests: expose automake bug#9546
2284 * tests/test-driver-is-distributed.test: New test.
2285 * tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
2287 2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
2289 py-compile tests: more faithful 'installcheck' support
2290 * tests/py-compile-basedir.test: Use the `$am_scriptsdir' variable
2291 instead of `$testsrcdir/../lib', to test more faithfully under
2292 "make installcheck". More uses of the `fatal_' subroutine to
2293 diagnose hard errors.
2294 * tests/py-compile-basic.test: Likewise.
2295 * tests/py-compile-basic2.test: Likewise.
2296 * tests/py-compile-destdir.test: Likewise.
2297 * tests/py-compile-env.test: Likewise.
2298 * tests/py-compile-option-terminate.test: Likewise.
2299 * tests/py-compile-usage.test: Likewise.
2301 2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
2303 tests: remove redundant settings of `errexit' shell flag
2304 * tests/aclocal-acdir.test: Do not set the `errexit' shell
2305 flag, as it is already set by `tests/defs'.
2306 * tests/aclocal-print-acdir.test: Likewise.
2307 * tests/distcheck-missing-m4.test: Likewise.
2308 * tests/distcheck-outdated-m4.test: Likewise.
2309 * tests/java-clean.test: Likewise.
2310 * tests/java-compile-install.test: Likewise.
2311 * tests/java-compile-run-flat.test: Likewise.
2312 * tests/java-compile-run-nested.test: Likewise.
2313 * tests/java-mix.test: Likewise.
2314 * tests/java-no-duplicate.test: Likewise.
2315 * tests/java-nobase.test: Likewise.
2316 * tests/java-rebuild.test: Likewise.
2317 * tests/java-sources.test: Likewise.
2318 * tests/java-uninstall.test: Likewise.
2319 * tests/javaflags.test: Likewise.
2320 * tests/nobase-nodist.test: Likewise.
2321 * tests/py-compile-basedir.test: Likewise.
2322 * tests/py-compile-basic.test: Likewise.
2323 * tests/py-compile-basic2.test: Likewise.
2324 * tests/py-compile-destdir.test: Likewise.
2325 * tests/py-compile-env.test: Likewise.
2326 * tests/py-compile-option-terminate.test: Likewise.
2327 * tests/py-compile-usage.test: Likewise. Since we are at it,
2328 add an extra blank line, for clarity.
2330 2011-09-16 Stefano Lattarini <stefano.lattarini@gmail.com>
2332 automake: remove special handling of `ANSI2KNR' make variable
2333 * automake.in (define_configure_variable): Remove special-cased
2334 handling of `ANSI2KNR' variable. Related minor simplifications.
2336 2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
2338 coverage: test interactions of `nobase_' and `nodist_'
2339 * tests/nobase-nodist.test: New test.
2340 * tests/Makefile.am (TESTS): Add it.
2342 2011-09-18 Stefano Lattarini <stefano.lattarini@gmail.com>
2344 java: fix various blunders in test 'java-mix.test'
2345 * tests/java-mix.test: Add missing call to `set -e'. Fix inverted
2346 semantics (`.java' files are expected *not* to be distributed by
2347 default, not the other way round). Fix various typos in the name
2348 of the `.java' files. Correct other minor blunders. Improve some
2351 2011-09-15 Stefano Lattarini <stefano.lattarini@gmail.com>
2353 automake: remove code duplication in 'handle_tests'
2354 * automake.in (handle_tests): Factor out some code dealing with
2355 test extensions and rules for generation of `.log' files into ...
2356 (handle_per_suffix_test): ... this new subroutine.
2357 * tests/parallel-tests-exeext.test: New test.
2358 * tests/Makefile.am (TESTS): Update.
2360 2011-09-13 Peter Rosin <peda@lysator.liu.se>
2362 * tests/defs [$sh_errexit_works = yes]: Output 'SIGINT' for signal 2.
2364 2011-09-13 Stefano Lattarini <stefano.lattarini@gmail.com>
2366 self tests: work around 'unset' spurious non-zero return value
2367 * tests/self-check-exit.tap ($init): Unset the possibly already
2368 unset variable `am_explicit_skips' when the `errexit' shell flag
2369 is not yet active, for the benefit of shell that return a non-zero
2370 status when unsetting an already-unset variable.
2372 2011-09-13 Stefano Lattarini <stefano.lattarini@gmail.com>
2374 tests: an explicative comment on signal-related woes
2375 * tests/self-check-exit.tap: Add pointer to a bug-autoconf
2376 discussion explaining why this test needs to temporarily block
2379 2011-09-13 Stefano Lattarini <stefano.lattarini@gmail.com>
2381 tests: also trap SIGQUIT; other fixes
2382 Some shells seems to just ignore SIGQUIT under some circumstances,
2383 even when it is not blocked; however, if the signal it trapped,
2384 the trap gets correctly executed.
2385 * tests/defs [$sh_errexit_works = yes]: Also trap SIGQUIT. Add
2386 extensive explanation of why we do so.
2387 * tests/self-check-cleanup.tap: Improve and fix to ensure that an
2388 earlier failure does not prevent the rest of the test to execute.
2389 Problem revealed by a failure in `self-check-cleanup.tap'.
2391 2011-09-13 Stefano Lattarini <stefano.lattarini@gmail.com>
2393 test defs: work around weird ksh behaviour w.r.t. signal handling
2394 * tests/defs (is_blocked_signal): Use perl to determine whether a
2395 signal is trapped, since trying to do it portably within the shell
2396 means opening a nasty can of worms.
2397 For more information and background, see:
2398 <http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html>
2399 <http://mail.opensolaris.org/pipermail/ksh93-integration-discuss/2009-February/004121.html>
2400 <http://www.cons.org/cracauer/sigint.html>
2402 2011-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
2404 cosmetics: fix various typos and grammaros
2406 * tests/py-compile-basic.test: Likewise.
2407 * tests/py-compile-basedir.test: Fix botched wording in comments.
2408 * tests/py-compile-option-terminate.test: Fix typo and incomplete
2410 Suggestions by Peter Rosin.
2412 2011-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
2414 tests: remove redundant line from a test script
2415 * tests/test-log.test (fail.test): Remove extra `echo' command,
2416 probably due to a past copy&paste blunder.
2418 2011-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
2420 tests: convert another test to TAP
2421 * tests/primary-prefix-invalid-couples.test: Renamed ...
2422 * tests/primary-prefix-invalid-couples.tap: ... to this, and
2423 converted to the use of the TAP protocols (this requires only
2424 very minimal changes this time).
2425 * tests/list-of-tests.mk: Update.
2427 2011-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
2429 tests: fix spurious failure on fast machines
2430 * tests/aclocal-acdir.test: Avoid spurious failures due to caching
2431 issues, by cleaning the autom4te cache between all the aclocal
2432 invocations, and by always calling autoconf with the `--force'
2435 2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
2437 tests: minor optimizations/simplifications in some aclocal tests
2438 * acloca11.test: Instead of running ./configure and then grepping
2439 the file it has produced, directly grep configure. Add trailing
2441 * acloca12.test: Likewise.
2442 * acloca10.test: Likewise. Also, remove the autom4te caches
2443 by hand, instead of sleeping to ensure they get outdated and
2445 * aclocal9.test: Likewise.
2446 * acloca18.test: Likewise. Also, do not remove file `foo',
2447 which is not being created anymore.
2448 * acloca20.test: The test makes sense only if the system support
2449 real symlinks, so skip it if this is not the case. This allows
2450 for various simplifications.
2452 2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
2454 prove: avoid weird signal-related bug
2455 * tests/defs (trap): In the trap code dealing with SIGPIPE
2456 signal, ignore further signals of the same kind.
2457 See also Test::Harness issue [rt.cpan.org #70855], archived at
2458 <https://rt.cpan.org/Ticket/Display.html?id=70855>
2460 2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
2462 tests: allow use of `prove' to run automake testsuite
2463 * tests/prove-runner: New helper script; mostly it wraps
2464 our `*.test' test scripts to make them runnable by the
2466 * tests/Makefile.am (EXTRA_DIST): Distribute it.
2467 (PROVE, AM_PROVEFLAGS, AM_PROVECMD): New variables.
2468 (prove, installprove): New targets, used run the automake
2469 testsuite through the `prove' utility.
2470 * tests/gen-testsuite-part: For any considered dependency,
2471 generate a variables that groups all the tests depending on
2472 it. This is especially useful for use in the new `prove'
2473 and `installprove' targets, which cannot rely on make for
2474 inter-test dependencies, and have to handle them "by hand".
2476 2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
2478 tests defs: more namespace-safeness
2479 ($using_tap): Renamed ...
2480 ($am_using_tap): ... to this.
2481 ($parallel_tests): Renamed ...
2482 ($am_parallel_tests): ... to this.
2483 ($test_prefer_config_shell): Renamed ...
2484 ($am_test_prefer_config_shell): ... to this.
2485 ($original_AUTOMAKE): Renamed ...
2486 ($am_original_AUTOMAKE): ... to this.
2487 ($original_ACLOCAL): Renamed ...
2488 ($am_original_ACLOCAL): ... to this.
2489 * tests/defs, tests/defs-static.in, tests/gen-testsuite-part,
2490 tests/README, and all callers: Adjusted.
2491 * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Adjust, and rewrite
2492 to make future adjustments easier.
2493 * tests/defs (funcs_file_): Renamed ...
2494 (am_funcs_file): ... to this.
2495 * Makefile.am (sc_tests_obsolete_variables): New maintainer
2497 (syntax_check_rules): Add it.
2499 2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
2501 aclocal: better URL reference in error message
2502 * aclocal.in (scan_file): In the error message about underquoted
2503 definitions, reference the automake page at `www.gnu.org', not
2504 at `sources.redhat.com'.
2506 2011-09-10 Stefano Lattarini <stefano.lattarini@gmail.com>
2508 tests: avoid creating useless files in some test directories
2509 * tests/aclocal.test: Define `$am_create_testdir' to "empty"
2510 before sourcing ./defs, to avoid bringing in unused auxiliary
2511 files. Related adjustments.
2512 * tests/aclocal3.test: Likewise.
2513 * tests/aclocal8.test: Likewise.
2514 * tests/aclocal9.test: Likewise.
2515 * tests/acloca10.test: Likewise.
2516 * tests/acloca11.test: Likewise.
2517 * tests/acloca12.test: Likewise.
2518 * tests/acloca15.test: Likewise.
2519 * tests/acloca16.test: Likewise.
2520 * tests/acloca17.test: Likewise.
2521 * tests/acloca18.test: Likewise.
2522 * tests/acloca20.test: Likewise.
2523 * tests/acloca21.test: Likewise.
2524 * tests/acloca23.test: Likewise.
2525 * tests/aclocal-print-acdir.test: Likewise.
2526 * tests/ar-lib.test: Likewise.
2527 * tests/compile.test: Likewise.
2528 * tests/compile2.test: Likewise.
2529 * tests/compile3.test: Likewise.
2530 * tests/compile6.test: Likewise.
2531 * tests/instsh2.test: Likewise.
2532 * tests/instsh3.test: Likewise.
2533 * tests/mdate5.test: Likewise.
2534 * tests/mdate6.test: Likewise.
2535 * tests/missing3.test: Likewise.
2536 * tests/missing5.test: Likewise.
2537 * tests/mkinst3.test: Likewise.
2538 * tests/self-check-explicit-skips.test: Likewise.
2539 * tests/self-check-report.test: Likewise.
2540 * tests/self-check-sanity.test: Likewise.
2541 * tests/tap-driver-stderr.test: Likewise.
2543 2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
2545 test defs: more environment cleanup
2546 * tests/defs: Also unset the XFAIL_TESTS, and various
2547 LOG_DRIVER, LOG_COMPILER variables (and corresponding
2550 2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
2552 tests: allow depmod.tap to only run a subset of its tests
2553 * tests/depmod.tap: If command-line arguments are passed to the
2554 tests, they are now taken as the list of test names for which the
2555 checks are to be run.
2557 2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
2559 tests: allow instspc.tap to only run a subset of its tests
2560 * tests/instspc.tap: If command-line arguments are passed to the
2561 tests, they are now taken as the list of test names for which the
2562 checks are to be run.
2564 2011-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
2566 coverage: distcheck-hook to catch missing/outdated *.m4 files
2567 Related to automake bug#9037.
2568 * tests/distcheck-missing-m4.test: New test.
2569 * tests/distcheck-outdated-m4.test: Likewise.
2570 * tests/distcheck-hook-m4.am: New data file, used by the new
2572 * tests/Makefile.am (distcheck-m4-missing.log,
2573 distcheck-m4-outdated.log): Depend on it.
2574 (EXTRA_DIST): Distribute it.
2575 (TESTS): Add the new tests.
2577 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
2579 tests: more granularity in variables for tools overriding
2580 Among the other things, this change makes it possible to use, at
2581 the same time, an autoconf version in the automake testsuite and
2582 another one in the automake build system; even more importantly, it
2583 makes it possible to use, say, a non-GNU make implementation in the
2584 test scripts, while at the same time using GNU make to drive the
2585 execution of the automake's test suite.
2586 * tests/defs-static.in (TEX, EGREP, FGREP, SHELL, PERL, MAKE,
2587 AUTOCONF, AUTOM4TE, AUTORECONF, AUTOHEADER, AUTOUPDATE,
2588 original_AUTOMAKE, original_ACLOCAL): Allow and prefer overriding
2589 through corresponding `AM_TESTSUITE_..' variables; for example,
2590 $GREP can now be overridden by an exported `$AM_TESTSUITE_GREP'
2592 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
2594 testsuite: fix `skip_row_' subroutine in tap-functions.sh
2595 * tests/tap-functions.sh (skip_row_): Use `seq_', not `seq', to
2596 be portable to non-GNU systems.
2597 Bug revealed by a testsuite error on Solaris.
2599 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
2601 installcheck: support it in our own testsuite
2603 * tests/defs-static.in ($am_running_installcheck): New variable.
2604 Initialize it to a default of "no", and sanity-check its value.
2605 ($am_datadir, $am_docdir, $am_automake_acdir, $am_system_acdir,
2606 $am_bindir, $am_scriptdir, $am_pkgvdir): New variables,
2607 initialized from AC_SUBST'ed values which are adaptively chosen
2608 depending on whether the testsuite is running in "simple" mode
2609 or in "installcheck" mode.
2610 ($MISSING): Remove, it's not really required by the testsuite.
2611 ($PATH): Update using `$am_bindir', not `$testbuilddir'.
2612 * Makefile.am (installcheck-local): New target.
2613 * lib/Automake/tests/Makefile.am (installcheck-local): New target.
2614 (AM_TESTS_ENVIRONMENT, AM_PL_LOG_FLAGS): Adaptively choose the
2615 `-I' flags for perl based on whether the tests are being run by
2616 "make check" or "make installcheck".
2617 * tests/Makefile.am (installcheck-local): New target.
2618 (defs-static): Generate it at make time, not at configure time,
2619 in order to correctly resolve all the indirections in the
2620 AC_SUBST'd variables; done with the help of ...
2621 (do_subst): ... this new macro.
2622 (EXTRA_DIST): Explicitly distribute `defs-static.in'.
2623 (CLEANFILES): Remove `defs-static'.
2624 * configure.ac (AC_CONFIG_FILES): Remove `tests/defs-static'.
2625 (AC_SUBST): Substitute also `automake_acdir', `system_acdir',
2626 `scriptdir' and `amdir' to proper values.
2627 * lib/Makefile.am (scriptdir): Don't explicitly define anymore.
2628 * lib/am/Makefile.am (amdir): Likewise.
2629 * m4/acdir/dirlist: Remove, it's not needed anymore. Instead
2631 * m4/acdir/.placeholder: ... this file.
2632 * m4/Makefile.am (EXTRA_DIST): Update.
2633 (automake_acdir, system_acdir): Don't explicitly define anymore.
2634 * tests/aclocal-print-acdir.test: Use new `$am_...dir' variables,
2635 instead of hard-coding values with $testsrcdir and $testbuilddir,
2636 to test more faithfully under "make installcheck".
2637 * tests/amhello-binpkg.test: Likewise.
2638 * tests/amhello-cflags.test: Likewise.
2639 * tests/amhello-cross-compile.test: Likewise.
2640 * tests/ansi2knr-no-more.test: Likewise.
2641 * tests/autodist-stamp-vti.test: Likewise.
2642 * tests/auxdir.test: Likewise.
2643 * tests/check2.test: Likewise.
2644 * tests/copy.test: Likewise.
2645 * tests/multlib.test: Likewise.
2646 * tests/obsolete.test: Likewise.
2647 * tests/parallel-tests-interrupt.test: Likewise.
2648 * tests/repeated-options.test: Likewise.
2649 * tests/suffix5.test: Likewise.
2650 * tests/tap-doc2.test: Likewise.
2651 * tests/txinfo22.test: Likewise.
2652 * tests/vtexi3.test: Likewise.
2653 * tests/defs: Likewise. Also, print the values of `$using_tap'
2654 and `$am_running_installcheck', to simplify debugging, and do
2655 some related code movings and tweakings.
2656 * tests/aclocal3.test: Update to avoid possible spurious failures
2657 when running under "make installcheck".
2658 * tests/warnings-unknown.test: Likewise.
2659 * tests/location.test: Likewise, and improve debugging input since
2661 * tests/acloca10.test: Adapt and tweak to work also during a
2662 "make installcheck", and not to require a pre-populated `dirlist'
2664 * tests/acloca18.test: Likewise.
2665 * tests/dirlist2.test: Likewise.
2666 * tests/dirlist.test: Likewise, and remove an obsolete comment.
2667 * tests/README: Update.
2668 * tests/dirlist-abspath.test: New test.
2669 * tests/list-of-tests.mk: Update.
2671 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
2673 maintcheck: fix spurious failures
2674 * tests/gen-testsuite-part (write_wrapper_script): More uses of
2675 creative quoting in the generated tests, to avoid triggering
2676 failures in the `sc_tests_Exit_not_exit' maintcheck.
2677 * Makefile.am (sc_tests_tap_plan): It's OK for auto-generated
2678 TAP tests that sources an hand-written one not to declare a TAP
2679 plan: the sourced test will do so.
2680 * tests/Makefile.am (checked_test_extensions): Don't define
2681 anymore, the default value `$(TEST_EXTENSIONS)' is correct now.
2682 (expected_list_of_tests): Don't define anymore, the default
2683 value `$(TESTS)' is correct now.
2685 2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
2687 aclocal: more granularity in acdir overriding
2688 Before this change, using the `--acdir' option caused aclocal to
2689 redefine both the directory of automake-provided m4 macros and the
2690 directory of third-party system-wide m4 macros. With this change,
2691 we deprecate the `--acdir' aclocal option, and introduce two new
2692 options `--automake-acdir' and `--system-acdir', to allow for more
2694 * aclocal.in (@automake_includes, @system_includes,
2695 @user_includes): Fix and extend comments.
2697 (handle_acdir_option): New function.
2698 (parse_arguments): Recognize new options `--system-acdir' and
2699 `automake-acdir', and handle `--acdir' using the new function
2700 above. Simplify logic by assuming that the directory of
2701 third-party system-wide m4 files always exists.
2702 * tests/aclocal.in: Update to use the new options, instead of
2703 the deprecated. `--acdir'.
2704 * m4/dirlist: Move ...
2705 * m4/acdir/dirlist: ... here.
2706 * m4/Makefile.am (EXTRA_DIST): Update.
2707 (m4datadir): Rename ...
2708 (automake_acdir): ... to this. Accordingly, ...
2709 (dist_m4data_DATA): ... rename this ...
2710 (dist_automake_ac_DATA): ... to this.
2711 (system_acdir): New, directory.
2712 (dist_system_ac_DATA): New, defined to an empty value; this will
2713 ensure that the $(system_acdir) directory will be created by
2715 * tests/aclocal.test: Remove check about the `--print-ac-dir'
2716 option of aclocal, it has been moved into ...
2717 * tests/aclocal-print-acdir.test: ... this new test, and quite
2719 * tests/aclocal-acdir.test: New test.
2720 * tests/Makefile.am (TESTS): Add the new tests.
2721 * NEWS, bootstrap: Update.
2722 * doc/automake.texi (aclocal Options, Macro Search Path): Update.
2724 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
2726 cosmetic: rename gen-tests-deps -> gen-testsuite-part
2727 * tests/gen-tests-deps: Renamed ...
2728 * tests/gen-testsuite-part: ... to this.
2729 * bootstrap: Update.
2730 * tests/Makefile.am ($(srcdir)/tests-deps.am): Don't generate
2731 nor include this ...
2732 ($(srcdir)/testsuite-part.am): ... do with this instead.
2733 * tests/.gitignore (tests-deps.am): Don't ignore this ...
2734 (testsuite-part.am): ... ignore this instead.
2736 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
2738 testsuite: revamp generation of autogenerated tests
2739 With this change, we make generated tests be real scripts again
2740 -- albeit only thin layers around the tests they wrap. It turned
2741 out that the apparently clever tricks we played by having lots
2742 of custom (and auto-generated) `..._LOG_COMPILER' variables and
2743 by having the tests in $(wrap_TESTS) not being real on-file-system
2744 scripts caused more pain and confusion than expected, for only
2745 marginal gains. Also, that previous setup didn't interact very
2746 well with "make check RECHECK_LOGS=", since the log files for
2747 the "wrappee" tests were always considered out-of-date (which in
2748 hindsight is natural, since these log files depended on wrappee
2749 tests that didn't exist -- and weren't created). And finally, it
2750 wasn't possible to easily and naturally run the wrappee tests
2751 from the command line -- definitely harmful for debugging and
2753 * tests/gen-wrap-tests: Deleted, its role subsumed into ...
2754 * tests/gen-tests-deps: ... this script, with the help of
2755 (unindent, atomic_write, build_matcher, write_wrapper_script,
2756 %test_generators): ... these new functions and variables.
2757 Other few minor fixlets and improvements.
2758 * tests/wrap-tests.sh: Delete, not needed anymore.
2759 * tests/Makefile.am ($(srcdir)/wrap-tests.am): Don't generate
2760 nor include anymore.
2761 (EXTRA_DIST): Update.
2762 (wrap_TESTS): Renamed to ...
2763 (generated_TESTS): ... this.
2764 ($(generated_TESTS)): Must have the same dependencies of
2765 `$(srcdir)/tests-deps.am'.
2766 Other minor related reordering and adjustments.
2767 * bootstrap: Do not generate `wrap-tests.am' anymore.
2768 * tests/.gitignore (wrap-tests.am): Don't ignore anymore.
2769 (*-w.test, *-w.tap): Ignore.
2770 * tests/README: Update paragraph on automatically-generated
2773 2011-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
2775 testsuite: automatize generation of dependencies for tests
2776 * tests/gen-test-deps: New script, automatically generates
2777 dependencies for the tests.
2778 * tests/Makefile.am (EXTRA_DIST): Distribute it.
2779 ($(srcdir)/tests-deps.am): New rule.
2780 (include $(srcdir)/tests-deps.am): New inclusion.
2781 Remove hand-written dependencies for tests. Other related
2783 * tests/list-of-tests (tap_with_common_setup_TESTS,
2784 tap_other_TESTS): Delete, their content merged back into ...
2785 (handwritten_TESTS): ... this.
2786 * tests/.gitignore (tests-deps.am): New ignored file.
2787 * bootstrap: Generate `tests/tests-deps.am'.
2789 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
2791 tests: avoid spurious failure due to bug in older TAP::Parser
2792 Older TAP::Parser versions (e.g., 3.10) erroneously convert a test
2793 number `0' into `1'; do not let this bug cause a spurious failure
2795 * tests/tap-test-number-0.test: Skip if the aforementioned
2796 TAP::Parser bug is detected.
2798 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
2800 tap/perl: be more portable to older perl versions
2801 * lib/tap-driver.pl (trap_perl_warnings_and_errors): Do not use
2802 the three-args version of the `open' builtin, it is not well
2803 supported by older perl versions (at least perl 5.6.2).
2804 (start): Add a no-op statement to pacify a "possible typo ... used
2805 only once" perl warning.
2807 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
2809 tap/perl: be more portable to older TAP::Parser versions
2810 * lib/tap-driver.pl (start): Do not call the `ignore_exit' method
2811 on our TAP parser: it is not supported in older TAP::Parser
2812 versions (e.g., 3.10), and is not really required by our usage of
2815 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
2817 tests: fix spurious Cygwin failure of a test on TAP support
2818 * tests/tap-bad-prog.tap (noexec.test): Add forgotten `echo'.
2819 When trying to run it, redirect its output to /dev/null, to
2820 avoid confusing automake's testsuite own TAP driver.
2822 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
2824 test defs: fix glitch in TAP version of `warn_' function
2825 * tests/tap-functions.sh (warn_): Do not display the warning
2828 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
2830 tests: fix another spurious failure due to ignored signals
2831 * tests/tap-signal.test: Renamed ...
2832 * tests/tap-signal.tap: ... to this, converted to the use of the
2833 TAP protocol, and improved not to try to use/trap signals that
2834 are ignored by the parent shell (they will be forcibly ignored
2835 by all the child processes too). Extend the test a bit since we
2837 * tests/list-of-tests.mk: Update.
2839 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
2841 tests: fix a spurious failure due to lacking Fortran compilers
2842 * tests/silent-many-generic.test (configure.in): Cause the test
2843 to be skipped if `configure' fails to find working C++, Fortran
2844 and Fortran 77 compilers.
2846 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
2848 self tests: more use of TAP
2849 * tests/self-check-reexec.test: Renamed ...
2850 * tests/self-check-reexec.tap: ... to this, converted to the
2851 use of TAP protocol, and extended a bit.
2852 * tests/self-check-seq.test: Renamed ...
2853 * tests/self-check-seq.tap: ... to this, and converted to the
2854 use of TAP protocol.
2855 * tests/list-of-tests.mk: Update.
2857 2011-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
2859 self tests: fix spurious failures when /bin/ksh do not exists
2860 * tests/self-check-reexec.test: Ensure that the non-bash shells
2861 we look do really exists. Since we are at it, also try the name
2862 `ash', non `dash', for the Almquist Shell, for Cygwin 1.5.
2864 2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
2866 tests: more use of TAP in our own testsuite
2867 * tests/parallel-tests-interrupt.test: Renamed ...
2868 * tests/parallel-tests-interrupt.tap: ... to this, and converted
2869 to the use of TAP protocol.
2870 * tests/self-check-cleanup.test: Renamed ...
2871 * tests/self-check-cleanup.tap: ... to this, and converted to the
2872 use of TAP protocol.
2873 * tests/self-check-dir.test: Renamed ...
2874 * tests/self-check-dir.tap: ... to this, and converted to the use
2876 * tests/self-check-is_newest.test: Renamed ...
2877 * tests/self-check-is_newest.tap: ... to this, and converted to
2878 the use of TAP protocol.
2879 * tests/self-check-unindent.test: Renamed ...
2880 * tests/self-check-unindent.tap: ... to this, and converted to
2881 the use of TAP protocol.
2882 * tests/list-of-tests.mk: Update.
2884 2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
2886 self tests: sanity check on 'is_blocked_signal' function
2887 * tests/self-check-is-blocked-signal.tap: New test.
2888 * tests/list-of-tests.mk: Update.
2890 2011-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
2892 tests: fix spurious failures due to ignored signals
2893 * tests/defs (is_blocked_signal): New function.
2894 * tests/parallel-tests-interrupt.test: Do not try to use/trap
2895 signals that are ignored by the parent shell: they will be
2896 ignored by all the child processes too.
2897 * tests/self-check-exit.test: Likewise.
2898 * tests/self-check-cleanup.test: Likewise, and do few minor
2899 improvements and extensions since we are at it.
2901 2011-09-05 Peter Rosin <peda@lysator.liu.se>
2903 * tests/amhello-binpkg.test: Add missing $EXEEXT usage.
2905 2011-09-04 Stefano Lattarini <stefano.lattarini@gmail.com>
2907 fix: list test 'vala-vpath.test' in XFAIL_TESTS
2908 * tests/Makefile.am (XFAIL_TESTS): Update.
2910 2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
2912 tests: simplify wrapper for aclocal
2913 * tests/aclocal.in: Remove use of $ACLOCAL_TESTSUITE_FLAGS and
2914 extra `-I' flags; they are not really required, since the file
2915 `m4/amversion.m4' is generated in the srcdir anyway.
2916 * tests/acloca10.test: Remove use of $ACLOCAL_TESTSUITE_FLAGS.
2917 * tests/acloca18.test: Likewise.
2918 * tests/defs.in: Don't nullify $ACLOCAL_TESTSUITE_FLAGS, and do
2921 2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
2923 tests: remove redundant settings of `errexit' shell flag
2924 * doc-parsing-buglets-colneq-subst.test: Do not set the
2925 `errexit' shell flag, as it is already set by `tests/defs'.
2926 * doc-parsing-buglets-tabs.test: Likewise.
2927 * java-empty-classpath.test: Likewise.
2928 * vala-vpath.test: Likewise.
2930 2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
2932 tests: more uses of `$top_testsrcdir', in the `amhello' tests
2933 * tests/amhello-binpkg.test: Use `$top_testsrcdir' instead
2934 of `$testsrcdir/..'.
2935 * tests/amhello-cflags.test: Likewise.
2936 * tests/amhello-cross-compile.test: Likewise.
2938 2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
2940 tests: avoid creating useless files in the `amhello' tests
2941 * tests/amhello-binpkg.test: Define `$am_create_testdir' to
2942 "empty" before sourcing ./defs, to avoid bringing in unused
2944 * tests/amhello-cflags.test: Likewise.
2945 * tests/amhello-cross-compile.test: Likewise.
2947 2011-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
2949 coverage: vala support failing for VPATH from-scratch builds
2950 * tests/vala-vpath.test: New test, xfailing.
2951 * tests/Makefile.am (TESTS): Update.
2953 From a report by Zbigniew Jędrzejewski-Szmek.
2954 Related to automake bug#8753.
2956 2011-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
2958 docs: report few more automake parsing limitations
2959 Partly motivated by automake bug#8360.
2960 * doc/automake.texi (General Operation): Report few more automake
2961 limitations w.r.t. parsing of unusual makefile constructs. Related
2963 * tests/doc-parsing-buglets-colneq-subst.test: New test.
2964 * tests/doc-parsing-buglets-tabs.test: Likewise.
2965 * tests/Makefile.am (TESTS): Update.
2967 2011-09-01 Stefano Lattarini <stefano.lattarini@gmail.com>
2969 automake: fix regression due to de-ansification support removal
2970 The last change `v1.11-947-g136b489' removed code that automake
2971 was using to decide whether binary objects were built by the
2972 generated Makefile.in, so that it could avoid to emit unneeded
2973 code when this was not the case. Re-introduce such code in a
2974 less-obfuscated form, and add a test to ensure we don't regress
2976 * automake.in ($must_handle_compiled_objects): New global
2977 variable, telling whether the generated Makefile has to build
2979 (initialize_per_input): Reset it.
2980 (handle_programs, handle_libraries, handle_ltlibraries): Set
2981 it to a true value when required.
2982 (handle_compile): Don't generate any code if the variable
2983 `$must_handle_compiled_objects' is not set to a true value.
2984 * tests/no-extra-makefile-code.test: New test.
2985 * tests/Makefile.am (TESTS): Add it.
2987 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
2989 automake: cleanups after de-ansification support removal (2)
2990 * automake.in ($get_object_extension_was_run): Remove, it's not
2991 really needed anymore.
2992 (&get_object_extension): Remove, it's a no-op now.
2993 All callers adjusted.
2995 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
2997 automake: cleanups after de-ansification support removal (1)
2998 * automake.in (lang_c_rewrite, handle_single_transform): Rename
2999 variable `$nonansi_obj' to `$obj'.
3001 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
3003 ansi: remove obsolete code/files for de-ANSI-fication support
3004 * lib/ansi2knr.1, lib/ansi2knr.c: Deleted.
3005 * lib/Makefile.am (dist_pkgvdata_DATA): Do not list them anymore.
3006 * lib/am/ansi2knr.am: Delete.
3007 * lib/am/Makefile.am (dist_am_DATA): Do not list it anymore.
3008 * lib/Automake/Variable.pm (%_am_macro_for_var): Remove entries for
3010 * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Don't care anymore
3011 about possible definition of the `$U' variable.
3012 * automake.in (@common_files): Drop `ansi2knr.1' and `ansi2knr.c'.
3013 (struct): Remove scalar field `ansi'.
3014 All callers adjusted.
3015 (&lang_c_finish, %de_ansi_files): Remove, they're not required
3017 All callers adjusted.
3018 ($get_object_extension_was_run): Fix typo in comment.
3019 (&get_object_extension): Drop code dealing with de-ansification;
3020 this function basically a no-op now, but is required to properly
3021 initialize `$get_object_extension_was_run' variable.
3022 (&handle_languages, &handle_compile, &lang_c_rewrite): Drop code
3023 dealing with de-ansification.
3025 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
3027 ansi: reject attempts to use automatic de-ANSI-fication support
3028 * tests/protos.m4 (AM_C_PROTOTYPES): Error out whenever called.
3029 * lib/Automake/Options.pm (_process_option_list ): Error out
3030 with a proper error message when the `ansi2knr' option is used.
3031 Related updates to comments.
3032 * tests/depacl2.test: Update.
3033 * tests/ansi2knr-no-more.test: New test.
3034 * tests/Makefile.am (TESTS): Add it.
3037 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
3039 tests: remove tests about obsolete de-ANSI-fication support
3040 * tests/ansi.test: Delete.
3041 * tests/ansi10.test: Likewise.
3042 * tests/ansi2.test: Likewise.
3043 * tests/ansi2knr-deprecation.test: Likewise.
3044 * tests/ansi3.test: Likewise.
3045 * tests/ansi3b.test: Likewise.
3046 * tests/ansi4.test: Likewise.
3047 * tests/ansi5.test: Likewise.
3048 * tests/ansi6.test: Likewise.
3049 * tests/ansi7.test: Likewise.
3050 * tests/ansi8.test: Likewise.
3051 * tests/ansi9.test: Likewise.
3052 * tests/cxxansi.test: Likewise.
3053 * tests/libobj8.test: Likewise.
3054 * tests/subobj3.test: Likewise.
3055 * tests/Makefile.am (TESTS): Update.
3057 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
3059 docs: remove description of de-ANSI-fication support from manual
3060 * doc/automake.texi (Auxiliary Programs): Remove mention of
3061 `ansi2knr.c' and `ansi2knr.1'.
3062 (Obsolete Macros): Remove mention of `AM_C_PROTOTYPES'. Do not
3063 index it nor variables `ANSI2KNR' and `U' anymore.
3064 (List of Automake options): Remove mention of `ansi2knr' option,
3065 and obsolete entries for concept and option indexes.
3066 (Optional): Remove entry about `AM_C_PROTOTYPES'.
3067 (@c LocalWords): Remove `ansi' and `knr'.
3068 (@menu, @detailmenu): Remove entries about de-ANSI-fication
3071 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
3073 tests: better respect of TAP usage in wrapped tests
3074 * tests/gen-wrap-tests: Partial rewrite to take into account the
3075 possibility that the wrapped test uses the TAP protocol. This
3076 complicates the code quite a bit, but is essential to ensure real
3077 correctness in all the wrapped scripts.
3078 * tests/wrap-tests.sh: Update, and add few more sanity checks.
3080 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
3082 tests: use both perl and awk implementations for tests on TAP
3083 * tests/gen-wrap-tests (get_list_for_pltap): New function, gets
3084 the list of tests that check the Automake TAP support.
3085 ($defines_for_pltap): New variable.
3086 ($wrapper_type_list): Add "pltap".
3087 * tests/defs-static.in: Check that `$am_tap_implementation' is
3088 not exported in the environment.
3089 * tests/self-check-env-sanitize.tap: Update.
3091 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
3093 tests: two single auxiliary scripts to run/generate wrapped tests
3094 * tests/config-shell-tests.sh, tests/parallel-tests.sh,
3095 tests/gen-config-shell-tests, tests/gen-parallel-tests: Deleted,
3096 their roles taken over by ...
3097 * tests/wrap-tests.sh, tests/gen-wrap-tests: ... these new more
3099 * tests/Makefile.am (EXTRA_DIST): Distribute the new scripts, and
3100 do not distribute the obsolete ones anymore.
3101 ($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am): Do
3102 not include nor generate anymore, they have been superseded by ...
3103 ($(srcdir)/wrap-tests.am): ... this new fragment, automatically
3104 generated by `gen-wrap-tests'.
3105 (PTEST_LOG_COMPILER, SHTST_LOG_COMPILER): Delete, they are now
3106 defined in the new `wrap-tests.am' makefile fragment.
3107 (TEST_EXTENSIONS): Do not append to it anymore, that is now done
3108 by the new `wrap-tests.am' makefile fragment above.
3109 ($(parallel_tests:.ptest=.log), $(config_shell_tests:.shtst=.log),
3110 $(parallel_tests), $(config_shell_tests): Remove this dependencies,
3112 ($(wrap_TESTS), $(wrap_LOGS)): ... these ones.
3113 (MAINTAINERCLEANFILES): Delete, it's not used anymore.
3114 (TESTS): Do not contain anymore `$(config_shell_tests)' nor
3115 `$(parallel_tests)', contain `$(wrap_TESTS)' instead, as defined
3116 by `$(srcdir)/wrap-tests.am'.
3117 Other related minor edits and reorderings.
3118 * bootstrap, tests/.gitignore, tests/README: Update.
3120 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
3122 tests: list of tests placed in a separate Makefile fragment
3123 This change allows us to easily use make instead of by-hand (and
3124 more fragile) grepping to extract the list of hand-written tests
3126 * bootstrap (BOOTSTRAP_MAKE): New variable.
3127 Use it to run make in order to extract the list of hand-written
3129 * tests/list-of-tests.mk: ... this new file, where they are
3131 (handwritten_TESTS, tap_with_common_setup_TESTS, tap_other_TESTS):
3132 ... these variables, extracted respectively from ...
3133 * tests/Makefile.am (handwritten_tests, tap_other_tests,
3134 tap_with_common_setup_tests): ... these older variables, now
3136 (EXTRA_DIST, expected_list_of_tests): Update w.r.t. the variable
3138 (include $(srcdir)/list-of-tests.mk): New inclusion.
3139 Remove an overkill indirection, and with it ...
3140 (tap_with_common_setup_logs): ... this variable.
3141 ($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am):
3142 Update to match the new interface of ...
3143 (gen-parallel-tests, gen-config-shell-tests): ... these scripts,
3144 that now read the list of tests from the standard input.
3146 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
3148 tests: prefer AM_... variables to user-reserved ones in Makefile
3149 * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Renamed ...
3150 (AM_TAP_LOG_DRIVER_FLAGS): ... to this.
3152 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
3154 tests: some minor fixlets w.r.t. TAP-based tests
3155 The variable that is used by our test scripts to decide whether
3156 they are "plain" or TAP-based is `using_tap'; however, some
3157 peripheral sanity checks and sanitization code in our testsuite
3158 were erroneously using the `use_tap' variable instead. Fix that.
3159 * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Nullify `using_tap',
3161 * tests/defs-static.in: Check that `using_tap', not `use_tap',
3163 * tests/self-check-env-sanitize.test: Update.
3165 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
3167 tests: avoid re-running a test with the 'parallel-tests' option
3168 * tests/backcompat5.test (parallel_tests): Define to "no", to
3169 prevent the generation of a sibling test script that uses the
3170 'parallel-tests' driver. That would be useless anyway, since
3171 we manually override the contents of configure.in, thus clobbering
3172 the `parallel-tests' option in AM_INIT_AUTOMAKE.
3173 Fix a typo in comments since we are at it.
3175 2011-08-29 Stefano Lattarini <stefano.lattarini@gmail.com>
3177 tests: defaults to awk+shell driver in tests on TAP support
3178 * tests/defs ($am_tap_implementation): Default to "shell", not
3181 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
3183 tests: list "forgotten" test script in TESTS
3184 * tests/Makefile.am (TESTS): Also list ...
3185 * tests/java-empty-classpath.test: ... this test. Since we are
3186 at it, remove trailing whitespace from a couple of lines.
3188 2011-08-25 Eric Blake <eblake@redhat.com>
3190 ylwrap: fix unusual indentation whitespace
3191 * lib/ylwrap: Convert tabs to spaces.
3192 Reported by Karl Berry.
3194 2011-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
3196 testsuite: different test scripts cannot share the same basename
3197 If two test scripts have the same basename, they will end up
3198 sharing the same log file, leading to all sort of undefined and
3199 undesired behaviours. Add a Makefile check verifying that this
3201 * tests/test-logs-repeated.test: New test, verifying previously
3202 unspecified semantics (in the definition of $(TEST_LOGS) from
3203 $(TESTS)) that we use in our new check.
3204 * tests/Makefile.am (TESTS): Update.
3205 (check-no-repeated-test-name): New .PHONY check.
3206 (check-local): Depend on it.
3208 2011-08-26 Stefano Lattarini <stefano.lattarini@gmail.com>
3210 tests: fix spurious failure for awk implementation of TAP driver
3211 * tests/tap-realtime.test: The awk+shell implementation of the TAP
3212 driver must "read ahead" of one line in order to catch the exit
3213 status of the test script it runs. So, in the TAP-producer script
3214 here, be sure to echo one "dummy" line after each TAP result line
3215 in order not to cause false positives.
3217 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
3219 tap/awk: allow escaping of TAP directives
3220 * lib/tap-driver.sh (setup_result_obj): Handle escaping of TAP
3221 directives in a way tat is (mostly) compatible by what is done
3222 by the TAP::Parser module.
3223 With this change, the tests `tap-escape-directive.test' and
3224 `tap-escape-directive-2.test' now also pass with the shell/awk
3225 implementation of the TAP driver.
3227 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
3229 coverage: more about escaping of TAP directives
3230 * tests/tap-escape-directive.test: Make grepping of testsuite
3231 progress output slightly stricter.
3232 * tests/tap-escape-directive-2.test: New test (failing with the
3233 awk implementation of the TAP driver).
3234 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3236 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
3238 tap: improve syncing between awk+shell and perl implementations
3239 * lib/tap-driver.pl (stringify_test_result): Renamed ...
3240 (stringify_result_obj): ... to this. Break up a clause in the
3241 long "if/elsif/.../else" construct to avoid unaesthetic line
3242 breaks and to be more synced with the sibling function in
3243 `tap-driver.sh'. Rename the `$result', `$PASS' and `$FAIL'
3244 variables to respectively `$result_obj', `$COOKED_PASS' and
3245 `$COOKED_FAIL', for clarity and better syncing.
3246 (handle_tap_test): Renamed ...
3247 (handle_tap_result): ... to this, and change the name of the
3248 `$test' local variable to `$result_obj'.
3249 (extract_comment): Reimplement using the simpler `index' and
3250 `substr' builtins, rather than with more advanced uses of
3251 regular expressions.
3252 (%test_results, @test_results): Renamed respectively ...
3253 (%test_results_seen, @test_results_list): ... to these, and
3254 related adjustments throughout the `TEST_RESULTS' block.
3255 (main, get_global_test_result): Refactor and do some cosmetic
3256 changes to make these functions clearer and better synced with
3257 sibling code in `tap-driver.sh'.
3258 Other minor cosmetic and typo fixes.
3259 * lib/tap-driver.sh (extract_tap_comment): Remove outdated
3261 (get_global_test_result): Small reordering to make it better
3262 synced with its sibling function in `tap-driver.pl'.
3263 (stringify_result_obj): Consistently use `result_obj' as the
3265 Other minor cosmetic and typo fixes.
3267 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
3269 tap/perl: don't redirect perl warnings/errors to log files
3270 With this change, the test `tap-driver-stderr.test' also passes
3271 with the perl implementation of the TAP driver.
3272 * lib/tap-driver.pl (start): Save the original stderr into the
3273 `OLDERR' file handle, and call ...
3274 (trap_perl_warnings_and_errors): ... this new function, trapping
3275 the `__WARN__' and `__DIE__' "pseudo-signals" to ensure that the
3276 warning and error messages goes to that original stderr stream.
3277 Since we are at it, be sure to prepend all possible "die" message
3278 with the name of the script as given by the `$ME' variable.
3280 2011-08-25 Stefano Lattarini <stefano.lattarini@gmail.com>
3282 tap/perl: add copyright notice, version string, and emacs stuff
3283 * lib/tap-driver.pl: Add proper copyright notice and bug reporting
3284 address. Remove obsolete heading comments. Add trailing comments
3285 for emacs w.r.t. code-formatting rules and automatic updating of
3286 the date-based script version saved into the `$VERSION' variable.
3287 ($VERSION): Define to the current UTC date.
3289 2011-08-24 Stefano Lattarini <stefano.lattarini@gmail.com>
3291 tap/awk: don't redirect awk stderr to log files
3292 * lib/tap-driver.sh: Handle the file descriptors redirections
3293 more smartly, to avoid sending error messages from awk (about
3294 e.g. syntax or I/O errors) to the log files instead that to the
3296 * tests/tap-driver-stderr.test: New test, verifying the improved
3297 driver behaviour. Notice that this test still fails when using
3298 the perl implementation of the TAP driver.
3299 * tests/Makefile.am (tap_other_tests): Update.
3301 2011-08-24 Stefano Lattarini <stefano.lattarini@gmail.com>
3303 tap/awk: remove obsolete "FIXME" comment
3304 * lib/tap-driver.sh: Remove obsolete "FIXME" comment about our
3305 driver losing the exit status of the tested program; this issue
3306 has been solved in precedent commit `v1.11-1052-gd630a0d'. Fix
3307 an unrelated typo in comments since we are at it.
3309 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
3311 testsuite: avoid spurious failure on Solaris
3312 * tests/tap-signal.test (signal_caught): Fix a regression from
3313 commit `v1.11-1052-gd630a0d' that was causing this test to fail
3314 spuriously on Solaris (due to an already worked-around Solaris
3315 /bin/sh bug, see commit `v1.11-981-g0ef3ef5').
3317 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
3319 testsuite: use the new awk+shell TAP driver in our own testsuite
3320 * tests/Makefile.am (TAP_LOG_DRIVER): Redefine to use the new
3321 awk+shell tap driver, which should be complete enough for use in
3322 a "controlled" production environment.
3324 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
3326 tap/awk: handle non-zero exit status from the test command
3327 * lib/tap-driver.sh (get_test_exit_message): New function in the
3328 awk script, used to extract the exit status of the test program,
3329 or at least a good guess of it.
3330 (write_test_results): Use it, reporting an ERROR result if it
3331 detects that the test program exited with a non-zero status.
3332 * tests/tap-signal.test: Account for the differences in the
3333 error messages generated by the awk and perl TAP drivers. Fix
3334 an unrelated typo in comments since we are at it.
3336 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
3338 tap/awk: prepare to fetch the exit status of the test command
3339 * lib/tap-driver.sh: Rewrite some logic in the main parsing loop,
3340 to make it possible to read the exit status of the test command
3341 from the last line of the input stream.
3343 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
3345 tap/awk: refactor for future changes
3346 * lib/tap-driver.sh: Rewrite the awk script so that the parsing
3347 of the input stream is implemented as a hand-rolled loop in the
3348 BEGIN block, using the `getline' builtin.
3350 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
3352 testsuite: avoid spurious failure if rst2html program is missing
3353 * tests/tap-html.test ($required): Require `rst2html'.
3355 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
3357 tap/awk: support Solaris /usr/xpg4/bin/awk
3358 * lib/tap-driver.sh: Use `\t', not `\\t', to represent tabulation
3359 character in regexps, even when inside double-quoted strings; that
3360 seems to be more portable to Solaris 10 XPG4 awk.
3362 2011-08-22 Stefano Lattarini <stefano.lattarini@gmail.com>
3364 tap/awk: support Solaris /usr/bin/nawk
3365 * lib/tap-driver.sh (close_or_die): Remove, the use of the `close'
3366 builtin in there was confusing /usr/bin/nawk from Solaris 10 into
3368 (write_test_results): Simply use `close' on the `*.trs' file, that
3371 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
3373 tap/awk: correctly extract message from SKIP plans
3374 * lib/tap-driver.sh (/^1\.\.0+[ \t]*#/): Add a forgotten `?' to
3375 the regex used to extract the skip message from a "1..0" TAP plan.
3376 * tests/planskip.test: Check for the just-fixed bug.
3377 * tests/tap-planskip-unplanned-corner.test: Don't be too strict
3378 w.r.t. the formatting of the "skip whole test" message, to avoid
3379 failing due to bugs irrelevant for this test (like the one just
3382 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
3384 tap/awk: support colorized output
3385 * lib/tap-driver.sh: Pass definition of colors to the BEGIN block
3386 of the awk script, using ...
3387 ($init_colors): ... this new variable, which supersedes ...
3388 ($red, $grn, $lgn, $blu, $mgn, $std): ... these variables, which
3389 have been consequently removed.
3390 ($color_tests): We don't have to pass this anymore to the awk
3391 script, so do not convert it to a numeric boolean.
3392 (decorate_result): Implement for real.
3393 With this change, the test 'tap-color.test' now passes.
3395 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
3397 tap: real (but still incomplete) awk implementation of TAP driver
3398 * lib/tap-driver.sh: Add an incomplete, but mostly working,
3399 implementation of a TAP parser and driver in awk. It doesn't yet
3400 support colorized output, fetching of exit status from test
3401 programs, nor a way to escape TAP directives in TAP result lines,
3402 but passes all the tests of TAP support in the automake testsuite,
3403 apart from the following ones:
3405 - tap-escape-directive.test
3407 - tap-missing-plan-and-bad-exit.test
3408 - tap-passthrough-exit.test
3409 - tap-planskip-badexit.test
3410 - tap-planskip-unplanned-corner.test
3412 Tested on Debian GNU/Linux with GNU awk 3.1.7 and 3.0.2, "original
3413 awk" 2010-05-23-1, and mawk 1.3.3-15 (with which also the test
3414 `tap-realtime.test' fails, in addition to those listed above).
3416 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
3418 testsuite: fix spurious failure due to Solaris 'wc' incompatibility
3419 * tests/tap-number-wordboundary.test ($planned): Strip any extra
3420 whitespace from the output of `wc', to cater to Solaris 10.
3422 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
3424 coverage: keyword "SKIP" in TAP plan is case-insensitive
3425 * tests/tap-planskip-case-insensitive.test: New test.
3426 * tests/tap-planskip.test: Remove now-duplicated checks.
3427 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3429 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
3431 coverage: ambiguous use of TAP "TODO"/"SKIP" directives
3432 * tests/tap-ambiguous-directive.test: New test.
3433 * tests/tap-todo-skip-together.test: Reference it in heading
3435 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3437 2011-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
3439 coverage: non-directive comments in TAP results are preserved
3440 * tests/tap-result-comment.test: New test.
3441 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3443 2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
3445 coverage: TAP result number followed by non-whitespace word boundary
3446 * tests/tap-number-wordboundary.test: New test.
3447 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3449 2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
3451 coverage: a TAP result numbered "0" is always out-of-order
3452 * tests/tap-test-number-0.test: New, checks that a test result
3453 numbered as 0 is to be considered out-of-order; this is
3454 consistent with the behaviour of the `prove' utility.
3455 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3457 2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
3459 cosmetics: fix botched indentation in perl TAP driver
3460 * lib/tap-driver.pl (main, Getopt::Long::GetOptions): Fix
3461 improper or botched indentation.
3463 2011-08-20 Stefano Lattarini <stefano.lattarini@gmail.com>
3465 coverage: some more tests on corner cases of TAP support
3466 * tests/tap-no-spurious.test: Extend checks verifying that a line
3467 matching, say, the regex "^ok[a-zA-Z0-9_]" is *not* considered a
3469 * tests/tap-no-spurious-numbers.test: New test, checking that our
3470 TAP driver doesn't spuriously recognize as TAP result numbers what
3471 is not (even if it seems pretty close).
3472 * tests/tap-negative-numbers.test: New test, checking that our
3473 TAP driver doesn't spuriously recognize negative TAP result
3474 numbers, but correctly interprets them as test descriptions
3476 * tests/tap-plan-leading-zero.test, tap-numbers-leading-zero.test:
3477 New tests, checking how our driver fares in recognizing numbers
3478 with leading zeroes in TAP results or TAP plans.
3479 * tests/tap-planskip-malformed.test: New test, checking that a
3480 malformed TAP plan is not recognized as a valid plan.
3481 * tests/tap-plan-whitespace.test: New test, checking that a TAP
3482 plan line with trailing whitespace is recognized and handled
3484 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3486 2011-08-19 Stefano Lattarini <stefano.lattarini@gmail.com>
3488 testsuite: various fixlets and tweakings
3489 * tests/seenc.test: Make grepping of automake stderr stricter.
3490 Add a trailing `:' command.
3491 * tests/symlink.test: Likewise. Also, define `$am_create_testdir'
3492 to "empty" to avoid bringing in unused auxiliary files (only to
3493 have to remove them right away), and use proper m4 quoting in
3495 * tests/vpath.test: Make grepping of generated `Makefile.in'
3496 slightly stricter. Prefer trailing `:' over trailing `Exit 0'.
3497 * tests/suffix6c.test: Unset OBJEXT to avoid interferences from
3499 * tests/suffix12.test: Do not whitespace-indent `##' comments
3500 when they are embedded in a makefile rule: having them indented
3501 is not part of the Automake API, and might cause failures with
3503 * tests/syntax.test: Simplify the `Makefile.am' to ensure that
3504 automake doesn't fail for the wrong reasons. Make grepping of
3505 automake stderr slightly stricter.
3506 * tests/test-harness-vpath-rewrite.test: Remove useless variable
3507 definition from `Makefile.am'.
3508 * tests/test-driver-custom-multitest.test: Fix typo in comments.
3509 * tests/self-check-me.tap: Fix minor typo in test description.
3510 * tests/vars3.test: Make grepping of automake stderr stricter
3512 * tests/version6.test: Add sanity check, verifying that the
3513 version number extracted from `automake --version' output seems
3515 * tests/auxdir2.test: Renamed ...
3516 * tests/auxdir-compauted.tap: ... to this, and converted to the
3518 * tests/auxdir4.test: Renamed ...
3519 * tests/auxdir-unportable.tap: ... to this, and converted to the
3521 * tests/auxdir3.test: Renamed ...
3522 * tests/auxdir-misplaced.test: ... to this.
3523 * tests/auxdir5.test: Renamed ...
3524 * tests/auxdir-nonexistent.test: ... to this.
3525 * tests/auxdir9.test: Renamed ...
3526 * tests/auxdir-autodetect.test: ... to this.
3527 * tests/Makefile.am (TESTS): Update.
3528 (XFAIL_TESTS): Remove `auxdir2.test'.
3530 2011-08-19 Stefano Lattarini <stefano.lattarini@gmail.com>
3532 testsuite: fix some redundant autotools calls in tests on TAP
3533 * tests/tap-deps.test: Do not call autotools and configure; there
3534 is no need to, since this script sources `tap-setup.sh'.
3535 * tests/tap-empty-diagnostic.test: Likewise.
3536 * tests/tap-escape-directive.test: Likewise.
3537 * tests/tap-fancy2.test: Likewise.
3538 * tests/tap-no-spurious.test: Likewise.
3539 * tests/tap-out-of-order.test: Likewise.
3541 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
3543 * THANKS (Daniel Richard G.): Update e-mail address.
3545 2011-08-16 Daniel Richard G. <skunk@iskunk.org> (tiny change)
3546 Stefano Lattarini <stefano.lattarini@gmail.com>
3548 java: avoid compilation errors when CLASSPATH is empty
3549 * lib/am/java.am (CLASSPATH_ENV): When redefining `$CLASSPATH',
3550 do not append an empty component in case the previous value of
3551 CLASSPATH is empty or unset.
3552 * tests/java-empty-classpath.test: New test.
3553 * tests/Makefile.am (TESTS): Update.
3554 Fixes automake bug#9306.
3556 2011-08-16 Stefano Lattarini <stefano.lattarini@gmail.com>
3558 parallel-tests: no more spurious successes for FreeBSD make
3559 Work around a bug of FreeBSD make bug that was causing the
3560 automake-generated "check" target to complete with success
3561 even if some tests failed; this happened only when FreeBSD
3562 make was run in concurrent mode (as in, e.g., "make -j2
3563 check"). The bug is not present in NetBSD make.
3564 This change fixes automake bug#9245:
3565 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>
3566 See also FreeBSD PR bin/159730:
3567 <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>
3568 * lib/am/check.am [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Use a
3569 more "safe" (and apparently redundant) idiom to exit with error,
3570 so that the non-zero exit status is picked up also by FreeBSD
3571 make when it's running in concurrent mode.
3573 * tests/check-concurrency-bug9245.test: New test.
3574 * tests/Makefile.am (TESTS): Update.
3576 2011-08-11 Stefano Lattarini <stefano.lattarini@gmail.com>
3578 hacking: we now require autoconf 2.68
3579 * HACKING ("Working in git"): Use autoconf and autom4te 2.68,
3580 not 2.67, in the examples.
3582 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
3584 tap: improve granularity for tests on problematic TAP messages
3585 * tests/tap-message-0.test: Break up into ...
3586 * tests/tap-msg0-result.test, tests/tap-msg0-directive.test,
3587 tests/tap-msg0-planskip.test, tests/tap-msg0-misc.test,
3588 tests/tap-msg0-bailout.test: ... these new tests, and extend
3590 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3592 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
3594 tap: correctly handle string "0" in TAP messages
3595 * lib/tap-driver.pl (is_null_string): New function, can be used
3596 to determine whether a given string variable is empty or undefined.
3597 Useful to avoid pitfalls like:
3598 if ($message) { print "$message\n"; }
3599 which wouldn't print anything if $message is the literal "0".
3600 (handle_tap_test, handle_tap_plan, handle_tap_bailout): Use it,
3601 to avoid missing messages composed only by a literal "0" in TAP
3602 result descriptions and in skip, todo and bailout explanations.
3603 * tests/tap-message-0.test: Enhance.
3604 * tests/Makefile.am (XFAIL_TESTS): Remove it, it passes now.
3606 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
3608 tap: a minor simplification in the perl TAP driver
3609 * lib/tap-driver.pl: The `--disable-hard-errors' option is a
3610 no-op, so just ignore it and its argument.
3612 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
3614 parallel-tests: fix help screen for test driver scripts
3615 * lib/tap-driver.pl ($USAGE): The `--trs-file' option is mandatory
3617 * lib/tap-driver.sh (print_usage): Likewise.
3618 * lib/test-driver (print_usage): Likewise.
3619 ($scriptversion): Update.
3621 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
3623 tap: add a dummy TAP driver script implemented in shell + awk
3624 The user can also now decide which implementation of the TAP driver
3625 to use in the testsuite by defining the `$am_tap_implementation'
3626 variable to either "perl" or "shell". Future enhancements will
3627 allow the testsuite to automatically run the test scripts on TAP
3628 support with both the TAP driver implementations, to improve
3630 * tests/defs (fetch_tap_driver): Honor the `$am_tap_implementation'
3631 variable to decide which implementation of the TAP driver to fetch.
3632 ($am_tap_implementation): Default to "perl".
3633 * tests/tap-common-setup.test: Do not fetch the TAP driver, the
3634 code in tap-setup.sh does that already (and respecting runtime
3635 overriding of `$am_tap_implementation').
3636 * lib/tap-driver: Renamed ...
3637 * lib/tap-driver.pl: ... to this, and ...
3638 ($ME): ... adjusted this.
3639 * doc/automake.texi: Adjust to the renaming.
3640 * tests/Makefile.am (TAP_LOG_DRIVER): Likewise.
3641 * tests/tap-doc2.test: Likewise.
3642 * lib/tap-driver.sh: New script, still mostly dummy.
3643 * lib/Makefile.am (dist_script_DATA): Update, and since we are at
3644 it, rewrite it to make it easier to add new entries in the future.
3646 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
3648 testsuite: refactor tests on TAP support in view of future changes
3649 * tests/defs (fetch_tap_driver): New subroutine; it fetches the
3650 automake-provided TAP driver from the `lib/' directory into the
3651 current directory, and edits its shebang line so that it will be
3652 run with the perl interpreter determined at configure time.
3653 * tests/tap-setup.sh: Use it.
3654 * tests/tap-common-setup.test: There's no need to AC_SUBST `PERL'
3655 anymore, nor to use it in the Makefile to run the TAP driver.
3656 Also, use the `fetch_tap_driver' function instead of copying the
3657 `tap-driver' auxiliary script directly.
3658 * tests/tap-bad-prog.tap: Likewise.
3659 * tests/tap-diagnostic-custom.test: Likewise.
3660 * tests/tap-doc.test: Likewise.
3661 * tests/tap-merge-stdout-stderr.test: Likewise.
3662 * tests/tap-more.test: Likewise.
3663 * tests/tap-more2.test: Likewise.
3664 * tests/tap-recheck.test: Likewise.
3665 * tests/tap-summary-aux.sh: Likewise.
3666 * tests/tap-basic.test: Likewise, and fix a grammaro in comments
3669 2011-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
3671 test defs: fix typo in comments
3672 * tests/defs (get_shell_script): Fix typo in the function
3675 2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
3677 coverage: missing tap plan and non-zero exit status
3678 * tests/tap-missing-plan-and-bad-exit.test: New test.
3679 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3681 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
3683 testsuite: fix an unportable use of sed
3684 * tests/tap-todo-skip-whitespace.test: Alternation with "\|" in
3685 sed regular expressions is not portable to (at least) FreeBSD
3688 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
3690 testsuite: avoid spurious failure if rst2html program is missing
3691 * tests/test-driver-custom-no-html.test: Account for the
3692 possibility of a lacking `rst2html' program in our final
3693 grepping of make output.
3695 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
3697 tap: improve diagnosing and reporting of plan mismatches
3698 Problem exposed by a failure in the test 'tap-plan-errors.test'.
3699 * lib/tap-driver (NO_PLAN, EARLY_PLAN, LATE_PLAN): New constants.
3700 (Throughout the file): Use more complex semantics for `$plan_seen',
3701 which now also remember whether the plan that has been seen is an
3702 "early" or "late" plan; in turn, this makes ...
3703 ($tap_stopped): ... this variable redundant; remove it.
3704 (handle_tap_plan): Adjust to avoid producing spurious or confusing
3705 error messages about extra or mismatched "late" TAP plans.
3706 * tests/tap-plan-corned.test: Adjust and extend.
3707 * tests/tap-color.test: Likewise.
3709 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
3711 tap: log all TAP stream, even after a "Bail out!"
3712 * lib/tap-driver ($bailed_out): New global boolean variable,
3713 telling whether a "Bail out!" directive has been seen or not.
3714 (handle_tap_bailout): This function does not anymore stop the
3715 reading from TAP stream; instead, it sets `$bailed_out' to a
3716 true value, so that only the subsequent parsing of the input
3717 TAP stream is stopped.
3718 (finish): Remove, no more needed, its contents inlined into ...
3719 (main): ... this function, with related adjustments in the code
3721 (get_test_exit_message): Do not "flush" the input TAP stream
3722 to fetch the exit status of test script, it is not anymore
3723 required. Add a sanity check.
3724 * tests/tap-bailout-and-logging.test: New test.
3725 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3727 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
3729 coverage: TAP diagnostics after "Bail out!" aren't reported
3730 This is compatible with the behaviour of the `prove' utility.
3731 * tests/tap-bailout-suppress-later-diagnostic.test: New test.
3732 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3734 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
3736 coverage: TAP errors after a "Bail out!" directive aren't reported
3737 This is compatible with the behaviour of the `prove' utility.
3738 * tests/tap-bailout-suppress-later-errors.test: New test.
3739 * tests/tap-bailout-badexit.test: Renamed ...
3740 * tests/tap-bailout-suppress-badexit.test: ... to this, for
3742 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3744 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
3746 testsuite: reorganize tests on TAP plans
3747 * tests/tap-skip-whole.test: Rename ...
3748 * tests/tap-planskip.test: ... to this
3749 * tests/tap-skip-whole-badexit.test: Rename ...
3750 * tests/tap-planskip-badexit.test: ... to this.
3751 * tests/tap-skip-whole-bailout.test: Rename ...
3752 * tests/tap-planskip-bailout.test: ... to this.
3753 * tests/tap-skip-whole-bailout.test: Rename ...
3754 * tests/tap-planskip-later-errors.test: ... to this.
3755 * tests/tap-skip-whole-unplanned.test: Rename ...
3756 * tests/tap-planskip-unplanned.test: ... to this.
3757 * tests/tap-skip-whole-whitespace.test: Rename ...
3758 * tests/tap-planskip-whitespace.test: ... to this.
3759 * tests/tap-skip-whole-continue.test: Rename ...
3760 * tests/tap-planskip-and-logging.test: ... to this, extend to try
3761 more cases, and fix heading comments.
3762 * tests/tap-skip-whole-lastline.test: Rename ...
3763 * tests/tap-planskip-late.test: ... to this, fix heading comments,
3764 and remove some checks that are just a duplication of those already
3765 performed in the previous script.
3766 * tests/tap-results-with-planskip.test: Rename to ...
3767 * tests/tap-planskip-unplanned-corner.test: ... this, and improve
3769 * tests/tap-planskip-later-errors.test: New test.
3770 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3772 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
3774 coverage: more TAP driver consistency w.r.t. 'prove'
3775 * tests/skip-results-with-planskip.test: New test, verifies that
3776 test results seen in a TAP stream that has a "plan with SKIP" are
3778 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3780 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
3782 tap: improve some comments in the TAP driver
3783 * lib/tap-driver (handle_tap_plan): Improve comments describing
3784 possible errors in a "plan with SKIP" directive.
3786 2011-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
3788 tap: non-zero exit status after "Bail out!" should not be reported
3789 This new behaviour is more consistent with that of the `prove'
3790 utility. Also, experience with the use of TAP in the Automake's
3791 own test suite has shown that reporting non-zero exit status from
3792 a script after it has issued a "Bail out!" directive is mostly
3793 redundant, more introducing noise rather than conveying useful
3795 * lib/tap-driver (finish): Inline the part of it that was getting
3796 the script exit status ...
3797 (main): ... in here.
3798 * tests/tap-bailout-badexit.test: New test.
3799 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3801 2011-08-11 Stefano Lattarini <stefano.lattarini@gmail.com>
3803 tap: a "plan with SKIP" after test results is an error
3804 This new behaviour is both more natural and more consistent with
3805 that of the `prove' utility.
3806 * lib/tap-driver (handle_tap_plan): Do not stop TAP parsing when
3807 a "plan with SKIP" line (e.g., "1..0 # SKIP") is encountered, and
3808 do not print a "SKIP" line if some TAP result has already been
3810 * tests/tap-skip-whole.test: Adapt.
3811 * tests/tap-skip-whole-lastline.test: Likewise.
3812 * tests/tap-global-result.test: Adapt and extend.
3813 * tests/tap-skip-plan-errors.test: Likewise, and fix an obsolete
3814 small part of a comment.
3815 * tests/tap-skip-whole-bailout.test: New test.
3816 * tests/tap-skip-whole-unplanned.test: Likewise.
3817 * tests/tap-skip-whole-continue.test: Likewise.
3818 * tests/Makefile.am (tap_with_common_setup_tests): Update.
3820 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3822 test harness: avoid possible fork bomb
3823 This fixes a regression w.r.t. the master branch, exposed by
3824 test 'parallel-tests-fork-bomb.test'.
3825 * lib/am/check.am (am--redo-logs): Detect possible infinite
3826 recursion due to a test log in $(TEST_LOGS) being the same
3827 as $(TEST_SUITE_LOG).
3829 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3831 coverage: enhance test against infinite recursion in test harness
3832 * tests/parallel-tests-fork-bomb.test: Enhance and extend a
3833 little now, for soon-to-be-implemented more explicit and safer
3836 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3838 coverage: possible infinite recursion in the test harness
3839 Motivated by a regression in the 'test-protocols' branch.
3840 * tests/parallel-tests-fork-bomb.test: New test, checking that
3841 if $(TEST_SUITE_LOG) is in $(TEST_LOGS), we obtain a diagnosed
3842 error rather than a make hang or a fork bomb.
3843 * tests/Makefile.am (TESTS): Update.
3845 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3847 test defs: yet more environment cleanup
3848 * tests/defs: Also unset the TEST_SUITE_LOG variable.
3850 2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
3852 self tests: some minor refactoring
3853 * tests/self-check-exit.tap: Disable the `errexit' shell flag;
3854 this allow to remove some boilerplate idioms and to make some
3855 code slightly less cumbersome.
3856 * tests/self-check-me.tap: Likewise.
3858 2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
3860 maintcheck: look for TAP-based tests without TAP plan
3861 * Makefile.am (sc_tests_tap_plan): New maintainer check.
3862 (syntax_check_rules): Add it.
3863 * tests/suffix10.tap: Declare a TAP plan.
3864 * tests/add-missing.tap: Likewise.
3866 2011-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
3868 testsuite: avoid confusing SKIP messages for errored tests
3869 * tests/defs [$use_tap] (exit trap): Don't print the test plan
3870 in case the client script exited with a non-zero status. This
3871 avoids the display of redundant "SKIP" messages for tests with
3872 lazy plans that error out before any test is run.
3874 2011-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
3876 testsuite: keep more debugging info around in 'add-missing.tap'
3877 * tests/add-missing.tap: Use a different directory for each test,
3878 so that in case of failure more information is kept around.
3879 Since we are at it, remove redundant TAP diagnostic, and define
3880 `$am_create_testdir' to "empty" to avoid bringing in unused
3883 2011-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
3885 testsuite: more granular count of test results in our TAP library
3886 * tests/tap-functions.sh ($tap_bad_count_): Removed, superseded
3888 ($tap_fail_count_, $tap_xpass_count_): ... these new variables,
3889 which keep more granular counts.
3890 ($tap_pass_count_: New variable.
3891 * tests/defs (exit trap): Adjust and simplify accordingly.
3893 2011-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
3895 testsuite: fixlets and improvements in two long TAP-based tests
3896 * tests/depmod.tap: Clean up the subdirectories used by tests that
3897 passed, to avoid ending up with a too big test directory. This is
3898 especially important since, on each and every system, at least some
3899 tests in this script are expected to be skipped (which ones exactly
3900 depends on the system), thus causing the test directory not to be
3901 removed when the script terminates.
3902 * tests/instspc.tap: Likewise (with the difference that tests here
3903 are not expected to be skipped, but to xfail). Give more explicit
3904 error message in case of setup failure. Skip the proper number of
3905 tests when required, to avoid spurious errors due to mismatched
3906 plan. Also, really avoid to run the unsupported test cases when
3907 the need to skip them is detected.
3909 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3911 test harness: recursive make invocations must use $(AM_MAKEFLAGS)
3912 * lib/am/check.am ($(TEST_SUITE_LOG)): Pass $(AM_MAKEFLAGS)
3913 to $(MAKE) when issuing a recursive make call.
3914 Problem detected by the `sc_tests_make_without_am_makeflags'
3917 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3919 tests: fix spurious failure in 'suffix-chain.tap'
3920 * tests/suffix-chain.test: Use more uncommon suffixes that
3921 don't trigger built-in recipes with FreeBSD make.
3923 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3925 testsuite: improvements to our shell TAP library and APIs
3926 These improvements impact only the Automake's own testsuite.
3927 * tests/tap-functions.sh (plan_): Allow new special arguments
3928 "unknown" a.k.a. "later" and "lazy" a.k.a. "now". Perform
3929 sanity check the given arguments. Adjust incorrect comments.
3930 (lazy_plan_): Removed, superseded by the new version of `plan_'.
3931 (not): New function, run a command and inverts its exit status.
3932 (ok_, not_ok_, skip_): These are just shorthands for common
3934 (xfail_, xpass_, reset_test_count_): Removed, they are not used,
3935 nor does a legitimate use for them seem in sight.
3936 (not): New function, to run a command inverting its exit status.
3937 (command_not_ok_): Removed, superseded by `command_ok_' + `not'.
3938 (command_ok_): Extended to accept TAP directives.
3939 * tests/defs (trap): Don't use `late_plan_' anymore, use
3940 `plan_ "now"' instead.
3941 * tests/ac-output-old.tap: Update to take advantage of the new
3943 * tests/self-check-env-sanitize.tap: Likewise.
3944 * tests/suffix-chain.tap: Likewise.
3945 * tests/suffix10.tap: Likewise.
3946 * tests/suffix11.tap: Likewise.
3947 * tests/suffix3.tap: Likewise.
3948 * tests/suffix8.tap: Likewise.
3949 * tests/tap-bad-prog.tap: Likewise.
3950 * tests/self-check-exit.tap: Likewise, plus a small improvement
3951 in the name of a variable.
3953 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3955 testsuite: convert some `suffix*' tests to TAP
3956 This will allow us to explicitly declare some expected failures
3957 involving Solaris make as such, instead of partly papering over
3958 them with skips and partly letting them fail too loudly.
3959 * tests/suffix-chain.test: Rename ...
3960 * tests/suffix-chain.tap: ... to this, and convert to the use of
3961 TAP. Also, fix some bugs since we are at it, and ...
3962 ($required): ... require `cc'.
3963 * tests/suffix3.test: Rename ...
3964 * tests/suffix3.tap: ... to this, and convert to the use of TAP.
3965 Also, since we are at it, throw in some formatting fixes.
3966 * tests/suffix8.test: Rename ...
3967 * tests/suffix8.tap: ... to this, and convert to the use of TAP.
3968 Also, since we are at it, throw in some formatting fixes.
3969 * tests/suffix10.test: Rename ...
3970 * tests/suffix10.tap: ... to this, and convert to the use of TAP.
3971 * tests/suffix11.test: Rename ...
3972 * tests/suffix11.tap: ... to this, and convert to the use of TAP.
3973 * tests/Makefile.am (TESTS): Update.
3975 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3977 tests: don't let a known Solaris make bug poison too many tests
3978 See automake bug#7670 and bug#7824.
3979 * tests/defs (make_can_chain_suffix_rules): New function, tell
3980 whether the make implementation in use can chain suffix rules
3981 automatically or not.
3982 * tests/suffix3.test: Use it to avoid issuing calls to make that
3983 are unportable to make implementations that are not smart enough
3984 to chain suffix rules automatically.
3985 * tests/suffix8.test: Use it to avoid issuing calls to make that
3986 * tests/suffix10.test: Use it to avoid issuing calls to make that
3987 * tests/suffix11.test: Use it to avoid issuing calls to make that
3988 * tests/suffix-chain.test: New test, exposes the limitation that
3989 we have papered over in the tests above.
3991 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
3993 gitignore: more use of anchors
3994 * .gitignore: Anchor files that are intended to be ignored only
3995 if found in the same directory of the `.gitignore' file, not also
3996 in its subdirectories.
3997 * doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
3998 lib/Automake/tests/.gitignore, tests/.gitignore: Likewise. Also,
3999 where needed, add new entries that were once implied by the
4000 non-anchored entries in the upper-level `.gitignore' files.
4002 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
4004 self tests: avoid spurious output on console, and related fixlets
4005 * tests/self-check-cleanup.test: Set `$stderr_fileno_' to `2'
4006 in the self tests, to avoid spurious diagnostic on console.
4007 * tests/self-check-exit.tap: Only unset `am_explicit_skips' and
4008 `$stderr_fileno_' in the self tests, not at the global level, it
4010 ($init): New variable, to reduce code duplication.
4011 Some refactoring and adjustments to the name of the tests.
4013 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
4015 test defs: few more sanity checks
4016 * tests/defs: Catch some more (very unlikely) set-up or internal
4017 errors, and diagnose them explicitly. This is intended mostly
4018 to be a theoretic-only improvement.
4020 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
4022 test defs: really make them "set -e" clean
4023 Motivated by a spurious failure of test `instsh3-w.shtst' on
4025 * tests/defs: Make really "set -e" clean, to avoid spurious
4026 failures in case this file is sourced by a test script that has
4027 already set the `errexit' flag. To be sure we don't regress,
4028 move the `set -e' call much earlier, and make the comment telling
4029 about the expected "set -e" cleanliness more loud and outstanding.
4031 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
4033 self tests: register an expected failures with Solaris /bin/sh
4034 Solaris 10 /bin/sh erroneously exit with success right away when
4035 the following three conditions are met at the same time:
4036 1. the `errexit' flag is active,
4037 2. an exit trap is installed, and
4038 3. a non-existing command is issued.
4039 * tests/self-exit.tap: When that bug is detected, issue an XFAIL
4040 rather than a FAIL. Since we are at it, improve by avoiding
4041 creation of stray temporary files when testing for non-executable
4044 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
4046 gitignore: update and improve for the testsuite files
4047 * tests/.gitignore: Don't ignore temporary partial log files,
4048 autogenerated tests and makefile fragments that are not used
4049 anymore. Anchor all the remaining patterns.
4051 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
4053 self tests: some new uses of TAP, few extensions
4054 * tests/self-check-me.test: Renamed ...
4055 * tests/self-check-me.tap: .. to this, and converted to use TAP.
4056 * tests/self-check-exit.test: Renamed ...
4057 * tests/self-check-exit.tap: .. to this, and converted to use TAP.
4058 Set `$stderr_fileno_' to `2', to avoid spurious messages on the
4059 console. Add a new test, and relax another one.
4060 * tests/self-check-env-sanitize.test: Renamed ...
4061 * tests/self-check-env-sanitize.tap: .. to this, and converted to
4063 * tests/Makefile.am (TESTS): Update.
4065 2011-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
4067 test defs: test directory creation more configurable
4068 After this change, the individual tests will be able to tell
4069 `./defs' whether or not to create a temporary test directory
4070 for them, and if yes, whether or not to pre-populate it.
4071 * tests/defs: Only create the temporary test directory if the
4072 variable `$am_create_testdir' is not set to "no". In this
4073 case, only pre-populate it if that variable is not set to
4075 * tests/defs-static.in: Check that `$am_create_testdir' is not
4076 exported in the environment.
4077 * tests/self-check-env-sanitize.test: Update.
4078 * tests/self-check-dir.test: Extend, and make deeper and more
4080 * tests/README (Section "Writing test cases" subsection "Do"):
4082 * tests/autodist.test: Set `$am_create_testdir' instead of
4083 removing by hand files created by ./defs.
4084 * tests/tap-doc2.test: Likewise.
4086 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4088 testsuite: more uses of the `seq_' function
4089 * tests/parallel-tests-exit-statuses.test: Use the `seq_' function
4090 from `tests/defs', instead of duplicating its semantics.
4091 * tests/testsuite-summary-count.test: Likewise.
4093 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4095 testsuite: drop redundant environment sanitization
4096 * tests/Makefile.am (TESTS_ENVIRONMENT): Don't remove `planned'
4097 from the environment.
4098 * tests/defs-static.in: Don't complain if `planned' is set in
4100 * tests/self-check-env-sanitize.test: Update.
4102 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4104 test defs: fix bug in plain version of `skip_all_'
4105 * tests/plain-functions.sh (skip_all_): Call `skip_', not `skip'.
4107 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4109 test defs: small cleanups and tweakings
4110 * tests/defs: Where possible, prefer `framework_failure_' or
4111 `fatal_' to `Exit 99'. Try to catch more possible hard errors
4112 and setup failures. Do not hide expected error messages. Avoid
4113 a couple of forks when copying files from `$(top_srcdir)/lib'.
4114 ($signal): Remove, no more needed.
4116 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4118 testsuite: improve interface for giving early TAP plan
4119 Since commit `v1.11-976-g4740f56', an early TAP plan can also be
4120 specified after input lines have already been seen, as long as
4121 no one of them is a TAP result line. We can now take advantage
4122 of this in our own testsuite, allowing the TAP-based scripts to
4123 specify their earlier plan after having included `./defs'. In
4124 particular, this offers the benefit of allowing those scripts to
4125 issue a "skip all" plan (e.g., "1..0 # SKIP reason ...") after
4126 the inclusion of `./defs', which wasn't possible with the older
4127 interface (introduced in commit `v1.11-1114-g0286308').
4128 * tests/defs: Don't try to call `plan_' if `$planned' is defined,
4129 the calling scripts can do that directly now.
4130 * tests/ac-output-old.tap: Use `plan_' directly instead of
4131 setting `$planned' before including `./defs'.
4132 * tests/automake-cmdline.tap: Likewise.
4133 * tests/depmod.tap: Likewise.
4134 * tests/instspc.tap: Likewise.
4135 * tests/tap-bad-prog.tap: Likewise.
4136 * tests/add-missing.tap: Don't set `$planned'.
4138 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4140 test defs: fix bug in TAP version of `skip_all_'
4141 * tests/tap-functions (skip_all_): Set `$have_tap_plan_' to "yes"
4142 when called, so that the exit trap won't write another TAP plan.
4144 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4146 test defs: fix skip directives to work also with TAP-based tests
4147 * test/defs: Use `skip_all_', not `skip_', to issue a skip of the
4148 whole calling test script.
4150 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4152 test defs: more environment cleanup
4153 * tests/defs: Also unset variables AM_COLOR_TESTS and
4154 AM_TESTS_ENVIRONMENT.
4156 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4158 test harness: more minor VPATH-rewrite issues
4159 * tests/am/check.am (am__set_TESTS_bases, $(TEST_SUITE_LOGS),
4160 am--redo-logs, recheck, recheck-html): Cosmetic fixlets to
4161 minimize the risk of unwanted VPATH rewrites.
4162 (check-TESTS): Likewise, and normalize trailing whitespace
4164 Bugs exposed by test cases `check6-p.test' and `check7-p.test'.
4166 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4168 test harness: "make -n check" works correctly with Solaris make
4169 To avoid some recipes being executed with "make -n", we used the
4170 trick of issuing recursive make calls not directly with $(MAKE),
4171 but with a simple indirection instead:
4173 am__stealth_MAKE = $(MAKE)
4176 ... $(am__stealth_MAKE) ...
4178 This hack worked with GNU make, but, unfortunately, not with
4179 Solaris make. The present change removes the hack, and uses more
4180 proper idioms to avoid unwanted recipe executions with "make -n".
4181 Bug exposed by test case `parallel-tests-dry-run.test'.
4182 * lib/am/check.am (am__stealth_MAKE): Remove, no more used.
4183 (.log.trs): Break recipe in multiple shell invocations.
4184 ($(TEST_SUITE_LOG)): Likewise, and move some corner-case parts of
4186 (am--redo-logs): ... this new internal helper .PHONY target.
4188 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4190 tests: fix spurious failure with Solaris make
4191 * tests/distcheck-configure-flags-am.test: Avoid using `+=' too
4192 liberally with AM_DISTCHECK_CONFIGURE_FLAGS, since the line breaks
4193 so introduced, in conjunction with single quotes, might confuse
4196 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4198 test harness: fixlet in workaround for VPATH rewrite issue
4199 Fixes a minor in previous commit `v1.11-983-gfda3de5'.
4200 * lib/am/check.am (am__set_TESTS_bases): Add forgotten end-of-line
4201 anchor to sed expression. In comments, add reference to ...
4202 * tests/test-trs-basic.test: ... this test, which has been adapted
4203 and tightened (and tweaked).
4205 2011-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4207 test harness: work around a VPATH rewrite issue
4208 * lib/am/check.am (am__TEST_BASES): Removed, it's role taken
4210 (am__set_TESTS_bases): ... these new variable.
4211 ($(TEST_SUITE_LOG): Use it, to avoid VPATH rewrite issues.
4212 * automake.in (handle_tests): Update the code for the cleanup
4213 of the `.trs' file to use `$(TEST_LOGS)' instead of
4214 `$(am__TEST_BASES)'.
4215 * tests/test-harness-vpath-rewrite.test: New test, better
4216 exposing the problem fixed by this change
4217 * tests/Makefile.am (TESTS): Add it.
4218 * tests/test-trs-basic.test: Update and extend.
4220 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4222 parallel-tests: work around Solaris XPG4 make segfault
4223 Issue exposed by test `posixsubst-tests-p.test', and similar to
4224 the problem solved by commit `v1.11-159-ge7aa360'.
4225 * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Trim trailing
4226 whitespace from $list, to avoid triggering a nasty bug (potential
4227 segfault) on Solaris XPG4 make and Heirloom make.
4229 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4231 testsuite: fix weird spurious failure with Solaris /bin/sh
4232 Solaris /bin/sh, when killed with a SIGTERM or SIGINT signal, can
4233 apparently end up exiting with exit status 208, instead of leaving
4234 the correct wide exit status to the parent. See:
4235 <http://dbaspot.com/shell/396118-bourne-shell-exit-code-term.html>
4236 Work around this incompatibility.
4237 * tap-signal.test: Look for the above Solaris bug.
4238 (signal_caught): Adapt to handle it.
4240 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4242 testsuite: fix another spurious failure on Solaris make
4243 * tests/parallel-tests-log-override-recheck.test: Filter make
4244 output before grepping it, for make implementations that, like
4245 Solaris' one, print the whole of the failed recipe on failure.
4247 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4249 testsuite: fix two spurious failures on Solaris make
4250 * tests/tests-environment-and-log-compiler.test: Do not fail if
4251 "make -n check" fails, as that is issued only for debugging, its
4252 semantics being tested in other test scripts.
4253 * tests/test-driver-strip-vpath.test: Likewise.
4255 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4257 tap driver: refactor and remove dead code
4258 * lib/tap-driver (get_tap_line): Removed, ...
4259 (all callers): ... updated to use $parser->next directly instead.
4260 (peek_tap_line, unget_tap_line, @tap_lines): Remove, they're not
4262 (TAP_PEEKING): Block deleted, all its subroutines and variables
4263 having been removed.
4265 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4267 testsuite: fix spurious failure in a test on TAP support
4268 * tests/tap-passthrough-exit.test: When the `--ignore-exit' flag
4269 of the TAP driver is used, don't look for a message reporting the
4270 non-zero exit statuses of tests in the log files; such message is
4271 not expected to be there anymore. Related simplifications.
4273 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4275 tap: plan location is more liberal w.r.t. non-TAP lines
4276 With this change, only lines that are TAP results will matter
4277 w.r.t. the position of the TAP plan in the input; for example,
4279 this is a non-TAP line
4280 # and this a TAP diagnostic line
4283 was considered to be an error, diagnosed with a message "test
4284 plan in middle of output"; as effect of the current change, such
4285 input is now valid. This is more consistent with the behaviour
4286 of the `prove' utility.
4287 * lib/tap-driver ($lineno): Removed, no more needed.
4288 ($tap_stopped): New global variable.
4289 (stringify_test_result): Return "ERROR" if a TAP result is found
4290 when `$tap_stopped' is set to true.
4291 (handle_tap_test): Diagnose TAP results that comes after a late
4292 plan. Add a couple of blank lines, for clarity.
4293 (handle_tap_plan): Set `$tap_stopped' to true after a late plan
4294 is encountered. Do not complain anymore for extra non-TAP lines
4295 preceding or following the plan. Adjust comments.
4296 (main): Don't increment $lineno anymore.
4297 * tests/tap-plan.test: Extend a bit, and remove stale comment.
4298 * tests/tap-color.test: Adjust.
4299 * tests/tap-passthrough.test: Likewise.
4300 * tests/tap-plan-corner.test: Adjust and extend.
4301 * tests/tap-plan-errors.test: Likewise.
4302 * tests/tap-plan-middle.test: New test.
4303 * tests/tap-plan-corner2.test: Delete, it's obsolete now.
4304 * tests/Makefile.am (XFAIL_TESTS): Remove it.
4305 (tap_with_common_setup_tests): Likewise, and add
4306 `tap-plan-corner.test'.
4308 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4310 testsuite: remove now-passing test from XFAIL_TESTS
4311 * tests/Makefile.am (XFAIL_TESTS): Remove `tap-signal.test',
4312 which is passing since previous commit `v1.11-974-gc7fa872'.
4314 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4316 test defs: get name of TAP-using tests correctly
4317 This change fixes the names of the temporary directories used
4318 by the TAP-based tests (e.g., test `foo.tap' now uses `foo.dir'
4319 rather than `foo.tap.dir'); more importantly, this make the
4320 variable `$destdir' defined in `tests/defs' usable also in the
4322 ($me): Also strip the any `.tap' suffix from the name of the
4325 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4327 testsuite: TAP tests properly decide when to remove tempdirs
4328 Before this change, the TAP tests in the Automake testsuite were
4329 removing the temporary test directory even when they failed or
4330 were skipped, thus making debugging more difficult.
4331 * tests/tap-functions.sh (incr_tap_count): Removed, superseded
4333 (incr_): ... this function, which can increment the value of any
4334 variable passed to it.
4335 (result_): Updated to use `incr_' instead of the now-removed
4336 `incr_tap_count_'. Keep count of failures, xfailures, xpasses,
4337 and skips, using ...
4338 ($tap_skip_count_, $tap_bad_count, _$tap_xfail_count_): ...
4339 these new variables.
4340 * tests/defs (trap): Try to use their values to decide whether
4341 the temporary directory being used by the test script should be
4342 removed or not. Other code reorganizations. And move the code
4343 for the removal of the temporary directory out to ...
4344 (rm_rf_): ... this new subroutine.
4345 (Main code): Use that instead of duplicating the code.
4347 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4349 testsuite: improve and refactor our custom TAP shell library
4350 This change is mostly done in preparation for the next one.
4351 * tests/tap-functions.sh (result_with_directive_): Merge into ...
4352 (result_): ... this function, which has been greatly extended and
4353 improved in various ways.
4354 (ok_, not_ok_, skip_, xfail_, xpass_): Adjust.
4355 Adjust comments. Remove an extra empty line.
4356 * tests/instspc.tap: Use the new improved interface of `result_'.
4357 * tests/tap-bad-prog.tap: Likewise.
4359 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4361 testsuite: update "user interface" description in tests/README
4362 * tests/README (Subsection "Interpretation"): Mention the "ERROR"
4364 (Subsection "Getting details from failures"): Don't tell that the
4365 test scripts can be run directly, this is not 100% true; anymore;
4367 (Subsection "About the tests"): ... use this new subsection to
4368 explain how to run the tests (either simple or TAP-based) by hand.
4369 (Subsection "Supported shells"): Extend to refer to TAP tests too.
4371 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4373 testsuite: TAP tests can have early plan now
4374 * tests/defs: When using TAP, allow the user to specify the number
4375 of tests through the `$planned' variable.
4376 (trap): Do not print the auto-generated plan if an explicit one
4377 has already been printed.
4378 * tests/defs-static.in: Complain and bail out if the `$planned'
4379 variable is exported in the environment. Reformat the code to
4380 facilitate future additions.
4381 * tests/Makefile.am (TESTS_ENVIRONMENT): Neutralize `$planned'.
4382 * tests/self-check-env-sanitize.test: Update.
4383 * tests/ac-output-old.tap: Give an explicit TAP plan, by defining
4384 `$planned' just before including `./defs'.
4385 * tests/depmode.tap: Likewise.
4386 * tests/automake-cmdline.tap: Likewise.
4387 * tests/tap-bad-prog.tap: Likewise.
4388 * tests/instspc.tap: Likewise, and related adjustments.
4389 * tests/add-missing.tap: Make it explicit that we have no a-priori
4392 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4394 testsuite: run autogenerated tests with $(LOG_COMPILER) too
4395 This change enhances consistency in the testsuite.
4396 * tests/Makefile.am: Some cosmetic reordering, to keep the
4397 definition of FOO_LOG_COMPILER near to the place where `.foo'
4398 is added to $(TEST_EXTENSIONS).
4399 (PTEST_LOG_COMPILER): Run `$(srcdir)/parallel-tests.sh' with
4400 `$(LOG_COMPILER)', not with `$(SHELL)'.
4401 (SHTST_LOG_COMPILER): Likewise.
4403 2011-08-07 Stefano Lattarini <stefano.lattarini@gmail.com>
4405 testsuite: run TAP and "plain" tests with the same $(LOG_COMPILER)
4406 With this change, it will be easier to override, at make time, the
4407 shell used to run the tests.
4408 * tests/Makefile.am (LOG_COMPILER): Define to `$(SHELL)'.
4409 (TEST_LOG_COMPILER): Re-define to `$(LOG_COMPILER)'.
4410 (TAP_LOG_COMPILER): Likewise.
4412 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
4414 testsuite: run TAP-based tests explicitly with $(SHELL)
4415 * tests/Makefile.am (TAP_LOG_COMPILER): Define to `$(SHELL)'.
4417 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
4419 tap driver: handle signals received by the tests being run
4420 * lib/tap-driver (get_test_exit_message): Also deal with signals,
4421 by using the `wait' method of the TAP::Parser object instead of
4422 the `exit' method. This required the use of the standard perl
4424 * doc/automake.texi (Use TAP with the Automake test harness):
4425 Document that `--ignore-exit' has effect also on terminating
4426 signals. Add a "synchronizing" comment that references the tests
4427 'tap-exit.test' and 'tap-signal.test'.
4428 * tests/tap-signal.test: Extend and adjust.
4430 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
4432 test driver: a preparatory refactoring (2)
4433 * lib/tap-driver (finish): Move code to fetch the message about
4434 the exit status of the test being run to ...
4435 (get_test_exit_message): ... this new subroutine.
4437 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
4439 tap driver: a preparatory refactoring (1)
4440 * lib/tap-driver (finish): Do not flush the TAP stream nor
4441 fetch the exit status of the TAP producer if running with
4442 the `--ignore-exit' option. Obviously, don't try to write
4443 such exit status in the test log anymore.
4445 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
4447 cosmetics: typofix in the name of a function in the TAP driver
4448 * lib/tap-driver (testuite_error): Renamed ...
4449 (testsuite_error): ... to this, and minor related reformatting.
4451 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
4453 tap: scripts with a SKIP plan but with exit status != 0 must error
4454 This change has been motivated by Automake's own testsuite. Some
4455 TAP tests there were erroring out (due to unexpected, unhandled
4456 failures) before having encountered TAP result, so that the
4457 simple-minded shell library implementing TAP generation ended up
4458 printing a "1..0" trailing test plan; this caused the script to be
4459 reported as a SKIP rather than an ERROR -- a nasty false negative.
4460 * lib/tap-driver: Add prototypes for each subroutine, to free up
4461 the order in which they can be defined and called.
4462 (main): Move the code checking for a bad exit status of the TAP
4464 (finish): ... here, and flush the TAP stream to ensure that the
4465 parser always obtains the producer's exit status.
4466 * tests/tap-skip-whole-badexit.test: New test.
4467 * tests/Makefile.am (tap_with_common_setup_tests): Add it.
4469 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
4471 tap: fix whitespace munging of diagnostic messages
4472 * lib/tap-driver (extract_tap_comment): Pass the `g' flag to the
4473 substitution operator, to strip also trailing whitespaces. Fixes
4474 a failure in test `tap-whitespace-normalization.test'.
4476 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
4478 testsuite: refactor and cleanup 'instspc.tap'
4479 * tests/instspc.tap (is_in_list): New helper subroutine.
4480 (expected_to_fail): Re-implement using it.
4481 (define_problematic_string): Likewise. Also, rename the special
4482 arguments `build-fail' and 'install-fail' to respectively
4483 `builddir-fail' and `destdir-fail', and other related changes.
4484 (Test data definition): Adapt.
4485 ($instspc_xfail_builds_list): Renamed ...
4486 ($builddir_xfails): ... to this.
4487 ($instspc_xfail_installs_list): Renamed ...
4488 ($destdir_xfails): ... to this.
4489 ($instspc_names_list): Renamed ...
4490 ($test_names_list): ... to this.
4491 ($instspc_test_string): Renamed ...
4492 ($test_string): ... to this.
4493 Add some explicative and "FIXME" comments.
4495 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
4497 testsuite: use TAP for `depmod*' tests, related simplifications
4498 * tests/depmod-tests.sh: Delete this complex and multifarious
4499 script, moving all it checks it used to perform into ...
4500 * tests/depmod.tap: ... this TAP-based test script. And extend
4501 it quite a bit, since the new form of the test was papering over
4502 some pre-existing failures (this was due to the fact that the
4503 values used for the VPATH were shorter in the new test script).
4504 * tests/depmod-data.test: Deleted.
4505 * tests/Makefile.am ($(srcdir)/depmod-tests.am): Don't include
4506 nor generate it anymore.
4507 (EXTRA_DIST): Don't distribute depmod-tests.sh anymore.
4508 (TEST_EXTENSIONS): Remove '.depmod'.
4509 (DEPMOD_LOG_COMPILER): Deleted.
4510 (depmod-data.log, $(depmod_tests:.depmod=.log)): Delete
4511 dependencies for these files, which are not used anymore.
4512 ($(depmod_tests)): Delete this dummy dependency declaration.
4513 (TESTS): Remove $(depmod_tests).
4514 (handwritten_tests): Remove depmod-data.test, add depmod.tap.
4515 * bootstrap: Don't generate tests/depmod-tests.am anymore.
4517 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
4519 testsuite: use TAP for `instspc*' tests, related simplifications
4520 * tests/instspc-tests.sh: Delete this complex and multifarious
4521 script, moving all it checks it used to perform into ...
4522 * tests/instspc.tap: ... this TAP-based test script.
4523 * tests/instspc-data.test: Deleted.
4524 * tests/Makefile.am ($(srcdir)/instspc-tests.am): Don't include
4525 nor generate it anymore.
4526 (EXTRA_DIST): Don't distribute instspc-tests.sh anymore.
4527 (TEST_EXTENSIONS): Remove '.instspc'.
4528 (INSTSPC_LOG_COMPILER): Deleted.
4529 (XFAIL_TESTS): Remove $(instspc_xfail_tests).
4530 (instspc-data.log, $(instspc_tests:.instspc=.log)): Delete
4531 dependencies for these files, which are not used anymore.
4532 ($(instspc_tests)): Delete this dummy dependency declaration.
4533 (TESTS): Remove $(instspc_tests).
4534 (handwritten_tests): Remove instspc-data.test, add instspc.tap.
4535 * bootstrap: Don't generate tests/instspc-tests.am anymore.
4537 2011-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
4539 testsuite: do fd redirections with $(AM_TESTS_FD_REDIRECT)
4540 * tests/Makefile.am: The redirections of file descriptors needed
4541 by our test scripts is now done using the $(AM_TESTS_FD_REDIRECT)
4542 variable (the new blessed way since commit `v1.11-906-gb9e9d54'),
4543 not using an hack involving $(AM_TESTS_ENVIRONMENT). This has
4544 the further benefit of allowing the use of $(TESTS_ENVIRONMENT)
4545 again on part of the users.
4546 * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Remove redirection of
4548 (AM_TESTS_FD_REDIRECT): Redirect file descriptor 9 to original
4551 * tests/plain-functions.sh ($stderr_fileno_): Update comment.
4553 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
4555 testsuite: use custom TAP diagnostic in our own tests
4556 This change allow us to easily and transparently avoid spurious
4557 TAP diagnostic in our own testsuite, with the help of the new
4558 `--diagnostic-string' option of our TAP test driver.
4559 * tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Also pass option
4560 `--diagnostic-string' with value `#%#' (necessarily obtained
4561 through some shell indirections).
4562 * tests/tap-functions.sh (diag_): Assume that the string denoting
4563 TAP diagnostic is stored in the `$diag_string_' variable. Update
4565 ($diag_string_): Initialize to "#".
4566 * tests/defs ($diag_string_): Re-define to "#%#".
4567 (show_): Remove, it's obsolete now.
4568 * add-missing.tap: Don't use `show_' anymore to avoid spurious
4569 TAP diagnostic; `cat' should suffice now.
4571 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
4573 tap: fix typo in TAP driver version message
4574 * lib/tap-driver (anonymous subroutine printing the script version
4575 message): Add missing trailing newline to the version message.
4577 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
4579 tap docs: we don't support pragma or version directives (yet)
4580 * doc/automake.texi (Incompatibilities with other TAP parsers
4581 and drivers): Document that limitation. Normalize an unrelated
4584 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
4586 tap: new option to change the string designating TAP diagnostic
4587 Here we introduce a new option `--diagnostic-string' in our TAP
4588 test driver, that allows the user to specify which string should
4589 denote the beginning of a TAP diagnostic line. This change is
4590 not gratuitous, nor result if over-engineering: it is motivated
4591 by real issues that have emerged during the use of TAP in the
4592 Automake's own testsuite (see the commit `v1.11-1082-g9b967c2'
4593 "testsuite: yet more use of TAP, and related extensions").
4594 * doc/automake.texi (Use TAP with Automake test harness): Document
4596 (Incompatibilities with other TAP parsers and drivers): Report it
4597 as a potential source of incompatibility.
4598 * lib/tap-driver ($diag_string): New global variable, defaulting
4599 to "#", and whose value can be changed ...
4600 (Getopt::Long::GetOptions): ... by the newly recognized option
4601 `--diagnostic-string'.
4602 (handle_tap_comment): Subroutine removed, some of its simple logic
4604 (main): ... in here, where now ...
4605 (extract_tap_comment): ... this new subroutine is used.
4607 * tests/tap-diagnostic.test: Make one check slightly stricter.
4608 * tests/tap-diag-custom.test: New test.
4609 * tests/Makefile.am (tap_other_tests): Add it.
4611 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
4613 check: add small "synchronization" comment to `test-driver'
4614 * lib/test-driver: Add comment to the code initializing ANSI color
4615 escapes, telling to keep it in sync with the similar initialization
4616 in `lib/am/check.am'.
4618 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
4620 maintcheck: fix spurious failure w.r.t. use of bare "exit"
4621 * tests/check12.test: Cosmetic changes to avoid triggering a
4622 spurious failure of the `sc_tests_Exit_not_exit' maintainer
4625 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
4627 check: update comments to reflect recent heavy changes
4628 * lib/am/check.am [%?PARALLEL_TESTS%]: Update the comments to
4629 reflect the recent changes. Remove quite many comments that
4630 were merely duplicating excerpts from the Automake manual.
4632 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
4634 check: small cleanups and refactorings in test harness and drivers
4635 * lib/tap-driver (yn): New subroutine, converts a boolean value to
4636 a "yes" or "no" string.
4637 (write_test_results): Use it, and related reformatting.
4638 * lib/test-driver (trap): Also remove the `.trs' file on signals,
4640 (fatal): Remove this function, it's never used.
4641 ($logfile, $trsfile): Renamed ...
4642 ($log_file, $trs_file): ... to these, for clarity, and in order to
4643 be more consistent with the `tap-driver' script.
4644 Improve a couple of comments.
4645 * automake.in (handle_tests): Don't define anymore the now-obsolete
4646 make macro `$(TEST_LOGS_TMP)', nor add it to the list of files to
4647 be removed upon "make mostlyclean".
4648 * lib/am/check.am ($(TEST_SUITE_LOG)): New shell function `f_ok',
4649 tells whether a path refers to an existing, regular, readable file.
4651 (recheck): Be safer w.r.t. make implementation that run recipes
4652 with `errexit' shell flag active.
4654 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
4656 testsuite: use AM_TESTS_FD_REDIRECT where appropriate
4657 * parallel-tests-interrupt.test: Use AM_TESTS_FD_REDIRECT, not
4658 AM_TESTS_ENVIRONMENT, to define file descriptors' redirection
4659 for "make check". Fix botched comment.
4661 2011-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
4663 docs: some fixlets in documentation on testsuites support
4664 * doc/automake.texi (Script-based Testsuites): Rename node ...
4665 (Scripts-based Testsuites): ... to this. Break overly long lines
4666 in an example (were causing problems with PDF output).
4667 (Parallel Test Harness): Don't intend paragraphs that come after
4668 examples or bulleted list.
4669 (Overview of Custom Test Drivers Support): Fix typo s/the the/the/.
4670 (Declaring Custom Test Drivers): When giving an aside, prefer comma
4671 to parentheses, as it disrupts the reading flow less.
4672 (API for Custom Test Drivers): Remove a sentence that was basically
4673 duplicated from the previous subsection.
4674 (Command-line arguments for test drivers): Don't intend paragraph
4675 coming after an itemized list. Clarify wording and fix grammaros.
4676 Add a couple of cross-references to earlier explanations of `.log'
4678 (Links and external resources): Node renamed ...
4679 (Links and external resources on TAP): ... to this, for clarity.
4680 Slightly extend and clarify introductory sentence.
4682 2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
4684 test harness: be aware of more metadata, simplify test drivers
4685 * lib/am/check.am ($(TEST_SUITE_LOG)): When producing the
4686 global test log, take into account the new metadata field
4687 `:global-test-result:, to write nicely formatted RST section
4688 titles, instead of leaving this chore to the individual test
4690 (am_rst_section): Re-introduce this variable, as removed in
4691 commit `v1.11-870-ga27c9c4'.
4692 * lib/test-driver, lib/tap-driver: Write the global test result
4693 as metadata in the `.trs' file, not as (part of) a formatted RST
4694 subsection title in the `.log' file. Related simplifications;
4695 in particular, get rid of temporary files usage.
4696 * doc/automake.texi (Log files generation and test results
4697 recording): Document the new metadata.
4698 * tests/check12.test: Update.
4699 * tests/parallel-tests-harderror.test: Likewise.
4700 * tests/parallel-tests-interrupt.test: Likewise.
4701 * tests/parallel-tests-log-override-2.test: Likewise.
4702 * tests/parallel-tests-log-override-recheck.test: Likewise.
4703 * tests/parallel-tests-unreadable.test: Likewise.
4704 * tests/tap-global-result.test: Likewise.
4705 * tests/test-metadata-results.test: Likewise.
4706 * tests/test-log.test: Likewise, and another minor unrelated fix.
4707 * tests/test-metadata-global-result.test: New test.
4708 * tests/Makefile.am (TESTS): Update.
4710 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4712 tap: check that also a trailing TAP plan can hold a skip directive
4713 * tests/tap-skip-whole-lastline.test: New test.
4714 * tests/Makefile.am (tap_with_common_setup_tests): Add it.
4716 2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
4718 testsuite: more correct names for a couple of tests
4719 * tests/parallel-tests-ext-driver.test: Rename ...
4720 * tests/parallel-tests-log-compiler-1.test: ... to this, and
4721 adjust heading comments.
4722 * tests/parallel-tests-ext-driver-prog.test: Rename ...
4723 * tests/parallel-tests-log-compiler-2.test: ... to this, and
4724 adjust heading comments.
4725 * tests/Makefile.am (TESTS): Update.
4727 2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
4729 testsuite: fix another spurious failure
4730 * tests/parallel-tests-ext-driver.test: Name out custom/dummy
4731 log compilers as `foo-compiler' rather `foo-driver'; not only
4732 this is less confusing, it also avoids errors due to the dummy
4733 log compiler `test-driver' overriding the `test-driver' helper
4734 script installed by Automake.
4735 * tests/parallel-tests-ext-driver-prog.test: Adjust heading
4738 2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
4740 testsuite: fix a spurious failure
4741 * tests/parallel-tests-ext-driver.test: Exporting of environment
4742 variables directly from $(LOG_COMPILER) variables is not allowed
4743 anymore. Adjust to this.
4745 2011-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
4747 testsuite: yet more use of TAP, and related extensions
4748 * tests/defs (show_): New function, display the contents of one or
4749 more files on stdout, with bells & whistles (both for cosmetic and
4750 practical reasons, the latter aimed at avoiding spurious TAP
4752 (AUTOMAKE_run): Extend and adapt to make it compatible with TAP
4753 based tests. Since we are at it, make its implementation more
4754 namespace-safe, and improve its command-line interface.
4755 (AUTOMAKE_fails): Adapt to the new command-line interface of
4757 * tests/add-missing.test: Renamed ...
4758 * tests/add-missing.tap: ... to this, and converted to the use
4759 of the TAP protocol, and of the new `show_' function.
4760 * tests/automake.test: Renamed ...
4761 * tests/automake-cmdline.tap: ... to this, and converted to the
4762 use of the TAP protocol.
4763 * tests/getopt.test: Adapt to the new command-line interface
4765 * tests/cond44.test: Likewise.
4766 * tests/cond45.test: Likewise.
4767 * tests/configure.test: Likewise.
4768 * tests/license2.test: Likewise.
4769 * tests/parallel-am.test: Likewise.
4770 * tests/parallel-am3.test: Likewise.
4771 * tests/tags2.test: Likewise.
4772 * tests/werror3.test: Likewise.
4773 * tests/werror4.test: Likewise.
4774 * tests/amopts-variable-expansion.test: Likewise.
4775 * tests/warnings-win-over-strictness.test: Likewise.
4776 * tests/Makefile.am (TESTS): Update.
4777 (TAP_LOG_DRIVER_FLAGS): Add `--merge', so that TAP diagnostic is
4778 reported in the testsuite progress output.
4780 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4782 maintcheck: fix more maintainer-check failures
4783 * tests/test-driver-custom-no-html.test (no-rst): Use `EOF',
4784 not `EoL', as the here-document delimiter.
4785 * tests/test-trs-basic.test: Use `cat + here-doc' rather
4786 than `echo' when creating the dummy test scripts, to please
4788 * tests/test-trs-recover.test: Use creative quoting where
4789 needed, to please maintainer-check.
4790 * tests/parallel-tests-no-color-in-log.test: Likewise.
4791 * tests/parallel-tests-dry-run.test: Likewise.
4793 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4795 maintcheck: fix maintainer-check failures, both real and spurious
4796 * tests/amhello-binpkg.test: Use "$MAKE", not bare "make".
4797 * Makefile.am (sc_perl_local): Also allow perl special variable
4798 `$~' to be localized. And be slightly laxer in the regexp, to
4799 allow for usages like "local $_ = $foo;".
4800 (sc_tests_overriding_macros_on_cmdline): Also allow for command
4801 line overriding of the `DISABLE_HARD_ERRORS' make variable. Try
4802 to avoid false positives for usages like "$MAKE || st=$?".
4804 2011-08-03 Bruno Haible <bruno@clisp.org>
4806 docs: how to use '-I' option in AM_CPPFLAGS for best VPATH support
4807 * doc/automake.texi (Program Variables): Recommend -I options to
4808 both the build directory and the source directory when needed.
4810 2011-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
4812 tests: relax a test on amhello examples to cater to Solaris tar
4813 * tests/amhello-binpkg.test: When the tar implementation in use
4814 is not GNU tar, relax the tests on tar output, to avoid spurious
4815 failures. For example, "tar cvf ..." with GNU tar can output
4816 lines like "./usr/bin/hello" on the standard output, while with
4817 Solaris tar it can output lines like "a ./usr/bin/hello 8K" on
4818 standard output, and with Heirloom tar it can output lines like
4819 "a ./usr/bin/hello 15 tape blocks" on standard error.
4821 2011-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
4823 test defs: function 'is_newest' now works also with directories
4824 * tests/defs (is_newest): Call `find' with the `-prune' option,
4825 so that it won't descend in the directories (which could cause
4827 * tests/self-check-is_newest: Extend accordingly.
4828 From a report by Jim Meyering, see automake bug#9147.
4830 2011-07-15 Benoit Sigoure <tsunanet@gmail.com>
4832 docs: add references between the 2 sections on java support
4833 * doc/automake.texi (Java Support, Java): Add cross-references.
4835 2011-07-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4837 Sync auxiliary files from upstream.
4838 * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub,
4839 lib/texinfo.tex: Sync from upstream.
4841 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4843 tests: fix weakness in 'tests-environment-backcompat.test'
4844 * tests/tests-environment-backcompat.test: Do not override the
4845 content of xfailing test `baz.test' with a "weaker" version that
4846 fails unconditionally: the test must fail only when the 'strict'
4847 pragma is in use, in order not to reduce coverage.
4849 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4851 docs, tests: synchronize examples on silent-rules from config.site
4852 * doc/automake.texi (Automake silent-rules Option): Reference test
4853 'silent-configsite.test' in comments.
4855 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
4857 tests: portability fixes in tests on amhello examples
4858 * tests/amhello-binpkg.test: Don't use "tar xzf too.tag.gz" to
4859 extract a gzip-compressed tarball, that's unportable to some
4860 tar implementations; use the "gzip -dc fo.tar.gz | tar xf -"
4862 * tests/amhello-cflags.test: Likewise.
4863 * tests/amhello-cross-compile.test: Likewise.
4864 Suggestion from Ralf Wildenhues.
4866 2011-07-04 Stefano Lattarini <stefano.lattarini@gmail.com>
4868 remake: add test ensuring that slower remakes don't hang
4869 * tests/remake-subdir-long-time.test: New test.
4870 * tests/Makefile.am (TESTS): Update.
4871 Suggestion by Ralf Wildenhues.
4873 2011-07-04 Stefano Lattarini <stefano.lattarini@gmail.com>
4875 remake: fix outdated comment in configure.am
4876 * lib/am/configure.am: Fix comment falsified by changes in
4877 commit `v1.11-366-gbee9871'.
4878 Suggestion by Ralf Wildenhues.
4880 2011-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
4882 docs, tests: synchronize examples from docs to tests
4883 * tests/README (Writing test cases): Give suggestions on how to
4884 keep test cases and examples in the documentation synchronized.
4885 * doc/automake.texi: Improve or fix existing testcase-referencing
4886 comments, and add many new ones.
4887 * HACKING (Administrivia): Suggest to test complex examples and
4888 idioms from the manual.
4889 * tests/specflg8.test: Improve synchronization with the example
4891 * tests/output11.test:Likewise.
4892 * tests/txinfo21.test:Likewise.
4893 * tests/interp.test: Likewise.
4894 * tests/amhello-cflags.test: New test.
4895 * tests/amhello-cross-compile.test: Likewise.
4896 * tests/amhello-binpkg.test: Likewise.
4897 * tests/tests-environment-backcompat.test: Likewise.
4898 * tests/parallel-tests-log-compiler-example.test: Likewise.
4899 * tests/Makefile.am (TESTS): Update.
4901 2011-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
4903 coverage: new test on parallel-tests TESTS runtime overriding
4904 * tests/parallel-tests-cmdline-override.test: New test, check that
4905 we can use indirections when overriding TESTS and TEST_LOGS from
4907 * tests/Makefile.am (TESTS): Update.
4909 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4911 gitignore: ignore `*.trs' files in lib/Automake/tests
4912 * lib/Automake/tests/.gitignore: Add `*.trs' pattern.
4914 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4916 testsuite: list another "forgotten" test script in Makefile.am
4917 * tests/Makefile.am (TESTS): Also list test script
4918 `test-driver-trs-suffix-registered.test'; it had been introduced
4919 in commit `v1.11-910-g0c81b43', but by mistake it wasn't added
4920 to the list of tests in the Makefile back then.
4922 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4924 testsuite: list "forgotten" test script in Makefile.am
4925 * tests/Makefile.am (TESTS): Also list the test script
4926 `parallel-tests-no-color-in-log.test'; it had been introduced in
4927 commit `v1.11-899-geaac33f', but by mistake it wasn't added to
4928 the list of tests in the Makefile back then.
4930 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4932 testsuite: remove duplicated mention of a test in Makefile.am
4933 * tests/Makefile.am (tap_other_tests): Remove `tap-empty.test',
4934 it is already listed in `$(tap_with_common_setup_tests)'.
4936 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4938 testsuite: one more use of TAP in our own tests
4939 * tests/tap-bad-prog.test, tests/tap-bad-prog2.test: Merged
4941 * tests/tap-bad-prog.tap: ... this TAP-generating test.
4942 * tests/Makefile.am (tap_other_tests): Remove plan-bad-prog.test
4943 and plan-bad-prog2.test.
4944 (XFAIL_TESTS): Remove plan-bad-prog2.test.
4945 (plan-bad-prog2.log): Remove.
4947 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4949 testsuite: scaffolding to allow use of TAP in our own tests
4950 Now that Automake has initial support for the TAP test protocol,
4951 we can start "eating our own dog food" and rewrite some tests to
4952 use TAP; this should allow for better granularity, especially in
4953 the control of skips and expected failures. With this change, we
4954 set up the initial scaffolding required by the planned TAP tests,
4955 and convert few older tests to use TAP, mostly in order to verify
4956 that there are no obvious errors. The tests in our testsuite that
4957 use the TAP protocol will be marked by the new `.tap' extension.
4958 * tests/plain-functions.sh: New file containing definition of
4959 helper shell functions used by the "protocol-less" tests of the
4961 * tests/tap-functions.sh: New file containing definition of
4962 helper shell functions used by the TAP-producing tests of the
4964 * tests/defs: Remove definitions of some functions that are
4965 now defined in `plain-functions.sh'. Instead, source one of
4966 `plain-functions.sh' or `tap-functions.sh', depending on whether
4967 `$use_tap' is set to "no" or "yes".
4968 (exit trap): Call `late_plan_' if `$use_tap' is true. Also,
4969 unset shell traces before issuing the latest commands, to avoid
4970 confusing the tap driver with spurious output.
4971 * tests/defs-static.in ($use_tap): New variable, by default set
4972 to "yes" if the calling test script has a `.tap' suffix, and to
4973 "no" otherwise. The individual scripts can override it though.
4974 In code sanity-checking the environment, verify that `$use_tap'
4976 * tests/self-check-env-sanitize.test: Update, and small related
4978 * tests/self-check-tap.test: New very minimal self test.
4979 * tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test,
4980 tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test:
4981 Removed, merged into ...
4982 * tests/ac-output-old.tap: ... this new test, that uses TAP.
4983 * tests/Makefile.am (TAP_LOG_DRIVER): Define to invoke our own
4984 `tap-driver' script.
4985 (TAP_LOG_DRIVER_FLAGS): Define to `--merge', so that the stdout
4986 and stderr of the test scripts remains synced.
4987 (TEST_EXTENSIONS): Define, to add the `.tap' suffix; also list
4988 the `.test' suffix explicitly.
4989 (EXTRA_DIST): Distribute the new files `plain-functions.sh' and
4991 ($(TEST_LOGS)): Depends on them.
4992 (AM_TESTS_ENVIRONMENT): Ensure that `use_tap' is not exported in
4993 the environment of the tests.
4996 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
4998 * NEWS: Fix typo, and related reformatting.
5000 2011-08-03 Stefano Lattarini <stefano.lattarini@gmail.com>
5002 * NEWS: add mention of new experimental TAP support
5004 2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
5006 testsuite: rename some test scripts
5007 * tests/parallel-tests-am_tests_environment.test: Renamed ...
5008 * tests/am-tests-environment.test: ... to this.
5009 * tests/check-tests_environment.test: Renamed ...
5010 * tests/tests-environment.test: ... to this.
5011 * tests/parallel-test-driver-install.test: Renamed ...
5012 * tests/parallel-tests-driver-install.test: ... to this.
5013 * tests/parallel-tests-make-n.test: Renamed ...
5014 * tests/parallel-tests-dry-run.test: ... to this.
5015 * tests/Makefile.am (TESTS): Updated.
5017 2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
5019 coverage: parallel-tests and lazy dependencies on EXTRA_PROGRAMS
5020 * tests/parallel-tests-extra-programs.test: New test.
5021 * tests/Makefile.am (TESTS): Update.
5022 * doc/automake.texi (Parallel Test Harness): Add a comment
5023 pointing to the new test.
5025 2011-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
5027 docs: improve, extend and fix documentation on TAP support
5028 * doc/automake.texi ("Using the TAP test protocol"): Divide this
5030 ("Introduction to TAP", "Use TAP with the Automake test harness",
5031 "Incompatibilities with other TAP parsers and drivers", "Links
5032 and external resources"): ... these subsections, extend them by
5033 adding more information and examples, and improve them by removing
5034 incomplete and/or temporary wordings and TODO items.
5035 ("Script-based Testsuites", "Parallel Test Harness"): Add a couple
5036 of anchors to improve the granularity of cross-references.
5037 * tests/tap-doc2.test: New test, verifying the correctness of the
5038 new examples given in the manual.
5039 * tests/Makefile.am (tap_other_tests): Add the new test.
5041 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5043 testsuite: separate the only failing check of an xfailing test
5044 * tests/plan-bad-prog.test: Move the only failing check of this
5045 test (i.e., the one about the total number of "ERROR" outcomes)
5047 * tests/plan-bad-prog2.test: ... this new test.
5048 * tests/Makefile.am (XFAIL_TESTS): Remove `plan-bad-prog.test',
5049 add `plan-bad-prog2.test'.
5050 (tap_other_tests): Add `plan-bad-prog2.test'.
5051 (plan-bad-prog2.log): Depend on `plan-bad-prog.test'.
5053 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5055 testsuite: fix spurious errors in an xfailing test on TAP support
5056 * tests/plan-bad-prog.test: Fix typo in the name of the test
5057 being made unreadable. Correct the wording of the potential
5058 skip message, and simplify the condition under which the test
5059 is to be skipped. Escape literal dots in grep regexps.
5061 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5063 testsuite: better granularity in a couple of tests on TAP support
5064 * tests/tap-summary-aux.sh: New auxiliary script, filled with code
5066 * tests/tap-summary.test: ... this test, from which the checks on
5067 colored testsuite have further been moved into ...
5068 * tests/tap-summary-color.test: ... this new test, which in turn
5069 * tests/Makefile.am (tap_other_tests): Add `tap-summary-color.test'.
5070 (EXTRA_DIST): Distribute `tap-summary-aux.sh'
5071 (tap-summary.log): Depend on `tap-summary-aux.sh'.
5072 (tap-summary-color.log): Likewise.
5074 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5076 testsuite: optimize tests on TAP for speed and against duplication
5077 The creation and configuration of common files and data used by
5078 many tests on TAP is, with this change, factored out into a new
5079 dedicated auxiliary test, from which those tests will depend upon.
5080 This reduces code duplication in tests and, more importantly,
5081 offers a noticeable speedup in the involved tests (30-40%).
5082 * tests/tap-common-setup.test: New test, setting up the common
5083 files and data used by various tests on TAP support.
5084 * tests/tap-setup.sh: New file, to be sourced by tests wanting to
5085 bring in data generated by `tap-common-setup.test'.
5086 * tests/tap-autonumber.test: Update to use the pre-computed data
5088 * tests/tap-bailout.test: Likewise.
5089 * tests/tap-color.test: Likewise.
5090 * tests/tap-deps.test: Likewise.
5091 * tests/tap-diagnostic.test: Likewise.
5092 * tests/tap-empty-diagnostic.test: Likewise.
5093 * tests/tap-empty.test: Likewise.
5094 * tests/tap-escape-directive.test: Likewise.
5095 * tests/tap-exit.test: Likewise.
5096 * tests/tap-signal.test: Likewise.
5097 * tests/tap-fancy.test: Likewise.
5098 * tests/tap-fancy2.test: Likewise.
5099 * tests/tap-global-log.test: Likewise.
5100 * tests/tap-global-result.test: Likewise.
5101 * tests/tap-html.test: Likewise.
5102 * tests/tap-log.test: Likewise.
5103 * tests/tap-merge-stdout-stderr.test: Likewise.
5104 * tests/tap-no-merge-stdout-stderr.test: Likewise.
5105 * tests/tap-message-0.test: Likewise.
5106 * tests/tap-no-disable-hard-error.test: Likewise.
5107 * tests/tap-no-spurious-summary.test: Likewise.
5108 * tests/tap-no-spurious.test: Likewise.
5109 * tests/tap-not-ok-skip.test: Likewise.
5110 * tests/tap-numeric-description.test: Likewise.
5111 * tests/tap-out-of-order.test: Likewise.
5112 * tests/tap-passthrough.test: Likewise.
5113 * tests/tap-passthrough-exit.test: Likewise.
5114 * tests/tap-plan.test: Likewise.
5115 * tests/tap-plan-corner.test: Likewise.
5116 * tests/tap-plan-corner2.test: Likewise.
5117 * tests/tap-plan-errors.test: Likewise.
5118 * tests/tap-realtime.test: Likewise.
5119 * tests/tap-recheck-logs.test: Likewise.
5120 * tests/tap-skip-whole.test: Likewise.
5121 * tests/tap-todo-skip-together.test: Likewise.
5122 * tests/tap-todo-skip-whitespace.test: Likewise.
5123 * tests/tap-todo-skip.test: Likewise.
5124 * tests/tap-unplanned.test: Likewise.
5125 * tests/tap-with-and-without-number.test: Likewise.
5126 * tests/tap-xfail-tests.test: Likewise.
5127 * tests/tap-skip-whole-whitespace.test: Likewise, and remove
5128 redundant definitions of `$sp' and `$tab' (they are already
5129 defined in `tests/defs').
5130 * tests/tap-whitespace-normalization.test: Likewise.
5131 * tests/Makefile.am (TESTS): Update.
5132 (EXTRA_DIST): Distribute `tap-setup.sh'.
5133 (tap_with_common_setup_tests, tap_with_common_setup_logs)): New
5134 variables, holding respectively the list of tests using the files
5135 pre-computed by `tap-common-setup.test', and the list of their
5136 corresponding log files.
5137 (tap_other_tests): New variable, holding the list of other tests
5139 ($(tap_with_common_setup_logs)): Depend on `tap-common-setup.log'
5142 2011-08-01 Stefano Lattarini <stefano.lattarini@gmail.com>
5144 test harness: use new `.trs' files to hold test metadata
5145 With this change, the test harness will keep test metadata in
5146 dedicated `.trs' files, instead of having them embedded into the
5147 `.log' files. This allows for easier forward-compatibility and
5148 extension of test metadata, and for more flexibility in the
5149 format of the `.log' files. Note that this change makes the
5150 `:end-metadata:' field obsolete.
5151 * doc/automake.texi (Parallel Test Harness, Log files generation
5152 and test results recording): Document the new APIs and behaviour;
5153 some related minor rewordings and fixlets.
5155 * automake.in (handle_tests): When bringing in the content of
5156 `check2.am', substitute %BASE% with the basename of the `.log'
5157 file being created by a rule. Add the generated `.trs' files
5158 to the list of files to be cleaned by "make mostlyclean".
5159 * lib/am/check.am (am__test_driver_flags): Rename ...
5160 (am__common_driver_flags): ... to this, and remove the flags
5161 `--test-name' and `--log-file' from it: they are now define in
5162 the proper rules in `check2.am'.
5163 (am__TEST_BASES): New internal variable, holding the names of
5164 the tests, with any registered extension removed.
5165 (am__stealth_MAKE): New internal variable, can be used instead of
5166 $(MAKE) in recipes requiring a recursive call to make, but which
5167 are not intended to be executed by "make -n".
5168 (.log.trs): New suffix rule, to recover from deletion of `.trs'
5170 ($(TEST_SUITE_LOG)): Almost completely rewritten to follow the
5171 new API of "test logs in `.log' files, test metadata in `.trs'
5172 files". It goes to some length to work correctly in face of
5173 unreadable or missing `.log' and `.trs' files, and to error out
5174 with proper error messages when this is not possible.
5175 [%?PARALLEL_TESTS%] (check-TESTS): Also remove relevant "stale"
5176 `.trs' files (in addition to `.log files) before remaking the
5178 (recheck, recheck-html): Look for the `:recheck:' field in the
5179 `.trs' files, not in the `.log' files.
5180 * lib/am/check2.am (?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Adjust
5181 the call to the test driver, in particularly passing the new
5182 option `--trs-file'.
5183 [%am__EXEEXT%] (?GENERIC?%EXT%$(EXEEXT).log): Likewise.
5184 * lib/tap-driver ($USAGE): Adjust the help screen.
5185 (Getopt::Long::GetOptions): Handle the `--trs-file' option,
5186 through the use of ...
5187 ($trs_file): ... this new global variable.
5188 (finish): Write metadata for the test run to `$trs_file' rather
5189 then to `$log_file', through the use of ...
5190 (write_test_results): ... this new function.
5191 * lib/test-driver (print_usage): Update the help screen.
5192 (Option parsing): Handle the `--trs-file' option, through the
5194 ($resfile): ... this new global variable.
5195 (Main code): Write metadata for the test run to `$trsfile' rather
5197 Minor related adjustments to comments.
5198 * tests/.gitignore: Ignore `*.trs' files.
5199 * tests/parallel-tests-unreadable-log.test: Moved ...
5200 * tests/parallel-tests-unreadable.test: ... to this, and extended
5201 to also check the semantics for unreadable `.trs' files.
5202 * tests/test-driver-end-metadata.test: Deleted as obsolete.
5203 * tests/test-driver-metadata-no-leading-space.test: Likewise.
5204 * tests/test-driver-global-log.test: Renamed ...
5205 * tests/test-metadata-global-log.test: ... to this, and modified
5206 as to verify the new APIs and semantics.
5207 * tests/test-driver-recheck: Renamed ...
5208 * tests/test-metadata-recheck.test: ... to this, and modified
5210 * tests/parallel-tests-once.test: New test.
5211 * tests/parallel-tests-make-n.test: Likewise.
5212 * test-metadata-results.test: Likewise.
5213 * test-missing.test: Likewise.
5214 * test-missing2.test: Likewise.
5215 * test-trs-basic.test: Likewise.
5216 * test-trs-recover.test: Likewise.
5217 * test-trs-recover2.test: Likewise.
5218 * tests/Makefile.am (TESTS): Update.
5220 2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
5222 test harness: allow more metadata in log files
5223 This change reworks and improves the parallel test harness to use
5224 more specialized reStructuredText fields in the log files (instead
5225 of relying on specially-placed of "magic lines" and more indirect
5226 semantical formatting); the new fields are the following:
5227 - ":recheck:": tell whether the associated test will have to be
5228 re-run by "make recheck";
5229 - ":copy-in-global-log:": tell whether the content of the log
5230 file should be copied in the "global log" `test-suite.log';
5231 - ":end-metadata:", which inhibits the scanning of the rest of
5232 the log file (for what concerns test metadata).
5233 Also, the special `:test-result:' value "END" has been removed,
5234 superseded by the new `:end-metadata:' field.
5235 * doc/automake.texi (Log files generation and test results
5236 recording): Document the new API and semantics. Remove or fix
5237 some obsolete comments.
5238 * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
5239 Adjust comments and code.
5240 * lib/tap-driver (finish): Adjust, with the help of ...
5241 (must_recheck, copy_in_global_log): ... these new functions.
5242 * lib/test-driver (Main code): Adjust, with the help of ...
5243 ($recheck, $gcopy): ... these new variables.
5244 * tests/trivial-test-driver: Update to obey the new APIs.
5245 * tests/test-driver-recheck.test: Likewise.
5246 * tests/test-driver-global-log.test: Likewise.
5247 * tests/tap-passthrough.test: Relax the test, avoiding to check
5248 what is written in `test-suite.log'; such check has been moved ...
5249 * tests/tap-global-log.test: ... in this new test, and extended.
5250 * tests/test-driver-metadata-no-leading-space.test: New test.
5251 * tests/test-driver-end-test-results.test: Removed, it checked
5252 the old APIs; superseded by ...
5253 * tests/test-driver-end-metadata.test: ... this new test.
5254 * tests/tap-log.test: Improve syncing with ...
5255 * tests/test-log.test: ... this new test.
5256 * tests/parallel-tests.test: Remove some duplication w.r.t. this
5257 last new test. Updated heading comments.
5258 * tests/Makefile.am (TESTS): Update.
5260 2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
5262 testsuite: fix a spurious failure with non-bash shells
5263 * tests/tap-fancy2.test: Remove an unportable use of backslashes
5264 with the `echo' builtin, which was causing some shells (among them
5265 bash and Debian /bin/ksh) to print a `\\' string, while other
5266 shells (among them zsh, dash, and Solaris /bin/sh and /bin/ksh)
5267 were unexpectedly printing a single `\' character. Since we are
5268 at it, add a sanity check to ensure that this issue does not
5271 2011-07-27 Stefano Lattarini <stefano.lattarini@gmail.com>
5273 testsuite: fix spurious failures with Solaris /bin/sh
5274 * tests/tap-more.test: Use `echo > file', not `: > file', to
5275 create empty files in the "for" loops; this is required since,
5276 as documented in the autoconf manual, Solaris 10 /bin/sh
5277 "optimizes" away the `:' command after the first iteration,
5278 even if it is redirected.
5279 * tests/test-driver-custom-multitest-recheck2.test: Likewise.
5280 * tests/tap-numeric-description.test: Partial rewrite to avoid
5281 using positional parameters from the 10th onward, which are
5282 unportable to Solaris /bin/sh (using `${10}' causes the shell
5283 to die with "bad substitution").
5285 2011-07-31 Stefano Lattarini <stefano.lattarini@gmail.com>
5287 simple tests: support developer-defined fd redirections
5288 Motivated by coreutils bug#8846, and related discussions:
5289 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
5290 <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
5291 In those threads it has been shown how problematic it can be to do
5292 portable file descriptor redirections in the testsuite when using
5293 the Automake testsuite harness. This change should remedy to that
5295 * lib/am/check2.am (?GENERIC?%EXT%$(EXEEXT).log,
5296 ?GENERIC?%EXT%.log, ?!GENERIC?%OBJ%): Append redirection defined
5297 in $(AM_TESTS_FD_REDIRECT) to the command-line invocations of the
5299 * lib/am/check.am [!%?PARALLEL_TESTS%] $(check-TESTS): Likewise.
5301 * doc/automake.texi (Script-based Testsuites): Document the new
5303 * tests/check-fd-redirect.test: New test.
5304 * tests/parallel-tests-fd-redirect.test: Likewise.
5305 * tests/parallel-tests-am_tests_environment.test: Remove checks
5306 about the use of redirections in AM_TESTS_ENVIRONMENT: they would
5307 check deprecated (if not undefined) behaviour now. Strengthen a
5308 couple of still valid checks, to keep the test more in sync with
5309 the documentation. Improve debugging information.
5310 * tests/Makefile.am (TESTS): Update.
5312 2011-07-22 Stefano Lattarini <stefano.lattarini@gmail.com>
5314 docs: rework and extend documentation on testsuites support
5315 * doc/automake.texi (Generalities about Testing): New section.
5316 (Simple Tests using parallel-tests): Section removed, merged
5318 (Simple Tests): ... this one, which on the other hand has been
5320 (Script-based Testsuites, Serial Test Harness, Parallel Test
5321 Harness): ... these new subsection.
5322 (DejaGnu Tests): Minor adjustments.
5323 Other related typofixes and rewordings throughout the manual;
5324 in particular, avoid to use the term "test driver" for three
5325 different concepts (and use instead "test harness" and "test
5326 runner" where appropriate).
5327 * tests/tap-doc.test: New test.
5328 * tests/tap-no-disable-hard-error.test: Likewise.
5329 * tests/Makefile.am (TESTS): Update.
5331 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
5333 tap: support colorization of testsuite progress output
5334 * lib/tap-driver (%COLORS): New variable (definition extracted
5335 from `lib/am/check.am:$(am__tty_colors)', with some obvious
5337 (report): Adjust to colorize console output when required,
5339 (decorate_result): ... this new function.
5340 (colored): New function, used by the one above.
5341 * tests/tap-summary.test: Also run the checks when `color-tests'
5343 * tests/Makefile.am (XFAIL_TESTS): Remove `tap-color.test'.
5345 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
5347 tap: some preparatory refactoring (2)
5348 This is a follow-up simplification.
5349 * lib/tap-driver (console_output): Renamed ...
5350 (report): ... to this, and extended to appropriately register
5351 the test results when needed.
5352 (testsuite_error, handle_tap_comment, handle_tap_test,
5353 handle_tap_plan): Adjusted accordingly.
5355 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
5357 tap: some preparatory refactoring (1)
5358 This refactoring is aimed at simplifying the introduction of
5359 colored console output for the TAP driver.
5360 * lib/tap-driver (console_output): Now accept two arguments, the
5361 first one indicating which kind of thing is to be displayed (for
5362 now only a test result or a diagnostic comment), and the second
5363 one (if present) the message associated to it.
5364 (handle_tap_test, handle_tap_comment, handle_tap_plan,
5365 testsuite_error): Adapt to the new `console_output' interface.
5367 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
5369 tap: add experimental TAP-aware driver
5370 * doc/automake.texi (Using the TAP test protocol): New section.
5371 (Overview of Custom Test Drivers Support): Minor updates.
5372 * lib/tap-driver: New script, TAP-aware test driver for Automake;
5373 implemented in perl and based on TAP::Parser.
5374 * lib/Makefile.am (dist_script_DATA): Add it.
5375 * tests/tap-autonumber.test: New test.
5376 * tests/tap-bailout.test: Likewise.
5377 * tests/tap-basic.test: Likewise.
5378 * tests/tap-deps.test: Likewise.
5379 * tests/tap-diagnostic.test: Likewise.
5380 * tests/tap-empty.test: Likewise.
5381 * tests/tap-empty-diagnostic.test: Likewise.
5382 * tests/tap-escape-directive.test: Likewise.
5383 * tests/tap-exit.test: Likewise.
5384 * tests/tap-fancy.test: Likewise.
5385 * tests/tap-fancy2.test: Likewise.
5386 * tests/tap-global-result.test: Likewise.
5387 * tests/tap-html.test: Likewise.
5388 * tests/tap-log.test: Likewise.
5389 * tests/tap-merge-stdout-stderr.test: Likewise.
5390 * tests/tap-more.test: Likewise.
5391 * tests/tap-more2.test: Likewise.
5392 * tests/tap-no-merge-stdout-stderr.test: Likewise.
5393 * tests/tap-no-spurious-summary.test: Likewise.
5394 * tests/tap-no-spurious.test: Likewise.
5395 * tests/tap-not-ok-skip.test: Likewise.
5396 * tests/tap-numeric-description.test: Likewise.
5397 * tests/tap-out-of-order.test: Likewise.
5398 * tests/tap-passthrough.test: Likewise.
5399 * tests/tap-plan.test: Likewise.
5400 * tests/tap-plan-errors.test: Likewise.
5401 * tests/tap-plan-corner.test: Likewise.
5402 * tests/tap-realtime.test: Likewise.
5403 * tests/tap-recheck-logs.test: Likewise.
5404 * tests/tap-recheck.test: Likewise.
5405 * tests/tap-skip-whole.test: Likewise.
5406 * tests/tap-summary.test: Likewise.
5407 * tests/tap-todo-skip.test: Likewise.
5408 * tests/tap-todo-skip-together.test: Likewise.
5409 * tests/tap-todo-skip-whitespace.test: Likewise.
5410 * tests/tap-skipall-whitespace.test: Likewise.
5411 * tests/tap-unplanned.test: Likewise.
5412 * tests/tap-whitespace-normalization.test: Likewise.
5413 * tests/tap-with-and-without-number.test: Likewise.
5414 * tests/tap-xfail-tests.test: Likewise.
5415 * tests/tap-bad-prog.test: New xfailing test.
5416 * tests/tap-color.test: Likewise.
5417 * tests/tap-plan-corner2.test: Likewise.
5418 * tests/tap-message-0.test: Likewise.
5419 * tests/tap-signal.test: Likewise.
5420 * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
5422 2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
5424 test defs: new auxiliary function 'count_test_results'
5425 * tests/defs (count_test_results): New function.
5426 * tests/check11.test: Use it.
5427 * tests/test-driver-custom-multitest.test: Likewise.
5428 * tests/test-driver-custom-multitest-recheck.test: Likewise.
5429 * tests/test-driver-custom-multitest-recheck2.test: Likewise.
5430 * tests/parallel-tests-log-override-recheck.test: Likewise.
5431 * tests/parallel-tests-log-override-recheck.test: Likewise.
5432 * tests/parallel-tests-no-spurious-summary.test: Likewise, and
5433 slightly improve debugging output.
5434 * tests/parallel-tests.test: Make use of `count_test_results'.
5435 Also, make grepping of "make check" output slightly stricter
5436 * tests/parallel-tests9.test: Likewise.
5437 * tests/parallel-tests-log-override-2.test: Likewise, and throw
5438 in a small optimization.
5440 2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
5442 parallel-tests: simplify testsuite summary
5443 Prefer a more deterministic, "tabular" format for the testsuite
5444 summary, always listing the numbers of passed, failed, xfailed,
5445 xpassed, skipped and errored tests, even when these numbers are
5446 zero. This simplify the logic of testsuite summary creation,
5447 makes it more easily machine-parseable, and will probably allow
5448 for easier addition of new kinds of test results in the future.
5449 * lib/am/check.am (am__tty_colors_dummy): New make variable, to
5450 reduce code duplication. Extracted from previous versions of
5451 $(am__tty_colors), and extended by defining two new variables
5453 [%?COLOR%, %!?COLOR%] (am__tty_colors): Use that new variable.
5454 (am__text_box): Delete, is not needed anymore.
5455 ($(TEST_SUITE_LOG)): Rewrite associated rules to implement the
5456 new testsuite summary format.
5458 * tests/check10.test: Don't run with the parallel-tests harness
5459 too, that makes no sense anymore.
5460 * tests/color.test: Update and adjust.
5461 * tests/color2.test: Likewise.
5462 * tests/parallel-tests.test: Likewise.
5463 * tests/parallel-tests3.test: Likewise.
5464 * tests/parallel-tests6.test: Likewise.
5465 * tests/parallel-tests9.test: Likewise.
5466 * tests/parallel-tests-unreadable-log.test: Likewise.
5467 * tests/parallel-tests-empty-testlogs.test: Likewise.
5468 * tests/parallel-tests-log-override-recheck.test: Likewise.
5469 * tests/parallel-tests-no-spurious-summary.test: Likewise.
5470 * tests/test-driver-custom-multitest.test: Likewise.
5471 * tests/test-driver-end-test-results.test: Likewise.
5472 * tests/parallel-tests-no-color-in-log.test: New test.
5473 * tests/testsuite-summary-color.test: Likewise.
5474 * tests/testsuite-summary-count.test: Likewise.
5475 * tests/testsuite-summary-count-many.test: Likewise.
5476 * tests/testsuite-summary-reference-log.test: Likewise.
5477 * tests/testsuite-summary-checks.sh: New auxiliary script, used
5478 by the new tests above.
5479 * tests/extract-testsuite-summary: Likewise.
5480 * tests/trivial-test-driver: Optimize for speed when there are
5482 * tests/Makefile.am (EXTRA_DIST): Distribute them.
5483 (testsuite-summary-color.log, testsuite-summary-count.log): Depend
5485 (testsuite-summary-count-many.log): Depend on the auxiliary scripts
5486 'trivial-test-driver' and 'extract-testsuite-summary'.
5489 2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
5491 parallel-tests: new recognized test result 'ERROR'
5492 * lib/am/check.am ($(TEST_SUITE_LOG)): Recognize a new test result
5493 `ERROR'. Use it when encountering unreadable test logs (previously
5494 a simple `FAIL' was used in this situations).
5495 * lib/test-driver: Set the global test result to `ERROR' when the
5496 test exit status is 99. When doing colorized output, color `ERROR'
5498 * doc/automake.texi (Log files generation and test results
5499 recording): Update by listing `ERROR' too among the list of valid
5500 `:test-results:' arguments.
5502 * tests/trivial-test-driver: Update.
5503 * tests/parallel-tests.test: Likewise.
5504 * tests/parallel-tests-harderror.test: Likewise.
5505 * tests/parallel-tests-no-spurious-summary.test: Likewise.
5506 * tests/test-driver-global-log.test: Likewise.
5507 * tests/test-driver-recheck.test: Likewise.
5508 * tests/test-driver-custom-multitest-recheck.test: Likewise.
5509 * tests/test-driver-custom-multitest-recheck2.test: Likewise.
5510 * tests/test-driver-custom-multitest.test: Likewise.
5511 * tests/test-driver-custom-no-html.test: Likewise.
5512 * tests/test-driver-end-test-results.test: Likewise.
5513 * tests/color.test: Likewise. Also, make stricter, and also test
5515 * tests/color2.test: Likewise, and improve syncing with color.test.
5516 * tests/parallel-tests-exit-statuses.test: New test.
5517 * tests/parallel-tests-console-output.test: Likewise.
5518 * tests/Makefile.am (TESTS): Update.
5520 2011-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
5522 parallel-tests: make parsing of test results safer
5523 The new code for parsing the testsuite-generated `.log' files,
5524 as introduced in commit `v1.11-872-gc96b881', considers each
5525 `:test-result:' field anywhere in a `.log' file as a declaration
5526 of a test result, and accounts for it as such in the testsuite
5527 summary. Unfortunately this could easily cause spurious test
5528 failures being reported in the testsuite summary. This happened
5529 in practice with the Automake's own testsuite; for example:
5530 $ make check TESTS='check12-p.test'; echo exit: $?
5532 PASS: check12-p.test
5533 =====================================
5535 See tests/test-suite.log
5536 Please report to bug-automake@gnu.org
5537 =====================================
5538 make[2]: *** [test-suite.log] Error 1
5539 make: *** [check-am] Error 2
5541 This change introduces a new special `:test-result:' "END", that,
5542 when seen, prevents the rest of the log file from being parsed.
5543 For more information, refer to the thread:
5544 <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00199.html>
5545 * lib/am/check.am ($(TEST_SUITE_LOG)): Stop the parsing of a log
5546 file as soon as the special ":test-result:END" directive is seen.
5547 Related changes and enhancements.
5548 * lib/test-driver: Protect the rest of the log after the result
5549 lined with a ":test-result:END" directive.
5550 * doc/automake.texi (Log files generation and test results
5551 recording): Update, and related improvements.
5552 * tests/parallel-tests-no-spurious-summary.test: New test.
5553 * tests/test-driver-end-test-results.test: Likewise.
5554 * tests/Makefile.am (TESTS): Update.
5556 2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
5558 docs: document custom test drivers and protocols
5559 * doc/automake.texi (Simple Tests): Note that the TESTS_ENVIRONMENT
5560 use suggested here is not portable to 'parallel-tests'.
5561 (Simple Tests using parallel-tests): Document new restrictions on
5562 the uses of TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT.
5563 (Custom Test Drivers): New section and node.
5564 (Overview of Custom Test Drivers Support): New subsection.
5565 (Declaring Custom Test Drivers in @file{Makefile.am}): Likewise.
5566 (APIs for Custom Test Drivers): Likewise.
5567 (Options): Update description of color-tests.
5568 * lib/am/check ($(TEST_SUITE_LOG)): Remove comments that have been
5569 moved into the manual.
5570 (recheck, recheck-html): Minor adjustments to better conform to the
5571 documentation (this should cause no semantic changes w.r.t. the
5572 former behaviour); minor improvements and extensions to existing
5574 * tests/test-driver-create-log-dir.test: New test.
5575 * tests/test-driver-strip-vpath.test: Likewise.
5576 * tests/test-driver-global-log.test: Likewise.
5577 * tests/test-driver-recheck.test: Likewise.
5578 * tests/Makefile.am (TESTS): Update.
5580 2011-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
5582 tests: small enhancement to 'primary3.test'
5583 * tests/primary3.test: Also test that the program named `foo.la'
5584 has been effectively created.
5586 2011-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
5588 tests: a small simplification in 'pr8365-remake-timing.test'
5589 * tests/pr8365-remake-timing.test: Avoid redundant definition
5590 and use of `$save_AUTOCONF' variable.
5592 2011-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
5594 tests: remove an extra leading blank line
5595 * tests/override-conditional-1.test: Remove extra blank line
5596 placed before the shebang line.
5598 2011-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
5600 tests: fix typos, grammaros and other blunders in comments
5601 All affected files changed.
5603 2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
5605 test defs: new subroutine 'seq_', simulating GNU seq(1)
5606 * tests/defs (seq_): New subroutine.
5607 * tests/instmany.test: Use it.
5608 * tests/instmany-mans.test: Likewise.
5609 * tests/instmany-python.test: Likewise.
5610 * tests/self-check-seq.test: New self test.
5611 * tests/Makefile.am (TESTS): Update.
5613 2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
5615 tests: remove duplication about testing of config.* aux files
5616 * tests/add-missing.test: Also check that the `AC_CANONICAL_SYSTEM'
5617 autoconf macro causes the `config.sub' and `config.guess' scripts
5618 to be installed by `automake --add-missing'. Since we are at it,
5619 fix minor buglets and cosmetic issues in the `check_' function.
5620 * tests/hosts.test: Removed, completely subsumed by the previous
5622 * tests/Makefile.am (TESTS): Update.
5624 2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
5626 tests: more uses of the 'unindent' subroutine
5627 * tests/backcompat.test: Prefer `unindent' over plain `cat' for
5628 here documents created from within a loop of if/else body.
5629 * tests/backcompat2.test: Likewise.
5630 * tests/backcompat4.test: Likewise.
5631 * tests/init.test: Likewise.
5632 * tests/instmany.test: Likewise.
5633 * tests/instmany-mans.test: Likewise.
5634 * tests/instmany-python.test: Likewise.
5635 * tests/missing5.test: Likewise.
5636 * tests/parallel-am2.test : Likewise.
5637 * tests/parallel-am3.test : Likewise.
5638 * tests/pr307.test: Likewise.
5639 * tests/depend4.test: Likewise. Since we are at it, normalize
5640 other code formatting.
5641 * tests/instfail-java.test: Prefer `echo' over `cat' + here-doc
5644 2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
5646 tests: avoid '##'-style comments inside recipe commands
5647 * tests/autodist.test: Do not whitespace-indent `##' comments when
5648 they are embedded in a makefile rule: having them indented is not
5649 part of the Automake API, and might cause failures with e.g., Tru64
5651 * tests/autodist-subdir.test: Likewise.
5652 * tests/backcompat.test: Likewise.
5653 * tests/backcompat6.test: Likewise.
5654 * tests/colon7.test: Likewise.
5655 * tests/posixsubst-scripts.test: Likewise.
5656 * tests/posixsubst-sources.test: Likewise.
5658 2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
5660 tests: tweak, improve and extend tests on lisp support
5661 * tests/lisp2.test: Prettify, and improve debugging output. Make
5662 grepping of automake stderr stricter.
5663 * tests/lisp7.test: Ensure verbose printing of captured make
5664 output. Add trailing `:' command.
5665 * tests/lisp8.test: Likewise.
5666 * tests/lisp3.test: Likewise. Also, check that `.el' files and
5667 compiled `.elc' files get installed by "make install", and
5668 uninstalled by "make uninstall".
5669 * tests/lisp4.test: Ensure installed `.el' files gets removed by
5670 "make uninstall". Related changes. Add trailing `:' command.
5671 * tests/lisp5.test: Likewise.
5672 * tests/lisp6.test: Use proper m4 quoting in configure.in. Fix
5673 use of blank lines, to improve clarity and symmetry. Fix typo in
5674 comment. Add trailing `:' command.
5676 2011-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
5678 tests: drop useless requirement in 'license.test'
5679 * tests/license.test: Drop useless requirement "makeinfo". Add
5680 an extra blank line, for clarity.
5682 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
5684 tests defs: more uses of $top_testsrcdir
5685 * tests/autodist-stamp-vti.test: Use `$top_testsrcdir' instead
5686 of `$testsrcdir/..'.
5687 * tests/repeated-options.test: Likewise.
5688 * tests/suffix5.test: Likewise.
5689 * tests/vtexi3.test: Likewise.
5691 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
5693 self tests: fix typo in comment
5694 * tests/self-check-exit.test: Fix typo in heading comments.
5696 2011-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
5698 tests: remove redundant settings of `errexit' shell flag
5699 * tests/amhello-binpkg.test: Do not set the `errexit' shell
5700 flag, as it is already set by `tests/defs'.
5701 * tests/amhello-cflags.test: Likewise.
5702 * tests/amhello-cross-compile.test: Likewise.
5703 * tests/ansi2knr-deprecation.test: Likewise.
5704 * tests/autodist-no-duplicate.test: Likewise.
5705 * tests/distcheck-configure-flags-am.test: Likewise.
5706 * tests/distcheck-configure-flags-subpkg.test: Likewise.
5707 * tests/distcheck-configure-flags.test: Likewise.
5708 * tests/distcheck-hook.test: Likewise.
5709 * tests/distcheck-hook2.test: Likewise.
5710 * tests/parallel-tests-am_tests_environment.test: Likewise.
5711 * tests/parallel-tests-harderror.test: Likewise.
5712 * tests/parallel-tests-log-compiler-example.test: Likewise.
5713 * tests/parallel-tests-log-override-1.test: Likewise.
5714 * tests/parallel-tests-log-override-2.test: Likewise.
5715 * tests/parallel-tests-log-override-recheck.test: Likewise.
5716 * tests/primary-prefix-couples-documented-valid.test: Likewise.
5717 * tests/primary-prefix-couples-force-valid.test: Likewise.
5718 * tests/primary-prefix-invalid-couples.test: Likewise.
5719 * tests/primary-prefix-valid-couples.test: Likewise.
5720 * tests/remake-subdir-from-subdir.test: Likewise.
5721 * tests/remake-subdir-gnu.test: Likewise.
5722 * tests/remake-subdir-long-time.test: Likewise.
5723 * tests/remake-subdir.test: Likewise.
5724 * tests/remake-subdir2.test: Likewise.
5725 * tests/silent-configsite.test: Likewise.
5726 * tests/tests-environment-backcompat.test: Likewise.
5728 2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
5730 docs: explain why AM_TESTS_ENVIRONMENT must be semicolon-terminated
5731 * doc/automake.texi (Simple Tests using parallel-tests): Ditto, and
5732 related adjustments.
5733 Suggestion by Ralf Wildenhues.
5735 2011-06-29 Stefano Lattarini <stefano.lattarini@gmail.com>
5737 docs: fix unportable example of AM_TESTS_ENVIRONMENT usage
5738 * doc/automake.texi (Simple Tests using parallel-tests): The
5739 old example on AM_TESTS_ENVIRONMENT relied on unportable shell
5740 features, and in particular didn't work with various Korn
5741 Shells (see also commit `v1.11-925-g29ca903'). Give another
5742 example, simpler this time, but still inspired to real-world
5743 usage (the GNU coreutils testsuite).
5745 2011-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
5747 yacc tests: fix bug in 'yacc-cxx.test'
5748 * tests/yacc-cxx.test: Enable `errexit' shell flag (the lack of
5749 which was masking the bug).
5750 (bar.cxx): Rename to ...
5751 (bar2.cxx): ... this, otherwise automake will (correctly) complain
5752 that object `bar.o' is created by both `bar.cxx' and `bar.c++'.
5753 (Makefile.am): Adjust.
5755 2011-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
5757 lex tests: fix spurious link errors on Solaris
5758 On Solaris 10, linking of lex-generated programs was failing in a
5759 couple of lex tests with errors like this:
5760 g++ -g -O2 -o joe joe.o -ll
5761 Undefined symbol first referenced in file
5763 ld: fatal: Symbol referencing errors. No output written to joe
5764 collect2: ld returned 1 exit status
5765 This change fixes it, also fixing at once potential problems for
5766 systems that don't have a "lex library" (this happens for example
5767 when cross-compiling from GNU/Linux to MinGW).
5768 * tests/lex-depend-cxx.test (joe.ll, moe.l++): Define a dummy
5769 `yywrap()' function.
5770 * tests/lex-clean-cxx.test (mainfoo.cc, mainbar.cpp, mainbaz.c++,
5771 mainqux.cxx): Likewise.
5773 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
5775 docs: avoid a footnote, some related rewordings and improvements
5776 * doc/automake.texi (Dist): Reword the part about automatically
5777 distributed files to avoid a footnote. Since we are at it, extend
5778 a bit, and add an example and a reference to a relevant test case.
5780 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
5782 docs: minor cosmetic fixes
5783 * doc/automake.texi: Break few overly long lines, throughout the
5785 ("Simple Tests"): Move @vindex for XFAIL_TESTS to the correct
5786 position, i.e., before and not after the paragraph where it is
5788 ("Options" @item ansi2knr): Use @pxref instead of @xref. This
5789 fixes a texinfo warning.
5790 ("Other things Automake recognizes" @item AM_C_PROTOTYPES): Use
5791 @pxref instead of @ref.
5793 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
5795 help: improve text about automatically-distributed files
5796 This change fixes automake bug#7819.
5797 * automake.in (usage): Distinguish between files that are always
5798 automatically distributed when found, and those which are only
5799 "under certain conditions".
5800 * doc/automake.texi (Basics of Distribution): Update accordingly.
5801 * tests/autodist-subdir.test: Update.
5802 * tests/autodist-no-duplicate.test: Likewise.
5803 * tests/autodist.test: Likewise.
5804 (configure.in): Remove useless call to AM_MAINTAINER_MODE.
5806 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
5808 refactor: split 'usage' subroutine in automake
5809 This change is related to automake bug#7819.
5810 * automake.in (print_autodist_files): New subroutine,
5812 (usage): ... this, which now uses it.
5813 * tests/autodist-no-duplicate.test: New test.
5814 * tests/Makefile.am (TESTS): Update.
5816 2011-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
5818 tests: fix bug in 'autodist.test'
5819 * tests/autodist.test: Avoid spurious failure due to no
5820 `defs-static' file being found in the parent directory.
5822 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
5824 parallel-tests: allow each test to have multiple results
5825 With this change, we improve the code creating the `test-suite.log'
5826 global log and the console testsuite summary to make it able to
5827 grasp multiple results per test script. This is required in order
5828 to introduce the planned support for test protocols, like TAP and
5829 SubUnit, which can indeed run multiple tests per test script, each
5830 with its individual result.
5831 The implementation makes use of a custom reStructuredText field
5833 Note that no new documentation is added by this change; that is
5834 be left for follow-up changes.
5835 * lib/check.am ($(TEST_SUITE_LOG)): When processing .log files,
5836 recognize a report of a test's result only if it is declared with
5837 the custom `:test-result:' reStructuredText field placed at the
5838 beginning of a line. Extend and add explanatory comments.
5839 (recheck, recheck-html): Add explanatory comments.
5840 * lib/test-driver: Write an appropriate reStructuredText field
5841 `:test-result:' in the generated log file. Use a reStructuredText
5842 transition to better separate the test outcome report from the
5843 test script's registered output. Improve comments.
5844 * tests/test-driver-custom-xfail-tests.test: Adjust.
5845 * tests/parallel-tests7.test: Adjust.
5846 * tests/parallel-tests-empty-testlogs.test: New test.
5847 * tests/parallel-tests-recheck-override.test: Likewise.
5848 * tests/parallel-tests2.test: Extend and keep more in-sync with ...
5849 * tests/test-driver-custom-html.test: ... this new related test.
5850 * tests/test-driver-custom-no-html.test: New test.
5851 * tests/test-driver-custom-multitest.test: Likewise.
5852 * tests/test-driver-custom-multitest-recheck.test: Likewise.
5853 * tests/test-driver-custom-multitest-recheck2.test: Likewise.
5854 * tests/trivial-test-driver: New file, used by the last four tests
5856 * tests/Makefile.am (TESTS): Update.
5857 (EXTRA_DIST): Distribute `trivial-test-driver'.
5858 (test-driver-custom-multitest.log): Depend on `trivial-test-driver'.
5859 (test-driver-custom-multitest-recheck.log): Likewise.
5860 (test-driver-custom-multitest-recheck2.log): Likewise.
5861 (test-driver-custom-html.log): Likewise.
5863 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
5865 parallel-tests: allow custom driver scripts
5866 Allow suffix-based definition of custom "driver script" for the
5867 test scripts. These driver scripts will be responsible of
5868 launching the tests (or their corresponding $(LOG_COMPILER), if
5869 they have an associated one), interpreting and displaying the
5870 test results, and writing the `.log' files.
5871 This new API should allow easy and flexible use of different
5872 test protocols in the future; in particular, we plan to use it
5873 to implement TAP and SubUnit harnesses.
5874 Note that no new documentation is added by this change; that is
5875 be left for follow-up changes.
5876 * automake.in (handle_tests): Define default for $(LOG_DRIVER),
5877 and, for any registered test extension `<ext>', define defaults
5878 for $(<ext>_LOG_DRIVER). Substitute %DRIVER% using these new
5879 variables, instead of the old internal $(am__test_driver). When
5880 processing check2.am, also substitute %DRIVER_FLAGS%.
5881 Require auxiliary script `test-driver' only if no driver has been
5882 explicitly defined for the test script kinds.
5883 * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
5884 ?!GENERIC?%OBJ%): Pass the %DRIVER_FLAGS% to the %DRIVER% call.
5885 * tests/parallel-tests-no-extra-driver.test: New test.
5886 * tests/test-driver-custom.test: Likewise.
5887 * tests/test-driver-custom-xfail-tests.test: Likewise.
5888 * tests/test-driver-fail.test: Likewise.
5889 * tests/Makefile.am: Update.
5892 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
5894 parallel-tests: add auxiliary script 'test-driver', refactor
5895 This refactoring should cause no API of functionality change,
5896 and is meant only to simplify the future implementation of TAP
5897 and SubUnit testsuite drivers. More precisely, our roadmap is
5898 to move most of the "testsuite driving" features out of the
5899 Automake-generated Makefiles, and into external scripts with
5900 well-defined interfaces. This will allow the user to define
5901 its own personalized testsuite drivers, and will also offer us
5902 a framework upon which to implement our new TAP and SubUnit
5903 drivers, all in a very unobtrusive way and retaining an high
5904 degree of code reuse and backward-compatibility.
5905 * lib/test-driver: New auxiliary script.
5906 * lib/Makefile.am (dist_SCRIPT_DATA): Add it.
5907 * automake.in (handle_tests): Require the new auxiliary script
5908 `test-driver', and define a new internal makefile variable
5909 `$(am__test_driver)', used to call it. Perform new substitution
5910 on `DRIVER' when processing the `check2.am' file.
5911 * lib/check.am (am__tty_colors): Define new shell variable
5913 (am__rst_section): Removed, its role taken over by the new
5914 `test-driver' script.
5915 (am__test_driver_flags): New variable, contains the command
5916 line options passed to `test-driver'.
5917 (am__check_pre): Do not deal with temporary files and exit
5918 traps anymore, as the `test-driver' script takes care of that
5919 now. Define shell variable `$am__enable_hard_errors', used by
5920 `$(am__test_driver_flags)'. Reorder so that we don't need to
5921 save and restore the value of the `TERM' environment variable
5923 Other related adjustments.
5924 (am__check_post): Remove, as its role has been completely taken
5925 over by the `test-driver' script.
5926 * am/check2.am (?GENERIC?%EXT%$(EXEEXT).log, ?GENERIC?%EXT%.log,
5927 ?!GENERIC?%OBJ%): Call the test script through the Automake
5928 substituted `%DRIVER%', and honor the command-line options
5929 in `$(am__test_driver_flags)'. Do not call the obsoleted
5930 `$(am__check_post)' anymore.
5931 * doc/automake.texi (Auxiliary Programs): Mention the new
5932 `test-driver' script.
5933 (Optional): Mention `test-driver' in AC_CONFIG_AUX_DIR.
5934 Since we are at it, break the list of auxiliary scripts by
5935 placing one per line, to simplify potential future additions
5937 * tests/check.test: Adjust.
5938 * tests/check2.test : Likewise.
5939 * tests/check3.test : Likewise.
5940 * tests/check4.test : Likewise.
5941 * tests/check10.test: Likewise.
5942 * tests/color.test: Likewise.
5943 * tests/color2.test: Likewise.
5944 * tests/comment9.test: Likewise.
5945 * tests/dejagnu.test: Likewise.
5946 * tests/exeext4.test: Likewise.
5947 * tests/maken3.test: Likewise.
5948 * tests/maken4.test: Likewise.
5949 * tests/parallel-tests-interrupt.test: Likewise.
5950 * tests/posixsubst-tests.test: Likewise.
5951 * tests/repeated-options.test: Likewise.
5952 * tests/check-no-test-driver.test: New test.
5953 * tests/parallel-test-driver-install.test: Likewise.
5954 * tests/Makefile.am (TESTS): Update.
5957 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
5959 maintcheck: extend 'sc_tests_plain_*' checks
5960 * Makefile.am (sc_tests_plain_autom4te): New check.
5961 (sc_tests_plain_autoreconf): Likewise.
5962 (sc_tests_plain_autoheader): Likewise.
5963 (syntax_check_rules): Update.
5965 2011-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
5967 tests: interactions between TESTS_ENVIRONMENT and LOG_COMPILER
5968 * tests/tests-environment-and-log-compiler.test: New test,
5969 checking that we can use variables and functions set by
5970 TESTS_ENVIRONMENT and AM_TESTS_ENVIRONMENT in LOG_COMPILER
5971 and LOG_FLAGS (for tests both with and without registered
5973 * tests/Makefile.am (TESTS): Update.
5975 2011-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
5977 tests: make 'subst-no-trailing-empty-line.test' more robust
5978 * tests/subst-no-trailing-empty-line.test: Strengthen existing
5979 checks, to try more scenarios and be slightly stricter in some
5982 2011-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
5984 tests: fix an incomplete comment
5985 * tests/subst-no-trailing-empty-line.test: Fix an incomplete
5986 comment, and move it to a more proper place. Minor cosmetic
5987 fixes to other comments.
5989 2011-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
5991 maintcheck: avoid few more spurious failures
5992 * tests/depmod-data.test: Use creative quoting to avoid
5993 spuriously triggering the `sc_tests_Exit_not_exit' maintainer
5994 check. Commit `v1.11-900-g3453b8e' attempted to fix it, but
5995 succeeded only partially.
5996 * tests/cond33.test: Fix header comments, not to reference
5997 obsolescent make variable `$(mkdir_p)'.
5998 * tests/cond4.test: Rewrite "$MAKE exp=..." as "exp=.. $MAKE -e",
5999 to please `sc_tests_overriding_macros_on_cmdline'
6000 * tests/cond19.test: Likewise.
6001 * tests/cond32.test: Likewise.
6002 * tests/add-missing.test: Use "AUTOMAKE_fails" instead of
6003 "$AUTOMAKE ... && Exit 1", to please `sc_tests_automake_fails'.
6005 2011-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
6007 maintcheck: avoid few spurious failures
6008 * Makefile.am (sc_tests_plain_aclocal, sc_tests_plain_perl,
6009 sc_tests_plain_autoconf, sc_tests_plain_automake,
6010 sc_tests_plain_autoupate): Be stricter in matching an erroneous
6011 literal command, i.e., `aclocal', `automake', `perl', etc.
6013 2011-06-20 Bert Wesarg <bert.wesarg@googlemail.com> (tiny change)
6015 check: don't use multi-line coloring for the report
6016 "less -R" can't handle multi-line coloring as it is done for the
6017 check reports of the serial and parallel testsuite, because of
6018 performance reasons. Thus, color each line of the check report
6020 * lib/am/check.am (am__text_box): Accept colors for lines, and
6021 color each line by its own.
6022 [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Let am__text_box handle
6024 [!%?PARALLEL_TESTS%] $(check-TESTS): Color each report line by
6028 2011-06-18 Stefano Lattarini <stefano.lattarini@gmail.com>
6030 docs: AM_DISTCHECK_CONFIGURE_FLAGS is for corner cases
6031 * doc/automake.texi (Checking the Distribution): Explain that the
6032 developers should take care of making their code buildable without
6033 requiring any special configure options, so that in general
6034 AM_DISTCHECK_CONFIGURE_FLAGS shouldn't be used. Give an example
6035 of where its use is legitimate.
6036 Suggestions from Ralf Wildenhues and Eric Blake.
6038 2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
6040 ansi2knr: deprecate, it will go away in the next major release
6041 * doc/automake.texi: Loudly and repeatedly state that the old
6042 de-ANSI-fication features are now deprecated and will be removed
6043 in the next major Automake release. Other related adjustments.
6044 * lib/Automake/Options.pm (_process_option_list ): Give a warning
6045 in the `obsolete' category when the `ansi2knr' option is used.
6046 * m4/protos.m4 (AM_C_PROTOTYPES): Deprecate this macro: a warning
6047 in the `obsolete' category will be emitted it if is used.
6048 * tests/ansi2knr-deprecation.test: New test.
6049 * tests/Makefile.am (TESTS): Update.
6050 * tests/ansi.test: Adjust, by calling autoconf and/or automake
6051 with the `-Wno-obsolete' flag.
6052 * tests/ansi10.test: Likewise.
6053 * tests/ansi2.test: Likewise.
6054 * tests/ansi3.test: Likewise.
6055 * tests/ansi3b.test: Likewise.
6056 * tests/ansi4.test: Likewise.
6057 * tests/ansi5.test: Likewise.
6058 * tests/ansi6.test: Likewise.
6059 * tests/ansi7.test: Likewise.
6060 * tests/ansi8.test: Likewise.
6061 * tests/ansi9.test: Likewise.
6062 * tests/cxxansi.test: Likewise.
6063 * tests/libobj8.test: Likewise.
6064 * NEWS: Update about the future planned backward-incompatibility
6065 due to the removal of de-ANSI-fication feature.
6067 2011-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
6069 docs: primary/prefix combination "pkglib_PROGRAMS" is now invalid
6070 * doc/automake.texi (Program Sources): pkglib_PROGRAMS is not a
6071 valid combination anymore, so don't document it. Inconsistency
6072 introduced in commit `v1.11-373-g9ca6326'.
6074 2011-06-19 Jim Meyering <meyering@redhat.com>
6076 docs: replace obsolete @vindex entry with a useful one
6077 * doc/automake.texi (Program Sources): Do not index obsolete
6078 pkglib_PROGRAMS here. Do index pkglibexec_PROGRAMS.
6080 2011-06-18 Stefano Lattarini <stefano.lattarini@gmail.com>
6082 tests: more checks on portable fd redirection in TESTS_ENVIRONMENT
6083 * tests/tests-environment-fd-redirect.test: Extend by also using
6084 a perl script among the tests. Run the test shell script with
6085 the `errexit' flag active. Export `VERBOSE' to yes when running
6086 "make check", to give more debugging information in case of
6087 failures. Look for a Korn Shell also in `/usr/bin', not on only
6090 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
6092 tests: optimize tests on primary/prefix mismatch for speed
6093 * tests/primary-prefix-invalid-couples.test: Partial rewrite, in
6094 order to use just a single automake invocation rather than one
6095 invocation for each invalid primary/prefix couple. This improves
6096 the test script execution time by an order of magnitude.
6097 Since we are at it, throw in some other improvements to avoid
6098 unrelated automake warnings and failures that could potentially
6099 cause false positives w.r.t. the automake exit status.
6101 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
6103 news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS
6104 * NEWS (Miscellaneous changes): Update.
6106 2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
6108 maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline
6109 * Makefile.am (sc_tests_overriding_macros_on_cmdline): It's now
6110 acceptable that the test scripts override DISTCHECK_CONFIGURE_FLAGS
6111 on the make command line. Update comments accordingly. Since we
6112 are at it, make the relevant grepping rules slightly tighter.
6114 2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
6116 distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS
6117 * doc/automake.texi (Checking the Distribution): Suggest to use
6118 AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to
6119 define (in the top-level Makefile.am) extra flags to be passed
6120 to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS
6121 should be reserved for the user. Add proper `@vindex' directive.
6122 Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a
6123 subpackage Makefile.am, but the flags in it are passed down to
6124 the configure script of the subpackage.
6125 * lib/am/distdir.am (distcheck): Also pass the flags in
6126 $(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation.
6128 * tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS,
6129 DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in
6130 the environment, they might improperly influence our testsuite.
6131 * tests/distcheck-configure-flags.test: New test.
6132 * tests/distcheck-configure-flags-am.test: Likewise.
6133 * tests/distcheck-configure-flags-subpkg.test: Likewise.
6134 * distcheck-hook.test: Likewise.
6135 * distcheck-hook2.test: Likewise.
6136 * tests/Makefile.am (TESTS): Update.
6137 Closes automake bug#8784.
6139 2010-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
6141 docs: better documentation for silent make rules
6142 * doc/automake.texi (Options): Detailed description of the
6143 automake option `silent-rules' moved from here ...
6144 (Silent Make): ... into this new chapter, expanded, improved,
6145 and subdivided into ...
6146 (Make verbosity, Tricks For Silencing Make,
6147 Automake silent-rules Option): ... these new sections.
6148 (@menu, @detailmenu): Update.
6149 * tests/silent-configsite.test: New test, checking that the
6150 user can control default mode of silent-rules from config.site,
6151 as is documented in the manual.
6152 * tests/Makefile.am (TESTS): Updated.
6154 2011-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
6156 Warnings about primary/prefix mismatch fixed and extended.
6157 * automake.in (%standard_prefix): Add `doc' and `locale'.
6158 Rename `pkgdatadir' to `pkgdata'. Similarly for`pkglibdir',
6159 `pkgincludedir' and `pkglibexecdir'.
6160 (handle_programs): List `pkglibexec', not `pkglib', among the
6161 prefixes valid for the `PROGRAMS' primary.
6162 (handle_data): List also `doc' among the prefixes valid for
6163 the `DATA' primary. This is required by automake's own build
6165 * tests/dirforbid.test: Test removed, superseded by ...
6166 * tests/primary-prefix-invalid-couples.test: ... this new test.
6167 * tests/primary-prefix-valid-couples.test: New test.
6168 * tests/primary-prefix-couples-documented-valid.test: Likewise.
6169 * tests/primary-prefix-couples-force-valid.test: Likewise.
6170 * tests/java3.test: Adjusted, and extended a bit.
6171 * tests/Makefile.am (TESTS): Updated.
6173 From a report by Eric Blake.
6175 2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
6177 tests: check portable fd redirection in TESTS_ENVIRONMENT
6178 * tests/tests-environment-fd-redirect.test: New test.
6179 * tests/Makefile.am (TESTS): Update.
6180 Motivated by coreutils bug#8846:
6181 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
6182 See also following CC:ed thread on bug-autoconf list:
6183 <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
6185 2011-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
6187 tests: make test 'self-check-reexec.test' more portable
6188 * tests/self-check-reexec.test: Rewrite not to require a Korn
6189 Shell able to grok variable expansions such as `${.sh.version}';
6190 Solaris 10 /bin/ksh fails on this for example. Instead, just
6191 require bash and a shell that is not bash.
6193 2011-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
6194 Jim Meyering <meyering@redhat.com>
6196 test defs: fix ksh-related portability bug in warning messages
6197 Running "make check" normally prints a diagnostic to the outermost
6198 stderr (usually a tty) to explain why a test is skipped, thus
6199 giving better and faster feedback to the user. It used to do
6200 so by redirecting file descriptor 9 to stderr (via "exec 9>&2")
6201 before invoking the test scripts, which then would write any skip
6202 explanation to file descriptor 9 via the `skip_' function defined
6204 However, various Korn Shells (at least Solaris 10's /bin/ksh and
6205 Debian GNU/Linux's /bin/ksh) and the HP-UX's /bin/sh close open
6206 file descriptors > 2 upon an `exec' system call; thus the effects
6207 of "exec 9>&2" are cancelled upon fork-and-exec, so we would get
6208 a "Bad file number" diagnostic and no skip explanation with those
6210 The present change remedies this situation.
6211 * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Redirect more portably,
6212 via a trailing "9>&2", rather than the prior "exec 9>&2; ...". Add
6213 explanatory comments.
6214 * tests/defs (stderr_fileno_): Update the advice in comments.
6215 Based on commit v8.12-82-g6b68745 "tests: accommodate HP-UX and
6216 ksh-derived shells" in GNU coreutils.
6217 Further references, with lots of discussion:
6218 <http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00002.html>
6219 <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488>
6220 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846>
6222 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
6224 tests: remove 'test_prefer_config_shell' from the environment
6225 Since commit `v1.11-910-g7df1a9b', the once user-overridable
6226 variable `$test_prefer_config_shell' has become an internal
6227 detail, and the test scripts now complain and bail out if it is
6228 set in the environment.
6229 * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Unset the variable
6230 `test_prefer_config_shell' if it is set in the environment.
6232 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
6234 tests: autogenerate list of wrapped tests for `lib/' shell scripts
6235 * tests/gen-config-shell-tests: New script, generates distributed
6236 makefile snippet `tests/config-shell-tests.am' to list all tests
6237 that use the `get_shell_script' function, with names mangled to
6238 use suffix `-w.shtst', in ...
6239 * tests/Makefile.am (config_shell_tests): ... this macro, whose
6240 definition has been consequently removed from Makefile.am.
6241 (EXTRA_DIST): Distribute the new script.
6242 ($(srcdir)/config-shell-tests.am): Generate using the new script.
6243 (include): Include the `config-shell-tests.am' fragment.
6244 * bootstrap: Invoke `tests/gen-config-shell-tests' to generate
6245 `tests/config-shell-tests.am'.
6246 * tests/.gitignore: Ignore `config-shell-tests.am'.
6247 * tests/gen-parallel-tests: Fixlet in heading comments.
6249 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
6251 tests: test mdate-sh with /bin/sh too
6252 * tests/mdate5.test: Fetch the `mdate-sh' script using the
6253 `get_shell_script' function, and run it directly instead of
6255 * tests/mdate6.test: Likewise. Since we are at it, make checks
6256 on the `mdate-sh' output stricter, remove now unneeded calls to
6257 aclocal and automake and creation/extension of `configure.in',
6258 `Makefile.am' and `textutils.tex' files, and add a trailing `:'
6260 * tests/Makefile.am (config_shell_tests): Add `mdate5-w.shtst'
6261 and `mdate6-w.shtst'.
6263 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
6265 tests: extend tests on `--add-missing' and `--copy' a bit
6266 * tests/add-missing.test: Fix typo in heading comments. Try with
6267 another testcase that install many (but not all) the auxiliary
6268 scripts at once, and uses non-standard (but valid and documented)
6269 setups (e.g., defining YACC in Makefile.am instead of calling
6270 AC_PROG_YACC from configure.in).
6271 * tests/copy.test: Reference `add-missing.test' in heading
6272 comments. Try few more test scenarios.
6274 2011-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
6276 tests: few fixlets and improvements
6277 * tests/cond31.test ($required): Remove `cc', it's not really
6279 * tests/confh.test: Call autoheader too. The lack of this call
6280 wasn't causing spurious failures because the automatic remake
6281 rules were somehow invoking it on our behalf (at make time).
6282 * tests/fn99subdir.test: Use $subdirname throughout, instead of
6283 ${subdirname}, for consistency with the rest of the testsuite.
6284 Avoid an unnecessary subshell, which could also cause spurious
6285 passes, being guarded by a trailing `|| Exit 1', which neutralize
6286 the `errexit' flag. Remove an unnecessary `|| Exit 1' guard.
6287 * tests/insh2.test: Rewrite to avoid hackish Makefile.in munging,
6288 and to also run configure and make.
6290 2011-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
6292 tests: don't hard-code test name in txinfo21.test
6293 * tests/txinfo21.test: Use `$me' instead of hard-coding the
6294 current testcase name "txinfo21". Add a trailing `:' command
6297 2011-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
6299 tests: new test dedicated to `--add-missing' and `--copy'
6300 * tests/add-missing.test: New test.
6301 * tests/Makefile.am (TESTS): Update.
6302 Suggested by Peter Rosin.
6304 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6306 testsuite: use 'fatal_' and 'framework_failure_' for hard errors
6307 * tests/defs (require_xsi): Use `fatal_', not `framework_failure',
6308 to report an invalid usage.
6309 * tests/remake-gnulib-remove-header.test: Prefer using `fatal_'
6310 with a proper error message over a direct call to `Exit 99'.
6311 * tests/pr8365-remake-timing.test: Likewise.
6312 * tests/cygnus-imply-foreign.test: Likewise.
6313 * tests/missing6.test: Likewise.
6314 * tests/cond8.test: Likewise.
6315 * tests/cond33.test: Likewise.
6316 * tests/python-virtualenv.test: Prefer using `framework_failure_'
6317 with a proper error message over a direct call to `Exit 99'.
6318 * tests/instspc-tests.sh: Prefer using `framework_failure_' and
6319 `fatal_' over direct calls to `Exit 99'.
6320 (fatal_): Define this (which is a simplified version of the one
6321 in `tests/defs') for early uses (i.e., before `tests/defs'
6323 * tests/depmode-tests.sh: Likewise. Also, simplify the
6324 'get_depmodes' function and calls to it accordingly.
6326 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6328 self tests: check new 'fatal_' function
6329 * tests/self-check-exit.test: Also check the new 'fatal_'
6332 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6334 test defs: new function 'fatal_', for hard errors
6335 Before this patch, the only way offered by tests/defs to
6336 properly signal a hard error was the `framework_failure_'
6337 function. But the error message issued by that function,
6338 as its name would suggest, refers to a set-up failure in the
6339 testsuite, while hard errors can obviously also be due to
6340 other reasons. The best way to fix this inconsistency is to
6341 introduce a new function with a more general error message.
6342 Inspired by a recent similar change to Gnulib's tests/init.sh.
6343 * tests/defs (fatal_): New function.
6344 * tests/README (Section "Writing test cases" subsection "Do"):
6345 Suggest the use of `fatal_', not of `framework_failure_', for
6346 generic hard errors. The latter should be reserved for "real"
6349 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6351 py-compile: '--' and non-option arguments terminate the option list
6352 * lib/py-compile: Any non-option argument, or the special `--'
6353 argument, now explicitly terminates the list of options.
6354 * tests/py-compile-option-terminate.test: New test.
6355 * tests/Makefile.am (TESTS): Update.
6358 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6360 py-compile: complain on unrecognized options
6361 * lib/py-compile: Complain on unrecognized options. Don't be too
6362 lax in matching `--help' and `--version' options.
6363 * tests/py-compile-usage.test: Extend accordingly.
6366 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6368 py-compile: normalize error and help messages
6369 * lib/py-compile: Now error messages do not begin with a capital
6370 letter, nor end with a period, as per GNU standards. Prepend the
6371 error messages with the name of the script, not with its path.
6372 When an invalid usage is recognized, always display the customary
6373 message "Try `py-compile --help' ..." on a line of its own.
6374 ($me): New variable, containing the name of the
6375 program, i.e., `py-compile'. Use it throughout.
6376 (usage_error): New function, used to display error messages about
6378 * tests/py-compile-usage.test: Extend and tighten accordingly.
6380 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6382 python tests: add "unit tests" on py-compile
6383 * tests/py-compile-basic.test: New test.
6384 * tests/py-compile-basic2.test: New test.
6385 * tests/py-compile-basedir.test: Likewise.
6386 * tests/py-compile-destdir.test: Likewise.
6387 * tests/py-compile-env.test: Likewise.
6388 * tests/py-compile-usage.test: Likewise.
6389 * tests/Makefile.am (TESTS): Update.
6390 Tested with python 2.0.1, 2.4.6, 2.6.6, 2.7.1, and 3.1.3.
6392 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6394 py-compile: the '--destdir' option now accepts a blank argument
6395 * lib/py-compile (Option parsing): Do not count an empty argument
6396 to `--destdir' or `--basedir' as a missing argument.
6397 * lib/python.am: Simplify accordingly, passing the `--destdir'
6398 option to py-compile unconditionally, even if `$(DESTDIR)' is
6402 2011-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
6404 python: run the 'py-compile' script with $(SHELL)
6405 * lib/python.am (install-%DIR%PYTHON): Run each instance of
6406 py-compile using $(SHELL). Since we are at it, break overly
6408 (am__py_compile): New variable, to reduce code duplication.
6411 2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
6413 tests: `lib/' shell scripts transparently tested also with $SHELL
6414 With the previous commit, the user could prefer the use of $SHELL
6415 over /bin/sh in some tests checking the Automake-provided shell
6416 scripts by manually exporting `test_prefer_config_shell' to "yes"
6417 in the environment. With this commit, we ensure that such tests
6418 *always* and *transparently* run using both $SHELL and /bin/sh
6419 to execute the checked scripts. The `test_prefer_config_shell'
6420 variable becomes an internal detail, and is no more meant to be
6421 manually defined or overridden.
6422 * tests/defs-static.in: Check that `test_prefer_config_shell' is
6423 not exported in the environment. Error out if this is the case.
6424 * tests/config-shell-tests.sh: New file, driver script to run
6425 checks on the shell scripts in `lib/' using the $SHELL determined
6426 at configure time instead of the default system shell /bin/sh.
6427 * Makefile.am (TESTS_EXTENSIONS): Add `.shtst'.
6428 (SHTST_LOG_COMPILER): Define, it calls `config-shell-tests.sh'.
6429 (config_shell_tests): Define to a list of tests that wraps other
6430 `*.test' tests using `config-shell-tests.sh'.
6431 ($(config_shell_tests)): Dummy dependency declaration required
6432 in order to have make actually produce expected log files from
6433 the `.shtst.log' suffix rule.
6434 (EXTRA_DIST): Distribute `config-shell-tests.sh'.
6435 (TESTS): Add `$(config_shell_tests)'.
6436 * tests/self-check-env-sanitize.test: Update, by checking that
6437 `test_prefer_config_shell' isn't exported in the environment.
6439 2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
6441 tests: can use also $SHELL to check shell scripts from `lib/'
6442 * tests/ar-lib.test: If the variable `$test_prefer_config_shell'
6443 is set to "yes", run the script under test with configure-time
6444 determined $SHELL, rather than with /bin/sh.
6445 The `$test_prefer_config_shell' variable defaults to empty, but
6446 can be overridden at runtime by the user, thus allowing more
6448 * tests/compile.test: Likewise.
6449 * tests/compile2.test: Likewise.
6450 * tests/compile3.test: Likewise.
6451 * tests/compile4.test: Likewise.
6452 * tests/compile5.test: Likewise.
6453 * tests/compile6.test: Likewise.
6454 * tests/instsh2.test: Likewise.
6455 * tests/instsh3.test: Likewise.
6456 * tests/mkinst3.test: Likewise.
6457 * tests/missing.test: Likewise.
6458 * tests/missing2.test: Likewise.
6459 * tests/missing3.test: Likewise.
6460 * tests/missing5.test: Likewise.
6461 * tests/defs (get_shell_script): New subroutine, factoring out
6462 code common to the tests above.
6463 (xsi-lib-shell): If `$test_prefer_config_shell' is set to "yes",
6464 check that $SHELL, not /bin/sh, supports XSI constructs, as we
6465 expect the test will use $SHELL and not /bin/sh to run the
6466 script being tested.
6468 2011-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
6470 tests defs: better requirements for XSI shells
6471 This change avoids potential spurious failures with tests using
6472 the requirement 'xsi-shell' to mean that they want */bin/sh* (not
6473 $SHELL) to be XSI-conforming. This idiom used to work before
6474 commit `v1.11-874-g1321be7' (as back then the test scripts were
6475 unconditionally run with /bin/sh), but has become inconsistent
6476 now that the test scripts re-execute themselves with configure
6478 The described spurious failures have already occurred in practice,
6479 for examples on Solaris systems which also had GNU Bash installed.
6480 From a suggestion by Peter Rosin. See discussion at:
6481 <http://lists.gnu.org/archive/html/automake-patches/2011-06/msg00016.html>
6482 * tests/defs (xsi-shell): Now check that $SHELL, rather than the
6483 shell currently running the test script, is an XSI shell.
6484 (xsi-bin-sh): New requirement, checking that /bin/sh (which can
6485 differ from $SHELL) is an XSI shell.
6486 (xsi-lib-shell): New requirement, checking that the shell that
6487 should be used to test the Automake-provided scripts from `lib/'
6488 is an XSI shell. For the moment, this is just an alias for
6490 (require_xsi): New subroutine, used to factor out code common to
6491 the requirements above.
6492 ($xsi_shell_code): New variable, contains shell code supposed to
6493 work only with XSI shells. Used by the new subroutine above.
6494 * tests/ar-lib.test ($required): Require 'xsi-lib-shell' instead
6495 of 'xsi-shell', since the script we test here is run with /bin/sh,
6497 * tests/compile3.test: Likewise.
6498 * tests/compile6.test: Likewise.
6500 2011-06-05 Stefano Lattarini <stefano.lattarini@gmail.com>
6502 tests: fix typo-related error in auxdir2.test
6503 * tests/auxdir2.test (configure.in): Close m4 quoting in the
6504 argument to AC_CONFIG_AUX_DIR. Without this, aclocal fails with
6505 "ERROR: end of file in string". This problem hasn't been exposed
6506 by the testsuite before because this test is in XFAIL_TESTS, so
6507 its failure went unnoticed, even if it was due to a wrong cause.
6508 Bug introduced in commit v1.11-249-g49ac3de.
6510 2011-06-05 Stefano Lattarini <stefano.lattarini@gmail.com>
6512 self tests: check that `$me' can be overridden
6513 * tests/self-check-me.test: Check that `$me' can be overridden
6514 before sourcing ./defs, with or without sourcing ./defs-static
6515 beforehand, and that this override is honored. Update heading
6518 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
6520 self tests: fix another spurious failure
6521 Our ad-hoc usage of `tests/defs' in the testsuite's self tests
6522 stopped working properly when we made the test scripts re-execute
6523 themselves with the configure-time $SHELL. Fix this.
6524 Fixes a regression introduced by commit 'v1.11-874-g1321be7'.
6525 * tests/self-check-exit.test: Export `AM_TESTS_REEXEC' to "no"
6526 before running the self tests. This fixes a spurious failure
6527 present only when the test was run by hand.
6529 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
6531 silent-rules tests: fix spurious failures with Sun Studio C++
6532 * tests/silentcxx.test: The C++ compiler from Sun Studio is named
6533 `CC'. Account for this in our grepping checks on the make output.
6534 Since we are at it, throw in a couple of improvements to comments
6536 * tests/silent-many-generic.test: The C++ compiler from Sun Studio
6537 is named `CC', and this can cause spurious failures in our grepping
6538 of the make output. Work around this by using a wrapper script
6539 around the C++ compiler (generated on the fly), since filtering the
6540 make output proved to be too fragile.
6542 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
6544 tests: fix spurious failure in backcompat2.test on NetBSD
6545 * tests/backcompat2.test: Add trailing `:' in the body of a `for'
6546 loop, in case the last command there might have an exit status
6547 different 0. This work around `set -e' issues in some BSD shells,
6548 e.g., NetBSD /bin/ksh.
6550 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
6552 tests: fix spurious failure in autohdr3.test
6553 * tests/autohder3.test (Makefile.am): Let `test' depend on `all',
6554 so that config.h header is truly remade.
6555 Remove now useless call to `$MAKE' when non-GNU make is in use.
6556 Failure introduced by commit `v1.11-895-g5e62b96'.
6558 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
6560 tests: fix spurious failure of cond29.test on NetBSD
6561 * tests/cond29.test: Skip if we cannot safely limit the maximal
6562 size of used virtual memory to 20K. This fixes a spurious failure
6564 Bug introduced in commit `v1.11-885-g908d335'.
6566 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
6568 maintcheck: fix again few more failures
6569 * tests/cond29.test: To please the `sc_tests_Exit_not_exit'
6570 maintainer check, avoid using `sh -c "exit 0"' where a simple
6572 * tests/depmod-data.test: Use creative quoting to avoid
6573 spuriously triggering the `sc_tests_Exit_not_exit' maintainer
6576 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
6578 maintcheck: fix some more failures
6579 * tests/instdir-ltlib.test: Use creative quoting to avoid
6580 spuriously triggering the `sc_rm_minus_f' maintainer check.
6581 * tests/instdir-prog.test: Likewise.
6582 * tests/instspc-data.test: Use creative quoting to avoid
6583 spuriously triggering the `sc_tests_Exit_not_exit' maintainer
6586 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
6588 maintcheck: fix some failures, extend some checks
6589 * Makefile.am (sc_diff_automake_in_automake): Update, as we
6590 now expect 9 lines, not 8, to be changed from `automake.in'
6592 (sc_diff_aclocal_in_aclocal): New maintainer check, similar to
6593 the above, and checking that only 10 lines are changed from
6594 `aclocal.in' to `aclocal'.
6595 (syntax_check_rules): Update.
6596 (sc_tests_Exit_not_exit): Exempt self tests `self-check-*.test'
6597 from this check, as they can legitimately use the bare `exit'
6598 builtin in various places.
6599 * doc/automake.texi (Python): Remove stray `@' from the end of
6600 a line. Typo introduced in commit `v1.11-312-g5bf7af6'.
6601 * tests/depcomp8a.test: Pass DISTCHECK_CONFIGURE_FLAGS to make
6602 from the environment rather than from the command line, to
6603 pacify the `sc_tests_overriding_macros_on_cmdline' maintainer
6605 * tests/depcomp8b.test: Likewise.
6607 2011-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
6609 tests: don't require GNU make where it's not strictly needed
6610 * tests/autohdr3.test: Rewrite to be stricter when make is GNU
6611 make. Drop the requirement of GNU make.
6612 * tests/aclocal5.test: Drop GNU make requirement, it's not truly
6613 needed. Add reference to similar tests `remake-subdir*.test'.
6614 * remake-subdir-gnu.test, remake-subdir-from-subdir.test,
6615 remake-subdir.test, remake-subdir2.test: Add reference to
6616 each other, and to related test `aclocal5.test'.
6617 * tests/aclocal6.test: Drop GNU make requirement, it's not
6619 * tests/confh6.test: Likewise.
6620 * tests/lex3.test: Likewise.
6621 * tests/remake11.test: Likewise.
6622 * tests/subdir5.test: Likewise.
6623 * tests/subdir8.test: Likewise.
6624 * tests/werror2.test: Likewise.
6625 * tests/conff.test: Likewise, and ensure verbose printing of
6626 captured make output.
6627 * tests/lex5.test: Tweak so that GNU make is no more required.
6628 * tests/version7.test: Likewise.
6629 * tests/maken2.test: Add explicative comment for why this test
6631 * tests/maken4.test: Let it run also with BSD makes supporting
6632 the `.MAKE' special target.
6633 * tests/output6.test: Use proper m4 quoting in configure.in.
6634 Expand make macros with one-character name using `$(x)', not
6635 `$x', for portability. Move checks in the makefiles, rather
6636 than relying on grepping the output from make. Drop the now
6637 unneeded GNU make requirement.
6639 2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
6641 remake: behave better with non-GNU make in subdirectories
6642 Currently, with every decent make program, it is possible to
6643 rebuild out-of-date autotools-generated files with a simple
6644 "make Makefile" -- but for this to work reliably with non-GNU
6645 make implementations, the command must be issued from the
6646 top-level directory. This patch removes such limitation.
6647 * lib/am/configure.am (am--refresh): Depend on `%MAKEFILE%'.
6648 * tests/remake-subdir.test: New test.
6649 * tests/remake-subdir2.test: Likewise.
6650 * tests/remake-subdir-gnu.test: Likewise.
6651 * tests/remake-subdir-from-subdir.test: Likewise.
6652 * tests/Makefile.am (TESTS): Update.
6654 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
6656 lex tests: fix spurious failures with Solaris lex
6657 * tests/lex-lib.test (foo.l): Avoid empty "rules section", which
6658 can confuse Solaris lex.
6659 * tests/lex-libobj.test (foo.l): Likewise.
6661 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
6663 lex tests: do not force the use of flex unconditionally
6664 * tests/defs (lex): Act more similarly to what the `yacc'
6665 requirement does, i.e., only force the use of flex if the
6666 $LEX variable is left unset by the user.
6667 (flex): Use `skip_' to skip the test if flex is not found.
6669 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
6671 lex tests: avoid possible hang; fix and extend
6672 * tests/lex3.test (foo.l:yywrap): Return 1, not 0, to avoid hangs.
6673 Bug introduced in commit 'v1.11-871-geb147a1'.
6674 (Makefile.am): Do not add `@LEXLIB@' to `$(LDADD)', as we define
6675 our own `yywrap' function.
6676 * tests/lex.test (tscan.l): In `yywrap', return 1, not 0, for
6677 consistency with the default flex implementation.
6678 * tests/lex-libobj.test (yywrap.c): Likewise.
6679 * tests/lex-subobj-nodep.test (s1.l): Likewise.
6680 * tests/lexvpath.test (foo.c): Likewise.
6681 * tests/silent-lex-gcc (foo.l): Likewise.
6682 * tests/silent-lex-generic (foo.l): Likewise.
6683 * tests/silent-many-gcc (foo5.l): Likewise.
6684 * tests/silent-many-generic (foo5.l): Likewise.
6685 * tests/lex-lib.test (mu.c): Likewise.
6686 Update heading comments, to refer to ...
6687 * tests/lex-lib-external.test: ... this new test, which checks
6688 that we can get use the `yywrap' function from a system-wide
6689 library, if that's available.
6691 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
6693 tests: prefer `skip_' over `echo ...; Exit 77'
6694 * tests/self-check-cleanup.test: When the test must be skipped,
6695 use `skip_ REASON' instead of `echo REASON; Exit 77'. Also,
6696 make the skip message shorter and clearer.
6698 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
6700 tests: fix spurious failures in self tests
6701 Our ad-hoc usage of `tests/defs' in the testsuite's self tests
6702 stopped working properly when we made the test scripts re-execute
6703 themselves with the configure-time $SHELL. Fix this.
6704 Fixes a bug introduced by commit 'v1.11-874-g1321be7'.
6705 * tests/defs: Only check that we can find the client test script
6706 when we must re-execute it.
6707 * tests/self-check-cleanup.test: Export `AM_TESTS_REEXEC' to "no"
6708 before running the self tests.
6709 * tests/self-check-dir.test: Likewise.
6710 * tests/self-check-explicit-skips.test: Likewise.
6711 * tests/self-check-me.test: Likewise.
6712 * tests/self-check-sanity.test: Likewise.
6713 * tests/self-check-reexec.test: New test.
6714 * tests/Makefile.am (TESTS): Update.
6716 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
6718 tests: prefer ulimit over timeout in test on a memory-hogging bug
6719 * tests/cond29.test: Use 'ulimit' instead of 'timeout' to ensure
6720 that automake does not uses up too much resources. This is really
6721 and improvement because the bug tested by this script wasn't just
6722 a "it hangs" or "it runs too slow" bug, but rather a memory-hogging
6723 bug (due to combinatorial explosion when many Automake conditionals
6724 had to be handled) which could easily crash the whole system, which
6725 is unacceptable. The requirement of a proper and working 'ulimit'
6726 builtin might cause the test to be skipped on more systems, but
6727 that shouldn't be a problem since the bug isn't about a portability
6728 issue, but is rather an automake internal implementation problem.
6729 I've verified that the test as updated by this patch still passes
6730 with automake 1.8.5, automake 1.10.2, and obviously the development
6731 version of automake, and that it fails with automake 1.7.9.
6733 2011-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
6735 testsuite: avoid generating `*-p.test' tests, use a wrapper script
6736 The generated `*-p.test' tests had already become just thin layers
6737 around the corresponding test scripts. This change makes the final
6738 step, converting to the use of a generic wrapper script and thus
6739 avoiding the extra test generation (similarly to what is done for
6740 the `*.instspc' and `*.depmod' tests).
6741 * tests/parallel-tests.sh: New file, driver script to run checks
6742 the on the `parallel-tests' semantics by wrapping tests that use
6743 the generic "Simple Tests" driver.
6744 * tests/gen-parallel-tests: Update, mostly to reflect the new
6745 `.ptest' extensions used for tests in $(parallel_tests).
6746 * Makefile.am (TESTS_EXTENSIONS): Add `.ptest'.
6747 (PTEST_LOG_COMPILER): Define, it calls `parallel-tests.sh'.
6748 ($(parallel_tests)): Do not really generate `*-p.test' tests
6749 anymore; this is now just a dummy dependency declaration required
6750 in order to have make actually produce expected log files from
6751 the `.ptest.log' suffix rule.
6752 (EXTRA_DIST): Distribute `parallel-tests.sh'.
6753 (MAINTAINERCLEANFILES): Don't remove the `$(parallel_tests)', it
6754 is not necessary anymore.
6755 (generated_tests): Variable definition removed.
6756 (TESTS): Update, by listing `$(parallel_tests)' directly instead
6757 of `$(generated_tests)'
6758 (expected_list_of_tests): Remove `$(generated_tests)'.
6759 (maintainer-check-list-of-tests): No need to explicitly depend on
6760 `$(expected_list_of_tests)' anymore.
6762 2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
6764 automake, aclocal: honour configure-time AUTOCONF and AUTOM4TE
6765 Currently, the Automake's own configure script allow definition
6766 of AUTOCONF and AUTOM4TE, expected to point respectively to an
6767 autoconf and autom4te programs. But while these definitions are
6768 honoured in the Automake's build systems and test suite, they
6769 were *not* honoured in the generated `automake' and `aclocal'
6770 scripts. This behaviour, apart from being wrong in that it does
6771 not allow the user enough freedom in choosing his tools, also
6772 caused inconsistencies in the test suite, brining to spurious
6774 Problem reported by Graham Reitz on the automake list; see thread:
6775 <http://lists.gnu.org/archive/html/automake/2011-05/msg00022.html>
6776 * automake.in ($traces): Use `@am_AUTOCONF', not simply `autoconf'.
6777 * aclocal.in ($traces): Use `@am_AUTOM4TE', not simply `autom4te'.
6778 * Makefile.am (do_subst): Substitute also `@am_AUTOCONF' and
6783 2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
6785 build: the user can override AUTOM4TE, AUTORECONF and AUTOUPDATE too
6786 Our build system allows the user to override AUTOCONF and AUTOHEADER
6787 at configure time, and honours these overrides in our testsuite.
6788 But it didn't do the same with AUTOM4TE, AUTORECONF and AUTOUPDATE.
6789 This change fixes that inconsistency.
6790 * configure.ac (am_AUTOM4TE, am_AUTOUPDATE, am_AUTORECONF): New
6791 AC_SUBSTitutions. Update comments.
6792 * tests/defs.in ($AUTOUPDATE): Default to `@am_AUTOUPDATE@' now.
6793 ($AUTOM4TE): New variable, defaulting to `@am_AUTOM4TE@'.
6794 ($AUTORECONF): New variable, defaulting to `@am_AUTORECONF@'.
6795 * doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Update.
6797 2011-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
6799 parallel-tests: stricter checks on DISABLE_HARD_ERRORS support
6800 * tests/parallel-tests-harderror.test: New test, doing more
6801 in-depth checks on DISABLE_HARD_ERRORS.
6802 * tests/parallel-tests.test: Remove tests on DISABLE_HARD_ERRORS,
6804 * tests/Makefile.am (TESTS): Update.
6806 2011-05-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6807 Stefano Lattarini <stefano.lattarini@gmail.com>
6809 tests/README: fix example about `make -e' usage
6810 * tests/README (Section "Writing test cases" subsection "Do"): When
6811 some variable is never initialized in the Makefile, `-e' is not
6812 necessary in order to override it. DESTDIR is such a variable: we
6813 ensure that we do not ever initialize it. And as such, it is quite
6815 $ make DESTDIR=/foo/bar install
6816 and in fact, quite widely used.
6817 So our example about when `make -e' is required, which references
6818 the `DESTDIR' variable, is poorly chosen, if not downright wrong.
6819 Rewrite it to use `prefix' as the overridden variable instead.
6821 2011-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
6823 tests: don't require gfortran if any fortran compiler is enough
6824 * tests/silentf90.test ($required): Require `fortran', not
6826 * tests/silentf77.test ($required): Require `fortran77', not
6828 * tests/silent-many-generic.test ($required): Require `fortran'
6829 and `fortran77' rather than `gfortran'.
6831 2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
6833 tests: improve `ccnoco*.test', better cross-compiling support
6834 * tests/ccnoco3.test (Mycomp): Use the `$CC' chosen by `tests/defs'
6835 instead of forcing `gcc' unconditionally. This ensures better
6836 coverage in case of cross-compiling, when GCC can be named e.g.,
6837 `i586-mingw32msvc-gcc', instead of simply `gcc'.
6838 * tests/ccnoco.test: Likewise. Remove redundant checks. Modernize
6839 the created `configure.in'. Run tests both in-tree and in VPATH.
6840 Export `CC' to the overridden value only once.
6841 * tests/ccnoco2.test: Slightly stricter grepping of automake
6842 stderr. Add trailing `:' command.
6844 2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
6846 testsuite: each test case depends on `defs-static'
6847 * tests/Makefile.am ($(TEST_LOGS)): Depends on `defs-static' too.
6850 2011-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
6852 testsuite: use $SHELL to run tests which are shell scripts
6853 * tests/Makefile.am (TEST_LOG_COMPILER): Define so that the
6854 configure-time $SHELL is used to run the tests.
6855 * tests/defs: Add code to re-execute by default the running
6856 test script with configure-time $SHELL. Updated comments.
6857 * configure.ac: Check that `set -e' is working for $SHELL,
6859 * tests/defs-static.in: Update comments.
6860 * tests/README (Supported shells): Updated.
6861 (Getting details from failures): Don't tell that tests are
6862 run by /bin/sh by default.
6864 2011-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
6866 tests: split 'subst2.test' to improve modularity and coverage
6867 * tests/subst2.test: Test removed, split into ...
6868 * tests/programs-primary-rewritten.test: ... this test ...
6869 * tests/subst-no-trailing-empty-line.test: ... and this one ...
6870 * tests/extra-programs-empty.test: ... and this one.
6871 * tests/Makefile.am (TESTS): Update.
6873 2011-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
6875 tests: tweak and improve tests on Automake conditionals
6876 The "avoid the requirement of a working compiler" we refer about
6877 below is obtained by disabling automatic dependency tracking and
6878 defining `CC' (and `EXEEXT', `OBJEXT', `CXX', etc., if needed) to
6879 dummy values, either directly in the `Makefile.am', or by AC_SUBST
6881 The "cosmetic changes" we refer about below consists in, e.g.,
6882 adding a trailing `:' command to a script, using proper m4 quoting
6883 in `configure.in' files, adding commands that offer more debugging
6884 output, explicitly declaring phony targets as such in Makefiles,
6885 making use of idioms more consistent with those employed in other
6886 tests, following the GNU formatting standards more closely, etc.
6887 * tests/cond.test: Cosmetic changes.
6888 * tests/cond3.test: Likewise.
6889 * tests/cond10.test: Likewise.
6890 * tests/cond14.test: Likewise.
6891 * tests/cond15.test: Likewise.
6892 * tests/cond17.test: Likewise.
6893 * tests/cond40.test: Likewise.
6894 * tests/cond13.test: Likewise, and make grepping of the generated
6895 `Makefile.in' slightly stricter.
6896 * tests/cond6.test: Extend by also running ./configure, make and
6897 "make install". Few cosmetic changes.
6898 * tests/cond8.test: Likewise.
6899 * tests/cond2.test: Do few cosmetic changes. Make grepping of
6900 automake stderr stricter.
6901 * tests/cond20.test: Likewise.
6902 * tests/cond23.test: Likewise.
6903 * tests/cond24.test: Likewise.
6904 * tests/cond42.test: Likewise.
6905 * tests/cond46.test: Likewise.
6906 * tests/cond9.test: Move more checks in the `Makefile.am' instead
6907 of grepping make's output.
6908 * tests/cond38.test: Likewise.
6909 * tests/cond11.test: Likewise. Avoid the requirement of a working
6911 * tests/cond16.test: Likewise.
6912 * tests/cond22.test: Likewise.
6913 * tests/cond30.test: Likewise.
6914 * tests/cond31.test: Likewise.
6915 * tests/cond4.test: Likewise, and drop the now-useless GNU make
6916 requirement as well.
6917 * tests/cond18.test: Likewise.
6918 * tests/cond19.test: Likewise.
6919 * tests/cond22.test: Likewise.
6920 * tests/cond25.test: Add trailing `:' command.
6921 * tests/cond26.test: Likewise.
6922 * tests/cond27.test: Likewise.
6923 * tests/cond28.test: Likewise.
6924 * tests/cond29.test: Use `unindent' function for better formatting.
6925 Other minor cosmetic changes. Use a `timeout' program (if it's
6926 available) to determine whether the script takes too long, instead
6927 of just hoping that the user will notice an abnormally long test
6929 * tests/cond33.test: Extend a bit. Fix heading comments. Few more
6931 * tests/cond37.test: Ensure verbose printing of captured make
6932 output. Minor cosmetic changes.
6933 * tests/cond34.test: Likewise. Avoid the requirement of a working
6934 C compiler. Make grepping of make output slightly stricter.
6935 * tests/cond35.test: Quote literal dots in grep regexp. Add extra
6936 debugging output. Minor cosmetic changes.
6937 * tests/cond36.test: Likewise.
6938 * tests/cond41.test: Do not simply check that aclocal fails, but
6939 also grep its stderr for the expected error message.
6940 * tests/cond43.test: Likewise (but the program being automake).
6941 Few cosmetic changes.
6942 * tests/condd.test: Avoid the requirement of a working C compiler.
6943 * tests/condman3.test: Extend by using more man pages and more
6945 * tests/condman.test: Removed, it's completely superseded by
6947 * tests/Makefile.am (TESTS): Update.
6949 2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
6951 lex tests: avoid spurious failures when LEXLIB isn't found
6952 The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
6953 the "lex library" expected to provide a `yywrap' function (function
6954 which is required to link most lex-generated programs). On the
6955 contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
6956 fail, configure declares that no lex library is needed, and simply
6957 proceeds with the configuration process -- only for the build to
6958 possibly fail later, at make time.
6959 This behaviour might be (partly) intended; the Autoconf manual
6961 ``You are encouraged to use Flex in your sources, since it is
6962 both more pleasant to use than plain Lex and the C source
6963 it produces is portable. In order to ensure portability,
6964 however, you must either provide a function `yywrap' or, if
6965 you don't use it (e.g., your scanner has no `#include'-like
6966 feature), simply include a `%noyywrap' statement in the
6968 This AC_PROG_LEX behaviour is causing some spurious failures of the
6969 Automake testsuite in environments which lack a proper library
6970 providing `yywrap' (this happens for example in Linux->MinGW cross
6971 compilations). But at this point is clear that a proper workaround
6972 is to simply provide a fall-back implementation of `yywrap' in our
6974 * tests/cond35.test: Provide a dummy `yywrap' function.
6975 * tests/lex3.test: Likewise.
6976 * tests/lexvpath.test: Likewise.
6977 * tests/silent-many-gcc.test: Likewise.
6978 * tests/silent-many-generic.test: Likewise.
6979 * tests/silent-lex-gcc.test: Likewise, and a dummy `main' too.
6980 * tests/silent-lex-generic.test: Likewise.
6981 * tests/lex-lib.test: New test.
6982 * tests/lex-libobj.test: New test.
6983 * tests/lex-nowrap.test: New test.
6984 * tests/Makefile.am (TESTS): Update.
6986 Thanks to Russ Allbery for the suggestion.
6988 2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
6990 testsuite: require C++ compiler explicitly in tests needing it
6991 The list of the test scripts which needed a C++ compiler but
6992 failed to require it explicitly has been found by running:
6993 $ tests=`grep -lE 'CXX|\.c(c|\+\+|xx|pp)' *.test | tr '\n' ' '`
6994 $ am_explicit_skips=yes CXX=false make check TESTS="$tests"
6995 and looking for tests that reported FAIL instead of SKIP.
6996 After the present change, all those previously failing tests
6997 either pass or get correctly skipped.
6998 * tests/subobj9.test: Require `c++', instead of explicitly
6999 skipping on configure failure. Add excerpts and/or details from
7000 the original bug report that prompted this tests to be written.
7001 * tests/silentcxx-gcc.test: Require g++.
7002 * tests/silentcxx.test: Require c++.
7003 * tests/suffix3.test: Likewise.
7005 2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
7007 testsuite: don't require g++ where any C++ compiler is enough
7008 * tests/specflg10.test ($required): Use `c++', not g++.
7009 * tests/silent-many-generic.test: Likewise.
7011 2011-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
7013 testsuite: require C compiler explicitly in tests needing it
7014 The list of the test scripts which needed a C compiler but
7015 failed to require it explicitly has been found by running:
7016 $ am_explicit_skips=yes CC=false make check
7017 and looking for tests that reported FAIL instead of SKIP.
7018 After the present change, all those previously failing tests
7019 either pass or get correctly skipped.
7020 * tests/aclocal4.test ($required): Add `cc'.
7021 * tests/ansi.test: Likewise.
7022 * tests/ansi10.test: Likewise.
7023 * tests/ansi3.test: Likewise.
7024 * tests/ansi3b.test: Likewise.
7025 * tests/ansi5.test: Likewise.
7026 * tests/ansi6.test: Likewise.
7027 * tests/ansi7.test: Likewise.
7028 * tests/ansi9.test: Likewise.
7029 * tests/backcompat6.test: Likewise.
7030 * tests/canon7.test: Likewise.
7031 * tests/check5.test: Likewise.
7032 * tests/check7.test: Likewise.
7033 * tests/check8.test: Likewise.
7034 * tests/cond4.test: Likewise.
7035 * tests/cond11.test: Likewise.
7036 * tests/cond16.test: Likewise.
7037 * tests/cond18.test: Likewise.
7038 * tests/cond19.test: Likewise.
7039 * tests/cond22.test: Likewise.
7040 * tests/cond30.test: Likewise.
7041 * tests/cond31.test: Likewise.
7042 * tests/cond32.test: Likewise.
7043 * tests/cond34.test: Likewise.
7044 * tests/cond35.test: Likewise.
7045 * tests/cond39.test: Likewise.
7046 * tests/condd.test: Likewise.
7047 * tests/cygnus-dependency-tracking.test: Likewise.
7048 * tests/depcomp2.test: Likewise.
7049 * tests/depcomp6.test: Likewise.
7050 * tests/depcomp7.test: Likewise.
7051 * tests/depcomp8a.test: Likewise.
7052 * tests/depcomp8b.test: Likewise.
7053 * tests/depdist.test: Likewise.
7054 * tests/depend2.test: Likewise.
7055 * tests/depend5.test: Likewise.
7056 * tests/distcleancheck.test: Likewise.
7057 * tests/distname.test: Likewise.
7058 * tests/exeext.test: Likewise.
7059 * tests/exeext4.test: Likewise.
7060 * tests/extradep.test: Likewise.
7061 * tests/extradep2.test: Likewise.
7062 * tests/gnits2.test: Likewise.
7063 * tests/gnits3.test: Likewise.
7064 * tests/instdir-ltlib.test: Likewise.
7065 * tests/instdir-prog.test: Likewise.
7066 * tests/instfail.test: Likewise.
7067 * tests/instfail-libtool.test: Likewise.
7068 * tests/lex3.test: Likewise.
7069 * tests/lex5.test: Likewise.
7070 * tests/lexvpath.test: Likewise.
7071 * tests/lex-subobj-nodep.test: Likewise.
7072 * tests/lflags.test: Likewise.
7073 * tests/libobj-basic.test: Likewise.
7074 * tests/libobj2.test: Likewise.
7075 * tests/libobj7.test: Likewise.
7076 * tests/libobj10.test: Likewise.
7077 * tests/libobj16a.test: Likewise.
7078 * tests/libobj16b.test: Likewise.
7079 * tests/libobj17.test: Likewise.
7080 * tests/libobj19.test: Likewise.
7081 * tests/libtool2.test: Likewise.
7082 * tests/libtool3.test: Likewise.
7083 * tests/libtool7.test: Likewise.
7084 * tests/libtool9.test: Likewise.
7085 * tests/libtoo10.test: Likewise.
7086 * tests/libtoo11.test: Likewise.
7087 * tests/ltcond.test: Likewise.
7088 * tests/ltcond2.test: Likewise.
7089 * tests/ltconv.test: Likewise.
7090 * tests/ltinit.test: Likewise.
7091 * tests/ltlibsrc.test: Likewise.
7092 * tests/ltorder.test: Likewise.
7093 * tests/nobase.test: Likewise.
7094 * tests/nobase-libtool.test: Likewise.
7095 * tests/mmodely.test: Likewise.
7096 * tests/parallel-tests5.test: Likewise.
7097 * tests/parallel-tests-suffix-prog.test: Likewise.
7098 * tests/parallel-tests-ext-driver-prog.test: Likewise.
7099 * tests/posixsubst-ldadd.test: Likewise.
7100 * tests/posixsubst-libraries.test: Likewise.
7101 * tests/posixsubst-ltlibraries.test: Likewise.
7102 * tests/posixsubst-programs.test: Likewise.
7103 * tests/posixsubst-sources.test: Likewise.
7104 * tests/pr87.test: Likewise.
7105 * tests/pr204.test: Likewise.
7106 * tests/pr224.test: Likewise.
7107 * tests/pr300-lib.test: Likewise.
7108 * tests/pr300-ltlib.test: Likewise.
7109 * tests/pr300-prog.test: Likewise.
7110 * tests/pr401.test: Likewise.
7111 * tests/pr401b.test: Likewise.
7112 * tests/pr401c.test: Likewise.
7113 * tests/remake-gnulib-add-acsubst.test: Likewise.
7114 * tests/remake-gnulib-add-header.test: Likewise.
7115 * tests/regex.test: Likewise.
7116 * tests/repeated-options.test: Likewise.
7117 * tests/silent.test: Likewise.
7118 * tests/silent3.test: Likewise.
7119 * tests/silent9.test: Likewise.
7120 * tests/silent-lex-generic.test: Likewise.
7121 * tests/silent-many-generic.test: Likewise.
7122 * tests/silent-yacc-generic.test: Likewise.
7123 * tests/specflg7.test: Likewise.
7124 * tests/specflg9.test: Likewise.
7125 * tests/specflg10.test: Likewise.
7126 * tests/stdinc.test: Likewise.
7127 * tests/strip.test: Likewise.
7128 * tests/strip2.test: Likewise.
7129 * tests/strip3.test: Likewise.
7130 * tests/subdirbuiltsources.test: Likewise.
7131 * tests/subobj3.test: Likewise.
7132 * tests/subobj6.test: Likewise.
7133 * tests/subobj11a.test: Likewise.
7134 * tests/subpkg.test: Likewise.
7135 * tests/subst2.test: Likewise.
7136 * tests/subst3.test: Likewise.
7137 * tests/substref.test: Likewise.
7138 * tests/substre2.test: Likewise.
7139 * tests/suffix5.test: Likewise.
7140 * tests/suffix8.test: Likewise.
7141 * tests/suffix10.test: Likewise.
7142 * tests/suffix11.test: Likewise.
7143 * tests/suffix12.test: Likewise.
7144 * tests/suffix13.test: Likewise.
7145 * tests/target-cflags.test: Likewise.
7146 * tests/transform.test: Likewise.
7147 * tests/transform2.test: Likewise.
7148 * tests/yacc-basic.test: Likewise.
7149 * tests/yacc-d-basic.test: Likewise.
7150 * tests/yacc-clean.test: Likewise.
7151 * tests/yacc-dist-nobuild.test: Likewise.
7152 * tests/yacc-nodist.test: Likewise.
7153 * tests/yaccvpath.test: Likewise.
7154 * tests/yacc-d-vpath.test: Likewise.
7155 * tests/yacc4.test: Likewise.
7156 * tests/yacc7.test: Likewise.
7157 * tests/yacc8.test: Likewise.
7158 * tests/yaccdry.test: Likewise.
7159 * tests/yflags-cmdline-override.test: Likewise.
7160 * tests/yflags-force-override.test: Likewise.
7161 * tests/python-virtualenv.test: Likewise. Also, improve skip
7163 * tests/subobj5.test ($required): Add `cc'.
7164 (Makefile.am): Set `AUTOMAKE_OPTIONS' to `subdir-objects', and
7165 add new checking rules `test-build' and `test-distdir'.
7166 Extend the test by building and examining the distdir, the
7167 program, and the object files.
7168 * tests/postproc.test ($required): Add `cc'.
7169 Avoid the explicit `|| Exit $?' after call to configure, which
7170 is now either redundant (e.g., when `am_explicit_skips' is
7171 unset), or counter-productive (e.g., when `am_explicit_skips'
7173 * tests/pr243.test: Likewise.
7174 * tests/pr266.test: Likewise.
7175 * tests/pr220.test: Simplify so that it doesn't require a
7177 * tests/subdir5.test: Likewise.
7178 * tests/subdir8.test: Likewise.
7179 * tests/lflags.test: Likewise.
7180 * tests/yflags.test: Likewise.
7181 * tests/yflags-force-conditional.test: Likewise.
7182 * tests/lflags2.test: Simplify so that it doesn't require a
7183 C++ compiler anymore.
7184 * tests/yflags2.test: Likewise.
7185 * tests/autohdrdry.test (configure.in): Remove unneeded call
7187 * tests/pr287.test: Likewise.
7188 * tests/check6.test: Likewise.
7189 * tests/cond21.test: Likewise, plus some cosmetic adjustments.
7190 * tests/upc.test: Skip if configure fails with status `77'.
7191 * tests/upc3.test: Likewise.
7192 * tests/vala4.test: Likewise.
7193 * tests/nostdinc.test: Likewise. Also, make grepping checks
7194 on `Makefile.in'. Update heading comments.
7195 * tests/compile5.test: When we must skip, skip explicitly,
7196 and with a meaningful message.
7197 * tests/instspc-tests.sh: When running in "test-build" or
7198 "test-install" mode (as determined by the value of variable
7199 `$instspc_action'), require `cc'. Adjust comments.
7200 * tests/depmod-tests.sh: Likewise.
7202 2011-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
7204 testsuite: allow user to ask for stricter skip semantics
7205 Given how the Automake testsuite is currently structured, if a
7206 command in a test script fails with status `77', the global test
7207 outcome is considered a SKIP, because the value of `77' for `$?'
7208 is passed to the exit trap. Indeed, this happens in practice, as
7209 an autoconf-generated configure script can exit with status `77'
7210 if it fails to find, e.g., a required compiler.
7211 While this behaviour is quite useful for avoiding spurious test
7212 failures in the wild, it can also sometimes prevent the Automake
7213 developers to easily see and declare the requirements of their
7215 This change introduces a new variable `am_explicit_skips', meant to
7216 be user-overridable, and which, when set to a "true" value (i.e.,
7217 `yes' or `1'), require a direct call to `Exit 77' in order to make
7218 the test outcome be considered a SKIP.
7219 * tests/defs.in ($am__test_skipped): New variable, initialized
7221 (Exit): Set `$am__test_skipped' to `yes' if passed an exit status
7223 (trap '...' 0): When `$am_explicit_skips' is set to a "true" value,
7224 reset an exit status of `77' to `78' if $am__test_skipped is not
7226 * tests/self-check-exit.test: Adjust: unset `am_explicit_skips'.
7227 * tests/self-check-explicit-skips.test: New test.
7228 * tests/Makefile.am (TESTS): Update.
7230 2011-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
7232 testsuite: user can force skipping of compiler-requiring tests
7233 * tests/defs (cc, c++, fortran, fortran77): Skip the test if
7234 the relevant compiler is disabled by having the corresponding
7235 variable (CC, CXX, FC and F77, respectively) set to "false".
7236 (yacc): For consistency, skip the test when the YACC variable
7237 is set to "false", not when it's set to "no". Since we are at
7238 it, fix the skip message to be shorter and more consistent.
7240 2011-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
7242 tests: tweak and improve tests on "Simple Tests" driver
7243 * tests/check.test: Make grepping of generated Makefile.in
7244 slightly stricter. Add trailing `:' command.
7245 * tests/check2.test: Ensure verbose printing of captured make
7246 output. Make grepping of generated Makefile.in and of make
7247 output stricter. Add trailing `:' command.
7248 * tests/check3.test: Likewise. Also, fix minor error in a
7250 * tests/check4.test: Stricter grepping of make output. Use
7251 `using_gmake' subroutine instead of copy&paste from defs.in
7252 to determine whether $MAKE is GNU make. Add a trailing `:'
7254 * tests/check6.test: Add trailing `:' command.
7255 * tests/check10.test: Prefer redirection `>' over `>>' when
7256 creating new files. Ensure verbose printing of captured make
7258 * tests/check11.test: Likewise.
7259 * tests/check7.test: Likewise. Make grepping of make output
7260 stricter. Prefer "make distcheck" over a simple "make check"
7261 in a VPATH build. Add trailing `:' command.
7262 (a.c): Format following GNU coding standards.
7263 (Makefile.am): Explicitly declare target `print-xfail-tests'
7264 as PHONY. Distribute $(check_SCRIPTS), for distcheck.
7265 * tests/parallel-tests.test: Prefer redirection `>' over `>>'
7266 when creating new files.
7267 * tests/parallel-tests2.test: Likewise.
7268 * tests/parallel-tests9.test: Likewise.
7269 * tests/parallel-tests8.test: Likewise. Make grepping of
7270 automake stderr stricter.
7271 * tests/check8.test: Likewise. Make formatting of created
7272 *.c files more consistent with GNU Coding Standards.
7273 * tests/check-subst-prog.test (configure.in): Break overly
7275 (pass-prog.c, xfail-prog.c): Format them more consistently
7276 with GNU Coding Standards.
7277 * tests/parallel-tests3.test: Use a shorter and clearer skip
7278 message. Use the `unindent' subroutine to improve readability
7279 of indented loop bodies. Simplify the hack used to please
7281 * tests/parallel-tests5.test: Make formatting of created *.c
7282 files more consistent with GNU Coding Standards. Use the
7283 `unindent' subroutine to improve readability of indented loop
7285 * tests/parallel-tests10.test: Add blank line, for clarity.
7286 Prefer trailing `:' over trailing `Exit 0', for consistency
7289 2011-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
7291 tests/README: small consistency improvement
7292 * tests/README (Section "User interface" subsection "Running the
7293 tests"): In examples, be more consistent w.r.t. the differences
7294 between GNU and non-GNU make.
7296 2011-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
7298 tests/README: suggest how to run tests in cross-compile mode
7299 * tests/README (Section "User interface" subsection "Running the
7300 tests"): Briefly explain how to override 'host_alias' at runtime
7301 to force the use of cross-compilers by the testsuite. Give an
7304 2011-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
7306 test defs: better detection of cross-compile mode
7307 * configure.ac (AC_CANONICAL_HOST): New, probably not strictly
7308 necessary, but useful to complements AC_CANONICAL_BUILD.
7309 * tests/defs-static.in ($host_alias, $build_alias): New variables,
7310 exported, user-overridable, defaults AC_SUBST'd by configure.
7311 * tests/defs (cross_compiling): Consider cross-compilation mode
7312 active only if `$host_alias' is not empty *and* it differs from
7313 `$build_alias'. This is more faithful to the way configure
7314 determines whether it is cross-compiling, but still allows the
7315 user to easily force cross-compilation by overriding `host_alias'
7316 and `build_alias' at runtime.
7317 From a report by Ralf Wildenhues.
7319 2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
7321 testsuite: avoid re-running few tests with 'parallel-tests' option
7322 Some tests in our testsuite use the 'simple-tests' driver only
7323 marginally, or simply as a mean to conveniently check unrelated
7324 invariants. It makes little sense to force these tests to also
7325 run with the 'parallel-tests' Automake option active, as doing so
7326 offers no real gain in coverage, while often causing a measurable
7327 overhead in execution time (for an already too-slow testsuite).
7328 * tests/pr401.test (parallel_tests): Define to "no", to prevent
7329 the generation of a sibling test script using the 'parallel-tests'
7331 * tests/pr401b.test: Likewise.
7332 * tests/pr401c.test: Likewise.
7333 * tests/java-flat.test: Likewise, and properly update heading
7335 * tests/java-nested.test: Likewise, but defining `parallel_tests'
7336 to "yes" instead, for improved coverage in conjunction with the
7337 sister test `java-flat.test'.
7339 2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
7341 testsuite: allow tests to avoid the use of 'parallel-tests' option
7342 * tests/gen-parallel-tests: Do not generate "siblings" for tests
7343 that explicitly define the `parallel_tests', whether to "yes" or
7344 to any other value. Extend heading comments to give a rationale
7346 * tests/README: Update.
7348 2011-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
7350 tests/README: update obsoleted advice
7351 * tests/README (Section "Writing test cases" subsection "Do"):
7352 Do not suggest to use the `*-p.test' pattern for the names of
7353 hand-written tests which use the `parallel-tests' Automake option.
7354 Not only is this not respected by the existing tests, but it is
7355 more likely to cause conflicts with auto-generated tests.
7356 So, suggest to *avoid* using the `*-p.test' pattern in names
7357 of hand-written tests instead.
7358 (Section "Writing test cases" subsection "Do not"): When
7359 suggesting not to override Makefile variables using command
7360 line arguments, do not use the badly outdated variables `U'
7361 and 'ANSI2KNR' in the example; instead, use the more common
7362 and typical `DESTDIR'.
7364 2011-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
7366 tests: avoid spurious failures in cross-compile mode
7367 * tests/depcomp2.test: Ensure verbose printing of captured stderr
7369 * tests/ansi3.test ($required): Add 'native', as the ansi2knr
7370 functionality is not meant to work with a cross-compiler.
7371 * tests/ansi3b.test: Likewise.
7372 * tests/ansi5.test: Likewise.
7373 * tests/ansi6.test: Likewise.
7374 * tests/ansi7.test: Likewise.
7375 * tests/ansi8.test: Likewise.
7376 * tests/ansi10.test: Likewise.
7377 * tests/subobj3.test: Likewise.
7378 * tests/check8.test ($required): Add 'native', as this test is
7379 not meant to work with a cross-compiler.
7380 * tests/gnits2.test: Likewise.
7381 * tests/ltconv.test: Likewise.
7382 * tests/ltcond2.test: Likewise.
7383 * tests/parallel-tests5.test: Likewise.
7384 * tests/specflg7.test: Likewise.
7385 * tests/specflg8.test: Likewise.
7386 * tests/check5.test: Likewise. Also, ensure verbose printing of
7387 captured make output, and thrown in few cosmetic and consistency
7389 * tests/ltinit.test: Be laxer in grepping configure output, to
7390 avoid spurious failures on systems which lack POSIX dynamic
7391 linking (e.g., MinGW), or when cross-compiling for such systems.
7392 * tests/ansi9.test: Skip parts of the test that would require a
7394 * tests/backcompat6.test: Likewise.
7395 * tests/depcomp8a.test: Likewise.
7396 * tests/pr401.test: Likewise.
7397 * tests/pr401b.test: Likewise.
7398 * tests/pr401c.test: Likewise.
7399 * tests/target-cflags.test: Likewise.
7400 * tests/lex3.test: Likewise.
7401 * tests/yacc-basic.test: Likewise.
7402 * tests/autohdr4.test: Likewise. Also, extend the test to ensure
7403 more coverage in cross-compile mode.
7404 * tests/canon7.test: Likewise.
7405 * tests/check9.test: Removed, split into two new tests ...
7406 * tests/check-subst-prog.test: ... this one, which requires a
7407 native C compiler ...
7408 * tests/check-subst.test: ... and this one, which doesn't require
7410 * tests/parallel-tests4.test: Removed, split into two new tests ...
7411 * tests/parallel-tests-suffix-prog.test: ... this one, which
7412 requires a native C compiler ...
7413 * tests/parallel-tests-suffix.test: ... and this one, which
7414 doesn't require any compiler.
7415 * tests/parallel-tests7.test: Removed, split into two new tests ...
7416 * tests/parallel-tests-ext-driver-prog.test: ... this one, which
7417 requires a native C compiler ...
7418 * tests/parallel-tests-ext-driver.test: ... and this one, which
7419 doesn't require any compiler.
7420 * tests/Makefile.am (TESTS): Update.
7422 2011-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
7424 test defs: rename requirement 'non-cross' -> 'native'
7425 * tests/defs.in (non-cross): Rename requirement ...
7426 (native): ... to this, which is clearer and fits the
7427 existing lingo better.
7428 Suggestion by Ralf Wildenhues.
7430 2011-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
7432 testsuite: be more cross-compile friendly
7433 * tests/defs.in (cross_compiling): New subroutine.
7434 (am__tool_prefix): New internal variable.
7435 (gcc, g++, gcj): Force the use of the correct "tool prefix"
7436 when cross compiling.
7437 (gfortran, g77, non-cross): New requirements.
7439 2011-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
7441 tests: fix portability issues in 'repeated-options.test'
7442 * tests/repeated-options.test: Do not assume that object files
7443 have `.o' suffix and executables have no default suffix; instead,
7444 use `$(OBJEXT)' and `$(EXEEXT)'.
7446 2011-05-11 Stefano Lattarini <stefano.lattarini@gmail.com>
7448 check: document and test $(TEST_SUITE_LOG) overriding
7449 * doc/automake.texi (Simple Tests using parallel-tests): Explain
7450 how and why TEST_SUITE_LOG can be overridden at runtime.
7451 * tests/parallel-tests-log-override-1.test: New test, check that
7452 the newly documented idiom and similar usages are truly supported.
7453 * tests/parallel-tests-log-override-2.test: Likewise.
7454 * tests/parallel-tests-log-override-recheck.test: Likewise.
7455 * tests/Makefile.am (TESTS): Update.
7457 2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
7459 tests: fix spurious failure of extradep.test on FreeBSD
7460 * tests/extradep.test: When using `ls -t' to determine whether a
7461 file has been updated, make sure to use as reference a file whose
7462 timestamp is expected to be *strictly* older that that of the file
7463 being checked. This is required because at least FreeBSD `ls' do
7464 not sort files with the same timestamp in alphabetical order when
7465 using the `-t' option.
7466 * tests/extradep2.test: Likewise.
7468 2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
7470 tests: fix spurious failure of txinfo21.test on FreeBSD
7471 * tests/txinfo21.test: Use the `is_newest' subroutine instead of
7472 the `ls -t' hack to to determine whether a file has been updated.
7473 This is required because at least FreeBSD `ls' do not sort files
7474 with the same timestamp in alphabetical order when using the `-t'
7477 2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
7479 tests: fix syntax error in 'silentcxx-gcc.test'
7480 * tests/silentcxx-gcc.test (for config_args in ...): Remove extra
7481 trailing backslash from the list of looped-on items.
7483 2011-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
7485 depmod tests: fix bug in depmodes list extraction
7486 * tests/depmod-tests.sh (get_depmodes): Use `echo $all_depmodes'
7487 instead of `... | tr "$nl" "$sp"' to strip extra whitespaces and
7488 newlines from `$all_depmodes'. The latter idiom with `tr' is
7489 wrong since it gets run before `./defs' is sourced, and thus `$nl'
7490 and `$sp' are undefined.
7491 Bug revealad by FreeBSD tr(1) implementation, which doesn't accept
7492 empty strings as arguments.
7494 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
7496 tests defs: use `skip_' for skipping java-related tests
7497 * tests/defs.in (java, javac): Use `skip_' to signal test
7500 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
7502 tests: add excerpts from few original bug reports, for clarity.
7503 * tests/comment6.test: Add excerpts and/or details from the
7504 original bug report that prompted this tests to be added and/or
7506 * tests/dejagnu4.test: Likewise.
7507 * tests/installdir.test: Likewise.
7509 2011-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
7511 lex: "make clean" removes .c files from non-distributed .l
7512 Previously, while automake did *not* distribute C source and header
7513 files derived from non-distributed Lex sources, it still caused
7514 them to be removed only by "make maintainer-clean" only, and not by
7515 simply "make clean" or "make distclean".
7516 This caused "make distcheck" to fail, unless the developer put
7517 those generated .c files in CLEANFILES or in DISTCLEANFILES by
7519 This change fixes this issue, by making non-distributed `.c' files
7520 generated by non-distributed Lex sources cleaned by "make clean".
7521 A similar problem for Yacc support had been fixed with the commit
7523 * tests/automake.in (lang_lex_target_hook): Make C source files
7524 derived from non-distributed Lex files cleaned by "make clean",
7525 not only by "make maintainer-clean".
7526 * tests/lex-clean.test: New test.
7527 * tests/lex-clean-cxx.test: Likewise.
7528 * tests/lex-nodist.test: Likewise.
7529 * tests/lex-pr204.test: Likewise.
7530 * tests/pr204.test: For consistency, renamed ...
7531 * tests/yacc-pr204.test: ... to this, and updated to keep it
7532 more in sync with 'lex-pr204.test'.
7533 * tests/yacc-nodist.test: Updated to keep it more in sync with
7535 * tests/Makefile.am (TESTS): Update.
7538 2011-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
7540 lex tests: make test on Lex dependency tracking more "semantic"
7541 * tests/lex4.test: Renamed ...
7542 * tests/lex-depend-grep.test: ... to this, and extended.
7543 * tests/lex-depend.test, tests/lex-depend-cxx.test: ... these
7545 * tests/Makefile.am (TESTS): Update.
7547 2011-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
7549 lex tests: remove erroneous check about ylwrap distribution
7550 * tests/lex5.test: Do not check that the ylwrap script is *not*
7551 distributed when there is only one lexer, as ylwrap is in fact
7552 expected to distributed unconditionally (at least starting from
7553 commit `Release-1-9-323-gc5881cc' of 19-08-2006). Note that this
7554 bogus check wasn't triggering any failure because it was done at
7555 the wrong time (i.e. from the VPATH build directory), so that it
7556 could never fail anyway.
7557 Instead, check that ylwrap is distributed even when there is only
7559 Since we are at it, add a couple of `ls -l' calls, to get better
7562 2011-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
7564 yacc tests: "make clean" removes C++ files from non-distributed .y
7565 * tests/yacc-clean-cxx.test: New test, sister of `yacc-clean.test'.
7566 * tests/yacc-clean.test: Update heading comment to reference the
7568 * tests/Makefile.am (TESTS): Update.
7570 2011-05-06 Stefano Lattarini <stefano.lattarini@gmail.com>
7572 tests: add a workaround for automake bug#8485
7573 * tests/yacc-d-cxx.test (Makefile.am): Add temporary workaround
7574 for automake bug#8485. The bug is still exposed by the testcase
7575 'yacc-dist-nobuild-subdir.test'.
7577 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
7579 tests: add a couple of inter-tests reference
7580 * tests/yacc-nodist.test, tests/pr204.test: These tests are
7581 related, so add references to each other in heading comments.
7583 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
7585 lex tests: require just `lex' instead of `flex'
7586 * tests/lex-subobj-nodep.test ($required): Require `lex',
7587 not `flex', as this test is expected to work with any lex
7589 * tests/silent-lex.test: Likewise.
7591 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
7593 tests defs: use `skip_' for skipping yacc/lex related tests
7594 * tests/defs.in (lex, bison): Use `skip_' to signal test skipping.
7596 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
7598 tests defs: merge cleanup
7599 * tests/defs.in (flex, bison): Requirements removed, we have real
7600 `lex' and `yacc' requirements now.
7602 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
7604 tests defs: allow requirements for compilers (mostly dummy)
7605 Most of the new requirements that are now accepted in `$required'
7606 as consequence of this patch are still dummy. They are planned
7607 to be implemented only in master (or in some derived branch), but
7608 having them here (even just as no-op) will allow for an easier
7609 integration/backporting of potential new testcases.
7610 * tests/defs.in (cc, c++, fortran, fortran77): New requirements,
7612 (flex): New requirement, picking LEX for configure.
7613 (lex): New requirement, alias for `flex'. A more appropriate
7614 implementation, looking for a generic `lex' program, will follow
7617 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
7619 tests: 'silent-many-gcc.test' improved and made more robust
7620 * tests/silent-many-gcc.test: Also force "fast" gcc depmode
7621 for C++ compilations. Add sanity checks verifying that the
7622 cache variables we force are really used by configure. Fix
7625 2011-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
7627 tests: drop useless requirements of 'g++'
7628 * tests/lflags2.test ($required): Remove 'g++', as any working
7629 C++ compiler should be enough, and ./configure will cause the
7630 test to skip if no working C++ compiler is found.
7631 * tests/yflags2.test: Likewise.
7632 * tests/subobj9.test: Likewise.
7633 * tests/silentcxx.test: Likewise. Also, do not force depmodes
7634 that could cause non-GNU C++ compilers to fail.
7635 * tests/silentcxx-gcc.test: New test, like `silentcxx.test',
7636 but forcing "fast" gcc depmode (and thus requiring the GNU C++
7638 * tests/specflg10.test: Add proper "fixme" comment telling that
7639 we should make this test work with a generic C++ compiler.
7640 * tests/Makefile.am (TESTS): Update.
7642 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
7644 tests defs: one more environment sanitization (corner case)
7645 * tests/defs (am__using_gmake): Initialize. The `using_gmake'
7646 subroutine was using this variable for caching, but wasn't
7647 initializing it, which could cause problems in the (admittedly
7648 very unlikely) case in which it was pre-existent in the
7651 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
7653 tests: add forgotten test scripts to $(TESTS)
7654 * tests/Makefile.am (TESTS): Added test scripts man[678].test,
7655 which have been present on the filesystem and in the repository,
7656 but which had erroneously been left out from $(TESTS).
7658 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
7660 tests: ensure verbose printing of captured make output
7661 * tests/libtool7.test: Ensure verbose printing of captured
7663 * tests/libtool9.test: Likewise.
7665 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
7667 maintcheck: consistency of list of test scripts
7668 * CheckListOfTests.am: New file.
7669 (maintainer-check-list-of-tests): New target,
7670 check for consistency between list of tests defined in the
7671 including Makefile and list of tests on the filesystem.
7672 (clean-maintcheck-testslist-tmp): New rule, to clean up the
7673 temporary files that might be left around by the rules associated
7674 with the previous target.
7675 (clean-local): Depend on it.
7676 * lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
7677 (maintainer-check): Added dependency from the new target
7678 `maintainer-check-list-of-tests'.
7679 * tests/Makefile.am: Likewise. Also ...
7680 (checked_test_extensions): Define to `.test'.
7681 (expected_test_list): Define properly.
7682 * Makefile.am (maintainer-check-list-of-test): New target,
7683 calling recursively into `tests/' and `lib/Automake/tests/',
7685 (TEST_SUBDIRS): ... this new variable.
7687 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
7689 tests: drop useless requirements of gcc (plus testsuite tweakings)
7690 * tests/libobj14.test ($required): Remove 'gcc', as we never run
7692 * tests/targetclash.test: Likewise.
7693 * tests/ansi6.test ($required): Remove 'gcc', as any working
7694 C compiler should be enough.
7695 * tests/ansi7.test: Likewise.
7696 * tests/ansi9.test: Likewise.
7697 * tests/ansi10.test: Likewise.
7698 * tests/lex5.test: Likewise.
7699 * tests/lexvpath.test: Likewise.
7700 * tests/mmodely.test: Likewise.
7701 * tests/pr204.test: Likewise.
7702 * tests/pr300-lib.test: Likewise.
7703 * tests/pr300-prog.test: Likewise.
7704 * tests/primary3.test: Likewise.
7705 * tests/specflg7.test: Likewise.
7706 * tests/specflg8.test: Likewise.
7707 * tests/subdir5.test: Likewise.
7708 * tests/subdir8.test: Likewise.
7709 * tests/subobj6.test: Likewise.
7710 * tests/subst3.test: Likewise.
7711 * tests/substre2.test: Likewise.
7712 * tests/yacc6.test: Likewise.
7713 * tests/yacc8.test: Likewise.
7714 * tests/depcomp2.test: Likewise. Also, avoid clobbering user-set
7716 * tests/lex3.test: Likewise.
7717 * tests/ansi3.test: Likewise. Also, avoid 'CC=gcc' in configure.
7718 * tests/ansi3b.test: Likewise.
7719 * tests/ansi5.test: Likewise.
7720 * tests/autohdr4.test ($required): Remove 'gcc', as any working
7721 C compiler should be enough.
7722 Also, do not reject slow dependency extractors (which we might
7723 be forced to use now that $CC is not necessarily gcc anymore).
7724 * tests/cond16.test ($required): Remove 'gcc', as any working
7725 C compiler should be enough.
7726 Since we are at it, throw in few minor tweakings (mostly cosmetic,
7727 stylistic, or consistency-related).
7728 * tests/cond18.test: Likewise.
7729 * tests/cond35.test: Likewise.
7730 * tests/gnits2.test: Likewise.
7731 * tests/libtool3.test: Likewise.
7732 * tests/libtool7.test: Likewise.
7733 * tests/libtool9.test: Likewise.
7734 * tests/ltcond.test: Likewise.
7735 * tests/ltcond2.test: Likewise.
7736 * tests/ltconv.test: Likewise.
7737 * tests/ltlibsrc.test: Likewise.
7738 * tests/nobase.test: Likewise.
7739 * tests/nobase-libtool.test: Likewise.
7740 * tests/pr220.test: Likewise.
7741 * tests/pr224.test: Likewise.
7742 * tests/pr300-ltlib.test: Likewise.
7743 * tests/pr401.test: Likewise.
7744 * tests/pr401b.test: Likewise.
7745 * tests/pr401c.test: Likewise.
7746 * tests/subpkg.test: Likewise.
7747 * tests/target-cflags.test: Likewise.
7748 * tests/transform.test: Likewise.
7749 * tests/yacc4.test: Likewise.
7750 * tests/cond19.test: Likewise. Also, avoid clobbering user-set
7752 * tests/cond4.test: Likewise.
7753 * tests/depend2.test: Likewise.
7754 * tests/pr87.test: Likewise.
7755 * tests/subobj3.test: Likewise.
7756 * tests/substref.test: Likewise.
7758 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
7760 test defs: increase coverage w.r.t. GNU make
7761 * tests/defs (GNUmake): Instead of just skipping the tests
7762 requiring GNU make if $MAKE is not GNU make, try to look for
7763 it and, if found, redefine $MAKE accordingly. This will help
7764 to transparently increase coverage on non-GNU systems which
7765 have GNU make available in PATH.
7767 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
7769 tests: improve few inter-tests references
7770 * tests/acloca22.test: Improve and extend the heading comments.
7771 Add reference to related tests 'remake-deleted-m4-file.test' and
7772 'remake-renamed-m4-macro-and-file.test'. Since we are at it,
7773 add trailing `:' command, and few blank lines for readability.
7774 * tests/remake-renamed-m4-macro-and-file.test: In the heading
7775 comments, add reference to the related test 'acloca22.test'.
7777 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
7779 tests: fix spurious failure in 'color2.test'
7780 * tests/color2.test: If $MAKE contains command-line arguments (as
7781 in e.g., "make -j2"), expect's directive "spawn $env(MAKE)" fails
7782 spuriously, because it tries to run "$MAKE" as a single command.
7783 Fix this with proper uses of the TCL `eval' builtin.
7785 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
7787 tests: few more checks on automatic remake support
7788 * tests/remake-all-1.test: New test, check that the "all" target
7789 triggers rebuilt of outdated Makefiles.
7790 * tests/remake-all-2.test: Likewise, but for when the makefiles
7791 are not named `Makefile'.
7792 * tests/Makefile.am (TESTS): Update.
7794 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
7796 tests: check some remake features with non-GNU make too
7797 * tests/acloca14.test ($required): Drop "GNUmake". This test
7798 works as-is with non-GNU make implementations.
7799 * tests/remake1a.test: Likewise.
7800 * tests/aclocal4.test ($required): Drop "GNUmake".
7801 Modify the test to have it work also with non-GNU make.
7802 * tests/remake5.test: Likewise.
7803 * tests/remake8a.test: Likewise.
7804 * tests/remake8b.test: Likewise.
7805 * tests/remake9a.test: Likewise.
7806 * tests/remake9b.test: Likewise.
7807 * tests/remake9c.test: Likewise.
7808 * tests/remake9d.test: Likewise.
7809 * tests/remake10a.test: Likewise.
7810 * tests/remake10b.test: Likewise.
7811 * tests/remake10c.test: Likewise.
7812 * tests/remake12.test: ($required): Drop "GNUmake".
7813 Adapt the test to make it work also with non-GNU make (if
7814 it supports an "include" directive).
7816 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
7818 tests: extend tests on dependency tracking with VPATH
7819 * tests/depmod-tests.sh: New script, fulfilling a threefold role:
7820 1. it is called to generate a Makefile.am snippet, containing the
7821 definition of proper lists of tests;
7822 2. it is called to set up a directory containing some common data
7823 files and autotools-generated files used by the aforementioned
7824 tests (this is done for speed reasons only); and
7825 3. it is called to properly run those tests, one at a time.
7826 * tests/depcomp9.test: Delete, it's obsolete now.
7827 * tests/depcomp10.test: Likewise.
7828 * tests/Makefile.am ($(srcdir)/depmod-tests.am): Include this
7829 snippet, which defines ...
7830 (depmode_tests): ... this new macro, containing the list of the
7831 newly generated `*.depmod' tests.
7832 (TESTS_EXTENSIONS): Add `.depmod'.
7833 (DEPMOD_LOG_COMPILER): Define. It calls `depmod-tests.sh', so that
7834 the "depmode tests" will be executed by passing that driver script
7836 ($(depmod_tests)): New dependency declaration (dummy, but required
7837 in order to have make actually produce expected log files from the
7838 `.depmod.log' suffix rule).
7839 (TESTS): Add $(depmod_tests).
7840 (EXTRA_DIST): Distribute depmod-tests.sh.
7841 Other minor cosmetic changes and reorderings.
7842 * bootstrap: Generate depmod-tests.am.
7843 * tests/.gitignore: Updated.
7845 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
7847 tests: avoid extra test generation (for `instspc' tests)
7848 We don't really need to generate tons and tons of wrapper test
7849 scripts (presently, ~ 90) just to run what is basically a single
7850 test (specifically, `instspc-tests.sh') with different parameters.
7851 In fact, the possibility of running a single driver script with
7852 multiple files/configurations/parameters is one of the major
7853 selling points of the 'parallel-tests' testsuite driver of
7854 automake. So why not use ourselves more extensively the best
7855 features we provide?
7856 * tests/instspc-tests.sh: Update heading comments. Expect
7857 to be executed, not sourced. Update handling of command-line
7858 arguments. Adjust to reflect the renaming of "instspc tests"
7859 from `instspc-*.test' to `*.instspc'.
7860 * tests/instspc-data.test: Update heading comments. Execute
7861 driver script `instspc-tests.sh', instead of sourcing it.
7862 Give more informative messages in case of internal errors.
7863 * tests/Makefile.am (TESTS_EXTENSIONS): Define explicitly (to
7864 `.test' and `.instspc').
7865 (TESTS): Add `$(instspc_tests)'.
7866 (generated_tests): Remove `$(instspc_tests)'.
7867 (INSTSPC_LOG_COMPILER): Define. Calls `instspc-tests.sh', so
7868 that the "instspc tests" will be now executed by passing that
7869 driver script a proper parameter.
7870 ($(instspc_tests)): Remove, we don't need anymore to generate
7872 ($(instspc_tests:.test=.log)): Remove, substituted by ...
7873 ($(instspc_tests:.instspc=.log)): ... this.
7874 ($(instspc_tests)): New dependency declaration (dummy, but
7875 required in order to have make actually produce expected log
7876 files from the `.instspc.log' suffix rule).
7877 (MAINTAINERCLEANFILES, generated_tests): Don't extend with
7878 $(instspc_tests) anymore.
7881 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
7883 build: improve the definition of the list of testcases
7884 * tests/Makefile.am (handwritten_tests): New variable.
7885 (generated_tests): Likewise.
7886 (TESTS): Redefine as the union of the above.
7887 (EXTRA_DIST): Extend using $(handwritten_tests) and
7888 $(generated_tests) rather than $(TESTS).
7889 * tests/gen-parallel-tests: Update accordingly, and
7892 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
7894 tests skips: shorter and clearer messages
7895 * tests/defs: Use shorter messages when giving reasons for test
7896 skipping; it turns out these shorter messages are also clearer.
7897 If more info might be useful, send them to the log file only.
7899 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
7901 tests: fix self check spurious failure with older bash versions
7902 * tests/self-check-cleanup.test: Add trailing `:' to the test code
7903 passed to $SHELL, otherwise older versions of bash (at least 2.05
7904 and 3.2.39) fail to correctly remove the temporary directory in
7907 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
7909 tests: add sanity check to 'self-check-cleanup.test'
7910 * tests/self-check-cleanup.test: Check that the "hacked" file
7911 `defs-static' used by the test differs from the "vanilla" one
7912 in builddir. This also offers a little more debugging output.
7914 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
7916 testsuite: display reasons for skips to the console
7917 * tests/Makefile.am (AM_TESTS_ENVIRONMENT): Open file descriptor
7918 `9' to the original stderr; define `stderr_fileno_' to `9', and
7920 * tests/self-check-report.test: Prevent new spurious failures by
7921 removing from the environment any definition of `stderr_fileno_'.
7923 2011-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
7925 testsuite: use `skip_' for skipping of tests
7926 * tests/defs: Use the `skip_' subroutine for test skipping. Also
7927 give sometimes more detailed messages about the reasons for the
7929 * tests/canon7.test: Likewise.
7930 * tests/color.test: Likewise.
7931 * tests/color2.test: Likewise.
7932 * tests/compile2.test: Likewise.
7933 * tests/dejagnu7.test: Likewise.
7934 * tests/depcomp6.test: Likewise.
7935 * tests/depcomp9.test: Likewise.
7936 * tests/depcomp10.test: Likewise.
7937 * tests/distlinks.test: Likewise.
7938 * tests/distlinksbrk.test: Likewise.
7939 * tests/fn99.test: Likewise.
7940 * tests/fn99subdir.test: Likewise.
7941 * tests/forcemiss2.test: Likewise.
7942 * tests/fort5.test: Likewise.
7943 * tests/gettext3.test: Likewise.
7944 * tests/install2.test: Likewise.
7945 * tests/instfail-info.test: Likewise.
7946 * tests/instfail-java.test: Likewise.
7947 * tests/instfail-libtool.test: Likewise.
7948 * tests/instfail.test: Likewise.
7949 * tests/instmany-mans.test: Likewise.
7950 * tests/instmany-python.test: Likewise.
7951 * tests/instmany.test: Likewise.
7952 * tests/instsh3.test: Likewise.
7953 * tests/ltinit.test: Likewise.
7954 * tests/makej2.test: Likewise.
7955 * tests/mdate6.test: Likewise.
7956 * tests/mkinst3.test: Likewise.
7957 * tests/parallel-tests3.test: Likewise.
7958 * tests/parallel-tests-reset-term.test: Likewise.
7959 * tests/parallel-tests-unreadable-log.test: Likewise,
7960 * tests/python-virtualenv.test: Likewise.
7961 * tests/remake-gnulib-remove-header.test: Likewise.
7962 * tests/subobj9.test: Likewise.
7963 * tests/symlink2.test: Likewise.
7964 * tests/tar.test: Likewise.
7965 * tests/tar2.test: Likewise.
7966 * tests/txinfo26.test: Likewise.
7967 * tests/vala2.test: Likewise.
7968 * tests/vala3.test: Likewise.
7969 * tests/vala5.test: Likewise.
7970 * tests/vtexi4.test: Likewise.
7971 * tests/instdir-texi.test: Likewise.
7972 * tests/txinfo21.test: Likewise.
7974 2011-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
7976 testsuite: more environment sanitization
7977 * tests/defs: Move the checks verifying that the variables `me',
7978 `parallel_tests' and `required' aren't set in the environment ...
7979 * tests/defs-static.in: ... in here, with some optimizations to
7980 avoid useless forks. Also, do the same checks for the variables
7981 `original_AUTOMAKE' and `original_ACLOCAL' too.
7982 * tests/self-check-env-sanitize.test: Update.
7983 * tests/Makefile.am (TESTS_ENVIRONMENT): Unset also variables
7984 `original_AUTOMAKE' and `original_ACLOCAL'.
7986 2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
7988 tests: fix spurious failure (non-renamed AM_TESTS_SETUP usage)
7989 * tests/parallel-tests-reset-term.test: Use AM_TESTS_ENVIRONMENT
7990 instead of AM_TESTS_SETUP (which has been removed in commit
7991 v1.11-349-g12f48fa).
7992 Fix spurious failure introduced by merge `v1.11-781-gfeed175'.
7994 2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
7996 tests: fix spurious failure in a test on TESTS (VPATH-related)
7997 * tests/check-tests-in-builddir.test: When not using the
7998 parallel-tests option, do not check that VPATH components are
7999 not present in the displayed test name, since the simple-tests
8000 driver do not try to strip them.
8002 2011-04-24 Stefano Lattarini <stefano.lattarini@gmail.com>
8004 tests: fix spurious failure in self-check-env-sanitize.test
8005 * tests/self-check-env-sanitize.test: Open file descriptor `5'
8007 Fix spurious failure introduced by merge `v1.11-788-g3b0c8d5'.
8009 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
8011 test: self check subroutines for skipping/failing of tests
8012 * tests/self-check-report.test: New test.
8013 * tests/Makefile.am (TESTS): Update.
8015 2011-04-23 Jim Meyering <meyering@redhat.com>
8016 Stefano Lattarini <stefano.lattarini@gmail.com>
8018 test defs: new subroutines for test skipping/failing
8019 * tests/defs.in (Exit): Move definition of this function earlier.
8020 (warn_, skip_, fail_, framework_failure_): New functions, inspired
8021 to the homonyms in gnulib's tests/init.sh.
8022 ($stderr_fileno_): New global variable, used by the new functions
8024 * tests/README: Updated.
8025 From a suggestion by Ralf Wildenhues.
8027 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
8029 tests: fix typo (copy & paste blunder) in heading comment
8030 * tests/maintclean-vpath.test: Correctly refer to the sister test
8031 as `maintclean.test', not as `maintclean-vpath.test'.
8033 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
8035 tests: remove redundant test `mclean.test'
8036 * tests/mclean.test: Remove, it's a weak grepping test completely
8037 superseded by the much more complete `maintclean.test'.
8038 * tests/Makefile.am (TESTS): Update.
8040 2011-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
8042 java tests: use $PATH_SEPARATOR where appropriate
8043 * tests/java-compile-run-nested.test: Use `$PATH_SEPARATOR', not
8044 `:', to separate entries of extended PATH and CLASSPATH variables.
8045 * tests/java-compile-run-flat.test: Likewise.
8047 2011-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
8049 java coverage: test JAVACFLAGS and AM_JAVACFLAGS
8050 * tests/javaflags.test: New test.
8051 * tests/Makefile.am (TESTS): Update.
8053 2011-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
8055 java coverage: test rebuild rules for java
8056 * tests/java-rebuild.test: New test.
8057 * tests/Makefile.am (TESTS): Update.
8059 2011-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
8061 java coverage: try to build and run a java program
8062 * tests/java-compile-run-flat.test: New test, try to build and run
8063 a "UNIX-style" java program (complete with wrapper shell script
8064 and the like) with a "flat" source-tree setup (i.e., everything in
8065 the top-level directory).
8066 * tests/java-compile-nested.test: Likewise, but using a more
8067 typical "nested" source-tree setup.
8068 * tests/Makefile.am (TESTS): Update.
8070 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
8072 test defs: new requirement for the default java interpreter
8073 * tests/defs.in (for tool in $required): New requirement 'java'.
8075 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
8077 java tests: tweak and make stricter a couple of tests
8078 * tests/javasubst.test: Use proper m4 quoting. Add trailing `:'
8079 command. Enable `errexit' shell flag, and related changes.
8080 Prefer cat + here-doc over echo to append to configure.in.
8081 Make grepping of Makefile.in stricter. Add debugging output.
8082 Improve heading comments.
8083 * tests/javaprim.test: Likewise.
8085 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
8087 java coverage: add test on uninstall with JAVA primary
8088 * tests/java-uninstall.test: New test.
8089 * tests/Makefile.am (TESTS): Update.
8091 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
8093 java tests: require java compiler more properly
8094 * tests/java-extra.test: Use "required=javac" instead of ad-hoc
8096 * tests/java-noinst.test: Likewise.
8098 2011-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
8100 java: allow both JAVA and nobase_JAVA in the same Makefile.am
8101 * automake.in (handle_java): Also strip `nobase_' from the given
8102 prefix, when needed.
8103 * tests/java-clean.test: Update and extend.
8104 * tests/java-compile-install.test: Likewise.
8105 * tests/java-no-duplicate.test: Likewise.
8106 * tests/java-sources.test: Likewise.
8107 * tests/java-noinst.test: Likewise.
8108 * tests/java-mix-dist-nodist.test: Renamed to ...
8109 * tests/java-mix.test: ... this, and extended.
8110 * tests/java-nobase.test: New test, still xfailing due to
8112 * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
8114 2011-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
8116 testsuite: more environment sanitization
8117 * tests/defs.in: Sanity check: abort if any of `parallel_tests'
8118 or `required' is in the environment.
8119 ($sed_unindent_prog): Initialize to empty, to avoid interferences
8120 from the environment.
8121 * tests/self-check-me-in-env.test: Renamed to ...
8122 * tests/self-check-env-sanitize.test: ... this, and extended.
8123 * tests/Makefile.am (TESTS): Update.
8124 (TESTS_ENVIRONMENT): Unset variables `parallel_tests' and
8125 `required'. Adjust comments.
8127 2011-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
8129 tests: in self-checks, use $SHELL, not /bin/sh
8130 * tests/self-check-me-in-env.test: Include `./defs-static' to get
8131 the definition of `$SHELL'. Use `$SHELL' instead of `/bin/sh' to
8134 2011-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
8136 tests: prefer AM_TESTS_ENVIRONMENT to TESTS_ENVIRONMENT
8137 * tests/Makefile.am (TESTS_ENVIRONMENT): Renamed to ...
8138 (AM_TESTS_ENVIRONMENT): ... this.
8140 2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
8142 tests: don't allow `$me' to be overridden from the environment
8143 * tests/defs.in: Sanity check: abort if $me is in the environment.
8144 * tests/self-check-me-in-env.test: New test.
8145 * tests/Makefile.am (TESTS_ENVIRONMENT): Unset variable `me'.
8147 Suggestion by Ralf Wildenhues.
8149 2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
8151 check: rename AM_TESTS_SETUP -> AM_TESTS_ENVIRONMENT
8152 The AM_TESTS_SETUP naming was not a good one after all. It may
8153 be technically more correct than AM_TESTS_ENVIRONMENT, but the
8154 latter is a better one simply because it is easier to remember,
8155 and even if you've never heard of it and only know the semantics
8156 of TESTS_ENVIRONMENT, you can have a straightforward way to
8157 figure out how AM_TESTS_ENVIRONMENT would work.
8158 * tests/check.am (am__check_pre): Update.
8159 * doc/automake.in (Simple Tests using parallel-tests): Update.
8160 * tests/parallel-tests-am_tests_setup.test: Renamed ...
8161 * tests/parallel-tests-am_tests_environment.test: ... to this,
8163 * tests/Makefile.am (TESTS): Update.
8164 Suggestion and motivation by Ralf Wildenhues.
8166 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
8168 test defs: allow overriding of `$me'
8169 * tests/defs.in ($me): Allow overriding by the including test
8170 script. Add some explicative comments.
8172 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
8174 coverage: more tests on the parallel-tests driver
8175 * tests/parallel-tests-interrupt.test: New test.
8176 * tests/parallel-tests-reset-term.test: Likewise.
8177 * tests/Makefile.am (TESTS): Update.
8179 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
8181 check: new developer-reserved AM_TESTS_SETUP variable
8182 For reference, see the discussion at:
8183 <http://lists.gnu.org/archive/html/automake-patches/2011-01/msg00213.html>
8184 * lib/am/check.am [%?PARALLEL_TESTS%] (am__check_pre): Pass also
8185 $(AM_TESTS_SETUP). Comments updated, and some typos fixed.
8186 * doc/automake.texi (Simple Tests using parallel-tests): Document
8187 AM_TESTS_SETUP. Reorder some of the existing documentation a bit.
8188 * tests/parallel-tests-am_tests_setup.test: New test.
8189 From a suggestion by Ralf Wildenhues.
8191 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
8193 depcomp tests: don't reject slower dependency extractors
8194 * tests/depcomp8b.test: Add the `--enable-dependency-tracking'
8195 option to `configure' invocations, so that slower dependency
8196 extractors are not rejected.
8197 * tests/depcomp8a.test: Likewise. Also ...
8198 (foo.c): ... since we are at it, fix spacing to be consistent
8199 with GNU coding standards.
8201 2011-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
8203 m4: add missing serial numbers to a few files
8204 Fixes automake bug#8483.
8205 * m4/amversion.in: Add serial number.
8206 * m4/auxdir.m4: Likewise.
8207 * m4/gcj.m4: Likewise.
8208 * m4/install-sh.m4: Likewise.
8209 * m4/mkdirp.m4: Likewise.
8210 * m4/python.m4: Likewise.
8211 * m4/runlog.m4: Likewise.
8212 * m4/strip.m4: Likewise.
8213 * m4/upc.m4: Likewise.
8215 2011-04-16 Stefano Lattarini <stefano.lattarini@gmail.com>
8217 tests: fix few bugs in self checks
8218 Related to automake bug#8508.
8219 * tests/self-check-cleanup.test: Be laxer when grepping output
8220 from `ls -l', to account for ACLs and SELinux-only files.
8221 * tests/self-check-dir.test: Source `defs-static' to read in the
8222 correct definition for $SHELL.
8223 * tests/self-check-me.test: Likewise, and extend a bit.
8224 Report from Jim Meyering.
8226 2011-04-16 Jim Meyering <meyering@redhat.com>
8228 depcomp: correct invalid sed invocation
8229 * lib/depcomp: Insert missing -e before '/:$/d'.
8230 Otherwise, that use of sed would treat '/:$/d' as a file name.
8232 2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
8234 maintainer check: quote literal `$' in Makefile rule
8235 * Makefile.am (sc_tests_PATH_SEPARATOR): Escape literal `$'
8236 character in double-quoted string. Fix a bug in which the rule
8237 emitted an erroneously empty substring in its error message.
8239 2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
8241 tests: fix typo in python5b.test
8242 * tests/python5b.test: Remove extra `:' from $PATH redefinition.
8244 2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
8246 lex/yacc tests: remove redundant $distdir definition
8247 * tests/lex3.test ($distdir): Remove definition, that's already
8248 done in `tests/defs'.
8249 * tests/lexvpath.test: Likewise.
8250 * tests/yacc-basic.test: Likewise.
8251 * tests/yacc-cxx.test: Likewise.
8252 * tests/yacc-d-basic.test: Likewise.
8253 * tests/yacc-d-cxx.test: Likewise.
8254 * tests/yacc-d-vpath.test: Likewise.
8255 * tests/yacc-dist-nobuild-subdir.test: Likewise.
8256 * tests/yacc-dist-nobuild.test: Likewise.
8257 * tests/yacc-mix-c-cxx.test: Likewise.
8258 * tests/yaccvpath.test: Likewise.
8260 2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
8262 tests: remove redundant settings of `errexit' shell flag
8263 * tests/autodist-acconfig.test: Do not set the `errexit'
8264 shell flag, as it is already set by `tests/defs'.
8265 * tests/autodist-acconfig-no-subdir.test: Likewise.
8266 * tests/autodist-aclocal-m4.test: Likewise.
8267 * tests/autodist-config-headers.test: Likewise.
8268 * tests/autodist-configure-no-subdir.test: Likewise.
8269 * tests/autodist-stamp-vti.test: Likewise.
8270 * tests/autodist-subdir.test: Likewise.
8271 * tests/autodist.test: Likewise.
8272 * tests/check-exported-srcdir.test: Likewise.
8273 * tests/check-tests-in-builddir.test: Likewise.
8274 * tests/check-tests_environment.test: Likewise.
8275 * tests/help-python.test: Likewise.
8276 * tests/java-check.test: Likewise.
8277 * tests/java-extra.test: Likewise.
8278 * tests/java-noinst.test: Likewise.
8279 * tests/lex-subobj-nodep.test: Likewise.
8280 * tests/ltinit.test: Likewise.
8281 * tests/m4-inclusion.test: Likewise.
8282 * tests/maintclean-vpath.test: Likewise.
8283 * tests/parallel-tests-subdir.test: Likewise.
8284 * tests/pr8365-remake-timing.test: Likewise.
8285 * tests/python-dist.test: Likewise.
8286 * tests/python-vars.test: Likewise.
8287 * tests/python-virtualenv.test: Likewise.
8288 * tests/python5b.test: Likewise.
8289 * tests/specflg-dummy.test: Likewise.
8290 * tests/yacc-dist-nobuild-subdir.test: Likewise.
8292 2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
8294 test defs: define default $distdir (help reducing duplication)
8295 * tests/defs ($distdir): New variable, might be used in
8296 testcases checking distribution-related features.
8297 * tests/pr9.test: Use it.
8298 * tests/subdir9.test: Likewise.
8299 * tests/lex3.test: Likewise.
8300 * tests/lexvpath.test: Likewise.
8301 * tests/remake-moved-m4-file.test: Likewise.
8302 * tests/remake-renamed-m4-file.test: Likewise.
8303 * tests/remake-renamed-m4-macro-and-file.test: Likewise.
8304 * tests/yacc-basic.test: Likewise.
8305 * tests/yacc-d-basic.test: Likewise.
8306 * tests/yacc-d-vpath.test: Likewise.
8307 * tests/yacc-dist-nobuild.test: Likewise.
8308 * tests/vtexi3.test: Add comment explaining why we redefine
8309 $distdir in this test.
8311 2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
8313 coverage: test lex-generated "#line" directives postprocessing
8314 * tests/yacc-line.test: In heading comments, add reference to new
8315 sister test `lex-line.test'.
8316 * tests/lex-line.test: New test.
8317 * tests/Makefile.am (TESTS): Update.
8319 2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
8321 tests: minor improvements to a couple of yacc tests
8322 * tests/yacc-auxdir.test: Avoid running autoconf, it's not
8324 * tests/yacc-line.test: Also check that the yacc-generated C
8325 and header files do not contain "#line" directives referencing
8326 `y.tab.c' or `y.tab.h'. Add a couple of explicative comments.
8328 2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
8330 tests: split yacc6.test, for better separation and coverage
8331 * tests/yacc6.test: Test removed, its content extended and split
8333 * tests/yacc-auxdir.test, tests/yacc-depend.test,
8334 tests/yacc-line.test: ... these new tests.
8335 * tests/yacc-depend2.test: New test, exposes the failure that
8336 FreeBSD used to encounter in yacc6.test.
8337 * tests/Makefile.am (TESTS): Update.
8339 2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
8341 tests: do not uselessly require GNU make or gcc in a few tests
8342 * tests/lex3.test: Remove gcc from requirements, as any working C
8343 compiler should be ok. Consequently, do not clobber user CFLAGS.
8344 Also, remove GNUmake from requirements; it was added (see commit
8345 `Release-1-8-103-g0d2f592') because this test fails with FreeBSD
8346 make due to VPATH issues -- but so do many other yacc-related and
8347 lex-related tests currently, and requiring GNU make in all of
8348 them would unacceptably reduce coverage.
8349 * tests/lexvpath.test: Remove gcc from requirements, as any
8350 working C compiler should be ok.
8351 * tests/yacc4.test: Likewise.
8352 * tests/yacc8.test: Likewise.
8353 * tests/lex5.test: Likewise. Also, do not require anymore GNU
8354 make; to compensate, explicitly call "$MAKE Makefile" to update
8355 the out-of-date Makefile if $MAKE is not GNU make.
8357 2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
8359 tests: fix spurious failure in test 'yacc-d-cxx.test'
8360 * tests/yacc-d-cxx.test: Create ylwrap script before calling
8361 automake for the first time, so that the script gets correctly
8362 distributed. Add checks verifying it indeed is.
8364 2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
8366 tests cosmetics: remove redundant definitions of variable $tab
8367 * tests/yacc-d-basic.test ($tab): Remove definition: it's already
8368 defined in `tests/defs'.
8369 * tests/yacc-d-cxx.test: Likewise.
8371 2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
8373 yacc: add some tests on bison support (still xfailing)
8374 Related to automake bug#7648 and PR automake/491.
8375 * tests/bison-skeleton-cxx.test: New test.
8376 * tests/bison-skeleton.test: New test.
8377 * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
8379 2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
8381 coverage: test for automake bug#8485 (known regression)
8382 * tests/yacc-dist-nobuild-subdir.test: New test.
8383 * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
8385 2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
8387 coverage: test mixed C/C++ yacc-generated parsers in the same dir
8388 * tests/yacc-mix-c-cxx.test: New test.
8389 * tests/Makefile.am (TESTS): Update.
8391 2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
8393 cosmetics: fix typos and wording in some yacc tests
8394 * tests/yacc-cxx.test (foo.cc): Clarify comment about the content
8395 of this file being valid C++ but invalid C.
8396 (parse1.yy): Likewise. Also, remove redundant parentheses in a
8398 * tests/yacc-d-cxx.test (write_parse): Clarify comment about the
8399 content of the generated files being valid C++ but invalid C.
8400 (write_main): Likewise.
8401 * tests/yacc-basic.test: Remove redundant parentheses in a
8403 * tests/yacc-d-vpath.test: Adjust spacing around curly brackets.
8404 * tests/yaccvpath.test: Likewise.
8405 * tests/yaccdry.test: Likewise.
8406 * tests/yacc8.test: Likewise.
8407 * tests/yacc4.test: Likewise.
8408 Suggested by Ralf Wildenhues.
8410 2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
8412 yacc: update NEWS and docs about yacc-generated headers extensions
8413 * doc/automake.texi (Yacc and Lex): Document explicitly that
8414 extensions of yacc-generated headers are modelled after the
8415 extension of the corresponding sources.
8418 2011-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
8420 yacc: extension of headers modelled after extension of sources
8421 With this change, if '-d' is in *YFLAGS, a yacc input file named
8422 foo.y++ will cause a foo.h++ header to be generated, instead of a
8423 foo.h header. Similarly for foo.ypp, foo.yxx and foo.yy.
8424 This way, the name of the files generated by an automake-created
8425 `ylwrap' invocation should be consistent with those generated by
8427 Related to automake bug#7648 and PR automake/491.
8428 * lib/am/yacc.am (am__yacc_c2h): New internal variable.
8429 (?GENERIC?%EXT%%DERIVED-EXT%, ?!GENERIC?%OBJ%): Get the name of
8430 the header dynamically at make runtime, so that its extension is
8431 modelled after the extension of the source.
8432 * automake.in (lang_yacc_target_hook): Adjust the calculation of
8433 `$header' accordingly.
8434 * tests/yacc-cxx.test: New test.
8435 * tests/yacc-d-cxx.test: Likewise.
8436 * tests/yacc-weirdnames.test: Likewise.
8437 * tests/yacc-basic.test: Update comments.
8438 * tests/yacc-d-basic.test: Likewise.
8439 * tests/yaccpp.test: Updated and extended.
8440 * tests/Makefile.am (TESTS): Update.
8442 2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
8444 tests: don't define YACC and LEX in the Makefiles
8445 We don't want YACC and LEX defined as make variables, otherwise
8446 the values determined at configure time will override those from
8447 the environment, even in the make-spawned testcases. For example,
8448 before this change, with the following usage:
8449 $ ./configure YACC=yacc
8450 $ export YACC='bison -y'
8452 the testsuite would have ended up, very counterintuitively, with
8453 YACC defined to 'yacc' in the testcases' environment.
8454 * configure.ac: Call `AM_SUBST_NOTMAKE' on YACC and LEX.
8456 2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
8458 tests: fix spurious failures in lflags*.test
8459 * tests/lflags.test: Remove 'LEX' from the environment, so
8460 that it won't be erroneously picked up by `make -e'.
8461 * tests/lflags2.test: Likewise.
8463 2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
8465 coverage: more on 'yacc -d' and recovery from deleted headers
8466 * tests/yacc-deleted-headers.test: New test.
8467 * tests/Makefile.am (TESTS): Update.
8469 2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
8471 tests: remove redundancy from silent lex/yacc tests
8472 * tests/silent-yacc-gcc.test, tests/silent-yacc-generic.test: Merge
8473 these two testcases into ...
8474 * tests/silent-yacc.test: ... this new one, which doesn't fiddle
8475 which dependency tracking, as that shouldn't impact on generation
8476 of yacc-derived C source and header files (and, for what concerns
8477 compilation of C files, is already tested in other testcases).
8478 * tests/silent-lex-gcc.test, tests/silent-lex-generic.test: Merge
8479 these two testcases into ...
8480 * tests/silent-lex.test: ... this new test, for similar reasons.
8481 * tests/Makefile.am (TESTS): Update.
8483 2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
8484 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8486 tests init: better messages for 'yacc' and 'lex' requirements
8487 * tests/defs.in: Give better diagnostic messages when a test must
8488 be skipped to the unavailability of yacc or lex program. Also,
8489 improve syncing between code for requiring yacc and lex.
8491 2011-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
8493 configure: look for a lex program to be used by the testsuite
8494 This will allow the testcases requiring a 'lex' program to run also
8495 with vendor/legacy lex implementations, not only with 'flex'.
8496 * configure.ac: Look for a lex program, using AC_CHECK_PROGS.
8497 * tests/defs.in: New required entry 'lex'.
8498 ($LEX): Let the user override the lex program to be used by the
8500 * tests/cond35.test ($required): Require 'lex', not 'flex'.
8501 * tests/cond36.test: Likewise.
8502 * tests/lexv3.test: Likewise.
8503 * tests/lexv3.test: Likewise.
8504 * tests/silent-lex-gcc.test: Likewise.
8505 * tests/silent-lex-generic.test: Likewise.
8506 * tests/silent-many-gcc.test: Likewise.
8507 * tests/silent-many-generic.test:likewise.
8508 * tests/lexvpath.test: Likewise, and fix typo in comments.
8510 2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
8512 configure: look for a yacc program to be used by the testsuite
8513 Instead of forcing the user to manually export 'YACC' in the
8514 testsuite to use a non-bison yacc, we now look for a yacc program
8515 at configure time, and use that as the default in the testsuite.
8516 * configure.ac: Look for a yacc program, using AC_CHECK_PROGS.
8517 * tests/defs.in: Updated to use the value of $YACC precomputed by
8518 configure, unless the user overrides that in the environment.
8520 2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
8522 tests: more coverage on yacc/lex silent-rules, plus minor cleanups
8523 * tests/silent-yacc-gcc.test: Add sanity checks verifying that the
8524 generated Makefile.in files really contains the non-generic rules
8525 we expect. Do not redundantly manually remove files we know to be
8526 already removed "make maintainer-clean".
8527 (Makefile.am): Ensure we cover also non-generic yacc rules, by
8528 setting target-specific YFLAGS.
8529 (sub/Makefile.am): Likewise.
8530 * tests/silent-yacc-generic.test: Likewise.
8531 * tests/silent-lex-gcc.test: Likewise, but with LFLAGS instead of
8533 * tests/silent-lex-generic.test: Likewise.
8534 * tests/silent-many-gcc.test: Likewise, but with both LFLAGS and
8536 (do_and_check_verbose_build): Remove redundant blank line.
8537 * tests/silent-many-generic.test: Likewise.
8538 * tests/silent-yacc-headers.test: New test.
8539 * tests/Makefile.am (TESTS): Update.
8541 2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
8543 tests: fix spurious failures in yflags*.test
8544 * tests/yflags.test: Remove 'YACC' from the environment, so
8545 that it won't be erroneously picked up by `make -e'.
8546 * tests/yflags2.test: Likewise.
8548 2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
8550 tests: cover yacc target-specific flags, and `-v' flag handling
8551 * tests/yacc-basic.test: Also try to build a parser having `-v'
8552 as target-specific flags. Add a couple of `ls -l' commands, for
8553 debugging. Update and extend comments. Escape literal dots in
8554 grep regular expressions.
8556 2011-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
8558 docs: clustered '-d' not recognized in YFLAGS
8559 This change fixes automake bug#7828.
8560 * doc/automake.texi (Yacc and Lex): Document that automake
8561 recognizes '-d' in AM_YFLAGS only if it's not clustered with
8563 From a report by Юрий Пухальский.
8565 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
8567 tests: do not force yacc-requiring tests to use bison
8568 * tests/defs.in: New required entry 'yacc'. Remove old
8569 required entry 'bison'.
8570 * tests/cond35.test ($required): Require yacc, not bison.
8571 * tests/cond36.test: Likewise.
8572 * tests/pr204.test: Likewise.
8573 * tests/silent-many-gcc.test: Likewise.
8574 * tests/silent-many-generic.test: Likewise.
8575 * tests/silent-yacc-gcc.test: Likewise.
8576 * tests/silent-yacc-generic.test: Likewise.
8577 * tests/subpkg.test: Likewise.
8578 * tests/suffix10.test: Likewise.
8579 * tests/yacc-basic.test: Likewise.
8580 * tests/yacc-clean.test: Likewise.
8581 * tests/yacc-d-basic.test: Likewise.
8582 * tests/yacc-d-vpath.test: Likewise.
8583 * tests/yacc-dist-nobuild.test: Likewise.
8584 * tests/yacc-nodist.test: Likewise.
8585 * tests/yacc4.test: Likewise.
8586 * tests/yacc6.test: Likewise.
8587 * tests/yacc7.test: Likewise.
8588 * tests/yacc8.test: Likewise.
8589 * tests/yaccdry.test: Likewise.
8590 * tests/yaccvpath.test: Likewise.
8592 2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
8594 yacc: warn about conditional content in *YFLAGS variables
8595 This change fixes automake bug#7804.
8596 * automake.in (lang_yacc_target_hook): Warn if any of the relevant
8597 *YFLAGS variables has conditional contents (not only a conditional
8598 definition). Related refactoring.
8600 * tests/yflags-conditional.test: Updated and extended.
8601 * tests/yflags-conditional-force.test: New test.
8602 * tests/Makefile.am (TESTS): Updated.
8604 2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
8606 yacc: support variable expansions in *YFLAGS definition.
8607 This change fixes automake bug#7800.
8608 * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
8609 instead of 'variable_value' to get the value of *YFLAGS variables.
8611 ($DASH_D_PATTERN): Removed.
8612 * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
8613 * tests/yacc-clean.test: Remove workaround for now-fixed bug.
8616 2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
8618 yacc: more tests on *YFLAGS support
8619 * tests/yflags-var-expand.test: New test, still xfailing. It
8620 exposes automake bug#7800 -- "automake fails to honor `-d' in
8621 AM_YFLAGS when variable expansions are involved".
8622 * tests/yflags-d-false-positive.test: New test, checking that
8623 automake do not spuriously see `-d' in *YFLAGS when that isn't
8625 * tests/yflags-force-override.test: New test, checking that
8626 automake can cope with definition of the YFLAGS variable in
8627 Makefile.am (even if that is an extremely bad practice, as that
8628 variable is user-reserved).
8629 * tests/yflags-cmdline-override.test: New test, checking that
8630 automake can cope with user-redefinition of YFLAGS at configure
8631 time and/or at make time.
8632 * tests/yflags-conditional.test: New test, checks that automake
8633 warns on conditionally-defined *YFLAGS variables.
8634 * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
8636 2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
8638 yacc: extend and improve tests
8639 * tests/yacc-basic.test: Also check that the intermediate C file
8640 is mentioned in the generated Makefile.in, and that it is created
8641 by the first make invocation.
8642 * tests/yacc3.test: Test removed, superseded by ...
8643 * tests/yacc-d-basic.test: ... this new test.
8644 * tests/yacc2.test: Add reference to that new test in the heading
8646 * tests/yacc-d-vpath.test: New test.
8647 * tests/yaccvpath.test: Updated heading comments. Do not require
8648 gcc anymore, as any working C compiler should be enough. Remove
8650 * tests/yacc-nodist.test: New test.
8651 * tests/yacc-dist-nobuild.test: New test.
8652 * tests/Makefile.am (TESTS): Update.
8654 2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
8656 Extend, fix and improve tests on Lex and Yacc support.
8657 * tests/lexcpp.test: New test script, on support for Lex + C++.
8658 * tests/lexvpath.test: New test script, test build and rebuild
8659 rules for lexers in VPATH setup.
8660 * tests/yacc-basic.test: New test script, run simple "semantic"
8661 checks on basic Yacc support (similarly to what lex3.test does
8663 * tests/lex.test: Don't create useless dummy source file joe.l.
8664 Remove extra blank lines.
8665 * tests/lex4.test: Add trailing `:' command. Do not create dummy
8666 useless lex source file.
8667 * tests/lex2.test: Likewise. Call automake with the `-a' option,
8668 so that it doesn't fail for the absence of `ylwrap' script. Make
8669 grepping of automake stderr stricter.
8670 * tests/yacc7.test: Add trailing `:' command. Enable `errexit'
8671 shell flag earlier (just after having sourced ./defs).
8672 * tests/yacc4.test: Likewise. Also ...
8673 (configure.in): Use pre-populated skeleton set up by ./defs,
8674 instead of writing one from scratch.
8675 Other minor cosmetic changes.
8676 * tests/yacc5.test: Likewise.
8677 * tests/yaccvpath.test: Likewise. Also ...
8678 ($distdir): New variable.
8680 * tests/lex5.test: Likewise.
8681 * tests/lex3.test: Likewise. Check the distdir, rather than
8682 grepping the distribution tarball. Extend the test on the
8683 created binary, and be sure to avoid hangs. Add some comments.
8684 * tests/yacc.test: Use stricter grepping. Add trailing `:'.
8685 * tests/yacc6.test: Likewise.
8686 * tests/yacc3.test: Likewise. Do not create the unused file
8687 `Makefile.sed'. Remove useless rules from Makefile.am. Other
8688 minor cosmetic changes.
8689 * tests/yacc2.test: Make grepping of generated `Makefile.in' and
8690 of automake error messages stricter. Do not redirect output of
8691 grep to /dev/null. Move call to aclocal earlier. Reduce the
8692 number of empty blank lines. Fix a typo in comments.
8693 * tests/yacc8.test: Fixed bugs that reduced the completeness of
8694 the tests. Added trailing `:' command.
8695 (configure.in): Use pre-populated skeleton set up by ./defs,
8696 instead of writing one from scratch.
8697 * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
8698 `.yxx', rather than only `.yy'.
8699 * tests/Makefile.am (TESTS): Update.
8701 2011-01-07 Stefano Lattarini <stefano.lattarini@gmail.com>
8703 yacc: "make clean" removes .c and .h files from non-distributed .y
8704 Previously, while automake did *not* distribute C source and header
8705 files derived from non-distributed Yacc sources, it still caused
8706 them to be removed only by "make maintainer-clean" only, and not by
8707 simply "make clean" or "make distclean".
8708 This caused "make distcheck" to fail, unless the developer put
8709 those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
8711 This change fixes this issue, by making non-distributed `.c' and
8712 `.h' files generated by non-distributed Yacc sources cleaned by
8714 * tests/automake.in (lang_yacc_target_hook): Make C source and
8715 header files derived from non-distributed Yacc files cleaned by
8716 "make clean", not only by "make maintainer-clean".
8717 * tests/yacc-clean.test: New test.
8718 * tests/Makefile.am (TESTS): Update.
8721 2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
8723 depcomp: fix bugs in tests and in the depcomp script
8724 * lib/depcomp (gcc): Remove duplicated `-e' from sed invocation.
8725 * tests/depcomp10.test: Make it executable. Fix a blunder that
8726 has left part of an intended comment not prefixed by `#', thus
8727 causing shell syntax errors. In this same comment, break a
8728 too-long reported error message on multiple lines, for clarity.
8729 Add reference to the relevant bug report. Add a comment which
8730 explains why the test result 'skipped' if the first "make" call
8731 fails. Add other useful comments.
8732 * tests/depcomp9.test: Slightly improve comments.
8734 2011-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8736 Fix hp depmode for VPATH builds with GNU make.
8737 * lib/depcomp: Be sure to remove VPATH-prefixed object from
8738 dependency output when creating stub rule.
8739 * tests/depcomp10.test: New test.
8740 * tests/Makefile.am (TESTS): Update.
8742 Report by Bruno Haible.
8744 2011-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
8746 java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am
8747 Fixes automake bug#8434.
8748 * automake.in (handle_java): Strip `dist_' and `nodist_' from
8749 the given prefix. Define a new internal Makefile variable
8750 `am__java_sources'. Related adjustments.
8751 * lib/am/java.am (JAVAC, JAVAROOT, CLASSPATH_ENV): Define only the
8752 first time this am file is processed.
8753 (class%DIR%.stamp): Stamp file renamed ...
8754 (class%NDIR%.stamp): ... to this, so that the `dist_' and `nodist_'
8755 prefixes are stripped from the name of the stampfile. Adjust
8756 declaration of dependencies by using the new automake-generated
8757 internal variable `$(am__java_sources)'. In the rule, use `$@'
8758 as the name of the target, rather than hard-coding it.
8759 * tests/java.test: Update and extend.
8760 * tests/java-no-duplicate.test: New test.
8761 * tests/java-mix-dist-nodist.test: Likewise.
8762 * tests/java-compile-and-install.test: Likewise.
8763 * tests/java-clean.test: Likewise.
8764 * tests/java-sources.test: Likewise.
8765 * tests/Makefile.am (TESTS): Update.
8767 2011-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
8769 coverage: more on java support EXTRA_ and noinst_ prefixes
8770 * tests/java-extra.test: New test, checking support for the
8771 prefix `EXTRA_' with the JAVA primary.
8772 * tests/java-noinst.test: New test, checking support for the
8773 prefix `noinst_' with the JAVA primary.
8774 * tests/Makefile.am (TESTS): Update.
8776 2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
8778 test defs: fix 'javac' requirement for older JDK versions
8779 The Java compiler from JDK 1.5 (and presumably earlier versions)
8780 cannot handle the `-version' option by itself; and while it does
8781 print the version number, it then errors out with an usage error:
8784 javac: no source files
8785 Usage: javac <options> <source files>
8787 Luckily, adding the `-help' option to the `javac' invocation
8788 seems to fix this problem.
8789 * tests/defs.in (javac): Pass also the `-help' option to the
8790 `javac' program. Add a comment explaining why it is needed.
8791 Report from Ralf Wildenhues.
8793 2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
8795 test defs: new requirement for the default java compiler
8796 * tests/defs.in (for tool in $required): New requirement 'javac'.
8797 * tests/java.test: Use it instead of ad-hoc configure check.
8798 * tests/java-check.test: Likewise.
8799 * tests/java-extra.test: Likewise.
8800 * tests/java-noinst.test: Likewise.
8801 * tests/instfail-java.test: Likewise.
8802 * tests/instdir-java.test: Likewise.
8804 2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
8806 java: check_JAVA does not cause compilation by "make all" anymore
8807 Fixes automake bug#8234.
8808 * automake.in (handle_java): Make stamp of class files built from
8809 java sources in $(check_JAVA) a dependency of `check' target, not
8811 * tests/java-check.test: New test.
8812 * tests/Makefile.am (TESTS): Update.
8815 Report from Petteri Räty.
8817 2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
8818 Bruno Haible <bruno@clisp.org>
8820 coverage: add tests on remake rules in more complex situations
8821 * tests/defs (using_gmake): New function.
8822 (for tool in $required): Use it when $tool is 'GNUmake'.
8823 * tests/remake-moved-m4-file.test: New test.
8824 * tests/remake-deleted-m4-file.test: Likewise.
8825 * tests/remake-renamed-m4-file.test: Likewise.
8826 * tests/remake-renamed-m4-macro-and-file.test: Likewise.
8827 * tests/remake-renamed-m4-macro.test: Likewise.
8828 * tests/remake-add-acsubst-gnulib.test: Likewise.
8829 * tests/remake-add-header-gnulib.test: Likewise.
8830 * tests/remake-remove-header-gnulib.test: Likewise.
8831 * tests/Makefile.am (TESTS): Update.
8833 2011-04-09 Stefano Lattarini <stefano.lattarini@gmail.com>
8835 typofix in 'tests/defs'
8836 * tests/defs: Fix typo (`itslef' instead of `itself') in
8839 2011-04-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8841 Clarify regex code in depcomp.
8842 * lib/depcomp: Add comment why we don't need regex-escaping here.
8843 Suggested by Stefano Lattarini.
8845 2011-04-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8847 Fix makedepend depmode for VPATH builds.
8848 * lib/depcomp [makedepend]: Remove any VPATH prefix from the
8849 object file name, so a rebuild doesn't attempt to update the
8850 .Po files in the source tree.
8851 * tests/depcomp9.test: New test.
8852 * tests/Makefile.am (TESTS): Update.
8855 2011-04-02 Stefano Lattarini <stefano.lattarini@gmail.com>
8857 tests: fix timestamp-related failures
8858 Fixes automake bug#8365.
8859 * tests/aclocal6.test: Sleep before modifying m4 files that should
8860 trigger remake rules. Remove incorrect/obsoleted comments.
8861 * tests/subdir5.test: Likewise, and extend a bit.
8862 * tests/subdir8.test: Likewise.
8863 * tests/pr8365-remake-timing.test: New xfailing test.
8864 * tests/Makefile.am (TESTS): Update.
8865 Report from Sam Steingold.
8867 2011-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8869 Create subdirs for generated sources even when not dep tracking.
8870 * automake.in (handle_single_transform): If $object is derived
8871 and lands in subdir, be sure to output a dirstamp dependency.
8872 * tests/yacc5.test: Avoid falsely matching the dirstamp
8873 dependency when grepping for a rule.
8874 * tests/lex-subobj-nodep.test: New test.
8875 * tests/Makefile.am (TESTS): Update.
8877 Report by Ignacy Gawedzki.
8879 Fix locale issue in check-exported-srcdir.test.
8880 * tests/check-exported-srcdir.test: Reformulate glob to not fail
8881 in a locale that ignores or interleaves character case.
8883 2011-04-01 Stefano Lattarini <stefano.lattarini@gmail.com>
8885 docs: better visibility for aclocal in the index
8886 * doc/automake.texi (@menu): Rename title for entry 'configure'
8887 from "Scanning configure.ac or configure.in" to the more precise
8888 "Scanning configure.ac, using aclocal".
8889 (@detailmenu): Adjust.
8890 (@node configure): Adjust, and extend @cindex calls accordingly.
8892 From a report by Maynard Johnson.
8894 2011-03-30 Stefano Lattarini <stefano.lattarini@gmail.com>
8896 tests: improve tests on "maintainer-clean" target
8897 * tests/aclocal6.test: Move checks related to "maintainer-clean"
8898 functionalities into ...
8899 * tests/maintclean-vpath.test: ... this new test.
8900 * tests/maintclean.test: Update heading comments. Extend to also
8901 test subdirs. Remove useless disabling of YACC. Fix m4 quoting
8902 in configure.in. Add a trailing `:' command. Remove extra blank
8904 * tests/Makefile.am (TESTS): Update.
8906 2011-03-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8908 tests: fix unindent to use printf not echo for script.
8909 * tests/defs.in: Use printf rather than echo, as the latter may
8910 interpret the backslashes in the sed script. Fixes test
8911 failures with dash as /bin/sh.
8913 2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
8914 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8916 maintcheck: look for problematic names of testcases
8917 The configure.in stub created by default by `tests/defs' obtains
8918 the first argument of AC_INIT from the test name, and this can
8919 cause some supported autoconf versions to fail with a spurious
8920 error if that test name contains the name of an m4 or m4sugar
8921 builtin or macro (e.g., `defn' or `m4_undefine').
8922 See for example the bug fixed by commit v1.11-287-g1325a8a.
8923 This change add a maintainer check that warns about test names
8924 which are possibly problematic in this regard.
8925 * Makefile.am (sc_test_names): New maintainer-check target.
8926 (syntax_check_rules): Add it.
8927 (m4_builtins): New helper variable.
8928 (TESTS): Updated according to the following renamings.
8929 * tests/include.test: Renamed ...
8930 * tests/hdr-vars-defined-once.test: ... to this.
8931 * tests/sinclude.test: Renamed ...
8932 * tests/m4-inclusion.test: ... to this, and simplified
8934 * tests/include2.test: Renamed ...
8935 * tests/dist-included-parent-dir.test: ... to this, for
8938 2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
8940 tests: fix bug in alloca*.test
8941 * tests/alloca.test: Make grepping of automake stderr stricter,
8942 add a trailing `:' command; also, add AC_PROG_CC to configure.in,
8943 and create a dummy alloca.c file, to ensure that we fail for the
8945 * tests/alloca2.test: Likewise. Also, look for LT_INIT, not
8946 AC_PROG_LIBTOOL, in the error message (bug introduced with commit
8947 v1.11-315-gd51e7b7 "libtool: suggest LT_INIT if LTLIBRARIES
8949 From a report by Patrick Welche.
8951 2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
8953 cosmetics: better use of m4 quoting and m4sugar macros
8954 * m4/dmalloc.m4: Better use of m4 quoting. Bump serial number.
8955 * m4/gcj.m4: Likewise.
8956 * m4/init.m4: Likewise.
8957 * m4/install-sh.m4: Likewise.
8958 * m4/lex.m4: Likewise.
8959 * m4/multi.m4: Likewise.
8960 * m4/option.m4: Likewise.
8961 * m4/python.m4: Likewise.
8962 * m4/sanity.m4: Likewise.
8963 * m4/cond.m4: Likewise. Also, prefer the m4sugar macro 'm4_if'
8964 over the plain m4 macro 'ifelse'.
8965 * m4/depend.m4: Likewise.
8967 2011-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
8969 tests: add test about deprecated use of AC_INIT
8970 * tests/deprecated-acinit.test: New test, check that automake
8971 and autoconf complain about an old-style AC_INIT call used with
8972 a new-style AM_AUTOMAKE_INIT call.
8973 * tests/Makefile.am (TESTS): Update.
8975 2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
8977 tests: fix bug (comments-in-var-defn.test + autoconf 2.62)
8978 * tests/comments-in-var-defn.test: The configure.in stub created
8979 by default, which has the AC_INIT first argument obtained by the
8980 test name, causes autoconf 2.62 to fail with a spurious error
8981 message like: "configure.in:1: error: defn: undefined macro:".
8982 Thus, to prevent this, the test is renamed to ...
8983 * tests/comments-in-var-def.test: ... this.
8984 * tests/Makefile.am (TESTS): Updated.
8986 2011-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
8988 cosmetics: convert encoding from ISO-8859 to UTF-8
8989 * ChangeLog.03: Convert encoding to UTF-8.
8990 * ChangeLog.96: Likewise.
8991 * ChangeLog.98: Likewise.
8995 2011-03-01 Stefano Lattarini <stefano.lattarini@gmail.com>
8997 tests: extend checks on the 'unindent' shell function
8998 * tests/self-check-unindent.test: Also check that multiple
8999 instances of 'unindent' can run in parallel (this was not
9000 the case when that function used temporary files).
9002 2011-03-01 Peter Rosin <peda@lysator.liu.se>
9004 test defs: unindent without temporary file
9005 * tests/defs.in (commented_sed_unindent_prog): Commented Sed program
9006 that strips the "proper" amount of leading whitespace.
9007 (unindent): Lazily strip comments from the above program and use it
9008 to unindent without using a temporary file.
9010 2011-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
9012 libtool: suggest LT_INIT if LTLIBRARIES primary is used
9013 When the LTLIBRARIES primary was used, but $(LIBTOOL) wasn't
9014 defined, automake suggested to add a call to AC_PROG_LIBTOOL
9015 in configure.ac. But that macro is deprecated since Libtool
9016 version 1.9b (2004-08-29), in favor of the newer LT_INIT. So
9017 suggest the use of this latter macro instead.
9018 * lib/Automake/Variable.pm (%_am_macro_for_var): Pair 'LIBTOOL'
9019 with 'LT_INIT', not with 'AC_PROG_LIBTOOL'.
9020 * tests/libtool4.test: Adjust and extend. Also, add a call to
9021 macro AC_PROG_CC in configure.in, to help ensuring that automake
9022 does not fail for the wrong reasons.
9023 * tests/ltinit.test: New test, ensure that automake's libtool
9024 support works with LT_INIT-based interface.
9025 Thanks to Jack Kelly for the suggestion.
9027 2011-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
9029 tests: add testcases sanity-checking the testsuite
9030 Helper subroutines, variables and other pieces of code defined
9031 in the `tests/defs' and used by many testcases are non-obvious,
9032 and tricky to get to work portably; but until now, they weren't
9033 tested at all in a clear and self-contained way.
9034 This change should remedy to the situation.
9035 * tests/self-check-cleanup.test: New test, check removal of
9036 temporary test working directory by `./defs'.
9037 * tests/self-check-dir.test: New test, check that tests using
9038 `./defs' create a proper temporary directory, and run in it.
9039 * tests/self-check-exit.test: New test, check that, in case of
9040 failing commands, the correct exit status is passed to the exit
9041 trap installed by the `./defs' script.
9042 * tests/self-check-is_newest.test: New test, checking the
9043 `is_newest' subroutine.
9044 * tests/self-check-me.test: New test, checking that $me gets
9045 defined automatically by `tests/defs' if not set, and that it
9046 can be overridden from either the shell or the environment.
9047 * tests/self-check-sanity.test: New test, check that the sanity
9048 checks performed by the `tests/defs' script works correctly.
9049 * tests/self-check-unindent.test: New test, checking the
9050 `unindent' subroutine.
9051 * tests/Makefile.am (TESTS): Update.
9053 2011-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
9055 tests: tempdirs with restrictive permissions are cleaned correctly
9056 Before this change, the removal of a temporary test directory
9057 containing subdirectories with restrictive permissions (such as
9058 'r--r--r--') could fail.
9059 * tests/defs: Ensure that all the subdirectories of a temporary
9060 test directory have the 'read', 'write' and 'execute' bits set,
9061 before trying to remove it with `rm -rf'.
9062 * tests/Makefile.am (clean-local-check): Likewise.
9064 2011-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
9065 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9067 test defs: add subroutine for input unindenting
9068 * tests/defs.in (unindent): New subroutine.
9069 * tests/instspc-tests.sh: Use it.
9071 2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
9073 python: report the 'PYTHON' influential environment variable
9074 * m4/python.m4 (AM_PATH_PYTHON): Call AC_ARG_VAR on PYTHON.
9075 * doc/automake.texi (Python): Update and extend.
9076 * tests/help-python.test: New test.
9077 * tests/Makefile.am (TESTS): Update.
9078 * THANKS (Jack Kelly): Update e-mail address.
9079 Suggestion by Jack Kelly.
9081 2011-02-10 Stefano Lattarini <stefano.lattarini@gmail.com>
9083 tests defs: clear TESTS_ENVIRONMENT variable
9084 * tests/defs.in (TESTS_ENVIRONMENT): Unset it, so that values
9085 from environment won't interfere with the testcases.
9086 Suggestion by Ralf Wildenhues.
9088 2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
9090 tests: `instspc-*.test': do not create useless source file
9091 * tests/instspc-tests.sh (create_input_data): Do not create
9092 unused source file `source2.c'.
9094 2011-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
9096 tests: optimize `instspc-*.test' for speed
9097 After the split of `instspc.test' into various generated tests,
9098 the running time of the testsuite has noticeably increased, since
9099 all of these new generated tests must run aclocal, autoconf and
9100 automake, whereas previously they were run only once (at the
9101 beginning of `instspc.test'). But luckily, since the new tests
9102 share the same input files for the autotools, this situation can
9103 be easily worked around (at the expenses of a slight increase of
9104 complexity for the testsuite scaffolding).
9105 * tests/instspc-data.test: New helper test, properly calling
9106 the `instspc-tests.sh' script to generate input data for the
9107 others `instspc-*.test' tests.
9108 * tests/Makefile.am (TESTS): Add `instspc-data.test'.
9109 ($(instspc_tests:.test=.log)): Depend on its log file.
9110 (instspc-data.log): Depend on `instspc-tests.sh'.
9111 * tests/instspc-tests.sh: Recognize new action `generate-data',
9112 and use it to create hand-written and autotools-generated static
9113 files shared by all the `instspc-*.test' tests.
9114 When sourced by the `instspc-*.test' tests, use those previously
9115 created files instead of recreating them from scratch.
9116 (unindent, create_input_data): New subroutines.
9117 Some other related changes and refactorings.
9118 From a suggestion by Ralf Wildenhues.
9120 2011-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
9122 python: fix spurious failure in tests
9123 * tests/python-vars.test: Ignore cached values from config.site
9124 by exporting CONFIG_SITE=/dev/null. Be laxer in matching the
9125 expected values of output variables `pythondir' and `pyexecdir',
9126 since they can change quite unpredictably among different python
9127 installations. Also, avoid "hyping" debugging output, thus
9128 offering smaller trace output and more informative diff.
9129 Report and suggestions by Ralf Wildenhues.
9130 * tests/python-virtualenv.test: Require python, since we call it
9131 even after the virtualenv has been deactivated. Ignore cached
9132 values from config.site by exporting CONFIG_SITE=/dev/null.
9134 2011-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
9136 tests: tweak few tests on simple and parallel test drivers
9137 * tests/check-exported-srcdir.test: Improve heading comments.
9138 * tests/check-tests-in-builddir.test: Likewise. Also, unset the
9139 `FOO_EXIT_STATUS' variable, so that any pre-existing value in the
9140 environment won't risk to interfere with the test.
9141 Suggestions by Ralf Wildenhues.
9143 2011-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
9145 python: extend and improve tests, fix minor glitches
9146 * m4/python.m4 (AM_PATH_PYTHON): Ensure the "checking ..." messages
9147 from configure are always complete, even in case of failure. Tiny
9148 cosmetic improvement in info/error messages.
9149 * tests/python.test: Also check that automake complains if the
9150 PYTHON primary is used but the `py-compile' script is not present.
9151 Make grepping of generated Makefile.in laxer w.r.t. whitespace.
9152 Add trailing `:' command.
9153 * tests/python2.test: Remove repeated calls aclocal: they are
9154 useless because configure.in is never modified. Make grepping
9155 of automake stderr more comprehensive. Remove the pre-existing
9156 `py-compile' file before trying to install it with `--add-missing'.
9157 Add trailing `:' command.
9158 * tests/python3.test: Add trailing `:' command.
9159 * tests/python11.test: Likewise.
9160 * tests/python4.test: Likewise. Also, try to pass PYTHON config
9161 variable to configure from the environment, rather than only from
9163 * tests/python5.test: Ensure that the "checking ..." messages from
9164 configure are always complete. Use proper m4 quoting. Add a
9165 trailing `:' command.
9166 * tests/python6.test: Simplify test logic, by checking for files
9167 created by configure rather then grepping its output.
9168 * tests/python7.test: Likewise.
9169 * tests/python8.test: Also check that `$PYTHON' is meaningfully
9170 set in the ACTION-IF-TRUE argument of AM_PATH_PYTHON.
9171 * tests/python9.test: Likewise.
9172 * tests/python10.test: Add trailing `:' command.
9173 (Makefile.am): Declare `disttest' target as `.PHONY', and add
9174 an `ls -l' to its recipe, for debugging.
9175 * tests/nobase-python.test: In testing "make uninstall" and
9176 "make install" results, prefer idioms that make verbose logs
9177 more helpful. Remove a couple of lines of dead code. Add a
9178 trailing `:' command.
9179 * tests/python5b.test: New test, checking that configure performs
9180 the check on the python version even when the choice of the python
9181 interpreter is forced by the user.
9182 * tests/python-dist.test: New test, checking the distribution of
9184 * tests/python-vars.test: New test, checking that AM_PATH_PYTHON
9185 correctly set all the output variables advertised in the manual.
9186 * tests/python-virtualenv.test: New test, checking that python
9187 support offered by automake works well with "virtual python
9188 environments" created by the `virtualenv' program.
9189 * tests/instdir-prog.test: Also check `$(pyexecdir)'. Existing
9190 checks made slightly stricter.
9191 * tests/instdir-prog.test: Also check `$(pyexecdir)'. Existing
9192 * tests/instdir-ltlib.test: Likewise.
9193 * tests/Makefile.am (TESTS): Update.
9195 2011-02-01 Stefano Lattarini <stefano.lattarini@gmail.com>
9197 coverage: more tests on simple and parallel test drivers
9198 * tests/parallel-tests-subdir.test: New test.
9199 * tests/check-exported-srcdir.test: Likewise.
9200 * tests/check-tests-in-builddir.test: Likewise.
9201 * tests/check-tests_environment.test: Likewise.
9202 * tests/Makefile.am (TESTS): Update.
9204 2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
9206 tests: fix spurious failures in lflags*.test
9207 * tests/lflags.test: Remove 'LEX' from the environment, so
9208 that it won't be erroneously picked up by `make -e'.
9209 * tests/lflags2.test: Likewise.
9211 2011-01-24 Stefano Lattarini <stefano.lattarini@gmail.com>
9213 docs: color-tests issues with parallel make
9214 * doc/automake.texi (Simple Tests): Document that automatic
9215 recognition of a capable terminal attached to stdout can fail
9216 with some make implementation when running in parallel mode,
9217 thus causing colored test output not to be automatically
9218 activated when it should.
9220 2011-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
9222 coverage: test semantics of "dummy" per-target flags
9223 * tests/specflg-dummy.test: New test, ensuring that even "dummy"
9224 per-target flags triggers the use of renamed objects.
9225 * tests/Makefile.am (TESTS): Update.
9226 Suggestion by Ralf Wildenhues.
9228 2011-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
9230 tests defs: sanitize IFS
9231 * tests/defs ($IFS): Define to <space>, <tab>, <newline>.
9232 ($sp): New variable, holding a single whitespace character.
9233 ($tab): New variable, holding a tabulation character.
9234 ($nl): New variable, holding a newline character.
9236 2011-01-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9238 tests: avoid instspc* failures due to make's whitespace trimming
9239 * tests/instspc-tests.sh: Prepend './' when passing the test
9240 characters, to avoid leading whitespace characters to be trimmed
9241 from macros set from environment variables. Fixes testsuite
9242 failures with HP-UX and Tru64/OSF make.
9244 2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9246 tests: fix VPATH auto-expansion workarounds.
9247 * tests/suffix10.test, tests/suffix11.test, tests/suffix12.test,
9248 tests/suffix3.test, tests/suffix5.test, tests/suffix8.test:
9249 Ensure $< is not surrounded by white space, to prevent Solaris
9250 make from applying automatic VPATH text expansion.
9252 tests: fix VPATH auto-expansion workarounds.
9253 * tests/parallel-tests8.test, tests/suffix13.test:
9254 Ensure $< is not surrounded by white space, to prevent Solaris
9255 make from applying automatic VPATH text expansion.
9257 2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
9259 tests: fix spurious failures in yflags*.test
9260 * tests/yflags.test: Remove 'YACC' from the environment, so
9261 that it won't be erroneously picked up by `make -e'.
9262 * tests/yflags2.test: Likewise.
9264 2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9266 tests: avoid fn99*.test failures due to buggy AIX 5.3 cp -R.
9267 * tests/fn99.test, tests/fn99subdir.test: Skip if an initial
9268 `cp -R' of the subdir tree already fails; AIX 5.3 cp messes
9269 up its internal memory when copying this tree.
9271 2011-01-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9272 Stefano Lattarini <stefano.lattarini@gmail.com>
9274 Add comment to check-TESTS rule working around make 3.80 bug.
9275 * lib/am/check.am (check-TESTS): Update comment.
9277 2011-01-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9279 tests: less strict double-colon spy.test again.
9280 * tests/spy.test: We know BSD make doesn't invoke more than one
9281 double-colon rule, so no need to expose that failure.
9283 2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9285 install-sh: avoid Tru64 sh `test' operator precedence issues.
9286 * lib/install-sh: Protect file names and directory components
9287 that consist of `=', `(', `)', or `!'. Move protection as early
9288 as possible, to avoid errors such as with Tru64 sh `test -z ='.
9289 * tests/instsh2.test: Extend test to cover more possibilities.
9290 Fixes 1.12 instspc-equal-install.test failure on Tru64/OSF 5.1.
9292 2011-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
9293 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9295 docs: automake testsuite doesn't use TESTS_ENVIRONMENT anymore
9296 * doc/automake.texi (Simple Tests): Do not claim Automake uses
9297 TESTS_ENVIRONMENT for the perl driver. Instead, point to the
9298 parallel-tests driver.
9300 2011-01-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9302 tests: check for presence of cscope with redirected input.
9303 * tests/defs: Add required test for cscope.
9304 Fixes cscope3.test hang with Sun C 5.9 cscope.
9306 tests: avoid false failure in cygnus-dependency-tracking.test.
9307 * tests/cygnus-dependency-tracking.test: Be less restrictive
9308 when grepping the compiler error message, GCC 3.4.6 on FreeBSD
9309 does not mention an undefined symbol.
9311 2011-01-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9313 tests: revert not turning off errexit in instspc-test.sh
9314 * tests/instspc-tests.sh: Turn off errexit while sourcing defs,
9315 the scripts might still not be clean.
9317 2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9319 tests: work around Tru64 sh -e issues for instspc*.test.
9320 Apparently, Tru64 sh does not like turning off errexit mode,
9322 * tests/defs: Document 'errexit' cleanliness requirement.
9323 * tests/defs-static.in: Likewise. Avoid error from command
9324 substitution to abort instspc*.test with Tru64/OSF 5.1 sh.
9325 * tests/instspc-tests.sh: Drop now-unneeded temporary errexit
9326 dropping. Add strategic '|| Exit' to let tests work on Tru64.
9328 2011-01-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9330 Allow _AM_DEPENDENCIES to be used later in configure.
9331 * m4/depend.m4 (_AM_DEPENDENCIES): Remove a previously existing
9332 conftest.dir before recreating it.
9334 Report by Eric Blake, from report by Scott McCreary against M4.
9336 2011-01-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9338 tests: avoid failure on w32 file systems.
9339 * tests/parallel-tests-unreadable-log.test: SKIP if file cannot
9340 be turned unreadable.
9342 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9344 tests: allow double-colon spy.test to work with HP-UX make.
9345 * tests/spy.test: Fix comment typos. Ensure prerequisites we
9346 do not want to depend on are strictly older than the target.
9347 Also test with a target out of date wrt. more than one rule.
9349 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9351 Avoid local $_ perl variable, for Perl before 5.9.1.
9352 * lib/Automake/Options.pm (_process_option_list): Do not
9353 lexically localize $_. Fixes bootstrap on AIX 5.1.
9354 Bug introduced in commit `v1.11-622-gf90a06c'.
9356 2011-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
9358 tests: remove useless requirements from cond36.test
9359 * tests/cond36.test ($required): Remove.
9360 Since we are at it, add a trailing `:' command.
9362 2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9364 tests: avoid failing command substitution in errexit mode.
9365 * tests/vartypo2.test, tests/vartypos.test: Rewrite to not use
9366 a command substitution with a nonzero exit status, that causes
9367 IRIX and Tru64/OSF sh to fail the whole test.
9369 2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9370 Stefano Lattarini <stefano.lattarini@gmail.com>
9372 parallel-tests: work around Tru64/OSF 5.1 sh read bugs.
9373 * lib/am/check.am ($(TEST_SUITE_LOG), recheck, recheck-html):
9374 Test file readability before redirecting input from it, to avoid
9375 exiting Tru64/OSF 5.1 sh which treats read as special builtin.
9376 * tests/parallel-tests-unreadable-log.test: New test.
9377 * tests/Makefile.am (TESTS): Update.
9380 2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9382 * NEWS, README: Update copyright years.
9384 2011-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
9386 tests: hard error in case of internal failures or signal caught
9387 * tests/defs: Exit with status 99 (hard error) rather than
9388 1 (failure) on unexpected/internal errors, or when a signal
9389 is caught by the client script.
9391 Tests defs: don't let useless variables leak in test scripts.
9392 * tests/defs ($priv_check_temp, $overwrite_status, $ro_dir_temp,
9393 $create_status, $r2h, $libtool_found, $gettext_found, $aclocaldir,
9394 $extra_includes): Unset once they've served their purpose.
9396 2011-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9398 Fix parallel-tests.test failure with HP-UX make.
9399 * tests/parallel-tests.test: Sleep inside inner tests, so logs
9400 are newer than logs of tests they depend on, for HP-UX make.
9402 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9404 docs: ensure example are separated with empty lines in the input
9405 * doc/automake.texi (Extending aclocal, Emacs Lisp, Rebuilding)
9406 (API Versioning, Renamed Objects, Multiple Outputs): Add empty
9407 lines before `@example' and after `@end example' lines, so info
9408 output is rendered correctly, and a following @noindent honored.
9409 Report by Stefano Lattarini.
9411 2011-01-15 Jim Meyering <meyering@redhat.com>
9413 tests: fix comment typo
9414 * tests/substref.test: Fix grammar in a comment.
9416 2011-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
9418 tests: fix spurious failures in two texinfo tests
9419 * tests/txinfo.test ($required): Add 'makeinfo'.
9420 * tests/txinfo8.test: Create a dummy 'textutils.info' file, so
9421 that make won't try to run makeinfo (which could be unavailable)
9423 Found by NixOS Hydra, reported by Ralf Wildenhues.
9425 2011-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
9427 Update docs w.r.t. warning and strictness options.
9428 * doc/automake.texi (Strictness): Document that some warnings are
9429 turned off by default in `foreign' strictness.
9430 (Options): Divide into new sections "Options generalities" and
9431 "List of Automake options". Fix typo (colon instead of full
9432 stop). Document option precedence (AUTOMAKE_OPTIONS wins over
9433 AM_INIT_AUTOMAKE which wins over command line). Also document
9434 interactions between options specifying strictness and those
9435 specifying warnings.
9437 More tests on warnings/strictness precedence.
9438 * tests/warning-groups-win-over-strictness.test: New test, similar
9439 to `warnings-win-over-strictness.test', but checking the explicit
9440 catch-all warning flags (like `-Wall' and `-Wnone').
9441 * tests/Makefile.am (TESTS): Update.
9443 Update NEWS about the warnings-over-strictness precedence.
9444 * NEWS: Automake explicit warning levels always take precedence
9445 over the implicit warning levels implied by Automake strictness.
9447 For PR automake/547:
9448 Warnings win over strictness in AUTOMAKE_OPTIONS.
9449 Ensure that, for what concerns the options specified in
9450 AUTOMAKE_OPTIONS, explicitly-defined warnings always take
9451 precedence over implicit strictness-implied warnings.
9452 This finally fixes Automake bug#7669 a.k.a. PR/547.
9453 * automake.in (handle_options): Call 'process_option_list'
9454 only once per set of options.
9455 * lib/Automake/Options.pm (process_global_option_list,
9456 process_option_list): Add sanity checks.
9457 ($_options_processed, $_global_options_processed): New
9458 internal variables, used by the sanity checks above.
9459 * tests/warnings-win-over-strictness.test: Extend.
9461 For PR automake/547:
9462 Change signature of 'Automake::Options::_process_option_list()'.
9463 This only modifies internal details in the automake implementation,
9464 bearing no externally visible effect, but preparing the way for the
9465 final fix of Automake bug#7669 a.k.a. PR/547.
9466 * lib/Automake/Options.pm (_process_option_list): Accept as
9467 arguments a list of hash references with keys 'option' and 'where',
9468 where 'option' is an option as might occur in AUTOMAKE_OPTIONS or
9469 AM_INIT_AUTOMAKE, and 'where' is the location where it occurred.
9470 (process_option_list, process_global_option_list): Updated.
9471 * automake.in (handle_options, scan_autoconf_traces): Update.
9473 Add more tests about AUTOMAKE_OPTIONS.
9474 In view of soon-to-follow refactorings (still in the pursuit of a
9475 fix for Automake bug#7669 a.k.a. PR/547), add some more tests on
9476 AUTOMAKE_OPTIONS support, to prevent obvious regressions.
9477 * tests/amopts-variable-expansion.test: New test.
9478 * tests/amopts-location.test: Likewise.
9479 * tests/Makefile.am (TESTS): Update.
9481 For PR automake/547:
9482 Warnings win over strictness in AM_INIT_AUTOMAKE.
9483 This change ensures that, for what concerns the options specified
9484 in AM_INIT_AUTOMAKE, explicitly-defined warnings always take
9485 precedence over implicit strictness-implied warnings. Related to
9486 Automake bug#7669 a.k.a. PR/547.
9487 * lib/Automake/Options.pm (_process_option_list): Parse explicit
9488 warnings only after the strictness level has been set. Fix POD
9490 * tests/warnings-win-over-strictness.test: Extend.
9492 For PR automake/547:
9493 Warnings win over strictness on command line.
9494 Ensure that, on the command line at least, explicitly defined
9495 warnings always take precedence over implicit strictness-implied
9496 warnings. Related to Automake bug#7669 a.k.a. PR/547.
9497 * automake.in (parse_arguments): Parse warnings only after the
9498 strictness level has been processed.
9499 * tests/gnuwarn.test: Update, plus miscellaneous improvements.
9500 * tests/warnings-win-over-strictness.test: New test.
9501 * tests/Makefile.am (TESTS): Update.
9503 More tests on warnings and strictness.
9504 * tests/warnings-strictness-interactions.test: New test.
9505 * tests/warnings-unknown.test: Likewise.
9506 * tests/Makefile.am (TESTS): Update.
9508 New test on silent-rules mode and portability warnings.
9509 * tests/silent-nowarn.test: New test.
9510 * tests/Makefile.am (TESTS): Update.
9512 Add new tests on strictness and warnings precedence and overriding.
9513 * tests/strictness-override.test: New test.
9514 * tests/strictness-precedence.test: New test.
9515 * tests/warnings-override.test: New test.
9516 * tests/warnings-precedence.test: New test.
9517 * tests/Makefile.am (TESTS): Update.
9519 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9521 Fix remake rule-induced test failures with HP-UX make.
9522 * tests/remake1a.test: Require GNU make.
9524 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9526 Fix remake rule-induced test failures with HP-UX make.
9527 * tests/colon6.test: Update timestamp of subdir Makefile, so we
9528 do not spuriously invoke the nonexistent toplevel am--refresh
9531 tests: fix typos in colon6.test
9532 * tests/colon6.test: Fix typos.
9534 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9535 Stefano Lattarini <stefano.lattarini@gmail.com>
9537 tests: explain MSYS setup failure issue, improve test.
9538 * tests/defs: Add comment and failure message, improve fail
9541 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9543 Fix libobj2.test failure with non-GNU make: define $(AR).
9544 * tests/libobj2.test: Ensure $(AR) is suitably defined.
9546 2011-01-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9548 tests: avoid spurious failures due to fork failure in test setup
9549 * tests/defs: Ensure $me is always nonempty, to avoid spurious
9550 failures on MinGW/MSYS in case the preceding sed command could
9553 Avoid configure warnings from wait about reused PIDs.
9554 * m4/sanity.m4 (AM_SANITY_CHECK): Hide wait stderr output.
9555 Fixes spurious failure of depcomp2.test.
9557 2011-01-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9559 Avoid testsuite failures due to Autoconf Fortran change.
9560 Autoconf v2.68-21-g727ce95 causes AC_F77_LIBRARY_LDFLAGS to
9561 require computing the canonical host name. Ensure config.guess
9562 and config.sub files are present for respective checks.
9563 * tests/compile_f_c_cxx.test: Add stub files.
9564 * tests/flibs.test: Likewise.
9565 * tests/fort4.test: Use $AUTOMAKE -a for installing files.
9567 2011-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
9569 docs: clustered '-d' not recognized in YFLAGS
9570 This change fixes automake bug#7828.
9571 * doc/automake.texi (Yacc and Lex): Document that automake
9572 recognizes '-d' in AM_YFLAGS only if it's not clustered with
9574 From a report by Юрий Пухальский.
9576 2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
9578 tests: add checks on automatically-distributed files
9579 Related to automake bug#7819.
9580 * tests/autodist.test: New test.
9581 * tests/autodist-subdir.test: Likewise.
9582 * tests/autodist-acconfig.test: Likewise.
9583 * tests/autodist-acconfig-no-subdir.test: Likewise.
9584 * tests/autodist-aclocal-m4.test: Likewise.
9585 * tests/autodist-config-headers.test: Likewise.
9586 * tests/autodist-configure-no-subdir.test: Likewise.
9587 * tests/autodist-stamp-vti.test: Likewise.
9588 * tests/Makefile.am (TESTS): Update.
9590 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
9592 tests: do not force yacc-requiring tests to use bison
9593 * tests/defs.in: New required entry 'yacc'. Remove old
9594 required entry 'bison'.
9595 * tests/cond35.test ($required): Require yacc, not bison.
9596 * tests/cond36.test: Likewise.
9597 * tests/pr204.test: Likewise.
9598 * tests/silent-many-gcc.test: Likewise.
9599 * tests/silent-many-generic.test: Likewise.
9600 * tests/silent-yacc-gcc.test: Likewise.
9601 * tests/silent-yacc-generic.test: Likewise.
9602 * tests/subpkg.test: Likewise.
9603 * tests/suffix10.test: Likewise.
9604 * tests/yacc-basic.test: Likewise.
9605 * tests/yacc-clean.test: Likewise.
9606 * tests/yacc-d-basic.test: Likewise.
9607 * tests/yacc-d-vpath.test: Likewise.
9608 * tests/yacc-dist-nobuild.test: Likewise.
9609 * tests/yacc-nodist.test: Likewise.
9610 * tests/yacc4.test: Likewise.
9611 * tests/yacc6.test: Likewise.
9612 * tests/yacc7.test: Likewise.
9613 * tests/yacc8.test: Likewise.
9614 * tests/yaccdry.test: Likewise.
9615 * tests/yaccvpath.test: Likewise.
9617 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
9619 tests: more consistent checks about invalid options
9620 * tests/aclocal.test: Grepping of automake stderr for messages
9621 reporting invalid options made stricter.
9622 * tests/no-outdir-option.test: Likewise. Also, create a dummy
9623 `Makefile.am', to ensure that the automake failures are really
9624 caused only by unrecognized options.
9625 * tests/automake.test: Added trailing `:' command. Removed
9626 redundant checks on `--help' and `--version' option (already
9627 performed in the test `help*.test').
9629 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
9631 tests: enable 'errexit' shell flag by default.
9632 * tests/defs: Enable `errexit' shell flag (near the end).
9633 Removed redundant comment about the enabling of shell traces.
9634 * tests/README (Writing test cases): Update, and use nicer
9635 formatting in a couple of places.
9636 * All tests: Adjusted by removing now-redundant calls to
9639 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
9641 tests: work around a texi+cygnus bug causing a spurious XFAIL
9642 * tests/txinfo5b.test: New test, like txinfo5.test but calling
9643 automake with the `-Wno-override' option to work around a bug
9644 in the texinfo + cygnus interaction.
9645 * tests/txinfo5.test: Update heading comments.
9646 * tests/Makefile.am (TEST): Updated.
9648 2011-01-09 Dave Hart <davehart@gmail.com> (tiny change)
9650 Fix another typo in Rule.pm comment.
9651 * lib/Automake/Rule.pm: Fix typo.
9653 2011-01-09 Peter Rosin <peda@lysator.liu.se>
9655 Fix another typo in Rule.pm comment.
9656 * lib/Automake/Rule.pm: Fix typo.
9658 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
9660 tests: texinfo unrecognized extensions
9661 * tests/txinfo-unrecognized-extension.test: New test.
9662 * tests/Makefile.am (TESTS): Update.
9664 Improve, extend and tweak tests on Texinfo support.
9665 * tests/instdir-texi.test: Add a call to `ls -l' after that to
9666 `make', for debugging. When looking for required tools, do not
9667 redirect the output of "$tool --help" to /dev/null, and do not
9668 uselessly run it in a subshell.
9669 * tests/txinfo.test: Rewritten to run autoconf, ./configure and
9670 make. All checks moved into Makefile.am.
9671 * tests/txinfo8.test: Likewise, and modernize the generated
9673 * tests/txinfo2.test: Moved checks into Makefile.am, and other
9675 * tests/txinfo5.test: Enable `errexit' shell flag, and related
9676 changes. Add trailing `:' command.
9677 * tests/txinfo6.test: Likewise, and make grepping of generated
9678 Makefile.in stricter.
9679 * tests/txinfo7.test: Enable `errexit' shell flag, and related
9680 changes. Add trailing `:' command. Do not add unnecessary stuff
9682 * tests/txinfo9.test: Verify that more targets which are expected
9683 to be generated only once really are. Make grepping less strict,
9684 to avoid exposing too much internal details. More minor changes.
9685 * tests/txinfo16.test: Add trailing `:'. Prefer cat over echo
9686 for appending to configure.in. Updated/fixed heading comments.
9687 * tests/txinfo23.test: Likewise, and extended a little by making
9688 it check that no info file is created in the $(srcdir).
9689 * tests/txinfo24.test: Likewise.
9690 * tests/txinfo25.test: Likewise.
9691 * tests/txinfo18.test: Add trailing `:'. Prefer cat over echo
9692 for appending to configure.in. Also, check that index files are
9693 cleaned also by "make clean", not only by "make distclean".
9694 * tests/txinfo22.test: Prefer `$me' over hard-coded test name,
9695 and added trailing `:' command. This testcase also used to check
9696 that automake ignores in-line comments when using variables, but
9697 preserves them in the output; these checks (added in commit
9698 "Release-1-7f-4-g9177ef8") do not really pertain to this test,
9699 so they have been moved ...
9700 * tests/comments-in-var-defn.test: ... into this new test.
9701 * tests/txinfo4.test: Escape literal dots in grep regexps. Add
9702 trailing `:' command.
9703 * tests/txinfo29.test: Likewise. Relax grepping of generated
9704 Makefile.in w.r.t. whitespaces. Prefer `cat' over `echo' to
9705 append to configure.in.
9706 * tests/txinfo3.test: Likewise.
9707 * tests/vtexi.test: Improve grepping of Makefile.in (sometimes
9708 make it stricter, sometimes laxer). Move `set -e' setting just
9709 after the inclusion of ./defs. De-uglify a sed command. Other
9710 minor cosmetic improvements.
9711 * tests/vtexi2.test: Make grepping of Makefile.in stricter. Add
9712 trailing `:' command.
9713 * tests/vtexi3.test: New test on version.texi support.
9714 * tests/vtexi4.test: Likewise.
9715 * tests/Makefile.am (TESTS): Updated.
9717 2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
9719 tests: fix spurious failure in 'tests/yflags-conditional.test'
9720 * tests/yflags-conditional.test: Filter out message "warnings are
9721 treated as errors" from automake stderr, to avoid a false positive
9722 when grepping for extraneous warning messages.
9724 2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
9726 yacc: warn about conditional content in *YFLAGS variables
9727 This change fixes automake bug#7804.
9728 * automake.in (lang_yacc_target_hook): Warn if any of the relevant
9729 *YFLAGS variables has conditional contents (not only a conditional
9730 definition). Related refactoring.
9732 * tests/yflags-conditional.test: Updated and extended.
9733 * tests/yflags-conditional-force.test: New test.
9734 * tests/Makefile.am (TESTS): Updated.
9736 2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
9738 yacc: support variable expansions in *YFLAGS definition.
9739 This change fixes automake bug#7800.
9740 * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
9741 instead of 'variable_value' to get the value of *YFLAGS variables.
9743 ($DASH_D_PATTERN): Removed.
9744 * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
9745 * tests/yacc-clean.test: Remove workaround for now-fixed bug.
9748 2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
9750 yacc: more tests on *YFLAGS support
9751 * tests/yflags-var-expand.test: New test, still xfailing. It
9752 exposes automake bug#7800 -- "automake fails to honor `-d' in
9753 AM_YFLAGS when variable expansions are involved".
9754 * tests/yflags-d-false-positive.test: New test, checking that
9755 automake do not spuriously see `-d' in *YFLAGS when that isn't
9757 * tests/yflags-force-override.test: New test, checking that
9758 automake can cope with definition of the YFLAGS variable in
9759 Makefile.am (even if that is an extremely bad practice, as that
9760 variable is user-reserved).
9761 * tests/yflags-cmdline-override.test: New test, checking that
9762 automake can cope with user-redefinition of YFLAGS at configure
9763 time and/or at make time.
9764 * tests/yflags-conditional.test: New test, checks that automake
9765 warns on conditionally-defined *YFLAGS variables.
9766 * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
9768 2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
9770 yacc: extend and improve tests
9771 * tests/yacc-basic.test: Also check that the intermediate C file
9772 is mentioned in the generated Makefile.in, and that it is created
9773 by the first make invocation.
9774 * tests/yacc3.test: Test removed, superseded by ...
9775 * tests/yacc-d-basic.test: ... this new test.
9776 * tests/yacc2.test: Add reference to that new test in the heading
9778 * tests/yacc-d-vpath.test: New test.
9779 * tests/yaccvpath.test: Updated heading comments. Do not require
9780 gcc anymore, as any working C compiler should be enough. Remove
9782 * tests/yacc-nodist.test: New test.
9783 * tests/yacc-dist-nobuild.test: New test.
9784 * tests/Makefile.am (TESTS): Update.
9786 2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
9788 Extend, fix and improve tests on Lex and Yacc support.
9789 * tests/lexcpp.test: New test script, on support for Lex + C++.
9790 * tests/lexvpath.test: New test script, test build and rebuild
9791 rules for lexers in VPATH setup.
9792 * tests/yacc-basic.test: New test script, run simple "semantic"
9793 checks on basic Yacc support (similarly to what lex3.test does
9795 * tests/lex.test: Don't create useless dummy source file joe.l.
9796 Remove extra blank lines.
9797 * tests/lex4.test: Add trailing `:' command. Do not create dummy
9798 useless lex source file.
9799 * tests/lex2.test: Likewise. Call automake with the `-a' option,
9800 so that it doesn't fail for the absence of `ylwrap' script. Make
9801 grepping of automake stderr stricter.
9802 * tests/yacc7.test: Add trailing `:' command. Enable `errexit'
9803 shell flag earlier (just after having sourced ./defs).
9804 * tests/yacc4.test: Likewise. Also ...
9805 (configure.in): Use pre-populated skeleton set up by ./defs,
9806 instead of writing one from scratch.
9807 Other minor cosmetic changes.
9808 * tests/yacc5.test: Likewise.
9809 * tests/yaccvpath.test: Likewise. Also ...
9810 ($distdir): New variable.
9812 * tests/lex5.test: Likewise.
9813 * tests/lex3.test: Likewise. Check the distdir, rather than
9814 grepping the distribution tarball. Extend the test on the
9815 created binary, and be sure to avoid hangs. Add some comments.
9816 * tests/yacc.test: Use stricter grepping. Add trailing `:'.
9817 * tests/yacc6.test: Likewise.
9818 * tests/yacc3.test: Likewise. Do not create the unused file
9819 `Makefile.sed'. Remove useless rules from Makefile.am. Other
9820 minor cosmetic changes.
9821 * tests/yacc2.test: Make grepping of generated `Makefile.in' and
9822 of automake error messages stricter. Do not redirect output of
9823 grep to /dev/null. Move call to aclocal earlier. Reduce the
9824 number of empty blank lines. Fix a typo in comments.
9825 * tests/yacc8.test: Fixed bugs that reduced the completeness of
9826 the tests. Added trailing `:' command.
9827 (configure.in): Use pre-populated skeleton set up by ./defs,
9828 instead of writing one from scratch.
9829 * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
9830 `.yxx', rather than only `.yy'.
9831 * tests/Makefile.am (TESTS): Update.
9833 2011-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
9835 cosmetics: remove trailing whitespaces
9836 * doc/automake.texi: Remove trailing whitespaces.
9837 * tests/cond13.test: Likewise.
9838 * tests/cond14.test: Likewise.
9839 * tests/fort4.test: Likewise.
9840 * tests/fort5.test: Likewise.
9841 * tests/libobj17.test: Likewise.
9842 * tests/suffix7.test: Likewise.
9843 * tests/vtexi2.test: Likewise.
9845 automake: minor fixes in comments
9846 * automake.in: Some minor fixes and enhancements in comments.
9848 2011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9850 Add test coverage for deleted header files.
9851 * tests/depcomp6.test, tests/depcomp7.test: Update tests to
9852 also check for the deleted header bug. If no dependency
9853 tracking mechanism could be found, SKIP rather than exit
9854 successfully. Use GNU style spacing and ANSI C prototypes.
9856 Fix typos in Rule.pm comments.
9857 * lib/Automake/Rule.pm: Fix typos in comments.
9859 docs: split 'amhello Explained' node.
9860 * doc/automake.texi (amhello Explained): Split node ...
9861 (amhello's configure.ac Setup Explained)
9862 (amhello's Makefile.am Setup Explained) : ... into these two.
9863 (Top, Hello World): Adjust, and add @anchor for stable URL links.
9864 Suggestion by Karl Berry in automake bug#7766.
9866 2011-01-08 Karl Berry <karl@freefriends.org>
9867 Eric Blake <eblake@redhat.com>
9869 docs: reference defining directories in amhello node.
9870 * doc/automake.texi (amhello Explained): Point to Autoconf
9871 manual for how to convert directory values into macros.
9872 (Optional): Fix grammar nit.
9874 2011-01-07 Stefano Lattarini <stefano.lattarini@gmail.com>
9876 yacc: "make clean" removes .c and .h files from non-distributed .y
9877 Previously, while automake did *not* distribute C source and header
9878 files derived from non-distributed Yacc sources, it still caused
9879 them to be removed only by "make maintainer-clean" only, and not by
9880 simply "make clean" or "make distclean".
9881 This caused "make distcheck" to fail, unless the developer put
9882 those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
9884 This change fixes this issue, by making non-distributed `.c' and
9885 `.h' files generated by non-distributed Yacc sources cleaned by
9887 * tests/automake.in (lang_yacc_target_hook): Make C source and
9888 header files derived from non-distributed Yacc files cleaned by
9889 "make clean", not only by "make maintainer-clean".
9890 * tests/yacc-clean.test: New test.
9891 * tests/Makefile.am (TESTS): Update.
9894 2011-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
9896 * NEWS: Fix typo (forgotten word).
9898 2011-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
9899 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9901 docs: how to work around checks on invalid primary/directory couples
9902 * doc/automake.texi (Uniform): Document the blessed idiom which can
9903 be used to work around automake checks on invalid primary/directory
9904 couples (such as `lib_PROGRAMS' or `doc_LIBRARIES').
9906 2010-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
9908 Tests: normalize use of the 'errexit' shell flag.
9909 * tests/maken3.test (check_targets): Remove redundant call to
9911 * tests/maken4.test: Likewise.
9912 * tests/ansi5.test: Call 'set -e' just after './defs' has been
9914 * tests/ansi6.test: Likewise.
9915 * tests/ansi7.test: Likewise.
9916 * tests/cond16.test: Likewise.
9917 * tests/cond17.test: Likewise.
9918 * tests/cond18.test: Likewise.
9919 * tests/cond19.test: Likewise.
9920 * tests/cond20.test: Likewise.
9921 * tests/cond21.test: Likewise.
9922 * tests/instdat2.test: Likewise.
9923 * tests/instdir-texi.test: Likewise.
9924 * tests/parallel-tests3.test: Likewise.
9925 * tests/remake1a.test: Likewise.
9926 * tests/ccnoco.test: Likewise, and add trailing `:' command.
9927 * tests/comment4.test: Likewise.
9928 * tests/gcj4.test: Likewise.
9929 * tests/nodist2.test: Likewise.
9930 * tests/nodist3.test: Enable 'errexit' shell flag (this should
9931 have been done in commit v1.11-248-g317e17b, but the relevant
9932 hunk has been forgotten somehow).
9933 * tests/output.test: Likewise.
9934 * tests/gnits2.test: Likewise, and display captured stderr to
9935 script's stderr, not to script's stdout.
9936 * tests/gnits3.test: Likewise. Also, prefer 'cat' over 'echo'
9937 to append to Makefile.am, and really check that the exit status
9938 of "make installcheck" indicates failure.
9940 2011-01-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9942 Sync auxiliary files from upstream.
9943 * lib/config.guess, lib/config.sub, lib/texinfo.tex:
9946 Avoid caching bug in cygnus mode test.
9947 * tests/cygnus-requires-maintainer-mode.test: Remove
9948 autom4te.cache directory before rerunning aclocal, to
9949 remove trace caches.
9951 Fix maintainer-check regression.
9952 * tests/subobj11a.test: Pass DISTCHECK_CONFIGURE_FLAGS in the
9955 Bump copyright years.
9956 * aclocal.in (write_aclocal, version): Bump copyright years.
9957 * automake.in (gen_copyright, version): Likewise.
9958 * doc/automake.texi: Likewise.
9960 2010-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
9962 * NEWS: Add missing blank line between two entries.
9964 2010-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
9966 Improve and extend tests `suffix*.test'.
9967 * tests/suffix.test: Check that suffix rules for C compilation are
9968 only included once. Try also with a static library.
9969 * tests/suffix2.test: Add a new grep to help potential debugging.
9970 Do not run automake with the `--add-missing' options, since we
9971 already create all the needed auxiliary files. Try also *without*
9972 the `no-dependencies' automake option.
9973 * tests/suffix4.test: Make grepping of Makefile.in stricter.
9974 * tests/suffix3.test: Rewritten to run also autoconf, ./configure
9976 * tests/suffix5.test: Likewise.
9977 * tests/suffix6.test: Fix botched recipe indentation (eight spaces
9978 were used instead of a tabulation character). Extend to check
9979 that `.obj' is handled like `.$(OBJEXT)' (as is done for `.o').
9980 Improved parsing & grepping of generated Makefile.in. Other minor
9981 fixes and improvements.
9982 * tests/suffix10.test: Move some checks in Makefile.am. Also run
9984 * tests/suffix12.test: Likewise, and account for VPATH issues in
9985 weaker make implementations.
9986 * tests/suffix11.test: Likewise. Also, run "make distcheck", for
9987 completeness, and related changes.
9988 * tests/suffix8.test: Likewise. Also, do not put `gcc' anymore
9990 * tests/suffix13.test: Do not use the `--force-missing' automake
9991 option unnecessarily.
9992 * tests/suffix6b.test: New test, semantic sister of `suffix6.test'.
9993 * tests/suffix6c.test: Likewise.
9994 * tests/Makefile.am (TESTS): Updated.
9996 2010-12-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9997 Stefano Lattarini <stefano.lattarini@gmail.com>
9999 Work around a bug in file-inclusion mechanism of Solaris make.
10000 * automake.in (handle_single_transform): In the name of the
10001 dependency file: collapse multiple slash characters into a single
10003 * tests/subobj11a.test: New test.
10004 * tests/subobj11b.test: Likewise.
10005 * tests/subobj11c.test: Likewise.
10006 * tests/depcomp8a.test: Likewise.
10007 * tests/depcomp8b.test: Likewise.
10008 * tests/Makefile.am (TESTS): Updated.
10010 Report by Stefano Lattarini, quick fix by Ralf Wildenhues, final
10011 patch and tests by Stefano Lattarini.
10013 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
10015 Fix two spurious testsuite failures on IRIX 6.5.
10016 * tests/suffix13.test (Makefile.am): Account for VPATH issues on
10017 weaker make implementations (e.g. IRIX 6.5).
10018 * tests/parallel-tests8.test: Likewise, plus a required related
10020 Reported by Ralf Wildenhues. The bugs have been there from the
10021 first versions of the affected test scripts.
10023 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
10025 docs: cygnus mode doesn't require AM_CYGWIN32 macro.
10026 * doc/automake.texi (Cygnus): Mode 'cygnus' does not require
10027 the AM_CYGWIN32 macro (and indeed hasn't required it since at
10028 least commit Release-1-2-31-g3038064 "merged changes from
10029 Cygnus" of 1997-08-25).
10031 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
10033 Add some tests on 'cygnus' mode.
10034 * tests/clean2.test: Extend.
10035 * tests/cygnus-check-without-all.test: New test.
10036 * tests/cygnus-dependency-tracking.test: Likewise.
10037 * tests/cygnus-distclean.test: Likewise.
10038 * tests/cygnus-imply-foreign.test: Likewise.
10039 * tests/cygnus-no-dist.test: Likewise.
10040 * tests/cygnus-no-installinfo.test: Likewise.
10041 * tests/cygnus-requires-maintainer-mode.test: Likewise.
10042 * tests/Makefile.am (TESTS): Update.
10044 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
10046 Fix parallel testsuite run with Zsh.
10047 This change deals with a Zsh incompatibility in the handling
10048 of the special shell variable `$0' in sourced files; this
10049 incompatibility used to cause utter breakage when the
10050 Automake testsuite was run in parallel mode with Zsh as
10051 the $(TEST_LOG_COMPILER).
10052 For more information, please refer to the thread "Fix parallel
10053 testsuite run with zsh" on automake-patches, dated 2010-12-22:
10054 <http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00135.html>
10055 This change works around the problems described above for Zsh 4.3
10056 or later, and offers better error messages (instead of random
10057 failures) for earlier Zsh version.
10058 * tests/README (Supported shells): When describing the manual
10059 workaround about the Zsh incompatibility in the handling of `$0',
10060 tell that it is now needed only with Zsh versions preceding 4.3.
10061 Done also some minor rewordings.
10062 * tests/defs-static.in ($argv0): New variable, offers a workaround
10063 for the Zsh incompatibility in the handling of `$0'.
10064 Abort if that variable cannot be correctly set (can happen only
10065 in older Zsh version).
10066 * tests/defs ($me): Define using `$argv0', not `$0'.
10068 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
10070 Tests defs: keep track of original $AUTOMAKE and $ACLOCAL values.
10071 This is especially useful for tests which might want to run
10072 automake and aclocal without additional flags and warnings.
10073 * tests/defs-static.in ($original_ACLOCAL): New variable.
10074 ($original_AUTOMAKE): Likewise.
10075 * tests/help.test: Use them.
10076 * tests/help2.test: Likewise.
10077 * tests/help3.test: Likewise.
10078 * tests/help4.test: Likewise.
10079 From a suggestion by Ralf Wildenhues.
10081 2010-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
10083 distlinksbrk.test: Work around botched "make -k".
10084 * tests/distlinksbrk.test: Run "make" multiple times and grep
10085 its output each time for a single error message, rather than
10086 running "make -k" one single time and grepping its output for
10087 all the expected error messages. This should work around make
10088 implementations with limited (broken?) `-k' support; for more
10089 information, see these subthreads on the automake-patches list:
10090 - 2010-11-15, "Testsuite failures on HP-UX 11.23",
10091 <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00162.html>
10092 - 2010-11-15, "Testsuite failures on IRIX 6.5",
10093 <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00166.html>
10095 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
10097 Minor improvements to test 'amopts.test'.
10098 * tests/amopts.test: Remove botched comment. Make grepping of
10099 automake stderr slighty stricter. Add trailing `:' command.
10101 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
10103 backcompat6.test: avoid comments inside recipe commands.
10104 * tests/backcompat6.test: Remove shell comments from makefile rule
10105 commands, as they are not portable to (at least) Tru64 make.
10107 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
10109 man8.test: avoid comments inside recipe commands.
10110 * tests/man8.test: Remove shell comments from makefile rule
10111 commands, as they are not portable to (at least) Tru64 make.
10113 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
10115 Fix sed-related buglet in test "subdir5.test"
10116 * tests/subdir5.test: Always terminate text passed to the
10117 `i' sed command with a newline, to work around limitations
10118 in e.g. older OpenBSD sed.
10120 2010-12-21 Stefano Lattarini <stefano.lattarini@gmail.com>
10122 Fix spurious failures in tests on AC_CONFIG_AUX_DIR.
10123 * tests/auxdir7.test: Do not try to needlessly overwrite the files
10124 `install-sh' and `missing'. This avoid spurious failures in "make
10125 distcheck", when those files might be copied as read-only from the
10127 * tests/auxdir8.test: Likewise.
10129 2010-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
10131 Make test 'posixsubst-script' portable to MinGW/MSYS.
10132 * tests/posixsubst-script.test: Ensure that the generated dummy
10133 scripts really start with a shebang line, to work around a
10134 limitation of 'test -x' on MinGW/MSYS.
10135 Reported by Ralf Wildenhues.
10137 Improve comments in tests `posixsubst*.test'.
10138 * tests/posixsubst-data.test: Improve comment explaining why we
10139 try also empty match suffix.
10140 * tests/posixsubst-extradist.test: Likewise.
10141 * tests/posixsubst-ldadd.test: Likewise.
10142 * tests/posixsubst-libraries.test: Likewise.
10143 * tests/posixsubst-ltlibraries.test: Likewise.
10144 * tests/posixsubst-programs.test: Likewise.
10145 * tests/posixsubst-scripts.test: Likewise.
10146 * tests/posixsubst-sources.test: Likewise.
10147 * tests/posixsubst-tests.test: Likewise.
10148 Suggested by Ralf Wildenhues.
10150 2010-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
10152 docs: fix blunder in example about python extension modules
10153 * doc/automake.texi (Python): Use `quaternion_la_SOURCES',
10154 not `quaternion_SOURCES', to declare the sources of python
10155 extension module `quaternion.la'.
10157 2010-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
10159 docs: list LTLIBRARIES among Automake primaries
10160 * doc/automake.texi (Uniform): List `LTLIBRARIES' among
10161 the Automake primaries.
10163 2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
10164 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10166 Tests defs: requirement 'xsi-shell' must be synced with libtool.
10167 * tests/defs (xsi-shell): Add comment telling to keep the
10168 XSI-conformance checks in sync with libtool.
10170 2010-12-17 Stefano Lattarini <stefano.lattarini@gmail.com>
10172 Minor cleanups in canon7.test.
10173 * tests/canon7.test (_foo_bar_SOURCES): Remove libs.c.
10174 (configure.in): Remove AC_PROG_CXX.
10176 2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10178 Avoid false positive in sc_tests_plain_make maintainer-check.
10179 * Makefile.am (sc_tests_plain_make): Ensure to only match full
10180 `make' words. Avoid false positive with remake11.test.
10182 2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10184 Fix canon7.test failure.
10185 * tests/canon7.test (_foo_bar_SOURCES): Add foobar.c.
10186 (lib.h, libd.c, libs.c): Use const for constant strings.
10188 2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10190 Fix typos in test comments.
10191 * tests/posixsubst-data.test, tests/posixsubst-extradist.test,
10192 tests/posixsubst-ldadd.test, tests/posixsubst-libraries.test,
10193 tests/posixsubst-ltlibraries.test, tests/posixsubst-programs.test,
10194 tests/posixsubst-scripts.test, tests/posixsubst-sources.test,
10195 tests/posixsubst-tests.test: Fix typos.
10197 2010-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
10199 More uses of AS_HELP_STRING in automake macros.
10200 * m4/depend.m4 (AM_DEP_TRACK): Use `AS_HELP_STRING' to format
10201 the help message added to the generated configure.
10202 * m4/dmalloc.m4 (AM_WITH_DMALLOC): Likewise.
10203 * m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
10204 * m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
10205 * m4/multi.m4 (AM_ENABLE_MULTILIB): Likewise.
10206 Also, bumped all serial numbers of the modified m4 files.
10208 2010-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
10210 Improve tests on generated portions of configure help screen.
10211 * tests/help-depend.test: Grepping of configure help screen
10212 relaxed to cater for possible line wrapping, and tightened in
10214 * tests/help-depend2.test: Likewise.
10215 * tests/help-dmalloc.test: Likewise.
10216 * tests/help-lispdir.test: Likewise.
10217 * tests/help-maintainer.test: Likewise.
10218 * tests/help-multilib.test: Likewise.
10219 * tests/help-silent.test: Likewise.
10220 * tests/help-upc.test: Likewise.
10221 * tests/help-init.test: Grepping of configure help screen
10224 2010-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
10226 Extended tests on AC_CONFIG_AUX_DIR.
10227 * tests/auxdir.test: Enable `errexit' shell flag. Prefer `$me'
10228 over hard-coded test name. Use proper m4 quoting. Add trailing
10230 * tests/auxdir2.test: Likewise. Try to call automake also with
10231 the `-a' option, so that it will not fail for spurious reasons.
10232 * tests/auxdir3.test: Add an explanatory comment and a trailing
10234 * tests/auxdir4.test: Prefer `$me' over hard-coded test name.
10235 Make grepping of automake stderr slightly stricter. Also, now
10236 this test just checks about Automake's reaction to unportable
10237 auxiliary directory names (and it has been extended in this
10238 respect). Moved the checks about non-existent auxiliary
10240 * tests/auxdir5.test: ... this new test.
10241 * tests/auxdir6.test: New test.
10242 * tests/auxdir7.test: Likewise.
10243 * tests/auxdir8.test: Likewise.
10244 * tests/auxdir9.test: Likewise.
10245 * tests/Makefile.am (TESTS): Updated.
10247 2010-12-06 Stefano Lattarini <stefano.lattarini@gmail.com>
10249 Tests: extend checks on remake rules.
10250 This adds proper semantical tests (i.e. run make to check the
10251 rebuild rules are correctly triggered) in addition to tentative
10252 grepping of the generated Makefile.in(s).
10253 * tests/remake.test: Enable `errexit' shell flag, and related
10254 changes. Modernize `configure.in'. Add trailing `:' command.
10255 Improve heading comments, and add a reference to new sister test
10257 * tests/remake3.test: Likewise (but with sister test being
10259 * tests/remake2.test: Improve heading comments. Enable `errexit'
10260 shell flag, and related changes. Modernize `configure.in'. Make
10261 grepping of `Makefile.in' slightly stricter. Add trailing `:'
10263 * tests/remake5.test: Also run the `distcheck' target. Add
10264 trailing `:' command. Use proper m4 quoting in configure.in.
10265 * tests/remake4.test: Prefer `$me' over hard-coded test name.
10266 * tests/remake7.test: Use the `configure.in' stub created by
10267 ./defs, rather than writing it from scratch.
10268 * tests/remake6.test: Likewise. Also, add trailing `:' command,
10269 and ensure verbose printing of captured make output.
10270 * tests/remake1a.test: New test, sister of remake.test.
10271 * tests/remake3a.test: New test, sister of remake3.test.
10272 * tests/remake8a.test: New test.
10273 * tests/remake8b.test: Likewise.
10274 * tests/remake9a.test: Likewise.
10275 * tests/remake9b.test: Likewise.
10276 * tests/remake9c.test: Likewise.
10277 * tests/remake9d.test: Likewise.
10278 * tests/remake10a.test: Likewise.
10279 * tests/remake10b.test: Likewise.
10280 * tests/remake10c.test: Likewise.
10281 * tests/remake11.test: Likewise.
10282 * tests/remake12.test: Likewise.
10283 * tests/Makefile.am (TESTS): Updated.
10285 2010-12-11 Stefano Lattarini <stefano.lattarini@gmail.com>
10287 Improve and extend tests on canonicalization.
10288 * tests/canon-name.test: Add trailing `:' command. When writing
10289 configure.in, prefer to use $me instead of hard-coding the test
10291 * tests/canon3.test: Prefer trailing `:' over trailing `Exit 0'.
10292 * tests/canon4.test: Likewise. Make grepping of Makefile.in
10293 stricter. Improve heading comment, and add reference to ...
10294 * tests/canon6.test: ... this new test (sister test of the
10296 * tests/canon.test: Prefer cat + here-doc over echo to append
10297 text to configure.in. Extend grepping of Automake stderr. Add
10298 trailing `:' command.
10299 * tests/canon5.test: Likewise.
10300 * tests/canon7.test: New file, stress test on canonicalization.
10301 * tests/canon8.test: New test, for better coverage (check that
10302 the `@' character is not transliterated in canonicalizations).
10303 * tests/Makefile.am: Updated.
10305 2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
10307 Libobj tests: refer to automake bug tracker for limitations.
10308 * tests/libobj15b.test (configure.in): In the comment explaining
10309 why an apparently redundant AC_OUTPUT is indeed needed, refer
10310 to the relevant entry in the Automake bug tracker rather than
10311 describing the bug in detail with a FIXME-style comment.
10312 * tests/libobj15c.test: Likewise.
10313 * tests/libobj20b.test: Likewise.
10315 Libobj tests: do not use `##' automake comments in-line.
10316 * tests/libobj19.test (Makefile.am): Do not use inline `##'
10317 comments in the definition of AUTOMAKE_OPTIONS.
10318 * tests/libobj20c.test: Likewise.
10319 Report by Ralf Wildenhues.
10321 2010-12-12 Stefano Lattarini <stefano.lattarini@gmail.com>
10323 Tests defs: more uses of $top_testsrcdir.
10324 * tests/compile6.test: Use `$top_testsrcdir' instead of
10327 2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
10329 Tests required tools: also try `-v' option for GNU compilers.
10330 * tests/defs.in: In the loop on "$required" tools, for gcc
10331 and g++, also run "gcc -v" (resp. "g++ -v"), to get more
10332 information, and for consistency with gcj.
10334 2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
10335 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10337 Tests defs: avoid some useless subshells.
10338 * tests/defs: In the loop on "$required" tools: avoid subshells
10341 2010-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
10343 Extend tests on AC_LIBOBJ and friends.
10344 * tests/aclibobj.test: Removed, superseded by ...
10345 * tests/libobj-basic.test: ... this new test, which runs autoconf,
10346 ./configure and make, to ensure everything really works.
10347 * tests/libobj3.test: Add trailing `:' command. Escape literal
10348 dot in grep regexp.
10349 * tests/libobj4.test: Enable `errexit' shell flag, and related
10350 changes. Add trailing `:' command. Use proper m4 quoting.
10351 * tests/ltlibobjs.test: Likewise.
10352 * tests/libobj5.test: Enable `errexit' shell flag, and related
10353 changes. Add trailing `:' command. Make more robust by using
10354 longer filenames to be grepped.
10355 * tests/libobj8.test: Enable `errexit' shell flag, and related
10356 changes. Add trailing `:' command. Use the configure.in
10357 stub provided by ./defs, rather than writing it from scratch.
10358 * tests/libobj2.test: Likewise. Also, add calls to autoconf,
10359 ./configure and make, to ensure everything really works.
10360 * tests/libobj7.test: Likewise, and ensure that at least one
10361 function listed in AC_REPLACE_FUNCTIONS is truly replaced.
10362 * tests/libobj13.test: Make grepping of Automake stderr slightly
10363 stricter. Add trailing `:' command.
10364 * tests/libobj12.test: Likewise. Also, prefer "cat + here-doc"
10365 over "echo" to append to Makefile.am, and some cosmetic changes
10367 * tests/libobj14.test: Call `Exit 1' if sourcing of ./defs fails.
10368 Slighty improve m4 quoting. Add trailing `:' command.
10369 * tests/libobj10.test: Add calls to autoconf, ./configure and
10370 make, to ensure everything really works. Also, remove tests that
10371 nonexistent source for AC_LIBOBJ cause an Automake failure: this
10372 is already checked by ...
10373 * tests/libobj15a.test: ... this new test.
10374 * tests/libobj15b.test: New test, sister test of libobj15a.test,
10375 checks AC_LIBSOURCE instead of AC_LIBOBJ.
10376 * tests/libobj15c.test: New test, sister test of libobj15a.test,
10377 checks AC_LIBSOURCES instead of AC_LIBOBJ.
10378 * tests/libobj11.test: Removed, superseded by ...
10379 * tests/libobj16a.test: ... this new test.
10380 * tests/libobj16b.test: New test, sister test of libobj16a.test,
10381 but using oldish/deprecated idioms.
10382 * tests/libobj17.test: New test.
10383 * tests/libobj18.test: Likewise.
10384 * tests/libobj19.test: Likewise.
10385 * tests/libobj20a.test: Likewise.
10386 * tests/libobj20b.test: Likewise.
10387 * tests/libobj20c.test: Likewise.
10388 * tests/Makefile.am (TESTS): Updated.
10390 2010-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
10392 Test `$(var:suf=rpl)' expansion in special automake variables.
10393 * tests/posixsubst-data.test: New test.
10394 * tests/posixsubst-extradist.test: Likewise.
10395 * tests/posixsubst-ldadd.test: Likewise.
10396 * tests/posixsubst-libraries.test: Likewise.
10397 * tests/posixsubst-ltlibraries.test: Likewise.
10398 * tests/posixsubst-programs.test: Likewise.
10399 * tests/posixsubst-scripts.test: Likewise.
10400 * tests/posixsubst-sources.test: Likewise.
10401 * tests/posixsubst-tests.test: Likewise.
10402 * tests/Makefile.am (TESTS): Update.
10404 2010-12-07 Stefano Lattarini <stefano.lattarini@gmail.com>
10406 Make tests `colon*.test' more "semantic".
10407 Prefer running configure and make over grepping the generated
10408 files; this is both more correct and less fragile.
10409 * tests/colon.test: Made more "semantic", as described above.
10410 * tests/colon5.test: Likewise.
10411 * tests/colon6.test: Likewise.
10412 * tests/colon7.test: Likewise.
10413 * tests/colon2.test: Likewise, and improve syncing with sister
10414 test `colon3.test'.
10415 * tests/colon3.test: Likewise (but with the sister test being
10416 `colon2.test' here).
10418 2010-12-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10420 Avoid running installed automake from 'libtool --help'.
10421 * tests/subobj9.test: Export AUTOCONF and AUTOMAKE.
10422 Together with fixed Libtool, this fixes check-coverage to not
10423 invoke installed automake.
10425 2010-12-06 Stefano Lattarini <stefano.lattarini@gmail.com>
10427 Separate checks on target overriding into multiple test scripts.
10428 * tests/overrid.test: Deleted, its contents separated into ...
10429 * tests/override-suggest-local.test: ... this new test ...
10430 * tests/override-html.test: ... and this new test ...
10431 * tests/override-conditional-1.test: ... and this new test ...
10432 * tests/override-conditional-2.test: ... and this new test (still
10434 * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
10436 Enable `set -e' in more tests (plus some tweakings).
10437 * tests/implicit.test: Enable `errexit' shell flag, and related
10438 changes. Add trailing `:' command.
10439 * tests/insh2.test: Likewise.
10440 * tests/instman2.test: Likewise.
10441 * tests/interp.test: Likewise.
10442 * tests/interp2.test: Likewise.
10443 * tests/library.test: Likewise.
10444 * tests/mclean.test: Likewise.
10445 * tests/info.test: Enable `errexit' shell flag, and related
10446 changes. Add trailing `:' command. Remove useless chaff from
10447 generated Makefile.am. Add a "FIXME" comment.
10448 * tests/include.test: Enable `errexit' shell flag, and related
10449 changes. Add trailing `:' command. Prefer cat + here-doc over
10450 echo to append to configure.in. Make tests more robust by using
10451 longer and less common names to grep. Remove an useless call to
10452 echo. Remove an useless subshell.
10453 * tests/header.test: Enable `errexit' shell flag, and related
10454 changes. Use proper m4 quoting. Add excerpts from the original
10455 report of the bug tested for by this script.
10456 * tests/gcj.test: Enable `errexit' shell flag, and related
10457 changes. Use proper m4 quoting. Add trailing `:' command.
10458 * tests/gcj3.test: Likewise.
10459 * tests/ldflags.test: Likewise.
10460 * tests/libtool.test: Likewise.
10461 * tests/listval.test: Likewise.
10462 * tests/javaprim.test: Likewise, and prefer cat + here-doc over
10463 echo to append to configure.in.
10464 * tests/javasubst.test: Likewise.
10465 * tests/discorver.test: Enable `errexit' shell flag. Prefer
10466 trailing `:' over trailing `Exit 0'.
10467 * tests/instdat.test: Enable `errexit' shell flag, and related
10468 changes. Use proper m4 quoting. Avoid useless subshell. Prefer
10469 cat + here-doc over echo to append to configure.in.
10470 * tests/libtool2.test: Enable `errexit' shell flag, and related
10471 changes. Add trailing `:' command. Use the configure.in
10472 stub provided by ./defs, rather than writing it from scratch.
10474 Modernize, improve and/or tweak some test scripts.
10475 * tests/maintclean.test: Use proper m4 quoting. Add trailing `:'
10477 * tests/sinclude.test: Likewise, and add a couple of blank lines,
10479 * tests/make.test: Move setting of `errexit' shell flag earlier in
10480 the script (just after inclusion of ./defs). Use the configure.in
10481 stub created by ./defs, rather than writing it from scratch. Some
10482 cosmetic changes in spacing. Ensure we wait enough time before
10483 touching configure.in to trigger the rebuild rules.
10484 * tests/makej.test: Use `$me' instead of hard-coding the test
10485 name. Add trailing `:' command.
10486 * tests/version7.test: Likewise.
10487 * tests/space.test: Enable `errexit' shell flag, and related
10489 * tests/makevars.test: Likewise. Also, prefer trailing `:' over
10490 trailing `Exit 0', and be more tolerant of white spaces when
10491 grepping Makefile.in.
10493 2010-12-02 Stefano Lattarini <stefano.lattarini@gmail.com>
10495 * tests/silent8.test: Use "|| Exit 1" after ". ./defs".
10497 Enable `set -e' in more tests (plus some tweakings).
10498 * tests/mkinstall.test: Enable `errexit' shell flag, and related
10499 changes. Add a trailing `:' command, if needed.
10500 * tests/mdate2.test: Likewise.
10501 * tests/objc.test: Likewise.
10502 * tests/noinst.test: Likewise.
10503 * tests/outdir.test: Likewise.
10504 * tests/number.test: Likewise.
10505 * tests/pluseq.test: Likewise.
10506 * tests/req.test: Likewise.
10507 * tests/rulepat.test: Likewise.
10508 * tests/specflg6.test: Likewise.
10509 * tests/spell3.test: Likewise.
10510 * tests/parse.test: Likewise, and ...
10511 (configure.in): Use the stub created by ./defs, rather than
10512 writing it from scratch. Remove useless calls to AC_PROG_RANLIB
10514 * tests/mdate4.test: Likewise.
10515 * tests/mkinstall.test: Likewise, and ...
10516 (configure.in): ... drop useless call to `AC_OUTPUT'.
10517 * tests/output.test: Enable `errexit' shell flag, and related
10518 changes. Add a trailing `:' command.
10519 (configure.in): Modernize.
10520 * tests/output2.test: Likewise.
10521 * tests/output3.test: Likewise.
10522 * tests/output4.test: Likewise.
10523 * tests/mdate3.test: Enable `errexit' shell flag, and related
10524 changes. Prefer `$me' over hard-coded test name. Do not move
10525 non-existent or useless files in the build auxiliary directory.
10526 * tests/nodistdir.test: Enable `errexit' shell flag, and related
10527 changes. Prefer trailing `:' over trailing `Exit 0'.
10528 * tests/nodist.test: Likewise. Also, prefer cat + here-doc over
10529 echo to create input test files, and do not create useless dummy
10531 * tests/nodist2.test: Likewise.
10532 * tests/ppf77.test: Enable `errexit' shell flag, with related
10533 changes. Add a trailing `:' command. Do not create useless
10534 dummy source files.
10535 * tests/spelling.test: Enable `errexit' shell flag, with related
10536 changes. Add a trailing `:' command. Also, grep Automake error
10538 * tests/specflg3.test: Enable `errexit' shell flag, with related
10539 changes. Avoid unportable use of `-e' option of fgrep. Prefer
10540 trailing `:' over trailing `Exit 0'. Remove extra empty lines,
10541 and cosmetic changes to whitespaces.
10542 * tests/obsolete.test: Enable `errexit' shell flag, with related
10543 changes. Improve verbosity. Other miscellaneous changes.
10545 2010-11-30 Stefano Lattarini <stefano.lattarini@gmail.com>
10547 Improve and extend tests on `:=' variable assignments.
10548 * tests/colneq.test: Avoid redundant use of variable assignments
10549 in Makefile.am. Use command-line automake options instead of
10550 editing AUTOMAKE_OPTIONS in Makefile.am. Make grepping of the
10551 generated Makefile.in slightly stricter. Add a trailing `:'
10553 * tests/colneq2.test: Do not create unneeded dummy files. Run
10554 also autoconf, ./configure and make. Add trailing `:' command.
10555 * tests/colneq3.test: New test, similar to colneq.test, but
10556 running also autoconf, ./configure and make.
10557 * tests/Makefile.am (TESTS): Update.
10559 2010-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
10561 Remove long-deprecated options --Werror and --Wno-error.
10562 These options has been deprecated at least since commit
10563 "Release-1-6-1b-35-gc037f20", dated 2002-07-06.
10564 * automake.in (parse_arguments): Do not recognize anymore options
10565 `--Werror' and `--Wno-error' as synonyms of respectively `-Werror'
10567 * tests/werror.test: Update: use `-Werror' instead of `--Werror'.
10570 2010-11-25 Stefano Lattarini <stefano.lattarini@gmail.com>
10572 Fix spurious failures in `silent*.test' for $CC != gcc
10573 In some tests on automake-produced silent rules, we forced the
10574 use of gcc depmode to improve testsuite coverage; but this has
10575 unsurprisingly led to spurious failures when some non-GNU C
10576 compilers were used. So we are now careful to require GCC in
10577 tests that force gcc depmode.
10578 From reports by Ralf Wildenhues.
10579 * tests/silent5.test: Test removed, its content split into ...
10580 * tests/silent-many-generic.test, tests/silent-many-gcc.test: ...
10581 these new sister tests, the latter of which forces gcc depmode
10582 and lists "gcc" in $required.
10583 * tests/silentlex.test: Test removed, its content split into ...
10584 * tests/silent-lex-generic.test, tests/silent-lex-gcc.test: ...
10585 these new sister tests, the latter of which forces gcc depmode
10586 and lists "gcc" in $required.
10587 * tests/silentyacc.test: Test removed, its content split into ...
10588 * tests/silent-yacc-generic.test, tests/silent-yacc-gcc.test: ...
10589 these new sister tests, the latter of which forces gcc depmode and
10590 lists "gcc" in $required.
10591 * tests/Makefile.am (TESTS): Updated.
10593 2010-11-21 Stefano Lattarini <stefano.lattarini@gmail.com>
10595 Tests: consistently use "|| Exit 1" after ". ./defs".
10596 * tests/autohdr.test: Use `. ./defs || Exit 1', not bare
10597 `. ./defs', for consistency with other tests.
10598 * tests/autohdr2.test: Likewise.
10599 * tests/autohdr3.test: Likewise.
10600 * tests/autohdr4.test: Likewise.
10601 * tests/cond23.test: Likewise.
10602 * tests/cond24.test: Likewise.
10603 * tests/cond25.test: Likewise.
10604 * tests/cond26.test: Likewise.
10605 * tests/cond27.test: Likewise.
10606 * tests/cond28.test: Likewise.
10607 * tests/cond29.test: Likewise.
10608 * tests/cond30.test: Likewise.
10609 * tests/cond31.test: Likewise.
10610 * tests/cond32.test: Likewise.
10611 * tests/cond33.test: Likewise.
10612 * tests/cond34.test: Likewise.
10613 * tests/cond35.test: Likewise.
10614 * tests/cond36.test: Likewise.
10615 * tests/cond37.test: Likewise.
10616 * tests/cond38.test: Likewise.
10617 * tests/cond39.test: Likewise.
10618 * tests/cond40.test: Likewise.
10619 * tests/cond41.test: Likewise.
10620 * tests/cond42.test: Likewise.
10621 * tests/cond43.test: Likewise.
10622 * tests/cond44.test: Likewise.
10623 * tests/cond45.test: Likewise.
10624 * tests/dollarvar.test: Likewise.
10625 * tests/dollarvar2.test: Likewise.
10626 * tests/hfs.test: Likewise.
10627 * tests/libobj14.test: Likewise.
10628 * tests/percent.test: Likewise.
10629 * tests/percent2.test: Likewise.
10630 * tests/phony.test: Likewise.
10631 * tests/silent.test: Likewise.
10632 * tests/silent2.test: Likewise.
10633 * tests/silent3.test: Likewise.
10634 * tests/silent4.test: Likewise.
10635 * tests/silent5.test: Likewise.
10636 * tests/silent6.test: Likewise.
10637 * tests/silent7.test: Likewise.
10638 * tests/silent9.test: Likewise.
10639 * tests/silentcxx.test: Likewise.
10640 * tests/silentf77.test: Likewise.
10641 * tests/silentf90.test: Likewise.
10642 * tests/silentlex.test: Likewise.
10643 * tests/silentyacc.test: Likewise.
10645 Avoid useless cleaning in some `silent*.test' tests.
10646 * tests/silentf77.test: Removed useless calls to "make clean"
10647 and "make maintainer-clean".
10648 * tests/silentf90.test: Likewise.
10649 * tests/silent3.test: Removed useless call to "make distclean".
10650 * tests/silent4.test: Likewise.
10651 * tests/silent9.test: Likewise.
10653 2010-11-19 Ian Lance Taylor <iant@google.com>
10655 Sync config-ml.in from GCC.
10656 * config-ml.in: Add Go support: treat GOC and GOCFLAGS like other
10657 compiler/flag environment variables.
10659 2010-11-20 Stefano Lattarini <stefano.lattarini@gmail.com>
10661 release-stats: account for more generated tests.
10662 * Makefile.am (release-stats): Be sure to take into account all
10663 the generated tests, by grepping the test scripts to decide which
10664 ones of them are automatically generated.
10666 2010-11-20 Stefano Lattarini <stefano.lattarini@gmail.com>
10668 Code cleanup after removal of option `--output-directory'.
10669 * automake.in ($output_directory): Remove, it's unconditionally
10670 defined to `.' and used only ...
10671 (generate_makefile): ... in this subroutine, which now has been
10672 edited and simplified accordingly.
10674 Remove obsolete automake option `--output-directory'.
10675 This option has been deprecated since version 1.7 (2002/2003).
10676 * automake.in ($output_directory): Define to `.' unconditionally.
10677 (parse_arguments): Remove handling of equivalent options `-o' and
10678 `--output-directory'.
10679 * tests/outdir.test: Removed.
10680 * tests/no-outdir-option.test: New test.
10681 * tests/Makefile.am (TESTS): Updated.
10684 2010-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
10686 Automake::Config: remove extra trailing semicolon.
10687 * lib/Automake/Config.in: Remove extra trailing semicolon.
10689 help4.test: fix botched heading comment.
10690 * tests/help4.test: Fixed the heading comment, since it
10691 didn't correctly describe what checks the testcase was
10692 supposed to perform.
10694 help2.test: add checks on aclocal too.
10695 * tests/help2.test: Check that also `aclocal --version' and
10696 `aclocal --help' work with configure.in and acinclude.m4 both
10699 2010-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
10701 New test on repeated automake options.
10702 * tests/repeated-options.test: New test, check that automake
10703 does not complain on repeated options, nor generate broken or
10704 incorrect makefiles.
10705 * tests/Makefile.am (TESTS): Updated.
10707 2010-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
10709 Fix spurious failures of silent-rules tests with Sun Fortran.
10710 * tests/silentf77.test: Strip from the make output some verbose
10711 messages possibly printed by the SunStudio fortran compilers, to
10712 avoid spurious failures. Add a trailing `:' command.
10713 * tests/silentf90.test: Likewise.
10715 2010-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
10717 Fix spurious failures of silent5.test with Sun Fortran.
10718 * tests/silent5.test: Strip from the make output some verbose
10719 messages possibly printed by the SunStudio fortran compilers,
10720 to avoid spurious failures. This bug has been there from the
10721 very first version of this test script.
10723 2010-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
10725 Fix regression in colon{5,6}.test (failures on AIX 5.3).
10726 * tests/colon5.test: Also substitute `@SHELL@' with `$SHELL' when
10727 post-processing the generated Makefile.in, to work around a bug
10728 of AIX 5.3 make which doesn't allow setting the `$(SHELL)' macro
10729 on the commend line. Calls to `$MAKE' adjusted accordingly.
10730 * tests/colon6.test: Likewise.
10731 Regression introduced in commit v1.11-175-gf9fe878 "Modernize,
10732 improve and/or extend tests `colon*.test", and reported by Ralf
10735 2010-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
10737 Fix regression in ansi.test (failure on AIX 5.3).
10738 * tests/ansi.test: Remove redundant hackish check done using a
10739 hand-postprocessed Makefile.in. This check worked by setting
10740 the `$(SHELL)' macro on the command line of make, but this is
10741 not supported by the AIX 5.3 make implementation.
10742 This bug has been lurking for a long time, and was activated by
10743 commit v1.11-125-gc1f6cdb "Enable `errexit' shell flag in various
10744 tests". Report by Ralf Wildenhues.
10746 2010-11-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10748 backcompat5.test: avoid '##'-style comments inside recipe commands.
10749 * tests/backcompat5.test: Remove double-hash comments
10750 from makefile rule commands, they are not part of the
10751 Automake API. Fixes testsuite failure with Tru64 make.
10753 tests: avoid '##'-style comments inside recipe commands.
10754 * tests/confh.test, tests/confh8.test: Remove
10755 double-hash comments from makefile rule commands, they
10756 are not part of the Automake API.
10758 2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10760 tests: work around dash quoting issue in case statements.
10761 * tests/color.test, tests/color2.test: Quote variable in case
10762 pattern, to avoid skipping tests with dash 0.5.5.1.
10764 2010-11-16 Peter Rosin <peda@lysator.liu.se>
10766 Skip MSVC oriented tests if the shell is not capable.
10767 * tests/defs: New required entry 'xsi-shell'.
10768 * tests/ar-lib.test, tests/compile3.test, tests/compile6.test:
10769 Require a XSI capable shell.
10770 Reported by Ralf Wildenhues.
10772 2010-11-15 Peter Rosin <peda@lysator.liu.se>
10774 compile: clear the `eat' variable earlier.
10775 * lib/compile: Clear the `eat' variable earlier.
10776 ($scriptversion): Update.
10777 * tests/compile3.test: Prevent regressions.
10779 2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10781 More stable configure output from sanity check.
10782 * m4/sanity.m4 (AM_SANITY_CHECK): Always print check line
10783 about ensuring newer files, even if we don't actually need
10786 2010-11-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10788 Rebuild menus in the manual.
10789 * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs).
10790 Thanks to Ian Lance Taylor for the suggestion.
10792 Fix install-strip when $(STRIP) contains several words.
10793 * lib/am/install.am (install-strip): Update comment. Use
10794 separate sub-make invocations for empty and nonempty $(STRIP),
10795 to fix quoting issues.
10796 * tests/strip2.test, tests/strip3.test: New tests.
10797 * tests/Makefile.am (TESTS): Adjust.
10799 2010-11-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10801 Fix yaccdry.test failure: require bison.
10802 * tests/yaccdry.test: Require bison.
10803 Found by NixOS Hydra.
10805 2010-11-12 Stefano Lattarini <stefano.lattarini@gmail.com>
10807 Fix bug in test `backcompat6.test' (MSYS portability).
10808 * tests/backcompat6.test (Makefile.am): Grep the output from the
10809 test program, rather than diffing it, to avoid spurious failures
10810 on MinGW/MSYS due to LF vs. CRLF line endings.
10811 Reported by Ralf Wildenhues.
10813 2010-11-13 Stefano Lattarini <stefano.lattarini@gmail.com>
10815 Deprecate obsolete macro AM_WITH_REGEX.
10816 * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete,
10817 and state that it should be removed two years from now.
10818 (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete"
10819 category when this macro is used.
10820 * doc/automake.texi (Public Macros): Move description of
10821 `AM_WITH_REGEX' from here ...
10822 (Obsolete Macros): ... to here, and declare it as obsolete
10823 and "to be removed in a future version".
10824 * tests/regex-obsolete.test: New test.
10825 * tests/Makefile.am (TESTS): Update.
10827 2010-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
10829 Improve and extend tests on man pages support.
10830 * tests/man.test: Enable `errexit' shell flag, and related changes.
10831 Make grepping of generated Makefile.in slightly stricter.
10832 * tests/man3.test: Add trailing `:' command.
10833 * tests/man5.test: Prefer cat + here-doc over echo to append to
10835 * tests/man2.test: Likewise, and add trailing `:' command.
10836 * tests/man4.test: More thorough and consistent checking of make
10837 error messages. Place fake `help2man' program in a new `bin'
10838 directory rather than in `.'. Move the checks using the real
10839 `help2man' program to ...
10840 * tests/man6.test: ... this new test, and extend them. This test
10841 passes with GNU make and Solaris make, still fails with BSD make.
10842 * tests/man7.test: New test, extracted from old man4.test, which
10843 checks for a bug in maintainer-clean w.r.t. generated manpages.
10844 * tests/man8.test: New test, extracted from old man4.test, which
10845 checks for a bug in distcheck w.r.t. generated manpages. Passes
10846 with GNU make and Solaris make, still fails with BSD make.
10848 2010-11-08 Stefano Lattarini <stefano.lattarini@gmail.com>
10850 Minor improvements and extensions to various tests.
10851 * tests/defun.test: Also run autoconf and grep the generated
10852 configure to make sure that aclocal truly picks up all the
10854 * tests/compile_f_c_cxx.test: Prefer trailing `:' over trailing
10855 `Exit 0'. Do not create useless dummy source files. Do not set
10856 useless `$(foo_LDADD)' variable in `Makefile.am'. Do not call
10857 useless macro `AC_F77_LIBRARY_LDFLAGS' in `configure.in'.
10858 * tests/compile_f90_c_cxx.test: Likewise.
10859 * tests/suffix10.test: Slightly stricter grepping of make output.
10860 * tests/compile.test: Add trailing `:' command.
10861 * tests/defun2.test: Likewise.
10862 * tests/vars3.test: Likewise.
10863 * tests/vartar.test: Likewise.
10864 * tests/vars.test: Likewise. Also, extend test by checking
10865 that the definition of `MY_FLAGS*' variables is preserved in
10866 the generated `Makefile.in'.
10867 * tests/stamph2.test: Prefer trailing `:' over trailing `Exit 0'.
10868 Use proper m4 quoting in `configure.in'.
10870 2010-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
10872 Tests defs: improve messages for skipped tests.
10873 * tests/defs: Give meaningful messages about the reasons of a
10874 test skip; this is especially useful as this file is run without
10875 verbose xtraces on. Related reorderings in the code and new
10878 2010-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
10880 Tests defs: move static definitions in a new file `defs-static'.
10881 The new file is meant to be idempotent w.r.t. multiple inclusions.
10882 * tests/defs.in: Removed, its contents split among ...
10883 * tests/defs-static.in: ... this new file ...
10884 * tests/defs: ... and this new file, including the former.
10885 * configure.ac (AC_CONFIG_FILES): Remove `tests/defs', add
10886 `tests/defs-static'.
10887 (AC_CONFIG_LINKS): Add `tests/defs'.
10888 * tests/Makefile.am ($(parallel_tests)): Update.
10889 ($(instspc_tests)): Likewise.
10890 * tests/.gitignore: Update.
10892 Tests defs: $testsbuilddir is now AC_SUBST'ed.
10893 * tests/defs.in ($testsbuilddir): Substitute from @abs_builddir@.
10894 Add sanity check on $testsbuilddir, similar to those on
10895 $testsrcdir and $top_testsrcdir.
10897 Tests defs: do not print message "Running test $0" anymore.
10898 * tests/defs.in: Printing the message "=== Running test $0" at
10899 the beginning of each tests made sense when Automake used the old
10900 test-driver, which sent all the output directly to stdout/stderr.
10901 Now that the parallel test-driver is used, which saves output of
10902 each test in its corresponding log file, that old message is just
10905 Tests defs: rename $curdir -> $testbuilddir
10906 * tests/defs.in: Rename $curdir to $testbuildir, for clarity and
10907 consistency with $testsrcdir and $top_testsrcdir.
10909 Tests defs: prefer "$curdir" over "`pwd`".
10910 * tests/defs.in: We already save the value of `pwd` in $curdir
10911 early in the file, so there no need to recalculate it later, when
10912 the current working directory is not changed.
10914 Tests defs: use `$me' in more error messages.
10915 * tests/defs.in: Also use `$me' in error messages referring to
10916 missing `defs' or `defs.in', since that variable is now defined
10917 before those checks.
10919 Tests defs: do not use `Exit' where plain `exit' suffices.
10920 * tests/defs.in: Use "exit 77" rather than "Exit 77" to skip the
10921 test when required libtool/gettext macros are not found, since
10922 such skips would take place before the exit trap is installed.
10924 Tests defs: improve and extends comments.
10925 * tests/defs.in: Improve and extends some comments, especially in
10926 relation with the changes introduced by the previous reordering.
10928 Tests defs: various reorderings.
10929 * tests/defs.in: Reordered various snippets of code in a
10932 2010-11-09 Stefano Lattarini <stefano.lattarini@gmail.com>
10934 Fix bug in test `backcompat4.test' (stale autom4te cache).
10935 * tests/backcompat4.test: Remove stale autom4te cache directory
10936 before re-running aclocal and automake. Also, since we are at
10937 it, be more verbose in displaying contents of generated files,
10938 to ease debuggability.
10939 Reported by Ralf Wildenhues.
10941 2010-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
10943 Fix a bug in variable concatenation with `+='.
10944 * lib/Automake/VarDef.pm (append): Since the content of the
10945 "appended-to" variable is going to be unconditionally normalized
10946 later, simply separate the appended value with a single whitespace
10947 character, instead of trying to be uselessly smarter by using
10948 escaped newlines. This fixes a bug in which extra backslashes
10949 where erroneously inserted in the variable's final value.
10950 * tests/pluseq11.test: New test, exposing the bug.
10951 * tests/Makefile.am (TESTS): Update.
10952 Reported by Andy Wingo.
10954 2010-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
10956 Modernize, improve and/or tweak various test scripts.
10957 * tests/stamph2.test: Improve m4 quoting in `configure.in', and
10958 prefer trailing `:' over trailing `Exit 0'.
10959 * tests/syntax.test: Escape literal dots in grep regexps.
10960 * tests/copy.test: Enable `errexit' shell flag. Extend test by
10961 checking with `test' utility that the script `install-sh' is
10962 copied, but not symlinked.
10963 * tests/depdist.test: Move setting of `errexit' shell flag earlier
10964 in the script (just after inclusion of ./defs). Avoid obsoleted
10965 constructs in generated `configure.in'. Prefer to do our checks
10966 by running configure and make over grepping Makefile.in.
10967 * tests/target-cflags: Move setting of `errexit' shell flag
10968 earlier in the script (just after inclusion of ./defs). Use the
10969 `configure.in' stub created by `./defs', rather than writing it
10971 * tests/target-clash: Do not uselessly run autoconf.
10972 * tests/ctarget1.test: Renamed ...
10973 * tests/cond-basic.test: ... to this. Use the `configure.in' stub
10974 created by `./defs', rather than writing it from scratch.
10975 Move setting of `errexit' shell flag earlier in the script (just
10976 after inclusion of ./defs). Other minor cosmetic changes.
10977 * tests/Makefile.am (TESTS): Updated.
10979 2010-11-06 Stefano Lattarini <stefano.lattarini@gmail.com>
10981 New tests on obsoleted usages of automake/autoconf macros (such
10982 as AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT).
10983 * tests/backcompat.test: New test script.
10984 * tests/backcompat2.test: Likewise.
10985 * tests/backcompat3.test: Likewise.
10986 * tests/backcompat4.test: Likewise.
10987 * tests/backcompat5.test: Likewise.
10988 * tests/backcompat6.test: Likewise.
10989 * tests/init.test: Extended and improved, esp. by trying more
10990 combinations of calls to AC_INIT and AM_INIT_AUTOMAKE with few
10992 * tests/Makefile.am (TESTS): Updated.
10994 2010-11-06 Stefano Lattarini <stefano.lattarini@gmail.com>
10996 Fix bug in rules for creating vala vapi/header files.
10997 * automake.in (lang_vala_finish_target): Add forgotten "fi" in an
10998 if control structure in a generated make rules. Bug introduced
10999 by previous commit `v1.11-221-gd7c1679', and revealed by failure
11000 of test `vala2.test'.
11002 2010-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11004 Fix and document rules to not touch the tree with `make -n'.
11005 * doc/automake.texi (Multiple Outputs): Document the problem of
11006 modifications during dry-run execution, propose solution.
11008 * automake.in (lang_vala_finish_target): Split recipe so the
11009 stamp file is not removed with GNU `make -n'.
11010 (lang_yacc_target_hook): Separate removal of parser output file
11011 and header remaking.
11012 * lib/am/lisp.am ($(am__ELCFILES)): Determine whether -n was
11013 passed to make, take care not to remove any files in that case.
11014 * lib/am/remake-hdr.am (%CONFIG_H%): Separate removal of
11015 %STAMP% file from induced remaking of config header.
11016 * tests/autohdrdry.test, tests/lispdry.test, tests/yaccdry.test:
11018 * tests/Makefile.am (TESTS): Update.
11020 2010-11-05 Stefano Lattarini <stefano.lattarini@gmail.com>
11022 Fix potential bug in generated tests `instpc-*.test'.
11023 This bug is due to the changes introduced by the recently-merged
11024 "tests-init" branch. In that branch, `tests/defs' didn't define
11025 anymore `$srcdir', instead defining directly `$testsrcdir'; but
11026 the generated tests were using `$srcdir', hence the bug.
11027 Luckily, since the Automake parallel test driver automatically
11028 exports `srcdir' to a proper value, that prevented the bug from
11029 manifesting itself.
11030 * tests/Makefile.am ($(instspc_tests)): In the generated test
11031 scripts, use `$testsrcdir', not `$srcdir'.
11033 2010-11-03 Stefano Lattarini <stefano.lattarini@gmail.com>
11035 Overhauled and modularized tests in `instspc.test'.
11036 The test `instspc.test' was way too big and fragile. Its running
11037 time was very long. It also produced a log that was nearly
11038 unreadable due to its length, making it very difficult to find
11039 out the reason for failures.
11040 Also, it was too much monolithic, with a single (maybe spurious)
11041 failure in a corner case causing the whole test to fail (even if
11042 everything worked as expected in the other 99% of cases).
11043 The present change should solve these problems, by separating
11044 `instspc.test' into many smaller, self-contained, auto-generated
11046 * tests/instspc.test: Removed.
11047 * tests/instspc-tests.sh: New script, fulfilling a double role:
11048 1. it generates a Makefile.am snippet `tests/instspc-tests.am',
11049 containing the definition of a list of new tests which will take
11050 over the older `instspc.test', and
11051 2. it is sourced by said generated tests with proper parameters
11052 pre-set, to run the "meat" of the checks.
11053 This apparent abuse is indeed required because the test generation
11054 code and test execution code are inevitably intertwined.
11055 * tests/Makefile.am ($(srcdir)/instspc-tests.am): Include this
11056 snippet, which (among the other things) defines ...
11057 (instspc_tests): ... this new macro, containing the list of the
11058 newly generated `instspc*.test' tests, and ...
11059 (instspc_xfail_tests): ... this new macro, containing the list
11060 of the `instspc*.test' tests expected to fail.
11061 ($(instspc_tests)): New rule, generates the `instspc*.test' tests.
11062 ($(instspc_tests:.test=.log)): New rule, registers the dependency
11063 of all `instspc*.test' tests on the `instspc-tests.sh' script.
11064 (TESTS): Add `$(instspc_tests)', remove `instspc.test'.
11065 (XFAIL_TESTS): Add `$(xfail_instspc_tests)'.
11066 (EXTRA_DIST): Distribute instspc-tests.sh.
11067 (MAINTAINERCLEANFILES): Added $(instspc_tests).
11068 Other minor cosmetic changes.
11069 * bootstrap: Generate instspc-tests.am.
11070 * tests/.gitignore: Updated.
11072 2010-11-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11074 Add FAQ entry for bug reporting instructions.
11075 * doc/automake.texi (Reporting Bugs): New section.
11076 (Introduction): Refer to it.
11078 2010-10-07 Peter Rosin <peda@lysator.liu.se>
11080 depcomp: add new one-pass depmode for MSVC 7 and later.
11081 * lib/depcomp: Add new depmodes 'msvc7' and 'msvc7msys' which
11082 make use of the -showIncludes option added in MSVC 7.
11083 * m4/depend.m4 (_AM_DEPENDENCIES): Handle the new depmodes
11084 similarly to 'msvisualcpp' and 'msvcmsys' as MSVC does not
11085 support the -o option.
11087 2010-10-04 Stefano Lattarini <stefano.lattarini@gmail.com>
11089 Add support for newer python versions.
11090 * m4/python.m4 (AM_PATH_PYTHON): Add python2.7 and python3.2 to
11091 _AM_PYTHON_INTERPRETER_LIST. Since we are at it, break a long
11092 line and fix indentation.
11094 From a report by Thomas Klausner.
11096 Add test for `AM_WITH_DMALLOC' macro.
11097 * tests/dmalloc.test: New test.
11098 * tests/Makefile.am (TESTS): Update.
11100 Fix nits and bugs in tests `help*.test'.
11101 * tests/help4.test: Fix broken sed commands used to strip `-W...'
11102 flags away from "$AUTOMAKE" and "$ACLOCAL".
11103 * tests/help3.test: Likewise, and fix a botched comment.
11104 * tests/help.test: Likewise. Also, use "AUTOMAKE_fails ..."
11105 instead of "$AUTOMAKE ... && Exit 1", for consistency and to
11106 please maintainer-check.
11107 * tests/help2.test: Likewise.
11109 2010-10-03 Stefano Lattarini <stefano.lattarini@gmail.com>
11110 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11112 Improve tests `help*.test' (also fixes maintcheck failures).
11113 * tests/help.test: To run automake, use `$AUTOMAKE' with all `-W'
11114 flags stripped away rather than hard-coded `automake-$APIVERSION',
11115 to better honour user-overrides. Similarly for aclocal.
11116 * tests/help2.test: Likewise.
11117 * tests/help3.test: Likewise.
11118 * tests/help4.test: Likewise.
11120 2010-10-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11122 tests: fix ar-lib.test for echo that interprets backslashes.
11123 * tests/ar-lib.test: Use printf instead of echo. Avoid test -a.
11124 More robust quoting.
11126 2010-10-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11128 maintainer-check coverage for variables before rules.
11129 * Makefile.am (sc_ensure_testsuite_has_run): Suggest keeping
11130 around the test directories.
11131 (sc_tests_makefile_variable_order): New rule with a heuristic to
11132 catch ordering violations.
11134 Document and fix expansion of variables before rules.
11135 * doc/automake.texi (General Operation): Document that variables
11136 are expanded before rules.
11137 * lib/am/check.am (am__check_post): Reword a bit so it does not
11138 get matched as a rule.
11139 Suggestion by Ben Pfaff.
11141 2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11143 Coverage and minor fixes for variable typo detection.
11144 * automake.in (check_typos): Remove `EXTRA_' prefix when
11145 computing canonical name.
11146 * tests/vartypo2.test, tests/vartypos.test: New tests.
11147 * tests/Makefile.am (TESTS): Update.
11149 Implement EXTRA_maude_DEPENDENCIES for programs and libraries.
11150 * automake.in (handle_programs, handle_libraries)
11151 (handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
11152 * doc/automake.texi (Linking, Program and Library Variables)
11153 (LIBOBJS): Document EXTRA_*_DEPENDENCIES.
11154 * lib/am/library.am (%LIBRARY%): Also depend on
11155 $(EXTRA_%XLIBRARY%_DEPENDENCIES).
11156 * lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
11157 (%XLTLIBRARY%_DEPENDENCIES).
11158 * lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
11159 $(EXTRA_%XPROGRAM%_DEPENDENCIES).
11160 * tests/extradep.test, tests/extradep2.test: New tests.
11161 * tests/Makefile.am (TESTS): Update.
11163 Suggested by Eric Blake.
11165 tests: avoid running into timing issues due to sanity change.
11166 * tests/acloca10.test, tests/acloca18.test, tests/aclocal9.test:
11167 Insert strategic sleep before aclocal reruns, to ensure files
11169 * tests/python11.test: Use --force for repeated autotools runs.
11170 Reports from the NixOS Hydra build daemon via Ludovic Courtès.
11172 Fix timestamp issues by ensuring configure takes at least a second.
11173 * m4/sanity.m4 (AM_SANITY_CHECK): If we didn't sleep here,
11174 start a sleep in the background and wait for it to finish
11175 before creating config.status, hopefully fixing all spurious
11176 testsuite failures involving botched time stamps.
11178 Reports by Ludovic Courtès, Peter Breitenlohner, and others.
11180 2010-10-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11182 Revert "parallel-tests: avoid command-line length limit issue."
11183 This reverts commit 24e3b4ee2f8cb9f72dd94a05a893f3d4e88b7835,
11184 because it re-opened the bug fixed by v1.11-10-g218e678.
11186 2010-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11188 parallel-tests: avoid command-line length limit issue.
11189 * automake.in (handle_tests): New argument $makefile, new
11190 substitution %MAKEFILE%.
11191 (generate_makefile): Adjust.
11192 * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
11193 sanitized TEST_LOGS value as makefile snippet on standard
11194 input to $(MAKE), to avoid exceeding the command line limit on
11197 Report by Bob Friesenhahn.
11199 2010-09-26 Stefano Lattarini <stefano.lattarini@gmail.com>
11201 Extend tests on `--help' and `--version' options.
11202 * tests/help.test: Create a new empty directory and chdir into
11203 it, rather than removing already present files. Run the aclocal
11204 and automake wrapper scripts directly, instead of relying on
11205 $AUTOMAKE and $ACLOCAL. Be sure to correctly match literal dots
11206 in aclocal's and automake's stderr. Add a trailing `:' command.
11207 * tests/help2.test: New test, checking that options `--help' and
11208 `--version' works in directories with broken `configure.in'.
11209 * tests/help3.test: New test, checking that options `--help' and
11210 `--version' take precedence on the other options.
11211 * tests/help4.test: New test, checking that the first among the
11212 `--help' and `--version' options to be specified on the command
11214 * tests/Makefile.am (TESTS): Updated.
11216 2010-09-25 Stefano Lattarini <stefano.lattarini@gmail.com>
11218 Testsuite: Use `$PATH_SEPARATOR', not `:', when extending PATH.
11219 * tests/compile2.test: Do no uselessly (implicitly) repeat the
11220 computation of PATH_SEPARATOR again.
11221 * tests/instmany-mans.test: Use `$PATH_SEPARATOR', not `:', when
11222 extending/redefining PATH.
11223 * tests/instmany-python.test: Likewise.
11224 * tests/instmany.test: Likewise.
11225 * tests/man4.test: Likewise.
11226 * tests/mkinst3.test: Likewise.
11227 * tests/mmodely.test: Likewise.
11228 * tests/multlib.test: Likewise.
11229 * tests/txinfo30.test: Likewise.
11230 * tests/README (Section "Writing test cases" subsection "Do"):
11232 * Makefile.am (sc_tests_PATH_SEPARATOR): New maintainer check.
11233 (syntax_check_rules): Updated.
11235 Testsuite: new variables `$PATH_SEPARATOR' and `$APIVERSION'.
11236 * tests/defs.in ($APIVERSION): New AC_SUBST'd variable.
11237 ($ACLOCAL, $AUTOMAKE): Use it.
11238 ($PATH_SEPARATOR): New AC_SUBST'd variables.
11241 2010-09-22 Stefano Lattarini <stefano.lattarini@gmail.com>
11243 Manual: be more agnostic w.r.t. version control system used.
11244 * doc/automake.texi (Basics of Distribution): Also refer to `.svn'
11245 directories as a type of probably-unwanted files that are copied
11246 regardless when adding directories to EXTRA_DIST.
11247 (The dist Hook): Show a dist-hook example which removes Subversion
11248 `.svn' private directories from distdir, rather than CVS private
11250 (missing and AM_MAINTAINER_MODE): Try to be more agnostic w.r.t.
11251 the version control system used.
11253 Manual: index refer to target "git-dist", not "cvs-dist".
11254 * doc/automake.texi (General Operation): Index the non-standard
11255 example about "git-dist" under the "git-dist" label, not under
11256 the "cvs-dist" one.
11258 Perl modules: remove references to "Automake CVS repository".
11259 * lib/Automake/Channels.pm: Update comments to refer to "Automke's
11260 git repository" rather than to "Automake's CVS repository".
11261 * lib/Automake/Configure_ac.pm: Likewise.
11262 * lib/Automake/FileUtils.pm: Likewise.
11263 * lib/Automake/Struct.pm: Likewise.
11264 * lib/Automake/XFile.pm: Likewise.
11265 * lib/Automake/Version.pm (=head1 DESCRIPTION): Refer to "git
11266 branches" rather than "CVS branches".
11268 Remove obsolete .cvsignore files.
11269 * .cvsignore, doc/.cvsignore, lib/.cvsignore, lib/am/.cvsignore,
11270 lib/Automake/.cvsignore, lib/Automake/tests/.cvsignore,
11271 m4/.cvsignore, tests/.cvsignore: Files deleted. Even when using
11272 savannah's CVS readonly mirror there's no way to commit back to
11273 the real repository, so this files are not worth maintaining or
11276 2010-09-21 Stefano Lattarini <stefano.lattarini@gmail.com>
11278 * m4/dmalloc.m4: Bump serial number and copyright years.
11280 2010-09-20 Stefano Lattarini <stefano.lattarini@gmail.com>
11282 Fix broken link in `AM_WITH_DMALLOC' help screen.
11283 * m4/dmalloc.m4 (AM_WITH_DMALLOC): Refer only to the dmalloc site
11284 `http://www.dmalloc.com', not to the dmalloc tarball there (which
11285 seems to have been removed, substituted by multiple release
11288 2010-09-21 Peter Rosin <peda@lysator.liu.se>
11290 compile: implement library search to support MSVC static linking
11291 * lib/compile (func_cl_wrapper): Implement library search and
11292 -static option so that the user can select whether to prefer
11293 dll import libraries or static libraries. This enables MSVC to
11294 link against dlls generated by libtool without requiring libtool
11295 or workarounds such as -lfoo.dll etc. Makes the tests/static.at
11296 test case in libtool pass.
11297 * tests/compile3.test: Don't trip up if there happens to exist
11298 a "foo" library in the library search path.
11299 * tests/compile6.test: New test, verifying the library search.
11300 * tests/Makefile.am (TESTS): Update.
11302 2010-09-17 Eric Blake <eblake@redhat.com>
11304 Avoid triple-space after period.
11305 * automake.in (handle_single_transform): Avoid 3 spaces at
11307 * ChangeLog.03: Likewise.
11308 * lib/Automake/ChannelDefs.pm: Likewise.
11309 * lib/Automake/Channels.pm (_print_message): Likewise.
11310 * lib/Automake/Rule.pm (rule): Likewise.
11311 * lib/Automake/Variable.pm (var): Likewise.
11312 * lib/am/distdir.am: Likewise.
11313 * tests/insthook.test: Likewise.
11315 2010-09-15 Stefano Lattarini <stefano.lattarini@gmail.com>
11317 Test automake-generated portions of configure help screen.
11318 * tests/help-depend.test: New test.
11319 * tests/help-depend2.test: Likewise.
11320 * tests/help-dmalloc.test: Likewise.
11321 * tests/help-init.test: Likewise.
11322 * tests/help-lispdir.test: Likewise.
11323 * tests/help-maintainer.test: Likewise.
11324 * tests/help-multilib.test: Likewise.
11325 * tests/help-regex.test: Likewise.
11326 * tests/help-silent.test: Likewise.
11327 * tests/help-upc.test: Likewise.
11328 * tests/mmode.test: Remove tests on `configure --help' output,
11329 they are superseded by tests in `help-maintainer.test'.
11330 * tests/Makefile.am (TESTS): Update.
11332 2010-09-14 Stefano Lattarini <stefano.lattarini@gmail.com>
11334 * tests/README: Don't put GCS mandated tools in $required.
11336 2010-09-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11338 * HACKING: Hint at old commits with `git describe' output.
11340 2010-09-14 Stefano Lattarini <stefano.lattarini@gmail.com>
11342 Prefer `$(am__cd)' to plain `cd' in our Makefiles.
11343 * Makefile.am (recheck, dist-hook, git-dist, path-check, fetch)
11344 (release-stats): Use `$(am__cd)' rather than plain `cd'.
11345 * tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
11347 2010-09-12 Stefano Lattarini <stefano.lattarini@gmail.com>
11349 Fix regression in test `colon4.test'.
11350 * tests/colon4.test: Fix botched editing to `configure.in'
11351 that made the test useless. Since we are at it, improve
11352 comments and make grepping of generated Makefile.in slightly
11354 Regression introduced by change "Modernize, improve and/or
11355 extend tests `colon*.test" (Stefano Lattarini, 2010-08-08).
11357 2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
11359 Do not require "gzip" explicitly in tests.
11360 The gzip utility is simply expected to be present on any decent
11361 target system for Automake. So it's pointless to put it in
11363 * tests/install2.test ($required): Do not require "gzip".
11364 * tests/lex3.test: Likewise.
11365 * tests/pr9.test: Likewise.
11366 From a suggestion by Ralf Wildenhues.
11368 2010-09-09 Stefano Lattarini <stefano.lattarini@gmail.com>
11370 Use AS_HELP_STRING in AM_SILENT_RULES.
11371 * m4/silent.m4 (AM_SILENT_RULES): Use `AS_HELP_STRING' to format
11372 help message regarding configure options `--enable-silent-rules'
11373 and `--disable-silent-rules'. Also throw in a couple of cosmetic
11374 changes in the related `case' statement (indentation, balancing
11377 From a report by Jeff A. Daily.
11379 2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
11381 Make some `confh*.test' tests more "semantic" (plus tweakings).
11382 * tests/confh.test: Run "autoconf", "configure" and "make check",
11383 instead of munging/grepping the generated `Makefile.in'.
11384 * tests/confh4.test: Relax the grepping of Makefile.in w.r.t.
11385 white spaces. Do not create useless dummy source file `foo.c'
11386 and useless dummy header file `acconfig.h'.
11387 (configure.in): Remove superfluous call to `AC_OUTPUT'.
11388 * tests/confh6.test: Add trailing `:' command.
11389 * tests/confh7.test: In comments, add reference to ...
11390 * tests/confh8.test: ... this new test, "semantic" sister
11392 * tests/Makefile.am (TESTS): Updated.
11393 Prompted by a report from Ralf Wildenhues.
11395 2010-09-08 Stefano Lattarini <stefano.lattarini@gmail.com>
11397 Remove useless whitespace padding in XFAIL_TESTS definition.
11398 * tests/Makefile.am (XFAIL_TESTS): Remove whitespace padding.
11400 2010-09-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11402 parallel-tests: avoid command-line length limit issue.
11403 * automake.in (handle_tests): New argument $makefile, new
11404 substitution %MAKEFILE%.
11405 (generate_makefile): Adjust.
11406 * lib/am/check.am [%?PARALLEL_TESTS%] (check-TESTS): Pass
11407 sanitized TEST_LOGS value as makefile snippet on standard
11408 input to $(MAKE), to avoid exceeding the command line limit on
11411 Report by Bob Friesenhahn.
11413 Posix 2008 requires make to set errexit.
11414 * lib/am/check.am: Update comment.
11416 2010-09-06 Stefano Lattarini <stefano.lattarini@gmail.com>
11418 Tests defs: remove variable $testaclocaldir.
11419 * tests/defs.in ($testaclocaldir): Removed.
11420 * tests/aclocal.test: Use `$top_testsrcdir/m4' directly, not
11423 Tests defs: $srcdir and $top_srcdir renaming.
11424 * tests/defs.in ($srcdir): Remove, define $testsrcdir directly.
11425 * tests/Makefile.am ($(parallel_tests)): Generation of derived
11428 Tests defs: new variable $top_testsrcdir.
11429 * tests/defs.in ($top_testsrcdir): Define unconditionally
11430 to @abs_top_srcdir@. Use it throughout.
11431 * tests/ar-lib.test: Use `$top_testsrcdir' instead of
11433 * tests/auxdir.test: Likewise.
11434 * tests/compile.test: Likewise.
11435 * tests/compile2.test: Likewise.
11436 * tests/compile3.test: Likewise.
11437 * tests/compile5.test: Likewise.
11438 * tests/mdate6.test: Likewise.
11439 * tests/mkinst3.test: Likewise.
11440 * tests/multlib.test: Likewise.
11441 * tests/txinfo22.test: Likewise.
11443 Tests defs: $srcdir is unconditionally substituted.
11444 * tests/defs.in ($srcdir): Define unconditionally to @abs_srcdir@.
11445 Remove code for $srcdir normalization, which is now useless.
11447 2010-09-02 Stefano Lattarini <stefano.lattarini@gmail.com>
11449 Tests defs: make spacing more consistent.
11450 * tests/defs.in: Make spacing more consistent in indentation.
11451 Especially, indent using only spaces, not tabs. Also, move
11452 a comment to a better position.
11454 Improve code for requiring libtool and gettext in tests.
11455 * tests/defs.in: Stricter (and more correct) detection of wheter
11456 libtool, libtoolize and/or gettext are in $required.
11459 2010-08-27 Stefano Lattarini <stefano.lattarini@gmail.com>
11461 Fix bug in test missing6.test.
11462 * tests/missing6.test: Fix the hack used to edit `configure.in',
11463 to avoid producing a configure script that breaks with shells
11464 that do not support $LINENO. Also throw in a couple of cosmetic
11467 2010-09-02 Peter Rosin <peda@lysator.liu.se>
11469 Make ar-lib support backslashed files in archives.
11470 * lib/ar-lib: If an archive member contains a backslash, make sure
11471 it is escaped when the archive member is extracted.
11472 * tests/ar-lib.test: Test the above.
11474 2010-08-31 Peter Rosin <peda@lysator.liu.se>
11476 Do file name conversion for object files in the compile wrapper.
11477 * lib/compile (func_cl_wrapper): Do file name conversion for object
11478 files (i.e. extensions .obj, .OBJ, .o and .O) if needed.
11479 * tests/compile4.test: Test the above.
11481 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11483 Speed up removal of auxiliary linker output files for ltlibraries.
11484 * lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Rewrite using just
11485 one `rm' invocation.
11486 Report by Bob Friesenhahn.
11488 Improve robustness of mdate-sh script.
11489 * lib/mdate-sh: Sanitize zsh behavior on startup, to ensure
11490 $ls_command is word-split properly upon invocation.
11491 (error): New function.
11492 (main): Use it. Improve error checking to avoid endless loop
11493 in case $ls_command gave bogus output. Fix eval quotation.
11494 * tests/mdate6.test: New test, to expose eval quotation error.
11495 * tests/Makefile.am: Update.
11497 2010-08-18 Stefano Lattarini <stefano.lattarini@gmail.com>
11499 Fix potential regressions in depcomp{3,5}.test.
11500 * tests/depcomp3.test: Do not uselessly escape the character `$'
11501 in makefile rules, when it's used to expand a make macro.
11502 * tests/depcomp5.test: Likewise.
11504 2010-08-17 Stefano Lattarini <stefano.lattarini@gmail.com>
11505 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11507 Docs: clarify how to avoid automatic dependencies tracking.
11508 * doc/automake.texi (Automatic dependency tracking): Mention that
11509 automatic dependencies tracking is enabled by default, but that
11510 the package developer can disable it altogether. Add a reference
11511 to the proper section for a more in-depth explanation.
11513 Fix typo in manual (`Makefile.in' instead of `Makefile.am').
11514 * doc/automake.texi (Automatic dependency tracking): Fix typo.
11516 2010-08-16 Bruno Haible <bruno@clisp.org>
11518 Don't hide the table of contents.
11519 * doc/automake.texi: Move the table of contents to the beginning.
11521 2010-08-16 Peter Rosin <peda@lysator.liu.se>
11523 Optimize compile script on MSYS.
11524 * lib/compile (func_file_conv): Add new argument 'lazy' which
11525 takes an optional list of conversion types where the requested
11526 conversion isn't needed.
11527 (func_cl_wrapper): Take advantage of the above for cases where
11528 MSYS is doing the conversion for us.
11529 Suggested by Ralf Wildenhues.
11531 2010-08-16 Peter Rosin <peda@lysator.liu.se>
11533 Support more C++ file extensions for MSVC in the compile script.
11534 * lib/compile (func_cl_wrapper): MSVC only recognizes the .cpp
11535 file extension as C++, unless it's given a hint. So hint about
11536 .cc, .CC, .cxx, .CXX, c++ and C++. Also do path conversion on
11537 .c, .cpp, .CPP, .lib, .LIB and .Lib files.
11538 * tests/compile3.test: Test the C++ hinting.
11540 2010-08-12 Peter Rosin <peda@lysator.liu.se>
11542 Enable the use of "link -lib" as the wrapped archiver.
11543 * lib/ar-lib: Enable the use of "link -lib" as the wrapped
11544 archiver, as well as allowing some other options to be passed
11545 through to the wrapped archiver.
11546 * tests/ar-lib.test: Test the above.
11548 2010-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
11550 Tweak and/or extend some `acloca*.test' tests.
11551 * tests/aclocal8.test: Ensure verbose printing of captured
11553 * tests/aclocal.test: Likewise. Also, add trailing `:'
11555 * tests/acloca19.test: Likewise.
11556 * tests/aclocal5.test: Add trailing `:' command, and prefer
11557 `$me' over hard-coded test name.
11558 * tests/aclocal6.test: Likewise.
11559 * tests/aclocal18.test: Add trailing `:' command, and make
11560 some grepping slightly stricter.
11561 * tests/acloca14.test: Likewise. Also, prefer `diff' over
11562 `cmp', and add some "cosmetic" blank lines.
11564 2010-08-09 Stefano Lattarini <stefano.lattarini@gmail.com>
11566 Tweak and extend tests `pr[!0-9]*.test'.
11567 * tests/primary3.test: Add trailing `:' command.
11568 * tests/primary.test: Make grepping of Automake's stderr stricter.
11569 Also, add trailing `:' command, and cosmetic changes in spacing.
11570 * tests/primary2.test: Likewise.
11571 * tests/prefix.test: Enable `errexit' shell flags, and related
11572 changes. Add a trailing `:' command.
11573 * tests/proginst.test: Likewise.
11575 Modernize, improve and extend tests for PR (`pr[0-9]*.test').
11576 * tests/pr2.test: Add trailing `:' command.
11577 * tests/pr229.test: Likewise.
11578 * tests/pr401.test: Likewise.
11579 * tests/pr401b.test: Likewise.
11580 * tests/pr401c.test: Likewise.
11581 * tests/pr300-prog.test: Likewise, plus cosmetic changes in
11583 * tests/pr300-lib.test: Likewise.
11584 * tests/pr300-ltlib.test: Likewise, and ensure verbose printing
11585 of captured make stdout.
11586 * tests/pr211.test: Add trailing `:' command. Also, use the
11587 `configure.in' stub created by ./defs, rather than writing it
11589 * tests/pr204.test: Likewise, plus cosmetic spacing changes.
11590 * tests/pr287.test: Likewise, and move setting of `errexit' shell
11591 flag earlier in the script (just after inclusion of ./defs).
11592 * tests/pr220.test: Make grepping of Automake's stderr stricter.
11593 Also, add trailing `:' command, and cosmetic changes in spacing.
11594 * tests/pr224.test: Move setting of `errexit' shell flag earlier
11595 in the script (just after inclusion of ./defs). Do not export
11596 `CC=gcc' to configure explicitly (it's already exported globally
11597 in ./defs, since we have "gcc" in $required). Use the stub for
11598 `configure.in' created by ./defs, rather than writing it from
11599 scratch. Do not create dummy files required by "gnu" mode (e.g.
11600 README, NEWS), since we run automake in foreign mode anyway.
11601 * tests/pr72.test: Enable `errexit' shell flags, and related
11602 changes. Extend existing checks a bit.
11603 * tests/pr9.test: Likewise. Also, avoid obsolescent constructs in
11604 the generated `configure.in', and extend existing checks over the
11605 generated tarball a bit.
11606 * tests/pr87.test: Enable `errexit' shell flags, and related
11607 changes. Add a trailing `:' command. Also, do not create dummy
11608 files required by "gnu" mode (e.g. README, NEWS), since we run
11609 automake in foreign mode anyway.
11610 * tests/pr243.test: Avoid obsolescent constructs in the generated
11611 `configure.in'. Enable the `errexit' shell flag, and related
11612 changes. Cosmetic changes to spacing, add trailing `:' command,
11613 and add a "FIXME" comment.
11614 * tests/pr266.test: Likewise, and add explicit command line switch
11615 `--enable-dependency-tracking' to the ./configure call.
11616 * tests/pr279.test: Avoid obsolescent constructs in the generated
11617 `configure.in'; also, use the `configure.in' stub created by
11618 ./defs, rather than writing it from scratch. Enable `errexit'
11619 shell flag, and related changes. Add trailing `:' command.
11620 * tests/pr279-2.test: Likewise, and make grepping of Makefile.in
11622 * tests/pr307.test: Move setting of `errexit' shell flag earlier
11623 in the script (just after inclusion of ./defs). Escape literal
11624 dots in grep regular expressions. Also, add a trailing `:'
11625 command, and cosmetic changes to spacing.
11627 Tests for PR: add excerpts from original bug report, for clarity.
11628 * tests/pr2.test: Ditto.
11629 * tests/pr9.test: Likewise.
11630 * tests/pr72.test: Likewise.
11631 * tests/pr87.test: Likewise.
11632 * tests/pr211.test: Likewise.
11633 * tests/pr220.test: Likewise.
11634 * tests/pr224.test: Likewise.
11635 * tests/pr229.test: Likewise.
11636 * tests/pr243.test: Likewise.
11637 * tests/pr266.test: Likewise.
11638 * tests/pr279.test: Likewise, and tell to keep it in sync
11639 with its sister test.
11640 * tests/pr279-2.test: Likewise.
11642 2010-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
11644 Tweak, extend and improve tests `cond[a-z]*.test'.
11645 * tests/condd.test: Add trailing `:' command. Typofix in
11647 * tests/condhook.test: Make sure target `install-data-hook' is
11648 not called by `make install', but that data files are installed.
11649 Use proper m4 quoting in configure.in. Add trailing `:' command.
11650 * tests/condhook2.test: New test, sister test of condhook, with
11652 * tests/condinc2.test: Use proper m4 quoting in configure.in.
11653 Prefer trailing `:' command over trailing `Exit 0'.
11654 * tests/condman2.test: Enable errexit shell flag, and related
11655 changes. Add trailing `:' command.
11656 * tests/condman.test: Likewise. Also, do not create useless
11657 dummy manpages, and use proper m4 quoting in configure.in.
11658 * tests/condman3.test: New test, similar to condman.test, but
11659 it also runs ./configure and "make install", and check the
11661 * tests/Makefile.am (TESTS): Updated.
11663 Modernize, improve and/or extend tests `colon*.test.
11664 * tests/colon.test: Rely on the `configure.in' stub created by
11665 `./defs', rather than writing one from scratch. Do not create
11666 a useless dummy file. Add trailing `:' command.
11667 * tests/colon4.test: Enable the `errexit' shell flag, and
11668 related changes. Rely on the `configure.in' stub created by
11669 `./defs', rather than writing one from scratch.
11670 * tests/colon7.test: Enable `errexit' shell flag, and related
11671 changes. Improve the generated `configure.in' file. Add
11672 trailing `:' command.
11673 * tests/colon2.test: Likewise. Also, add some new checks.
11674 * tests/colon5.test: Improve the generated `configure.in' file.
11675 Add new, much deeper checks. Add trailing `:' command.
11676 * tests/colon6.test: Likewise.
11677 * tests/colon3.test: Add trailing `:' command. Remove useless
11678 comments and echos. Improve the generated `configure.in' file.
11679 make some grepping tests stricter. Add a "FIXME" comments about
11680 planned improvements.
11682 Improve and extend tests `asm*.test'.
11683 * tests/asm.test: Use configure.in stub generated by ./defs,
11684 and avoid obsoleted autoconf constructs. Make grepping of
11685 Automake stderr stricter. Do not create useless source file.
11686 Improve verbose messages. Minor cosmetic changes. Tell to
11687 keep it in sync with other sister tests asm*.test.
11688 * tests/asm2.test: Likewise.
11689 * tests/asm3.test: Likewise.
11691 Modernize, improve and/or extend test scripts `conf*.test'.
11692 * tests/confh5.test: Cosmetic changes.
11693 * tests/conff.test: Likewise.
11694 * tests/confdeps.test: Likewise.
11695 * tests/conflnk.test: Likewise.
11696 * tests/conflnk2.test: Likewise.
11697 * tests/confsub.test: Likewise.
11698 * tests/confvar.test: Likewise, and make grepping of Makefile.in
11700 * tests/confvar2.test: Likewise.
11701 * tests/conflnk3.test: Cosmetic changes. Re-enable a temporarily
11702 disabled test (which didn't work with autoconf <= 2.59, but now we
11703 are requiring autoconf 2.62, so...)
11704 * tests/conflnk4.test: Cosmetic changes, and extend existing tests
11705 accordingly to "TODO" comments.
11706 * tests/conff2.test: Make grepping of Automake's stderr stricter.
11707 Add some comments explaining why we don't use the `configure.in'
11708 stub preset be ./defs.
11709 * tests/confh.test: Use the `configure.in' stub created by ./defs,
11710 rather than writing one from scratch, and do not call AC_OUTPUT.
11711 Enable `errexit' shell flag, and related changes. Prefer diff over
11712 cmp to compare text files. Prefer perl over sed to fetch the value
11713 of $(DIST_COMMON) from Makefile.in. Make grepping of the contents
11714 of $(DIST_COMMON) stricter.
11715 * tests/confh4.test: Use the `configure.in' stub created by ./defs,
11716 rather than writing one from scratch. Make grepping of Makefile.in
11718 * tests/confh5.test: Make grepping of `config.h' stricter. Add a
11720 * tests/configure.test: Avoid obsolescent constructs in generated
11721 `configure.ac'. Do not write `configure.in' two times. Escape
11722 literal dots in grep regular expressions.
11723 * tests/confincl.test: Enable `errexit' shell flag, and related
11724 changes. Prefer fgrep over grep. Other cosmetic changes.
11725 * tests/config.test: Renamed to ...
11726 * tests/confh6.test: ... this. Fix m4 quoting in `configure.in',
11727 and make grepping of `config.h' and `config.h.in' stricter.
11728 * tests/conf2.test: Renamed ...
11729 * tests/confh7.test: ... to this. Use the `configure.in' stub
11730 created by ./defs, rather than writing one from scratch. Try to
11731 run the checks both with and without AC_PROG_CC and AC_OUTPUT in
11733 * tests/Makefile.am (TESTS): Updated.
11735 Minor improvements and fixes in tests `depcomp*.test'.
11736 * tests/depcomp.test: Do not create useless dummy source files.
11737 Add a trailing `:' command.
11738 * tests/depcomp2.test: Use `unset' on the CFLAGS variable to ensure
11739 it's not in in the environment, rather than exporting it with an
11740 empty value. Do not pass CC=gcc to configure, as that's already
11741 done in ./defs since we have gcc in $required. Ensure verbose
11742 printing of captured stderr, and normalize its checking. Add a
11743 trailing `:' command.
11744 * tests/depcomp3.test: Quote literal dots and dollar characters in
11745 grep regexps. Always use `: >' rather than `touch' to create empty
11746 files. Explicitly declare phony targets as such in the created
11747 Makefile.am. Add a trailing `:' command.
11748 * tests/depcomp4.test: Quote literal dots and dollar characters in
11749 grep regexp. Explicitly declare phony targets as such in the
11750 created Makefile.am. Ensure verbose printing of captured makes'
11751 stoud/stderr. Add a trailing `:' command.
11752 * tests/depcomp5.test: Move setting of `errexit' shell flag earlier
11753 in the script (just after inclusion of ./defs). Quote literal dots
11754 and dollar characters in grep regexps. Explicitly declare phony
11755 targets as such in the created Makefile.am. Add a trailing `:'
11757 * tests/depcomp6.test: Consistently use m4 quoting in the generated
11758 configure.in. Cosmetic fixes to spacing. Make the "dummy" `if'
11759 statement required by OpenBSD's sh `set -e' more robust, and add
11760 explanatory comments to it.
11761 * tests/depcomp7.test: Likewise, and add a trailing `:' command.
11763 Separate failing part of test `all.test'.
11764 * tests/all.test: Keep only (x)failing part of the test. Working
11765 checks moved out to ...
11766 * tests/all2.test: ... this new test.
11767 * tests/Makefile.am (TESTS): Updated.
11769 Modernize, improve and extend tests `subobj*.test'.
11770 * tests/subobjname.test: Add trailing `:' command.
11771 * tests/subobj.test: Make grepping of `Makefile.in' stricter.
11772 Escape literal dots in grep regexps.
11773 * tests/subobj2.test: Add trailing `:' command. Do not use the
11774 unportable fgrep option `-e'.
11775 * tests/subobj3.test: Add trailing `:' command.
11776 (configure.in): Use proper m4 quoting, and avoid obsolescent
11778 * tests/subobj8.test: Likewise. Also, enable `errexit' shell
11779 flag, with related changes
11780 * tests/subobj4.test: Likewise. Also, make grepping of
11781 `Makefile.in' stricter.
11782 * tests/subobj5.test: Add trailing `:' command. Move setting of
11783 `errexit' shell flag earlier in the script (just after inclusion
11785 (configure.in): Use the stub created by `./defs', rather than
11786 writing it from scratch, and avoid obsolescent constructs.
11787 * tests/subobj6.test: Add trailing `:' command. Move setting of
11788 `errexit' shell flag earlier in the script (just after inclusion
11789 of ./defs). Do not create useless dummy ac-init file `f'.
11790 * tests/subobj7.test: Do not create useless dummy ac-init file
11792 (configure.in): Use the stub created by `./defs', rather than
11793 writing it from scratch, and avoid obsolescent constructs.
11794 * tests/subobj9.test: Move setting of `errexit' shell flag earlier
11795 in the script (just after inclusion of ./defs). Fail the test if
11796 `make distcheck' fails. Ensure verbose printing of captured make
11797 stdout. Avoid useless fork by doing simple grep instead of using
11798 test -n "`COMMAND | grep ...`".
11799 (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
11800 (Makefile.am): Explicitly mark target "print" as phony.
11801 * tests/subobj10.test: Removed duplicated call to `set -e'. Add
11802 trailing `:' command.
11803 (configure.in): Normalize the call to AC_INIT w.r.t. other tests.
11805 Remove a couple of obsoleted tests.
11806 * tests/fpinstall.test: Removed.
11807 * tests/fpinst2.test: Likewise.
11808 * tests/Makefile.am (TESTS): Updated.
11810 Bootstrap: updated HACKING entry.
11811 * HACKING ("Working with git"): Explain how to override the
11812 autoconf and autom4te programs used by the bootstrap process.
11815 * bootstrap: Do not remove `lib/Automake/Config.pm' anymore,
11816 since we don't generate it. Correctly quote arguments of
11817 `eval' builtin. Fixed a botched error message. Removed an
11820 Bootstrap: don't search perl in $PATH.
11821 * bootstrap: Do not explicitly search perl in $PATH anymore.
11822 ($PATH_SEPARATOR): Removed, it's no more needed.
11824 Bootstrap: let the user choose which autoconf to use.
11825 * bootstrap ($AUTOCONF): New variable, from the environment.
11826 ($AUTOM4TE): Likewise, for clarity.
11827 Use "$AUTOCONF" instead of calling "autoconf" directly.
11829 Minor improvements to tests ar*.test.
11830 * tests/ar.test: Add trailing `:' command.
11831 * tests/ar2.test: Likewise, and make grepping of generated
11832 Makefile.in stricter.
11834 2010-08-06 Peter Rosin <peda@lysator.liu.se>
11836 Add new auxiliary 'ar-lib' script, wrapping Microsoft lib.
11837 * lib/ar-lib: New auxiliary script.
11838 * lib/Makefile.am: Add above.
11839 * tests/ar-lib.test: New test.
11840 * tests/Makefile.am: Add above.
11841 * automake.in (@common_files): Distribute the 'ar-lib' script.
11842 * doc/automake.texi (Auxiliary Programs): Mention the new
11844 (Optional): Mention 'ar-lib' in AC_CONFIG_AUX_DIR.
11847 2010-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11849 Fix shell pattern negation in compile script.
11850 * lib/compile (func_file_conv): Use `!' not `^' for pattern
11853 2010-08-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11855 Fix maintainer-check failure.
11856 * tests/cond5.test: Quote sleep argument, this isn't about
11857 time stamp differences.
11859 Sync auxiliary files from upstream.
11860 * lib/config.guess, lib/config.sub, lib/texinfo.tex:
11861 Sync from upstream.
11863 2010-08-06 Stefano Lattarini <stefano.lattarini@gmail.com>
11865 Work around a nasty bug (segfault) of Solaris make.
11866 * lib/am/check.am (recheck, recheck-html): Trim trailing spaces
11867 from $list, to avoid triggering a nasty bug (potential segfault)
11870 2010-08-06 Peter Rosin <peda@lysator.liu.se>
11872 Make cond5.test more robust on MSYS.
11873 * tests/cond5.test: Add delay before the first kill attempt to
11874 cater for problems with MSYS bash.
11876 2010-08-01 Peter Rosin <peda@lysator.liu.se>
11878 Wrap some MSVC options in the compile script.
11879 * lib/compile: MSVC supports naming the output file, the option
11880 is just not called -o, so transform -o into the appropriate form
11881 for MSVC. Also wrap some other options while at it (-L, -l, -Wl,
11882 -Xlinker and -I) and convert file names to windows form where
11883 needed for those options to make MSVC more usable in an
11884 autotooled environment.
11885 * doc/automake.texi (Auxiliary Programs): Document the above
11886 extension of the compile script.
11888 * tests/defs.in: New required entry 'cl'.
11889 * tests/compile3.test: New test.
11890 * tests/compile4.test: New test.
11891 * tests/compile5.test: New test.
11892 * tests/Makefile.am: Update.
11894 2010-07-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11896 Add example git work flow; discuss merge --log in HACKING.
11898 Suggestion by Stefano Lattarini.
11900 Add more hints for debugging make rules.
11901 * doc/automake.texi (Debugging Make Rules): Show command to find
11902 out expanded values of variables; point to makefile debugger.
11904 Prompted by suggestion from Ludovic Courtès and Andy Wingo.
11906 2010-07-27 Patrick Welche <prlw1@cam.ac.uk> (tiny change)
11908 Fix typo in the manual.
11909 * doc/automake.texi (Scripts): Fix typo.
11911 2010-07-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11913 Document current policy for development with git.
11914 * HACKING (Working with git): Overhaul.
11915 Prompted by suggestion from Stefano Lattarini.
11917 Fix AM_COND_IF for gone-invalid condition shell expression.
11918 * m4/cond-if.m4 (AM_COND_IF): test contents of $COND_TRUE
11919 variable, rather than re-evaluating the shell expression for
11921 * tests/cond40.test: Extend test.
11924 Avoid syntax error if IF-TRUE part of AM_COND_IF expands empty.
11925 * m4/cond-if.m4 (AM_COND_IF): Ensure IF-TRUE part is never empty
11926 to avoid shell syntax error if the m4 expansion is empty.
11927 * tests/cond40.test: Enhance test.
11929 Coverage: bogus option to AM_INIT_AUTOMAKE.
11930 * tests/init2.test: New test.
11931 * tests/Makefile.am: Update.
11933 2010-07-21 Stefano Lattarini <stefano.lattarini@gmail.com>
11935 Modernize and improve test scripts `subdir*.test'.
11936 * tests/subdir.test: Enable `errexit' shell flag, and related
11937 changes. Use the `configure.in' stub created by `./defs',
11938 rather than writing one from scratch.
11939 * tests/subdir2.test: Likewise.
11940 * tests/subdir4.test: Likewise.
11941 * tests/subdir3.test: Enable `errexit' shell flag, and related
11942 changes. Do not create useless dummy source files.
11943 * tests/subdir5.test: Make grepping of Makefile.in (in topdir
11944 and in subdirs) stricter. Some minor changes to keep it more
11945 in sync with the related test `subdir8.test'.
11946 * tests/subdir8.test: Likewise (but with the related test being
11947 `subdir5.test' here).
11948 * tests/subdir6.test: Cosmetic change in spacing.
11949 * tests/subdir9.test: Define and use new variable `$distdir'. Add
11950 trailing `:' command.
11951 * tests/subdir10.test: Cosmetic consistency-related change.
11952 * tests/subdirbuiltsources.test: Cosmetic changes in spacings.
11953 (configure.in): Use stub created by `./defs', rather than writing
11954 it from scratch. Do not use obsoleted and/or deprecated forms of
11955 autoconf/automake macros.
11957 Modernize and improve test scripts `dist*.test'.
11958 * tests/distcleancheck.test: Do not add useless `-e' option to
11959 a $MAKE call. Extend test by grepping stderr of make.
11960 * tests/distcom2.test: Do not run the same test script on the
11961 Makefile.in twice, but save its output in an intermediate file
11962 instead. Make grepping of DIST_COMMON definition stricter.
11963 Display the content of more files, to ease debugging. Add a
11964 trailing `:' command. Improved heading comments w.r.t. sister
11966 * tests/distcom6.test: Likewise, and avoid to uselessly run
11968 * tests/distcom3.test: Ensure verbose printing of captured stdout
11969 and stderr. Make grepping of captured stderr stricter. Also,
11970 add trailing `:' command.
11971 * tests/distcom4.test: Declare the target `test' in the generated
11972 Makefile.am as `.PHONY'. Display content of more files, to ease
11973 debugging. Add trailing `:' command.
11974 * tests/distcom5.test: Likewise. Also, factor out common sed
11975 script in subroutine `extract_distcommon'.
11976 * tests/distcom7.test: Prefer cat + here-doc over echo to write
11977 test Makefile.am files. Add a trailing `:' command.
11978 * tests/distname.test: Prefer `gzip -d' over `gunzip'. Move the
11979 call to `set -e' earlier. Be stricter and more verbose in the
11980 checking of the generated tarball.
11981 (configure.in): Use the stub provided by ./defs, instead of
11982 writing it from scratch. Avoid obsoleted constructs. Remove
11983 useless call to `AM_PROG_CC_C_O'.
11984 * tests/distdir.test: Various minor improvements/normalizations.
11985 * tests/distlinks.test: Likewise.
11987 2010-07-18 Stefano Lattarini <stefano.lattarini@gmail.com>
11989 Improve and extend test cond5.test.
11990 * tests/cond5.test: Do not blindly sleep 60 seconds before polling
11991 the background automake process, but poll it every 10 seconds for
11992 at most 30 times (this makes the test both faster on good machines,
11993 and more resilient to spurious timeout-due failures when in low
11994 priority or on heavily-loaded systems).
11995 Check also that automake writes the expected error messages on the
11997 Enable `errexit' flag, and related changes.
11998 Rely on the `configure.in' stub created by `./defs', rather than
11999 writing one from scratch.
12001 2010-06-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12003 Update program --help output to match current GCS.
12004 * configure.ac: Set and substitute PACKAGE_URL if AC_PACKAGE_URL
12005 is not defined, for compatibility to Autoconf < 2.64.
12006 * Makefile.am (do_subst): Substitute PACKAGE_BUGREPORT and
12008 (sc_diff_automake_in_automake): Update number of diff lines for
12009 additional substitutions.
12010 * aclocal.in (usage): Use PACKAGE_BUGREPORT. Point to Automake
12011 home page and GNU general help page.
12012 * automake.in (usage): Likewise.
12013 * doc/automake.texi: New flag PACKAGE_BUGREPORT, to factor email
12015 (Introduction, Creating amhello, amhello Explained, Options):
12017 * lib/Automake/Makefile.am (do_subst): Substitute
12019 * lib/Automake/Config.in ($PACKAGE_BUGREPORT): New global.
12020 * lib/Automake/ChannelDefs.pm: Use it for footer of fatal
12023 Clean up @var handling in the manual.
12024 * doc/automake.texi: Throughout the manual, lower-case @var
12025 names, replace a few one-character names.
12027 2010-06-26 Stefano Lattarini <stefano.lattarini@gmail.com>
12029 Fix typo-related bug in test script silent5.test.
12030 * tests/silent5.test: Use $EGREP, not $GREP (which is not even
12033 Tests: remove useless repetitions of `foreign' automake option.
12034 * tests/multlib.test (configure.in): Remove useless use of
12035 `foreign' option in AM_INIT_AUTOMAKE (the `--foreign' option is
12036 already in $AUTOMAKE by default, so no point in repeating it).
12037 * tests/subobj10.test: Likewise.
12038 * tests/subobj9.test: Likewise.
12039 * tests/lex3.test (Makefile.am): Similarly, remove useless use
12040 of `foreign' option in AUTOMAKE_OPTIONS.
12041 * tests/lex5.test: Likewise.
12042 * tests/pr279.test: Likewise.
12043 * tests/pr279-2.test: Likewise.
12044 * tests/specflg3.test: Likewise.
12045 * tests/target-cflags.test: Likewise.
12047 Drop useless requirement "gzip" in lex5.test.
12048 * tests/lex5.test ($required): Do not list "gzip", as it's
12051 2010-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
12053 Fix bugs in test script silent5.test.
12054 * tests/silent5.test: Fixed a nasty bug (due to the use of grep
12055 instead of egrep) that could have led to false negatives.
12057 2010-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
12059 Add a test checking that distributed broken symlinks cause
12060 `make dist' to fail.
12061 * tests/distlinksbrk.test: New test.
12062 * tests/Makefile.am (TESTS): Updated.
12064 2010-06-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12066 Fix minor testsuite issues, update docs, for Yacc/Lex changes.
12067 * doc/automake.texi (Yacc and Lex): Mention AM_YFLAGS, YFLAGS
12068 and AM_LFLAGS, LFLAGS in the order in which they now appear in
12071 * tests/lflags.test, tests/lflags2.test, tests/yflags.test,
12072 tests/yflags2.test: Prefer `make -e' over `make VAR=VAL', to
12073 please maintainer-check. Ensure generated C files contain a
12074 declaration, to please compilers.
12076 2010-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
12078 Fix bugs in Automake Yacc/Lex support w.r.t. $(AM_FLAGS) and
12079 $(FLAGS) precedence.
12080 * automake.in: Fix registration of languages "Lex", "Lex (C++)",
12081 "Yacc" and "Yacc (C++)", so that $(LFLAGS) has precedence over
12082 $(AM_LFLAGS) and $(YFLAGS) has precedence over $(AM_YFLAGS).
12083 * tests/Makefile.am (XFAIL_TESTS): Updated accordingly.
12086 New tests, exposing bugs in Automake Yacc/Lex support w.r.t.
12087 $(AM_FLAGS) and $(FLAGS) precedence.
12088 * tests/lflags.test: New test, check that user $(LFLAGS) takes
12089 precedence over automake (AM_LFLAGS) and (foo_LFLAGS). Still
12091 * tests/lflags2.test: Likewise.
12092 * tests/yflags.test: New test, check that user $(YFLAGS) takes
12093 precedence over automake (AM_YFLAGS) and (foo_YFLAGS). Still
12095 * tests/yflags2.test: Likewise.
12096 * tests/Makefile.am (TESTS, XFAIL_TESTS): Extended accordingly.
12098 2010-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
12100 Modernize, improve and extend tests `suffix*.test'.
12101 * tests/suffix3.test: Enable `errexit' shell flag, and related
12103 * tests/suffix4.test: Likewise.
12104 * tests/suffix6.test: Likewise, and do not create a useless dummy
12106 * tests/suffix7.test: Likewise.
12107 * tests/suffix5.test: Enable `errexit' shell flag, and related
12108 changes. Make grepping of Makefile.in slightly stricter.
12109 * tests/suffix.test: Enable `errexit' shell flag, and related
12110 changes. Also, do not redirect grep output to /dev/null, as this
12111 might unmotivatedly hide useful information.
12112 * tests/suffix2.test: Move setting of `errexit' shell flag earlier
12113 in the script (just after inclusion of ./defs). Use a more
12114 idiomatic way to count text occurrences in Makefile.in with
12115 grep. Do not create useless dummy source files.
12116 * tests/suffix10.test: Ensure verbose printing of captured make
12117 stdout. Minor cosmetic changes.
12118 * tests/suffix8.test: Likewise. Also, drop useless call to the
12119 env(1) utility, and make grepping of make output stricter by using
12120 $FGREP rather than plain grep.
12121 * tests/suffix11.test: Likewise.
12122 * tests/suffix12.test: Likewise.
12123 * tests/suffix9.test: Prefer cat + here-doc over echo to append to
12124 the `configure.in' stub. Cosmetic changes.
12125 * tests/suffix13.test: Cosmetic spacing change.
12127 2010-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
12129 Add useful comment in test script ext.test.
12130 * tests/ext.test: Add a comment explaining why an apparently
12131 useless `if' statement is indeed required.
12133 2010-06-13 Stefano Lattarini <stefano.lattarini@gmail.com>
12135 Add useful comment in test script obsolete.test.
12136 * tests/obsolete.test: Add a comment explaining why we need
12137 an indirection in adding $AUTOUPDATE to $required.
12139 Normalize whitespaces in 'tests/Makefile.am'.
12140 * tests/Makefile.am (TESTS): Use only spaces, not tabs, in the
12141 definition of this variable.
12143 Parallel tests generation: improve comments (tiny change).
12144 * tests/Makefile.am ($(parallel_tests)): Added useful comment to
12147 Tests defs: truly get rid of `$am_defs_included' (unused variable)
12148 * tests/defs.in ($am_defs_included): Remove, its now unused. It
12149 should have been removed in a previous changeset, but the removal
12150 was done only partially (oversight).
12152 2010-06-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12154 Remove a couple of unneeded conditionals from tests.
12155 * tests/pr243.test, tests/pr266.test, tests/strip.test: No need
12156 for the FOOTEST conditional.
12158 2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
12160 Modernize, improve and/or fix various test scripts.
12161 * tests/symlink3.test: Deleted, separated into two new, more
12163 * tests/forcemiss.test: ... this one ...
12164 * tests/forcemiss2.test: ... and this one.
12165 * tests/symlink2.test: Enable `errexit' shell flag, make test
12166 stricter, and skip it if symlink creation is not supported.
12167 * tests/postproc.test: Enable `errexit' shell flag, related
12168 changes, and a couple of unrelated cosmetic changes.
12169 * tests/recurs.test: Use the `configure.in' stub created by
12170 `./defs', rather than writing one from scratch. Make grepping
12171 of Automake stderr slightly stricter.
12172 * tests/substtarg.test: Likewise.
12173 * tests/strip.test: Likewise, and move the call to `set -e'
12174 earlier (just after the inclusion of `./defs'). Also, make sure
12175 that the script installed by `make install-script' is equal to
12177 * tests/substref.test: Use the `configure.in' stub created by
12178 `./defs', rather than writing one from scratch. Move the call
12179 to `set -e' earlier (just after the inclusion of `./defs').
12180 Avoid to explicitly export CC for configure (that's already done
12181 in ./defs). Avoid potential problems with unpredictable make
12182 output. Finally, make grepping of Makefile.in stricter.
12183 * tests/substre2.test: Ensure verbose printing of the captured
12184 make's output, and make its grepping slightly stricter.
12185 * tests/cygwin32.test: Enable `errexit' shell flag, and related
12186 changes. Also, do not create useless dummy source/data files.
12187 * tests/scripts.test: Likewise.
12188 * tests/recurs2.test: Likewise. Also, use the `configure.in'
12189 stub created by `./defs'.
12190 * tests/Makefile.am (TESTS): Updated.
12192 Modernize, improve and/or fix tests `pluseq*.test.
12193 * tests/pluseq5.test: Append to configure.in using cat with an
12194 here-doc, not using echo.
12195 * tests/pluseq10.test: Make sure that the captured output of
12196 `make' command is always displayed. Where possible, use $FGREP
12197 instead of grep (this change makes some checks slightly stricter).
12198 * tests/pluseq8.test: Enable `errexit' shell flag, with related
12200 * tests/pluseq.test: Likewise. Also, do not create useless dummy
12201 data files, and use better m4 quoting in generated configure.in.
12202 * tests/pluseq2.test: Likewise. Also, append to configure.in
12203 using cat with an here-doc, not using echo.
12204 * tests/pluseq3.test: Likewise.
12205 * tests/pluseq4.test: Likewise.
12206 * tests/pluseq6.test: Likewise.
12207 * tests/pluseq7.test: Do not create useless dummy source file.
12208 * tests/pluseq9.test: Slightly extended w.r.t. the grepping of
12209 Automake stderr. Some unrelated cosmetic changes.
12211 2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
12213 cscope.test: ensure verbose printing of captured stderr.
12214 * tests/cscope.test: Print captured stderr before failing.
12216 2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
12218 Testsuite: ensure verbose printing of captured stderr.
12219 * tests/acloca18.test: Print captured stderr before either failing
12220 or grepping it. Be sure to send captured stderr to stderr, not to
12222 * tests/ansi3b.test: Likewise.
12223 * tests/cond39.test: Likewise.
12224 * tests/configure.test: Likewise.
12225 * tests/missing3.test: Likewise.
12226 * tests/missing6.test: Likewise.
12227 * tests/output-order.test: Likewise.
12228 * tests/pr300-ltlib.test: Likewise.
12229 * tests/python6.test: Likewise.
12230 * tests/python7.test: Likewise.
12231 * tests/python8.test: Likewise.
12232 * tests/python9.test: Likewise.
12233 * tests/subobj.test: Likewise.
12234 * tests/vars3.test: Likewise.
12235 * tests/missing4.test: Likewise, and fix a call to grep not to use
12237 * tests/ansi3.test: Likewise, and rely on the `configure.in' stub
12238 created by `./defs', rather than writing one from scratch.
12240 Enable `errexit' shell flag in various tests.
12241 * tests/backsl.test: Enable the `errexit' shell flag, and
12243 * tests/backsl2.test: Likewise.
12244 * tests/block.test: Likewise.
12245 * tests/canon2.test: Likewise.
12246 * tests/canon4.test: Likewise.
12247 * tests/comment2.test: Likewise.
12248 * tests/condlib.test: Likewise.
12249 * tests/cond15.test: Likewise, and prefer $FGREP over grep.
12250 * tests/canon3.test: Likewise. Also, avoid to create an useless
12252 * tests/acoutpt2.test: Enable the `errexit' shell flag, and some
12253 related changes. Do some cosmetic improvements in the generated
12254 `configure.in' file.
12255 * tests/cond4.test: Likewise.
12256 * tests/cond14.test: Likewise.
12257 * tests/condinc.test: Likewise.
12258 * tests/cond7.test: Likewise. Also, remove useless setting of
12259 AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am.
12260 * tests/ansi.test: Enable the `errexit' shell flag, and related
12261 changes. Extended, esp. by running autoconf, ./configure and
12262 make, and by looking into the distdir.
12264 2010-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
12265 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12267 Extend tests/README w.r.t. trailing `:' in test scripts.
12268 * tests/README (section "Writing test cases" subsection "Do"):
12269 Explain why apparently redundant trailing `:' and `Exit 0' in
12270 test scripts can indeed be useful.
12272 2010-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
12274 Improve determination of PATH separator in bootstrap script.
12275 * bootstrap: Determine what the PATH separator is the same way
12278 Minor improvements in bootstrap script.
12279 * bootstrap: Consistently use two-spaces indentation. Cosmetic
12280 improvement to comments.
12281 ($me): New variable, containing program basename.
12282 Prepend it to all error messages.
12284 Testsuite now works with BSD make in parallel mode.
12285 * tests/defs.in: Unset variables __MKLVL__ and MAKE_JOBS_FIFO,
12286 which are exported by BSD make when run in parallel mode, and
12287 which can confuse make processes spawned by our testsuite.
12288 This change fixes a lot of spurious failure when the testsuite
12289 is run with BSD make in parallel mode.
12291 2010-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
12293 Modernize, improve and/or fix various test scripts.
12294 * tests/sanity.test: Rely on the `configure.in' stub created by
12295 `./defs', rather than writing one from scratch.
12296 * tests/depend2.test: Likewise. Also, call `set -e' just after
12297 the inclusion of `./defs', instead that later in the script.
12298 * tests/canon5.test: Avoid a useless `|| Exit 1' after a call to
12299 $AUTOMAKE, and improve the positioning of an $ACLOCAL call.
12300 * tests/exeext4.test: Use $FGREP instead of grep, where possible.
12301 Make auxiliary rules in the generated Makefile more silent.
12302 These changes make some checks slightly stricter.
12303 * tests/ext2.test: Call `Exit 1' if inclusion of `./defs' fails.
12304 * tests/gettext2.test: Place final `:' at the end of the script,
12305 rather than in the middle.
12306 * tests/exeext.test: Call `set -e' just after the inclusion of
12307 `./defs', instead that later in the script.
12308 * tests/extra5.test: Likewise.
12309 * tests/confdeps.test: Likewise. Also, prefer `mv -f' over
12310 plain `mv', just to be sure.
12311 * tests/depcomp.test: Enable `errexit' shell flag, with related
12312 changes. Also, modernize the generated configure.in.
12313 * tests/cond9.test: Likewise. Also, rely on the `configure.in'
12314 stub created by `./defs', rather than writing one from scratch.
12315 * tests/cond10.test: Likewise.
12316 * tests/depcomp2.test: Likewise.
12317 * tests/depend3.test: Likewise.
12318 * tests/distcom7.test: Likewise.
12319 * tests/fortdep.test: Likewise. Also, remove definition of
12320 AUTOMAKE_OPTIONS to `foreign' in the generated Makefile.am,
12321 since that flag is already provided by $AUTOMAKE.
12322 * tests/mdate.test: Made stricter, by checking that Automake
12323 actually failed, and by making a stricter grep on the error
12324 message. Also, set shell `errexit flag'.
12325 * tests/python2.test: Improved verbose messages.
12327 Make test `ammissing.test' stricter.
12328 * tests/ammissing.test: Fail if $ACLOCAL succeeds unexpectedly.
12329 Enable `errexit' shell flag.
12331 2010-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
12332 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12334 Fix error in generation of parallel tests.
12335 * tests/defs.in ($am_skip_defs): New variable, to be used when
12336 ./defs must be sourced multiple times. If set, unset it and
12337 only define $srcdir; otherwise, also go through the rest of
12339 ($am_defs_included): Remove, no more needed.
12340 * tests/Makefile.am ($(parallel_tests)): Update accordingly,
12341 using only $srcdir from defs.
12342 Fixes potential test failures of tests that use $required.
12344 2010-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
12346 Enable `errexit' shell flag in some test scripts.
12347 * tests/subcond.test: Enabled `errexit' shell flag, and related
12349 * tests/subst.test: Likewise.
12350 * tests/vars.test: Likewise.
12351 * tests/version4.test: Likewise.
12352 * tests/vpath.test: Likewise.
12353 * tests/vtexi2.test: Likewise.
12354 * tests/werror.test: Likewise.
12355 * tests/whoami.test: Likewise.
12356 * tests/tags.test: Likewise, and avoid to crate an useless dummy
12358 * tests/acsilent.test: Likewise, and don't use an easily-avoided
12359 command substitution.
12360 * tests/unused.test: Likewise, and don't use an easily-avoided
12361 command substitution.
12362 * tests/version.test: Likewise, and avoid deprecated constructs
12363 in the generated `configure.in'.
12364 * tests/version2.test: Likewise, and avoid deprecated constructs
12365 in the generated `configure.in'.
12367 2010-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
12368 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12370 Improve declaration of dependencies in the testsuite.
12371 * tests/Makefile.am (check_SCRIPTS): Remove. Instead, let ...
12372 ($(TEST_LOGS)): ... all test logs depend on the scripts.
12373 * test/gen-parallel-tests: For each parallel test foo-p.test,
12374 let `foo-p.log' also depend on `foo.test', since it is sourced.
12376 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12378 Coverage for TAGS_DEPENDENCIES warning.
12379 * tests/tags2.test: New test.
12380 * tests/Makefile.am: Update.
12382 Coverage for use of anachronistic variables.
12383 * tests/oldvars.test: New test.
12384 * tests/Makefile.am: Update.
12386 Testsuite coverage for bogus macro file serial numbers.
12387 * tests/acloca18.test: Also test ill-formed serial numbers
12388 and serial numbers after macro definitions.
12390 Coverage for aclocal diagnosing underquoted macros.
12391 * tests/acloca23.test: New test.
12392 * tests/Makefile.am: Update.
12394 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12396 Prefer AUTOMAKE_fails over `$AUTOMAKE | grep' in tests.
12397 * tests/ldadd.test: Enable errexit. Use AUTOMAKE_fails so
12398 the verbose log contains all output.
12399 * tests/mdate.test: Likewise.
12400 Prompted by Stefano Lattarini's change to discover.test.
12402 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12404 More minor message fixes.
12405 * aclocal.in (scan_file): Fix recommended info command line.
12406 * automake.in (handle_lib_objects): No need to prepend function
12407 name to prog_error message.
12408 (handle_tags): Add missing word and missing space in error
12410 (handle_dist): Add missing closing single quote in message.
12411 Line-wrap one long message for readability.
12413 2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
12414 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12416 Fix distcheck failure with distributed generated parallel tests.
12417 * tests/Makefile.am ($(parallel_tests)): Cope with $(srcdir)
12418 being different from the value at developer `make dist' time.
12419 * tests/defs.in: Protect against multiple inclusion, by using ...
12420 ($am_defs_included): ... this new variable.
12421 ($srcdir): Do not compute, but simply define to `@abs_srcdir@'
12422 as substituted by configure.
12423 Report, suggestions and first fix by Ralf Wildenhues, final
12424 patch by Stefano Lattarini.
12426 2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
12428 Improve tests link*.test (enable `errexit' shell flag).
12429 * tests/link_c_cxx.test: Enable `errexit shell flag, and related
12430 changes. Also, do not create useless source files.
12431 * tests/link_dist.test: Likewise.
12432 * tests/link_f90_only.test: Likewise.
12433 * tests/link_f_only.test: Likewise.
12434 * tests/link_fc.test: Likewise.
12435 * tests/link_fccxx.test: Likewise.
12436 * tests/link_fcxx.test: Likewise.
12438 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12440 Improve ext.test semantics, avoid OpenBSD sh errexit issue.
12441 * tests/ext.test: Inside shell compound command, use
12442 `if $cmd; then Exit 1; fi' rather than `$cmd && Exit 1', to
12443 fix failure with OpenBSD sh introduced with last patch.
12444 Actually ensure that a rule for .EXT.o is created for each
12445 known extension EXT.
12447 2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
12449 Enable `errexit' shell flag in some test scripts.
12450 * tests/dash.test: Enable `errexit' shell flag, and related
12452 * tests/defun.test: Likewise.
12453 * tests/defun2.test: Likewise.
12454 * tests/dejagnu.test: Likewise.
12455 * tests/double.test: Likewise.
12456 * tests/distcom2.test: Likewise.
12457 * tests/empty2.test: Likewise.
12458 * tests/empty3.test: Likewise.
12459 * tests/empty4.test: Likewise.
12460 * tests/exdir.test: Likewise.
12461 * tests/ext.test: Likewise.
12462 * tests/extra.test: Likewise.
12463 * tests/extra2.test: Likewise.
12464 * tests/extra3.test: Likewise.
12465 * tests/extra4.test: Likewise.
12466 * tests/flibs.test: Likewise.
12467 * tests/fnoc.test: Likewise.
12468 * tests/fo.test: Likewise.
12469 * tests/instexec.test: Likewise.
12470 * tests/ltdeps.test: Likewise.
12471 * tests/nodep.test: Likewise.
12472 * tests/nodepcomp.test: Likewise.
12473 * tests/f90only.test: Likewise, and remove botched/obsoleted
12474 comments and unnecessary commands.
12475 * tests/fonly.test: Likewise, and remove botched/obsoleted
12476 comments and unnecessary commands.
12477 * tests/discover.test: Likewise, and made stricter.
12479 Enable `errexit' shell flag in all tests cxx*.test.
12480 * tests/cxx.test: Enabled `errexit' shell flag, and related
12482 * tests/cxxansi.test: Likewise.
12483 * tests/cxxcpp.test: Likewise.
12484 * tests/cxxlibobj.test: Likewise.
12485 * tests/cxxlink.test: Likewise.
12486 * tests/cxxo.test: Likewise.
12488 Enable `errexit' shell flag in various tests.
12489 * tests/acoutnoq.test: Enabled `errexit' shell flag, and related
12491 * tests/acoutpt.test: Likewise.
12492 * tests/acoutqnl.test: Likewise.
12493 * tests/amassign.test: Likewise.
12494 * tests/ansi2.test: Likewise.
12495 * tests/ansi4.test: Likewise.
12496 * tests/badprog.test: Likewise.
12497 * tests/checkall.test: Likewise.
12498 * tests/clean.test: Likewise.
12499 * tests/colneq2.test: Likewise.
12500 * tests/colon.test: Likewise.
12501 * tests/colon5.test: Likewise.
12502 * tests/colon6.test: Likewise.
12503 * tests/comment.test: Likewise.
12504 * tests/compile_f90_c_cxx.test: Likewise.
12505 * tests/compile_f_c_cxx.test: Likewise.
12506 * tests/cond3.test: Likewise.
12507 * tests/cond6.test: Likewise.
12508 * tests/cond13.test: Likewise.
12509 * tests/conf2.test: Likewise.
12510 * tests/confvar.test: Likewise.
12511 * tests/confvar2.test: Likewise.
12512 * tests/cond8.test: Likewise, plus a cosmetic change.
12513 * tests/confh4.test: Likewise. Also, add in the heading comments
12514 an excerpt from the original bug report which motivated the
12515 creation of this test, to make its purpose clearer.
12517 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12519 Rewrite manual to be gender-neutral.
12520 * doc/automake.texi (GNU Build System)
12521 (Standard Directory Variables, General Operation, CVS)
12522 (Hard-Coded Install Paths, Dependencies As Side Effects):
12523 Rewrite text to not contain gender-specific pronouns when
12524 speaking about developers or users, either by avoiding pronouns
12525 or by addressing them as `you' instead.
12527 Report by Christina Gratorp.
12531 2010-06-06 Stefano Lattarini <stefano.lattarini@gmail.com>
12533 Tiny fix in silent8.test (display output of `make' command).
12534 * tests/silent8.test: Make sure that the captured output of `make'
12535 command is always displayed.
12537 Make tests on user extensibility of silent-rules mode stricter.
12538 * tests/silent6.test: Made stricter w.r.t. the grepping of the
12539 output produced by `make'.
12540 * tests/silent7.test: Likewise.
12542 Tests on silent-mode for C/Libtool made stricter.
12543 * tests/silent.test: Made stricter w.r.t. the grepping of the
12544 output produced by `make'.
12545 * tests/silent2.test: Likewise.
12546 * tests/silent4.test: Likewise.
12547 * tests/silent9.test: Likewise.
12548 * tests/silent3.test: Likewise, and add a final `make distclean'
12549 command to keep it better in sync with tests/silent{4,9}.test.
12551 Improved test silent5.test.
12552 * tests/silent5.test: Remove by hand all generated C files after
12553 non-verbose builds, to ensure the following builds are clean.
12554 Try to clean and rebuild with the same verbosity and without
12555 removing generated sources in between, to check that this does
12556 not trigger a different set of rules. Make grepping of make's
12557 output stricter. Improved/added some comments.
12559 New tests for Automake silent-mode with Fortran.
12560 * tests/silentf77.test: New test.
12561 * tests/silentf90.test: Likewise.
12562 * tests/Makefile.am (TESTS): Updated accordingly.
12564 New test `silentcxx.test' (Automake silent-mode with C++).
12565 * tests/silentcxx.test: New test.
12566 * tests/Makefile.am (TESTS): Updated accordingly.
12568 New test `silentyacc.test' (Automake silent-mode with Yacc).
12569 * tests/silentyacc.test: New test.
12570 * tests/Makefile.am (TESTS): Updated accordingly.
12572 New test `silentlex.test' (Automake silent-mode with Lex).
12573 * tests/silentlex.test: New test.
12574 * tests/Makefile.am (TESTS): Updated accordingly.
12576 Relax tests on silent-rules to cater to overly verbose makes.
12577 * tests/silent.test: When testing silent builds, don't fail if
12578 make's output simply contains the `mv' substring, but only if
12579 it contains the `mv ' substring (note the trailing space).
12580 * tests/silent2.test: Likewise.
12581 * tests/silent3.test: Likewise.
12582 * tests/silent4.test: Likewise.
12583 * tests/silent5.test: Likewise.
12584 * tests/silent9.test: Likewise.
12586 2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
12588 Extend test on `nostdinc' automake option.
12589 * tests/nostdinc.test: Enable `errexit' shell flag. Related and
12590 unrelated minor changes. Make the grepping of the generated
12591 Makefile.in slightly stricter. Generate and run configure, so that
12592 the generated Makefile can be grepped too.
12594 2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12596 Make gnupload portable to EBCDIC hosts.
12597 * lib/gnupload: Use literal newline as argument for 'tr' rather
12598 than \015, for EBCDIC hosts. Also, avoid unportable nested
12599 double-quotes and backquotes.
12601 Report from Eric Blake and Steve Goetze via gnulib.
12603 2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
12605 Fix Autoconf version required by Automake's configure.
12606 Automake configure script used to tell that automake required
12607 autoconf 2.60 or later, but then it checked for autoconf >= 2.62,
12608 and if that was not found, it gave an error saying that Automake
12609 required configure 2.61a-341 or later. This change should
12610 eliminate such inconsistencies.
12611 * configure.ac ($required_autoconf_version): New variable.
12614 2010-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12616 Fix truncated comment in Makefile.am.
12617 * Makefile.am (sc_tests_logs_duplicate_prefixes): Fix unfinished
12618 sentence in comment.
12619 Report by Stefano Lattarini.
12621 Relax silent8.test for NetBSD make.
12622 * tests/silent8.test: Accept ./foo.info in output as well.
12624 Fix unportable sed script in maintainer-check test.
12625 * Makefile.am (sc_tests_Exit_not_exit): Rewrite sed script to
12626 not contain semicolon after 'b' or brace commands, for NetBSD.
12628 Wildcards are not portable to NetBSD make.
12629 * doc/automake.texi (Wildcards): Document portability issue.
12630 * tests/extra10.test, tests/extra11.test, tests/extra12.test:
12633 2010-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
12635 Make test for configure.in vs. configure.ac stricter.
12636 * tests/configure.test: Use a configure.in file that provokes
12637 an automake error, to ensure configure.ac is preferred.
12639 Avoid possible false negatives in dejagnu7.test.
12640 * tests/dejagnu7.test: Enable shell `errexit' flag. Also, avoid
12641 unportable use of fgrep option `-e'.
12643 Fix conflnk3.test to work with Solaris/Heirloom Sh.
12644 * tests/conflnk3.test: Use `test -r FILE' and `test ! -r FILE'
12645 instead of respectively `test -e FILE' and `test ! -e FILE',
12646 since Solaris Sh doesn't grok the latter. Do not SKIP the test
12647 if the shell doesn't support `test -e'.
12649 2010-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12651 Warning and error message formatting cleanups.
12652 * aclocal.in (parse_arguments, main): Remove trailing period or
12653 newline in error or warning messages, avoid capitalization of
12654 the first word of a message.
12655 * automake.in (check_user_variables, handle_languages)
12656 (handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files)
12657 (scan_autoconf_files, cond_stack_if, require_file_internal)
12658 (usage, generate_makefile, parse_arguments): Likewise.
12659 * lib/Automake/ChannelDefs.pm (set_strictness): Likewise.
12660 * lib/Automake/Configure_ac.pm (find_configure_ac): Likewise.
12661 * lib/Automake/Options.pm (set_strictness): Likewise.
12662 * lib/Automake/Rule.pm (define): Likewise.
12663 * lib/Automake/Variable.pm (define, variables_dump): Likewise.
12664 * tests/ltinstloc.test, tests/suffix11.test: Adjust expected
12666 * lib/Automake/Channels.pm (setup_channel): Reword error message
12667 to be the same as in msg.
12669 Fix placing of ellipses in English text and synopses.
12670 * Makefile.am: Be sure to add a space before `...' in natural
12672 * automake.in (scan_autoconf_traces): Likewise.
12673 * lib/Automake/Rule.pm (define): Likewise.
12674 * lib/Automake/Variable.pm (define): Likewise.
12675 * lib/am/dejagnu.am: Likewise.
12676 * lib/am/progs.am: Likewise.
12677 * lib/gnupload (dprint, upload): Likewise.
12678 * tests/confdeps.test: Likewise.
12679 * tests/location.test: Adjust expected output.
12680 * automake.in (usage): In synopsis, use singular for OPTION,
12681 * remove space before ellipsis.
12682 * aclocal.in (usage): Likewise. Also, fix indentation.
12684 Fix more duplicate message prefixes.
12685 * lib/Automake/XFile.pm (seek): Do not prepend $me.
12686 ($me): Remove now-unused package-global.
12687 * aclocal.in (check_acinclude): Remove duplicate 'warning: '
12690 Fix typo in manual.
12691 * doc/automake.texi (Simple Tests using parallel-tests): Add
12692 missing closing parenthesis.
12694 Fix leftover call to removed function macros_dump.
12695 * automake.in (read_main_am_file): Call variables_dump, not
12696 macros_dump. Print actual error before list of variables.
12698 2010-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
12700 Minor improvements in comments of test `silent3.test'.
12701 * tests/silent3.test: Tell to keep it in sync with `silent9.test'
12704 2010-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12706 testsuite: ensure verbose printing of captured output.
12707 * tests/acloca14.test, tests/acloca18.test, tests/aclocal.test,
12708 tests/fort2.test, tests/help.test, tests/missing3.test,
12709 tests/missing6.test: Print captured stdout or stderr before
12712 2010-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
12714 Make test badopt.test stricter (by enabling `set -e').
12715 * tests/badopt.test: Add call to `set -e'. Due to this change,
12716 an unexpected failure in the call to `$ACLOCAL' (whose outcome
12717 was previously unchecked) would cause the whole test to fail.
12718 Also, bumped the copyright years.
12720 Make test for configure.in vs. configure.ac stricter.
12721 * tests/configure.test: Use a configure.in file that provokes
12722 an automake error, to ensure configure.ac is preferred.
12724 Use `set -e' in confsub.test (avoids possible false negatives).
12725 * tests/confsub.test: Enable shell `errexit' flag, and related
12726 changes (this helps avoiding some possible minor false negatives).
12727 Also, bumped copyright years.
12729 2010-04-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12731 Fix -Werror handling for presence of configure.in and configure.ac.
12732 * lib/Automake/Variable.pm (Automake::Variable): Do not initialize
12733 $configure_ac at the global level, before command-line arguments
12735 (require_variables): Initialize it here.
12736 * tests/configure.test: New test.
12737 * tests/Makefile.am: Update.
12738 Report by Stefano Lattarini.
12740 2010-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
12742 Avoid possible false negatives in confh5.test.
12743 * tests/confh5.test: Enable shell `errexit' flag, and bumped
12744 copyright years. Due to this change, any unexpected failure
12745 in calls to $ACLOCAL, $AUTOMAKE, $AUTOCONF or $AUTOHEADER, or
12746 a failure in grepping expected text in output files should now
12747 cause the whole test to fail.
12749 2010-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
12751 Fixed typo in POD documentation of Automake::Channels.
12752 * lib/Automake/Channels.pm: Fixed typo in POD documentation:
12753 @<...> was used instead of C<...>.
12755 2010-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
12757 Refactor tests on Automake TESTS color output.
12758 * tests/color.test: Tests using the expect program moved out to...
12759 * tests/color2.test: ... this new file.
12760 * tests/Makefile.am (TESTS): Extended accordingly.
12762 2010-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
12764 Fix typos in comments in test confh5.test
12765 * tests/confh5.test: Fix a couple of typos in comments.
12767 Avoid possible false negatives in canon-name.test.
12768 * tests/canon-name.test: Enable shell `errexit' flag. Improve
12771 2010-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12773 Print 'warnings are treated as errors' note if needed.
12774 * lib/Automake/Channels.pm: Fix typo in comment.
12775 (_print_message): If -Werror is enabled, print a 'warnings are
12776 treated as errors' note before the first such warning.
12777 * tests/warnopts.test: Adjust comment to mention expected warning.
12778 Adjust code to ignore 'warnings are treated as errors' note.
12779 * tests/location.test: Adjust expected output with -Werror.
12780 * tests/werror4.test: New test.
12781 * tests/Makefile.am: Update.
12784 Ensure we don't print 'warning:' or 'error:' twice.
12785 * Makefile.am (sc_ensure_testsuite_has_run): New helper rule.
12786 (sc_tests_logs_duplicate_prefixes): New rule, to check for
12787 wrong-looking warning and error messages in the test suite logs.
12788 * aclocal.in (scan_configure_dep, scan_file): Remove duplicate
12789 `warning: ' prefix.
12790 * tests/vars3.test: Rename variable to avoid false positive.
12792 Prepend type to warning, error, and fatal messages.
12793 For the first part of messages of types `error' or `fatal',
12794 prepend `error: ' to the message. Prepend `warning: ' to
12795 warning messages, whatever the setting of -Werror.
12796 * lib/Automake/Channels.pm (partial): Move up definition.
12797 (_format_message): Emit `header' and `footer' strings only with
12798 the first resp. last part of a set of partial messages.
12799 * lib/Automake/ChannelDefs.pm: Add missing '1;' statement at the
12801 (Automake::ChannelDefs): Setup warning channels with header
12802 `warning: ', error and fatal messages with header `error: '.
12803 * tests/condinc2.test, tests/ltinstloc.test: Adjust expected
12805 * tests/comment5.test: Likewise. Also, include stack notes
12806 should not start with `error:'.
12807 * tests/location.test: Likewise. Also, try both -Werror and
12810 Report by Bruno Haible.
12812 Fix capitalization of error messages, reword one message.
12813 * lib/Automake/Variable.pm (define): Do not capitalize the first
12814 word in the error message.
12815 * automake.in (require_file_internal): Likewise. Also, reword
12816 and line-wrap for better readability.
12817 * tests/distcom7.test, tests/pluseq5.test, tests/pluseq9.test:
12820 Fix connected warnings about obsolete exeext override.
12821 * lib/Automake/Rule.pm (define): Merge two warnings that belong
12822 together, by setting the 'partial' flag for the first one.
12824 Fix per-Makefile.am setting of -Werror.
12825 Before this patch, 'AUTOMAKE_OPTIONS = -Werror' in one
12826 Makefile.am would carry over to other Makefile.am files
12827 treated afterwards by the same thread, causing inconsistent
12828 and unstable exit status values.
12829 * lib/Automake/Channels.pm (dup_channel_setup)
12830 (drop_channel_setup): Save and restore the setting of
12831 $warnings_are_errors.
12832 * tests/werror3.test: New test.
12833 * tests/Makefile.am: Adjust.
12836 2010-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
12838 Bugfix in confh5.test w.r.t. Solaris/Heirloom Sh.
12839 * tests/confh5.test: In the generated Makefile.am: do not use
12840 `test ! -e FILE' to check for the non-existence of a file, since
12841 that is not supported by Solaris/Heirloom Sh.
12843 Make test `aclocal3.test' stricter.
12844 * tests/aclocal3.test: Add call to `set -e'. Fail if $ACLOCAL
12845 succeeds unexpectedly.
12847 Add tests checking that symlinks are resolved by `make dist'.
12848 * tests/distlinks.test: New test.
12849 * tests/Makefile.am (TESTS): Updated accordingly.
12850 Suggested by observations from Ralf Wildenhues.
12852 2010-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12854 Use -9 for maximum xz compression with dist-xz.
12855 * lib/am/distdir.am (dist-xz, dist, dist-all): Pass -9 to xz.
12856 * NEWS, THANKS: Update.
12857 Report by Pavel Sanda.
12859 2010-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
12861 Avoid possible false negatives in cond46.test.
12862 * tests/cond46.test: Enable shell `errexit' flag (and bumped
12863 copyright years). Due to this change, the testcase should now
12864 fail on unexpected failures in calls to $ACLOCAL/$AUTOMAKE (whose
12865 outcomes were previously unchecked), and on failures in grepping
12866 the expected diagnostic in Automake stderr.
12868 2010-04-04 Stefano Lattarini <stefano.lattarini@gmail.com>
12870 Generated tests are now just a thin layer around other tests.
12871 * tests/Makefile.am: Rewrite the rule to generate the `*-p.test'
12872 test scripts so that any of them simply includes the corresponding
12873 `*.test' script (after setting `$parallel_tests' to `yes').
12874 * tests/.gitignore: Add wildcard for temporary files used in the
12875 generation of `*-p.test' tests.
12877 2010-03-30 Stefano Lattarini <stefano.lattarini@gmail.com>
12879 Avoid an unportable use of `$status' shell variable.
12880 * Makefile.am (path-check): Don't use the `$status' shell variable
12881 in the target's rules, as it's special in Zsh (equivalent to `$?',
12884 Avoid another use of `chmod -R'.
12885 * Makefile.am (path-check): To be safe, do not use `chmod -R' on
12886 $(distdir) before removing it (as Solaris `chmod -R' touches
12887 symlink targets). Instead, use the cleanup strategy used in
12890 2010-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12892 Remove uses of @acronym and @sc.
12893 * doc/automake.texi (Public Macros, Limitations on File Names):
12894 Remove all usage of @acronym and @sc in the manual.
12895 Suggested by Karl Berry.
12897 2010-03-13 Karl Berry <karl@freefriends.org>
12899 GNU hello uses fdl.texi, not gpl.texi.
12900 * doc/automake.texi (Texinfo): Adjust example to upstream
12903 2010-03-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12905 Formatting cleanups in macro comments.
12906 * automake.in, lib/Automake/Channels.pm,
12907 lib/Automake/FileUtils.pm, lib/Automake/Options.pm,
12908 lib/Automake/Variable.pm, lib/Automake/XFile.pm,
12909 m4/options.m4, m4/substnot.m4: Fix macro comment format.
12911 2010-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
12912 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12914 Avoid generation of `tests/defs-p' file.
12915 * tests/defs.in: In the generated `configure.in' snippet: call
12916 `AM_INIT_AUTOMAKE' with the `parallel-tests' option if the shell
12917 variable `parallel_tests' is set to `yes'.
12918 * tests/Makefile.am (defs-p): Target removed.
12919 (check_SCRIPTS): Removed `defs-p'.
12920 (clean-local-check): Do not unlink `defs-p' anymore.
12921 ($(parallel_tests)): Transformation rules for the test scripts
12923 * tests/gen-parallel-tests: Selection rules for the test
12925 * tests/parallel-tests.test: Set `$parallel_tests' to `yes'
12926 then include `./defs' (rather than simply including `./defs-p').
12927 * tests/parallel-tests2.test: Likewise.
12928 * tests/parallel-tests3.test: Likewise.
12929 * tests/parallel-tests4.test: Likewise.
12930 * tests/parallel-tests5.test: Likewise.
12931 * tests/parallel-tests6.test: Likewise.
12932 * tests/parallel-tests7.test: Likewise.
12933 * tests/parallel-tests8.test: Likewise.
12934 * tests/parallel-tests9.test: Likewise.
12935 * tests/parallel-tests10.test: Likewise.
12936 * tests/README (Section "Writing Test Cases" subsection "Do"):
12937 Adjusted the parts referring to tests checking `parallel-tests'
12938 behaviour. Some other minor related improvements.
12939 * tests/.gitignore (defs-p): Removed.
12941 2010-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
12943 Remove redundant unset of variable TESTS from some test scripts.
12944 * tests/color.test: Do not unset the `TESTS' variable, as it's
12945 already unset in the `defs' file.
12946 * tests/check5.test: Likewise.
12947 * tests/check8.test: Likewise.
12948 * tests/check9.test: Likewise.
12949 * tests/check10.test: Likewise.
12950 * tests/check11.test: Likewise.
12951 * tests/parallel-tests.test: Likewise.
12952 * tests/parallel-tests3.test: Likewise.
12953 * tests/parallel-tests4.test: Likewise.
12954 * tests/parallel-tests5.test: Likewise.
12955 * tests/parallel-tests6.test: Likewise.
12956 * tests/parallel-tests7.test: Likewise.
12958 2010-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12960 Fix cscope test on systems without working Fortran compiler.
12961 * tests/cscope.test: Skip remainder of test if `$MAKE all' fails.
12963 Report by Peter Johansson.
12965 2010-02-24 Antonio Diaz Diaz <ant_diaz@teleline.es> (tiny change)
12966 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12968 Add lzip compression support.
12969 * automake.in (handle_dist): Recognize dist-lzip.
12970 (make_paragraphs): Map LZIP to dist-lzip.
12971 * doc/automake.texi (Dist): Add dist-lzip.
12972 (Options): Likewise.
12973 * lib/Automake/Options.pm (_process_option_list): Add dist-lzip.
12974 * lib/am/distdir.am
12975 (dist dist-all): Add command to create an lzip-compressed tarball.
12976 (distcheck): Handle lzip-compressed tarballs just like the others.
12977 * tests/defs.in: Test for lzip, too.
12978 * tests/lzip.test: New file, based on nogzip.test.
12979 * tests/Makefile.am (TESTS): Add lzip.test.
12982 2010-02-22 Karl Berry <karl@gnu.org>
12984 Improve help message of mdate-sh.
12985 * mdate-sh: mention actual output format in help message.
12987 2010-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12989 Deprecate dist-lzma in favor of dist-xz.
12990 * doc/automake.texi (The Types of Distributions, Options):
12991 Adjust text to reflect renaming of lzma to xz.
12993 Missing deprecation noted by Antonio Diaz Diaz.
12995 2010-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
12997 Add tests about support of wildcards in EXTRA_DIST.
12998 * tests/extra10.test: New test, check basic support of wildcards
13000 * tests/extra11.test: New test, check more complex usage of
13001 wildcards in EXTRA_DIST.
13002 * tests/extra12.test: New test, check usage of wildcards in
13003 EXTRA_DIST when $builddir != $srcdir.
13004 * tests/Makefile.am (TESTS): Updated accordingly.
13005 Necessity of these new tests suggested by Braden McDaniel
13006 and Ralf Wildenhues.
13008 2010-02-08 Simon Josefsson <simon@josefsson.org>
13010 Fix copyright statement in gnupload script.
13011 * lib/gnupload: Fix copyright statement.
13013 2010-02-06 Dmitry V. Levin <ldv@altlinux.org> (tiny change)
13014 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13016 Fix exit status of signal handlers in shell scripts.
13017 The value of `$?' on entrance to signal handlers in shell scripts
13018 cannot be relied upon, so set the exit code explicitly to
13020 * lib/am/check.am (am__check_pre): Use `exit 143' in signal handler.
13021 * lib/elisp-comp: Likewise.
13022 * lib/install-sh: Likewise.
13023 * lib/ylwrap: Likewise. Also, fix script to trap signal 13, not 3.
13024 * NEWS, THANKS: Update.
13025 Bug report, analysis, and initial patch by Dmitry V. Levin.
13027 2010-02-06 Karl Berry <karl@gnu.org>
13029 Improve gnupload usage text.
13030 * gnupload (usage): Shorten to make more likely to fit on a tty
13031 line. Mention CMD in the synopsis. With ..., plural is implied.
13033 2010-01-28 Christos Kontas <xakon@yahoo.com> (tiny change)
13035 Fix some typos in the manual
13036 * doc/automake.texi (Nested Packages, Rebuilding): Fix typos.
13038 2010-01-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13040 Fix silent-rules output for disabled dependency tracking.
13041 * lib/am/depend2.am [!%FASTDEP%]: Rework silent-rules variable
13042 expansion code to also work in the case where %AMDEP% expands
13043 to FALSE at config.status time, using new substitution string
13045 * automake.in (verbose_nodep_flag): New function, appending
13046 `@am__nodep@' to the verbose-variable name.
13047 (handle_languages): If dependencies are not disabled, use it to
13048 set %VERBOSE-NODEP%.
13049 * m4/depend.m4: Substitute am__nodep as '_no', so the second
13050 verbose-variable will always expand to an empty string, if
13051 dependencies are enabled.
13052 * tests/silent5.test: Also test --disable-dependency-tracking;
13053 also test per-target flags for non-C language files.
13054 * tests/silent9.test: New test, like silent4.test but disable
13055 dependency tracking.
13056 * tests/Makefile.am: Adjust.
13057 * NEWS, THANKS: Update.
13058 Report by Dmitry V. Levin <ldv@altlinux.org>.
13060 2010-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
13062 Slighty improve tests acoutbs.test and acoutbs2.test.
13063 * tests/acoutbs2.test: Enable `errexit' shell flag. Check that
13064 autoconf and configure work, that the file `zot' is created by
13065 configure, and that no file containing a backslash in its name is
13067 * tests/acoutbs.test: Likewise, plus updated copyright years.
13069 Fix test acoutbs2.test.
13070 * tests/acoutbs2: In the generated configure.in: add proper calls
13071 to AC_INIT and AM_INIT_AUTOMAKE, and remove explicit definition of
13072 PACKAGE and VERSION. Add a call to aclocal before calling automake.
13073 Updated copyright years.
13074 * tests/Makefile.am (XFAIL_TESTS): Removed acoutbs2.test.
13076 Add forgotten test scripts to $(TESTS).
13077 * tests/Makefile.am (TESTS): Added test scripts present on the
13078 filesystem, which were erroneously left out from $(TESTS):
13079 acoutbs2.test, badopt.test, extra2.test.
13080 (XFAIL_TESTS): Added acoutbs2.test.
13082 2010-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13084 Sync auxiliary files from upstream.
13085 * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub:
13086 Sync from upstream.
13088 Bump copyright years.
13089 * aclocal.in (write_aclocal, version): Bump copyright years.
13090 * automake.in (gen_copyright, version): Likewise.
13091 * doc/automake.texi: Likewise.
13094 * ChangeLog.09: New file, rotated from ...
13095 * ChangeLog: ... here.
13096 * Makefile.am (EXTRA_DIST): Distribute ChangeLog.09.
13100 Copyright (C) 2010-2013 Free Software Foundation, Inc.
13102 Copying and distribution of this file, with or without modification, are
13103 permitted provided the copyright notice and this notice are preserved.