From 69ccc394713aca2c031b748c5020c9da2c31de53 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Fri, 29 Aug 2025 12:52:10 -0700 Subject: [PATCH] [BOLT] Enable lit internal shell by default This patch enables lit's internal shell by default now that all REQUIRES: shell tests have been update to not require shell features not available in lit and all unresolved tests have been fixed. This should speed up test runtime by a bit and will give nicer error messaging. Fixes #102701. Reviewers: aaupov, yota9, maksfb, paschalis-mpeis, yozhu, rafaelauler, ayermolo Reviewed By: maksfb Pull Request: https://github.com/llvm/llvm-project/pull/156083 --- bolt/test/lit.cfg.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/bolt/test/lit.cfg.py b/bolt/test/lit.cfg.py index 0d05229be2bf..bef570ba50a0 100644 --- a/bolt/test/lit.cfg.py +++ b/bolt/test/lit.cfg.py @@ -18,11 +18,22 @@ from lit.llvm.subst import FindTool # name: The name of this test suite. config.name = "BOLT" +# 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 = [