mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1036926 - Add ability to specify local_port in emulator.setup_port_forwarding(), r=wlach
This commit is contained in:
parent
fc7b881562
commit
51033836f0
@ -523,7 +523,7 @@ class Marionette(object):
|
|||||||
process_args=process_args)
|
process_args=process_args)
|
||||||
self.emulator = self.runner.device
|
self.emulator = self.runner.device
|
||||||
self.emulator.start()
|
self.emulator.start()
|
||||||
self.port = self.emulator.setup_port_forwarding(self.port)
|
self.port = self.emulator.setup_port_forwarding(remote_port=self.port)
|
||||||
assert(self.emulator.wait_for_port(self.port)), "Timed out waiting for port!"
|
assert(self.emulator.wait_for_port(self.port)), "Timed out waiting for port!"
|
||||||
|
|
||||||
if connect_to_running_emulator:
|
if connect_to_running_emulator:
|
||||||
@ -532,7 +532,7 @@ class Marionette(object):
|
|||||||
process_args=process_args)
|
process_args=process_args)
|
||||||
self.emulator = self.runner.device
|
self.emulator = self.runner.device
|
||||||
self.emulator.connect()
|
self.emulator.connect()
|
||||||
self.port = self.emulator.setup_port_forwarding(self.port)
|
self.port = self.emulator.setup_port_forwarding(remote_port=self.port)
|
||||||
assert(self.emulator.wait_for_port(self.port)), "Timed out waiting for port!"
|
assert(self.emulator.wait_for_port(self.port)), "Timed out waiting for port!"
|
||||||
|
|
||||||
self.client = MarionetteTransport(self.host, self.port, self.socket_timeout)
|
self.client = MarionetteTransport(self.host, self.port, self.socket_timeout)
|
||||||
|
@ -160,26 +160,30 @@ class Device(object):
|
|||||||
adb.wait()
|
adb.wait()
|
||||||
self.dm._verifyZip()
|
self.dm._verifyZip()
|
||||||
|
|
||||||
def setup_port_forwarding(self, remote_port):
|
def setup_port_forwarding(self, local_port=None, remote_port=2828):
|
||||||
"""
|
"""
|
||||||
Set up TCP port forwarding to the specified port on the device,
|
Set up TCP port forwarding to the specified port on the device,
|
||||||
using any availble local port, and return the local port.
|
using any availble local port (if none specified), and return the local port.
|
||||||
|
|
||||||
:param remote_port: The remote port to wait on.
|
:param local_port: The local port to forward from, if unspecified a
|
||||||
|
random port is chosen.
|
||||||
|
:param remote_port: The remote port to forward to, defaults to 2828.
|
||||||
|
:returns: The local_port being forwarded.
|
||||||
"""
|
"""
|
||||||
|
if not local_port:
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
s.bind(("",0))
|
s.bind(("",0))
|
||||||
local_port = s.getsockname()[1]
|
local_port = s.getsockname()[1]
|
||||||
s.close()
|
s.close()
|
||||||
|
|
||||||
self.dm.forward('tcp:%d' % local_port, 'tcp:%d' % remote_port)
|
self.dm.forward('tcp:%d' % int(local_port), 'tcp:%d' % int(remote_port))
|
||||||
return local_port
|
return local_port
|
||||||
|
|
||||||
def wait_for_net(self):
|
def wait_for_net(self):
|
||||||
active = False
|
active = False
|
||||||
time_out = 0
|
time_out = 0
|
||||||
while not active and time_out < 40:
|
while not active and time_out < 40:
|
||||||
proc = subprocess.Popen([self.dm._adbPath, 'shell', '/system/bin/netcfg'], stdout=subprocess.PIPE)
|
proc = subprocess.Popen([self.app_ctx.adb, 'shell', '/system/bin/netcfg'], stdout=subprocess.PIPE)
|
||||||
proc.stdout.readline() # ignore first line
|
proc.stdout.readline() # ignore first line
|
||||||
line = proc.stdout.readline()
|
line = proc.stdout.readline()
|
||||||
while line != "":
|
while line != "":
|
||||||
|
Loading…
Reference in New Issue
Block a user