1 ; RUN: %ProtectFileCheckOutput \
2 ; RUN: FileCheck --dump-input=never --input-file %s %s 2>&1 | \
3 ; RUN: FileCheck --check-prefix QUIET --allow-empty %s
5 ; RUN: %ProtectFileCheckOutput \
6 ; RUN: FileCheck --dump-input=never -v --input-file %s %s 2>&1 | \
7 ; RUN: FileCheck --strict-whitespace --check-prefix V %s
9 ; RUN: %ProtectFileCheckOutput \
10 ; RUN: FileCheck --dump-input=never -vv --input-file %s %s 2>&1 | \
11 ; RUN: FileCheck --strict-whitespace --check-prefixes V,VV %s
13 ; RUN: %ProtectFileCheckOutput \
14 ; RUN: FileCheck --dump-input=never -v -v --input-file %s %s 2>&1 | \
15 ; RUN: FileCheck --strict-whitespace --check-prefix V %s
17 ; RUN: %ProtectFileCheckOutput \
18 ; RUN: FileCheck --dump-input=never -vv -vv --input-file %s %s 2>&1 | \
19 ; RUN: FileCheck --strict-whitespace --check-prefixes V,VV %s
21 ; RUN: %ProtectFileCheckOutput \
22 ; RUN: FileCheck --dump-input=never -v -vv --input-file %s %s 2>&1 | \
23 ; RUN: FileCheck --strict-whitespace --check-prefixes V,VV %s
25 ; RUN: %ProtectFileCheckOutput \
26 ; RUN: FileCheck --dump-input=never -vv -v --input-file %s %s 2>&1 | \
27 ; RUN: FileCheck --strict-whitespace --check-prefixes V,VV %s
37 V: verbose.txt:[[@LINE-4]]:8: remark: {{C}}HECK: expected string found in input
38 V-NEXT: {{C}}HECK: foo{{$}}
40 V-NEXT: verbose.txt:[[@LINE-9]]:1: note: found here
44 V-NEXT: verbose.txt:[[@LINE-9]]:13: remark: {{C}}HECK-NEXT: expected string found in input
45 V-NEXT: {{C}}HECK-NEXT: bar{{$}}
47 V-NEXT: verbose.txt:[[@LINE-15]]:1: note: found here
51 VV-NEXT: verbose.txt:[[@LINE-17]]:12: remark: {{C}}HECK-NOT: excluded string not found in input
52 VV-NEXT: {{C}}HECK-NOT: raboof{{$}}
54 VV-NEXT: verbose.txt:[[@LINE-23]]:4: note: scanning from here
55 VV-NEXT: {{^}}foo{{$}}
60 CHECK: STRVAR=[[STRVAR:[a-z]+]]
61 CHECK-NEXT: STRVAR:[[STRVAR]]
63 V: verbose.txt:[[#@LINE-3]]:8: remark: {{C}}HECK: expected string found in input
64 V-NEXT: {{C}}HECK: {{STRVAR=\[\[STRVAR:\[a-z\]\+\]\]}}
66 V-NEXT: verbose.txt:[[#@LINE-8]]:1: note: found here
67 V-NEXT: {{^}}STRVAR=foobar{{$}}
68 V-NEXT: {{^}}^~~~~~~~~~~~~{{$}}
69 V-NEXT: verbose.txt:[[#@LINE-11]]:8: note: captured var "STRVAR"
70 V-NEXT: {{^}}STRVAR=foobar{{$}}
71 V-NEXT: {{^}} ^~~~~~{{$}}
73 V-NEXT: verbose.txt:[[#@LINE-12]]:13: remark: {{C}}HECK-NEXT: expected string found in input
74 V-NEXT: {{C}}HECK-NEXT: {{STRVAR:\[\[STRVAR\]\]}}
76 V-NEXT: verbose.txt:[[#@LINE-17]]:1: note: found here
77 V-NEXT: {{^}}STRVAR:foobar{{$}}
78 V-NEXT: {{^}}^~~~~~~~~~~~~{{$}}
79 V-NEXT: verbose.txt:[[#@LINE-20]]:1: note: with "STRVAR" equal to "foobar"
80 V-NEXT: {{^}}STRVAR:foobar{{$}}
85 CHECK: NUMVAR=[[#NUMVAR:]]
86 CHECK-NOT: [[#NUMVAR + 1]]
87 CHECK-NEXT: NUMVAR - 1:[[#NUMVAR - 1]]
89 V: verbose.txt:[[#@LINE-4]]:8: remark: {{C}}HECK: expected string found in input
90 V-NEXT: {{C}}HECK: {{NUMVAR=[[][[]#NUMVAR:[]][]]$}}
92 V-NEXT: verbose.txt:[[#@LINE-9]]:1: note: found here
93 V-NEXT: {{^}}NUMVAR=42{{$}}
94 V-NEXT: {{^}}^~~~~~~~~{{$}}
95 V-NEXT: verbose.txt:[[#@LINE-12]]:8: note: captured var "NUMVAR"
99 V-NEXT: verbose.txt:[[#@LINE-12]]:13: remark: {{C}}HECK-NEXT: expected string found in input
100 V-NEXT: {{C}}HECK-NEXT: {{NUMVAR - 1:[[][[]#NUMVAR - 1[]][]]$}}
102 V-NEXT: verbose.txt:[[#@LINE-18]]:1: note: found here
103 V-NEXT: {{^}}NUMVAR - 1:41{{$}}
104 V-NEXT: {{^}}^~~~~~~~~~~~~{{$}}
105 V-NEXT: verbose.txt:[[#@LINE-21]]:1: note: with "NUMVAR - 1" equal to "41"
106 V-NEXT: {{^}}NUMVAR - 1:41{{$}}
109 VV-NEXT: verbose.txt:[[#@LINE-23]]:12: remark: {{C}}HECK-NOT: excluded string not found in input
110 VV-NEXT: {{C}}HECK-NOT: {{[[][[]#NUMVAR [+] 1[]][]]$}}
111 VV-NEXT: {{^}} ^{{$}}
112 VV-NEXT: verbose.txt:[[#@LINE-29]]:10: note: scanning from here
113 VV-NEXT: {{^}}NUMVAR=42{{$}}
114 VV-NEXT: {{^}} ^{{$}}
121 CHECK-NEXT: after empty
123 V: verbose.txt:[[@LINE-4]]:8: remark: {{C}}HECK: expected string found in input
124 V-NEXT: {{C}}HECK: before empty{{$}}
126 V-NEXT: verbose.txt:[[@LINE-10]]:1: note: found here
127 V-NEXT: {{^}}before empty{{$}}
128 V-NEXT: {{^}}^~~~~~~~~~~~{{$}}
130 V-NEXT: verbose.txt:[[@LINE-10]]:13: remark: {{C}}HECK-EMPTY: expected string found in input
131 V-NEXT: {{C}}HECK-EMPTY:{{$}}
133 V-NEXT: verbose.txt:[[@LINE-16]]:1: note: found here
137 V-NEXT: verbose.txt:[[@LINE-16]]:13: remark: {{C}}HECK-NEXT: expected string found in input
138 V-NEXT: {{C}}HECK-NEXT: after empty{{$}}
140 V-NEXT: verbose.txt:[[@LINE-22]]:1: note: found here
141 V-NEXT: {{^}}after empty{{$}}
142 V-NEXT: {{^}}^~~~~~~~~~~{{$}}
149 V-NEXT: verbose.txt:[[@LINE-3]]:12: remark: {{C}}HECK-DAG: expected string found in input
150 V-NEXT: {{C}}HECK-DAG: abcdef
152 V-NEXT: verbose.txt:[[@LINE-8]]:1: note: found here
153 V-NEXT: {{^}}abcdef{{$}}
154 V-NEXT: {{^}}^~~~~~{{$}}
156 VV-NEXT: verbose.txt:[[@LINE-9]]:12: remark: {{C}}HECK-DAG: expected string found in input
157 VV-NEXT: {{C}}HECK-DAG: def
158 VV-NEXT: {{^}} ^{{$}}
159 VV-NEXT: verbose.txt:[[@LINE-15]]:4: note: found here
160 VV-NEXT: {{^abcdef$}}
162 VV-NEXT: verbose.txt:[[@LINE-18]]:1: note: match discarded, overlaps earlier DAG match here
163 VV-NEXT: {{^}}abcdef{{$}}
164 VV-NEXT: {{^}}^~~~~~{{$}}
166 V-NEXT: verbose.txt:[[@LINE-19]]:12: remark: {{C}}HECK-DAG: expected string found in input
167 V-NEXT: {{C}}HECK-DAG: def
169 V-NEXT: verbose.txt:[[@LINE-24]]:4: note: found here
177 V: verbose.txt:[[@LINE-3]]:8: remark: {{C}}HECK: expected string found in input
178 V-NEXT: {{C}}HECK: xyz{{$}}
180 V-NEXT: verbose.txt:[[@LINE-7]]:1: note: found here
181 V-NEXT: {{^}}xyz{{$}}
182 V-NEXT: {{^}}^~~{{$}}
184 VV-NEXT: verbose.txt:[[@LINE-9]]:19: remark: implicit EOF: expected string found in input
185 VV-NEXT: {{C}}HECK-NOT: {{[{][{]z[}][}]yx$}}
186 VV-NEXT: {{^}} ^{{$}}
187 VV-NEXT: verbose.txt:[[@LINE+13]]:1: note: found here
191 VV-NEXT: verbose.txt:[[@LINE-16]]:12: remark: {{C}}HECK-NOT: excluded string not found in input
192 VV-NEXT: {{C}}HECK-NOT: {{[{][{]z[}][}]yx$}}
193 VV-NEXT: {{^}} ^{{$}}
194 VV-NEXT: verbose.txt:[[@LINE-21]]:4: note: scanning from here
195 VV-NEXT: {{^}}xyz{{$}}
196 VV-NEXT: {{^}} ^{{$}}