From: Joel E. Denny Date: Wed, 10 Jan 2007 02:55:19 +0000 (+0000) Subject: * tests/local.at (AT_PARSER_CHECK): Add a PRE argument to specify a X-Git-Tag: v2.3b~184 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/e0ac9b4bb068c17dacfa6a6b2b4d8157d27bf8ee * tests/local.at (AT_PARSER_CHECK): Add a PRE argument to specify a command-line prefix. * tests/torture.at (Exploding the Stack Size with Alloca): Stderr is ignored, so use that PRE to set --log-fd=1 in VALGRIND_OPTS so we don't miss Valgrind messages. (Exploding the Stack Size with Malloc): Likewise. --- diff --git a/ChangeLog b/ChangeLog index af1b08bb..96ed4b22 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-01-09 Joel E. Denny + + * tests/local.at (AT_PARSER_CHECK): Add a PRE argument to specify a + command-line prefix. + * tests/torture.at (Exploding the Stack Size with Alloca): Stderr is + ignored, so use that PRE to set --log-fd=1 in VALGRIND_OPTS so we don't + miss Valgrind messages. + (Exploding the Stack Size with Malloc): Likewise. + 2007-01-09 Joel E. Denny Ignore YYSTACK_USE_ALLOCA for push parsers since the stacks can't be diff --git a/tests/local.at b/tests/local.at index 51a35a49..de21de15 100644 --- a/tests/local.at +++ b/tests/local.at @@ -198,11 +198,11 @@ AT_CHECK([$CXX $CXXFLAGS $CPPFLAGS m4_bmatch([$1], [[.]], [], [$LDFLAGS ])-o $1 ## Running a generated parser. ## ## ---------------------------- ## -# AT_PARSER_CHECK(COMMAND, EXIT-STATUS, EXPOUT, EXPERR) -# ----------------------------------------------------- +# AT_PARSER_CHECK(COMMAND, EXIT-STATUS, EXPOUT, EXPERR, [PRE]) +# ------------------------------------------------------------ # So that we can run `./testsuite PREPARSER='valgrind -q' for instance. m4_define([AT_PARSER_CHECK], -[AT_CHECK([$PREPARSER $1], [$2], [$3], [$4])]) +[AT_CHECK([$5 $PREPARSER $1], [$2], [$3], [$4])]) diff --git a/tests/torture.at b/tests/torture.at index 6e1a1a48..6e5418d4 100644 --- a/tests/torture.at +++ b/tests/torture.at @@ -483,12 +483,15 @@ m4_pushdef([AT_USE_ALLOCA], [[ AT_DATA_STACK_TORTURE([AT_USE_ALLOCA]) # Below the limit of 200. -AT_PARSER_CHECK([./input 20], 0, [], [ignore]) +AT_PARSER_CHECK([./input 20], 0, [], [ignore], + [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) # Two enlargements: 2 * 2 * 200. -AT_PARSER_CHECK([./input 900], 0, [], [ignore]) +AT_PARSER_CHECK([./input 900], 0, [], [ignore], + [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) # Fails: beyond the limit of 10,000 (which we don't reach anyway since we # multiply by two starting at 200 => 5120 is the last possible). -AT_PARSER_CHECK([./input 10000], 2, [], [ignore]) +AT_PARSER_CHECK([./input 10000], 2, [], [ignore], + [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) # The push parser can't use alloca since the stacks can't be locals. This test # just helps guarantee we don't let the YYSTACK_USE_ALLOCA feature affect @@ -496,9 +499,12 @@ AT_PARSER_CHECK([./input 10000], 2, [], [ignore]) AT_DATA_STACK_TORTURE([AT_USE_ALLOCA], [[%push-pull-parser ]]) -AT_PARSER_CHECK([./input 20], 0, [], [ignore]) -AT_PARSER_CHECK([./input 900], 0, [], [ignore]) -AT_PARSER_CHECK([./input 10000], 2, [], [ignore]) +AT_PARSER_CHECK([./input 20], 0, [], [ignore], + [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) +AT_PARSER_CHECK([./input 900], 0, [], [ignore], + [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) +AT_PARSER_CHECK([./input 10000], 2, [], [ignore], + [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) m4_popdef([AT_USE_ALLOCA]) @@ -518,19 +524,25 @@ m4_pushdef([AT_USE_ALLOCA], [[#define YYSTACK_USE_ALLOCA 0]]) AT_DATA_STACK_TORTURE([AT_USE_ALLOCA]) # Below the limit of 200. -AT_PARSER_CHECK([./input 20], 0, [], [ignore]) +AT_PARSER_CHECK([./input 20], 0, [], [ignore], + [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) # Two enlargements: 2 * 2 * 200. -AT_PARSER_CHECK([./input 900], 0, [], [ignore]) +AT_PARSER_CHECK([./input 900], 0, [], [ignore], + [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) # Fails: beyond the limit of 10,000 (which we don't reach anyway since we # multiply by two starting at 200 => 5120 is the possible). -AT_PARSER_CHECK([./input 10000], 2, [], [ignore]) +AT_PARSER_CHECK([./input 10000], 2, [], [ignore], + [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) AT_DATA_STACK_TORTURE([AT_USE_ALLOCA], [[%push-pull-parser ]]) -AT_PARSER_CHECK([./input 20], 0, [], [ignore]) -AT_PARSER_CHECK([./input 900], 0, [], [ignore]) -AT_PARSER_CHECK([./input 10000], 2, [], [ignore]) +AT_PARSER_CHECK([./input 20], 0, [], [ignore], + [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) +AT_PARSER_CHECK([./input 900], 0, [], [ignore], + [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) +AT_PARSER_CHECK([./input 10000], 2, [], [ignore], + [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) m4_popdef([AT_USE_ALLOCA])