[Lldb-commits] [lldb] [lldb][test] Support remote run of Shell tests (PR #95986)
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Thu Aug 1 01:30:52 PDT 2024
================
@@ -22,6 +25,60 @@ def _disallow(config, execName):
config.substitutions.append((" {0} ".format(execName), warning.format(execName)))
+def get_lldb_args(config, suffix=""):
+ lldb_args = []
+ if "remote-linux" in config.available_features:
+ lldb_args += [
+ "-O",
+ '"platform select remote-linux"',
+ "-O",
+ f'"platform connect {config.lldb_platform_url}"',
+ ]
+ if config.lldb_platform_working_dir:
+ dir = posixpath.join(f"{config.lldb_platform_working_dir}", "shell")
+ if suffix:
+ dir += posixpath.join(dir, f"{suffix}")
+ lldb_args += [
+ "-O",
+ f'"platform shell mkdir -p {dir}"',
+ "-O",
+ f'"platform settings -w {dir}"',
+ ]
+ lldb_args += ["--no-lldbinit", "-S", _get_lldb_init_path(config)]
+ return lldb_args
+
+
+class ShTestLldb(ShTest):
+ def __init__(
+ self, execute_external=False, extra_substitutions=[], preamble_commands=[]
+ ):
+ super().__init__(execute_external, extra_substitutions, preamble_commands)
+
+ def execute(self, test, litConfig):
+ # Run each Shell test in a separate directory (on remote).
+
+ # Find directory change command in %lldb substitution.
+ for i, t in enumerate(test.config.substitutions):
+ if re.match(t[0], "%lldb"):
----------------
DavidSpickett wrote:
Why is this re.match not `in` or `startswith`, normal string comparison stuff.
https://github.com/llvm/llvm-project/pull/95986
More information about the lldb-commits
mailing list