;--------------------------------------------------
; Use -strict-whitespace to check marker and note alignment here.
; (Also check multiline marker where start/end columns vary across lines.)
;
; In the remaining checks, don't use -strict-whitespace and thus check just the
; presence, order, and lengths of markers.  That way, if we ever change padding
; within line labels, we don't have to adjust so many tests.
;--------------------------------------------------

; RUN: echo 'hello world' > %t.in
; RUN: echo 'goodbye' >> %t.in
; RUN: echo 'world' >> %t.in
; RUN: echo 'unicorn' >> %t.in

; RUN: echo 'CHECK: hello' > %t.chk
; RUN: echo 'CHECK: universe' >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -strict-whitespace -match-full-lines -check-prefix=ALIGN \
; RUN:             -implicit-check-not='remark:' %s

; Verbose diagnostics are suppressed but not errors.
; ALIGN:{{.*}}error:{{.*}}
; ALIGN:{{.*}}possible intended match here{{.*}}

; ALIGN:Input was:
; ALIGN-NEXT:<<<<<<
; ALIGN-NEXT:           1: hello world
; ALIGN-NEXT:check:1       ^~~~~
; ALIGN-NEXT:check:2'0           X~~~~ error: no match found
; ALIGN-NEXT:           2: goodbye
; ALIGN-NEXT:check:2'0     ~~~~~~~
; ALIGN-NEXT:           3: world
; ALIGN-NEXT:check:2'0     ~~~~~
; ALIGN-NEXT:           4: unicorn
; ALIGN-NEXT:check:2'0     ~~~~~~~
; ALIGN-NEXT:check:2'1     ?       possible intended match
; ALIGN-NEXT:>>>>>>
; ALIGN-NOT:{{.}}

;--------------------------------------------------
; CHECK (also: multi-line search range, fuzzy match)
;--------------------------------------------------

; Good match and no match.

; RUN: echo 'hello'   > %t.in
; RUN: echo 'again'   >> %t.in
; RUN: echo 'whirled' >> %t.in

; RUN: echo 'CHECK: hello' > %t.chk
; RUN: echo 'CHECK: world' >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefix=CHK \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=CHK,CHK-V \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -vv 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=CHK,CHK-V \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; CHK: {{.*}}error:{{.*}}
; CHK: {{.*}}possible intended match here{{.*}}

; CHK:        <<<<<<
; CHK-NEXT:              1: hello
; CHK-V-NEXT: check:1       ^~~~~
; CHK-NEXT:              2: again
; CHK-NEXT:   check:2'0     X~~~~ error: no match found
; CHK-NEXT:              3: whirled
; CHK-NEXT:   check:2'0     ~~~~~~~
; CHK-NEXT:   check:2'1     ?       possible intended match
; CHK-NEXT:   >>>>>>
; CHK-NOT:    {{.}}

;--------------------------------------------------
; CHECK-COUNT-<num>
;--------------------------------------------------

; Good match and no match.

; RUN: echo 'pete'   > %t.in
; RUN: echo 'repete' >> %t.in
; RUN: echo 'repeat' >> %t.in

; RUN: echo 'CHECK-COUNT-3: pete' > %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=CNT,CNT-Q \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=CNT,CNT-V \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -vv 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=CNT,CNT-V \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; CNT: {{.*}}error:{{.*}}

; CNT:          <<<<<<
; CNT-NEXT:                1: pete
; CNT-V-NEXT:   count:1'0     ^~~~
; CNT-NEXT:                2: repete
; CNT-V-NEXT:   count:1'1       ^~~~
; CNT-NEXT:                3: repeat
; CNT-Q-NEXT:   count:1       X~~~~~ error: no match found
; CNT-V-NEXT:   count:1'2     X~~~~~ error: no match found
; CNT-NEXT:     >>>>>>
; CNT-NOT:      {{.}}

;--------------------------------------------------
; CHECK-NEXT (also: EOF search-range, wrong-line match)
;--------------------------------------------------

; Good match and no match.

; RUN: echo 'hello' > %t.in
; RUN: echo 'again' >> %t.in

; RUN: echo 'CHECK: hello' > %t.chk
; RUN: echo 'CHECK-NEXT: again' >> %t.chk
; RUN: echo 'CHECK-NEXT: world' >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefix=NXT \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=NXT,NXT-V \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -vv 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=NXT,NXT-V,NXT-VV \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; NXT: {{.*}}error:{{.*}}

; NXT:        <<<<<<
; NXT-NEXT:            1: hello
; NXT-V-NEXT: check:1     ^~~~~
; NXT-NEXT:            2: again
; NXT-V-NEXT: next:2      ^~~~~
; NXT-NEXT:            3:
; NXT-NEXT:   next:3      X error: no match found
; NXT-NEXT:   >>>>>>
; NXT-NOT:    {{.}}

; Wrong-line match.

; RUN: echo 'yonder' >> %t.in
; RUN: echo 'world' >> %t.in

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefix=NXT2

; NXT2:      <<<<<<
; NXT2-NEXT:         1: hello
; NXT2-NEXT:         2: again
; NXT2-NEXT:         3: yonder
; NXT2-NEXT:         4: world
; NXT2-NEXT: next:3     !~~~~ error: match on wrong line
; NXT2-NEXT: >>>>>>
; NXT2-NOT:  {{.}}

;--------------------------------------------------
; CHECK-SAME (also: multiple annotations per line, single-char search range,
; wrong-line match)
;--------------------------------------------------

; Good match and no match.

; RUN: echo 'hello world!' > %t.in

; RUN: echo 'CHECK: hello' > %t.chk
; RUN: echo 'CHECK-SAME: world' >> %t.chk
; RUN: echo 'CHECK-SAME: again' >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefix=SAM \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=SAM,SAM-V \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -vv 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=SAM,SAM-V,SAM-VV \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; SAM: {{.*}}error:{{.*}}

; SAM:        <<<<<<
; SAM-NEXT:            1: hello world!
; SAM-V-NEXT: check:1     ^~~~~
; SAM-V-NEXT: same:2            ^~~~~
; SAM-NEXT:   same:3                 X error: no match found
; SAM-NEXT:   >>>>>>
; SAM-NOT:    {{.}}

; Wrong-line match.

; RUN: echo 'again' >> %t.in

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=SAM2 \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; SAM2: {{.*}}error:{{.*}}

; SAM2:      <<<<<<
; SAM2-NEXT:          1: hello world!
; SAM2-NEXT: check:1     ^~~~~
; SAM2-NEXT: same:2            ^~~~~
; SAM2-NEXT:          2: again
; SAM2-NEXT: same:3      !~~~~ error: match on wrong line
; SAM2-NEXT: >>>>>>
; SAM2-NOT:  {{.}}

;--------------------------------------------------
; CHECK-EMPTY (also: search range ends at label, single-char match, wrong-line
; match)
;--------------------------------------------------

; Good match and no match.
;
; CHECK-EMPTY always seems to match an empty line at EOF (illegally when it's
; not the next line) unless either (1) the last line is non-empty and has no
; newline or (2) there's a CHECK-LABEL to end the search range before EOF.  We
; choose scenario 2 to check the case of no match.

; RUN: echo 'hello' > %t.in
; RUN: echo '' >> %t.in
; RUN: echo 'world' >> %t.in
; RUN: echo 'label' >> %t.in

; RUN: echo 'CHECK: hello' > %t.chk
; RUN: echo 'CHECK-EMPTY:' >> %t.chk
; RUN: echo 'CHECK-EMPTY:' >> %t.chk
; RUN: echo 'CHECK-LABEL: label' >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefix=EMP \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=EMP,EMP-V \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -vv 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=EMP,EMP-V,EMP-VV \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; EMP: {{.*}}error:{{.*}}

; EMP:        <<<<<<
; EMP-NEXT:            1: hello
; EMP-V-NEXT: check:1     ^~~~~
; EMP-NEXT:            2:
; EMP-V-NEXT: empty:2     ^
; EMP-NEXT:            3: world
; EMP-NEXT:   empty:3     X~~~~ error: no match found
; EMP-NEXT:            4: label
; EMP-V-NEXT: label:4     ^~~~~
; EMP-NEXT:   empty:3     ~~~~~
; EMP-NEXT:   >>>>>>
; EMP-NOT:    {{.}}

; Wrong-line match.

; RUN: echo 'hello' > %t.in
; RUN: echo 'world' >> %t.in

; RUN: echo 'CHECK: hello' > %t.chk
; RUN: echo 'CHECK-EMPTY:' >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefix=EMP2 \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=EMP2,EMP2-V \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -vv 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=EMP2,EMP2-V,EMP2-VV \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; EMP2: {{.*}}error:{{.*}}

; EMP2:        <<<<<<
; EMP2-NEXT:            1: hello
; EMP2-V-NEXT: check:1     ^~~~~
; EMP2-NEXT:            2: world
; EMP2-NEXT:            3:
; EMP2-NEXT:   empty:2     !     error: match on wrong line
; EMP2-NEXT:   >>>>>>
; EMP2-NOT:    {{.}}

;--------------------------------------------------
; CHECK-NOT (also: EOF pattern, and multiline range that ends before EOL)
;--------------------------------------------------

; No match (success) and unexpected match (error).

; RUN: echo 'hello' > %t.in
; RUN: echo 'world' >> %t.in
; RUN: echo 'again' >> %t.in

; RUN: echo 'CHECK-NOT: goodbye' > %t.chk
; RUN: echo 'CHECK-NOT: world' >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefix=NOT \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=NOT,NOT-V \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -vv 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=NOT,NOT-V,NOT-VV \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; NOT: {{.*}}error:{{.*}}

; NOT:         <<<<<<
; NOT-NEXT:           1: hello
; NOT-VV-NEXT: not:1     X~~~~
; NOT-NEXT:           2: world
; NOT-VV-NEXT: not:1     ~~~~~
; NOT-NEXT:    not:2     !~~~~ error: no match expected
; NOT-NEXT:           3: again
; NOT-VV-NEXT: not:1     ~~~~~
; NOT-VV-NEXT:        4:
; NOT-VV-NEXT: eof:2     ^
; NOT-NEXT:    >>>>>>
; NOT-NOT:     {{.}}

; Again, but with a CHECK instead of EOF as search range end.

; RUN: echo 'CHECK: ain' >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefix=NOT2 \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=NOT2,NOT2-V \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -vv 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=NOT2,NOT2-V,NOT2-VV \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; NOT2: {{.*}}error:{{.*}}

; NOT2:         <<<<<<
; NOT2-NEXT:             1: hello
; NOT2-VV-NEXT: not:1       X~~~~
; NOT2-NEXT:             2: world
; NOT2-VV-NEXT: not:1       ~~~~~
; NOT2-NEXT:    not:2       !~~~~ error: no match expected
; NOT2-NEXT:             3: again
; NOT2-V-NEXT:  check:3       ^~~
; NOT2-VV-NEXT: not:1       ~~
; NOT2-NEXT:    >>>>>>
; NOT2-NOT:     {{.}}

;--------------------------------------------------
; CHECK-DAG (also: matches in different order than directives, discarded match)
;--------------------------------------------------

; Good match, discarded match plus good match, and no match.

; RUN: echo 'abc' > %t.in
; RUN: echo 'def' >> %t.in
; RUN: echo 'abc' >> %t.in

; RUN: echo 'CHECK-DAG: def' > %t.chk
; RUN: echo 'CHECK-DAG: abc' >> %t.chk
; RUN: echo 'CHECK-DAG: abc' >> %t.chk
; RUN: echo 'CHECK-DAG: def' >> %t.chk

; Prefixes used here:
; DAG    = quiet, -v, or -vv
; DAG-Q  = quiet
; DAG-V  = -v or -vv (-vv implies -v)
; DAG-VQ = -v and not -vv
; DAG-VV = -vv

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=DAG,DAG-Q \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=DAG,DAG-V,DAG-VQ \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -vv 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=DAG,DAG-V,DAG-VV \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; DAG: {{.*}}error:{{.*}}

; DAG:         <<<<<<
; DAG-NEXT:             1: abc
; DAG-V-NEXT:  dag:2       ^~~
; DAG-VV-NEXT: dag:3'0     !~~ discard: overlaps earlier match
; DAG-NEXT:             2: def
; DAG-V-NEXT:  dag:1       ^~~
; DAG-VV-NEXT: dag:4'0     !~~ discard: overlaps earlier match
; DAG-NEXT:             3: abc
; DAG-VQ-NEXT: dag:3       ^~~
; DAG-VV-NEXT: dag:3'1     ^~~
; DAG-Q-NEXT:  dag:4       X~~ error: no match found
; DAG-VQ-NEXT: dag:4       X~~ error: no match found
; DAG-VV-NEXT: dag:4'1     X~~ error: no match found
; DAG-NEXT:    >>>>>>
; DAG-NOT:     {{.}}

; Check sorting of annotations when the order of diagnostics across an input
; line is different than the order of the associated directives in the check
; file.  Try cases when diagnostics' input ranges overlap but are not
; identical to check how that affects sorting.

; RUN: echo 'abc def abc def' > %t.in

; RUN: echo 'CHECK-DAG: def' > %t.chk
; RUN: echo 'CHECK-DAG: bc' >> %t.chk
; RUN: echo 'CHECK-DAG: abc' >> %t.chk
; RUN: echo 'CHECK-DAG: de' >> %t.chk
; RUN: echo 'CHECK-DAG: def' >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=DAG1L,DAG1L-Q \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=DAG1L,DAG1L-V,DAG1L-VQ \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -vv 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=DAG1L,DAG1L-V,DAG1L-VV \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; DAG1L:{{.*}}error:{{.*}}

;         DAG1L:<<<<<<
;    DAG1L-NEXT:         1: abc def abc def
;  DAG1L-V-NEXT:dag:1           ^~~
;  DAG1L-V-NEXT:dag:2        ^~
; DAG1L-VV-NEXT:dag:3'0     !~~             discard: overlaps earlier match
; DAG1L-VQ-NEXT:dag:3               ^~~
; DAG1L-VV-NEXT:dag:3'1             ^~~
; DAG1L-VV-NEXT:dag:4'0         !~          discard: overlaps earlier match
; DAG1L-VQ-NEXT:dag:4                   ^~
; DAG1L-VV-NEXT:dag:4'1                 ^~
; DAG1L-VV-NEXT:dag:5'0         !~~         discard: overlaps earlier match
; DAG1L-VV-NEXT:dag:5'1                 !~~ discard: overlaps earlier match
;  DAG1L-Q-NEXT:dag:5                     X error: no match found
; DAG1L-VQ-NEXT:dag:5                     X error: no match found
; DAG1L-VV-NEXT:dag:5'2                   X error: no match found
;    DAG1L-NEXT:>>>>>>
;     DAG1L-NOT:{{.}}

;--------------------------------------------------
; CHECK-LABEL
;
; FIXME: Labels sometimes produce redundant diagnostics for good matches.
; That bug is independent of but affects -dump-input.
;--------------------------------------------------

; Good match and no match.

; RUN: echo 'lab0' > %t.in
; RUN: echo 'foo' >> %t.in
; RUN: echo 'lab1' >> %t.in
; RUN: echo 'bar' >> %t.in

; RUN: echo 'CHECK-LABEL: lab0' > %t.chk
; RUN: echo 'CHECK: foo' >> %t.chk
; RUN: echo 'CHECK-LABEL: lab2' >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=LAB \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -v 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=LAB,LAB-V \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file %t.in %t.chk -vv 2>&1 \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=LAB,LAB-V,LAB-VV \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; LAB: {{.*}}error:{{.*}}
; LAB: {{.*}}possible intended match{{.*}}

; LAB:         <<<<<<
; LAB-NEXT:               1: lab0
; LAB-V-NEXT:  label:1'0     ^~~~
; LAB-V-NEXT:  label:1'1     ^~~~
; LAB-NEXT:               2: foo
; LAB-NEXT:    label:3'0     X~~ error: no match found
; LAB-NEXT:               3: lab1
; LAB-NEXT:    label:3'0     ~~~~
; LAB-NEXT:    label:3'1     ?    possible intended match
; LAB-NEXT:               4: bar
; LAB-NEXT:    label:3'0     ~~~
; LAB-NEXT:    >>>>>>
; LAB-NOT:     {{.}}

;--------------------------------------------------
; --implicit-check-not
;
; The first two --implicit-check-not patterns have no match (success).  The
; third has an unexpected match (error).  To check per-input-line annotation
; sorting, all of those plus the CHECK directives have annotations on the same
; input line.
;--------------------------------------------------

; RUN: echo 'hello world again!' > %t.in

; RUN: echo 'CHECK: hel' > %t.chk
; RUN: echo 'CHECK: wor' >> %t.chk
; RUN: echo 'CHECK: !' >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file=%t.in %t.chk 2>&1 \
; RUN:               --implicit-check-not='goodbye' \
; RUN:               --implicit-check-not='world' \
; RUN:               --implicit-check-not='again' \
; RUN: | FileCheck -match-full-lines %s -check-prefix=IMPNOT \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file=%t.in %t.chk -v 2>&1 \
; RUN:               --implicit-check-not='goodbye' \
; RUN:               --implicit-check-not='world' \
; RUN:               --implicit-check-not='again' \
; RUN: | FileCheck -match-full-lines %s -check-prefixes=IMPNOT,IMPNOT-V \
; RUN:             -implicit-check-not='remark:'
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -input-file=%t.in %t.chk -vv 2>&1 \
; RUN:               --implicit-check-not='goodbye' \
; RUN:               --implicit-check-not='world' \
; RUN:               --implicit-check-not='again' \
; RUN: | FileCheck -match-full-lines %s \
; RUN:             -check-prefixes=IMPNOT,IMPNOT-V,IMPNOT-VV \
; RUN:             -implicit-check-not='remark:'

; Verbose diagnostics are suppressed but not errors.
; IMPNOT:{{.*}}error:{{.*}}

;         IMPNOT:<<<<<<
;    IMPNOT-NEXT:          1: hello world again!
;  IMPNOT-V-NEXT:check:1      ^~~
; IMPNOT-VV-NEXT:not:imp1     X
; IMPNOT-VV-NEXT:not:imp2     X
; IMPNOT-VV-NEXT:not:imp3     X
;  IMPNOT-V-NEXT:check:2            ^~~
; IMPNOT-VV-NEXT:not:imp1        X~~
; IMPNOT-VV-NEXT:not:imp2        X~~
; IMPNOT-VV-NEXT:not:imp3        X~~
;  IMPNOT-V-NEXT:check:3                       ^
; IMPNOT-VV-NEXT:not:imp1              X~~~~~~~
; IMPNOT-VV-NEXT:not:imp2              X~~~~~~~
;    IMPNOT-NEXT:not:imp3                 !~~~~  error: no match expected
;    IMPNOT-NEXT:>>>>>>
;     IMPNOT-NOT:{{.}}
