xref: /llvm-project/llvm/utils/lit/tests/shtest-define.py (revision f223022a4c521296a6d058862d66443ab9e355bf)
128412d18SJoel E. Denny# We're using DEFINE/REDEFINE to help us write tests for DEFINE/REDEFINE.
228412d18SJoel E. Denny
328412d18SJoel E. Denny# RUN: echo '-- Available Tests --' > %t.tests.actual.txt
428412d18SJoel E. Denny
528412d18SJoel E. Denny# DEFINE: %{my-inputs} = %{inputs}/shtest-define
628412d18SJoel E. Denny
728412d18SJoel E. Denny# DEFINE: %{test} =
828412d18SJoel E. Denny# DEFINE: %{lit-pre} =
928412d18SJoel E. Denny# DEFINE: %{lit-args} =
1028412d18SJoel E. Denny# DEFINE: %{fc-args} =
1128412d18SJoel E. Denny# DEFINE: %{run-test} =                                                        \
1228412d18SJoel E. Denny# DEFINE:   %{lit-pre} %{lit} -va  %{lit-args} %{my-inputs}/%{test} 2>&1 |     \
13387924b3SJoel E. Denny# DEFINE:     FileCheck -match-full-lines %{fc-args} %{my-inputs}/%{test}      \
14387924b3SJoel E. Denny# DEFINE:               -dump-input-filter=all -vv -color
1528412d18SJoel E. Denny# DEFINE: %{record-test} =                                                     \
1628412d18SJoel E. Denny# DEFINE:   echo '  shtest-define :: %{test}' >> %t.tests.actual.txt
1728412d18SJoel E. Denny# DEFINE: %{run-and-record-test} = %{run-test} && %{record-test}
1828412d18SJoel E. Denny
1928412d18SJoel E. Denny# REDEFINE: %{lit-pre} = not
2028412d18SJoel E. Denny#
2128412d18SJoel E. Denny# REDEFINE: %{test} = errors/assignment/before-name.txt
2228412d18SJoel E. Denny# RUN: %{run-and-record-test}
2328412d18SJoel E. Denny# REDEFINE: %{test} = errors/assignment/between-name-equals.txt
2428412d18SJoel E. Denny# RUN: %{run-and-record-test}
2528412d18SJoel E. Denny# REDEFINE: %{test} = errors/assignment/braces-empty.txt
2628412d18SJoel E. Denny# RUN: %{run-and-record-test}
2728412d18SJoel E. Denny# REDEFINE: %{test} = errors/assignment/braces-with-dot.txt
2828412d18SJoel E. Denny# RUN: %{run-and-record-test}
2928412d18SJoel E. Denny# REDEFINE: %{test} = errors/assignment/braces-with-equals.txt
3028412d18SJoel E. Denny# RUN: %{run-and-record-test}
3128412d18SJoel E. Denny# REDEFINE: %{test} = errors/assignment/braces-with-newline.txt
3228412d18SJoel E. Denny# RUN: %{run-and-record-test}
3328412d18SJoel E. Denny# REDEFINE: %{test} = errors/assignment/braces-with-number.txt
3428412d18SJoel E. Denny# RUN: %{run-and-record-test}
3528412d18SJoel E. Denny# REDEFINE: %{test} = errors/assignment/braces-with-ws.txt
3628412d18SJoel E. Denny# RUN: %{run-and-record-test}
3728412d18SJoel E. Denny# REDEFINE: %{test} = errors/assignment/empty.txt
3828412d18SJoel E. Denny# RUN: %{run-and-record-test}
3928412d18SJoel E. Denny# REDEFINE: %{test} = errors/assignment/no-equals.txt
4028412d18SJoel E. Denny# RUN: %{run-and-record-test}
4128412d18SJoel E. Denny# REDEFINE: %{test} = errors/assignment/no-name.txt
4228412d18SJoel E. Denny# RUN: %{run-and-record-test}
4328412d18SJoel E. Denny# REDEFINE: %{test} = errors/assignment/ws-only.txt
4428412d18SJoel E. Denny# RUN: %{run-and-record-test}
4528412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/empty.txt
4628412d18SJoel E. Denny# RUN: %{run-and-record-test}
4728412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/end-in-double-backslash.txt
4828412d18SJoel E. Denny# RUN: %{run-and-record-test}
4928412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/unterminated-define-bad-redefine.txt
5028412d18SJoel E. Denny# RUN: %{run-and-record-test}
5128412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/unterminated-define-continuation.txt
5228412d18SJoel E. Denny# RUN: %{run-and-record-test}
5328412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/unterminated-define-redefine.txt
5428412d18SJoel E. Denny# RUN: %{run-and-record-test}
5528412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/unterminated-define-run.txt
5628412d18SJoel E. Denny# RUN: %{run-and-record-test}
5728412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/unterminated-define.txt
5828412d18SJoel E. Denny# RUN: %{run-and-record-test}
5928412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/unterminated-redefine-bad-define.txt
6028412d18SJoel E. Denny# RUN: %{run-and-record-test}
6128412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/unterminated-redefine-continuation.txt
6228412d18SJoel E. Denny# RUN: %{run-and-record-test}
6328412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/unterminated-redefine-define.txt
6428412d18SJoel E. Denny# RUN: %{run-and-record-test}
6528412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/unterminated-redefine-run.txt
6628412d18SJoel E. Denny# RUN: %{run-and-record-test}
6728412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/unterminated-redefine.txt
6828412d18SJoel E. Denny# RUN: %{run-and-record-test}
6928412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/unterminated-run-define.txt
7028412d18SJoel E. Denny# RUN: %{run-and-record-test}
7128412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/unterminated-run-redefine.txt
7228412d18SJoel E. Denny# RUN: %{run-and-record-test}
7328412d18SJoel E. Denny# REDEFINE: %{test} = errors/continuation/ws-only.txt
7428412d18SJoel E. Denny# RUN: %{run-and-record-test}
7528412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/define-already-by-config.txt
7628412d18SJoel E. Denny# RUN: %{run-and-record-test}
7728412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/define-already-by-test.txt
7828412d18SJoel E. Denny# RUN: %{run-and-record-test}
7928412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/define-inside-pattern.txt
8028412d18SJoel E. Denny# RUN: %{run-and-record-test}
8128412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/define-multiple-exact.txt
8228412d18SJoel E. Denny# RUN: %{run-and-record-test}
8328412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/define-multiple-once-exact.txt
8428412d18SJoel E. Denny# RUN: %{run-and-record-test}
8528412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/define-prefixes-pattern.txt
8628412d18SJoel E. Denny# RUN: %{run-and-record-test}
8728412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/define-suffixes-pattern.txt
8828412d18SJoel E. Denny# RUN: %{run-and-record-test}
8928412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/redefine-inside-pattern.txt
9028412d18SJoel E. Denny# RUN: %{run-and-record-test}
9128412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/redefine-multiple-exact.txt
9228412d18SJoel E. Denny# RUN: %{run-and-record-test}
9328412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/redefine-multiple-once-exact.txt
9428412d18SJoel E. Denny# RUN: %{run-and-record-test}
9528412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/redefine-none.txt
9628412d18SJoel E. Denny# RUN: %{run-and-record-test}
9728412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/redefine-prefixes-pattern.txt
9828412d18SJoel E. Denny# RUN: %{run-and-record-test}
9928412d18SJoel E. Denny# REDEFINE: %{test} = errors/defined-check/redefine-suffixes-pattern.txt
10028412d18SJoel E. Denny# RUN: %{run-and-record-test}
10128412d18SJoel E. Denny# REDEFINE: %{test} = errors/location-range.txt
10228412d18SJoel E. Denny# RUN: %{run-and-record-test}
10328412d18SJoel E. Denny# REDEFINE: %{test} = errors/no-run.txt
10428412d18SJoel E. Denny# RUN: %{run-and-record-test}
10528412d18SJoel E. Denny#
10628412d18SJoel E. Denny# REDEFINE: %{lit-pre} =
10728412d18SJoel E. Denny
10828412d18SJoel E. Denny# REDEFINE: %{test} = examples/param-subst.txt
10928412d18SJoel E. Denny# RUN: %{run-and-record-test}
11028412d18SJoel E. Denny
11128412d18SJoel E. Denny# REDEFINE: %{test} = expansion-order.txt
11228412d18SJoel E. Denny# RUN: %{run-and-record-test}
11328412d18SJoel E. Denny
11428412d18SJoel E. Denny# REDEFINE: %{test} = line-number-substitutions.txt
11528412d18SJoel E. Denny# RUN: %{run-and-record-test}
11628412d18SJoel E. Denny
11728412d18SJoel E. Denny# REDEFINE: %{test} = name-chars.txt
11828412d18SJoel E. Denny# RUN: %{run-and-record-test}
11928412d18SJoel E. Denny
12028412d18SJoel E. Denny# REDEFINE: %{test} = recursiveExpansionLimit.txt
12128412d18SJoel E. Denny#
12228412d18SJoel E. Denny# REDEFINE: %{fc-args} = -check-prefix=CHECK-NON-RECUR
12328412d18SJoel E. Denny# RUN: %{run-test}
12428412d18SJoel E. Denny#
12528412d18SJoel E. Denny# REDEFINE: %{lit-args} = -Drecur=2
12628412d18SJoel E. Denny# REDEFINE: %{fc-args} = -check-prefix=CHECK-RECUR
12728412d18SJoel E. Denny# RUN: %{run-test}
12828412d18SJoel E. Denny#
12928412d18SJoel E. Denny# RUN: %{record-test}
13028412d18SJoel E. Denny# REDEFINE: %{lit-args} =
13128412d18SJoel E. Denny# REDEFINE: %{fc-args} =
13228412d18SJoel E. Denny
13328412d18SJoel E. Denny# Check that per-test changes to substitutions don't affect other tests in the
13428412d18SJoel E. Denny# same LIT invocation.
13528412d18SJoel E. Denny#
13628412d18SJoel E. Denny# RUN: %{lit} -va %{my-inputs}/shared-substs-*.txt 2>&1 |                      \
13728412d18SJoel E. Denny# RUN:   FileCheck -check-prefix=SHARED-SUBSTS -match-full-lines %s
13828412d18SJoel E. Denny#
139*f223022aSJoel E. Denny# SHARED-SUBSTS:# | shared-substs-0.txt
140*f223022aSJoel E. Denny# SHARED-SUBSTS:# | GLOBAL: World
141*f223022aSJoel E. Denny# SHARED-SUBSTS:# | LOCAL0: LOCAL0:Hello LOCAL0:World
142*f223022aSJoel E. Denny# SHARED-SUBSTS:# | LOCAL0: subst
14328412d18SJoel E. Denny#
144*f223022aSJoel E. Denny# SHARED-SUBSTS:# | shared-substs-1.txt
145*f223022aSJoel E. Denny# SHARED-SUBSTS:# | GLOBAL: World
146*f223022aSJoel E. Denny# SHARED-SUBSTS:# | LOCAL1: LOCAL1:Hello LOCAL1:World
147*f223022aSJoel E. Denny# SHARED-SUBSTS:# | LOCAL1: subst
14828412d18SJoel E. Denny#
14928412d18SJoel E. Denny# REDEFINE: %{test} = shared-substs-0.txt
15028412d18SJoel E. Denny# RUN: %{record-test}
15128412d18SJoel E. Denny# REDEFINE: %{test} = shared-substs-1.txt
15228412d18SJoel E. Denny# RUN: %{record-test}
15328412d18SJoel E. Denny
15428412d18SJoel E. Denny# REDEFINE: %{test} = value-equals.txt
15528412d18SJoel E. Denny# RUN: %{run-and-record-test}
15628412d18SJoel E. Denny
15728412d18SJoel E. Denny# REDEFINE: %{test} = value-escaped.txt
15828412d18SJoel E. Denny# RUN: %{run-and-record-test}
15928412d18SJoel E. Denny
16028412d18SJoel E. Denny# REDEFINE: %{fc-args} = -strict-whitespace
16128412d18SJoel E. Denny# REDEFINE: %{test} = ws-and-continuations.txt
16228412d18SJoel E. Denny# RUN: %{run-and-record-test}
16328412d18SJoel E. Denny# REDEFINE: %{fc-args} =
16428412d18SJoel E. Denny
16528412d18SJoel E. Denny# Make sure we didn't forget to run something.
16628412d18SJoel E. Denny#
16728412d18SJoel E. Denny# RUN: %{lit} --show-tests %{my-inputs} > %t.tests.expected.txt
16888f183c0SJoel E. Denny# RUN: diff -u -w %t.tests.expected.txt %t.tests.actual.txt
169