]> git.draconx.ca Git - cdecl99.git/blobdiff - tests/stress.at
Port to use getline.h from dxcommon.
[cdecl99.git] / tests / stress.at
index 3ee72d931c7cae04f8b9581fa5c0f7b5f81666d0..a8e95003ac93e380f55dce18bc49321e7bd1ecd0 100644 (file)
@@ -96,27 +96,8 @@ AT_CLEANUP
 # Check that we can parse declarations with more than 10000 specifiers.
 AT_SETUP([Excessive specifiers])
 
-s="const"
-for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14; do
-  AS_VAR_APPEND([s], [" $s"])
-done
-
-cat >test.dat <<EOF
-explain $s int
-explain int $s
-type $s int
-type int $s
-EOF
-
-s="inline"
-for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14; do
-  AS_VAR_APPEND([s], [" $s"])
-done
-cat >>test.dat <<EOF
-declare f as $s function returning int
-EOF
-
-AT_CHECK([cdecl99 -f test.dat], [0],
+AT_CHECK([gunzip -c "$srcdir/tests/data/manyspec.gz" >test.dat || exit 77
+cdecl99 -f test.dat], [0],
 [[type const int
 type const int
 const int
@@ -135,14 +116,6 @@ AT_DATA([check.awk],
 BEGIN { FS = "@"; runstart = 0; }
 END { finish_run(NR); }
 
-gsub(/,[^,)]*/, "~") {
-  while (match($0, /~+/) > 0) {
-    l = substr($0, 1, RSTART-1);
-    r = substr($0, RSTART+RLENGTH);
-    $0 = l ", [plus " RLENGTH " more parameters]" r;
-  }
-}
-
 $0 != lastline {
   finish_run(NR-1);
   lastline = $0;
@@ -157,24 +130,21 @@ function finish_run(nr) {
 }
 ]])
 
-a="a"
-for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14; do
-  AS_VAR_APPEND([a], [",$a"])
-done
-
-cat >test.dat <<EOF
-explain int $a
-explain int ($a)
-type function ($a) returning int
-EOF
-
-AT_CHECK([cdecl99 -f test.dat >test.out; status=$?;
-$AWK -f check.awk test.out
+AT_CHECK([gunzip -c "$srcdir/tests/data/manydecl.gz" >test.dat || exit 77
+cdecl99 -f test.dat >test.out; status=$?;
+tr <test.out ',' '
+' | $AWK -f check.awk
 exit $status], [0],
 [[declare a as int
 [repeated 16383 more times]
-type function (a, [plus 16383 more parameters]) returning int
-int (a, [plus 16383 more parameters])
+type function (a
+ a
+[repeated 16381 more times]
+ a) returning int
+int (a
+ a
+[repeated 16381 more times]
+ a)
 ]])
 
 AT_CLEANUP