[llvm] [llvm][llvm-lit] Enabled lit internal shell for llvm test suite (PR #106324)

Connie Zhu via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 28 09:47:21 PDT 2024


https://github.com/connieyzhu updated https://github.com/llvm/llvm-project/pull/106324

>From 4e4464414d67d0f6fa57f885bb1a0d01a221aaa0 Mon Sep 17 00:00:00 2001
From: Connie Zhu <connieyzhu at google.com>
Date: Wed, 28 Aug 2024 01:48:44 +0000
Subject: [PATCH] [llvm][llvm-lit] Enabled lit itnernal shell for llvm test
 suite

This patch sets lit's internal shell to be the default shell wehn
running llvm tests. Tests that REQUIRES: shell are not currently
supported by the internal shell, so those tests are skipped with this
implementation.
---
 llvm/test/lit.cfg.py | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/llvm/test/lit.cfg.py b/llvm/test/lit.cfg.py
index bee7aa3903a1f5..15a8a68647db27 100644
--- a/llvm/test/lit.cfg.py
+++ b/llvm/test/lit.cfg.py
@@ -18,7 +18,18 @@
 config.name = "LLVM"
 
 # testFormat: The test format to use to interpret tests.
-config.test_format = lit.formats.ShTest(not llvm_config.use_lit_shell)
+# We prefer the lit internal shell which provides a better user experience on failures
+# unless the user explicitly disables it with LIT_USE_INTERNAL_SHELL=0 env var.
+use_lit_shell = True
+lit_shell_env = os.environ.get("LIT_USE_INTERNAL_SHELL")
+if lit_shell_env:
+    use_lit_shell = not lit.util.pythonize_bool(lit_shell_env)
+
+config.test_format = lit.formats.ShTest(execute_external=not use_lit_shell)
+
+# FIXME: Tests that REQUIRES: shell are unsupported by the lit internal shell
+if use_lit_shell:
+    config.available_features.discard("shell")
 
 # suffixes: A list of file extensions to treat as test files. This is overriden
 # by individual lit.local.cfg files in the test subdirectories.



More information about the llvm-commits mailing list