Hash :
d4dcf503
Author :
Date :
2010-05-07T15:07:37
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
#! /bin/sh
# Copyright (C) 2010 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test to make sure Lex + C++ is supported.
# Please keep this is sync with sister test yaccpp.test.
. ./defs || Exit 1
set -e
cat >> configure.in << 'END'
AC_PROG_CXX
AC_PROG_LEX
END
cat > Makefile.am << 'END'
bin_PROGRAMS = foo bar baz qux
foo_SOURCES = foo.l++
bar_SOURCES = bar.lpp
baz_SOURCES = baz.ll
qux_SOURCES = qux.lxx
END
$ACLOCAL
$AUTOMAKE -a
sed -e 's/^/ /' -e 's/$/ /' Makefile.in >mk
$FGREP ' foo.c++ ' mk
$FGREP ' bar.cpp ' mk
$FGREP ' baz.cc ' mk
$FGREP ' qux.cxx ' mk
: