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
This commit is contained in:
Francois Pichet 2011-01-08 18:09:48 +00:00
parent 2aa6908231
commit 7a0be17c08

View 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()