]> granicus.if.org Git - clang/commitdiff
MultiTestRunner.py improvements.
authorDaniel Dunbar <daniel@zuster.org>
Sat, 25 Jul 2009 09:53:43 +0000 (09:53 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Sat, 25 Jul 2009 09:53:43 +0000 (09:53 +0000)
 - Tweak output directories for temp files, derive the temporary base from the
   test's parent directory name, and the test name (instead of the whole path).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77059 91177308-0d34-0410-b5e6-96231b3b80d8

utils/test/MultiTestRunner.py
utils/test/TestRunner.py

index c43789dad3c5a4cf1074f8dd08d3412a8962d859..41cf537143db1c24014c21738b604bb977503cb6 100755 (executable)
@@ -155,11 +155,10 @@ class Tester(threading.Thread):
 
     def runTest(self, (path,index)):
         command = path
-        # Use hand concatentation here because we want to override
-        # absolute paths.
-        output = 'Output/' + path + '.out'
+        base = TestRunner.getTestOutputBase('Output', path)
+        output = base + '.out'
         testname = path
-        testresults = 'Output/' + path + '.testresults'
+        testresults = base + '.testresults'
         TestRunner.mkdir_p(os.path.dirname(testresults))
         numTests = len(self.provider.tests)
         digits = len(str(numTests))
index d82ddac2d85dcb28a0b604475974188c81ef196d..c767103377661811033dce9ab3a49402d5b18bda 100755 (executable)
@@ -16,7 +16,6 @@
 #
 
 import errno
-import hashlib
 import os
 import platform
 import re
@@ -286,6 +285,16 @@ def inferClangCC(clang):
         
     return clangcc
     
+def getTestOutputBase(dir, testpath):
+    """getTestOutputPath(dir, testpath) - Get the full path for temporary files
+    corresponding to the given test path."""
+
+    # Form the output base out of the test parent directory name and the test
+    # name. FIXME: Find a better way to organize test results.
+    return os.path.join(dir, 
+                        os.path.basename(os.path.dirname(testpath)),
+                        os.path.basename(testpath))
+                      
 def main():
     global options
     from optparse import OptionParser
@@ -314,9 +323,7 @@ def main():
 
     for path in args:
         command = path
-        # Use hand concatentation here because we want to override
-        # absolute paths.
-        output = 'Output/' + path + '.out'
+        output = getTestOutputPath('Output', path) + '.out'
         testname = path
         
         res = runOneTest(path, command, output, testname,