From 35ec32d397d36834d1093e1ebaa88c099900738e Mon Sep 17 00:00:00 2001 From: Jeffrey Yasskin Date: Sun, 18 Oct 2009 02:05:42 +0000 Subject: [PATCH] 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 --- llvm/utils/lit/TestFormats.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/llvm/utils/lit/TestFormats.py b/llvm/utils/lit/TestFormats.py index 61bdb185355f..7e638b47f4d8 100644 --- a/llvm/utils/lit/TestFormats.py +++ b/llvm/utils/lit/TestFormats.py @@ -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)