================
@@ -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
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits