blob: a8109d8dcdd4c06d7c446fec5d4fa3c606c7b586 [file] [edit]
; 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:1: note: pattern attempts to capture variables: "STR", "NUM"
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 { } 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 with "122+1" equal to "123"
DUMP-NEXT:check:1'4 pattern attempts to capture variables: "STR", "NUM"
DUMP-NEXT:check:1'5 ? 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