On Windows, replace each occurrence of '\' by '\\' on the replacement string. This...
authorFrancois Pichet <pichet2000@gmail.com>
Sat, 8 Jan 2011 18:09:48 +0000 (18:09 +0000)
committerFrancois Pichet <pichet2000@gmail.com>
Sat, 8 Jan 2011 18:09:48 +0000 (18:09 +0000)
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

utils/lit/lit/TestRunner.py

index 6430cddf9120fcbed843b786586802899d3b82ec..dba78143bee20c77ff69f6fbf94254ee099a1c44 100644 (file)
@@ -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()