; To keep this test maintainable, avoid depending on -dump-input-context's
; default value, which is checked in dump-input-context.txt instead.

;--------------------------------------------------
; Create the input file and the check file.
;--------------------------------------------------

; line 1
; RUN: echo start >  %t.in
; RUN: echo foo0  >> %t.in
; RUN: echo foo1  >> %t.in
; RUN: echo foo2  >> %t.in
; RUN: echo foo3  >> %t.in
; RUN: echo foo4  >> %t.in
; RUN: echo foo5  >> %t.in
; RUN: echo foo6  >> %t.in
; RUN: echo foo7  >> %t.in
; RUN: echo foo8  >> %t.in
; RUN: echo foo9  >> %t.in
; line 12
; RUN: echo hello >> %t.in
; RUN: echo foo0  >> %t.in
; RUN: echo foo1  >> %t.in
; RUN: echo foo2  >> %t.in
; RUN: echo foo3  >> %t.in
; RUN: echo foo4  >> %t.in
; RUN: echo foo5  >> %t.in
; RUN: echo foo6  >> %t.in
; RUN: echo foo7  >> %t.in
; RUN: echo foo8  >> %t.in
; RUN: echo foo9  >> %t.in
; line 23
; RUN: echo word  >> %t.in
; RUN: echo foo0  >> %t.in
; RUN: echo foo1  >> %t.in
; RUN: echo foo2  >> %t.in
; RUN: echo foo3  >> %t.in
; RUN: echo foo4  >> %t.in
; RUN: echo foo5  >> %t.in
; RUN: echo foo6  >> %t.in
; RUN: echo foo7  >> %t.in
; RUN: echo foo8  >> %t.in
; RUN: echo foo9  >> %t.in
; line 34
; RUN: echo end   >> %t.in

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

;--------------------------------------------------
; Directives for checking the dump.
;--------------------------------------------------

;      ALL: <<<<<<
; ALL-NEXT:            1: start
; ALL-NEXT: check:1       ^~~~~
; ALL-NEXT:            2: foo0
; ALL-NEXT:            3: foo1
; ALL-NEXT:            4: foo2
; ALL-NEXT:            5: foo3
; ALL-NEXT:            6: foo4
; ALL-NEXT:            7: foo5
; ALL-NEXT:            8: foo6
; ALL-NEXT:            9: foo7
; ALL-NEXT:           10: foo8
; ALL-NEXT:           11: foo9
; ALL-NEXT:           12: hello
; ALL-NEXT: check:2       ^~~~~
; ALL-NEXT:           13: foo0
; ALL-NEXT: check:3'0     X~~~ error: no match found
; ALL-NEXT:           14: foo1
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           15: foo2
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           16: foo3
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           17: foo4
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           18: foo5
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           19: foo6
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           20: foo7
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           21: foo8
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           22: foo9
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           23: word
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT: check:3'1     ?     possible intended match
; ALL-NEXT:           24: foo0
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           25: foo1
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           26: foo2
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           27: foo3
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           28: foo4
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           29: foo5
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           30: foo6
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           31: foo7
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           32: foo8
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           33: foo9
; ALL-NEXT: check:3'0     ~~~~
; ALL-NEXT:           34: end
; ALL-NEXT: check:3'0     ~~~
; ALL-NEXT: >>>>>>

;      ANNOTATION-FULL: <<<<<<
; ANNOTATION-FULL-NEXT:            1: start
; ANNOTATION-FULL-NEXT: check:1       ^~~~~
; ANNOTATION-FULL-NEXT:            2: foo0
; ANNOTATION-FULL-NEXT:            3: foo1
; ANNOTATION-FULL-NEXT:            .
; ANNOTATION-FULL-NEXT:            .
; ANNOTATION-FULL-NEXT:            .
; ANNOTATION-FULL-NEXT:           10: foo8
; ANNOTATION-FULL-NEXT:           11: foo9
; ANNOTATION-FULL-NEXT:           12: hello
; ANNOTATION-FULL-NEXT: check:2       ^~~~~
; ANNOTATION-FULL-NEXT:           13: foo0
; ANNOTATION-FULL-NEXT: check:3'0     X~~~ error: no match found
; ANNOTATION-FULL-NEXT:           14: foo1
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           15: foo2
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           16: foo3
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           17: foo4
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           18: foo5
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           19: foo6
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           20: foo7
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           21: foo8
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           22: foo9
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           23: word
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT: check:3'1     ?     possible intended match
; ANNOTATION-FULL-NEXT:           24: foo0
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           25: foo1
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           26: foo2
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           27: foo3
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           28: foo4
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           29: foo5
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           30: foo6
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           31: foo7
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           32: foo8
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           33: foo9
; ANNOTATION-FULL-NEXT: check:3'0     ~~~~
; ANNOTATION-FULL-NEXT:           34: end
; ANNOTATION-FULL-NEXT: check:3'0     ~~~
; ANNOTATION-FULL-NEXT: >>>>>>

;      ANNOTATION: <<<<<<
; ANNOTATION-NEXT:            1: start
; ANNOTATION-NEXT: check:1       ^~~~~
; ANNOTATION-NEXT:            2: foo0
; ANNOTATION-NEXT:            3: foo1
; ANNOTATION-NEXT:            .
; ANNOTATION-NEXT:            .
; ANNOTATION-NEXT:            .
; ANNOTATION-NEXT:           10: foo8
; ANNOTATION-NEXT:           11: foo9
; ANNOTATION-NEXT:           12: hello
; ANNOTATION-NEXT: check:2       ^~~~~
; ANNOTATION-NEXT:           13: foo0
; ANNOTATION-NEXT: check:3'0     X~~~ error: no match found
; ANNOTATION-NEXT:           14: foo1
; ANNOTATION-NEXT: check:3'0     ~~~~
; ANNOTATION-NEXT:           15: foo2
; ANNOTATION-NEXT: check:3'0     ~~~~
; ANNOTATION-NEXT:            .
; ANNOTATION-NEXT:            .
; ANNOTATION-NEXT:            .
; ANNOTATION-NEXT:           21: foo8
; ANNOTATION-NEXT: check:3'0     ~~~~
; ANNOTATION-NEXT:           22: foo9
; ANNOTATION-NEXT: check:3'0     ~~~~
; ANNOTATION-NEXT:           23: word
; ANNOTATION-NEXT: check:3'0     ~~~~
; ANNOTATION-NEXT: check:3'1     ?     possible intended match
; ANNOTATION-NEXT:           24: foo0
; ANNOTATION-NEXT: check:3'0     ~~~~
; ANNOTATION-NEXT:           25: foo1
; ANNOTATION-NEXT: check:3'0     ~~~~
; ANNOTATION-NEXT:            .
; ANNOTATION-NEXT:            .
; ANNOTATION-NEXT:            .
; ANNOTATION-NEXT: >>>>>>

;      ERROR: <<<<<<
; ERROR-NEXT:            .
; ERROR-NEXT:            .
; ERROR-NEXT:            .
; ERROR-NEXT:           11: foo9
; ERROR-NEXT:           12: hello
; ERROR-NEXT: check:2       ^~~~~
; ERROR-NEXT:           13: foo0
; ERROR-NEXT: check:3'0     X~~~ error: no match found
; ERROR-NEXT:           14: foo1
; ERROR-NEXT: check:3'0     ~~~~
; ERROR-NEXT:           15: foo2
; ERROR-NEXT: check:3'0     ~~~~
; ERROR-NEXT:            .
; ERROR-NEXT:            .
; ERROR-NEXT:            .
; ERROR-NEXT:           21: foo8
; ERROR-NEXT: check:3'0     ~~~~
; ERROR-NEXT:           22: foo9
; ERROR-NEXT: check:3'0     ~~~~
; ERROR-NEXT:           23: word
; ERROR-NEXT: check:3'0     ~~~~
; ERROR-NEXT: check:3'1     ?     possible intended match
; ERROR-NEXT:           24: foo0
; ERROR-NEXT: check:3'0     ~~~~
; ERROR-NEXT:           25: foo1
; ERROR-NEXT: check:3'0     ~~~~
; ERROR-NEXT:            .
; ERROR-NEXT:            .
; ERROR-NEXT:            .
; ERROR-NEXT: >>>>>>

;--------------------------------------------------
; Check -dump-input-filter=<bad value>.
;--------------------------------------------------

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input-filter=foobar \
; RUN: | FileCheck %s -match-full-lines -check-prefix=BADVAL

BADVAL: {{F|f}}ile{{C|c}}heck{{.*}}: for the --dump-input-filter option: Cannot find option named 'foobar'!

;--------------------------------------------------
; Check -dump-input-filter explicit values.
;--------------------------------------------------

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input-filter=all \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ALL

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input-filter=annotation-full \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ANNOTATION-FULL

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input-filter=annotation \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ANNOTATION

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input-filter=error \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ERROR

;--------------------------------------------------
; Check -dump-input-filter defaults.
;--------------------------------------------------

; no -dump-input => -dump-input-filter=error
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ERROR

; -dump-input=fail => -dump-input-filter=error
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input=fail \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ERROR

; -dump-input=always => -dump-input-filter=all
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input=always \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ALL

;--------------------------------------------------
; Check multiple -dump-input-filter options.
;
; This might occur when a test author specifies -dump-input-filter on a specific
; FileCheck call while a test runner specifies -dump-input-filter in
; FILECHECK_OPTS, but check the behavior generally.
;
; The value providing the most information wins.
;--------------------------------------------------

;- - - - - - - - - - - - - - - - - - - - - - - - -
; Check duplicate.
;- - - - - - - - - - - - - - - - - - - - - - - - -

; all, all => all
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input-filter=all -dump-input-filter=all \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ALL

;- - - - - - - - - - - - - - - - - - - - - - - - -
; Check precedence.
;- - - - - - - - - - - - - - - - - - - - - - - - -

; all, annotation-full => all
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input-filter=all -dump-input-filter=annotation-full \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ALL

; annotation-full, annotation => annotation-full
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input-filter=annotation-full \
; RUN:               -dump-input-filter=annotation \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ANNOTATION-FULL

; annotation, error => annotation
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input-filter=annotation -dump-input-filter=error \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ANNOTATION

;- - - - - - - - - - - - - - - - - - - - - - - - -
; Check that order doesn't matter.
;- - - - - - - - - - - - - - - - - - - - - - - - -

; error, annotation => annotation
; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input-filter=error -dump-input-filter=annotation \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ANNOTATION

;- - - - - - - - - - - - - - - - - - - - - - - - -
; Check that FILECHECK_OPTS isn't handled differently.
;- - - - - - - - - - - - - - - - - - - - - - - - -

; annotation, error => annotation
; RUN: %ProtectFileCheckOutput FILECHECK_OPTS=-dump-input-filter=annotation \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input-filter=error \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ANNOTATION

; error, annotation => annotation
; RUN: %ProtectFileCheckOutput FILECHECK_OPTS=-dump-input-filter=error \
; RUN: not FileCheck -dump-input-context=2 -vv %t.chk < %t.in 2>&1 \
; RUN:               -dump-input-filter=annotation \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=ANNOTATION

;--------------------------------------------------
; Check the case where all input lines are filtered out.
;--------------------------------------------------

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

; RUN: %ProtectFileCheckOutput \
; RUN: FileCheck -dump-input=always -dump-input-filter=error -vv %t.good.chk \
; RUN:           < %t.in 2>&1 \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=EMPTY

;      EMPTY: <<<<<<
; EMPTY-NEXT:          .
; EMPTY-NEXT:          .
; EMPTY-NEXT:          .
; EMPTY-NEXT: >>>>>>

;--------------------------------------------------
; Check that other kinds of errors are included by -dump-input-filter=error.
;
; "error: no match found" and "possible intended match" are checked above.
;--------------------------------------------------

;- - - - - - - - - - - - - - - - - - - - - - - - -
; error: no match expected.
;- - - - - - - - - - - - - - - - - - - - - - - - -

; RUN: echo 'foo'            > %t.not-err.in
; RUN: echo 'CHECK-NOT: foo' > %t.not-err.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=0 -dump-input-filter=error \
; RUN:               %t.not-err.chk < %t.not-err.in 2>&1 \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=NOT-ERR

;      NOT-ERR:        1: foo
; NOT-ERR-NEXT: not:1     !~~ error: no match expected

;- - - - - - - - - - - - - - - - - - - - - - - - -
; error: match on wrong line.
;- - - - - - - - - - - - - - - - - - - - - - - - -

; RUN: echo 'foo'             >  %t.next-err.in
; RUN: echo 'foo'             >> %t.next-err.in
; RUN: echo 'bar'             >> %t.next-err.in
; RUN: echo 'CHECK: foo'      >  %t.next-err.chk
; RUN: echo 'CHECK-NEXT: bar' >> %t.next-err.chk

; RUN: %ProtectFileCheckOutput \
; RUN: not FileCheck -dump-input-context=0 -dump-input-filter=error \
; RUN:               %t.next-err.chk < %t.next-err.in 2>&1 \
; RUN: | FileCheck %s -match-full-lines -check-prefixes=NEXT-ERR

;      NEXT-ERR:         3: bar
; NEXT-ERR-NEXT: next:2     !~~ error: match on wrong line