[PATCH 1/6] Don't use AC_DEFINE to pass the commands for the compilers to the runtest script.
Diego 'Flameeyes' Pettenò
flamee... at gmail.com
Wed Oct 1 14:36:36 UTC 2008
Instead of parsing the config.h header from runtest, make it use
proper autoconf by generating it at the end of the configure run.
---
configure.in | 28 +----
test/runtests | 320 ------------------------------------------------------
test/runtests.in | 320 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 327 insertions(+), 341 deletions(-)
delete mode 100755 test/runtests
create mode 100755 test/runtests.in
diff --git a/configure.in b/configure.in
index a257a70..cc25f2e 100644
--- a/configure.in
+++ b/configure.in
@@ -31,10 +31,6 @@ AC_PROG_CC
AC_PROG_CXX
AC_CHECK_TOOL(AR, ar)
AC_PROG_RANLIB
-AC_DEFINE_UNQUOTED(CC,$CC)
-AC_DEFINE_UNQUOTED(CXX,$CXX)
-AC_DEFINE_UNQUOTED(AR,$AR)
-AC_DEFINE_UNQUOTED(RANLIB,$RANLIB)
dnl Set test on c++ compiler.
AC_LANG_CPLUSPLUS
@@ -75,9 +71,7 @@ fi # BUILD_PARSERS
dnl Check for the D compiler
AC_CHECK_PROG(GDC, gdc, gdc)
-if test -n "$GDC"; then
- AC_DEFINE_UNQUOTED(GDC,$GDC)
-fi
+AC_SUBST(GDC)
dnl Check for the Objective-C compiler
AC_MSG_CHECKING([for the Objective-C compiler])
@@ -88,7 +82,7 @@ GOBJC=""
if gcc -x objective-c conftest.m -o conftest.bin 2>/dev/null; then
GOBJC="gcc -x objective-c"
AC_MSG_RESULT([yes])
- AC_DEFINE_UNQUOTED(GOBJC,$GOBJC)
+ AC_SUBST(GOBJC)
else
AC_MSG_RESULT([no])
fi
@@ -96,29 +90,21 @@ AC_SUBST(GOBJC)
dnl Check for the Java compiler.
AC_CHECK_PROG(JAVAC, javac, javac)
-if test -n "$JAVAC"; then
- AC_DEFINE_UNQUOTED(JAVAC,$JAVAC)
-fi
+AC_SUBST(JAVAC)
dnl Check for TXL.
AC_CHECK_PROG(TXL, txl, txl)
-if test -n "$TXL"; then
- AC_DEFINE_UNQUOTED(TXL,$TXL)
-fi
+AC_SUBST(TXL)
dnl Check for Ruby.
AC_CHECK_PROG(RUBY, ruby, ruby)
-if test -n "$RUBY"; then
- AC_DEFINE_UNQUOTED(RUBY,$RUBY)
-fi
+AC_SUBST(RUBY)
dnl Check for the C# compiler.
AC_CHECK_PROG(GMCS, gmcs, gmcs)
-if test -n "$GMCS"; then
- AC_DEFINE_UNQUOTED(GMCS,$GMCS)
-fi
+AC_SUBST(GMCS)
dnl write output files
-AC_OUTPUT(Makefile common/Makefile ragel/Makefile redfsm/Makefile rlgen-cd/Makefile rlgen-java/Makefile rlgen-ruby/Makefile rlgen-dot/Makefile rlgen-csharp/Makefile doc/Makefile test/Makefile)
+AC_OUTPUT(Makefile common/Makefile ragel/Makefile redfsm/Makefile rlgen-cd/Makefile rlgen-java/Makefile rlgen-ruby/Makefile rlgen-dot/Makefile rlgen-csharp/Makefile doc/Makefile test/Makefile test/runtests)
echo "configuration of ragel complete"
diff --git a/test/runtests b/test/runtests
deleted file mode 100755
index a50c7c9..0000000
--- a/test/runtests
+++ /dev/null
@@ -1,320 +0,0 @@
-#!/bin/bash
-
-#
-# Copyright 2006 Adrian Thurston <thurs... at cs.queensu.ca>
-#
-
-# This file is part of Ragel.
-#
-# Ragel 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 2 of the License, or
-# (at your option) any later version.
-#
-# Ragel 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 Ragel; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-while getopts "gcnmleT:F:G:P:CDJRA" opt; do
- case $opt in
- T|F|G|P)
- genflags="$genflags -$opt$OPTARG"
- options="$options -$opt$OPTARG"
- ;;
- n|m|l|e)
- minflags="$minflags -$opt"
- options="$options -$opt"
- ;;
- c)
- compile_only="true"
- options="$options -$opt"
- ;;
- g)
- allow_generated="true"
- ;;
- C|D|J|R|A)
- langflags="$langflags -$opt"
- ;;
- esac
-done
-
-[ -z "$minflags" ] && minflags="-n -m -l -e"
-[ -z "$genflags" ] && genflags="-T0 -T1 -F0 -F1 -G0 -G1 -G2"
-[ -z "$langflags" ] && langflags="-C -D -J -R -A"
-
-shift $((OPTIND - 1));
-
-[ -z "$*" ] && set -- *.rl
-
-config=../common/config.h
-ragel=../ragel/ragel
-
-cxx_compiler=`sed '/^#define CXX/s/#define CXX *//p;d' $config`
-c_compiler=`sed '/^#define CC/s/#define CC *//p;d' $config`
-objc_compiler=`sed '/^#define GOBJC/s/#define GOBJC *//p;d' $config`
-d_compiler=`sed '/^#define GDC/s/#define GDC *//p;d' $config`
-java_compiler=`sed '/#define JAVAC/s/#define JAVAC *//p;d' $config`
-txl_engine=`sed '/^#define TXL/s/#define TXL *//p;d' $config`
-ruby_engine=`sed '/^#define RUBY/s/#define RUBY *//p;d' $config`
-csharp_compiler=`sed '/#define GMCS/s/#define GMCS *//p;d' $config`
-
-function test_error
-{
- exit 1;
-}
-
-# split_objs=""
-# if test $split_iters != "$gen_opt"; then
-# n=0;
-# while test $n -lt $split_iters; do
-# part_root=${root}_`awk 'BEGIN {
-# width = 0;
-# high = '$split_iters' - 1;
-# while ( high > 0 ) {
-# width = width + 1;
-# high = int(high / 10);
-# }
-# suffFormat = "%" width "." width "d\n";
-# printf( suffFormat, '$n' );
-# exit 0;
-# }'`
-# part_src=${part_root}.c
-# part_bin=${part_root}.o
-# echo "$compiler -c $cflags -o $part_bin $part_src"
-# if ! $compiler -c $cflags -o $part_bin $part_src; then
-# test_error;
-# fi
-# split_objs="$split_objs $part_bin"
-# n=$((n+1))
-# done
-# fi
-
-function run_test()
-{
- echo "$ragel $lang_opt $min_opt $gen_opt -o $code_src $test_case"
- if ! $ragel $lang_opt $min_opt $gen_opt -o $code_src $test_case; then
- test_error;
- fi
-
- out_args=""
- [ $lang != java ] && out_args="-o ${binary}";
- [ $lang == csharp ] && out_args="-out:${binary}";
-
- # Ruby doesn't need to be compiled.
- if [ $lang != ruby ]; then
- echo "$compiler ${cflags} ${out_args} ${code_src}"
- if ! $compiler ${cflags} ${out_args} ${code_src}; then
- test_error;
- fi
- fi
-
- if [ "$compile_only" != "true" ]; then
- echo -n "running $root ... ";
-
- exec_cmd=./$binary
- [ $lang = java ] && exec_cmd="java ${root}"
- [ $lang = ruby ] && exec_cmd="ruby ${code_src}"
- [ $lang = csharp ] && exec_cmd="mono ${exec_cmd}"
-
- $exec_cmd 2>&1 > $output;
- if diff $expected_out $output > /dev/null; then
- echo "passed";
- else
- echo "FAILED";
- test_error;
- fi;
- fi
-}
-
-for test_case; do
- root=${test_case%.rl};
-
- if ! [ -f "$test_case" ]; then
- echo "runtests: not a file: $test_case"; >&2
- exit 1;
- fi
-
- # Check if we should ignore the test case
- ignore=`sed '/@IGNORE:/s/^.*: *//p;d' $test_case`
- if [ "$ignore" = yes ]; then
- continue;
- fi
-
- # If the generated flag is given make sure that the test case is generated.
- is_generated=`sed '/@GENERATED:/s/^.*: *//p;d' $test_case`
- if [ "$is_generated" = yes ] && [ "$allow_generated" != true ]; then
- continue;
- fi
-
- expected_out=$root.exp;
- sed '1,/_____OUTPUT_____/d;$d' $test_case > $expected_out
-
- lang=`sed '/@LANG:/s/^.*: *//p;d' $test_case`
- if [ -z "$lang" ]; then
- echo "$test_case: language unset"; >&2
- exit 1;
- fi
-
- case $lang in
- c++)
- lang_opt=-C;
- codegen=../rlgen-cd/rlgen-cd;
- code_suffix=cpp;
- compiler=$cxx_compiler;
- cflags="-pedantic -ansi -Wall -O3"
- ;;
- d)
- lang_opt=-D;
- codegen=../rlgen-cd/rlgen-cd;
- code_suffix=d;
- compiler=$d_compiler;
- cflags="-Wall -O3"
- ;;
- c)
- lang_opt=-C;
- codegen=../rlgen-cd/rlgen-cd;
- code_suffix=c;
- compiler=$c_compiler;
- cflags="-pedantic -ansi -Wall -O3"
- ;;
- obj-c)
- lang_opt=-C;
- codegen=../rlgen-cd/rlgen-cd;
- code_suffix=m;
- compiler=$objc_compiler
- cflags="-Wall -O3 -fno-strict-aliasing -lobjc"
- ;;
- java)
- lang_opt=-J;
- codegen=../rlgen-java/rlgen-java;
- code_suffix=java;
- compiler=$java_compiler
- cflags=""
- ;;
- ruby)
- lang_opt=-R;
- codegen=../rlgen-ruby/rlgen-ruby;
- code_suffix=rb;
- compiler=$ruby_engine
- cflags=""
- ;;
- csharp)
- lang_opt="-A";
- codegen=../rlgen-csharp/rlgen-csharp;
- code_suffix=cs;
- compiler=$csharp_compiler
- cflags=""
- ;;
- indep)
- lang_opt="";
-
- # If we have no txl engine then skip this test.
- [ -z "$txl_engine" ] && continue
- for lang in c d java ruby csharp; do
- case $lang in
- c) lf="-C";;
- d) lf="-D";;
- java) lf="-J";;
- ruby) lf="-R";;
- csharp) lf="-A";;
- esac
-
- echo "$langflags" | grep -e $lf >/dev/null || continue
-
- targ=${root}_$lang.rl
- echo "./langtrans_$lang.sh $test_case > $targ"
- if ! ./langtrans_$lang.sh $test_case > $targ; then
- test_error
- fi
- echo "./runtests -g $options $targ"
- if ! ./runtests -g $options $targ; then
- test_error
- fi
- done
- continue;
- ;;
- *)
- echo "$test_case: unknown language type $lang" >&2
- exit 1;
- ;;
- esac
-
- # Make sure that we are interested in the host language.
- echo "$langflags" | grep -e $lang_opt >/dev/null || continue
-
- code_src=$root.$code_suffix;
- binary=$root.bin;
- output=$root.out;
-
- # If we have no compiler for the source program then skip it.
- [ -z "$compiler" ] && continue
-
- additional_cflags=`sed '/@CFLAGS:/s/^.*: *//p;d' $test_case`
- [ -n "$additional_cflags" ] && cflags="$cflags $additional_cflags"
-
- allow_minflags=`sed '/@ALLOW_MINFLAGS:/s/^.*: *//p;d' $test_case`
- [ -z "$allow_minflags" ] && allow_minflags="-n -m -l -e"
-
- case $lang in
- c|c++|d)
- # Using genflags, get the allowed gen flags from the test case. If the
- # test case doesn't specify assume that all gen flags are allowed.
- allow_genflags=`sed '/@ALLOW_GENFLAGS:/s/^.*: *//p;d' $test_case`
- [ -z "$allow_genflags" ] && allow_genflags="-T0 -T1 -F0 -F1 -G0 -G1 -G2"
-
- for min_opt in $minflags; do
- echo "$allow_minflags" | grep -e $min_opt >/dev/null || continue
- for gen_opt in $genflags; do
- echo "$allow_genflags" | grep -e $gen_opt >/dev/null || continue
- run_test
- done
- done
- ;;
-
- java)
- # Not interested in gen opt.
- gen_opt=""
- for min_opt in $minflags; do
- echo "$allow_minflags" | grep -e $min_opt >/dev/null || continue
- run_test
- done
- ;;
-
- ruby)
- # Using genflags, get the allowed gen flags from the test case. If the
- # test case doesn't specify assume that all gen flags are allowed.
- allow_genflags=`sed '/@ALLOW_GENFLAGS:/s/^.*: *//p;d' $test_case`
- [ -z "$allow_genflags" ] && allow_genflags="-T0 -T1 -F0 -F1"
-
- for min_opt in $minflags; do
- echo "$allow_minflags" | grep -e $min_opt >/dev/null || continue
-
- for gen_opt in $genflags; do
- echo "$allow_genflags" | grep -e $gen_opt >/dev/null || continue
- run_test
- done
- done
- ;;
-
- csharp)
- # Using genflags, get the allowed gen flags from the test case. If the
- # test case doesn't specify assume that all gen flags are allowed.
- allow_genflags=`sed '/@ALLOW_GENFLAGS:/s/^.*: *//p;d' $test_case`
- [ -z "$allow_genflags" ] && allow_genflags="-T0 -T1 -F0 -F1 -G0 -G1"
-
- for min_opt in $minflags; do
- echo "$allow_minflags" | grep -e $min_opt >/dev/null || continue
- for gen_opt in $genflags; do
- echo "$allow_genflags" | grep -e $gen_opt >/dev/null || continue
- run_test
- done
- done
- ;;
- esac
-
-done
diff --git a/test/runtests.in b/test/runtests.in
new file mode 100755
index 0000000..ee14f6a
--- /dev/null
+++ b/test/runtests.in
@@ -0,0 +1,320 @@
+#!/bin/bash
+
+#
+# Copyright 2006 Adrian Thurston <thurs... at cs.queensu.ca>
+#
+
+# This file is part of Ragel.
+#
+# Ragel 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 2 of the License, or
+# (at your option) any later version.
+#
+# Ragel 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 Ragel; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+while getopts "gcnmleT:F:G:P:CDJRA" opt; do
+ case $opt in
+ T|F|G|P)
+ genflags="$genflags -$opt$OPTARG"
+ options="$options -$opt$OPTARG"
+ ;;
+ n|m|l|e)
+ minflags="$minflags -$opt"
+ options="$options -$opt"
+ ;;
+ c)
+ compile_only="true"
+ options="$options -$opt"
+ ;;
+ g)
+ allow_generated="true"
+ ;;
+ C|D|J|R|A)
+ langflags="$langflags -$opt"
+ ;;
+ esac
+done
+
+[ -z "$minflags" ] && minflags="-n -m -l -e"
+[ -z "$genflags" ] && genflags="-T0 -T1 -F0 -F1 -G0 -G1 -G2"
+[ -z "$langflags" ] && langflags="-C -D -J -R -A"
+
+shift $((OPTIND - 1));
+
+[ -z "$*" ] && set -- *.rl
+
+config=../common/config.h
+ragel=../ragel/ragel
+
+cxx_compiler=@CXX@
+c_compiler=@CC@
+objc_compiler=@GOBJC@
+d_compiler=@GDC@
+java_compiler=@JAVAC@
+txl_engine=@TXL@
+ruby_engine=@RUBY@
+csharp_compiler=@GMCS@
+
+function test_error
+{
+ exit 1;
+}
+
+# split_objs=""
+# if test $split_iters != "$gen_opt"; then
+# n=0;
+# while test $n -lt $split_iters; do
+# part_root=${root}_`awk 'BEGIN {
+# width = 0;
+# high = '$split_iters' - 1;
+# while ( high > 0 ) {
+# width = width + 1;
+# high = int(high / 10);
+# }
+# suffFormat = "%" width "." width "d\n";
+# printf( suffFormat, '$n' );
+# exit 0;
+# }'`
+# part_src=${part_root}.c
+# part_bin=${part_root}.o
+# echo "$compiler -c $cflags -o $part_bin $part_src"
+# if ! $compiler -c $cflags -o $part_bin $part_src; then
+# test_error;
+# fi
+# split_objs="$split_objs $part_bin"
+# n=$((n+1))
+# done
+# fi
+
+function run_test()
+{
+ echo "$ragel $lang_opt $min_opt $gen_opt -o $code_src $test_case"
+ if ! $ragel $lang_opt $min_opt $gen_opt -o $code_src $test_case; then
+ test_error;
+ fi
+
+ out_args=""
+ [ $lang != java ] && out_args="-o ${binary}";
+ [ $lang == csharp ] && out_args="-out:${binary}";
+
+ # Ruby doesn't need to be compiled.
+ if [ $lang != ruby ]; then
+ echo "$compiler ${cflags} ${out_args} ${code_src}"
+ if ! $compiler ${cflags} ${out_args} ${code_src}; then
+ test_error;
+ fi
+ fi
+
+ if [ "$compile_only" != "true" ]; then
+ echo -n "running $root ... ";
+
+ exec_cmd=./$binary
+ [ $lang = java ] && exec_cmd="java ${root}"
+ [ $lang = ruby ] && exec_cmd="ruby ${code_src}"
+ [ $lang = csharp ] && exec_cmd="mono ${exec_cmd}"
+
+ $exec_cmd 2>&1 > $output;
+ if diff $expected_out $output > /dev/null; then
+ echo "passed";
+ else
+ echo "FAILED";
+ test_error;
+ fi;
+ fi
+}
+
+for test_case; do
+ root=${test_case%.rl};
+
+ if ! [ -f "$test_case" ]; then
+ echo "runtests: not a file: $test_case"; >&2
+ exit 1;
+ fi
+
+ # Check if we should ignore the test case
+ ignore=`sed '/@IGNORE:/s/^.*: *//p;d' $test_case`
+ if [ "$ignore" = yes ]; then
+ continue;
+ fi
+
+ # If the generated flag is given make sure that the test case is generated.
+ is_generated=`sed '/@GENERATED:/s/^.*: *//p;d' $test_case`
+ if [ "$is_generated" = yes ] && [ "$allow_generated" != true ]; then
+ continue;
+ fi
+
+ expected_out=$root.exp;
+ sed '1,/_____OUTPUT_____/d;$d' $test_case > $expected_out
+
+ lang=`sed '/@LANG:/s/^.*: *//p;d' $test_case`
+ if [ -z "$lang" ]; then
+ echo "$test_case: language unset"; >&2
+ exit 1;
+ fi
+
+ case $lang in
+ c++)
+ lang_opt=-C;
+ codegen=../rlgen-cd/rlgen-cd;
+ code_suffix=cpp;
+ compiler=$cxx_compiler;
+ cflags="-pedantic -ansi -Wall -O3"
+ ;;
+ d)
+ lang_opt=-D;
+ codegen=../rlgen-cd/rlgen-cd;
+ code_suffix=d;
+ compiler=$d_compiler;
+ cflags="-Wall -O3"
+ ;;
+ c)
+ lang_opt=-C;
+ codegen=../rlgen-cd/rlgen-cd;
+ code_suffix=c;
+ compiler=$c_compiler;
+ cflags="-pedantic -ansi -Wall -O3"
+ ;;
+ obj-c)
+ lang_opt=-C;
+ codegen=../rlgen-cd/rlgen-cd;
+ code_suffix=m;
+ compiler=$objc_compiler
+ cflags="-Wall -O3 -fno-strict-aliasing -lobjc"
+ ;;
+ java)
+ lang_opt=-J;
+ codegen=../rlgen-java/rlgen-java;
+ code_suffix=java;
+ compiler=$java_compiler
+ cflags=""
+ ;;
+ ruby)
+ lang_opt=-R;
+ codegen=../rlgen-ruby/rlgen-ruby;
+ code_suffix=rb;
+ compiler=$ruby_engine
+ cflags=""
+ ;;
+ csharp)
+ lang_opt="-A";
+ codegen=../rlgen-csharp/rlgen-csharp;
+ code_suffix=cs;
+ compiler=$csharp_compiler
+ cflags=""
+ ;;
+ indep)
+ lang_opt="";
+
+ # If we have no txl engine then skip this test.
+ [ -z "$txl_engine" ] && continue
+ for lang in c d java ruby csharp; do
+ case $lang in
+ c) lf="-C";;
+ d) lf="-D";;
+ java) lf="-J";;
+ ruby) lf="-R";;
+ csharp) lf="-A";;
+ esac
+
+ echo "$langflags" | grep -e $lf >/dev/null || continue
+
+ targ=${root}_$lang.rl
+ echo "./langtrans_$lang.sh $test_case > $targ"
+ if ! ./langtrans_$lang.sh $test_case > $targ; then
+ test_error
+ fi
+ echo "./runtests -g $options $targ"
+ if ! ./runtests -g $options $targ; then
+ test_error
+ fi
+ done
+ continue;
+ ;;
+ *)
+ echo "$test_case: unknown language type $lang" >&2
+ exit 1;
+ ;;
+ esac
+
+ # Make sure that we are interested in the host language.
+ echo "$langflags" | grep -e $lang_opt >/dev/null || continue
+
+ code_src=$root.$code_suffix;
+ binary=$root.bin;
+ output=$root.out;
+
+ # If we have no compiler for the source program then skip it.
+ [ -z "$compiler" ] && continue
+
+ additional_cflags=`sed '/@CFLAGS:/s/^.*: *//p;d' $test_case`
+ [ -n "$additional_cflags" ] && cflags="$cflags $additional_cflags"
+
+ allow_minflags=`sed '/@ALLOW_MINFLAGS:/s/^.*: *//p;d' $test_case`
+ [ -z "$allow_minflags" ] && allow_minflags="-n -m -l -e"
+
+ case $lang in
+ c|c++|d)
+ # Using genflags, get the allowed gen flags from the test case. If the
+ # test case doesn't specify assume that all gen flags are allowed.
+ allow_genflags=`sed '/@ALLOW_GENFLAGS:/s/^.*: *//p;d' $test_case`
+ [ -z "$allow_genflags" ] && allow_genflags="-T0 -T1 -F0 -F1 -G0 -G1 -G2"
+
+ for min_opt in $minflags; do
+ echo "$allow_minflags" | grep -e $min_opt >/dev/null || continue
+ for gen_opt in $genflags; do
+ echo "$allow_genflags" | grep -e $gen_opt >/dev/null || continue
+ run_test
+ done
+ done
+ ;;
+
+ java)
+ # Not interested in gen opt.
+ gen_opt=""
+ for min_opt in $minflags; do
+ echo "$allow_minflags" | grep -e $min_opt >/dev/null || continue
+ run_test
+ done
+ ;;
+
+ ruby)
+ # Using genflags, get the allowed gen flags from the test case. If the
+ # test case doesn't specify assume that all gen flags are allowed.
+ allow_genflags=`sed '/@ALLOW_GENFLAGS:/s/^.*: *//p;d' $test_case`
+ [ -z "$allow_genflags" ] && allow_genflags="-T0 -T1 -F0 -F1"
+
+ for min_opt in $minflags; do
+ echo "$allow_minflags" | grep -e $min_opt >/dev/null || continue
+
+ for gen_opt in $genflags; do
+ echo "$allow_genflags" | grep -e $gen_opt >/dev/null || continue
+ run_test
+ done
+ done
+ ;;
+
+ csharp)
+ # Using genflags, get the allowed gen flags from the test case. If the
+ # test case doesn't specify assume that all gen flags are allowed.
+ allow_genflags=`sed '/@ALLOW_GENFLAGS:/s/^.*: *//p;d' $test_case`
+ [ -z "$allow_genflags" ] && allow_genflags="-T0 -T1 -F0 -F1 -G0 -G1"
+
+ for min_opt in $minflags; do
+ echo "$allow_minflags" | grep -e $min_opt >/dev/null || continue
+ for gen_opt in $genflags; do
+ echo "$allow_genflags" | grep -e $gen_opt >/dev/null || continue
+ run_test
+ done
+ done
+ ;;
+ esac
+
+done
More information about the ragel-users
mailing list