diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-10-27 16:15:04 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-10-27 16:15:04 +0200 |
commit | f897907bee30ec66fdebfe04d3c2d6ad8b8da501 (patch) | |
tree | aa5d7adf385b25b8fbec971d1d282d7ca0656459 /t/yacc-grepping.sh | |
parent | b0f4556918deaf2efa42a298c27f42195e909815 (diff) | |
parent | 9a2796ad854c70c221c9d19956264246d9783430 (diff) | |
download | automake-f897907bee30ec66fdebfe04d3c2d6ad8b8da501.tar.gz |
Merge branch 'maint'
* maint:
tests: merge, tweak and modernize few test scripts
tests: move coverage about BUILT_SOURCES
tests: more meaningful names for some test cases
tests: merge some grepping tests on Yacc support
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't/yacc-grepping.sh')
-rwxr-xr-x | t/yacc-grepping.sh | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/t/yacc-grepping.sh b/t/yacc-grepping.sh new file mode 100755 index 000000000..19036c4c7 --- /dev/null +++ b/t/yacc-grepping.sh @@ -0,0 +1,80 @@ +#! /bin/sh +# Copyright (C) 1996-2012 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/>. + +# Some grep-based checks on yacc support: +# +# - Make sure intermediate .c file is built from yacc source. +# Report from Thomas Morgan. +# +# - Make sure intermediate .h file is not generated nor removed +# if (AM_)?YFLAGS do not contain '-d'. +# Requested by Jim Meyering. + +. ./defs || exit 1 + +cat >> configure.ac << 'END' +AC_PROG_CC +AC_PROG_YACC +END + +# Run it here once and for all, since we are not going to modify +# configure.ac anymore. +$ACLOCAL + +cat > Makefile.am <<'END' +bin_PROGRAMS = zardoz +zardoz_SOURCES = zardoz.y +END + +# Don't redefine several times the same variable. +cp Makefile.am Makefile.src + +$AUTOMAKE -a +$FGREP 'zardoz.c' Makefile.in +# If zardoz.h IS mentioned, fail. +$FGREP 'zardoz.h' Makefile.in && exit 1 + +cp Makefile.src Makefile.am +echo 'AM_YFLAGS = -d' >> Makefile.am +$AUTOMAKE +$FGREP 'zardoz.c' Makefile.in +# If zardoz.h is NOT mentioned, fail. +$FGREP 'zardoz.h' Makefile.in + +cp Makefile.src Makefile.am +echo 'AM_YFLAGS = ' >> Makefile.am +$AUTOMAKE +$FGREP 'zardoz.c' Makefile.in +# If zardoz.h IS mentioned, fail. +$FGREP 'zardoz.h' Makefile.in && exit 1 + +cp Makefile.src Makefile.am +echo 'YFLAGS = -d' >> Makefile.am +# YFLAGS is a user variable. +AUTOMAKE_fails +grep 'YFLAGS.* user variable' stderr +grep 'AM_YFLAGS.* instead' stderr +$AUTOMAKE -Wno-gnu +# If zardoz.h is NOT mentioned, fail. +$FGREP 'zardoz.h' Makefile.in + +cp Makefile.src Makefile.am +echo 'YFLAGS = ' >> Makefile.am +$AUTOMAKE -Wno-gnu +# If zardoz.h IS mentioned, fail. +$FGREP 'zardoz.h' Makefile.in && exit 1 + +: |