blob: a9395dc5cba0e382e4c0ce439a661f08e7a93521 [file] [log] [blame]
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +00001; RUN: llvm-rc /V %p/Inputs/parser-correct-everything.rc | FileCheck %s --check-prefix PGOOD
2
3; PGOOD: Icon (meh): "hello.bmp"
4; PGOOD-NEXT: Icon (Icon): "Icon"
5; PGOOD-NEXT: Language: 5, Sublanguage: 12
6; PGOOD-NEXT: StringTable:
7; PGOOD-NEXT: Option: Language: 1, Sublanguage: 1
8; PGOOD-NEXT: Option: Characteristics: 500
9; PGOOD-NEXT: Option: Language: 3, Sublanguage: 4
10; PGOOD-NEXT: Option: Version: 14
11; PGOOD-NEXT: 1 => "hello"
12; PGOOD-NEXT: 2 => "world"
13; PGOOD-NEXT: StringTable:
Marek Sokolowski72aa9372017-08-28 21:59:54 +000014; PGOOD-NEXT: HTML (500): "index.html"
15; PGOOD-NEXT: Cursor (Name): "hello.ico"
Marek Sokolowski7f110522017-08-28 22:58:31 +000016; PGOOD-NEXT: Accelerators (12):
17; PGOOD-NEXT: Option: Version: 5000
18; PGOOD-NEXT: Option: Language: 0, Sublanguage: 2
19; PGOOD-NEXT: Accelerator: "^C" 10
20; PGOOD-NEXT: Accelerator: 14 11
21; PGOOD-NEXT: Accelerator: 5 12 VIRTKEY
22; PGOOD-NEXT: Accelerator: 0 0 ASCII
23; PGOOD-NEXT: Accelerator: 1 1 VIRTKEY CONTROL
24; PGOOD-NEXT: Accelerator: 2 2 VIRTKEY CONTROL
25; PGOOD-NEXT: Accelerator: 3 3 ASCII VIRTKEY NOINVERT ALT SHIFT CONTROL
Marek Sokolowski99ecb0e2017-08-28 23:46:30 +000026; PGOOD-NEXT: Menu (LLVMTest):
27; PGOOD-NEXT: Option: Language: 4, Sublanguage: 1
28; PGOOD-NEXT: Menu list starts
29; PGOOD-NEXT: Popup ("&OneMenu"):
30; PGOOD-NEXT: Menu list starts
31; PGOOD-NEXT: Popup ("Menu&1"):
32; PGOOD-NEXT: Menu list starts
33; PGOOD-NEXT: MenuItem ("Item&1"), ID = 301 CHECKED MENUBREAK
34; PGOOD-NEXT: MenuItem ("Item&2"), ID = 302 CHECKED MENUBARBREAK
35; PGOOD-NEXT: MenuItem ("Item&3"), ID = 303 HELP INACTIVE MENUBREAK
36; PGOOD-NEXT: MenuItem ("Item&4"), ID = 304 GRAYED
37; PGOOD-NEXT: Menu list ends
38; PGOOD-NEXT: Popup ("Menu&2"):
39; PGOOD-NEXT: Menu list starts
40; PGOOD-NEXT: MenuItem ("&A"), ID = 401
41; PGOOD-NEXT: MenuItem ("&B"), ID = 402
42; PGOOD-NEXT: Menu list ends
43; PGOOD-NEXT: Menu list ends
44; PGOOD-NEXT: Popup ("&Items"):
45; PGOOD-NEXT: Menu list starts
46; PGOOD-NEXT: MenuItem ("&Row"), ID = 500
47; PGOOD-NEXT: MenuItem ("&Column"), ID = 501 CHECKED
48; PGOOD-NEXT: Menu separator
49; PGOOD-NEXT: MenuItem ("&Word"), ID = 502
50; PGOOD-NEXT: Menu list ends
51; PGOOD-NEXT: Menu list ends
Marek Sokolowski4ac54d92017-08-29 16:49:59 +000052; PGOOD-NEXT: DialogEx (14): loc: (50, 60), size: [10, 20], help ID: 500
53; PGOOD-NEXT: Option: Language: 1, Sublanguage: 2
54; PGOOD-NEXT: Option: Characteristics: 50
55; PGOOD-NEXT: Option: Version: 100
56; PGOOD-NEXT: Option: Font: size = 12, face = "Arial"
57; PGOOD-NEXT: Option: Caption: "RC parser dialog"
58; PGOOD-NEXT: Option: Style: 332340
59; PGOOD-NEXT: Control (14): LTEXT, title: "Hello world!", loc: (20, 20), size: [50, 50]
60; PGOOD-NEXT: Control (50): RTEXT, title: "Heh", loc: (51, 52), size: [53, 54], style: 55, ext. style: 56
61; PGOOD-NEXT: Control (1): CTEXT, title: "Muuuu", loc: (2, 3), size: [4, 5], style: 6, ext. style: 7, help ID: 8
62; PGOOD-NEXT: Control (1): PUSHBUTTON, title: "Muuuu", loc: (2, 3), size: [4, 5], style: 6, ext. style: 7, help ID: 8
63; PGOOD-NEXT: Control (1): DEFPUSHBUTTON, title: "Muuuu", loc: (2, 3), size: [4, 5], style: 6
64; PGOOD-NEXT: Control (5): EDITTEXT, title: , loc: (1, 2), size: [4, 7], style: 8
65; PGOOD-NEXT: Dialog (25): loc: (1, 2), size: [3, 4], help ID: 0
66; PGOOD-NEXT: DialogEx (26): loc: (1, 2), size: [3, 4], help ID: 0
Marek Sokolowskifb74cb12017-09-28 22:41:38 +000067; PGOOD-NEXT: VersionInfo (1):
68; PGOOD-NEXT: Fixed: FILEVERSION: 1 2 3 4
69; PGOOD-NEXT: Fixed: PRODUCTVERSION: 5 6 7 8
70; PGOOD-NEXT: Fixed: FILEFLAGSMASK: 50
71; PGOOD-NEXT: Fixed: FILEFLAGS: 555
72; PGOOD-NEXT: Fixed: FILEOS: 110
73; PGOOD-NEXT: Fixed: FILETYPE: 555555
74; PGOOD-NEXT: Fixed: FILESUBTYPE: 14
75; PGOOD-NEXT: Start of block (name: )
76; PGOOD-NEXT: Start of block (name: "StringFileInfo")
77; PGOOD-NEXT: Start of block (name: "040904E4")
78; PGOOD-NEXT: "CompanyName" => "a"
79; PGOOD-NEXT: "FileDescription" => "b"
80; PGOOD-NEXT: "FileVersion" => "c"
81; PGOOD-NEXT: "InternalName" => "d"
82; PGOOD-NEXT: "LegalCopyright" => "e"
83; PGOOD-NEXT: "LegalTrademarks1" => "f"
84; PGOOD-NEXT: "LegalTrademarks2" => "g"
85; PGOOD-NEXT: "OriginalFilename" => L"h"
86; PGOOD-NEXT: "ProductName" => "ii" 2 3
87; PGOOD-NEXT: "ProductVersion" =>
88; PGOOD-NEXT: End of block
89; PGOOD-NEXT: End of block
90; PGOOD-NEXT: Start of block (name: "VarFileInfo")
91; PGOOD-NEXT: "Translation" => 1033 1252
92; PGOOD-NEXT: End of block
93; PGOOD-NEXT: End of block
Marek Sokolowskib5f39a02017-09-29 00:14:18 +000094; PGOOD-NEXT: User-defined (type: MYTYPE, name: MYNAME): "filename"
95; PGOOD-NEXT: User-defined (type: 600, name: 500): "other filename"
96; PGOOD-NEXT: User-defined (type: INTEGERS, name: HELLO): data = 1 2 3 4
97; PGOOD-NEXT: User-defined (type: STRINGS, name: HELLO): data = "1" "2" "3" "4"
98; PGOOD-NEXT: User-defined (type: MIXED, name: 4): data = 1 "2" 3 "4"
99
Marek Sokolowskifb74cb12017-09-28 22:41:38 +0000100
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000101
102
Marek Sokolowski72aa9372017-08-28 21:59:54 +0000103; RUN: not llvm-rc /V %p/Inputs/parser-stringtable-no-string.rc 2>&1 | FileCheck %s --check-prefix PSTRINGTABLE1
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000104
105; PSTRINGTABLE1: llvm-rc: Error parsing file: expected string, got }
106
107
Marek Sokolowski72aa9372017-08-28 21:59:54 +0000108; RUN: not llvm-rc /V %p/Inputs/parser-stringtable-weird-option.rc 2>&1 | FileCheck %s --check-prefix PSTRINGTABLE2
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000109
110; PSTRINGTABLE2: llvm-rc: Error parsing file: expected optional statement type, BEGIN or '{', got NONSENSETYPE
111
112
Marek Sokolowski72aa9372017-08-28 21:59:54 +0000113; RUN: not llvm-rc /V %p/Inputs/parser-eof.rc 2>&1 | FileCheck %s --check-prefix PEOF
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000114
Marek Sokolowski7e89ee72017-09-28 23:53:25 +0000115; PEOF: llvm-rc: Error parsing file: expected '-', '~', integer or '(', got <EOF>
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000116
117
Marek Sokolowski72aa9372017-08-28 21:59:54 +0000118; RUN: not llvm-rc /V %p/Inputs/parser-no-characteristics-arg.rc 2>&1 | FileCheck %s --check-prefix PCHARACTERISTICS1
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000119
Marek Sokolowski7e89ee72017-09-28 23:53:25 +0000120; PCHARACTERISTICS1: llvm-rc: Error parsing file: expected '-', '~', integer or '(', got BEGIN
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000121
122
Marek Sokolowski72aa9372017-08-28 21:59:54 +0000123; RUN: not llvm-rc /V %p/Inputs/parser-nonsense-token.rc 2>&1 | FileCheck %s --check-prefix PNONSENSE1
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000124
125; PNONSENSE1: llvm-rc: Error parsing file: expected int or identifier, got &
126
127
Marek Sokolowski72aa9372017-08-28 21:59:54 +0000128; RUN: not llvm-rc /V %p/Inputs/parser-nonsense-type.rc 2>&1 | FileCheck %s --check-prefix PNONSENSE2
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000129
Marek Sokolowskib5f39a02017-09-29 00:14:18 +0000130; PNONSENSE2: llvm-rc: Error parsing file: expected filename, '{' or BEGIN, got <EOF>
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000131
132
Marek Sokolowski72aa9372017-08-28 21:59:54 +0000133; RUN: not llvm-rc /V %p/Inputs/parser-nonsense-type-eof.rc 2>&1 | FileCheck %s --check-prefix PNONSENSE3
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000134
135; PNONSENSE3: llvm-rc: Error parsing file: expected int or identifier, got <EOF>
136
137
Marek Sokolowski72aa9372017-08-28 21:59:54 +0000138; RUN: not llvm-rc /V %p/Inputs/parser-language-no-comma.rc 2>&1 | FileCheck %s --check-prefix PLANGUAGE1
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000139
140; PLANGUAGE1: llvm-rc: Error parsing file: expected ',', got 7
141
142
Marek Sokolowski72aa9372017-08-28 21:59:54 +0000143; RUN: not llvm-rc /V %p/Inputs/parser-language-too-many-commas.rc 2>&1 | FileCheck %s --check-prefix PLANGUAGE2
Marek Sokolowski5cd3d5c2017-08-18 18:24:17 +0000144
Marek Sokolowski7e89ee72017-09-28 23:53:25 +0000145; PLANGUAGE2: llvm-rc: Error parsing file: expected '-', '~', integer or '(', got ,
Marek Sokolowski72aa9372017-08-28 21:59:54 +0000146
147
148; RUN: not llvm-rc /V %p/Inputs/parser-html-bad-string.rc 2>&1 | FileCheck %s --check-prefix PHTML1
149
150; PHTML1: llvm-rc: Error parsing file: expected string, got ThisPassesInTheOriginalToolButDocSaysItShouldBeQuoted
151
152
153; RUN: not llvm-rc /V %p/Inputs/parser-html-extra-comma.rc 2>&1 | FileCheck %s --check-prefix PHTML2
154
155; PHTML2: llvm-rc: Error parsing file: expected string, got ,
Marek Sokolowski7f110522017-08-28 22:58:31 +0000156
157
158; RUN: not llvm-rc /V %p/Inputs/parser-accelerators-bad-flag.rc 2>&1 | FileCheck %s --check-prefix PACCELERATORS1
159
160; PACCELERATORS1: llvm-rc: Error parsing file: expected ASCII/VIRTKEY/NOINVERT/ALT/SHIFT/CONTROL, got HELLO
161
162
163; RUN: not llvm-rc /V %p/Inputs/parser-accelerators-bad-int-or-string.rc 2>&1 | FileCheck %s --check-prefix PACCELERATORS2
164
165; PACCELERATORS2: llvm-rc: Error parsing file: expected int or string, got NotIntOrString
166
167
168; RUN: not llvm-rc /V %p/Inputs/parser-accelerators-no-comma.rc 2>&1 | FileCheck %s --check-prefix PACCELERATORS3
169
170; PACCELERATORS3: llvm-rc: Error parsing file: expected int or string, got CONTROL
171
172
173; RUN: not llvm-rc /V %p/Inputs/parser-accelerators-no-comma-2.rc 2>&1 | FileCheck %s --check-prefix PACCELERATORS4
174
175; PACCELERATORS4: llvm-rc: Error parsing file: expected ',', got 10
Marek Sokolowski99ecb0e2017-08-28 23:46:30 +0000176
177
178; RUN: not llvm-rc /V %p/Inputs/parser-menu-bad-id.rc 2>&1 | FileCheck %s --check-prefix PMENU1
179
Marek Sokolowski7e89ee72017-09-28 23:53:25 +0000180; PMENU1: llvm-rc: Error parsing file: expected '-', '~', integer or '(', got A
Marek Sokolowski99ecb0e2017-08-28 23:46:30 +0000181
182
183; RUN: not llvm-rc /V %p/Inputs/parser-menu-bad-flag.rc 2>&1 | FileCheck %s --check-prefix PMENU2
184
185; PMENU2: llvm-rc: Error parsing file: expected CHECKED/GRAYED/HELP/INACTIVE/MENUBARBREAK/MENUBREAK, got ERRONEOUS
186
187
188; RUN: not llvm-rc /V %p/Inputs/parser-menu-missing-block.rc 2>&1 | FileCheck %s --check-prefix PMENU3
189
190; PMENU3: llvm-rc: Error parsing file: expected '{', got POPUP
191
192
193; RUN: not llvm-rc /V %p/Inputs/parser-menu-misspelled-separator.rc 2>&1 | FileCheck %s --check-prefix PMENU4
194
195; PMENU4: llvm-rc: Error parsing file: expected SEPARATOR or string, got NOTSEPARATOR
Marek Sokolowski4ac54d92017-08-29 16:49:59 +0000196
197
198; RUN: not llvm-rc /V %p/Inputs/parser-dialog-cant-give-helpid.rc 2>&1 | FileCheck %s --check-prefix PDIALOG1
199
200; PDIALOG1: llvm-rc: Error parsing file: expected identifier, got ,
201
202
203; RUN: not llvm-rc /V %p/Inputs/parser-dialog-too-few-args.rc 2>&1 | FileCheck %s --check-prefix PDIALOG2
204
205; PDIALOG2: llvm-rc: Error parsing file: expected ',', got }
206
207
208; RUN: not llvm-rc /V %p/Inputs/parser-dialog-too-many-args.rc 2>&1 | FileCheck %s --check-prefix PDIALOG3
209
210; PDIALOG3: llvm-rc: Error parsing file: expected identifier, got ,
211
212
213; RUN: not llvm-rc /V %p/Inputs/parser-dialog-unknown-type.rc 2>&1 | FileCheck %s --check-prefix PDIALOG4
214
215; PDIALOG4: llvm-rc: Error parsing file: expected control type, END or '}', got UNKNOWN
216
217
218; RUN: not llvm-rc /V %p/Inputs/parser-dialog-unnecessary-string.rc 2>&1 | FileCheck %s --check-prefix PDIALOG5
219
Marek Sokolowski7e89ee72017-09-28 23:53:25 +0000220; PDIALOG5: llvm-rc: Error parsing file: expected '-', '~', integer or '(', got "This shouldn't be here"
Marek Sokolowskifb74cb12017-09-28 22:41:38 +0000221
222
223; RUN: not llvm-rc /V %p/Inputs/parser-versioninfo-wrong-fixed.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO1
224
225; PVERSIONINFO1: llvm-rc: Error parsing file: expected fixed VERSIONINFO statement type, got WEIRDFIXED
226
227
228; RUN: not llvm-rc /V %p/Inputs/parser-versioninfo-named-main-block.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO2
229
230; PVERSIONINFO2: llvm-rc: Error parsing file: expected fixed VERSIONINFO statement type, got BLOCK
231
232
233; RUN: not llvm-rc /V %p/Inputs/parser-versioninfo-unnamed-inner-block.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO3
234
235; PVERSIONINFO3: llvm-rc: Error parsing file: expected string, got {
236
237
238; RUN: not llvm-rc /V %p/Inputs/parser-versioninfo-unnamed-value.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO4
239
240; PVERSIONINFO4: llvm-rc: Error parsing file: expected string, got END
241
242
243; RUN: not llvm-rc /V %p/Inputs/parser-versioninfo-bad-type.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO5
244
245; PVERSIONINFO5: llvm-rc: Error parsing file: expected BLOCK or VALUE, got INCORRECT
246
247
248; RUN: not llvm-rc /V %p/Inputs/parser-versioninfo-repeated-fixed.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO6
249
250; PVERSIONINFO6: llvm-rc: Error parsing file: expected yet unread fixed VERSIONINFO statement type, got FILEVERSION
Marek Sokolowskib5f39a02017-09-29 00:14:18 +0000251
252
253; RUN: not llvm-rc /V %p/Inputs/parser-user-invalid-contents.rc 2>&1 | FileCheck %s --check-prefix PUSER1
254
255; PUSER1: llvm-rc: Error parsing file: expected int or string, got InvalidToken