3 # Validation suite for Bison.
4 # Copyright 2000 Free Software Foundation, Inc.
8 ## ---------------------------- ##
9 ## Checking output file names. ##
10 ## ---------------------------- ##
12 # AT_CHECK_BISON_FLAGS(FLAGS, EXPECTED-FILES-SORTED)
13 # --------------------------------------------------
14 AT_DEFINE
([AT_CHECK_BISON_FLAGS
],
15 [AT_SETUP
([Output files
: $1.
])
21 AT_CHECK
([bison
-dv foo.y
$1], 0, ignore
, ignore
)
22 AT_CHECK
([ls $2 | sort | tr '\n' ' ' | sed 's/.$//g'], 0, [$2])
27 AT_CHECK_BISON_FLAGS
([], [foo.output foo.tab.c foo.tab.h
])
28 AT_CHECK_BISON_FLAGS
([-o foo.c
], [foo.c foo.h foo.output
])
29 AT_CHECK_BISON_FLAGS
([-o foo.tab.c
], [foo.output foo.tab.c foo.tab.h
])
30 AT_CHECK_BISON_FLAGS
([-y], [y.output y.tab.c y.tab.h
])
31 AT_CHECK_BISON_FLAGS
([-b bar
], [bar.output bar.tab.c bar.tab.h
])
32 AT_CHECK_BISON_FLAGS
([-g -o foo.c
], [foo.c foo.h foo.output foo.vcg
])
34 # AT_CHECK_BISON_PERCENT(GRAMMAR-OPTIONS, EXPECTED-FILES-SORTED)
35 # --------------------------------------------------------------
36 AT_DEFINE
([AT_CHECK_BISON_PERCENT
],
37 [AT_SETUP
([Output files
: $1.
])
46 AT_CHECK
([bison foo.y
], 0, ignore
, ignore
)
47 AT_CHECK
([ls $2 | sort | tr '\n' ' ' | sed 's/.$//g'], 0, [$2])
52 # The sames, but using the % directives.
53 AT_CHECK_BISON_PERCENT
([], [foo.output foo.tab.c foo.tab.h
])
54 # AT_CHECK_BISON_PERCENT([%output foo.c], [foo.c foo.h foo.output])
55 # AT_CHECK_BISON_PERCENT([%output foo.tab.c], [foo.output foo.tab.c foo.tab.h])
56 AT_CHECK_BISON_PERCENT
([%yacc], [y.output y.tab.c y.tab.h
])
57 # AT_CHECK_BISON_PERCENT([%file_prefix bar], [bar.output bar.tab.c bar.tab.h])
59 # AT_CHECK_BISON_PERCENT_FLAGS(GRAMMAR_OPTIONS, FLAGS, EXPECTED-FILES-SORTED)
60 # ---------------------------------------------------------------------------
61 AT_DEFINE
([AT_CHECK_BISON_PERCENT_FLAGS
],
62 [AT_SETUP
([Output files
: $1.
])
71 AT_CHECK
([bison foo.yy
$2], 0, ignore
, ignore
)
72 AT_CHECK
([ls $3 | sort | tr '\n' ' ' | sed 's/.$//g'], 0, [$3])
77 # Check priorities of extension control.
78 AT_CHECK_BISON_PERCENT_FLAGS
(
81 [foo.output foo.tab.cc foo.tab.hh
])
82 AT_CHECK_BISON_PERCENT_FLAGS
(
85 [foo.c foo.h foo.output
])
86 AT_CHECK_BISON_PERCENT_FLAGS
(
87 [%source_extension
".cpp"] [%header_extension
".hhh"],
89 [foo.output foo.tab.cpp foo.tab.hhh
])
90 AT_CHECK_BISON_PERCENT_FLAGS
(
91 [%source_extension
".cc"] [%header_extension
".hh"],
93 [foo.c foo.h foo.output
])
96 AT_INCLUDE
([regression.
at])