169 lines · python
1# We're using DEFINE/REDEFINE to help us write tests for DEFINE/REDEFINE.2 3# RUN: echo '-- Available Tests --' > %t.tests.actual.txt4 5# DEFINE: %{my-inputs} = %{inputs}/shtest-define6 7# DEFINE: %{test} =8# DEFINE: %{lit-pre} =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 -color15# DEFINE: %{record-test} = \16# DEFINE: echo ' shtest-define :: %{test}' >> %t.tests.actual.txt17# DEFINE: %{run-and-record-test} = %{run-test} && %{record-test}18 19# REDEFINE: %{lit-pre} = not20#21# REDEFINE: %{test} = errors/assignment/before-name.txt22# RUN: %{run-and-record-test}23# REDEFINE: %{test} = errors/assignment/between-name-equals.txt24# RUN: %{run-and-record-test}25# REDEFINE: %{test} = errors/assignment/braces-empty.txt26# RUN: %{run-and-record-test}27# REDEFINE: %{test} = errors/assignment/braces-with-dot.txt28# RUN: %{run-and-record-test}29# REDEFINE: %{test} = errors/assignment/braces-with-equals.txt30# RUN: %{run-and-record-test}31# REDEFINE: %{test} = errors/assignment/braces-with-newline.txt32# RUN: %{run-and-record-test}33# REDEFINE: %{test} = errors/assignment/braces-with-number.txt34# RUN: %{run-and-record-test}35# REDEFINE: %{test} = errors/assignment/braces-with-ws.txt36# RUN: %{run-and-record-test}37# REDEFINE: %{test} = errors/assignment/empty.txt38# RUN: %{run-and-record-test}39# REDEFINE: %{test} = errors/assignment/no-equals.txt40# RUN: %{run-and-record-test}41# REDEFINE: %{test} = errors/assignment/no-name.txt42# RUN: %{run-and-record-test}43# REDEFINE: %{test} = errors/assignment/ws-only.txt44# RUN: %{run-and-record-test}45# REDEFINE: %{test} = errors/continuation/empty.txt46# RUN: %{run-and-record-test}47# REDEFINE: %{test} = errors/continuation/end-in-double-backslash.txt48# RUN: %{run-and-record-test}49# REDEFINE: %{test} = errors/continuation/unterminated-define-bad-redefine.txt50# RUN: %{run-and-record-test}51# REDEFINE: %{test} = errors/continuation/unterminated-define-continuation.txt52# RUN: %{run-and-record-test}53# REDEFINE: %{test} = errors/continuation/unterminated-define-redefine.txt54# RUN: %{run-and-record-test}55# REDEFINE: %{test} = errors/continuation/unterminated-define-run.txt56# RUN: %{run-and-record-test}57# REDEFINE: %{test} = errors/continuation/unterminated-define.txt58# RUN: %{run-and-record-test}59# REDEFINE: %{test} = errors/continuation/unterminated-redefine-bad-define.txt60# RUN: %{run-and-record-test}61# REDEFINE: %{test} = errors/continuation/unterminated-redefine-continuation.txt62# RUN: %{run-and-record-test}63# REDEFINE: %{test} = errors/continuation/unterminated-redefine-define.txt64# RUN: %{run-and-record-test}65# REDEFINE: %{test} = errors/continuation/unterminated-redefine-run.txt66# RUN: %{run-and-record-test}67# REDEFINE: %{test} = errors/continuation/unterminated-redefine.txt68# RUN: %{run-and-record-test}69# REDEFINE: %{test} = errors/continuation/unterminated-run-define.txt70# RUN: %{run-and-record-test}71# REDEFINE: %{test} = errors/continuation/unterminated-run-redefine.txt72# RUN: %{run-and-record-test}73# REDEFINE: %{test} = errors/continuation/ws-only.txt74# RUN: %{run-and-record-test}75# REDEFINE: %{test} = errors/defined-check/define-already-by-config.txt76# RUN: %{run-and-record-test}77# REDEFINE: %{test} = errors/defined-check/define-already-by-test.txt78# RUN: %{run-and-record-test}79# REDEFINE: %{test} = errors/defined-check/define-inside-pattern.txt80# RUN: %{run-and-record-test}81# REDEFINE: %{test} = errors/defined-check/define-multiple-exact.txt82# RUN: %{run-and-record-test}83# REDEFINE: %{test} = errors/defined-check/define-multiple-once-exact.txt84# RUN: %{run-and-record-test}85# REDEFINE: %{test} = errors/defined-check/define-prefixes-pattern.txt86# RUN: %{run-and-record-test}87# REDEFINE: %{test} = errors/defined-check/define-suffixes-pattern.txt88# RUN: %{run-and-record-test}89# REDEFINE: %{test} = errors/defined-check/redefine-inside-pattern.txt90# RUN: %{run-and-record-test}91# REDEFINE: %{test} = errors/defined-check/redefine-multiple-exact.txt92# RUN: %{run-and-record-test}93# REDEFINE: %{test} = errors/defined-check/redefine-multiple-once-exact.txt94# RUN: %{run-and-record-test}95# REDEFINE: %{test} = errors/defined-check/redefine-none.txt96# RUN: %{run-and-record-test}97# REDEFINE: %{test} = errors/defined-check/redefine-prefixes-pattern.txt98# RUN: %{run-and-record-test}99# REDEFINE: %{test} = errors/defined-check/redefine-suffixes-pattern.txt100# RUN: %{run-and-record-test}101# REDEFINE: %{test} = errors/location-range.txt102# RUN: %{run-and-record-test}103# REDEFINE: %{test} = errors/no-run.txt104# RUN: %{run-and-record-test}105#106# REDEFINE: %{lit-pre} =107 108# REDEFINE: %{test} = examples/param-subst.txt109# RUN: %{run-and-record-test}110 111# REDEFINE: %{test} = expansion-order.txt112# RUN: %{run-and-record-test}113 114# REDEFINE: %{test} = line-number-substitutions.txt115# RUN: %{run-and-record-test}116 117# REDEFINE: %{test} = name-chars.txt118# RUN: %{run-and-record-test}119 120# REDEFINE: %{test} = recursiveExpansionLimit.txt121#122# REDEFINE: %{fc-args} = -check-prefix=CHECK-NON-RECUR123# RUN: %{run-test}124#125# REDEFINE: %{lit-args} = -Drecur=2126# REDEFINE: %{fc-args} = -check-prefix=CHECK-RECUR127# RUN: %{run-test}128#129# RUN: %{record-test}130# REDEFINE: %{lit-args} =131# REDEFINE: %{fc-args} =132 133# Check that per-test changes to substitutions don't affect other tests in the134# same LIT invocation.135#136# RUN: %{lit} -va %{my-inputs}/shared-substs-*.txt 2>&1 | \137# RUN: FileCheck -check-prefix=SHARED-SUBSTS -match-full-lines %s138#139# SHARED-SUBSTS:# | shared-substs-0.txt140# SHARED-SUBSTS:# | GLOBAL: World141# SHARED-SUBSTS:# | LOCAL0: LOCAL0:Hello LOCAL0:World142# SHARED-SUBSTS:# | LOCAL0: subst143#144# SHARED-SUBSTS:# | shared-substs-1.txt145# SHARED-SUBSTS:# | GLOBAL: World146# SHARED-SUBSTS:# | LOCAL1: LOCAL1:Hello LOCAL1:World147# SHARED-SUBSTS:# | LOCAL1: subst148#149# REDEFINE: %{test} = shared-substs-0.txt150# RUN: %{record-test}151# REDEFINE: %{test} = shared-substs-1.txt152# RUN: %{record-test}153 154# REDEFINE: %{test} = value-equals.txt155# RUN: %{run-and-record-test}156 157# REDEFINE: %{test} = value-escaped.txt158# RUN: %{run-and-record-test}159 160# REDEFINE: %{fc-args} = -strict-whitespace161# REDEFINE: %{test} = ws-and-continuations.txt162# RUN: %{run-and-record-test}163# REDEFINE: %{fc-args} =164 165# Make sure we didn't forget to run something.166#167# RUN: %{lit} --show-tests %{my-inputs} > %t.tests.expected.txt168# RUN: diff -u -w %t.tests.expected.txt %t.tests.actual.txt169