[lit] Fix unit test discovery for Visual Studio builds.
authorDavid L. Jones <dlj@google.com>
Thu, 6 Jul 2017 03:23:18 +0000 (03:23 +0000)
committerDavid L. Jones <dlj@google.com>
Thu, 6 Jul 2017 03:23:18 +0000 (03:23 +0000)
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

llvm/utils/lit/lit/formats/googletest.py

index b683f7c7db8ef79e2787cd9c5bce3d8d5a67a735..9c55e71d23302c7dea5f894cc7c39db0249f6d14 100644 (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)