Skip to content

Commit

Permalink
Forward adb port for reverse connect test cases
Browse files Browse the repository at this point in the history
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

llvm-svn: 232170
  • Loading branch information
Tamas Berghammer committed Mar 13, 2015
1 parent 42f35de commit 27c8d36
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
Expand Up @@ -47,6 +47,10 @@ def reverse_connect_works(self):
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)
Expand Down
13 changes: 8 additions & 5 deletions lldb/test/tools/lldb-server/gdbremote_testcase.py
Expand Up @@ -173,6 +173,13 @@ def init_debugserver_test(self, use_named_pipe=True):
# 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
Expand All @@ -194,11 +201,7 @@ def shutdown_socket():

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])
Expand Down

0 comments on commit 27c8d36

Please sign in to comment.