X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/97c9a05ecdf003e74a5c8ce8d5294a8d8e028e3e..7b30971d7b915f5d9f7bccd24ab5f5b0e18680e1:/tests/testsuite.at diff --git a/tests/testsuite.at b/tests/testsuite.at index 06063d6e..569acfb8 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -1,7 +1,7 @@ -# Process this file with autom4te to create testsuite. -*- Autotest -*- +# Test suite for GNU Bison. -*- Autotest -*- -# Test suite for GNU Bison. -# Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006, 2007 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 @@ -15,65 +15,18 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# We need a recent Autotest. -m4_version_prereq([2.52g]) - - -# AT_DATA_GRAMMAR_PROLOGUE -# ------------------------ -# The prologue that should be included in any grammar which parser is -# meant to be compiled. -m4_define([AT_DATA_GRAMMAR_PROLOGUE], -[[%{ -#if HAVE_CONFIG_H -# include - /* We don't need perfect functions for these tests. */ -# undef malloc -# undef memcmp -# undef realloc -#endif -%}] -]) - - -# AT_DATA_GRAMMAR(NAME, CONTENT) -# ------------------------------ -# Generate the file NAME, which CONTENT is preceded by -# AT_DATA_GRAMMAR_PROLOGUE. -m4_define([AT_DATA_GRAMMAR], -[AT_DATA([$1], -[AT_DATA_GRAMMAR_PROLOGUE -$2]) -]) - - -# AT_COMPILE(OUTPUT, [SOURCES = OUTPUT.c]) -# ---------------------------------------- -# Compile SOURCES into OUTPUT. If OUTPUT does not contain '.', -# assume that we are linking too; this is a hack. -m4_define([AT_COMPILE], -[AT_CHECK([$CC $CFLAGS $CPPFLAGS m4_bmatch([$1], [[.]], [], [$LDFLAGS ])m4_default([$2], [$1.c]) m4_bmatch([$1], [[.]], [], [$LIBS ])-o $1], - 0, [], [ignore])]) - -# AT_COMPILE_CXX(OUTPUT, [SOURCES = OUTPUT.c]) -# -------------------------------------------- -m4_define([AT_COMPILE_CXX], -[AT_CHECK([$CXX $CFLAGS $CPPFLAGS m4_default([$2], [$1.c]) -o $1], 0, - [], [ignore])]) - - -# AT_PARSER_CHECK(COMMAND, EXIT-STATUS, EXPOUT, EXPERR) -# ----------------------------------------------------- -# So that we can run `./testsuite PREPARSER='valgrind -q' for instance. -m4_define([AT_PARSER_CHECK], -[AT_CHECK([$PREPARSER $1], [$2], [$3], [$4])]) - -AT_INIT - -AT_TESTED([bison]) +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + + +# Bison often leaks memory when its exit status is non-zero, so set +# --leak-check=summary for Valgrind in that case. +m4_pushdef([ORIGINAL_AT_CHECK], m4_defn([AT_CHECK])) +m4_pushdef([AT_CHECK], +[ORIGINAL_AT_CHECK( + m4_if(m4_index(m4_quote($1), [bison ]), 0, + m4_if(m4_quote($2), [0], [], m4_quote($2), [], [], + [[VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; ]]))$@)]) # Testing resistance to user bugs. m4_include([input.at]) @@ -81,6 +34,9 @@ m4_include([input.at]) # Testing output file names. m4_include([output.at]) +# Testing skeleton support. +m4_include([skeletons.at]) + # Testing the part of the engine that computes FOLLOW etc. m4_include([sets.at]) @@ -112,8 +68,17 @@ m4_include([existing.at]) # Some old bugs. m4_include([regression.at]) +# Some C++ specific tests. +m4_include([c++.at]) + +# And some Java specific tests. +m4_include([java.at]) + # GLR tests: # C++ types, simplified m4_include([cxx-type.at]) # Regression tests m4_include([glr-regression.at]) + +m4_popdef([AT_CHECK]) +m4_popdef([ORIGINAL_AT_CHECK])