Support GoogleTest's "typed tests"

(http://code.google.com/p/googletest/wiki/GoogleTestAdvancedGuide#Typed_Tests)
in lit.py.  These tests have names like "ValueMapTest/0.Iteration", which broke
when lit.py os.path.join()ed them onto the path and then assumed it could
os.path.split() them back off.  This patch shifts path components from the
testPath to the testName until the testPath exists.

llvm-svn: 84387
This commit is contained in:
Jeffrey Yasskin 2009-10-18 02:05:42 +00:00
parent 1700197e65
commit 35ec32d397
1 changed files with 4 additions and 0 deletions

View File

@ -53,6 +53,10 @@ class GoogleTest(object):
def execute(self, test, litConfig):
testPath,testName = os.path.split(test.getSourcePath())
if not os.path.exists(testPath):
# Handle GTest typed tests, whose name includes a '/'.
testPath, namePrefix = os.path.split(testPath)
testName = os.path.join(namePrefix, testName)
cmd = [testPath, '--gtest_filter=' + testName]
out, err, exitCode = TestRunner.executeCommand(cmd)