mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-26 20:30:41 +00:00
Bug 997770 - Allow users to explicitly input the connection timeout. Also the version of marionette_transport is updated from 0.2 to 0.3. r=mdas
This commit is contained in:
parent
c7cfdee5c9
commit
a0610ba42d
@ -25,7 +25,7 @@ class B2GUpdateMarionetteClient(MarionetteTransport):
|
||||
MAX_RETRIES = 24
|
||||
|
||||
def __init__(self, addr, port, runner):
|
||||
super(B2GUpdateMarionetteClient, self).__init__(addr, port)
|
||||
super(B2GUpdateMarionetteClient, self).__init__(addr, port, self.CONNECT_TIMEOUT)
|
||||
self.runner = runner
|
||||
|
||||
def connect(self):
|
||||
@ -36,7 +36,7 @@ class B2GUpdateMarionetteClient(MarionetteTransport):
|
||||
"""
|
||||
for i in range(self.MAX_RETRIES):
|
||||
try:
|
||||
MarionetteTransport.connect(self, timeout=self.CONNECT_TIMEOUT)
|
||||
MarionetteTransport.connect(self)
|
||||
break
|
||||
except:
|
||||
if i == self.MAX_RETRIES - 1:
|
||||
|
@ -449,8 +449,8 @@ class Marionette(object):
|
||||
profile=None, emulator=None, sdcard=None, emulator_img=None,
|
||||
emulator_binary=None, emulator_res=None, connect_to_running_emulator=False,
|
||||
gecko_log=None, homedir=None, baseurl=None, no_window=False, logdir=None,
|
||||
busybox=None, symbols_path=None, timeout=None, device_serial=None,
|
||||
adb_path=None):
|
||||
busybox=None, symbols_path=None, timeout=None, socket_timeout=360,
|
||||
device_serial=None, adb_path=None):
|
||||
self.host = host
|
||||
self.port = self.local_port = port
|
||||
self.bin = bin
|
||||
@ -464,6 +464,7 @@ class Marionette(object):
|
||||
self.no_window = no_window
|
||||
self._test_name = None
|
||||
self.timeout = timeout
|
||||
self.socket_timeout=socket_timeout
|
||||
self.device_serial = device_serial
|
||||
|
||||
if bin:
|
||||
@ -520,7 +521,7 @@ class Marionette(object):
|
||||
self.port = self.emulator.setup_port_forwarding(self.port)
|
||||
assert(self.emulator.wait_for_port(self.port)), "Timed out waiting for port!"
|
||||
|
||||
self.client = MarionetteTransport(self.host, self.port)
|
||||
self.client = MarionetteTransport(self.host, self.port, self.socket_timeout)
|
||||
|
||||
if emulator:
|
||||
if busybox:
|
||||
|
@ -1,4 +1,4 @@
|
||||
marionette-transport == 0.2
|
||||
marionette-transport == 0.3
|
||||
manifestparser
|
||||
mozhttpd >= 0.5
|
||||
mozinfo >= 0.7
|
||||
|
@ -18,9 +18,10 @@ class MarionetteTransport(object):
|
||||
max_packet_length = 4096
|
||||
connection_lost_msg = "Connection to Marionette server is lost. Check gecko.log (desktop firefox) or logcat (b2g) for errors."
|
||||
|
||||
def __init__(self, addr, port):
|
||||
def __init__(self, addr, port, socket_timeout=360.0):
|
||||
self.addr = addr
|
||||
self.port = port
|
||||
self.socket_timeout = socket_timeout
|
||||
self.sock = None
|
||||
self.traits = None
|
||||
self.applicationType = None
|
||||
@ -56,12 +57,12 @@ class MarionetteTransport(object):
|
||||
else:
|
||||
raise IOError(self.connection_lost_msg)
|
||||
|
||||
def connect(self, timeout=360.0):
|
||||
def connect(self):
|
||||
""" Connect to the server and process the hello message we expect
|
||||
to receive in response.
|
||||
"""
|
||||
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
self.sock.settimeout(timeout)
|
||||
self.sock.settimeout(self.socket_timeout)
|
||||
try:
|
||||
self.sock.connect((self.addr, self.port))
|
||||
except:
|
||||
|
@ -1,6 +1,6 @@
|
||||
from setuptools import setup, find_packages
|
||||
|
||||
version = '0.2'
|
||||
version = '0.3'
|
||||
|
||||
long_description = \
|
||||
"""Marionette_ is a Mozilla project to enable remote automation in Gecko-based
|
||||
|
Loading…
x
Reference in New Issue
Block a user