Marek Sokolowski | 5cd3d5c | 2017-08-18 18:24:17 +0000 | [diff] [blame] | 1 | ; 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 Sokolowski | 72aa937 | 2017-08-28 21:59:54 +0000 | [diff] [blame] | 14 | ; PGOOD-NEXT: HTML (500): "index.html" |
| 15 | ; PGOOD-NEXT: Cursor (Name): "hello.ico" |
Marek Sokolowski | 7f11052 | 2017-08-28 22:58:31 +0000 | [diff] [blame] | 16 | ; 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 Sokolowski | 99ecb0e | 2017-08-28 23:46:30 +0000 | [diff] [blame] | 26 | ; 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 Sokolowski | 4ac54d9 | 2017-08-29 16:49:59 +0000 | [diff] [blame] | 52 | ; 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 Sokolowski | fb74cb1 | 2017-09-28 22:41:38 +0000 | [diff] [blame^] | 67 | ; 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 |
| 94 | |
Marek Sokolowski | 5cd3d5c | 2017-08-18 18:24:17 +0000 | [diff] [blame] | 95 | |
| 96 | |
Marek Sokolowski | 72aa937 | 2017-08-28 21:59:54 +0000 | [diff] [blame] | 97 | ; RUN: not llvm-rc /V %p/Inputs/parser-stringtable-no-string.rc 2>&1 | FileCheck %s --check-prefix PSTRINGTABLE1 |
Marek Sokolowski | 5cd3d5c | 2017-08-18 18:24:17 +0000 | [diff] [blame] | 98 | |
| 99 | ; PSTRINGTABLE1: llvm-rc: Error parsing file: expected string, got } |
| 100 | |
| 101 | |
Marek Sokolowski | 72aa937 | 2017-08-28 21:59:54 +0000 | [diff] [blame] | 102 | ; RUN: not llvm-rc /V %p/Inputs/parser-stringtable-weird-option.rc 2>&1 | FileCheck %s --check-prefix PSTRINGTABLE2 |
Marek Sokolowski | 5cd3d5c | 2017-08-18 18:24:17 +0000 | [diff] [blame] | 103 | |
| 104 | ; PSTRINGTABLE2: llvm-rc: Error parsing file: expected optional statement type, BEGIN or '{', got NONSENSETYPE |
| 105 | |
| 106 | |
Marek Sokolowski | 72aa937 | 2017-08-28 21:59:54 +0000 | [diff] [blame] | 107 | ; RUN: not llvm-rc /V %p/Inputs/parser-eof.rc 2>&1 | FileCheck %s --check-prefix PEOF |
Marek Sokolowski | 5cd3d5c | 2017-08-18 18:24:17 +0000 | [diff] [blame] | 108 | |
| 109 | ; PEOF: llvm-rc: Error parsing file: expected integer, got <EOF> |
| 110 | |
| 111 | |
Marek Sokolowski | 72aa937 | 2017-08-28 21:59:54 +0000 | [diff] [blame] | 112 | ; RUN: not llvm-rc /V %p/Inputs/parser-no-characteristics-arg.rc 2>&1 | FileCheck %s --check-prefix PCHARACTERISTICS1 |
Marek Sokolowski | 5cd3d5c | 2017-08-18 18:24:17 +0000 | [diff] [blame] | 113 | |
| 114 | ; PCHARACTERISTICS1: llvm-rc: Error parsing file: expected integer, got BEGIN |
| 115 | |
| 116 | |
Marek Sokolowski | 72aa937 | 2017-08-28 21:59:54 +0000 | [diff] [blame] | 117 | ; RUN: not llvm-rc /V %p/Inputs/parser-nonsense-token.rc 2>&1 | FileCheck %s --check-prefix PNONSENSE1 |
Marek Sokolowski | 5cd3d5c | 2017-08-18 18:24:17 +0000 | [diff] [blame] | 118 | |
| 119 | ; PNONSENSE1: llvm-rc: Error parsing file: expected int or identifier, got & |
| 120 | |
| 121 | |
Marek Sokolowski | 72aa937 | 2017-08-28 21:59:54 +0000 | [diff] [blame] | 122 | ; RUN: not llvm-rc /V %p/Inputs/parser-nonsense-type.rc 2>&1 | FileCheck %s --check-prefix PNONSENSE2 |
Marek Sokolowski | 5cd3d5c | 2017-08-18 18:24:17 +0000 | [diff] [blame] | 123 | |
| 124 | ; PNONSENSE2: llvm-rc: Error parsing file: expected resource type, got WORLD |
| 125 | |
| 126 | |
Marek Sokolowski | 72aa937 | 2017-08-28 21:59:54 +0000 | [diff] [blame] | 127 | ; RUN: not llvm-rc /V %p/Inputs/parser-nonsense-type-eof.rc 2>&1 | FileCheck %s --check-prefix PNONSENSE3 |
Marek Sokolowski | 5cd3d5c | 2017-08-18 18:24:17 +0000 | [diff] [blame] | 128 | |
| 129 | ; PNONSENSE3: llvm-rc: Error parsing file: expected int or identifier, got <EOF> |
| 130 | |
| 131 | |
Marek Sokolowski | 72aa937 | 2017-08-28 21:59:54 +0000 | [diff] [blame] | 132 | ; RUN: not llvm-rc /V %p/Inputs/parser-language-no-comma.rc 2>&1 | FileCheck %s --check-prefix PLANGUAGE1 |
Marek Sokolowski | 5cd3d5c | 2017-08-18 18:24:17 +0000 | [diff] [blame] | 133 | |
| 134 | ; PLANGUAGE1: llvm-rc: Error parsing file: expected ',', got 7 |
| 135 | |
| 136 | |
Marek Sokolowski | 72aa937 | 2017-08-28 21:59:54 +0000 | [diff] [blame] | 137 | ; RUN: not llvm-rc /V %p/Inputs/parser-language-too-many-commas.rc 2>&1 | FileCheck %s --check-prefix PLANGUAGE2 |
Marek Sokolowski | 5cd3d5c | 2017-08-18 18:24:17 +0000 | [diff] [blame] | 138 | |
| 139 | ; PLANGUAGE2: llvm-rc: Error parsing file: expected integer, got , |
Marek Sokolowski | 72aa937 | 2017-08-28 21:59:54 +0000 | [diff] [blame] | 140 | |
| 141 | |
| 142 | ; RUN: not llvm-rc /V %p/Inputs/parser-html-bad-string.rc 2>&1 | FileCheck %s --check-prefix PHTML1 |
| 143 | |
| 144 | ; PHTML1: llvm-rc: Error parsing file: expected string, got ThisPassesInTheOriginalToolButDocSaysItShouldBeQuoted |
| 145 | |
| 146 | |
| 147 | ; RUN: not llvm-rc /V %p/Inputs/parser-html-extra-comma.rc 2>&1 | FileCheck %s --check-prefix PHTML2 |
| 148 | |
| 149 | ; PHTML2: llvm-rc: Error parsing file: expected string, got , |
Marek Sokolowski | 7f11052 | 2017-08-28 22:58:31 +0000 | [diff] [blame] | 150 | |
| 151 | |
| 152 | ; RUN: not llvm-rc /V %p/Inputs/parser-accelerators-bad-flag.rc 2>&1 | FileCheck %s --check-prefix PACCELERATORS1 |
| 153 | |
| 154 | ; PACCELERATORS1: llvm-rc: Error parsing file: expected ASCII/VIRTKEY/NOINVERT/ALT/SHIFT/CONTROL, got HELLO |
| 155 | |
| 156 | |
| 157 | ; RUN: not llvm-rc /V %p/Inputs/parser-accelerators-bad-int-or-string.rc 2>&1 | FileCheck %s --check-prefix PACCELERATORS2 |
| 158 | |
| 159 | ; PACCELERATORS2: llvm-rc: Error parsing file: expected int or string, got NotIntOrString |
| 160 | |
| 161 | |
| 162 | ; RUN: not llvm-rc /V %p/Inputs/parser-accelerators-no-comma.rc 2>&1 | FileCheck %s --check-prefix PACCELERATORS3 |
| 163 | |
| 164 | ; PACCELERATORS3: llvm-rc: Error parsing file: expected int or string, got CONTROL |
| 165 | |
| 166 | |
| 167 | ; RUN: not llvm-rc /V %p/Inputs/parser-accelerators-no-comma-2.rc 2>&1 | FileCheck %s --check-prefix PACCELERATORS4 |
| 168 | |
| 169 | ; PACCELERATORS4: llvm-rc: Error parsing file: expected ',', got 10 |
Marek Sokolowski | 99ecb0e | 2017-08-28 23:46:30 +0000 | [diff] [blame] | 170 | |
| 171 | |
| 172 | ; RUN: not llvm-rc /V %p/Inputs/parser-menu-bad-id.rc 2>&1 | FileCheck %s --check-prefix PMENU1 |
| 173 | |
| 174 | ; PMENU1: llvm-rc: Error parsing file: expected integer, got A |
| 175 | |
| 176 | |
| 177 | ; RUN: not llvm-rc /V %p/Inputs/parser-menu-bad-flag.rc 2>&1 | FileCheck %s --check-prefix PMENU2 |
| 178 | |
| 179 | ; PMENU2: llvm-rc: Error parsing file: expected CHECKED/GRAYED/HELP/INACTIVE/MENUBARBREAK/MENUBREAK, got ERRONEOUS |
| 180 | |
| 181 | |
| 182 | ; RUN: not llvm-rc /V %p/Inputs/parser-menu-missing-block.rc 2>&1 | FileCheck %s --check-prefix PMENU3 |
| 183 | |
| 184 | ; PMENU3: llvm-rc: Error parsing file: expected '{', got POPUP |
| 185 | |
| 186 | |
| 187 | ; RUN: not llvm-rc /V %p/Inputs/parser-menu-misspelled-separator.rc 2>&1 | FileCheck %s --check-prefix PMENU4 |
| 188 | |
| 189 | ; PMENU4: llvm-rc: Error parsing file: expected SEPARATOR or string, got NOTSEPARATOR |
Marek Sokolowski | 4ac54d9 | 2017-08-29 16:49:59 +0000 | [diff] [blame] | 190 | |
| 191 | |
| 192 | ; RUN: not llvm-rc /V %p/Inputs/parser-dialog-cant-give-helpid.rc 2>&1 | FileCheck %s --check-prefix PDIALOG1 |
| 193 | |
| 194 | ; PDIALOG1: llvm-rc: Error parsing file: expected identifier, got , |
| 195 | |
| 196 | |
| 197 | ; RUN: not llvm-rc /V %p/Inputs/parser-dialog-too-few-args.rc 2>&1 | FileCheck %s --check-prefix PDIALOG2 |
| 198 | |
| 199 | ; PDIALOG2: llvm-rc: Error parsing file: expected ',', got } |
| 200 | |
| 201 | |
| 202 | ; RUN: not llvm-rc /V %p/Inputs/parser-dialog-too-many-args.rc 2>&1 | FileCheck %s --check-prefix PDIALOG3 |
| 203 | |
| 204 | ; PDIALOG3: llvm-rc: Error parsing file: expected identifier, got , |
| 205 | |
| 206 | |
| 207 | ; RUN: not llvm-rc /V %p/Inputs/parser-dialog-unknown-type.rc 2>&1 | FileCheck %s --check-prefix PDIALOG4 |
| 208 | |
| 209 | ; PDIALOG4: llvm-rc: Error parsing file: expected control type, END or '}', got UNKNOWN |
| 210 | |
| 211 | |
| 212 | ; RUN: not llvm-rc /V %p/Inputs/parser-dialog-unnecessary-string.rc 2>&1 | FileCheck %s --check-prefix PDIALOG5 |
| 213 | |
| 214 | ; PDIALOG5: llvm-rc: Error parsing file: expected integer, got "This shouldn't be here" |
Marek Sokolowski | fb74cb1 | 2017-09-28 22:41:38 +0000 | [diff] [blame^] | 215 | |
| 216 | |
| 217 | ; RUN: not llvm-rc /V %p/Inputs/parser-versioninfo-wrong-fixed.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO1 |
| 218 | |
| 219 | ; PVERSIONINFO1: llvm-rc: Error parsing file: expected fixed VERSIONINFO statement type, got WEIRDFIXED |
| 220 | |
| 221 | |
| 222 | ; RUN: not llvm-rc /V %p/Inputs/parser-versioninfo-named-main-block.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO2 |
| 223 | |
| 224 | ; PVERSIONINFO2: llvm-rc: Error parsing file: expected fixed VERSIONINFO statement type, got BLOCK |
| 225 | |
| 226 | |
| 227 | ; RUN: not llvm-rc /V %p/Inputs/parser-versioninfo-unnamed-inner-block.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO3 |
| 228 | |
| 229 | ; PVERSIONINFO3: llvm-rc: Error parsing file: expected string, got { |
| 230 | |
| 231 | |
| 232 | ; RUN: not llvm-rc /V %p/Inputs/parser-versioninfo-unnamed-value.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO4 |
| 233 | |
| 234 | ; PVERSIONINFO4: llvm-rc: Error parsing file: expected string, got END |
| 235 | |
| 236 | |
| 237 | ; RUN: not llvm-rc /V %p/Inputs/parser-versioninfo-bad-type.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO5 |
| 238 | |
| 239 | ; PVERSIONINFO5: llvm-rc: Error parsing file: expected BLOCK or VALUE, got INCORRECT |
| 240 | |
| 241 | |
| 242 | ; RUN: not llvm-rc /V %p/Inputs/parser-versioninfo-repeated-fixed.rc 2>&1 | FileCheck %s --check-prefix PVERSIONINFO6 |
| 243 | |
| 244 | ; PVERSIONINFO6: llvm-rc: Error parsing file: expected yet unread fixed VERSIONINFO statement type, got FILEVERSION |