nrwt: make the delay between starting workers configurable per-port
authordpranke@chromium.org <dpranke@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Feb 2012 00:29:33 +0000 (00:29 +0000)
committerdpranke@chromium.org <dpranke@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Feb 2012 00:29:33 +0000 (00:29 +0000)
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
Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
Tools/Scripts/webkitpy/layout_tests/port/base.py
Tools/Scripts/webkitpy/layout_tests/port/test.py

index dbf7cde..c3bb2b3 100644 (file)
@@ -1,3 +1,22 @@
+2012-02-21  Dirk Pranke  <dpranke@chromium.org>
+
+        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  <jonlee@apple.com>
 
         Bring notifications support to WK1 mac
index 1e2a15c..150a50a 100644 (file)
@@ -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:
index 8050af3..1b86bfe 100755 (executable)
@@ -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()
index 37f17d5..199460d 100644 (file)
@@ -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