Title: [90548] trunk/Tools
Revision
90548
Author
[email protected]
Date
2011-07-07 00:44:42 -0700 (Thu, 07 Jul 2011)

Log Message

2011-07-07  Eric Seidel  <[email protected]>

        Fix WebKit2 expected results search paths for Mac and Qt under new-run-webkit-tests
        https://bugs.webkit.org/show_bug.cgi?id=64056

        Unreviewed.

        I had written this unittest prior to landing my change, but
        had named it qt_unitest.py, so it wasn't running (nor was
        it added to my git repo).

        Once I fixe the name of the unittest file, it was very easy
        to fix the error in webkit.py (which already had a FIXME).

        * Scripts/webkitpy/layout_tests/port/qt_unittest.py: Added.
        * Scripts/webkitpy/layout_tests/port/webkit.py:

Modified Paths

Added Paths

Diff

Modified: trunk/Tools/ChangeLog (90547 => 90548)


--- trunk/Tools/ChangeLog	2011-07-07 07:26:52 UTC (rev 90547)
+++ trunk/Tools/ChangeLog	2011-07-07 07:44:42 UTC (rev 90548)
@@ -1,5 +1,22 @@
 2011-07-07  Eric Seidel  <[email protected]>
 
+        Fix WebKit2 expected results search paths for Mac and Qt under new-run-webkit-tests
+        https://bugs.webkit.org/show_bug.cgi?id=64056
+
+        Unreviewed.
+
+        I had written this unittest prior to landing my change, but
+        had named it qt_unitest.py, so it wasn't running (nor was
+        it added to my git repo).
+
+        Once I fixe the name of the unittest file, it was very easy
+        to fix the error in webkit.py (which already had a FIXME).
+
+        * Scripts/webkitpy/layout_tests/port/qt_unittest.py: Added.
+        * Scripts/webkitpy/layout_tests/port/webkit.py:
+
+2011-07-07  Eric Seidel  <[email protected]>
+
         Unreviewed.  Add more debug logging about which test expectations we're using.
 
         * Scripts/webkitpy/layout_tests/models/test_expectations.py:

Added: trunk/Tools/Scripts/webkitpy/layout_tests/port/qt_unittest.py (0 => 90548)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/qt_unittest.py	                        (rev 0)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/qt_unittest.py	2011-07-07 07:44:42 UTC (rev 90548)
@@ -0,0 +1,58 @@
+# Copyright (C) 2010 Google Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+#    * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#    * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+#    * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import unittest
+
+from webkitpy.common.system.filesystem_mock import MockFileSystem
+from webkitpy.layout_tests.port.qt import QtPort
+from webkitpy.tool.mocktool import MockOptions, MockUser, MockExecutive
+
+
+class QtPortTest(unittest.TestCase):
+    def _assert_search_path(self, search_paths, sys_platform, use_webkit2=False):
+        # FIXME: Port constructors should not "parse" the port name, but
+        # rather be passed components (directly or via setters).  Once
+        # we fix that, this method will need a re-write.
+        port = QtPort(sys_platform=sys_platform,
+            options=MockOptions(webkit_test_runner=use_webkit2),
+            filesystem=MockFileSystem(),
+            user=MockUser(),
+            executive=MockExecutive())
+        absolute_search_paths = map(port._webkit_baseline_path, search_paths)
+        self.assertEquals(port.baseline_search_path(), absolute_search_paths)
+
+    def test_baseline_search_path(self):
+        self._assert_search_path(['qt-mac', 'qt'], 'darwin')
+        self._assert_search_path(['qt-win', 'qt'], 'win32')
+        self._assert_search_path(['qt-win', 'qt'], 'cygwin')
+        self._assert_search_path(['qt-linux', 'qt'], 'linux2')
+        self._assert_search_path(['qt-linux', 'qt'], 'linux3')
+
+        self._assert_search_path(['qt-wk2', 'qt-mac', 'qt'], 'darwin', use_webkit2=True)
+        self._assert_search_path(['qt-wk2', 'qt-win', 'qt'], 'cygwin', use_webkit2=True)
+        self._assert_search_path(['qt-wk2', 'qt-linux', 'qt'], 'linux2', use_webkit2=True)

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py (90547 => 90548)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py	2011-07-07 07:26:52 UTC (rev 90547)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py	2011-07-07 07:44:42 UTC (rev 90548)
@@ -61,13 +61,15 @@
             return "WebKitTestRunner"
         return "DumpRenderTree"
 
-    # FIXME: This is not a very useful default implementation, as its wrong for any
-    # port which uses version-specific fallback (e.g. ['mac-leapard', 'mac']).
-    # We should replace this with a smarter implementation shared by all ports.
+    # FIXME: Eventually we should standarize port naming, and make this method smart enough
+    # to use for all port configurations (including architectures, graphics types, etc).
     def baseline_search_path(self):
-        search_paths = [self.name()]
+        search_paths = []
         if self.get_option('webkit_test_runner'):
-            search_paths.insert(0, self._wk2_port_name())
+            search_paths.append(self._wk2_port_name())
+        search_paths.append(self.name())
+        if self.name() != self.port_name:
+            search_paths.append(self.port_name)
         return map(self._webkit_baseline_path, search_paths)
 
     def path_to_test_expectations_file(self):
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to