[llvm] [lit] Switch tests to using path function (PR #212381)

Shoaib Meenai via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 28 09:02:46 PDT 2026


https://github.com/smeenai updated https://github.com/llvm/llvm-project/pull/212381

>From c2abb871608e56cb80a66a2f372ddeacb16cca0b Mon Sep 17 00:00:00 2001
From: Shoaib Meenai <smeenai at fb.com>
Date: Mon, 27 Jul 2026 17:45:58 -0700
Subject: [PATCH 1/2] [lit] Switch tests to using path function

All the other test suites use the PATHS option to configure_lit_site_cfg
and the path() function in lit.site.cfg to make the site configs
relocatable. Apply the same pattern to lit's own suite as well.
---
 llvm/utils/lit/CMakeLists.txt        |  5 +++++
 llvm/utils/lit/tests/lit.site.cfg.in | 11 ++++++-----
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/llvm/utils/lit/CMakeLists.txt b/llvm/utils/lit/CMakeLists.txt
index 97b1d7c022fd5..a3dc78f3f6c27 100644
--- a/llvm/utils/lit/CMakeLists.txt
+++ b/llvm/utils/lit/CMakeLists.txt
@@ -4,6 +4,11 @@
 configure_lit_site_cfg(
   "${CMAKE_CURRENT_SOURCE_DIR}/tests/lit.site.cfg.in"
   "${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg"
+  PATHS
+  "LLVM_SOURCE_DIR"
+  "LLVM_BINARY_DIR"
+  "LLVM_TOOLS_DIR"
+  "LLVM_LIT_TOOLS_DIR"
   )
 
 # Lit's test suite creates output files next to the sources which makes the
diff --git a/llvm/utils/lit/tests/lit.site.cfg.in b/llvm/utils/lit/tests/lit.site.cfg.in
index 5a253e5b55cb5..f1777cd4fd1ea 100644
--- a/llvm/utils/lit/tests/lit.site.cfg.in
+++ b/llvm/utils/lit/tests/lit.site.cfg.in
@@ -2,13 +2,14 @@
 
 import sys
 
-config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
-config.llvm_src_root = "@LLVM_SOURCE_DIR@"
-config.llvm_obj_root = "@LLVM_BINARY_DIR@"
-config.llvm_tools_dir = lit_config.substitute("@LLVM_TOOLS_DIR@")
+config.lit_tools_dir = path("@LLVM_LIT_TOOLS_DIR@")
+config.llvm_src_root = path("@LLVM_SOURCE_DIR@")
+config.llvm_obj_root = path("@LLVM_BINARY_DIR@")
+config.llvm_tools_dir = lit_config.substitute(path("@LLVM_TOOLS_DIR@"))
 
 import lit.llvm
 lit.llvm.initialize(lit_config, config)
 
 # Let the main config do the real work.
-lit_config.load_config(config, "@LLVM_BINARY_DIR@/utils/lit/tests/lit.cfg")
+lit_config.load_config(
+    config, os.path.join(path(r"@LLVM_BINARY_DIR@"), "utils/lit/tests/lit.cfg"))

>From baefa957d1c5762fdf461757b6e189eeff7b642a Mon Sep 17 00:00:00 2001
From: Shoaib Meenai <smeenai at fb.com>
Date: Tue, 28 Jul 2026 09:02:33 -0700
Subject: [PATCH 2/2] Fix Windows

---
 llvm/utils/lit/tests/lit.site.cfg.in | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/llvm/utils/lit/tests/lit.site.cfg.in b/llvm/utils/lit/tests/lit.site.cfg.in
index f1777cd4fd1ea..14d0d9901e95d 100644
--- a/llvm/utils/lit/tests/lit.site.cfg.in
+++ b/llvm/utils/lit/tests/lit.site.cfg.in
@@ -2,10 +2,10 @@
 
 import sys
 
-config.lit_tools_dir = path("@LLVM_LIT_TOOLS_DIR@")
-config.llvm_src_root = path("@LLVM_SOURCE_DIR@")
-config.llvm_obj_root = path("@LLVM_BINARY_DIR@")
-config.llvm_tools_dir = lit_config.substitute(path("@LLVM_TOOLS_DIR@"))
+config.lit_tools_dir = path(r"@LLVM_LIT_TOOLS_DIR@")
+config.llvm_src_root = path(r"@LLVM_SOURCE_DIR@")
+config.llvm_obj_root = path(r"@LLVM_BINARY_DIR@")
+config.llvm_tools_dir = lit_config.substitute(path(r"@LLVM_TOOLS_DIR@"))
 
 import lit.llvm
 lit.llvm.initialize(lit_config, config)



More information about the llvm-commits mailing list