[clang-tools-extra] [include-cleaner] Use lit internal shell by default for tests (PR #169092)
Aiden Grossman via cfe-commits
cfe-commits at lists.llvm.org
Fri Nov 21 12:53:22 PST 2025
https://github.com/boomanaiden154 created https://github.com/llvm/llvm-project/pull/169092
All of the tests seem to be compatible with the internal shell and the internal shell is typically faster by 10-15% on top of providing a better debugging experience.
>From c1c67debdc0f8cde83aad06b47d5c0be44e19ae1 Mon Sep 17 00:00:00 2001
From: Aiden Grossman <aidengrossman at google.com>
Date: Fri, 21 Nov 2025 20:50:07 +0000
Subject: [PATCH] [include-cleaner] Use lit internal shell by default for tests
All of the tests seem to be compatible with the internal shell and the
internal shell is typically faster by 10-15% on top of providing a
better debugging experience.
---
clang-tools-extra/include-cleaner/test/lit.cfg.py | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/clang-tools-extra/include-cleaner/test/lit.cfg.py b/clang-tools-extra/include-cleaner/test/lit.cfg.py
index fc6725054366e..52f81bfa78cb8 100644
--- a/clang-tools-extra/include-cleaner/test/lit.cfg.py
+++ b/clang-tools-extra/include-cleaner/test/lit.cfg.py
@@ -1,12 +1,25 @@
+import os
+
import lit.llvm
lit.llvm.initialize(lit_config, config)
lit.llvm.llvm_config.use_default_substitutions()
+# TODO: Consolidate the logic for turning on the internal shell by default for all LLVM test suites.
+# See https://github.com/llvm/llvm-project/issues/106636 for more details.
+#
+# We prefer the lit internal shell which provides a better user experience on failures
+# and is faster 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 = lit.util.pythonize_bool(lit_shell_env)
+
config.name = "ClangIncludeCleaner"
config.suffixes = [".test", ".c", ".cpp"]
config.excludes = ["Inputs"]
-config.test_format = lit.formats.ShTest(not lit.llvm.llvm_config.use_lit_shell)
+config.test_format = lit.formats.ShTest(not use_lit_shell)
config.test_source_root = config.clang_include_cleaner_source_dir + "/test"
config.test_exec_root = config.clang_include_cleaner_binary_dir + "/test"
More information about the cfe-commits
mailing list