]> git.saurik.com Git - bison.git/blobdiff - tests/torture.at
(_AT_DATA_CALC_Y): #undef memcmp and realloc.
[bison.git] / tests / torture.at
index 47016622d09f868a7004933d3f72c18c6084900e..b9032d0cb7da6ec945e8cee212cf7d316c470139 100644 (file)
 AT_BANNER([[Torture Tests.]])
 
 
+# AT_INCREASE_DATA_SIZE(SIZE)
+# -------------------------------------------
+# Try to increase the data size to SIZE KiB if possible.
+m4_define([AT_INCREASE_DATA_SIZE],
+[data_limit=`(ulimit -S -d) 2>/dev/null`
+case $data_limit in
+[[0-9]]*)
+  if test "$data_limit" -lt $1; then
+    ulimit -S -d $1
+  fi
+esac])
+
+
 ## ------------------------------------- ##
 ## Creating a large artificial grammar.  ##
 ## ------------------------------------- ##
@@ -131,7 +144,7 @@ AT_SETUP([Big triangle])
 # With 500 and the new parser, which consume far too much memory,
 # it gets killed too.  Of course the parser is to be cleaned.
 AT_DATA_TRIANGULAR_GRAMMAR([input.y], [200])
-AT_CHECK([bison input.y -v -o input.c])
+AT_CHECK([bison -v -o input.c input.y])
 AT_COMPILE([input])
 AT_PARSER_CHECK([./input])
 
@@ -230,7 +243,12 @@ AT_SETUP([Big horizontal])
 # ./input                          0.00s user 0.01s sys 108% cpu     0.01 total
 #
 AT_DATA_HORIZONTAL_GRAMMAR([input.y], [1000])
-AT_CHECK([bison input.y -v -o input.c])
+
+# GNU m4 requires about 70 MiB for this test on a 32-bit host.
+# Ask for 200 MiB, which should be plenty even on a 64-bit host.
+AT_INCREASE_DATA_SIZE(204000)
+
+AT_CHECK([bison -v -o input.c input.y])
 AT_COMPILE([input])
 AT_PARSER_CHECK([./input])
 
@@ -349,7 +367,12 @@ mv stdout $1
 AT_SETUP([Many lookaheads])
 
 AT_DATA_LOOKAHEADS_GRAMMAR([input.y], [1000])
-AT_CHECK([bison input.y -v -o input.c])
+
+# GNU m4 requires about 70 MiB for this test on a 32-bit host.
+# Ask for 200 MiB, which should be plenty even on a 64-bit host.
+AT_INCREASE_DATA_SIZE(204000)
+
+AT_CHECK([bison -v -o input.c input.y])
 AT_COMPILE([input])
 AT_PARSER_CHECK([./input])
 
@@ -406,7 +429,7 @@ main (int argc, const char **argv)
   return yyparse ();
 }
 ]])
-AT_CHECK([bison input.y -o input.c])
+AT_CHECK([bison -o input.c input.y])
 AT_COMPILE([input])
 ])