benlangmuir created this revision. benlangmuir added reviewers: bruno, jansvoboda11, arphaman. Herald added a subscriber: delcypher. Herald added a project: All. benlangmuir requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits.
Make the default module cache path invalid when running lit tests so that tests are forced to provide a cache path. This avoids accidentally escaping to the system default location, and would have caught the failure recently found in ClangScanDeps/multiple-commands.c. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D133622 Files: clang/test/Driver/modules-cache-path.m clang/test/Modules/driver.c llvm/utils/lit/lit/llvm/config.py Index: llvm/utils/lit/lit/llvm/config.py =================================================================== --- llvm/utils/lit/lit/llvm/config.py +++ llvm/utils/lit/lit/llvm/config.py @@ -495,6 +495,10 @@ self.clear_environment(possibly_dangerous_env_vars) + # Make the default module cache path invalid so that tests are forced to + # provide a cache path if they use implicit modules. + self.with_environment('CLANG_MODULE_CACHE_PATH', '/dev/null') + # Tweak the PATH to include the tools dir and the scripts dir. # Put Clang first to avoid LLVM from overriding out-of-tree clang # builds. Index: clang/test/Modules/driver.c =================================================================== --- clang/test/Modules/driver.c +++ clang/test/Modules/driver.c @@ -1,4 +1,4 @@ -// RUN: %clang -fmodules -fimplicit-module-maps %s -### 2>&1 | FileCheck -check-prefix CHECK-NO_MODULE_CACHE %s +// RUN: env -u CLANG_MODULE_CACHE_PATH %clang -fmodules -fimplicit-module-maps %s -### 2>&1 | FileCheck -check-prefix CHECK-NO_MODULE_CACHE %s // RUN: %clang -fmodules -fimplicit-module-maps -fmodules-cache-path=blarg %s -### 2>&1 | FileCheck -check-prefix CHECK-WITH_MODULE_CACHE %s // CHECK-NO_MODULE_CACHE: {{clang.*"-fmodules-cache-path=.*ModuleCache"}} Index: clang/test/Driver/modules-cache-path.m =================================================================== --- clang/test/Driver/modules-cache-path.m +++ clang/test/Driver/modules-cache-path.m @@ -1,4 +1,4 @@ -// RUN: %clang -fmodules -### %s 2>&1 | FileCheck %s -check-prefix=CHECK-DEFAULT +// RUN: env -u CLANG_MODULE_CACHE_PATH %clang -fmodules -### %s 2>&1 | FileCheck %s -check-prefix=CHECK-DEFAULT // CHECK-DEFAULT: -fmodules-cache-path={{.*}}clang{{[/\\]+}}ModuleCache // RUN: env CLANG_MODULE_CACHE_PATH=/dev/null \
Index: llvm/utils/lit/lit/llvm/config.py =================================================================== --- llvm/utils/lit/lit/llvm/config.py +++ llvm/utils/lit/lit/llvm/config.py @@ -495,6 +495,10 @@ self.clear_environment(possibly_dangerous_env_vars) + # Make the default module cache path invalid so that tests are forced to + # provide a cache path if they use implicit modules. + self.with_environment('CLANG_MODULE_CACHE_PATH', '/dev/null') + # Tweak the PATH to include the tools dir and the scripts dir. # Put Clang first to avoid LLVM from overriding out-of-tree clang # builds. Index: clang/test/Modules/driver.c =================================================================== --- clang/test/Modules/driver.c +++ clang/test/Modules/driver.c @@ -1,4 +1,4 @@ -// RUN: %clang -fmodules -fimplicit-module-maps %s -### 2>&1 | FileCheck -check-prefix CHECK-NO_MODULE_CACHE %s +// RUN: env -u CLANG_MODULE_CACHE_PATH %clang -fmodules -fimplicit-module-maps %s -### 2>&1 | FileCheck -check-prefix CHECK-NO_MODULE_CACHE %s // RUN: %clang -fmodules -fimplicit-module-maps -fmodules-cache-path=blarg %s -### 2>&1 | FileCheck -check-prefix CHECK-WITH_MODULE_CACHE %s // CHECK-NO_MODULE_CACHE: {{clang.*"-fmodules-cache-path=.*ModuleCache"}} Index: clang/test/Driver/modules-cache-path.m =================================================================== --- clang/test/Driver/modules-cache-path.m +++ clang/test/Driver/modules-cache-path.m @@ -1,4 +1,4 @@ -// RUN: %clang -fmodules -### %s 2>&1 | FileCheck %s -check-prefix=CHECK-DEFAULT +// RUN: env -u CLANG_MODULE_CACHE_PATH %clang -fmodules -### %s 2>&1 | FileCheck %s -check-prefix=CHECK-DEFAULT // CHECK-DEFAULT: -fmodules-cache-path={{.*}}clang{{[/\\]+}}ModuleCache // RUN: env CLANG_MODULE_CACHE_PATH=/dev/null \
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits