mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
calc++: factor for other extracted tests.
* Makefile.am (TESTS, check_PROGRAMS): Initialize here. * examples/local.mk (doc, extexi): Define here. * examples/calc++/local.mk: Adjust accordingly. * configure.ac: Ask for parallel-tests (for the way the logs are handled). * examples/calc++/test: As a consequence, always be verbose. ($prog): New. (run): Use it. Sort the tests in a more natural order (simplest first).
This commit is contained in:
@@ -41,10 +41,12 @@ AM_CFLAGS = $(WARN_CFLAGS)
|
||||
AM_CPPFLAGS = -I. -Ilib -I$(top_srcdir) -I$(top_srcdir)/lib
|
||||
BUILT_SOURCES =
|
||||
DISTCLEANFILES =
|
||||
MOSTLYCLEANDIRS =
|
||||
MOSTLYCLEANFILES =
|
||||
SUFFIXES =
|
||||
TESTS =
|
||||
check_PROGRAMS =
|
||||
noinst_LIBRARIES =
|
||||
MOSTLYCLEANDIRS =
|
||||
|
||||
include build-aux/local.mk
|
||||
include data/local.mk
|
||||
|
||||
@@ -45,7 +45,9 @@ AC_CONFIG_MACRO_DIR([m4])
|
||||
# releases, we want to be able run make dist without being required to
|
||||
# add a bogus NEWS entry. In that case, the version string
|
||||
# automatically contains a dash, which we also let disable gnits.
|
||||
AM_INIT_AUTOMAKE([1.11.1 dist-xz nostdinc silent-rules]
|
||||
AM_INIT_AUTOMAKE([1.11.1 dist-xz nostdinc
|
||||
color-tests parallel-tests
|
||||
silent-rules]
|
||||
m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[-_]],
|
||||
[gnu], [gnits]))
|
||||
AM_SILENT_RULES([yes])
|
||||
|
||||
@@ -19,8 +19,6 @@
|
||||
## Extracting. ##
|
||||
## ------------ ##
|
||||
|
||||
doc = $(top_srcdir)/doc/bison.texinfo
|
||||
extexi = $(top_srcdir)/examples/extexi
|
||||
# Extract in src.
|
||||
$(top_srcdir)/examples/calc++/calc.stamp: $(doc) $(extexi)
|
||||
$(AM_V_GEN)rm -f $@ $@.tmp
|
||||
@@ -37,9 +35,9 @@ $(calc_extracted): $(top_srcdir)/examples/calc++/calc.stamp
|
||||
$(MAKE) $(AM_MAKEFLAGS) $<; \
|
||||
fi
|
||||
|
||||
## --------------------------- ##
|
||||
## Building & testing calc++. ##
|
||||
## --------------------------- ##
|
||||
## -------------------- ##
|
||||
## Building & testing. ##
|
||||
## -------------------- ##
|
||||
|
||||
BUILT_SOURCES += $(calc_sources) examples/calc++/calc++-parser.h
|
||||
CLEANFILES += *.tmp
|
||||
@@ -59,13 +57,13 @@ calc_generated = \
|
||||
calc_sources = \
|
||||
$(calc_extracted) $(calc_generated)
|
||||
if BISON_CXX_WORKS
|
||||
check_PROGRAMS = examples/calc++/calc++
|
||||
check_PROGRAMS += examples/calc++/calc++
|
||||
examples_calc___calc___SOURCES = \
|
||||
$(calc_sources) \
|
||||
examples/calc++/y.tab.h \
|
||||
examples/calc++/calc++-parser.hh
|
||||
|
||||
examples_calc___calc___CPPFLAGS = -I$(top_srcdir)/examples/calc++
|
||||
TESTS = examples/calc++/test
|
||||
TESTS += examples/calc++/test
|
||||
endif
|
||||
EXTRA_DIST += examples/calc++/test
|
||||
|
||||
@@ -15,11 +15,6 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
test -z "$VERBOSE" && {
|
||||
exec > /dev/null 2>&1
|
||||
set -x
|
||||
}
|
||||
|
||||
me=`basename $0`
|
||||
|
||||
# Number of the current test.
|
||||
@@ -28,6 +23,9 @@ number=1
|
||||
# Exit status of this script.
|
||||
exit=true
|
||||
|
||||
# The exercised program.
|
||||
prog=./examples/calc++/calc++
|
||||
|
||||
# run EXPECTED-EXIT-STATUS EXPECTED-OUTPUT [PARSER-OPTIONS]
|
||||
# ---------------------------------------------------------
|
||||
run ()
|
||||
@@ -37,7 +35,7 @@ run ()
|
||||
shift
|
||||
local out_exp=$1
|
||||
shift
|
||||
./examples/calc++/calc++ "$@" input >out_eff
|
||||
$prog "$@" - <input >out_eff
|
||||
local sta_eff=$?
|
||||
local out_eff=`cat out_eff`
|
||||
if test $sta_eff -eq $sta_exp; then
|
||||
@@ -56,6 +54,14 @@ run ()
|
||||
number=`expr $number + 1`
|
||||
}
|
||||
|
||||
|
||||
cat >input <<EOF
|
||||
toto := 1
|
||||
toto
|
||||
EOF
|
||||
run 0 1 -s
|
||||
|
||||
|
||||
cat >input <<EOF
|
||||
a := 1
|
||||
b := 2
|
||||
@@ -81,14 +87,7 @@ cat >input <<EOF
|
||||
a := 1
|
||||
d := a + b * c
|
||||
EOF
|
||||
run 1 '' input
|
||||
|
||||
|
||||
cat >input <<EOF
|
||||
toto := 1
|
||||
toto
|
||||
EOF
|
||||
run 0 1 -s
|
||||
run 1 ''
|
||||
|
||||
rm input out_eff
|
||||
$exit
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
doc = $(top_srcdir)/doc/bison.texinfo
|
||||
extexi = $(top_srcdir)/examples/extexi
|
||||
dist_noinst_SCRIPTS = examples/extexi
|
||||
|
||||
include examples/calc++/local.mk
|
||||
|
||||
Reference in New Issue
Block a user