Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: build/android/pylib/base_test_runner.py

Issue 11148018: Upstream the android python scripts changes that enable the new Forwarder2 to be used in our test f… (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/all_android.gyp ('k') | build/android/pylib/forwarder.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import contextlib 5 import contextlib
6 import httplib 6 import httplib
7 import logging 7 import logging
8 import os 8 import os
9 import tempfile 9 import tempfile
10 import time 10 import time
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 extra_config_contents: Extra config contents for the HTTP server. 120 extra_config_contents: Extra config contents for the HTTP server.
121 """ 121 """
122 self._http_server = lighttpd_server.LighttpdServer( 122 self._http_server = lighttpd_server.LighttpdServer(
123 document_root, port=port, extra_config_contents=extra_config_contents) 123 document_root, port=port, extra_config_contents=extra_config_contents)
124 if self._http_server.StartupHttpServer(): 124 if self._http_server.StartupHttpServer():
125 logging.info('http server started: http://localhost:%s', 125 logging.info('http server started: http://localhost:%s',
126 self._http_server.port) 126 self._http_server.port)
127 else: 127 else:
128 logging.critical('Failed to start http server') 128 logging.critical('Failed to start http server')
129 self.StartForwarderForHttpServer() 129 self.StartForwarderForHttpServer()
130 return (self._forwarder_device_port, self._http_server.port)
130 131
131 def StartForwarder(self, port_pairs): 132 def StartForwarder(self, port_pairs):
132 """Starts TCP traffic forwarding for the given |port_pairs|. 133 """Starts TCP traffic forwarding for the given |port_pairs|.
133 134
134 Args: 135 Args:
135 host_port_pairs: A list of (device_port, local_port) tuples to forward. 136 host_port_pairs: A list of (device_port, local_port) tuples to forward.
136 """ 137 """
137 # Sometimes the forwarder device port may be already used. We have to kill
138 # all forwarder processes to ensure that the forwarder can be started since
139 # currently we can not associate the specified port to related pid.
140 self.adb.KillAll('forwarder')
141 if self._forwarder: 138 if self._forwarder:
142 self._forwarder.Close() 139 self._forwarder.Close()
143 self._forwarder = Forwarder( 140 self._forwarder = Forwarder(
144 self.adb, port_pairs, self.tool, '127.0.0.1', self.build_type) 141 self.adb, port_pairs, self.tool, '127.0.0.1', self.build_type)
145 142
146 def StartForwarderForHttpServer(self): 143 def StartForwarderForHttpServer(self):
147 """Starts a forwarder for the HTTP server. 144 """Starts a forwarder for the HTTP server.
148 145
149 The forwarder forwards HTTP requests and responses between host and device. 146 The forwarder forwards HTTP requests and responses between host and device.
150 """ 147 """
(...skipping 10 matching lines...) Expand all
161 self.StartForwarderForHttpServer() 158 self.StartForwarderForHttpServer()
162 159
163 def ShutdownHelperToolsForTestSuite(self): 160 def ShutdownHelperToolsForTestSuite(self):
164 """Shuts down the server and the forwarder.""" 161 """Shuts down the server and the forwarder."""
165 # Forwarders should be killed before the actual servers they're forwarding 162 # Forwarders should be killed before the actual servers they're forwarding
166 # to as they are clients potentially with open connections and to allow for 163 # to as they are clients potentially with open connections and to allow for
167 # proper hand-shake/shutdown. 164 # proper hand-shake/shutdown.
168 if self._forwarder or self._spawner_forwarder: 165 if self._forwarder or self._spawner_forwarder:
169 # Kill all forwarders on the device and then kill the process on the host 166 # Kill all forwarders on the device and then kill the process on the host
170 # (if it exists) 167 # (if it exists)
171 self.adb.KillAll('forwarder') 168 self.adb.KillAll('device_forwarder')
172 if self._forwarder: 169 if self._forwarder:
173 self._forwarder.Close() 170 self._forwarder.Close()
174 if self._spawner_forwarder: 171 if self._spawner_forwarder:
175 self._spawner_forwarder.Close() 172 self._spawner_forwarder.Close()
176 if self._http_server: 173 if self._http_server:
177 self._http_server.ShutdownHttpServer() 174 self._http_server.ShutdownHttpServer()
178 if self._spawning_server: 175 if self._spawning_server:
179 self._spawning_server.Stop() 176 self._spawning_server.Stop()
180 self.flags.Restore() 177 self.flags.Restore()
181 178
(...skipping 22 matching lines...) Expand all
204 # Wait for 2 seconds then restart. 201 # Wait for 2 seconds then restart.
205 time.sleep(2) 202 time.sleep(2)
206 if not server_ready: 203 if not server_ready:
207 logging.error(';'.join(error_msgs)) 204 logging.error(';'.join(error_msgs))
208 raise Exception('Can not start the test spawner server.') 205 raise Exception('Can not start the test spawner server.')
209 self._PushTestServerPortInfoToDevice() 206 self._PushTestServerPortInfoToDevice()
210 self._spawner_forwarder = Forwarder( 207 self._spawner_forwarder = Forwarder(
211 self.adb, 208 self.adb,
212 [(self.test_server_spawner_port, self.test_server_spawner_port)], 209 [(self.test_server_spawner_port, self.test_server_spawner_port)],
213 self.tool, '127.0.0.1', self.build_type) 210 self.tool, '127.0.0.1', self.build_type)
OLDNEW
« no previous file with comments | « build/all_android.gyp ('k') | build/android/pylib/forwarder.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698