[llvm] 6ce9488 - [lit] Remove most external shell test coverage

via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 14 18:04:00 PDT 2026


Author: Aiden Grossman
Date: 2026-07-14T18:03:55-07:00
New Revision: 6ce9488de626f6e791f1d6cdce2562842f665944

URL: https://github.com/llvm/llvm-project/commit/6ce9488de626f6e791f1d6cdce2562842f665944
DIFF: https://github.com/llvm/llvm-project/commit/6ce9488de626f6e791f1d6cdce2562842f665944.diff

LOG: [lit] Remove most external shell test coverage

Now that LLVM 23 has branched, we can look at removing the external
shell.

https://discourse.llvm.org/t/rfc-removal-of-the-lit-external-shell/90951

This patch removes most test coverage that was explicitly for the
external shell as it was entirely duplicated with the internal shell.
This patch leaves out removing test coverage in shtest-format as not all
the coverage there is duplicated and it seems like there is some missing
from the internal shell and I want to give it more careful
consideration.

Reviewers: hnrklssn, ilovepi, jh7370, arichardson

Pull Request: https://github.com/llvm/llvm-project/pull/209500

Added: 
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/basic.txt
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/empty-run-line.txt
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/line-continuation.txt
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/run-line-with-newline.txt

Modified: 
    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-readfile/lit.cfg
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/lit.cfg
    llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
    llvm/utils/lit/tests/per-test-coverage-by-lit-cfg.py
    llvm/utils/lit/tests/per-test-coverage.py
    llvm/utils/lit/tests/shtest-run-at-line.py
    llvm/utils/lit/tests/shtest-timeout.py

Removed: 
    llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/lit.cfg
    llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/test.txt
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/basic.txt
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/empty-run-line.txt
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/line-continuation.txt
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/run-line-with-newline.txt
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/basic.txt
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/empty-run-line.txt
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/line-continuation.txt
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/lit.local.cfg
    llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/run-line-with-newline.txt
    llvm/utils/lit/tests/shtest-external-shell-kill.py
    llvm/utils/lit/tests/shtest-readfile-external.py


################################################################################
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 7487b09a228a2..1215f984bfe49 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,11 +3,8 @@ 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=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 19d77b80e64f1..0733900f2c7a1 100644
--- a/llvm/utils/lit/tests/Inputs/per-test-coverage/lit.cfg
+++ b/llvm/utils/lit/tests/Inputs/per-test-coverage/lit.cfg
@@ -3,10 +3,7 @@ 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=use_external_shell,
-    preamble_commands=["%{python} %s | FileCheck -DINDEX=0 %s"],
-    force_execute_external=use_external_shell
+    preamble_commands=["%{python} %s | FileCheck -DINDEX=0 %s"]
 )
 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
deleted file mode 100644
index 1f9ccb7d08091..0000000000000
--- a/llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/lit.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-import lit.formats
-
-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-external-shell-kill/test.txt b/llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/test.txt
deleted file mode 100644
index dbdf2d689425c..0000000000000
--- a/llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/test.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-# RUN: echo start
-# RUN: sleep 300 & PID=$!
-# RUN: sleep 2
-# RUN: kill $PID
-# RUN: echo end

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg b/llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
index e044a1a15d212..da388681da310 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
+++ b/llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
@@ -5,17 +5,7 @@ import lit.util
 
 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,
-                                        force_execute_external=not use_lit_shell)
+config.test_format = lit.formats.ShTest()
 config.test_source_root = None
 config.test_exec_root = None
 config.substitutions.append(("%{python}", '"%s"' % (sys.executable)))
-
-# If we are testing with the external shell, remove the fake-externals from
-# PATH so that we use mkdir in the tests.
-if not use_lit_shell:
-    path_parts = config.environment["PATH"].split(os.path.pathsep)
-    path_parts = [path_part for path_part in path_parts if "fake-externals" not in path_part]
-    config.environment["PATH"] = os.path.pathsep.join(path_parts)

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/basic.txt b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/basic.txt
similarity index 100%
rename from llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/basic.txt
rename to llvm/utils/lit/tests/Inputs/shtest-run-at-line/basic.txt

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/empty-run-line.txt b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/empty-run-line.txt
similarity index 100%
rename from llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/empty-run-line.txt
rename to llvm/utils/lit/tests/Inputs/shtest-run-at-line/empty-run-line.txt

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/basic.txt b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/basic.txt
deleted file mode 100644
index a359c996660d7..0000000000000
--- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/basic.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-# These commands must run under both bash and windows cmd.exe (with GnuWin32
-# tools).
-
-# RUN: true
-# RUN: false
-# RUN: true

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/line-continuation.txt b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/line-continuation.txt
deleted file mode 100644
index b11f0d759fe7a..0000000000000
--- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/line-continuation.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-# These commands must run under both bash and windows cmd.exe (with GnuWin32
-# tools).
-
-# RUN: echo 'foo bar' \
-# RUN: | FileCheck %s
-# RUN: echo \
-# RUN: 'foo baz' \
-# RUN: | FileCheck %s
-# RUN: echo 'foo bar' \
-# RUN: | FileCheck %s
-
-# CHECK: foo bar

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
deleted file mode 100644
index 81a13c69649d6..0000000000000
--- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-import lit.formats
-
-config.test_format = lit.formats.ShTest(execute_external=True,
-                                        force_execute_external=True)
-config.substitutions.append(("%{cmds-with-newlines}", """
-echo abc |
-FileCheck %s &&
-false
-"""))

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/empty-run-line.txt b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/empty-run-line.txt
deleted file mode 100644
index 40a5a7d6e7cce..0000000000000
--- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/empty-run-line.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# DEFINE: %{empty} =
-# RUN: %{empty}
-# RUN: false

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/lit.local.cfg b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/lit.local.cfg
deleted file mode 100644
index 6b8e6244c1ae2..0000000000000
--- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/lit.local.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-import lit.formats
-
-config.test_format = lit.formats.ShTest(execute_external=False)
-config.substitutions.append(("%{cmds-with-newlines}", """
-echo abc |
-FileCheck %s &&
-false
-"""))

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/run-line-with-newline.txt b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/run-line-with-newline.txt
deleted file mode 100644
index a9cf51be9cb9a..0000000000000
--- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/run-line-with-newline.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# RUN: %{cmds-with-newlines}
-# CHECK: abc

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/line-continuation.txt b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/line-continuation.txt
similarity index 100%
rename from llvm/utils/lit/tests/Inputs/shtest-run-at-line/internal-shell/line-continuation.txt
rename to llvm/utils/lit/tests/Inputs/shtest-run-at-line/line-continuation.txt

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/lit.cfg b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/lit.cfg
index e015516ad08d4..33d88838d948d 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/lit.cfg
+++ b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/lit.cfg
@@ -1,2 +1,10 @@
+import lit.formats
+
 config.name = "shtest-run-at-line"
 config.suffixes = [".txt"]
+config.test_format = lit.formats.ShTest(execute_external=False)
+config.substitutions.append(("%{cmds-with-newlines}", """
+echo abc |
+FileCheck %s &&
+false
+"""))

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/run-line-with-newline.txt b/llvm/utils/lit/tests/Inputs/shtest-run-at-line/run-line-with-newline.txt
similarity index 100%
rename from llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/run-line-with-newline.txt
rename to llvm/utils/lit/tests/Inputs/shtest-run-at-line/run-line-with-newline.txt

diff  --git a/llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg b/llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
index 3e2dc3a130e72..1415bf1dd73a9 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
+++ b/llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
@@ -6,23 +6,13 @@ import lit.formats
 
 config.name = "per_test_timeout"
 
-shellType = lit_config.params.get("external", "1")
-
-if shellType == "0":
-    lit_config.note("Using internal shell")
-    externalShell = False
-else:
-    lit_config.note("Using external shell")
-    externalShell = True
-
 configSetTimeout = lit_config.params.get("set_timeout", "0")
 
 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,
-                                        force_execute_external=externalShell)
+config.test_format = lit.formats.ShTest()
 config.suffixes = [".py"]
 
 config.test_source_root = os.path.dirname(__file__)

diff  --git a/llvm/utils/lit/tests/per-test-coverage-by-lit-cfg.py b/llvm/utils/lit/tests/per-test-coverage-by-lit-cfg.py
index dd7f7e56577ec..3b694e3805929 100644
--- a/llvm/utils/lit/tests/per-test-coverage-by-lit-cfg.py
+++ b/llvm/utils/lit/tests/per-test-coverage-by-lit-cfg.py
@@ -1,13 +1,8 @@
 # Test if lit_config.per_test_coverage in lit.cfg sets individual test case coverage.
 
-# RUN: %{lit} -a -Dexecute_external=False \
-# RUN:     %{inputs}/per-test-coverage-by-lit-cfg/per-test-coverage-by-lit-cfg.py | \
+# RUN: %{lit} -a %{inputs}/per-test-coverage-by-lit-cfg/per-test-coverage-by-lit-cfg.py | \
 # RUN:   FileCheck -DOUT=stdout %s
 
-# RUN: %{lit} -a -Dexecute_external=True \
-# RUN:     %{inputs}/per-test-coverage-by-lit-cfg/per-test-coverage-by-lit-cfg.py | \
-# RUN:   FileCheck -DOUT=stderr %s
-
 #      CHECK: {{^}}PASS: per-test-coverage-by-lit-cfg :: per-test-coverage-by-lit-cfg.py ({{[^)]*}})
 #      CHECK: Command Output ([[OUT]]):
 # CHECK-NEXT: --

diff  --git a/llvm/utils/lit/tests/per-test-coverage.py b/llvm/utils/lit/tests/per-test-coverage.py
index 3e4a4d897f426..8f5b37ade5b6e 100644
--- a/llvm/utils/lit/tests/per-test-coverage.py
+++ b/llvm/utils/lit/tests/per-test-coverage.py
@@ -1,13 +1,9 @@
 # Test LLVM_PROFILE_FILE is set when --per-test-coverage is passed to command line.
 
-# RUN: %{lit} -a --per-test-coverage -Dexecute_external=False \
+# RUN: %{lit} -a --per-test-coverage \
 # RUN:     %{inputs}/per-test-coverage/per-test-coverage.py | \
 # RUN:   FileCheck -DOUT=stdout %s
 
-# RUN: %{lit} -a --per-test-coverage -Dexecute_external=True \
-# RUN:        %{inputs}/per-test-coverage/per-test-coverage.py | \
-# RUN:   FileCheck -DOUT=stderr %s
-
 #      CHECK: {{^}}PASS: per-test-coverage :: per-test-coverage.py ({{[^)]*}})
 #      CHECK: Command Output ([[OUT]]):
 # CHECK-NEXT: --

diff  --git a/llvm/utils/lit/tests/shtest-external-shell-kill.py b/llvm/utils/lit/tests/shtest-external-shell-kill.py
deleted file mode 100644
index 627708c1a19cd..0000000000000
--- a/llvm/utils/lit/tests/shtest-external-shell-kill.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# This test exercises an external shell use case that, at least at one time,
-# appeared in the following tests:
-#
-#   compiler-rt/test/fuzzer/fork-sigusr.test
-#   compiler-rt/test/fuzzer/merge-sigusr.test
-#   compiler-rt/test/fuzzer/sigint.test
-#   compiler-rt/test/fuzzer/sigusr.test
-#
-# That is, a RUN line can be:
-#
-#   cmd & PID=$!
-#
-# It is important that '&' only puts 'cmd' in the background and not the
-# debugging commands that lit inserts before 'cmd'.  Otherwise:
-#
-# - The debugging commands might execute later than they are supposed to.
-# - A later 'kill $PID' can kill more than just 'cmd'.  We've seen it even
-#   manage to terminate the shell running lit.
-#
-# The last FileCheck directive below checks that the debugging commands for the
-# above RUN line are not killed and do execute at the right time.
-
-# RUN: %{lit} -a %{inputs}/shtest-external-shell-kill | %{filter-lit} | FileCheck %s
-# END.
-
-#       CHECK: Command Output (stdout):
-#  CHECK-NEXT: --
-#  CHECK-NEXT: start
-#  CHECK-NEXT: end
-# CHECK-EMPTY:
-#  CHECK-NEXT: --
-#  CHECK-NEXT: Command Output (stderr):
-#  CHECK-NEXT: --
-#  CHECK-NEXT: echo start # RUN: at line 1 
-#  CHECK-NEXT: echo start
-#  CHECK-NEXT: sleep [[#]] & PID=$! # RUN: at line 2

diff  --git a/llvm/utils/lit/tests/shtest-readfile-external.py b/llvm/utils/lit/tests/shtest-readfile-external.py
deleted file mode 100644
index 0d8e3ad1242bf..0000000000000
--- a/llvm/utils/lit/tests/shtest-readfile-external.py
+++ /dev/null
@@ -1,25 +0,0 @@
-## Tests the readfile substitution.
-
-# TODO(boomanaiden154): This sometimes fails, possibly due to buffers not being flushed.
-# ALLOW_RETRIES: 2
-
-# UNSUPPORTED: system-windows
-# RUN: env LIT_USE_INTERNAL_SHELL=0 not %{lit} -v %{inputs}/shtest-readfile | FileCheck -match-full-lines -DTEMP_PATH=%S/Inputs/shtest-readfile/Output %s
-
-# CHECK: -- Testing: 5 tests{{.*}}
-
-# CHECK-LABEL: FAIL: shtest-readfile :: absolute-paths.txt ({{[^)]*}})
-# CHECK: echo $(cat [[TEMP_PATH]]/absolute-paths.txt.tmp) && test -e [[TEMP_PATH]]/absolute-paths.txt.tmp {{.*}}
-# CHECK: + echo hello
-
-# CHECK-LABEL: FAIL: shtest-readfile :: file-does-not-exist.txt ({{[^)]*}})
-# CHECK: echo $(cat /file/does/not/exist) && test -e /file/does/not/exist {{.*}}
-# CHECK: {{.*}}cat{{.*}}/file/does/not/exist{{.*}}
-
-# CHECK-LABEL: FAIL: shtest-readfile :: relative-paths.txt ({{[^)]*}})
-# CHECK: echo $(cat rel_path_test_folder/test_file) && test -e rel_path_test_folder/test_file {{.*}}
-# CHECK: + echo hello
-
-# CHECK-LABEL: FAIL: shtest-readfile :: two-same-line.txt ({{[^)]*}})
-# CHECK: echo $(cat [[TEMP_PATH]]/two-same-line.txt.tmp.1) $(cat [[TEMP_PATH]]/two-same-line.txt.tmp.2) && test -e [[TEMP_PATH]]/two-same-line.txt.tmp.1 && test -e [[TEMP_PATH]]/two-same-line.txt.tmp.2 {{.*}}
-# CHECK: + echo hello bye

diff  --git a/llvm/utils/lit/tests/shtest-run-at-line.py b/llvm/utils/lit/tests/shtest-run-at-line.py
index 4989074170ecf..94c6a090fc031 100644
--- a/llvm/utils/lit/tests/shtest-run-at-line.py
+++ b/llvm/utils/lit/tests/shtest-run-at-line.py
@@ -7,58 +7,10 @@
 # END.
 
 
-# CHECK: Testing: 8 tests
+# CHECK: Testing: 4 tests
 
 
-# In the case of the external shell, we check for only RUN lines in stderr in
-# case some shell implementations format "set -x" output 
diff erently.
-
-# CHECK-LABEL: FAIL: shtest-run-at-line :: external-shell/basic.txt
-
-#       CHECK: Command Output (stderr)
-#  CHECK-NEXT: --
-#  CHECK-NEXT: {{^}}true # RUN: at line 4{{$}}
-#  CHECK-NEXT: true
-#  CHECK-NEXT: {{^}}false # RUN: at line 5{{$}}
-#  CHECK-NEXT: false
-# CHECK-EMPTY:
-#  CHECK-NEXT: --
-
-# CHECK-LABEL: FAIL: shtest-run-at-line :: external-shell/empty-run-line.txt
-
-#       CHECK: Command Output (stderr)
-#  CHECK-NEXT: --
-#  CHECK-NEXT: {{^}}RUN: at line 2 has no command after substitutions{{$}}
-#  CHECK-NEXT: {{^}}false # RUN: at line 3{{$}}
-#  CHECK-NEXT: false
-# CHECK-EMPTY:
-#  CHECK-NEXT: --
-
-# CHECK-LABEL: FAIL: shtest-run-at-line :: external-shell/line-continuation.txt
-
-# The execution trace from an external sh-like shell might print the commands
-# from a pipeline in any order, so this time just check that lit suppresses the
-# trace of the echo command for each 'RUN: at line N: cmd-line'.
-
-#       CHECK: Command Output (stderr)
-#  CHECK-NEXT: --
-#  CHECK-NEXT: {{^}}echo 'foo bar' | FileCheck {{.*}} # RUN: at line 4 
-#   CHECK-NOT: RUN
-#       CHECK: {{^}}echo 'foo baz' | FileCheck {{.*}} # RUN: at line 6 
-#   CHECK-NOT: RUN
-#       CHECK: --
-
-# CHECK-LABEL: FAIL: shtest-run-at-line :: external-shell/run-line-with-newline.txt
-
-#      CHECK: Command Output (stderr)
-# CHECK-NEXT: --
-# CHECK-NEXT: {{^}}echo abc |
-# CHECK-NEXT: FileCheck {{.*}} &&
-# CHECK-NEXT: false # RUN: at line 1
-#  CHECK-NOT: RUN
-
-
-# CHECK-LABEL: FAIL: shtest-run-at-line :: internal-shell/basic.txt
+# CHECK-LABEL: FAIL: shtest-run-at-line :: basic.txt
 
 # CHECK:      Command Output (stdout)
 # CHECK-NEXT: --
@@ -70,7 +22,7 @@
 # CHECK-NEXT: # executed command: false
 # CHECK-NOT:  RUN
 
-# CHECK-LABEL: FAIL: shtest-run-at-line :: internal-shell/empty-run-line.txt
+# CHECK-LABEL: FAIL: shtest-run-at-line :: empty-run-line.txt
 
 #      CHECK: Command Output (stdout)
 # CHECK-NEXT: --
@@ -80,7 +32,7 @@
 # CHECK-NEXT: # executed command: false
 #  CHECK-NOT: RUN
 
-# CHECK-LABEL: FAIL: shtest-run-at-line :: internal-shell/line-continuation.txt
+# CHECK-LABEL: FAIL: shtest-run-at-line :: line-continuation.txt
 
 # CHECK:      Command Output (stdout)
 # CHECK-NEXT: --
@@ -97,7 +49,7 @@
 # CHECK-NEXT: # executed command: FileCheck {{.*}}
 # CHECK-NOT:  RUN
 
-# CHECK-LABEL: FAIL: shtest-run-at-line :: internal-shell/run-line-with-newline.txt
+# CHECK-LABEL: FAIL: shtest-run-at-line :: run-line-with-newline.txt
 
 #      CHECK: Command Output (stdout)
 # CHECK-NEXT: --

diff  --git a/llvm/utils/lit/tests/shtest-timeout.py b/llvm/utils/lit/tests/shtest-timeout.py
index 1576b89ea1821..3f0e1bc6f45ec 100644
--- a/llvm/utils/lit/tests/shtest-timeout.py
+++ b/llvm/utils/lit/tests/shtest-timeout.py
@@ -7,37 +7,22 @@
 # Check tests can hit timeout when set
 ###############################################################################
 
-# Test per test timeout using external shell
+# Test per test timeout
 # RUN: not %{lit} \
 # RUN: %{inputs}/shtest-timeout/infinite_loop.py \
-# RUN: -j 1 -v --debug --timeout 1 --param external=1 > %t.extsh.out 2> %t.extsh.err
-# RUN: FileCheck --check-prefix=CHECK-OUT-COMMON < %t.extsh.out %s
-# RUN: FileCheck --check-prefix=CHECK-EXTSH-ERR < %t.extsh.err %s
-#
-# CHECK-EXTSH-ERR: Using external shell
-
-# Test per test timeout using internal shell
-# RUN: not %{lit} \
-# RUN: %{inputs}/shtest-timeout/infinite_loop.py \
-# RUN: -j 1 -v --debug --timeout 1 --param external=0 > %t.intsh.out 2> %t.intsh.err
+# RUN: -j 1 -v --debug --timeout 1 > %t.intsh.out
 # RUN: FileCheck  --check-prefix=CHECK-OUT-COMMON < %t.intsh.out %s
 # RUN: FileCheck --check-prefix=CHECK-INTSH-OUT < %t.intsh.out %s
-# RUN: FileCheck --check-prefix=CHECK-INTSH-ERR < %t.intsh.err %s
 
 # CHECK-INTSH-OUT: TIMEOUT: per_test_timeout :: infinite_loop.py
 # CHECK-INTSH-OUT: command reached timeout: True
 
-# CHECK-INTSH-ERR: Using internal shell
-
 # Test per test timeout set via a config file rather than on the command line
 # RUN: not %{lit} \
 # RUN: %{inputs}/shtest-timeout/infinite_loop.py \
-# RUN: -j 1 -v --debug --param external=0 \
-# RUN: --param set_timeout=1 > %t.cfgset.out 2> %t.cfgset.err
+# RUN: -j 1 -v --debug \
+# RUN: --param set_timeout=1 > %t.cfgset.out
 # RUN: FileCheck --check-prefix=CHECK-OUT-COMMON  < %t.cfgset.out %s
-# RUN: FileCheck --check-prefix=CHECK-CFGSET-ERR < %t.cfgset.err %s
-#
-# CHECK-CFGSET-ERR: Using internal shell
 
 # CHECK-OUT-COMMON: TIMEOUT: per_test_timeout :: infinite_loop.py
 # CHECK-OUT-COMMON: Timeout: Reached timeout of 1 seconds
@@ -51,19 +36,11 @@
 # 3600 second timeout.
 ###############################################################################
 
-# Test per test timeout using external shell
-# RUN: %{lit} \
-# RUN: %{inputs}/shtest-timeout/short.py \
-# RUN: -j 1 -v --debug --timeout 3600 --param external=1 > %t.pass.extsh.out 2> %t.pass.extsh.err
-# RUN: FileCheck --check-prefix=CHECK-OUT-COMMON-SHORT < %t.pass.extsh.out %s
-# RUN: FileCheck --check-prefix=CHECK-EXTSH-ERR < %t.pass.extsh.err %s
-
-# Test per test timeout using internal shell
+# Test per test timeout
 # RUN: %{lit} \
 # RUN: %{inputs}/shtest-timeout/short.py \
-# RUN: -j 1 -v --debug --timeout 3600 --param external=0 > %t.pass.intsh.out 2> %t.pass.intsh.err
+# RUN: -j 1 -v --debug --timeout 3600 > %t.pass.intsh.out
 # RUN: FileCheck  --check-prefix=CHECK-OUT-COMMON-SHORT < %t.pass.intsh.out %s
-# RUN: FileCheck --check-prefix=CHECK-INTSH-ERR < %t.pass.intsh.err %s
 
 # CHECK-OUT-COMMON-SHORT: PASS: per_test_timeout :: short.py
 # CHECK-OUT-COMMON-SHORT: Passed: 1
@@ -72,7 +49,7 @@
 # The value set on the command line should override the config file.
 # RUN: %{lit} \
 # RUN:   %{inputs}/shtest-timeout/short.py \
-# RUN:   -j 1 -v --debug --param external=0 \
+# RUN:   -j 1 -v --debug \
 # RUN: --param set_timeout=1 --timeout=3600 > %t.pass.cmdover.out 2> %t.pass.cmdover.err
 # RUN: FileCheck --check-prefix=CHECK-OUT-COMMON-SHORT  < %t.pass.cmdover.out %s
 # RUN: FileCheck --check-prefix=CHECK-CMDLINE-OVERRIDE-ERR < %t.pass.cmdover.err %s


        


More information about the llvm-commits mailing list