MultiTestRunner: Oops, clang wasn't being substituted properly. This is why the
cxx-using-declaration test case started exhibiting different behavior. It still
needs to be fixed, however...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77066 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/test/TestRunner.py b/utils/test/TestRunner.py
index 84964c8..3b2b5eb 100755
--- a/utils/test/TestRunner.py
+++ b/utils/test/TestRunner.py
@@ -132,13 +132,26 @@
index = ln.index('RUN:')
ln = ln[index+4:]
- # Strip whitespace and append.
- scriptLines.append(ln.strip())
+ # Strip trailing newline.
+ scriptLines.append(ln)
elif 'XFAIL' in ln:
xfailLines.append(ln)
# FIXME: Support something like END, in case we need to process large
# files.
+
+ # Apply substitutions to the script.
+ def processLine(ln):
+ # Apply substitutions
+ for a,b in substitutions:
+ ln = ln.replace(a,b)
+
+ if useDGCompat:
+ ln = re.sub(r'\{(.*)\}', r'"\1"', ln)
+
+ # Strip the trailing newline and any extra whitespace.
+ return ln.strip()
+ scriptLines = map(processLine, scriptLines)
# Validate interior lines for '&&', a lovely historical artifact.
for i in range(len(scriptLines) - 1):
@@ -151,18 +164,7 @@
# Strip off '&&'
scriptLines[i] = ln[:-2]
-
- # Apply substitutions to the script.
- def processLine(ln):
- # Apply substitutions
- for a,b in substitutions:
- ln = ln.replace(a,b)
- if useDGCompat:
- ln = re.sub(r'\{(.*)\}', r'"\1"', ln)
- return ln
- scriptLines = map(processLine, scriptLines)
-
if xfailLines:
print >>output, "XFAILED '%s':"%(TESTNAME,)
output.writelines(xfailLines)