mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
8b9bd0fa18
Otherwise, if a Lit script contains escaped substitutions (like %%p in this test https://github.com/llvm/llvm-project/blob/master/compiler-rt/test/asan/TestCases/Darwin/asan-symbolize-partial-report-with-module-map.cpp#L10), they are unescaped during recursive application of substitutions, and the results are unexpected. We solve it using the fact that double percent signs are first replaced with #_MARKER_#, and only after all the other substitutions have been applied, #_MARKER_# is replaced with a single percent sign. The only change is that instead of replacing #_MARKER_# at each recursion step, we replace it once after the last recursion step. Differential Revision: https://reviews.llvm.org/D83894
28 lines
1.6 KiB
Python
28 lines
1.6 KiB
Python
# Check that the config.recursiveExpansionLimit is picked up and will cause
|
|
# lit substitutions to be expanded recursively.
|
|
|
|
# RUN: %{lit} -j 1 %{inputs}/shtest-recursive-substitution/substitutes-within-limit --show-all | FileCheck --check-prefix=CHECK-TEST1 %s
|
|
# CHECK-TEST1: PASS: substitutes-within-limit :: test.py
|
|
# CHECK-TEST1: $ "echo" "STOP"
|
|
|
|
# RUN: not %{lit} -j 1 %{inputs}/shtest-recursive-substitution/does-not-substitute-within-limit --show-all | FileCheck --check-prefix=CHECK-TEST2 %s
|
|
# CHECK-TEST2: UNRESOLVED: does-not-substitute-within-limit :: test.py
|
|
# CHECK-TEST2: ValueError: Recursive substitution of
|
|
|
|
# RUN: %{lit} -j 1 %{inputs}/shtest-recursive-substitution/does-not-substitute-no-limit --show-all | FileCheck --check-prefix=CHECK-TEST3 %s
|
|
# CHECK-TEST3: PASS: does-not-substitute-no-limit :: test.py
|
|
# CHECK-TEST3: $ "echo" "%rec4"
|
|
|
|
# RUN: not %{lit} -j 1 %{inputs}/shtest-recursive-substitution/not-an-integer --show-all 2>&1 | FileCheck --check-prefix=CHECK-TEST4 %s
|
|
# CHECK-TEST4: recursiveExpansionLimit must be either None or an integer
|
|
|
|
# RUN: not %{lit} -j 1 %{inputs}/shtest-recursive-substitution/negative-integer --show-all 2>&1 | FileCheck --check-prefix=CHECK-TEST5 %s
|
|
# CHECK-TEST5: recursiveExpansionLimit must be a non-negative integer
|
|
|
|
# RUN: %{lit} -j 1 %{inputs}/shtest-recursive-substitution/set-to-none --show-all | FileCheck --check-prefix=CHECK-TEST6 %s
|
|
# CHECK-TEST6: PASS: set-to-none :: test.py
|
|
|
|
# RUN: %{lit} -j 1 %{inputs}/shtest-recursive-substitution/escaping --show-all | FileCheck --check-prefix=CHECK-TEST7 %s
|
|
# CHECK-TEST7: PASS: escaping :: test.py
|
|
# CHECK-TEST7: $ "echo" "%s" "%s" "%%s"
|