[llvm] 57109be - Reapply "[lit] Deprecate execute_external=True in ShTest" (#203316) (#203689)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Jun 13 01:35:25 PDT 2026
Author: Aiden Grossman
Date: 2026-06-13T08:35:21Z
New Revision: 57109befac92811d2253109242ca6fa69c961fb2
URL: https://github.com/llvm/llvm-project/commit/57109befac92811d2253109242ca6fa69c961fb2
DIFF: https://github.com/llvm/llvm-project/commit/57109befac92811d2253109242ca6fa69c961fb2.diff
LOG: Reapply "[lit] Deprecate execute_external=True in ShTest" (#203316) (#203689)
This reverts commit 6713634507b21efe6c895dd40e85ba72fe0ce269.
The fuzzer tests now use the internal shell by default, so we should be
good to go ahead and enable this.
Added:
Modified:
llvm/utils/lit/lit/formats/shtest.py
llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/lit.cfg
llvm/utils/lit/tests/Inputs/per-test-coverage/lit.cfg
llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/lit.cfg
llvm/utils/lit/tests/Inputs/shtest-format/external_shell/lit.local.cfg
llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg
llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
Removed:
################################################################################
diff --git a/llvm/utils/lit/lit/formats/shtest.py b/llvm/utils/lit/lit/formats/shtest.py
index 5529b75f51d4f..80490c1f3227a 100644
--- a/llvm/utils/lit/lit/formats/shtest.py
+++ b/llvm/utils/lit/lit/formats/shtest.py
@@ -17,8 +17,19 @@ class ShTest(FileBasedTest):
"""
def __init__(
- self, execute_external=False, extra_substitutions=[], preamble_commands=[]
+ self,
+ execute_external=False,
+ extra_substitutions=[],
+ preamble_commands=[],
+ force_execute_external=False,
):
+ if execute_external and not force_execute_external:
+ raise ValueError(
+ "execute_external=True is deprected as of LLVM-23 and the option will "
+ "be removed in LLVM-24. Please move to using the internal shell "
+ "(execute_external=False). If you still need to force external "
+ "execution to allow time for migration, set force_execute_external=True"
+ )
self.execute_external = execute_external
self.extra_substitutions = extra_substitutions
self.preamble_commands = preamble_commands
diff --git a/llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/lit.cfg b/llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/lit.cfg
index b83d61eec595b..7487b09a228a2 100644
--- a/llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/lit.cfg
+++ b/llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/lit.cfg
@@ -3,9 +3,11 @@ import os
config.name = "per-test-coverage-by-lit-cfg"
config.suffixes = [".py"]
+use_external_shell = eval(lit_config.params.get("execute_external"))
config.test_format = lit.formats.ShTest(
- execute_external=eval(lit_config.params.get("execute_external")),
- preamble_commands=["%{python} %s | FileCheck -DINDEX=0 %s"]
+ execute_external=use_external_shell,
+ preamble_commands=["%{python} %s | FileCheck -DINDEX=0 %s"],
+ force_execute_external=use_external_shell
)
lit_config.per_test_coverage = True
config.substitutions.append(("%{python}", '"%s"' % (sys.executable)))
diff --git a/llvm/utils/lit/tests/Inputs/per-test-coverage/lit.cfg b/llvm/utils/lit/tests/Inputs/per-test-coverage/lit.cfg
index 9ffca93def73f..19d77b80e64f1 100644
--- a/llvm/utils/lit/tests/Inputs/per-test-coverage/lit.cfg
+++ b/llvm/utils/lit/tests/Inputs/per-test-coverage/lit.cfg
@@ -3,8 +3,10 @@ import os
config.name = "per-test-coverage"
config.suffixes = [".py"]
+use_external_shell = eval(lit_config.params.get("execute_external"))
config.test_format = lit.formats.ShTest(
- execute_external=eval(lit_config.params.get("execute_external")),
- preamble_commands=["%{python} %s | FileCheck -DINDEX=0 %s"]
+ execute_external=use_external_shell,
+ preamble_commands=["%{python} %s | FileCheck -DINDEX=0 %s"],
+ force_execute_external=use_external_shell
)
config.substitutions.append(("%{python}", '"%s"' % (sys.executable)))
diff --git a/llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/lit.cfg b/llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/lit.cfg
index d10594dc525f5..1f9ccb7d08091 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/lit.cfg
+++ b/llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/lit.cfg
@@ -1,5 +1,6 @@
import lit.formats
-config.test_format = lit.formats.ShTest(execute_external=True)
+config.test_format = lit.formats.ShTest(execute_external=True,
+ force_execute_external=True)
config.name = "shtest-external-shell-kill"
config.suffixes = [".txt"]
diff --git a/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/lit.local.cfg b/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/lit.local.cfg
index 4cc234df4fcaa..20c399010ed7d 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/lit.local.cfg
+++ b/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/lit.local.cfg
@@ -1,3 +1,4 @@
import lit.formats
-config.test_format = lit.formats.ShTest(execute_external=True)
+config.test_format = lit.formats.ShTest(execute_external=True,
+ force_execute_external=True)
diff --git a/llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg b/llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
index 80af27f57d35c..e044a1a15d212 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
+++ b/llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
@@ -7,7 +7,8 @@ config.name = "shtest-readfile"
config.suffixes = [".txt"]
lit_shell_env = os.environ.get("LIT_USE_INTERNAL_SHELL")
use_lit_shell = lit.util.pythonize_bool(lit_shell_env)
-config.test_format = lit.formats.ShTest(execute_external=not use_lit_shell)
+config.test_format = lit.formats.ShTest(execute_external=not use_lit_shell,
+ force_execute_external=not use_lit_shell)
config.test_source_root = None
config.test_exec_root = None
config.substitutions.append(("%{python}", '"%s"' % (sys.executable)))
diff --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg
index 913495fbb3fe3..81a13c69649d6 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg
+++ b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg
@@ -1,6 +1,7 @@
import lit.formats
-config.test_format = lit.formats.ShTest(execute_external=True)
+config.test_format = lit.formats.ShTest(execute_external=True,
+ force_execute_external=True)
config.substitutions.append(("%{cmds-with-newlines}", """
echo abc |
FileCheck %s &&
diff --git a/llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg b/llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
index 3a72f35024eb2..3e2dc3a130e72 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
+++ b/llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
@@ -21,7 +21,8 @@ if configSetTimeout != "0":
# Try setting the max individual test time in the configuration
config.maxIndividualTestTime = int(configSetTimeout)
-config.test_format = lit.formats.ShTest(execute_external=externalShell)
+config.test_format = lit.formats.ShTest(execute_external=externalShell,
+ force_execute_external=externalShell)
config.suffixes = [".py"]
config.test_source_root = os.path.dirname(__file__)
More information about the llvm-commits
mailing list