Changeset 77998 in webkit
- Timestamp:
- Feb 8, 2011 5:17:02 PM (13 years ago)
- Location:
- trunk/Tools
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r77994 r77998 1 2011-02-08 Dirk Pranke <dpranke@chromium.org> 2 3 Reviewed by Tony Chang. 4 5 new-run-webkit-tests: move the logic that starts and stops the 6 servers from dump_render_tree_thread into single_test_runner 7 so that we can reuse it in the new multiprocessing worker class 8 as well. 9 10 https://bugs.webkit.org/show_bug.cgi?id=53840 11 12 * Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py: 13 * Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py: 14 1 15 2011-02-08 Dirk Pranke <dpranke@chromium.org> 2 16 -
trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/dump_render_tree_thread.py
r77992 r77998 75 75 self._current_group = None 76 76 self._filename_list = [] 77 self._single_test_runner = None78 77 self._test_group_timing_stats = {} 79 78 self._test_results = [] … … 81 80 self._start_time = 0 82 81 self._stop_time = 0 83 self._have_http_lock = False84 82 self._http_lock_wait_begin = 0 85 83 self._http_lock_wait_end = 0 86 84 87 def cleanup(self):88 if self._single_test_runner:89 self._single_test_runner.cleanup()90 if self._have_http_lock:91 self._stop_servers_with_lock()92 93 # Current group of tests we're running.94 self._current_group = None95 # Number of tests in self._current_group.96 self._num_tests_in_current_group = None97 # Time at which we started running tests from self._current_group.98 self._current_group_start_time = None99 100 85 def cancel(self): 101 86 """Set a flag telling this thread to quit.""" 102 self.cleanup()103 87 self._canceled = True 104 88 … … 192 176 If test_runner is not None, then we call test_runner.UpdateSummary() 193 177 with the results of each test.""" 194 s elf._single_test_runner = SingleTestRunner(self._options, self._port,178 single_test_runner = SingleTestRunner(self._options, self._port, 195 179 self._name, self._worker_number) 196 180 … … 208 192 _log.debug('Testing cancelled') 209 193 tests_run_file.close() 210 s elf.cleanup()194 single_test_runner.cleanup() 211 195 return 212 196 … … 221 205 self._filename_list_queue.get_nowait() 222 206 except Queue.Empty: 223 self.cleanup()224 207 tests_run_file.close() 208 single_test_runner.cleanup() 225 209 return 226 210 227 211 if self._current_group == "tests_to_http_lock": 228 self._start_servers_with_lock() 229 elif self._have_http_lock: 230 self._stop_servers_with_lock() 212 self._http_lock_wait_begin = time.time() 213 single_test_runner.start_servers_with_lock() 214 self._http_lock_wait_end = time.time() 215 elif single_test_runner.has_http_lock: 216 single_test_runner.stop_servers_with_lock() 231 217 232 218 self._num_tests_in_current_group = len(self._filename_list) … … 239 225 self._num_tests += 1 240 226 241 timeout = s elf._single_test_runner.timeout(test_input)242 result = s elf._single_test_runner.run_test(test_input, timeout)227 timeout = single_test_runner.timeout(test_input) 228 result = single_test_runner.run_test(test_input, timeout) 243 229 244 230 tests_run_file.write(test_input.filename + "\n") … … 247 233 # Check and kill DumpRenderTree if we need to. 248 234 if any([f.should_kill_dump_render_tree() for f in result.failures]): 249 s elf._single_test_runner.kill_dump_render_tree()235 single_test_runner.kill_dump_render_tree() 250 236 # Reset the batch count since the shell just bounced. 251 237 batch_count = 0 … … 261 247 if batch_size > 0 and batch_count >= batch_size: 262 248 # Bounce the shell and reset count. 263 s elf._single_test_runner.kill_dump_render_tree()249 single_test_runner.kill_dump_render_tree() 264 250 batch_count = 0 265 251 266 252 if test_runner: 267 253 test_runner.update_summary(result_summary) 268 269 def _start_servers_with_lock(self):270 """Acquire http lock and start the servers."""271 self._http_lock_wait_begin = time.time()272 _log.debug('Acquire http lock ...')273 self._port.acquire_http_lock()274 _log.debug('Starting HTTP server ...')275 self._port.start_http_server()276 _log.debug('Starting WebSocket server ...')277 self._port.start_websocket_server()278 self._http_lock_wait_end = time.time()279 self._have_http_lock = True280 281 def _stop_servers_with_lock(self):282 """Stop the servers and release http lock."""283 if self._have_http_lock:284 _log.debug('Stopping HTTP server ...')285 self._port.stop_http_server()286 _log.debug('Stopping WebSocket server ...')287 self._port.stop_websocket_server()288 _log.debug('Release http lock ...')289 self._port.release_http_lock()290 self._have_http_lock = False -
trunk/Tools/Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py
r77992 r77998 61 61 self._driver = None 62 62 self._test_types = [] 63 self.has_http_lock = False 63 64 for cls in self._get_test_type_classes(): 64 65 self._test_types.append(cls(self._port, … … 67 68 def cleanup(self): 68 69 self.kill_dump_render_tree() 70 if self.has_http_lock: 71 self.stop_servers_with_lock() 69 72 70 73 def _get_test_type_classes(self): … … 233 236 total_time_for_all_diffs, time_for_diffs) 234 237 238 def start_servers_with_lock(self): 239 _log.debug('Acquiring http lock ...') 240 self._port.acquire_http_lock() 241 _log.debug('Starting HTTP server ...') 242 self._port.start_http_server() 243 _log.debug('Starting WebSocket server ...') 244 self._port.start_websocket_server() 245 self.has_http_lock = True 246 247 def stop_servers_with_lock(self): 248 """Stop the servers and release http lock.""" 249 if self.has_http_lock: 250 _log.debug('Stopping HTTP server ...') 251 self._port.stop_http_server() 252 _log.debug('Stopping WebSocket server ...') 253 self._port.stop_websocket_server() 254 _log.debug('Releasing server lock ...') 255 self._port.release_http_lock() 256 self.has_http_lock = False 257 235 258 def kill_dump_render_tree(self): 236 259 """Kill the DumpRenderTree process if it's running."""
Note: See TracChangeset
for help on using the changeset viewer.