# 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
}
]])
-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
-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
+ a
+[repeated 16381 more times]
+ a) returning int
+int (a
+ a
+[repeated 16381 more times]
+ a)
]])
AT_CLEANUP