[lit] Fix unit test discovery for Visual Studio builds.

Fix by Andrew Ng!

The Visual Studio build can contain output for multiple configuration types (
e.g. Debug, Release & RelWithDebInfo) within the same build output
directory. Therefore when discovering unit tests, the "build mode" sub directory
containing the appropriate configuration is included in the search. This sub
directory may not always be present, so a test for its existence is required.

Reviewers: zturner, modocache, dlj

Reviewed By: zturner, dlj

Subscribers: grimar, bd1976llvm, gbreynoo, edd, jhenderson, llvm-commits

Differential Revision: https://reviews.llvm.org/D34976

llvm-svn: 307235
This commit is contained in:
David L. Jones 2017-07-06 03:23:18 +00:00
parent a15e7f296b
commit a63c3369aa
1 changed files with 4 additions and 1 deletions

View File

@ -78,7 +78,10 @@ class GoogleTest(TestFormat):
litConfig, localConfig):
source_path = testSuite.getSourcePath(path_in_suite)
for subdir in self.test_sub_dirs:
for fn in lit.util.listdir_files(os.path.join(source_path, subdir),
dir_path = os.path.join(source_path, subdir)
if not os.path.isdir(dir_path):
continue
for fn in lit.util.listdir_files(dir_path,
suffixes={self.test_suffix}):
# Discover the tests in this executable.
execpath = os.path.join(source_path, subdir, fn)