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