AT_DATA([$1],
[[$2
%%
-foo: {}
+foo: {};
]])
AT_CHECK([bison $3 $1], 0)
AT_CHECK([ls $4], [], [ignore])
-AT_CLEANUP($4)
+AT_CLEANUP
])
AT_CHECK_OUTPUT([foo.y], [], [-dv],
AT_CHECK_OUTPUT([foo.y], [%defines %verbose %yacc],[],
[y.output y.tab.c y.tab.h])
+AT_CHECK_OUTPUT([foo.yy], [%defines %verbose %yacc],[],
+ [y.output y.tab.c y.tab.h])
+
+# Exercise %output and %file-prefix
+AT_CHECK_OUTPUT([foo.y], [%file-prefix="bar" %defines %verbose], [],
+ [bar.output bar.tab.c bar.tab.h])
+AT_CHECK_OUTPUT([foo.y], [%output="bar.c" %defines %verbose %yacc],[],
+ [bar.output bar.c bar.h])
+AT_CHECK_OUTPUT([foo.y],
+ [%file-prefix="baz" %output="bar.c" %defines %verbose %yacc],
+ [],
+ [bar.output bar.c bar.h])
+
# Check priorities of extension control.
AT_CHECK_OUTPUT([foo.yy], [%defines %verbose], [],