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):