Title: [110533] trunk/Tools
Revision
110533
Author
[email protected]
Date
2012-03-12 20:14:20 -0700 (Mon, 12 Mar 2012)

Log Message

webkit-patch optimize-baselines sometimes creates a mac-future result
https://bugs.webkit.org/show_bug.cgi?id=80717

Reviewed by Adam Barth.

* Scripts/webkitpy/common/checkout/baselineoptimizer.py:
(_baseline_search_hypergraph):
(BaselineOptimizer._find_optimal_result_placement):
(BaselineOptimizer._filter_virtual_ports):
* Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
(BaselineOptimizerTest.test_no_add_mac_future):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (110532 => 110533)


--- trunk/Tools/ChangeLog	2012-03-13 02:45:38 UTC (rev 110532)
+++ trunk/Tools/ChangeLog	2012-03-13 03:14:20 UTC (rev 110533)
@@ -1,3 +1,17 @@
+2012-03-12  Ojan Vafai  <[email protected]>
+
+        webkit-patch optimize-baselines sometimes creates a mac-future result
+        https://bugs.webkit.org/show_bug.cgi?id=80717
+
+        Reviewed by Adam Barth.
+
+        * Scripts/webkitpy/common/checkout/baselineoptimizer.py:
+        (_baseline_search_hypergraph):
+        (BaselineOptimizer._find_optimal_result_placement):
+        (BaselineOptimizer._filter_virtual_ports):
+        * Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
+        (BaselineOptimizerTest.test_no_add_mac_future):
+
 2012-03-12  Jessie Berlin  <[email protected]>
 
         More Windows build fixing.

Modified: trunk/Tools/Scripts/webkitpy/common/checkout/baselineoptimizer.py (110532 => 110533)


--- trunk/Tools/Scripts/webkitpy/common/checkout/baselineoptimizer.py	2012-03-13 02:45:38 UTC (rev 110532)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/baselineoptimizer.py	2012-03-13 03:14:20 UTC (rev 110533)
@@ -35,8 +35,7 @@
 
     # These edges in the hypergraph aren't visible on build.webkit.org,
     # but they impose constraints on how we optimize baselines.
-    hypergraph['mac-future'] = ['LayoutTests/platform/mac-future', 'LayoutTests/platform/mac', 'LayoutTests']
-    hypergraph['qt-unknown'] = ['LayoutTests/platform/qt-unknown', 'LayoutTests/platform/qt', 'LayoutTests']
+    hypergraph.update(_VIRTUAL_PORTS)
 
     # FIXME: Should we get this constant from somewhere?
     fallback_path = ['LayoutTests']
@@ -51,6 +50,12 @@
     return hypergraph
 
 
+_VIRTUAL_PORTS = {
+    'mac-future': ['LayoutTests/platform/mac-future', 'LayoutTests/platform/mac', 'LayoutTests'],
+    'qt-unknown': ['LayoutTests/platform/qt-unknown', 'LayoutTests/platform/qt', 'LayoutTests'],
+}
+
+
 # FIXME: Should this function be somewhere more general?
 def _invert_dictionary(dictionary):
     inverted_dictionary = {}
@@ -130,8 +135,18 @@
                 break  # Frowns. We do not appear to be converging.
             unsatisfied_port_names_by_result = new_unsatisfied_port_names_by_result
 
+        self._filter_virtual_ports(new_results_by_directory)
         return results_by_directory, new_results_by_directory
 
+    def _filter_virtual_ports(self, new_results_by_directory):
+        for port in _VIRTUAL_PORTS:
+            virtual_directory = _VIRTUAL_PORTS[port][0]
+            if virtual_directory in new_results_by_directory:
+                real_directory = _VIRTUAL_PORTS[port][1]
+                if real_directory not in new_results_by_directory:
+                    new_results_by_directory[real_directory] = new_results_by_directory[virtual_directory]
+                del new_results_by_directory[virtual_directory]
+
     def _move_baselines(self, baseline_name, results_by_directory, new_results_by_directory):
         data_for_result = {}
         for directory, result in results_by_directory.items():

Modified: trunk/Tools/Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py (110532 => 110533)


--- trunk/Tools/Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py	2012-03-13 02:45:38 UTC (rev 110532)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py	2012-03-13 03:14:20 UTC (rev 110533)
@@ -75,6 +75,19 @@
             'LayoutTests/platform/chromium-win': '462d03b9c025db1b0392d7453310dbee5f9a9e74',
         })
 
+    def test_no_add_mac_future(self):
+        self._assertOptimization({
+            'LayoutTests/platform/mac': '29a1715a6470d5dd9486a142f609708de84cdac8',
+            'LayoutTests/platform/win': '453e67177a75b2e79905154ece0efba6e5bfb65d',
+            'LayoutTests/platform/mac-snowleopard': 'c43eaeb358f49d5e835236ae23b7e49d7f2b089f',
+            'LayoutTests/platform/chromium-mac': 'a9ba153c700a94ae1b206d8e4a75a621a89b4554',
+        }, {
+            'LayoutTests/platform/mac': '29a1715a6470d5dd9486a142f609708de84cdac8',
+            'LayoutTests/platform/win': '453e67177a75b2e79905154ece0efba6e5bfb65d',
+            'LayoutTests/platform/mac-snowleopard': 'c43eaeb358f49d5e835236ae23b7e49d7f2b089f',
+            'LayoutTests/platform/chromium-mac': 'a9ba153c700a94ae1b206d8e4a75a621a89b4554',
+        })
+
     def test_chromium_covers_mac_win_linux(self):
         self._assertOptimization({
             'LayoutTests/platform/chromium-mac': '462d03b9c025db1b0392d7453310dbee5f9a9e74',
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to