aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancois Pichet <pichet2000@gmail.com>2011-01-08 18:09:48 +0000
committerFrancois Pichet <pichet2000@gmail.com>2011-01-08 18:09:48 +0000
commit7a0be17c087ad7723e0ec65e63f4eb80ce9b5cef (patch)
tree2a4e4d47c32eede5a38d27d37af67ab61478f78d
parent2aa69082310f48162cb732efdc41613391796cd7 (diff)
On Windows, replace each occurrence of '\' by '\\' on the replacement string. This is necessary to prevent re.sub from replacing escape sequences occurring in path.
For example: llvm\tools\clang\test was replaced by llvm <tab> ools\clang <tab> est git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123070 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--utils/lit/lit/TestRunner.py6
1 files changed, 2 insertions, 4 deletions
diff --git a/utils/lit/lit/TestRunner.py b/utils/lit/lit/TestRunner.py
index 6430cddf91..dba78143be 100644
--- a/utils/lit/lit/TestRunner.py
+++ b/utils/lit/lit/TestRunner.py
@@ -451,12 +451,10 @@ def parseIntegratedTestScript(test, normalize_slashes=False):
# expression pattern a with substitution b in line ln.
def processLine(ln):
# Apply substitutions
- # FIXME: Investigate why re.sub doesn't work on Windows
for a,b in substitutions:
if kIsWindows:
- ln = ln.replace(a,b)
- else:
- ln = re.sub(a, b, ln)
+ b = b.replace("\\","\\\\")
+ ln = re.sub(a, b, ln)
# Strip the trailing newline and any extra whitespace.
return ln.strip()