Fixed bug when tests in executable partially used absolute paths.

llvm-svn: 182910
This commit is contained in:
Galina Kistanova 2013-05-30 04:56:28 +00:00
parent f69757c153
commit 1769d5a71b

View File

@ -54,6 +54,7 @@ class GoogleTest(object):
else:
yield ''.join(nested_tests) + ln
# Note: path_in_suite should not include the executable name.
def getTestsInExecutable(self, testSuite, path_in_suite, execpath,
litConfig, localConfig):
if not execpath.endswith(self.test_suffix):
@ -61,9 +62,9 @@ class GoogleTest(object):
(dirname, basename) = os.path.split(execpath)
# Discover the tests in this executable.
for testname in self.getGTestTests(execpath, litConfig, localConfig):
testPath = path_in_suite + (dirname, basename, testname)
testPath = path_in_suite + (basename, testname)
yield Test.Test(testSuite, testPath, localConfig)
def getTestsInDirectory(self, testSuite, path_in_suite,
litConfig, localConfig):
source_path = testSuite.getSourcePath(path_in_suite)
@ -73,10 +74,11 @@ class GoogleTest(object):
# Iterate over executables in a directory.
if not os.path.normcase(filename) in self.test_sub_dir:
continue
dirpath_in_suite = path_in_suite + (filename, )
for subfilename in os.listdir(filepath):
execpath = os.path.join(filepath, subfilename)
for test in self.getTestsInExecutable(
testSuite, path_in_suite, execpath,
testSuite, dirpath_in_suite, execpath,
litConfig, localConfig):
yield test
elif ('.' in self.test_sub_dir):