]> git.saurik.com Git - bison.git/commitdiff
calc++: factor for other extracted tests.
authorAkim Demaille <demaille@gostai.com>
Thu, 16 Feb 2012 14:27:03 +0000 (15:27 +0100)
committerAkim Demaille <demaille@gostai.com>
Thu, 16 Feb 2012 14:52:14 +0000 (15:52 +0100)
* 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).

Makefile.am
configure.ac
examples/calc++/local.mk
examples/calc++/test
examples/local.mk

index 8f00e6033b0186f002b2ba27a2f2f28320592716..26e87cfd3372a003a35e30c62613dc8347fe0fa8 100644 (file)
@@ -41,10 +41,12 @@ AM_CFLAGS = $(WARN_CFLAGS)
 AM_CPPFLAGS = -I. -Ilib -I$(top_srcdir) -I$(top_srcdir)/lib
 BUILT_SOURCES =
 DISTCLEANFILES =
 AM_CPPFLAGS = -I. -Ilib -I$(top_srcdir) -I$(top_srcdir)/lib
 BUILT_SOURCES =
 DISTCLEANFILES =
+MOSTLYCLEANDIRS =
 MOSTLYCLEANFILES =
 SUFFIXES =
 MOSTLYCLEANFILES =
 SUFFIXES =
+TESTS =
+check_PROGRAMS =
 noinst_LIBRARIES =
 noinst_LIBRARIES =
-MOSTLYCLEANDIRS =
 
 include build-aux/local.mk
 include data/local.mk
 
 include build-aux/local.mk
 include data/local.mk
index c51d2dd5dbd24dc6d0a96c16d64e337ed49ed3cc..622da5da4a8efb4e01a3b50893ce474738b2a1c8 100644 (file)
@@ -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.
 # 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])
                  m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[-_]],
                            [gnu], [gnits]))
 AM_SILENT_RULES([yes])
index 54e558402d06fef21893e6e13b9abb6166e413d6..839ef865aad3c97aec01b9c88cd99a549cbf07f1 100644 (file)
@@ -19,8 +19,6 @@
 ## Extracting.  ##
 ## ------------ ##
 
 ## 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
 # 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
 
          $(MAKE) $(AM_MAKEFLAGS) $<; \
        fi
 
-## --------------------------- ##
-## Building & testing calc++.  ##
-## --------------------------- ##
+## -------------------- ##
+## Building & testing.  ##
+## -------------------- ##
 
 BUILT_SOURCES += $(calc_sources) examples/calc++/calc++-parser.h
 CLEANFILES += *.tmp
 
 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
 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++
 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
 endif
 EXTRA_DIST += examples/calc++/test
index 150f161c8bc2872ffe2b1720bc6ddef14b32fb09..0dfe3685382ab7d965af4d15fb4270a1c24ebaf5 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # 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.
 me=`basename $0`
 
 # Number of the current test.
@@ -28,6 +23,9 @@ number=1
 # Exit status of this script.
 exit=true
 
 # Exit status of this script.
 exit=true
 
+# The exercised program.
+prog=./examples/calc++/calc++
+
 # run EXPECTED-EXIT-STATUS EXPECTED-OUTPUT [PARSER-OPTIONS]
 # ---------------------------------------------------------
 run ()
 # run EXPECTED-EXIT-STATUS EXPECTED-OUTPUT [PARSER-OPTIONS]
 # ---------------------------------------------------------
 run ()
@@ -37,7 +35,7 @@ run ()
   shift
   local out_exp=$1
   shift
   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
   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`
 }
 
   number=`expr $number + 1`
 }
 
+
+cat >input <<EOF
+toto := 1
+toto
+EOF
+run 0 1 -s
+
+
 cat >input <<EOF
 a := 1
 b := 2
 cat >input <<EOF
 a := 1
 b := 2
@@ -81,14 +87,7 @@ cat >input <<EOF
 a := 1
 d := a + b * c
 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
 
 rm input out_eff
 $exit
index 6da395df0ceaa21918f53e6a3901ccf0084de052..e6d69d083e5d088579b4c618723c1de0656c2bc9 100644 (file)
@@ -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/>.
 
 ## 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
 dist_noinst_SCRIPTS = examples/extexi
 
 include examples/calc++/local.mk