| ; Check handling of match-time diagnostics for invalid patterns (e.g., |
| ; substitution overflow) in the case of expected patterns (e.g., CHECK) that |
| ; otherwise have no errors. |
| |
| RUN: echo > %t.chk 'CHECK: [[#122+1]] [[STR:abc]] [[#NUM:0x0 - 0x1]]' |
| RUN: echo > %t.in '123 abc -1' |
| |
| ERR-NOT:{{.}} |
| ERR:{{.*}}: error: unable to substitute variable or numeric expression: overflow error |
| ERR-NEXT:CHECK: {{.*}} |
| ERR-NEXT:{{ *}}^ |
| ERR-NEXT:<stdin>:1:1: note: with "122+1" equal to "123" |
| ERR-NEXT:123 abc -1 |
| ERR-NEXT:^ |
| ERR-NEXT:<stdin>:1:3: note: possible intended match here |
| ERR-NEXT:123 abc -1 |
| ERR-NEXT: ^ |
| ERR-NOT:{{error|note|remark|<stdin>}}: |
| |
| DUMP:<<<<<< |
| DUMP-NEXT: 1: 123 abc -1 |
| DUMP-NEXT:check:1'0 X~~~~~~~~~~ error: match failed for invalid pattern |
| DUMP-NEXT:check:1'1 unable to substitute variable or numeric expression: overflow error |
| DUMP-NEXT:check:1'2 with "122+1" equal to "123" |
| DUMP-NEXT:check:1'3 ? possible intended match |
| 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 |