Author: labath
Date: Fri Mar  4 05:27:00 2016
New Revision: 262713

URL: http://llvm.org/viewvc/llvm-project?rev=262713&view=rev
Log:
Resumbit "Fetch remote log files from LLGS tests"

The problem with the original patch (and my first attempt to fix) was that the 
value debug
monitor flags could persist from one test to another. Resetting the value in 
the setUp() function
fixes the problem.

Modified:
    
lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py

Modified: 
lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py?rev=262713&r1=262712&r2=262713&view=diff
==============================================================================
--- 
lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
 (original)
+++ 
lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
 Fri Mar  4 05:27:00 2016
@@ -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


_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to