Title: [106616] trunk/Tools
Revision
106616
Author
[email protected]
Date
2012-02-02 19:03:16 -0800 (Thu, 02 Feb 2012)

Log Message

Run tests in serial on SnowLeopard to avoid CFURLCache crashes
https://bugs.webkit.org/show_bug.cgi?id=75145

Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort.default_child_processes):
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
(test_operating_system):
(test_default_child_processes):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (106615 => 106616)


--- trunk/Tools/ChangeLog	2012-02-03 02:53:09 UTC (rev 106615)
+++ trunk/Tools/ChangeLog	2012-02-03 03:03:16 UTC (rev 106616)
@@ -1,3 +1,16 @@
+2012-02-02  Eric Seidel  <[email protected]>
+
+        Run tests in serial on SnowLeopard to avoid CFURLCache crashes
+        https://bugs.webkit.org/show_bug.cgi?id=75145
+
+        Reviewed by Dirk Pranke.
+
+        * Scripts/webkitpy/layout_tests/port/mac.py:
+        (MacPort.default_child_processes):
+        * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
+        (test_operating_system):
+        (test_default_child_processes):
+
 2012-02-02  Dirk Pranke  <[email protected]>
 
        nrwt shouldn't blow up when there are errors in test_expectations.txt

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/mac.py (106615 => 106616)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/mac.py	2012-02-03 02:53:09 UTC (rev 106615)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/mac.py	2012-02-03 03:03:16 UTC (rev 106616)
@@ -87,6 +87,12 @@
     def is_crash_reporter(self, process_name):
         return re.search(r'ReportCrash', process_name)
 
+    def default_child_processes(self):
+        if self.is_snowleopard():
+            _log.warn("Cannot run tests in parallel on Snow Leopard due to rdar://problem/10621525.")
+            return 1
+        return super(MacPort, self).default_child_processes()
+
     def _build_java_test_support(self):
         java_tests_path = self._filesystem.join(self.layout_tests_dir(), "java")
         build_java = ["/usr/bin/make", "-C", java_tests_path]

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py (106615 => 106616)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py	2012-02-03 02:53:09 UTC (rev 106615)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/mac_unittest.py	2012-02-03 03:03:16 UTC (rev 106616)
@@ -166,3 +166,14 @@
 
     def test_operating_system(self):
         self.assertEqual('mac', self.make_port().operating_system())
+
+    def test_default_child_processes(self):
+        port = self.make_port(port_name='mac-lion')
+        # MockPlatformInfo only has 2 mock cores.  The important part is that 2 > 1.
+        self.assertEqual(port.default_child_processes(), 2)
+
+        # SnowLeopard has a CFNetwork bug which causes crashes if we execute more than one copy of DRT at once.
+        port = self.make_port(port_name='mac-snowleopard')
+        expected_logs = "Cannot run tests in parallel on Snow Leopard due to rdar://problem/10621525.\n"
+        child_processes = OutputCapture().assert_outputs(self, port.default_child_processes, (), expected_logs=expected_logs)
+        self.assertEqual(child_processes, 1)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to