Index: build/android/pylib/chrome_test_server_spawner.py |
diff --git a/build/android/pylib/chrome_test_server_spawner.py b/build/android/pylib/chrome_test_server_spawner.py |
index 2a0fa4641ceaeed81f081196f35a53c7e11f5eff..ec101803ccef57a4b5c7a4acd27ea839a145ba5a 100644 |
--- a/build/android/pylib/chrome_test_server_spawner.py |
+++ b/build/android/pylib/chrome_test_server_spawner.py |
@@ -21,7 +21,6 @@ import time |
import urlparse |
import constants |
-from forwarder import Forwarder |
import ports |
@@ -99,7 +98,7 @@ def _GetServerTypeCommandLine(server_type): |
class TestServerThread(threading.Thread): |
"""A thread to run the test server in a separate process.""" |
- def __init__(self, ready_event, arguments, adb, tool, build_type): |
+ def __init__(self, ready_event, arguments, adb, tool, forwarder, build_type): |
"""Initialize TestServerThread with the following argument. |
Args: |
@@ -107,6 +106,7 @@ class TestServerThread(threading.Thread): |
arguments: dictionary of arguments to run the test server. |
adb: instance of AndroidCommands. |
tool: instance of runtime error detection tool. |
+ forwarder: instance of Forwarder. |
build_type: 'Release' or 'Debug'. |
""" |
threading.Thread.__init__(self) |
@@ -121,7 +121,7 @@ class TestServerThread(threading.Thread): |
self.is_ready = False |
self.host_port = self.arguments['port'] |
assert isinstance(self.host_port, int) |
- self._test_server_forwarder = None |
+ self._test_server_forwarder = forwarder |
# The forwarder device port now is dynamically allocated. |
self.forwarder_device_port = 0 |
# Anonymous pipe in order to get port info from test server. |
@@ -239,7 +239,6 @@ class TestServerThread(threading.Thread): |
else: |
self.is_ready = _CheckPortStatus(self.host_port, True) |
if self.is_ready: |
- self._test_server_forwarder = Forwarder(self.adb, self.build_type) |
self._test_server_forwarder.Run( |
[(0, self.host_port)], self.tool, '127.0.0.1') |
# Check whether the forwarder is ready on the device. |
@@ -255,8 +254,7 @@ class TestServerThread(threading.Thread): |
_WaitUntil(lambda: self.stop_flag, max_attempts=sys.maxint) |
if self.process.poll() is None: |
self.process.kill() |
- if self._test_server_forwarder: |
- self._test_server_forwarder.UnmapDevicePort(self.forwarder_device_port) |
+ self._test_server_forwarder.UnmapDevicePort(self.forwarder_device_port) |
self.process = None |
self.is_ready = False |
if self.pipe_out: |
@@ -326,6 +324,7 @@ class SpawningServerRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): |
json.loads(test_server_argument_json), |
self.server.adb, |
self.server.tool, |
+ self.server.forwarder, |
self.server.build_type) |
self.server.test_server_instance.setDaemon(True) |
self.server.test_server_instance.start() |
@@ -393,13 +392,14 @@ class SpawningServerRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): |
class SpawningServer(object): |
"""The class used to start/stop a http server.""" |
- def __init__(self, test_server_spawner_port, adb, tool, build_type): |
+ def __init__(self, test_server_spawner_port, adb, tool, forwarder, |
+ build_type): |
logging.info('Creating new spawner on port: %d.', test_server_spawner_port) |
self.server = BaseHTTPServer.HTTPServer(('', test_server_spawner_port), |
SpawningServerRequestHandler) |
- self.port = test_server_spawner_port |
self.server.adb = adb |
self.server.tool = tool |
+ self.server.forwarder = forwarder |
self.server.test_server_instance = None |
self.server.build_type = build_type |