]> git.saurik.com Git - bison.git/blame - tests/testsuite.at
(cvs-update): Don't assume that the shell supports $(...), as
[bison.git] / tests / testsuite.at
CommitLineData
342b8b6e
AD
1# Process this file with autom4te to create testsuite. -*- Autotest -*-
2
3# Test suite for GNU Bison.
817e9f41 4# Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
342b8b6e
AD
5
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 2, or (at your option)
9# any later version.
10
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write to the Free Software
18# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19# 02111-1307, USA.
20
21# We need a recent Autotest.
d803322e 22m4_version_prereq([2.52g])
342b8b6e 23
1154cced 24
9501dc6e
AD
25# AT_DATA_GRAMMAR_PROLOGUE
26# ------------------------
27# The prologue that should be included in any grammar which parser is
28# meant to be compiled.
29m4_define([AT_DATA_GRAMMAR_PROLOGUE],
30[[%{
31#if HAVE_CONFIG_H
32# include <config.h>
33 /* We don't need perfect functions for these tests. */
34# undef malloc
35# undef memcmp
36# undef realloc
37#endif
38%}]
39])
40
41
42# AT_DATA_GRAMMAR(NAME, CONTENT)
43# ------------------------------
44# Generate the file NAME, which CONTENT is preceded by
45# AT_DATA_GRAMMAR_PROLOGUE.
46m4_define([AT_DATA_GRAMMAR],
47[AT_DATA([$1],
48[AT_DATA_GRAMMAR_PROLOGUE
49$2])
50])
51
52
1154cced
AD
53# AT_COMPILE(OUTPUT, [SOURCES = OUTPUT.c])
54# ----------------------------------------
55#
56m4_define([AT_COMPILE],
57[AT_CHECK([$CC $CFLAGS $CPPFLAGS m4_default([$2], [$1.c]) -o $1], 0,
58 [], [ignore])])
59
60
61# AT_PARSER_CHECK(COMMAND, EXIT-STATUS, EXPOUT, EXPERR)
62# -----------------------------------------------------
63# So that we can run `./testsuite PREPARSER='valgrind -q' for instance.
64m4_define([AT_PARSER_CHECK],
65[AT_CHECK([$PREPARSER $1], [$2], [$3], [$4])])
66
342b8b6e
AD
67AT_INIT
68
69AT_TESTED([bison])
70
3c31a486 71# Testing resistance to user bugs.
9b2d0677 72m4_include([input.at])
3c31a486
AD
73
74# Testing output file names.
342b8b6e 75m4_include([output.at])
3c31a486
AD
76
77# Testing the part of the engine that computes FOLLOW etc.
ed8e1f68 78m4_include([sets.at])
3c31a486
AD
79
80# Testing grammar reduction.
cb4956ee 81m4_include([reduce.at])
3c31a486 82
642cb8f8
AD
83# Testing that #lines are correct.
84m4_include([synclines.at])
85
3c31a486 86# Testing that headers are sane.
b9cecb91 87m4_include([headers.at])
3c31a486
AD
88
89# Testing that user actions are properly performed.
82c035a8 90m4_include([actions.at])
3c31a486
AD
91
92# Testing conflicts detection and resolution.
93m4_include([conflicts.at])
94
95# Fulling testing (compilation and execution of the parser) on calc.
342b8b6e 96m4_include([calc.at])
3c31a486 97
817e9f41 98# Huge artificial grammars.
3c31a486 99# Torturing the stack expansion at runtime.
6d7d248e 100m4_include([torture.at])
3c31a486 101
817e9f41
AD
102# Checking big, real world grammars.
103m4_include([existing.at])
104
3c31a486 105# Some old bugs.
342b8b6e 106m4_include([regression.at])
676385e2 107
9501dc6e 108# GLR tests:
09903f30 109# C++ types, simplified
676385e2 110m4_include([cxx-type.at])
09903f30
PH
111# Regression test for state-folding optimization
112m4_include([glr-regr1.at])