--- /dev/null
+#! /bin/sh
+
+# Copyright (C) 2005-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 3 of the License, 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/>.
+
+cat >input <<EOF
+toto := 1
+toto
+EOF
+run 0 1 -s
+
+
+cat >input <<EOF
+a := 1
+b := 2
+c := 3
+d := a + b * c
+d
+EOF
+run 0 7
+run 0 7 -p
+
+
+cat >input <<EOF
+a := 1
+b := 2
+c := 3
+d := (a + b) * c
+d
+EOF
+run 0 9
+
+
+cat >input <<EOF
+a := 1
+d := a + b * c
+EOF
+run 1 ''
examples/calc++/calc++-parser.hh
examples_calc___calc___CPPFLAGS = -I$(top_srcdir)/examples/calc++
-TESTS += examples/calc++/test
+TESTS += examples/calc++/calc++.test
endif
-EXTRA_DIST += examples/calc++/test
+EXTRA_DIST += examples/calc++/calc++.test
+++ /dev/null
-#! /bin/sh
-
-# Copyright (C) 2005-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 3 of the License, 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/>.
-
-me=`dirname $0`
-me=`basename $me`
-
-# Number of the current test.
-number=1
-
-# Exit status of this script.
-exit=true
-
-# The exercised program.
-prog=../examples/$me/$me
-
-# cleanup
-# -------
-cleanup ()
-{
- local status=$?
- if test -z "$DEBUG"; then
- cd ..
- rm -rf $$.dir
- fi
- exit $status
-}
-trap cleanup 0 1 2 13 15
-mkdir $$.dir
-cd $$.dir
-
-# run EXPECTED-EXIT-STATUS EXPECTED-OUTPUT [PARSER-OPTIONS]
-# ---------------------------------------------------------
-run ()
-{
- # Expected exit status.
- local sta_exp=$1
- shift
- # Expected output.
- local out_exp=$1
- shift
- $prog "$@" - <input >out_eff
- # Effective exit status.
- local sta_eff=$?
- # Effective output.
- local out_eff=`cat out_eff`
- if test $sta_eff -eq $sta_exp; then
- if test "$out_eff" = "$out_exp"; then
- echo "$me: PASS: $number"
- else
- echo "$me: FAIL: $number (expected output: $out_exp, effective: $out_eff)"
- exit=false
- fi
- else
- echo "$me: FAIL: $number (expected status: $sta_exp, effective: $sta_eff)"
- exit=false
- fi
- number=`expr $number + 1`
-}
-
-
-cat >input <<EOF
-toto := 1
-toto
-EOF
-run 0 1 -s
-
-
-cat >input <<EOF
-a := 1
-b := 2
-c := 3
-d := a + b * c
-d
-EOF
-run 0 7
-run 0 7 -p
-
-
-cat >input <<EOF
-a := 1
-b := 2
-c := 3
-d := (a + b) * c
-d
-EOF
-run 0 9
-
-
-cat >input <<EOF
-a := 1
-d := a + b * c
-EOF
-run 1 ''
-
-$exit
doc = $(top_srcdir)/doc/bison.texinfo
extexi = $(top_srcdir)/examples/extexi
-dist_noinst_SCRIPTS = examples/extexi
+dist_noinst_SCRIPTS = examples/extexi examples/test
+TEST_LOG_COMPILER = $(top_srcdir)/examples/test
include examples/calc++/local.mk
include examples/mfcalc/local.mk
$(mfcalc_sources)
examples_mfcalc_mfcalc_CPPFLAGS = -I$(top_srcdir)/examples/mfcalc
-TESTS += examples/mfcalc/test
-EXTRA_DIST += examples/mfcalc/test
+TESTS += examples/mfcalc/mfcalc.test
+EXTRA_DIST += examples/mfcalc/mfcalc.test
--- /dev/null
+#! /bin/sh
+
+# Copyright (C) 2005-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 3 of the License, 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/>.
+
+cat >input <<EOF
+1+2*3
+EOF
+run 0 7
+run 0 7
+
+cat >input <<EOF
+(1+2) * 3
+EOF
+run 0 9
+++ /dev/null
-#! /bin/sh
-
-# Copyright (C) 2005-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 3 of the License, 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/>.
-
-me=`dirname $0`
-me=`basename $me`
-
-# Number of the current test.
-number=1
-
-# Exit status of this script.
-exit=true
-
-# The exercised program.
-prog=../examples/$me/$me
-
-# cleanup
-# -------
-cleanup ()
-{
- local status=$?
- if test -z "$DEBUG"; then
- cd ..
- rm -rf $$.dir
- fi
- exit $status
-}
-trap cleanup 0 1 2 13 15
-mkdir $$.dir
-cd $$.dir
-
-# run EXPECTED-EXIT-STATUS EXPECTED-OUTPUT [PARSER-OPTIONS]
-# ---------------------------------------------------------
-run ()
-{
- # Expected exit status.
- local sta_exp=$1
- shift
- # Expected output.
- local out_exp=$1
- shift
- $prog "$@" - <input >out_eff
- # Effective exit status.
- local sta_eff=$?
- # Effective output.
- local out_eff=`cat out_eff`
- if test $sta_eff -eq $sta_exp; then
- if test "$out_eff" = "$out_exp"; then
- echo "$me: PASS: $number"
- else
- echo "$me: FAIL: $number (expected output: $out_exp, effective: $out_eff)"
- exit=false
- fi
- else
- echo "$me: FAIL: $number (expected status: $sta_exp, effective: $sta_eff)"
- exit=false
- fi
- number=`expr $number + 1`
-}
-
-
-cat >input <<EOF
-1+2*3
-EOF
-run 0 7
-run 0 7
-
-cat >input <<EOF
-(1+2) * 3
-EOF
-run 0 9
-
-$exit
--- /dev/null
+#! /bin/sh
+set -x
+# Copyright (C) 2005-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 3 of the License, 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/>.
+
+me=`basename $1 .test`
+
+# Number of the current test.
+number=1
+
+# Exit status of this script.
+exit=true
+
+# top_buiddir.
+cwd=`pwd`
+
+# The exercised program.
+prog=$cwd/examples/$me/$me
+
+# cleanup
+# -------
+cleanup ()
+{
+ local status=$?
+ if test -z "$DEBUG"; then
+ cd $cwd
+ rm -rf $$.dir
+ fi
+ exit $status
+}
+trap cleanup 0 1 2 13 15
+mkdir $$.dir
+cd $$.dir
+
+# run EXPECTED-EXIT-STATUS EXPECTED-OUTPUT [PARSER-OPTIONS]
+# ---------------------------------------------------------
+run ()
+{
+ # Expected exit status.
+ local sta_exp=$1
+ shift
+ # Expected output.
+ local out_exp=$1
+ shift
+ $prog "$@" - <input >out_eff
+ # Effective exit status.
+ local sta_eff=$?
+ # Effective output.
+ local out_eff=`cat out_eff`
+ if test $sta_eff -eq $sta_exp; then
+ if test "$out_eff" = "$out_exp"; then
+ echo "$me: PASS: $number"
+ else
+ echo "$me: FAIL: $number (expected output: $out_exp, effective: $out_eff)"
+ exit=false
+ fi
+ else
+ echo "$me: FAIL: $number (expected status: $sta_exp, effective: $sta_eff)"
+ exit=false
+ fi
+ number=`expr $number + 1`
+}
+
+# We have cd'd one level deeper.
+. "../$1"
+
+$exit