-2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
-
- coverage: test for automake bug#8485 (known regression)
- * tests/yacc-dist-nobuild-subdir.test: New test.
- * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
-
+ 2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ test defs: define default $distdir (help reducing duplication)
+ * tests/defs.in ($distdir): New variable, might be used in
+ testcases checking distribution-related features.
+ * tests/pr9.test: Use it.
+ * tests/subdir9.test: Likewise.
+ * tests/vtexi3.test: Add comment explaining why we redefine
+ $distdir in this test.
+
+2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ coverage: test lex-generated "#line" directives postprocessing
+ * tests/yacc-line.test: In heading comments, add reference to new
+ sister test `lex-line.test'.
+ * tests/lex-line.test: New test.
+ * tests/Makefile.am (TESTS): Update.
+
+2011-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: minor improvements to a couple of yacc tests
+ * tests/yacc-auxdir.test: Avoid running autoconf, it's not
+ needed.
+ * tests/yacc-line.test: Also check that the yacc-generated C
+ and header files do not contain "#line" directives referencing
+ `y.tab.c' or `y.tab.h'. Add a couple of explicative comments.
+
+2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: split yacc6.test, for better separation and coverage
+ * tests/yacc6.test: Test removed, its content extended and split
+ into ...
+ * tests/yacc-auxdir.test, tests/yacc-depend.test,
+ tests/yacc-line.test: ... these new tests.
+ * tests/yacc-depend2.test: New test, exposes the failure that
+ FreeBSD used to encounter in yacc6.test.
+ * tests/Makefile.am (TESTS): Update.
+
+2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: do not uselessly require GNU make or gcc in a few tests
+ * tests/lex3.test: Remove gcc from requirements, as any working C
+ compiler should be ok. Consequently, do not clobber user CFLAGS.
+ Also, remove GNUmake from requirements; it was added (see commit
+ `Release-1-8-103-g0d2f592') because this test fails with FreeBSD
+ make due to VPATH issues -- but so do many other yacc-related and
+ lex-related tests currently, and requiring GNU make in all of
+ them would unacceptably reduce coverage.
+ * tests/lexvpath.test: Remove gcc from requirements, as any
+ working C compiler should be ok.
+ * tests/yacc4.test: Likewise.
+ * tests/yacc8.test: Likewise.
+ * tests/lex5.test: Likewise. Also, do not require anymore GNU
+ make; to compensate, explicitly call "$MAKE Makefile" to update
+ the out-of-date Makefile if $MAKE is not GNU make.
+
+2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: fix spurious failure in test 'yacc-d-cxx.test'
+ * tests/yacc-d-cxx.test: Create ylwrap script before calling
+ automake for the first time, so that the script gets correctly
+ distributed. Add checks verifying it indeed is.
+
+2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests cosmetics: remove redundant definitions of variable $tab
+ * tests/yacc-d-basic.test ($tab): Remove definition: it's already
+ defined in `tests/defs'.
+ * tests/yacc-d-cxx.test: Likewise.
+
+2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ yacc: add some tests on bison support (still xfailing)
+ Related to automake bug#7648 and PR automake/491.
+ * tests/bison-skeleton-cxx.test: New test.
+ * tests/bison-skeleton.test: New test.
+ * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
+
+2011-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ coverage: test for automake bug#8485 (known regression)
+ * tests/yacc-dist-nobuild-subdir.test: New test.
+ * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
+
+2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ coverage: test mixed C/C++ yacc-generated parsers in the same dir
+ * tests/yacc-mix-c-cxx.test: New test.
+ * tests/Makefile.am (TESTS): Update.
+
+2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ cosmetics: fix typos and wording in some yacc tests
+ * tests/yacc-cxx.test (foo.cc): Clarify comment about the content
+ of this file being valid C++ but invalid C.
+ (parse1.yy): Likewise. Also, remove redundant parentheses in a
+ `return' statement.
+ * tests/yacc-d-cxx.test (write_parse): Clarify comment about the
+ content of the generated files being valid C++ but invalid C.
+ (write_main): Likewise.
+ * tests/yacc-basic.test: Remove redundant parentheses in a
+ `return' statement.
+ * tests/yacc-d-vpath.test: Adjust spacing around curly brackets.
+ * tests/yaccvpath.test: Likewise.
+ * tests/yaccdry.test: Likewise.
+ * tests/yacc8.test: Likewise.
+ * tests/yacc4.test: Likewise.
+ Suggested by Ralf Wildenhues.
+
+2011-04-10 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ yacc: update NEWS and docs about yacc-generated headers extensions
+ * doc/automake.texi (Yacc and Lex): Document explicitly that
+ extensions of yacc-generated headers are modelled after the
+ extension of the corresponding sources.
+ * NEWS: Update.
+
+2011-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ yacc: extension of headers modelled after extension of sources
+ With this change, if '-d' is in *YFLAGS, a yacc input file named
+ foo.y++ will cause a foo.h++ header to be generated, instead of a
+ foo.h header. Similarly for foo.ypp, foo.yxx and foo.yy.
+ This way, the name of the files generated by an automake-created
+ `ylwrap' invocation should be consistent with those generated by
+ a `bison -o' call.
+ Related to automake bug#7648 and PR automake/491.
+ * lib/am/yacc.am (am__yacc_c2h): New internal variable.
+ (?GENERIC?%EXT%%DERIVED-EXT%, ?!GENERIC?%OBJ%): Get the name of
+ the header dynamically at make runtime, so that its extension is
+ modelled after the extension of the source.
+ * automake.in (lang_yacc_target_hook): Adjust the calculation of
+ `$header' accordingly.
+ * tests/yacc-cxx.test: New test.
+ * tests/yacc-d-cxx.test: Likewise.
+ * tests/yacc-weirdnames.test: Likewise.
+ * tests/yacc-basic.test: Update comments.
+ * tests/yacc-d-basic.test: Likewise.
+ * tests/yaccpp.test: Updated and extended.
+ * tests/Makefile.am (TESTS): Update.
+
+2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: don't define YACC and LEX in the Makefiles
+ We don't want YACC and LEX defined as make variables, otherwise
+ the values determined at configure time will override those from
+ the environment, even in the make-spawned testcases. For example,
+ before this change, with the following usage:
+ $ ./configure YACC=yacc
+ $ export YACC='bison -y'
+ $ make check
+ the testsuite would have ended up, very counterintuitively, with
+ YACC defined to 'yacc' in the testcases' environment.
+ * configure.ac: Call `AM_SUBST_NOTMAKE' on YACC and LEX.
+
+2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: fix spurious failures in lflags*.test
+ * tests/lflags.test: Remove 'LEX' from the environment, so
+ that it won't be erroneously picked up by `make -e'.
+ * tests/lflags2.test: Likewise.
+
+2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ coverage: more on 'yacc -d' and recovery from deleted headers
+ * tests/yacc-deleted-headers.test: New test.
+ * tests/Makefile.am (TESTS): Update.
+
+2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: remove redundancy from silent lex/yacc tests
+ * tests/silent-yacc-gcc.test, tests/silent-yacc-generic.test: Merge
+ these two testcases into ...
+ * tests/silent-yacc.test: ... this new one, which doesn't fiddle
+ which dependency tracking, as that shouldn't impact on generation
+ of yacc-derived C source and header files (and, for what concerns
+ compilation of C files, is already tested in other testcases).
+ * tests/silent-lex-gcc.test, tests/silent-lex-generic.test: Merge
+ these two testcases into ...
+ * tests/silent-lex.test: ... this new test, for similar reasons.
+ * tests/Makefile.am (TESTS): Update.
+
+2011-01-29 Stefano Lattarini <stefano.lattarini@gmail.com>
+ Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ tests init: better messages for 'yacc' and 'lex' requirements
+ * tests/defs.in: Give better diagnostic messages when a test must
+ be skipped to the unavailability of yacc or lex program. Also,
+ improve syncing between code for requiring yacc and lex.
+
+2011-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ configure: look for a lex program to be used by the testsuite
+ This will allow the testcases requiring a 'lex' program to run also
+ with vendor/legacy lex implementations, not only with 'flex'.
+ * configure.ac: Look for a lex program, using AC_CHECK_PROGS.
+ * tests/defs.in: New required entry 'lex'.
+ ($LEX): Let the user override the lex program to be used by the
+ testsuite.
+ * tests/cond35.test ($required): Require 'lex', not 'flex'.
+ * tests/cond36.test: Likewise.
+ * tests/lexv3.test: Likewise.
+ * tests/lexv3.test: Likewise.
+ * tests/silent-lex-gcc.test: Likewise.
+ * tests/silent-lex-generic.test: Likewise.
+ * tests/silent-many-gcc.test: Likewise.
+ * tests/silent-many-generic.test:likewise.
+ * tests/lexvpath.test: Likewise, and fix typo in comments.
+
+2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ configure: look for a yacc program to be used by the testsuite
+ Instead of forcing the user to manually export 'YACC' in the
+ testsuite to use a non-bison yacc, we now look for a yacc program
+ at configure time, and use that as the default in the testsuite.
+ * configure.ac: Look for a yacc program, using AC_CHECK_PROGS.
+ * tests/defs.in: Updated to use the value of $YACC precomputed by
+ configure, unless the user overrides that in the environment.
+
+2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: more coverage on yacc/lex silent-rules, plus minor cleanups
+ * tests/silent-yacc-gcc.test: Add sanity checks verifying that the
+ generated Makefile.in files really contains the non-generic rules
+ we expect. Do not redundantly manually remove files we know to be
+ already removed "make maintainer-clean".
+ (Makefile.am): Ensure we cover also non-generic yacc rules, by
+ setting target-specific YFLAGS.
+ (sub/Makefile.am): Likewise.
+ * tests/silent-yacc-generic.test: Likewise.
+ * tests/silent-lex-gcc.test: Likewise, but with LFLAGS instead of
+ YFLAGS.
+ * tests/silent-lex-generic.test: Likewise.
+ * tests/silent-many-gcc.test: Likewise, but with both LFLAGS and
+ YFLAGS. Also ...
+ (do_and_check_verbose_build): Remove redundant blank line.
+ * tests/silent-many-generic.test: Likewise.
+ * tests/silent-yacc-headers.test: New test.
+ * tests/Makefile.am (TESTS): Update.
+
+2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: fix spurious failures in yflags*.test
+ * tests/yflags.test: Remove 'YACC' from the environment, so
+ that it won't be erroneously picked up by `make -e'.
+ * tests/yflags2.test: Likewise.
+
+2011-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: cover yacc target-specific flags, and `-v' flag handling
+ * tests/yacc-basic.test: Also try to build a parser having `-v'
+ as target-specific flags. Add a couple of `ls -l' commands, for
+ debugging. Update and extend comments. Escape literal dots in
+ grep regular expressions.
+
+2011-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ docs: clustered '-d' not recognized in YFLAGS
+ This change fixes automake bug#7828.
+ * doc/automake.texi (Yacc and Lex): Document that automake
+ recognizes '-d' in AM_YFLAGS only if it's not clustered with
+ other options.
+ From a report by Юрий Пухальский.
+
+2011-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ tests: do not force yacc-requiring tests to use bison
+ * tests/defs.in: New required entry 'yacc'. Remove old
+ required entry 'bison'.
+ * tests/cond35.test ($required): Require yacc, not bison.
+ * tests/cond36.test: Likewise.
+ * tests/pr204.test: Likewise.
+ * tests/silent-many-gcc.test: Likewise.
+ * tests/silent-many-generic.test: Likewise.
+ * tests/silent-yacc-gcc.test: Likewise.
+ * tests/silent-yacc-generic.test: Likewise.
+ * tests/subpkg.test: Likewise.
+ * tests/suffix10.test: Likewise.
+ * tests/yacc-basic.test: Likewise.
+ * tests/yacc-clean.test: Likewise.
+ * tests/yacc-d-basic.test: Likewise.
+ * tests/yacc-d-vpath.test: Likewise.
+ * tests/yacc-dist-nobuild.test: Likewise.
+ * tests/yacc-nodist.test: Likewise.
+ * tests/yacc4.test: Likewise.
+ * tests/yacc6.test: Likewise.
+ * tests/yacc7.test: Likewise.
+ * tests/yacc8.test: Likewise.
+ * tests/yaccdry.test: Likewise.
+ * tests/yaccvpath.test: Likewise.
+
+2011-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ yacc: warn about conditional content in *YFLAGS variables
+ This change fixes automake bug#7804.
+ * automake.in (lang_yacc_target_hook): Warn if any of the relevant
+ *YFLAGS variables has conditional contents (not only a conditional
+ definition). Related refactoring.
+ * NEWS: Updated.
+ * tests/yflags-conditional.test: Updated and extended.
+ * tests/yflags-conditional-force.test: New test.
+ * tests/Makefile.am (TESTS): Updated.
+
+2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ yacc: support variable expansions in *YFLAGS definition.
+ This change fixes automake bug#7800.
+ * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
+ instead of 'variable_value' to get the value of *YFLAGS variables.
+ Related changes.
+ ($DASH_D_PATTERN): Removed.
+ * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
+ * tests/yacc-clean.test: Remove workaround for now-fixed bug.
+ * NEWS: Update.
+
+2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ yacc: more tests on *YFLAGS support
+ * tests/yflags-var-expand.test: New test, still xfailing. It
+ exposes automake bug#7800 -- "automake fails to honor `-d' in
+ AM_YFLAGS when variable expansions are involved".
+ * tests/yflags-d-false-positive.test: New test, checking that
+ automake do not spuriously see `-d' in *YFLAGS when that isn't
+ really there.
+ * tests/yflags-force-override.test: New test, checking that
+ automake can cope with definition of the YFLAGS variable in
+ Makefile.am (even if that is an extremely bad practice, as that
+ variable is user-reserved).
+ * tests/yflags-cmdline-override.test: New test, checking that
+ automake can cope with user-redefinition of YFLAGS at configure
+ time and/or at make time.
+ * tests/yflags-conditional.test: New test, checks that automake
+ warns on conditionally-defined *YFLAGS variables.
+ * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
+
+2011-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ yacc: extend and improve tests
+ * tests/yacc-basic.test: Also check that the intermediate C file
+ is mentioned in the generated Makefile.in, and that it is created
+ by the first make invocation.
+ * tests/yacc3.test: Test removed, superseded by ...
+ * tests/yacc-d-basic.test: ... this new test.
+ * tests/yacc2.test: Add reference to that new test in the heading
+ comments.
+ * tests/yacc-d-vpath.test: New test.
+ * tests/yaccvpath.test: Updated heading comments. Do not require
+ gcc anymore, as any working C compiler should be enough. Remove
+ redundant comments.
+ * tests/yacc-nodist.test: New test.
+ * tests/yacc-dist-nobuild.test: New test.
+ * tests/Makefile.am (TESTS): Update.
+
+2010-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ Extend, fix and improve tests on Lex and Yacc support.
+ * tests/lexcpp.test: New test script, on support for Lex + C++.
+ * tests/lexvpath.test: New test script, test build and rebuild
+ rules for lexers in VPATH setup.
+ * tests/yacc-basic.test: New test script, run simple "semantic"
+ checks on basic Yacc support (similarly to what lex3.test does
+ for Lex support).
+ * tests/lex.test: Don't create useless dummy source file joe.l.
+ Remove extra blank lines.
+ * tests/lex4.test: Add trailing `:' command. Do not create dummy
+ useless lex source file.
+ * tests/lex2.test: Likewise. Call automake with the `-a' option,
+ so that it doesn't fail for the absence of `ylwrap' script. Make
+ grepping of automake stderr stricter.
+ * tests/yacc7.test: Add trailing `:' command. Enable `errexit'
+ shell flag earlier (just after having sourced ./defs).
+ * tests/yacc4.test: Likewise. Also ...
+ (configure.in): Use pre-populated skeleton set up by ./defs,
+ instead of writing one from scratch.
+ Other minor cosmetic changes.
+ * tests/yacc5.test: Likewise.
+ * tests/yaccvpath.test: Likewise. Also ...
+ ($distdir): New variable.
+ Use it throughout.
+ * tests/lex5.test: Likewise.
+ * tests/lex3.test: Likewise. Check the distdir, rather than
+ grepping the distribution tarball. Extend the test on the
+ created binary, and be sure to avoid hangs. Add some comments.
+ * tests/yacc.test: Use stricter grepping. Add trailing `:'.
+ * tests/yacc6.test: Likewise.
+ * tests/yacc3.test: Likewise. Do not create the unused file
+ `Makefile.sed'. Remove useless rules from Makefile.am. Other
+ minor cosmetic changes.
+ * tests/yacc2.test: Make grepping of generated `Makefile.in' and
+ of automake error messages stricter. Do not redirect output of
+ grep to /dev/null. Move call to aclocal earlier. Reduce the
+ number of empty blank lines. Fix a typo in comments.
+ * tests/yacc8.test: Fixed bugs that reduced the completeness of
+ the tests. Added trailing `:' command.
+ (configure.in): Use pre-populated skeleton set up by ./defs,
+ instead of writing one from scratch.
+ * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
+ `.yxx', rather than only `.yy'.
+ * tests/Makefile.am (TESTS): Update.
+
+2011-01-07 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ yacc: "make clean" removes .c and .h files from non-distributed .y
+ Previously, while automake did *not* distribute C source and header
+ files derived from non-distributed Yacc sources, it still caused
+ them to be removed only by "make maintainer-clean" only, and not by
+ simply "make clean" or "make distclean".
+ This caused "make distcheck" to fail, unless the developer put
+ those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
+ by hand.
+ This change fixes this issue, by making non-distributed `.c' and
+ `.h' files generated by non-distributed Yacc sources cleaned by
+ "make clean".
+ * tests/automake.in (lang_yacc_target_hook): Make C source and
+ header files derived from non-distributed Yacc files cleaned by
+ "make clean", not only by "make maintainer-clean".
+ * tests/yacc-clean.test: New test.
+ * tests/Makefile.am (TESTS): Update.
+ * NEWS: Update.
+
2011-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: fix bugs in tests and in the depcomp script