Skip to content

Conversation

boomanaiden154
Copy link
Contributor

Now that all of the clang tests have been verified (and adjusted when
necessary) to work with lit's internal shell, we can enable it by
default, which this patch does.

This should make check-clang 10-15% faster in addition to providing
richer feedback on test failures.

@llvmbot llvmbot added the clang Clang issues not falling into any other category label Sep 14, 2025
@llvmbot
Copy link
Member

llvmbot commented Sep 14, 2025

@llvm/pr-subscribers-clang

Author: Aiden Grossman (boomanaiden154)

Changes

Now that all of the clang tests have been verified (and adjusted when
necessary) to work with lit's internal shell, we can enable it by
default, which this patch does.

This should make check-clang 10-15% faster in addition to providing
richer feedback on test failures.


Full diff: https://github.com/llvm/llvm-project/pull/158465.diff

1 Files Affected:

  • (modified) clang/test/lit.cfg.py (+12-1)
diff --git a/clang/test/lit.cfg.py b/clang/test/lit.cfg.py
index d34319131ab6d..09c9311c4d362 100644
--- a/clang/test/lit.cfg.py
+++ b/clang/test/lit.cfg.py
@@ -18,11 +18,22 @@
 # name: The name of this test suite.
 config.name = "Clang"
 
+# 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)
+
 # testFormat: The test format to use to interpret tests.
 #
 # For now we require '&&' between commands, until they get globally killed and
 # the test runner updated.
-config.test_format = lit.formats.ShTest(not llvm_config.use_lit_shell)
+config.test_format = lit.formats.ShTest(execute_external=not use_lit_shell)
 
 # suffixes: A list of file extensions to treat as test files.
 config.suffixes = [

Created using spr 1.3.6

[skip ci]
Created using spr 1.3.6
Created using spr 1.3.6

[skip ci]
Created using spr 1.3.6
Created using spr 1.3.6

[skip ci]
Created using spr 1.3.6
boomanaiden154 added a commit to boomanaiden154/llvm-project that referenced this pull request Sep 19, 2025
Now that all of the clang tests have been verified (and adjusted when
necessary) to work with lit's internal shell, we can enable it by
default, which this patch does.

This should make check-clang 10-15% faster in addition to providing
richer feedback on test failures.

Pull Request: llvm#158465
Created using spr 1.3.6

[skip ci]
Created using spr 1.3.6
Created using spr 1.3.6

[skip ci]
Created using spr 1.3.6
Created using spr 1.3.6

[skip ci]
Created using spr 1.3.6
Created using spr 1.3.6

[skip ci]
Created using spr 1.3.6
Created using spr 1.3.6

[skip ci]
Created using spr 1.3.6
@boomanaiden154 boomanaiden154 changed the base branch from users/boomanaiden154/main.clang-enable-lit-internal-shell-by-default to main September 20, 2025 04:47
@boomanaiden154 boomanaiden154 merged commit 25e218d into main Sep 20, 2025
9 of 12 checks passed
@boomanaiden154 boomanaiden154 deleted the users/boomanaiden154/clang-enable-lit-internal-shell-by-default branch September 20, 2025 04:48
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Sep 20, 2025
Now that all of the clang tests have been verified (and adjusted when
necessary) to work with lit's internal shell, we can enable it by
default, which this patch does.

This should make check-clang 10-15% faster in addition to providing
richer feedback on test failures.

Reviewers: AaronBallman, petrhosek, rnk, ilovepi, shafik, cmtice

Reviewed By: petrhosek, ilovepi, rnk, cmtice

Pull Request: llvm/llvm-project#158465
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang Clang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants