tests/silent-many-gcc.test


Log

Author Commit Date CI Message
Stefano Lattarini 641a5a4b 2012-02-16T10:46:23 maint: run "make update-copyright"
Stefano Lattarini e6c40d4b 2012-02-12T15:06:17 Merge branch 'yacc-work' into yl-work-for-master * yacc-work: (37 commits) fixup: list of yacc/lex tests was botched tests: work around bug#7884 in many yacc/lex tests yacc/lex tests: remove an unneeded workaround for bug#8485 yacc/lex tests: avoid too much failures with FreeBSD make yacc-dist-nobuild.test: add reference to bug#7884 yacc tests: fix bug in 'yacc-cxx.test' lex tests: fix spurious link errors on Solaris lex: "make clean" removes .c files from non-distributed .l lex tests: make test on Lex dependency tracking more "semantic" lex tests: remove erroneous check about ylwrap distribution yacc tests: "make clean" removes C++ files from non-distributed .y tests: add a workaround for automake bug#8485 tests: add a couple of inter-tests reference lex tests: require just `lex' instead of `flex' fix typo in ChangeLog (2011-05-04) tests defs: use `skip_' for skipping yacc/lex related tests lex/yacc tests: remove redundant $distdir definition coverage: test lex-generated "#line" directives postprocessing tests: minor improvements to a couple of yacc tests tests: fix spurious failure in test 'yacc-d-cxx.test' ... + Extra non-trivial edits: * tests/defs.in: Delete; the differences from maint has been merged into 'tests/defs' and 'tests/defs-static.in'. * tests/defs (yacc, lex): Use 'skip_all_', not 'skip_', to skip the whole test case if yacc (resp. lex) is missing. (bison): New, set up the environment so that 'bison -y' will be used as the yacc program. (useless_vpath_rebuild, yl_distcheck): Moved in from 'tests/defs.in'. * tests/defs-static.in ($YACC, $LEX): Default to the values determined at configure time, and allow them to be overridden by the more namespace-safe variables '$AM_TESTSUITE_YACC' and '$AM_TESTSUITE_LEX' respectively. * tests/Makefile.am (do_subst): Also substitute '@YACC@' and '@LEX@'. * Several tests: Fix requirements declarations, by preferring 'lex' and 'yacc' over 'flex' and 'bison' whenever possible.
Stefano Lattarini a9edac6c 2011-12-15T18:41:22 Merge branch 'maint' into 'yacc-work' Extra edits: * tests/silent-lex.test: Provide a dummy `yywrap()' function, to avoid link errors on systems that doesn't provide a "lex library". See also commit `v1.11-546-gca0ba5d'. Commits merged from maint (34 commits): readme: reference webpages for automake mailing lists readme: update advice about testsuite execution readme: don't reference the old homepage at sources.redhat.com hacking: some more fixlets * NEWS: Fix typo in 'make dist-bzip2' description. release: don't run "make distcheck" automatically hacking: update on-line documentation for stable releases only hacking: described release procedure applies to beta releases too readme: the documentation is production quality now hacking: tell about platform-testers mailing list hacking: we don't use sources.redhat.com anymore hacking: miscellaneous minor fixes dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings news: fix typos, grammaros and suboptimal wording maint: sync auxiliary files from upstream tests: fix spurious failures due to missing 'yywrap()' function depcomp: spelling fix tests: fix 'distcheck-override-infodir.test' on Cygwin cosmetics: typofix in comments coverage: undistributed '.am' and '.m4' files are diagnosed coverage: required but missing '.am' and '.m4' files are diagnosed coverage: expose automake bug#10111 in the testsuite fix: regenerate doc/Makefile texinfo: work around Solaris 10 xpg4 shell bug in install rules configure: report perl version in config.log tests: fix spurious failure with older install-info maintcheck: fix spurious failure in 'color2.test' tests: fix spurious error in 'uninstall-fail.test' on Solaris tests: fix typo in 'uninstall-fail.test' tests: avoid a spurious failure of 'ltinit.test' MinGW tests: testsuite is now safe to run with dmake in parallel mode tests: fix spurious failures w.r.t. parallel make and colorization Merge branch 'fix-pr9579' into maint tests: fix spurious failure in 'distcheck-override-infodir.test' tests: avoid another failure of 'uninstall-fail.test' on Solaris
Stefano Lattarini 47587d15 2011-12-10T00:46:13 Merge branch 'maint' Commits merged from maint: dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings news: fix typos, grammaros and suboptimal wording maint: sync auxiliary files from upstream tests: fix spurious failures due to missing 'yywrap()' function depcomp: spelling fix tests: fix 'distcheck-override-infodir.test' on Cygwin cosmetics: typofix in comments coverage: undistributed '.am' and '.m4' files are diagnosed coverage: required but missing '.am' and '.m4' files are diagnosed coverage: expose automake bug#10111 in the testsuite fix: regenerate doc/Makefile texinfo: work around Solaris 10 xpg4 shell bug in install rules configure: report perl version in config.log tests: fix spurious failure with older install-info maintcheck: fix spurious failure in 'color2.test' tests: fix spurious error in 'uninstall-fail.test' on Solaris tests: fix typo in 'uninstall-fail.test' Extra edits: * ChangeLog: Remove mention of commit 6da46f31 (2010-10-05), which has been superseded by commit c8e01d58 (2011-12-09). Fix entry relative to that commit, to adapt to differences between maint and master.
Stefano Lattarini ca0ba5df 2011-10-24T23:18:34 tests: fix spurious failures due to missing 'yywrap()' function The AC_PROG_LEX Autoconf macro does not diagnose a failure to find the "lex library" expected to provide a `yywrap' function (function which is required to link most lex-generated programs). On the contrary, when all the link attempts (i.e., with `-ll' and `-lfl') fail, configure declares that no lex library is needed, and simply proceeds with the configuration process -- only for the build to possibly fail later, at make time. This behaviour is intended; the Autoconf manual reads: ``You are encouraged to use Flex in your sources, since it is both more pleasant to use than plain Lex and the C source it produces is portable. In order to ensure portability, however, you must either provide a function `yywrap' or, if you don't use it (e.g., your scanner has no `#include'-like feature), simply include a `%noyywrap' statement in the scanner's source.'' This AC_PROG_LEX behaviour is causing some spurious failures of the Automake testsuite in environments which lack a proper library providing `yywrap' (this happens for example on Fedora-based systems). The proper workaround is to simply provide a fall-back implementation of `yywrap' in our lexers. * tests/cond35.test: Provide a dummy `yywrap' function. * tests/lex3.test: Likewise. * tests/silent-lex-generic.test: Likewise. * tests/silent-lex-gcc.test: Likewise. * tests/silent-many-generic.test: Likewise. * tests/silent-many-gcc.test: Likewise. Reported by Jim Meyering: <http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html> Cherry-picked (with some edits) from commits `v1.11-1085-gb5c3968' (master) and `v1.11-871-geb147a1' (testsuite-work).
Stefano Lattarini b1b5ea5c 2011-06-01T17:43:44 lex tests: avoid possible hang; fix and extend * tests/lex3.test (foo.l:yywrap): Return 1, not 0, to avoid hangs. Bug introduced in commit 'v1.11-871-geb147a1'. (Makefile.am): Do not add `@LEXLIB@' to `$(LDADD)', as we define our own `yywrap' function. * tests/lex.test (tscan.l): In `yywrap', return 1, not 0, for consistency with the default flex implementation. * tests/lex-libobj.test (yywrap.c): Likewise. * tests/lex-subobj-nodep.test (s1.l): Likewise. * tests/lexvpath.test (foo.c): Likewise. * tests/silent-lex-gcc (foo.l): Likewise. * tests/silent-lex-generic (foo.l): Likewise. * tests/silent-many-gcc (foo5.l): Likewise. * tests/silent-many-generic (foo5.l): Likewise. * tests/lex-lib.test (mu.c): Likewise. Update heading comments, to refer to ... * tests/lex-lib-external.test: ... this new test, which checks that we can get use the `yywrap' function from a system-wide library, if that's available.
Stefano Lattarini eb147a19 2011-05-25T19:05:15 lex tests: avoid spurious failures when LEXLIB isn't found The AC_PROG_LEX Autoconf macro does not diagnose a failure to find the "lex library" expected to provide a `yywrap' function (function which is required to link most lex-generated programs). On the contrary, when all the link attempts (i.e., with `-ll' and `-lfl') fail, configure declares that no lex library is needed, and simply proceeds with the configuration process -- only for the build to possibly fail later, at make time. This behaviour might be (partly) intended; the Autoconf manual reads: ``You are encouraged to use Flex in your sources, since it is both more pleasant to use than plain Lex and the C source it produces is portable. In order to ensure portability, however, you must either provide a function `yywrap' or, if you don't use it (e.g., your scanner has no `#include'-like feature), simply include a `%noyywrap' statement in the scanner's source.'' This AC_PROG_LEX behaviour is causing some spurious failures of the Automake testsuite in environments which lack a proper library providing `yywrap' (this happens for example in Linux->MinGW cross compilations). But at this point is clear that a proper workaround is to simply provide a fall-back implementation of `yywrap' in our lexers. * tests/cond35.test: Provide a dummy `yywrap' function. * tests/lex3.test: Likewise. * tests/lexvpath.test: Likewise. * tests/silent-many-gcc.test: Likewise. * tests/silent-many-generic.test: Likewise. * tests/silent-lex-gcc.test: Likewise, and a dummy `main' too. * tests/silent-lex-generic.test: Likewise. * tests/lex-lib.test: New test. * tests/lex-libobj.test: New test. * tests/lex-nowrap.test: New test. * tests/Makefile.am (TESTS): Update. * THANKS: Update. Thanks to Russ Allbery for the suggestion.
Stefano Lattarini bfebbd11 2011-05-04T11:58:21 tests: 'silent-many-gcc.test' improved and made more robust * tests/silent-many-gcc.test: Also force "fast" gcc depmode for C++ compilations. Add sanity checks verifying that the cache variables we force are really used by configure. Fix typo in comments.
Stefano Lattarini aa9a269b 2011-01-28T23:04:14 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.
Stefano Lattarini 0283a956 2011-01-20T01:11:51 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.
Stefano Lattarini 06605440 2011-01-12T00:02:50 Merge branch 'yacc-work'
Stefano Lattarini 8b419dd7 2011-01-11T20:03:05 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.
Stefano Lattarini 79103003 2011-01-08T19:40:04 tests: enable 'errexit' shell flag by default. * tests/defs: Enable `errexit' shell flag (near the end). Removed redundant comment about the enabling of shell traces. * tests/README (Writing test cases): Update, and use nicer formatting in a couple of places. * All tests: Adjusted by removing now-redundant calls to 'set -e'.
Stefano Lattarini 22ee3bdf 2010-11-25T22:06:14 Fix spurious silent*.test failures for $CC != gcc In some tests on automake-produced silent rules, we forced the use of gcc depmode to improve testsuite coverage; but this has unsurprisingly led to spurious failures when some non-GNU C compilers were used. So we are now careful to require GCC in tests that force gcc depmode. From reports by Ralf Wildenhues. * silent5.test: Test removed, its content split into ... * silent-many-generic.test, silent-many-gcc.test: ... these new sister tests, the latter of which forces gcc depmode and lists "gcc" in $required. * silentlex.test: Test removed, its content split into ... * silent-lex-generic.test, silent-lex-gcc.test: ... these new sister tests, the latter of which forces gcc depmode and lists "gcc" in $required. * silentyacc.test: Test removed, its content split into ... * silent-yacc-generic.test, silent-yacc-gcc.test: ... these new sister tests, the latter of which forces gcc depmode and lists "gcc" in $required. * tests/Makefile.am (TESTS): Updated.