1 # We're using DEFINE/REDEFINE to help us write tests for DEFINE/REDEFINE.
3 # RUN: echo '-- Available Tests --' > %t.tests.actual.txt
5 # DEFINE: %{my-inputs} = %{inputs}/shtest-define
9 # DEFINE: %{lit-args} =
10 # DEFINE: %{fc-args} =
11 # DEFINE: %{run-test} = \
12 # DEFINE: %{lit-pre} %{lit} -va %{lit-args} %{my-inputs}/%{test} 2>&1 | \
13 # DEFINE: FileCheck -match-full-lines %{fc-args} %{my-inputs}/%{test} \
14 # DEFINE: -dump-input-filter=all -vv -color
15 # DEFINE: %{record-test} = \
16 # DEFINE: echo ' shtest-define :: %{test}' >> %t.tests.actual.txt
17 # DEFINE: %{run-and-record-test} = %{run-test} && %{record-test}
19 # REDEFINE: %{lit-pre} = not
21 # REDEFINE: %{test} = errors/assignment/before-name.txt
22 # RUN: %{run-and-record-test}
23 # REDEFINE: %{test} = errors/assignment/between-name-equals.txt
24 # RUN: %{run-and-record-test}
25 # REDEFINE: %{test} = errors/assignment/braces-empty.txt
26 # RUN: %{run-and-record-test}
27 # REDEFINE: %{test} = errors/assignment/braces-with-dot.txt
28 # RUN: %{run-and-record-test}
29 # REDEFINE: %{test} = errors/assignment/braces-with-equals.txt
30 # RUN: %{run-and-record-test}
31 # REDEFINE: %{test} = errors/assignment/braces-with-newline.txt
32 # RUN: %{run-and-record-test}
33 # REDEFINE: %{test} = errors/assignment/braces-with-number.txt
34 # RUN: %{run-and-record-test}
35 # REDEFINE: %{test} = errors/assignment/braces-with-ws.txt
36 # RUN: %{run-and-record-test}
37 # REDEFINE: %{test} = errors/assignment/empty.txt
38 # RUN: %{run-and-record-test}
39 # REDEFINE: %{test} = errors/assignment/no-equals.txt
40 # RUN: %{run-and-record-test}
41 # REDEFINE: %{test} = errors/assignment/no-name.txt
42 # RUN: %{run-and-record-test}
43 # REDEFINE: %{test} = errors/assignment/ws-only.txt
44 # RUN: %{run-and-record-test}
45 # REDEFINE: %{test} = errors/continuation/empty.txt
46 # RUN: %{run-and-record-test}
47 # REDEFINE: %{test} = errors/continuation/end-in-double-backslash.txt
48 # RUN: %{run-and-record-test}
49 # REDEFINE: %{test} = errors/continuation/unterminated-define-bad-redefine.txt
50 # RUN: %{run-and-record-test}
51 # REDEFINE: %{test} = errors/continuation/unterminated-define-continuation.txt
52 # RUN: %{run-and-record-test}
53 # REDEFINE: %{test} = errors/continuation/unterminated-define-redefine.txt
54 # RUN: %{run-and-record-test}
55 # REDEFINE: %{test} = errors/continuation/unterminated-define-run.txt
56 # RUN: %{run-and-record-test}
57 # REDEFINE: %{test} = errors/continuation/unterminated-define.txt
58 # RUN: %{run-and-record-test}
59 # REDEFINE: %{test} = errors/continuation/unterminated-redefine-bad-define.txt
60 # RUN: %{run-and-record-test}
61 # REDEFINE: %{test} = errors/continuation/unterminated-redefine-continuation.txt
62 # RUN: %{run-and-record-test}
63 # REDEFINE: %{test} = errors/continuation/unterminated-redefine-define.txt
64 # RUN: %{run-and-record-test}
65 # REDEFINE: %{test} = errors/continuation/unterminated-redefine-run.txt
66 # RUN: %{run-and-record-test}
67 # REDEFINE: %{test} = errors/continuation/unterminated-redefine.txt
68 # RUN: %{run-and-record-test}
69 # REDEFINE: %{test} = errors/continuation/unterminated-run-define.txt
70 # RUN: %{run-and-record-test}
71 # REDEFINE: %{test} = errors/continuation/unterminated-run-redefine.txt
72 # RUN: %{run-and-record-test}
73 # REDEFINE: %{test} = errors/continuation/ws-only.txt
74 # RUN: %{run-and-record-test}
75 # REDEFINE: %{test} = errors/defined-check/define-already-by-config.txt
76 # RUN: %{run-and-record-test}
77 # REDEFINE: %{test} = errors/defined-check/define-already-by-test.txt
78 # RUN: %{run-and-record-test}
79 # REDEFINE: %{test} = errors/defined-check/define-inside-pattern.txt
80 # RUN: %{run-and-record-test}
81 # REDEFINE: %{test} = errors/defined-check/define-multiple-exact.txt
82 # RUN: %{run-and-record-test}
83 # REDEFINE: %{test} = errors/defined-check/define-multiple-once-exact.txt
84 # RUN: %{run-and-record-test}
85 # REDEFINE: %{test} = errors/defined-check/define-prefixes-pattern.txt
86 # RUN: %{run-and-record-test}
87 # REDEFINE: %{test} = errors/defined-check/define-suffixes-pattern.txt
88 # RUN: %{run-and-record-test}
89 # REDEFINE: %{test} = errors/defined-check/redefine-inside-pattern.txt
90 # RUN: %{run-and-record-test}
91 # REDEFINE: %{test} = errors/defined-check/redefine-multiple-exact.txt
92 # RUN: %{run-and-record-test}
93 # REDEFINE: %{test} = errors/defined-check/redefine-multiple-once-exact.txt
94 # RUN: %{run-and-record-test}
95 # REDEFINE: %{test} = errors/defined-check/redefine-none.txt
96 # RUN: %{run-and-record-test}
97 # REDEFINE: %{test} = errors/defined-check/redefine-prefixes-pattern.txt
98 # RUN: %{run-and-record-test}
99 # REDEFINE: %{test} = errors/defined-check/redefine-suffixes-pattern.txt
100 # RUN: %{run-and-record-test}
101 # REDEFINE: %{test} = errors/location-range.txt
102 # RUN: %{run-and-record-test}
103 # REDEFINE: %{test} = errors/no-run.txt
104 # RUN: %{run-and-record-test}
106 # REDEFINE: %{lit-pre} =
108 # REDEFINE: %{test} = examples/param-subst.txt
109 # RUN: %{run-and-record-test}
111 # REDEFINE: %{test} = expansion-order.txt
112 # RUN: %{run-and-record-test}
114 # REDEFINE: %{test} = line-number-substitutions.txt
115 # RUN: %{run-and-record-test}
117 # REDEFINE: %{test} = name-chars.txt
118 # RUN: %{run-and-record-test}
120 # REDEFINE: %{test} = recursiveExpansionLimit.txt
122 # REDEFINE: %{fc-args} = -check-prefix=CHECK-NON-RECUR
125 # REDEFINE: %{lit-args} = -Drecur=2
126 # REDEFINE: %{fc-args} = -check-prefix=CHECK-RECUR
129 # RUN: %{record-test}
130 # REDEFINE: %{lit-args} =
131 # REDEFINE: %{fc-args} =
133 # Check that per-test changes to substitutions don't affect other tests in the
134 # same LIT invocation.
136 # RUN: %{lit} -va %{my-inputs}/shared-substs-*.txt 2>&1 | \
137 # RUN: FileCheck -check-prefix=SHARED-SUBSTS -match-full-lines %s
139 # SHARED-SUBSTS: shared-substs-0.txt
140 # SHARED-SUBSTS: GLOBAL: World
141 # SHARED-SUBSTS: LOCAL0: LOCAL0:Hello LOCAL0:World
142 # SHARED-SUBSTS: LOCAL0: subst
144 # SHARED-SUBSTS: shared-substs-1.txt
145 # SHARED-SUBSTS: GLOBAL: World
146 # SHARED-SUBSTS: LOCAL1: LOCAL1:Hello LOCAL1:World
147 # SHARED-SUBSTS: LOCAL1: subst
149 # REDEFINE: %{test} = shared-substs-0.txt
150 # RUN: %{record-test}
151 # REDEFINE: %{test} = shared-substs-1.txt
152 # RUN: %{record-test}
154 # REDEFINE: %{test} = value-equals.txt
155 # RUN: %{run-and-record-test}
157 # REDEFINE: %{test} = value-escaped.txt
158 # RUN: %{run-and-record-test}
160 # REDEFINE: %{fc-args} = -strict-whitespace
161 # REDEFINE: %{test} = ws-and-continuations.txt
162 # RUN: %{run-and-record-test}
163 # REDEFINE: %{fc-args} =
165 # Make sure we didn't forget to run something.
167 # RUN: %{lit} --show-tests %{my-inputs} > %t.tests.expected.txt
168 # RUN: diff -u -w %t.tests.expected.txt %t.tests.actual.txt