Use a shared module cache directory for LLDB.
authorAdrian Prantl <aprantl@apple.com>
Fri, 16 Nov 2018 16:19:07 +0000 (16:19 +0000)
committerAdrian Prantl <aprantl@apple.com>
Fri, 16 Nov 2018 16:19:07 +0000 (16:19 +0000)
This saves about 3 redundant gigabytes from the Objective-C test build
directories. Tests that must do unsavory things with the LLDB clang
module cache, already specify a per-test module cache in their .py
test instructions.

<rdar://problem/36002081>

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

llvm-svn: 347057

lldb/lit/lit.cfg.py
lldb/packages/Python/lldbsuite/test/lldbtest.py

index 86cc902..8fd34da 100644 (file)
@@ -128,7 +128,7 @@ llvm_config.feature_config(
 # Clean the module caches in the test build directory.  This is
 # necessary in an incremental build whenever clang changes underneath,
 # so doing it once per lit.py invocation is close enough.
-for i in ['module-cache-clang']:
+for i in ['module-cache-clang', 'module-cache-lldb']:
     cachedir = os.path.join(config.llvm_obj_root, 'lldb-test-build.noindex', i)
     if os.path.isdir(cachedir):
         print("Deleting module cache at %s."%cachedir)
index 9b1aeff..0606dce 100644 (file)
@@ -1862,8 +1862,9 @@ class TestBase(Base):
         # decorators.
         Base.setUp(self)
 
-        # Set the clang modules cache path.
-        mod_cache = os.path.join(self.getBuildDir(), "module-cache-lldb")
+        # Set the clang modules cache path used by LLDB.
+        mod_cache = os.path.join(os.path.join(os.environ["LLDB_BUILD"],
+                                              "module-cache-lldb"))
         self.runCmd('settings set symbols.clang-modules-cache-path "%s"'
                     % mod_cache)