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

Unified Diff: Tools/Scripts/webkitpy/layout_tests/controllers/manager.py

Issue 17320009: Remove the 'http_lock' and 'file_lock' code from webkitpy. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: fix merge again Created 7 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
diff --git a/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py b/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
index 17b303bbc2c8366fecb0e746359884cd2f44c250..211a8513af277eda5c5477544b66220be1fe4b00 100644
--- a/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
+++ b/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
@@ -81,10 +81,8 @@ class Manager(object):
self.PERF_SUBDIR = 'perf'
self.WEBSOCKET_SUBDIR = 'websocket' + port.TEST_PATH_SEPARATOR
self.LAYOUT_TESTS_DIRECTORY = 'LayoutTests'
-
- # disable wss server. need to install pyOpenSSL on buildbots.
- # self._websocket_secure_server = websocket_server.PyWebSocket(
- # options.results_directory, use_tls=True, port=9323)
+ self._http_server_started = False
+ self._websockets_server_started = False
self._results_directory = self._port.results_directory()
self._finder = LayoutTestFinder(self._port, self._options)
@@ -197,9 +195,12 @@ class Manager(object):
else:
should_retry_failures = self._options.retry_failures
+
start_time = time.time()
enabled_pixel_tests_in_retry = False
try:
+ self._start_servers(tests_to_run)
+
initial_results = self._run_tests(tests_to_run, tests_to_skip, self._options.repeat_each, self._options.iterations,
int(self._options.child_processes), retrying=False)
@@ -218,6 +219,7 @@ class Manager(object):
else:
retry_results = None
finally:
+ self._stop_servers()
self._clean_up_run()
end_time = time.time()
@@ -247,15 +249,34 @@ class Manager(object):
return test_run_results.RunDetails(exit_code, summarized_full_results, summarized_failing_results, initial_results, retry_results, enabled_pixel_tests_in_retry)
def _run_tests(self, tests_to_run, tests_to_skip, repeat_each, iterations, num_workers, retrying):
- needs_http = self._port.requires_http_server() or any(self._is_http_test(test) for test in tests_to_run)
- needs_websockets = any(self._is_websocket_test(test) for test in tests_to_run)
test_inputs = []
for _ in xrange(iterations):
for test in tests_to_run:
for _ in xrange(repeat_each):
test_inputs.append(self._test_input_for_file(test))
- return self._runner.run_tests(self._expectations, test_inputs, tests_to_skip, num_workers, needs_http, needs_websockets, retrying)
+ return self._runner.run_tests(self._expectations, test_inputs, tests_to_skip, num_workers, retrying)
+
+ def _start_servers(self, tests_to_run):
+ if self._port.requires_http_server() or any(self._is_http_test(test) for test in tests_to_run):
+ self._printer.write_update('Starting HTTP server ...')
+ self._port.start_http_server(number_of_servers=(2 * self._options.max_locked_shards))
+ self._http_server_started = True
+
+ if any(self._is_websocket_test(test) for test in tests_to_run):
+ self._printer.write_update('Starting WebSocket server ...')
+ self._port.start_websocket_server()
+ self._websockets_server_started = True
+
+ def _stop_servers(self):
+ if self._http_server_started:
+ self._printer.write_update('Stopping HTTP server ...')
+ self._http_server_started = False
+ self._port.stop_http_server()
+ if self._websockets_server_started:
+ self._printer.write_update('Stopping WebSocket server ...')
+ self._websockets_server_started = False
+ self._port.stop_websocket_server()
def _clean_up_run(self):
_log.debug("Flushing stdout")

Powered by Google App Engine
This is Rietveld 408576698