From f30f618ab83013f9e4512ea7e11c74b74b701a62 Mon Sep 17 00:00:00 2001 From: "dpranke@chromium.org" Date: Wed, 22 Feb 2012 00:29:33 +0000 Subject: [PATCH] nrwt: make the delay between starting workers configurable per-port https://bugs.webkit.org/show_bug.cgi?id=79148 Reviewed by Eric Seidel. Because of bug 79147, we have to sleep a bit in between starting DRTs; however, doing so across the board slows down the Test port. Making this configurable shaves 10 seconds off of run_webkit_tests_integrationtest.py * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._run_tests): * Scripts/webkitpy/layout_tests/port/base.py: (Port.worker_startup_delay_secs): * Scripts/webkitpy/layout_tests/port/test.py: (TestPort.worker_startup_delay_secs): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108413 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Tools/ChangeLog | 19 +++++++++++++++++++ .../webkitpy/layout_tests/controllers/manager.py | 6 +----- Tools/Scripts/webkitpy/layout_tests/port/base.py | 7 +++++++ Tools/Scripts/webkitpy/layout_tests/port/test.py | 3 +++ 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/Tools/ChangeLog b/Tools/ChangeLog index dbf7cde..c3bb2b3 100644 --- a/Tools/ChangeLog +++ b/Tools/ChangeLog @@ -1,3 +1,22 @@ +2012-02-21 Dirk Pranke + + nrwt: make the delay between starting workers configurable per-port + https://bugs.webkit.org/show_bug.cgi?id=79148 + + Reviewed by Eric Seidel. + + Because of bug 79147, we have to sleep a bit in between starting + DRTs; however, doing so across the board slows down the Test + port. Making this configurable shaves 10 seconds off of + run_webkit_tests_integrationtest.py + + * Scripts/webkitpy/layout_tests/controllers/manager.py: + (Manager._run_tests): + * Scripts/webkitpy/layout_tests/port/base.py: + (Port.worker_startup_delay_secs): + * Scripts/webkitpy/layout_tests/port/test.py: + (TestPort.worker_startup_delay_secs): + 2012-02-21 Jon Lee Bring notifications support to WK1 mac diff --git a/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py b/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py index 1e2a15c..150a50a 100644 --- a/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py +++ b/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py @@ -774,11 +774,7 @@ class Manager(object): worker_state = _WorkerState(worker_number, worker_connection) self._worker_states[worker_connection.name()] = worker_state - # FIXME: If we start workers up too quickly, DumpRenderTree appears - # to thrash on something and time out its first few tests. Until - # we can figure out what's going on, sleep a bit in between - # workers. This needs a bug filed. - time.sleep(0.1) + time.sleep(self._port.worker_startup_delay_secs()) self._printer.print_update("Starting testing ...") for shard in all_shards: diff --git a/Tools/Scripts/webkitpy/layout_tests/port/base.py b/Tools/Scripts/webkitpy/layout_tests/port/base.py index 8050af3..1b86bfe 100755 --- a/Tools/Scripts/webkitpy/layout_tests/port/base.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/base.py @@ -169,6 +169,13 @@ class Port(object): def default_worker_model(self): return 'processes' + def worker_startup_delay_secs(self): + # FIXME: If we start workers up too quickly, DumpRenderTree appears + # to thrash on something and time out its first few tests. Until + # we can figure out what's going on, sleep a bit in between + # workers. See https://bugs.webkit.org/show_bug.cgi?id=79147 . + return 0.1 + def baseline_path(self): """Return the absolute path to the directory to store new baselines in for this port.""" baseline_search_paths = self.get_option('additional_platform_directory', []) + self.baseline_search_path() diff --git a/Tools/Scripts/webkitpy/layout_tests/port/test.py b/Tools/Scripts/webkitpy/layout_tests/port/test.py index 37f17d5..199460d 100644 --- a/Tools/Scripts/webkitpy/layout_tests/port/test.py +++ b/Tools/Scripts/webkitpy/layout_tests/port/test.py @@ -371,6 +371,9 @@ class TestPort(Port): def default_worker_model(self): return 'inline' + def worker_startup_delay_secs(self): + return 0 + def check_build(self, needs_http): return True -- 2.7.4