2011-02-21 Dirk Pranke <dpranke@chromium.org>
authordpranke@chromium.org <dpranke@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 Feb 2011 03:31:35 +0000 (03:31 +0000)
committerdpranke@chromium.org <dpranke@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 Feb 2011 03:31:35 +0000 (03:31 +0000)
        Reviewed by Kent Tamura.

        nrwt: revert behavior on 10.5 to "old-threads". It's possible
        that r79062 has introduced a bunch of flakiness, although I
        can't explain why right now. This change should restore the
        old behavior, and then we can look at the build logs to see
        if the tests stop timing out or being flaky.

        https://bugs.webkit.org/show_bug.cgi?id=54925

        * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
        * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
        * Scripts/webkitpy/layout_tests/port/mac.py:
        * Scripts/webkitpy/layout_tests/port/mac_unittest.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@79279 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py
Tools/Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py
Tools/Scripts/webkitpy/layout_tests/port/mac.py
Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py

index 1b03b7d..e9a638a 100644 (file)
@@ -1,5 +1,22 @@
 2011-02-21  Dirk Pranke  <dpranke@chromium.org>
 
+        Reviewed by Kent Tamura.
+
+        nrwt: revert behavior on 10.5 to "old-threads". It's possible
+        that r79062 has introduced a bunch of flakiness, although I
+        can't explain why right now. This change should restore the
+        old behavior, and then we can look at the build logs to see
+        if the tests stop timing out or being flaky.
+
+        https://bugs.webkit.org/show_bug.cgi?id=54925
+
+        * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+        * Scripts/webkitpy/layout_tests/port/chromium_mac_unittest.py:
+        * Scripts/webkitpy/layout_tests/port/mac.py:
+        * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
+
+2011-02-21  Dirk Pranke  <dpranke@chromium.org>
+
         Reviewed by Dimitri Glazkov.
 
         nrwt: fix typo causing us to try and repeatedly shut down the servers
index 6d68546..7b8a94f 100644 (file)
@@ -105,10 +105,22 @@ class ChromiumMacPort(chromium.ChromiumPort):
                        'MacBuildInstructions')
         return result
 
+    def default_child_processes(self):
+        if self.get_option('worker_model') == 'old-threads':
+            # FIXME: we need to run single-threaded for now. See
+            # https://bugs.webkit.org/show_bug.cgi?id=38553. Unfortunately this
+            # routine is called right before the logger is configured, so if we
+            # try to _log.warning(), it gets thrown away.
+            import sys
+            sys.stderr.write("Defaulting to one child - see https://bugs.webkit.org/show_bug.cgi?id=38553\n")
+            return 1
+
+        return chromium.ChromiumPort.default_child_processes(self)
+
     def default_worker_model(self):
         if multiprocessing:
             return 'processes'
-        return 'inline'
+        return 'old-threads'
 
     def driver_name(self):
         return "DumpRenderTree"
index 4fbe03d..666e1de 100644 (file)
@@ -57,7 +57,7 @@ class ChromiumMacPortTest(port_testcase.PortTestCase):
         if multiprocessing:
             self.assertEqual(port.default_worker_model(), 'processes')
         else:
-            self.assertEqual(port.default_worker_model(), 'inline')
+            self.assertEqual(port.default_worker_model(), 'old-threads')
 
     def assert_name(self, port_name, os_version_string, expected):
         port = chromium_mac.ChromiumMacPort(port_name=port_name,
index b2e1f80..64b9bca 100644 (file)
@@ -90,10 +90,19 @@ class MacPort(WebKitPort):
 
         WebKitPort.__init__(self, port_name=port_name, **kwargs)
 
+    def default_child_processes(self):
+        # FIXME: new-run-webkit-tests is unstable on Mac running more than
+        # four threads in parallel.
+        # See https://bugs.webkit.org/show_bug.cgi?id=36622
+        child_processes = WebKitPort.default_child_processes(self)
+        if self.get_option('worker_model') == 'old-threads' and child_processes > 4:
+            return 4
+        return child_processes
+
     def default_worker_model(self):
         if multiprocessing:
             return 'processes'
-        return 'inline'
+        return 'old-threads'
 
     def baseline_search_path(self):
         return map(self._webkit_baseline_path, self.FALLBACK_PATHS[self._version])
index dae05a9..cddd685 100644 (file)
@@ -59,7 +59,7 @@ class MacTest(port_testcase.PortTestCase):
         if multiprocessing:
             self.assertEqual(port.default_worker_model(), 'processes')
         else:
-            self.assertEqual(port.default_worker_model(), 'inline')
+            self.assertEqual(port.default_worker_model(), 'old-threads')
 
     def test_skipped_file_paths(self):
         # We skip this on win32 because we use '/' as the dir separator and it's