summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/tools/lldb-server
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/tools/lldb-server')
-rw-r--r--lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py34
1 files changed, 29 insertions, 5 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
index dde80aa25c8..aa86d3cfcc0 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
@@ -73,6 +73,8 @@ class GdbRemoteTestCaseBase(TestBase):
TestBase.setUp(self)
self.setUpBaseLogging()
+ self._remote_server_log_file = None
+ self.debug_monitor_extra_args = []
if self.isVerboseLoggingRequested():
# If requested, full logs go to a log file
@@ -104,10 +106,35 @@ class GdbRemoteTestCaseBase(TestBase):
self.stub_hostname = "localhost"
def tearDown(self):
+ if self._remote_server_log_file is not None:
+ lldb.remote_platform.Get(lldb.SBFileSpec(self._remote_server_log_file),
+ lldb.SBFileSpec(self.getLocalServerLogFile()))
+ lldb.remote_platform.Run(lldb.SBPlatformShellCommand("rm " + self._remote_server_log_file))
+ self._remote_server_log_file = None
+
self.logger.removeHandler(self._verbose_log_handler)
self._verbose_log_handler = None
TestBase.tearDown(self)
+ def getLocalServerLogFile(self):
+ return self.log_basename + "-server.log"
+
+ def setUpServerLogging(self, is_llgs):
+ if len(lldbtest_config.channels) == 0:
+ return # No logging requested
+
+ if lldb.remote_platform:
+ log_file = lldbutil.join_remote_paths(lldb.remote_platform.GetWorkingDirectory(), "server.log")
+ self._remote_server_log_file = log_file
+ else:
+ log_file = self.getLocalServerLogFile()
+
+ if is_llgs:
+ self.debug_monitor_extra_args.append("--log-file=" + log_file)
+ self.debug_monitor_extra_args.append("--log-channels={}".format(":".join(lldbtest_config.channels)))
+ else:
+ self.debug_monitor_extra_args = ["--log-file=" + self.log_file, "--log-flags=0x800000"]
+
def get_next_port(self):
return 12000 + random.randint(0,3999)
@@ -214,10 +241,7 @@ class GdbRemoteTestCaseBase(TestBase):
self.skipTest("lldb-server exe not found")
self.debug_monitor_extra_args = ["gdbserver"]
-
- if len(lldbtest_config.channels) > 0:
- self.debug_monitor_extra_args.append("--log-file={}-server.log".format(self.log_basename))
- self.debug_monitor_extra_args.append("--log-channels={}".format(":".join(lldbtest_config.channels)))
+ self.setUpServerLogging(is_llgs=True)
if use_named_pipe:
(self.named_pipe_path, self.named_pipe, self.named_pipe_fd) = self.create_named_pipe()
@@ -226,7 +250,7 @@ class GdbRemoteTestCaseBase(TestBase):
self.debug_monitor_exe = get_debugserver_exe()
if not self.debug_monitor_exe:
self.skipTest("debugserver exe not found")
- self.debug_monitor_extra_args = ["--log-file={}-server.log".format(self.log_basename), "--log-flags=0x800000"]
+ self.setUpServerLogging(is_llgs=False)
if use_named_pipe:
(self.named_pipe_path, self.named_pipe, self.named_pipe_fd) = self.create_named_pipe()
# The debugserver stub has a race on handling the 'k' command, so it sends an X09 right away, then sends the real X notification
OpenPOWER on IntegriCloud