| ; Check handling of match-time diagnostics for invalid patterns (e.g., | |
| ; substitution overflow) in the case of expected patterns (e.g., CHECK) that | |
| ; also have other errors. | |
| RUN: echo > %t.chk \ | |
| RUN: 'CHECK: [[#0x0 - 0x1]] [[UNDEFVAR]]' | |
| RUN: echo > %t.in '-1' | |
| ERR-NOT:{{.}} | |
| ERR:{{.*}}: error: unable to substitute variable or numeric expression: overflow error | |
| ERR-NEXT:CHECK: {{.*}} | |
| ERR-NEXT:{{ *}}^ | |
| ERR-NEXT:{{.*}}: error: undefined variable: UNDEFVAR | |
| ERR-NEXT:{{CHECK: \[\[#0x0 - 0x1\]\] \[\[UNDEFVAR\]\]}} | |
| ERR-NEXT:{{ *}}^ | |
| ERR-NOT:{{error|note|remark|<stdin>}}: | |
| DUMP:<<<<<< | |
| DUMP-NEXT: 1: -1 | |
| DUMP-NEXT:check:1'0 { } search range (exclusive bounds) | |
| DUMP-NEXT:check:1'1 error: match failed for invalid pattern | |
| DUMP-NEXT:check:1'2 unable to substitute variable or numeric expression: overflow error | |
| DUMP-NEXT:check:1'3 undefined variable: UNDEFVAR | |
| DUMP-NEXT:>>>>>> | |
| ;-------------------------------------------------- | |
| ; Check -dump-input=never cases. | |
| ;-------------------------------------------------- | |
| RUN: %ProtectFileCheckOutput \ | |
| RUN: not FileCheck -dump-input=never %t.chk < %t.in 2>&1 \ | |
| RUN: | FileCheck %s -match-full-lines -check-prefixes=ERR | |
| RUN: %ProtectFileCheckOutput \ | |
| RUN: not FileCheck -dump-input=never -v %t.chk < %t.in 2>&1 \ | |
| RUN: | FileCheck %s -match-full-lines -check-prefixes=ERR | |
| RUN: %ProtectFileCheckOutput \ | |
| RUN: not FileCheck -dump-input=never -vv %t.chk < %t.in 2>&1 \ | |
| RUN: | FileCheck %s -match-full-lines -check-prefixes=ERR | |
| ;-------------------------------------------------- | |
| ; Check -dump-input=fail cases. | |
| ;-------------------------------------------------- | |
| RUN: %ProtectFileCheckOutput \ | |
| RUN: not FileCheck -dump-input=fail %t.chk < %t.in 2>&1 \ | |
| RUN: | FileCheck %s -match-full-lines -check-prefixes=ERR,DUMP | |
| RUN: %ProtectFileCheckOutput \ | |
| RUN: not FileCheck -dump-input=fail -v %t.chk < %t.in 2>&1 \ | |
| RUN: | FileCheck %s -match-full-lines -check-prefixes=ERR,DUMP | |
| RUN: %ProtectFileCheckOutput \ | |
| RUN: not FileCheck -dump-input=fail -vv %t.chk < %t.in 2>&1 \ | |
| RUN: | FileCheck %s -match-full-lines -check-prefixes=ERR,DUMP |