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

Unified Diff: Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.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/layout_test_runner.py
diff --git a/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py b/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py
index 2847f84ad6aca20525f2b130539557f81daf1ff3..939e8bdb7eec2ce4fad863b219088d919e8e9859 100644
--- a/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py
+++ b/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py
@@ -72,26 +72,18 @@ class LayoutTestRunner(object):
self._expectations = None
self._test_inputs = []
- self._needs_http = None
- self._needs_websockets = None
self._retrying = False
self._current_run_results = None
- self._remaining_locked_shards = []
- self._has_http_lock = False
- def run_tests(self, expectations, test_inputs, tests_to_skip, num_workers, needs_http, needs_websockets, retrying):
+ def run_tests(self, expectations, test_inputs, tests_to_skip, num_workers, retrying):
self._expectations = expectations
self._test_inputs = test_inputs
- self._needs_http = needs_http
- self._needs_websockets = needs_websockets
self._retrying = retrying
# FIXME: rename all variables to test_run_results or some such ...
run_results = TestRunResults(self._expectations, len(test_inputs) + len(tests_to_skip))
self._current_run_results = run_results
- self._remaining_locked_shards = []
- self._has_http_lock = False
self._printer.num_tests = len(test_inputs)
self._printer.num_completed = 0
@@ -106,19 +98,10 @@ class LayoutTestRunner(object):
self._printer.write_update('Sharding tests ...')
locked_shards, unlocked_shards = self._sharder.shard_tests(test_inputs, int(self._options.child_processes), self._options.fully_parallel)
- # FIXME: We don't have a good way to coordinate the workers so that
- # they don't try to run the shards that need a lock if we don't actually
- # have the lock. The easiest solution at the moment is to grab the
- # lock at the beginning of the run, and then run all of the locked
- # shards first. This minimizes the time spent holding the lock, but
- # means that we won't be running tests while we're waiting for the lock.
- # If this becomes a problem in practice we'll need to change this.
-
+ # We don't have a good way to coordinate the workers so that they don't
+ # try to run the shards that need a lock. The easiest solution is to
+ # run all of the locked shards first.
all_shards = locked_shards + unlocked_shards
- self._remaining_locked_shards = locked_shards
- if self._port.requires_http_server() or locked_shards:
- self.start_servers_with_lock(2 * min(num_workers, len(locked_shards)))
-
num_workers = min(num_workers, len(all_shards))
self._printer.print_workers_and_shards(num_workers, len(all_shards), len(locked_shards))
@@ -140,8 +123,6 @@ class LayoutTestRunner(object):
except Exception, e:
_log.debug('%s("%s") raised, exiting' % (e.__class__.__name__, str(e)))
raise
- finally:
- self.stop_servers_with_lock()
return run_results
@@ -193,29 +174,6 @@ class LayoutTestRunner(object):
self._interrupt_if_at_failure_limits(run_results)
- def start_servers_with_lock(self, number_of_servers):
- self._printer.write_update('Acquiring http lock ...')
- self._port.acquire_http_lock()
- if self._needs_http:
- self._printer.write_update('Starting HTTP server ...')
- self._port.start_http_server(number_of_servers=number_of_servers)
- if self._needs_websockets:
- self._printer.write_update('Starting WebSocket server ...')
- self._port.start_websocket_server()
- self._has_http_lock = True
-
- def stop_servers_with_lock(self):
- if self._has_http_lock:
- if self._needs_http:
- self._printer.write_update('Stopping HTTP server ...')
- self._port.stop_http_server()
- if self._needs_websockets:
- self._printer.write_update('Stopping WebSocket server ...')
- self._port.stop_websocket_server()
- self._printer.write_update('Releasing server lock ...')
- self._port.release_http_lock()
- self._has_http_lock = False
-
def handle(self, name, source, *args):
method = getattr(self, '_handle_' + name)
if method:
@@ -226,17 +184,7 @@ class LayoutTestRunner(object):
self._printer.print_started_test(test_input.test_name)
def _handle_finished_test_list(self, worker_name, list_name):
- def find(name, test_lists):
- for i in range(len(test_lists)):
- if test_lists[i].name == name:
- return i
- return -1
-
- index = find(list_name, self._remaining_locked_shards)
- if index >= 0:
- self._remaining_locked_shards.pop(index)
- if not self._remaining_locked_shards and not self._port.requires_http_server():
- self.stop_servers_with_lock()
+ pass
def _handle_finished_test(self, worker_name, result, log_messages=[]):
self._update_summary_with_result(self._current_run_results, result)

Powered by Google App Engine
This is Rietveld 408576698