X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/676385e29c4aedfc05d20daf1ef20cd4ccc84856..b25d88f6d2e2f4b59927aacecdc0a9e44a34b5d9:/tests/testsuite.at diff --git a/tests/testsuite.at b/tests/testsuite.at index 71c95f11..73e184d5 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -21,6 +21,49 @@ # 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]) +# ---------------------------------------- +# +m4_define([AT_COMPILE], +[AT_CHECK([$CC $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]) @@ -62,5 +105,8 @@ m4_include([existing.at]) # Some old bugs. m4_include([regression.at]) -# GLR tests: C++ types, simplified +# GLR tests: +# C++ types, simplified m4_include([cxx-type.at]) +# Regression test for state-folding optimization +m4_include([glr-regr1.at])