Index: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py =================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py +++ lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py @@ -47,6 +47,7 @@ _verbose_log_handler = None _log_formatter = logging.Formatter(fmt='%(asctime)-15s %(levelname)-8s %(message)s') + _remote_server_log_file = None def setUpBaseLogging(self): self.logger = logging.getLogger(__name__) @@ -104,10 +105,35 @@ 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 +240,7 @@ 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 +249,7 @@ 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