Index: lldb/lit/lit-lldb-init.in =================================================================== --- lldb/lit/lit-lldb-init.in +++ lldb/lit/lit-lldb-init.in @@ -1,3 +1,4 @@ # LLDB init file for the LIT tests. settings set symbols.enable-external-lookup false +settings set plugin.process.gdb-remote.packet-timeout 300 settings set interpreter.echo-comment-commands false Index: lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template =================================================================== --- lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template +++ lldb/packages/Python/lldbsuite/test/api/multithreaded/driver.cpp.template @@ -32,6 +32,7 @@ SBDebugger::Initialize(); SBDebugger dbg = SBDebugger::Create(); dbg.HandleCommand("settings set symbols.enable-external-lookup false"); + dbg.HandleCommand("settings set plugin.process.gdb-remote.packet-timeout 300"); try { if (!dbg.IsValid()) Index: lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestNoWatchpointSupportInfo.py =================================================================== --- lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestNoWatchpointSupportInfo.py +++ lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestNoWatchpointSupportInfo.py @@ -21,6 +21,7 @@ def threadStopInfo(self, threadnum): if threadnum == 0x1ff0d: return "T02thread:1ff0d;thread-pcs:10001bc00;" + return "" def setBreakpoint(self, packet): if packet.startswith("Z2,"): Index: lldb/packages/Python/lldbsuite/test/lldbtest.py =================================================================== --- lldb/packages/Python/lldbsuite/test/lldbtest.py +++ lldb/packages/Python/lldbsuite/test/lldbtest.py @@ -698,6 +698,17 @@ """Return absolute path to a file in the test's source directory.""" return os.path.join(self.getSourceDir(), name) + @staticmethod + def setUpCommands(): + return [ + # Disable Spotlight lookup. The testsuite creates + # different binaries with the same UUID, because they only + # differ in the debug info, which is not being hashed. + "settings set symbols.enable-external-lookup false", + + # Testsuite runs in parallel and the host can have also other load. + "settings set plugin.process.gdb-remote.packet-timeout 300"] + def setUp(self): """Fixture for unittest test case setup. @@ -716,7 +727,7 @@ else: self.lldbVSCodeExec = None - self.lldbOption = "-o 'settings set symbols.enable-external-lookup false'" + self.lldbOption = " ".join("-o '" + s + "'" for s in self.setUpCommands()) # If we spawn an lldb process for test (via pexpect), do not load the # init file unless told otherwise. @@ -1856,10 +1867,8 @@ self.runCmd('settings set symbols.clang-modules-cache-path "%s"' % mod_cache) - # Disable Spotlight lookup. The testsuite creates - # different binaries with the same UUID, because they only - # differ in the debug info, which is not being hashed. - self.runCmd('settings set symbols.enable-external-lookup false') + for s in self.setUpCommands(): + self.runCmd(s) # Disable color. self.runCmd("settings set use-color false") Index: lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py =================================================================== --- lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py +++ lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py @@ -10,6 +10,7 @@ import subprocess import sys import threading +from lldbsuite.test.lldbtest import Base def dump_memory(base_addr, data, num_per_line, outfile): @@ -447,8 +448,7 @@ args_dict['waitFor'] = waitFor if trace: args_dict['trace'] = trace - args_dict['initCommands'] = [ - 'settings set symbols.enable-external-lookup false'] + args_dict['initCommands'] = Base.setUpCommands() if initCommands: args_dict['initCommands'].extend(initCommands) if preRunCommands: @@ -578,8 +578,7 @@ args_dict['shellExpandArguments'] = shellExpandArguments if trace: args_dict['trace'] = trace - args_dict['initCommands'] = [ - 'settings set symbols.enable-external-lookup false'] + args_dict['initCommands'] = Base.setUpCommands() if initCommands: args_dict['initCommands'].extend(initCommands) if preRunCommands: Index: lldb/tools/lldb-test/lldb-test.cpp =================================================================== --- lldb/tools/lldb-test/lldb-test.cpp +++ lldb/tools/lldb-test/lldb-test.cpp @@ -976,6 +976,12 @@ auto Dbg = lldb_private::Debugger::CreateInstance(); ModuleList::GetGlobalModuleListProperties().SetEnableExternalLookup(false); + // There is no SB API for settings in general like: + // GetGlobalPluginProperties()->SetPacketTimeout(std::chrono::seconds(300)); + CommandReturnObject Result; + Dbg->GetCommandInterpreter().HandleCommand( + "settings set plugin.process.gdb-remote.packet-timeout 300", + /*add_to_history*/ eLazyBoolNo, Result); if (!opts::Log.empty()) Dbg->EnableLog("lldb", {"all"}, opts::Log, 0, errs());