-# Process this file with autom4te to create testsuite. -*- Autotest -*-
+# Test suite for GNU Bison. -*- Autotest -*-
-# Test suite for GNU Bison.
-# Copyright 2000, 2001 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
# 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.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
-# We need a recent Autotest.
-m4_version_prereq([2.52g])
-AT_INIT
+# 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; ]]))$@)])
-AT_TESTED([bison])
+# Testing resistance to user bugs.
+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])
+
+# Testing grammar reduction.
m4_include([reduce.at])
+
+# Testing that #lines are correct.
+m4_include([synclines.at])
+
+# Testing that headers are sane.
+m4_include([headers.at])
+
+# Testing that user actions are properly performed.
+m4_include([actions.at])
+
+# Testing conflicts detection and resolution.
+m4_include([conflicts.at])
+
+# Fulling testing (compilation and execution of the parser) on calc.
m4_include([calc.at])
+
+# Huge artificial grammars.
+# Torturing the stack expansion at runtime.
m4_include([torture.at])
+
+# Checking big, real world grammars.
+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])