;--------------------------------------------------
; 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:' -allow-unused-prefixes

; 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:' -allow-unused-prefixes

; 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:' -allow-unused-prefixes

; 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:' -allow-unused-prefixes

; 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:' -allow-unused-prefixes
; 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:' -allow-unused-prefixes

; 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:' -allow-unused-prefixes

; 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:{{.}}

;--------------------------------------------------
; Substitutions: successful and failed positive directives.
;--------------------------------------------------

; RUN: echo 'def-match1 def-match2'  >  %t.in
; RUN: echo 'def-match1 def-nomatch' >> %t.in

; RUN: echo 'CHECK: [[DEF_MATCH1]] [[DEF_MATCH2]]'            >  %t.chk
; RUN: echo 'CHECK: [[DEF_MATCH1]] [[UNDEF]] [[DEF_NOMATCH]]' >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -vv -input-file=%t.in %t.chk 2>&1 \
; RUN:               -DDEF_MATCH1=def-match1 -DDEF_MATCH2=def-match2 \
; RUN:               -DDEF_NOMATCH=foobar \
; RUN: | FileCheck -match-full-lines %s -check-prefix=SUBST-POS

;      SUBST-POS:<<<<<<
; SUBST-POS-NEXT:           1: def-match1 def-match2
; SUBST-POS-NEXT:check:1'0     ^~~~~~~~~~~~~~~~~~~~~
; SUBST-POS-NEXT:check:1'1                           with "DEF_MATCH1" equal to "def-match1"
; SUBST-POS-NEXT:check:1'2                           with "DEF_MATCH2" equal to "def-match2"
; SUBST-POS-NEXT:           2: def-match1 def-nomatch
; SUBST-POS-NEXT:check:2'0     X~~~~~~~~~~~~~~~~~~~~~ error: no match found
; SUBST-POS-NEXT:check:2'1                            with "DEF_MATCH1" equal to "def-match1"
; SUBST-POS-NEXT:check:2'2                            uses undefined variable(s): "UNDEF"
; SUBST-POS-NEXT:check:2'3                            with "DEF_NOMATCH" equal to "foobar"
; SUBST-POS-NEXT:check:2'4              ?             possible intended match
; SUBST-POS-NEXT:>>>>>>

;--------------------------------------------------
; Substitutions: successful and failed negative directives.
;
; FIXME: The first CHECK-NOT directive below uses an undefined variable.
; Because it therefore cannot match regardless of the input, the directive
; succeeds.  However, it should fail in this case.  Update the example below
; once that's fixed.
;--------------------------------------------------

; RUN: echo 'def-match1 def-nomatch' >  %t.in
; RUN: echo 'def-match1 def-match2'  >> %t.in
; RUN: echo 'END'                    >> %t.in

; RUN: echo 'CHECK-NOT: [[DEF_MATCH1]] [[UNDEF]] [[DEF_NOMATCH]]' >  %t.chk
; RUN: echo 'CHECK-NOT: [[DEF_MATCH1]] [[DEF_MATCH2]]'            >> %t.chk
; RUN: echo 'CHECK: END'                                          >> %t.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input=always -vv -input-file=%t.in %t.chk 2>&1 \
; RUN:               -DDEF_MATCH1=def-match1 -DDEF_MATCH2=def-match2 \
; RUN:               -DDEF_NOMATCH=foobar \
; RUN: | FileCheck -match-full-lines %s -check-prefix=SUBST-NEG

;      SUBST-NEG:<<<<<<
; SUBST-NEG-NEXT:         1: def-match1 def-nomatch
; SUBST-NEG-NEXT:not:1'0     X~~~~~~~~~~~~~~~~~~~~~
; SUBST-NEG-NEXT:not:1'1                            with "DEF_MATCH1" equal to "def-match1"
; SUBST-NEG-NEXT:not:1'2                            uses undefined variable(s): "UNDEF"
; SUBST-NEG-NEXT:not:1'3                            with "DEF_NOMATCH" equal to "foobar"
; SUBST-NEG-NEXT:         2: def-match1 def-match2
; SUBST-NEG-NEXT:not:1'0     ~~~~~~~~~~~~~~~~~~~~~
; SUBST-NEG-NEXT:not:2'0     !~~~~~~~~~~~~~~~~~~~~ error: no match expected
; SUBST-NEG-NEXT:not:2'1                           with "DEF_MATCH1" equal to "def-match1"
; SUBST-NEG-NEXT:not:2'2                           with "DEF_MATCH2" equal to "def-match2"
; SUBST-NEG-NEXT:         3: END
; SUBST-NEG-NEXT:check:3     ^~~
; SUBST-NEG-NEXT:>>>>>>

;--------------------------------------------------
; Captured variables
;--------------------------------------------------

; RUN: echo 'strvar: foo'           >  %t.in
; RUN: echo 'numvar no expr: 51'    >> %t.in
; RUN: echo 'numvar expr: -49'      >> %t.in
; RUN: echo 'many: foo 100 8 bar'   >> %t.in
; RUN: echo 'var in neg match: foo' >> %t.in
; RUN: echo 'END'                   >> %t.in

; RUN: echo 'CHECK: strvar: [[STRVAR:[a-z]+]]'                         >  %t.chk
; RUN: echo 'CHECK: numvar no expr: [[#NUMVAR_NO_EXPR:]]'              >> %t.chk
; RUN: echo 'CHECK: numvar expr: [[#%d,NUMVAR_EXPR:2-NUMVAR_NO_EXPR]]' >> %t.chk

; Capture many variables of different kinds in a different order than their
; names sort alphabetically to ensure they're sorted in capture order.
; RUN: echo 'CHECK: many: [[VAR1:foo]] [[#%d,VAR3:]] [[#VAR2:]] [[VAR4:bar]]' \
; RUN:      >> %t.chk

; RUN: echo 'CHECK-NOT: var in neg match: [[VAR:foo]]' >> %t.chk
; RUN: echo 'CHECK: END'                               >> %t.chk

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

;      CAPTURE-NEG:<<<<<<
; CAPTURE-NEG-NEXT:           1: strvar: foo
; CAPTURE-NEG-NEXT:check:1'0     ^~~~~~~~~~~
; CAPTURE-NEG-NEXT:check:1'1             ^~~ captured var "STRVAR"
; CAPTURE-NEG-NEXT:           2: numvar no expr: 51
; CAPTURE-NEG-NEXT:check:2'0     ^~~~~~~~~~~~~~~~~~
; CAPTURE-NEG-NEXT:check:2'1                     ^~ captured var "NUMVAR_NO_EXPR"
; CAPTURE-NEG-NEXT:           3: numvar expr: -49
; CAPTURE-NEG-NEXT:check:3'0     ^~~~~~~~~~~~~~~~
; CAPTURE-NEG-NEXT:check:3'1                      with "%d,NUMVAR_EXPR:2-NUMVAR_NO_EXPR" equal to "-49"
; CAPTURE-NEG-NEXT:check:3'2                  ^~~ captured var "NUMVAR_EXPR"
; CAPTURE-NEG-NEXT:           4: many: foo 100 8 bar
; CAPTURE-NEG-NEXT:check:4'0     ^~~~~~~~~~~~~~~~~~~
; CAPTURE-NEG-NEXT:check:4'1           ^~~           captured var "VAR1"
; CAPTURE-NEG-NEXT:check:4'2               ^~~       captured var "VAR3"
; CAPTURE-NEG-NEXT:check:4'3                   ^     captured var "VAR2"
; CAPTURE-NEG-NEXT:check:4'4                     ^~~ captured var "VAR4"
; CAPTURE-NEG-NEXT:           5: var in neg match: foo
; CAPTURE-NEG-NEXT:not:5'0       !~~~~~~~~~~~~~~~~~~~~ error: no match expected
; CAPTURE-NEG-NEXT:not:5'1                         !~~ captured var "VAR"
; CAPTURE-NEG-NEXT:           6: END
; CAPTURE-NEG-NEXT:check:6       ^~~
; CAPTURE-NEG-NEXT:>>>>>>

;--------------------------------------------------
; CHECK-NEXT, CHECK-SAME, CHECK-DAG note fixups.
;
; When CHECK-NEXT or CHECK-SAME fails for the wrong line, or when a CHECK-DAG
; match is discarded, the associated diagnostic type must be converted from
; successful to failed or discarded.  However, any note annotation must be
; traversed to find that diagnostic.  We check this behavior here only for
; substitutions, but it's the same mechanism for all note annotations.
;--------------------------------------------------

;- - - - - - - - - - - - - - - - - - - - - - - - -
; CHECK-NEXT.
;- - - - - - - - - - - - - - - - - - - - - - - - -

; RUN: echo 'pre var' > %t.in

; RUN: echo 'CHECK: pre'          >  %t.chk
; RUN: echo 'CHECK-NEXT: [[VAR]]' >> %t.chk

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

;      SUBST_NEXT:<<<<<<
; SUBST_NEXT-NEXT:          1: pre var
; SUBST_NEXT-NEXT:check:1      ^~~
; SUBST_NEXT-NEXT:next:2'0         !~~ error: match on wrong line
; SUBST_NEXT-NEXT:next:2'1             with "VAR" equal to "var"
; SUBST_NEXT-NEXT:>>>>>>

;- - - - - - - - - - - - - - - - - - - - - - - - -
; CHECK-SAME.
;- - - - - - - - - - - - - - - - - - - - - - - - -

; RUN: echo 'pre' >  %t.in
; RUN: echo 'var' >> %t.in

; RUN: echo 'CHECK: pre'          >  %t.chk
; RUN: echo 'CHECK-SAME: [[VAR]]' >> %t.chk

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

;      SUBST_SAME:<<<<<<
; SUBST_SAME-NEXT:          1: pre
; SUBST_SAME-NEXT:check:1      ^~~
; SUBST_SAME-NEXT:          2: var
; SUBST_SAME-NEXT:same:2'0     !~~ error: match on wrong line
; SUBST_SAME-NEXT:same:2'1         with "VAR" equal to "var"
; SUBST_SAME-NEXT:>>>>>>

;- - - - - - - - - - - - - - - - - - - - - - - - -
; CHECK-DAG.
;- - - - - - - - - - - - - - - - - - - - - - - - -

; RUN: echo 'var' >  %t.in
; RUN: echo 'var' >> %t.in
; RUN: echo 'END' >> %t.in

; RUN: echo 'CHECK-DAG: var'      >  %t.chk
; RUN: echo 'CHECK-DAG: [[VAR]]'  >> %t.chk
; RUN: echo 'CHECK: END'          >> %t.chk

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

;      SUBST_DAG:<<<<<<
; SUBST_DAG-NEXT:         1: var
; SUBST_DAG-NEXT:dag:1       ^~~
; SUBST_DAG-NEXT:dag:2'0     !~~ discard: overlaps earlier match
; SUBST_DAG-NEXT:dag:2'1         with "VAR" equal to "var"
; SUBST_DAG-NEXT:         2: var
; SUBST_DAG-NEXT:dag:2'2     ^~~
; SUBST_DAG-NEXT:dag:2'3         with "VAR" equal to "var"
; SUBST_DAG-NEXT:         3: END
; SUBST_DAG-NEXT:check:3     ^~~
; SUBST_DAG-NEXT:>>>>>>
