[Lldb-commits] [lldb] r232170 - Forward adb port for reverse connect test cases

Tamas Berghammer tberghammer at google.com
Fri Mar 13 07:32:25 PDT 2015


Author: tberghammer
Date: Fri Mar 13 09:32:25 2015
New Revision: 232170

URL: http://llvm.org/viewvc/llvm-project?rev=232170&view=rev
Log:
Forward adb port for reverse connect test cases

The test cases in TestStubReverseConnect are using a socket connection
from python to lldb-server running on a remote target. To enable the
socket connection an adb port forwarding have to be set up when the
remote target is android.

Differential revision: http://reviews.llvm.org/D8319

Modified:
    lldb/trunk/test/tools/lldb-server/commandline/TestStubReverseConnect.py
    lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py

Modified: lldb/trunk/test/tools/lldb-server/commandline/TestStubReverseConnect.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/commandline/TestStubReverseConnect.py?rev=232170&r1=232169&r2=232170&view=diff
==============================================================================
--- lldb/trunk/test/tools/lldb-server/commandline/TestStubReverseConnect.py (original)
+++ lldb/trunk/test/tools/lldb-server/commandline/TestStubReverseConnect.py Fri Mar 13 09:32:25 2015
@@ -47,6 +47,10 @@ class TestStubReverseConnect(gdbremote_t
         self.stub_hostname = "127.0.0.1"
         self.port = self.listener_port
 
+        triple = self.dbg.GetSelectedPlatform().GetTriple()
+        if re.match(".*-.*-.*-android", triple):
+            self.forward_adb_port(self.port, self.port, "reverse")
+
         # Start the stub.
         server = self.launch_debug_monitor(logfile=sys.stdout)
         self.assertIsNotNone(server)

Modified: lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py?rev=232170&r1=232169&r2=232170&view=diff
==============================================================================
--- lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py (original)
+++ lldb/trunk/test/tools/lldb-server/gdbremote_testcase.py Fri Mar 13 09:32:25 2015
@@ -173,6 +173,13 @@ class GdbRemoteTestCaseBase(TestBase):
         # when the process truly dies.
         self.stub_sends_two_stop_notifications_on_kill = True
 
+    def forward_adb_port(self, source, target, direction):
+        def remove_port_forward():
+            subprocess.call(["adb", direction, "--remove", "tcp:%d" % source])
+        
+        subprocess.call(["adb", direction, "tcp:%d" % source, "tcp:%d" % target])
+        self.addTearDownHook(remove_port_forward)
+
     def create_socket(self):
         sock = socket.socket()
         logger = self.logger
@@ -194,11 +201,7 @@ class GdbRemoteTestCaseBase(TestBase):
 
         triple = self.dbg.GetSelectedPlatform().GetTriple()
         if re.match(".*-.*-.*-android", triple):
-            subprocess.call(["adb", "forward", "tcp:%d" % self.port, "tcp:%d" % self.port])
-            def remove_port_forward():
-                subprocess.call(["adb", "forward", "--remove", "tcp:%d" % self.port])
-
-            self.addTearDownHook(remove_port_forward)
+            self.forward_adb_port(self.port, self.port, "forward")
 
         connect_info = (self.stub_hostname, self.port)
         # print "connecting to stub on {}:{}".format(connect_info[0], connect_info[1])





More information about the lldb-commits mailing list