Created
June 18, 2012 22:51
-
-
Save rafaelbrandao/2951255 to your computer and use it in GitHub Desktop.
patch for bug #72489 - wip
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Tools/ChangeLog b/Tools/ChangeLog | |
index f316444..9a22fa0 100644 | |
--- a/Tools/ChangeLog | |
+++ b/Tools/ChangeLog | |
@@ -1,3 +1,37 @@ | |
+2012-06-18 Rafael Brandao <rafael.lobo@openbossa.org> | |
+ | |
+ [NRWT] Fix --platform=qt-5.0 --new-baseline combo | |
+ https://bugs.webkit.org/show_bug.cgi?id=72489 | |
+ | |
+ Reviewed by NOBODY (OOPS!). | |
+ | |
+ NRWT: The default platform name for Qt combined with --webkit-test-runner is now | |
+ "qt-5.0-wk2" instead of "qt-linux". This implies that we now need to add, if necessary, | |
+ "qt-[platform]" to baseline and skipped file search paths. Before adding paths, it is | |
+ now checking if the entry is not there already (it is possible according to platform name used). | |
+ --platform usage will override the platform name. | |
+ | |
+ ORWT: We check for qt version and use platform name "qt-4.8" if the version is lower | |
+ than 5.0.0, and then we choose between "qt-5.0-wk1" and "qt-5.0-wk2". --platform will | |
+ override it in the end. | |
+ | |
+ * Scripts/old-run-webkit-tests: | |
+ * Scripts/webkitpy/layout_tests/port/qt.py: | |
+ (QtPort): | |
+ (QtPort._os_port_name): | |
+ (QtPort.determine_full_port_name): | |
+ (QtPort.__init__): | |
+ (QtPort.baseline_search_path): | |
+ (QtPort._skipped_file_search_paths): | |
+ * Scripts/webkitpy/layout_tests/port/qt_unittest.py: | |
+ (QtPortTest): | |
+ (QtPortTest._get_port): | |
+ (QtPortTest._assert_search_path): | |
+ (QtPortTest._assert_skipped_file_search_path): | |
+ (QtPortTest.test_baseline_search_path): | |
+ (QtPortTest.test_skipped_file_search_paths): These check if we keep the same skipped files coverage | |
+ as we change the --platform values on different qt versions or operating systems. | |
+ | |
2012-06-18 Zan Dobersek <zandobersek@gmail.com> | |
[garden-o-matic] Add support for the GTK builders | |
diff --git a/Tools/Scripts/webkitpy/layout_tests/port/qt.py b/Tools/Scripts/webkitpy/layout_tests/port/qt.py | |
index 5205759..20f2811 100644 | |
--- a/Tools/Scripts/webkitpy/layout_tests/port/qt.py | |
+++ b/Tools/Scripts/webkitpy/layout_tests/port/qt.py | |
@@ -47,9 +47,13 @@ class QtPort(WebKitPort): | |
ALL_VERSIONS = ['linux', 'win', 'mac'] | |
port_name = "qt" | |
+ @classmethod | |
def _wk2_port_name(self): | |
return "qt-5.0-wk2" | |
+ def _os_port_name(self): | |
+ return "qt-" + self._operating_system | |
+ | |
def _port_flag_for_scripts(self): | |
return "--qt" | |
@@ -57,7 +61,9 @@ class QtPort(WebKitPort): | |
def determine_full_port_name(cls, host, options, port_name): | |
if port_name and port_name != cls.port_name: | |
return port_name | |
- return port_name + '-' + host.platform.os_name | |
+ if getattr(options, 'webkit_test_runner', False): | |
+ return cls._wk2_port_name() | |
+ return cls.port_name + '-' + host.platform.os_name | |
# sys_platform exists only for unit testing. | |
def __init__(self, host, port_name, **kwargs): | |
@@ -65,7 +71,7 @@ class QtPort(WebKitPort): | |
# FIXME: This will allow WebKitPort.baseline_search_path and WebKitPort._skipped_file_search_paths | |
# to do the right thing, but doesn't include support for qt-4.8 or qt-arm (seen in LayoutTests/platform) yet. | |
- self._operating_system = port_name.replace('qt-', '') | |
+ self._operating_system = host.platform.os_name | |
# FIXME: Why is this being set at all? | |
self._version = self.operating_system() | |
@@ -111,17 +117,20 @@ class QtPort(WebKitPort): | |
def baseline_search_path(self): | |
search_paths = [] | |
- version = self.qt_version() | |
- if '5.0' in version: | |
- if self.get_option('webkit_test_runner'): | |
- search_paths.append('qt-5.0-wk2') | |
- else: | |
- search_paths.append('qt-5.0-wk1') | |
search_paths.append(self.name()) | |
+ if self._os_port_name() not in search_paths: | |
+ search_paths.append(self._os_port_name()) | |
+ if self.get_option('webkit_test_runner'): | |
+ if self._wk2_port_name() not in search_paths: | |
+ search_paths.append(self._wk2_port_name()) | |
+ version = self.qt_version() | |
if '4.8' in version: | |
- search_paths.append('qt-4.8') | |
+ if 'qt-4.8' not in search_paths: | |
+ search_paths.append('qt-4.8') | |
elif version: | |
- search_paths.append('qt-5.0') | |
+ if 'qt-5.0' not in search_paths: | |
+ search_paths.append('qt-5.0') | |
+ if self.port_name not in search_paths: | |
search_paths.append(self.port_name) | |
return map(self._webkit_baseline_path, search_paths) | |
diff --git a/Tools/Scripts/webkitpy/layout_tests/port/qt_unittest.py b/Tools/Scripts/webkitpy/layout_tests/port/qt_unittest.py | |
index 7252b98..f44b336 100644 | |
--- a/Tools/Scripts/webkitpy/layout_tests/port/qt_unittest.py | |
+++ b/Tools/Scripts/webkitpy/layout_tests/port/qt_unittest.py | |
@@ -38,21 +38,28 @@ from webkitpy.tool.mocktool import MockOptions | |
class QtPortTest(port_testcase.PortTestCase): | |
- port_name = 'qt-mac' | |
+ port_name = 'qt' | |
port_maker = QtPort | |
- def _assert_search_path(self, search_paths, os_name=None, use_webkit2=False, qt_version='4.8'): | |
+ def _get_port(self, os_name=None, override_platform=None, use_webkit2=False, qt_version='4.8'): | |
# 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. | |
host = MockSystemHost(os_name=os_name) | |
host.executive = MockExecutive2(self._qt_version(qt_version)) | |
- port_name = 'qt-' + os_name | |
- port = self.make_port(host=host, qt_version=qt_version, port_name=port_name, | |
- options=MockOptions(webkit_test_runner=use_webkit2, platform='qt')) | |
+ options = MockOptions(webkit_test_runner=use_webkit2, platform='qt') | |
+ port_name = QtPort.determine_full_port_name(host=host, options=options, port_name=override_platform) | |
+ return self.make_port(host=host, qt_version=qt_version, port_name=port_name, options=options) | |
+ | |
+ def _assert_search_path(self, search_paths, os_name=None, override_platform=None, use_webkit2=False, qt_version='4.8'): | |
+ port = self._get_port(os_name, override_platform, use_webkit2, qt_version) | |
absolute_search_paths = map(port._webkit_baseline_path, search_paths) | |
self.assertEquals(port.baseline_search_path(), absolute_search_paths) | |
+ def _assert_skipped_file_search_path(self, search_paths, os_name=None, override_platform=None, use_webkit2=False, qt_version='4.8'): | |
+ port = self._get_port(os_name, override_platform, use_webkit2, qt_version) | |
+ self.assertEquals(port._skipped_file_search_paths(), set(search_paths)) | |
+ | |
def _qt_version(self, qt_version): | |
if qt_version in '4.8': | |
return 'QMake version 2.01a\nUsing Qt version 4.8.0 in /usr/local/Trolltech/Qt-4.8.2/lib' | |
@@ -60,17 +67,49 @@ class QtPortTest(port_testcase.PortTestCase): | |
return 'QMake version 2.01a\nUsing Qt version 5.0.0 in /usr/local/Trolltech/Qt-5.0.0/lib' | |
def test_baseline_search_path(self): | |
- self._assert_search_path(['qt-mac', 'qt-4.8', 'qt'], 'mac', qt_version='4.8') | |
- self._assert_search_path(['qt-win', 'qt-4.8', 'qt'], 'win', qt_version='4.8') | |
- self._assert_search_path(['qt-linux', 'qt-4.8', 'qt'], 'linux', qt_version='4.8') | |
- | |
- self._assert_search_path(['qt-mac', 'qt-4.8', 'qt'], 'mac') | |
- self._assert_search_path(['qt-win', 'qt-4.8', 'qt'], 'win') | |
- self._assert_search_path(['qt-linux', 'qt-4.8', 'qt'], 'linux') | |
+ self._assert_search_path(['qt-mac', 'qt-4.8', 'qt'], os_name='mac', qt_version='4.8') | |
+ self._assert_search_path(['qt-win', 'qt-4.8', 'qt'], os_name='win', qt_version='4.8') | |
+ self._assert_search_path(['qt-linux', 'qt-4.8', 'qt'], os_name='linux', qt_version='4.8') | |
+ | |
+ self._assert_search_path(['qt-4.8', 'qt-mac', 'qt'], os_name='mac', override_platform='qt-4.8', qt_version='4.8') | |
+ self._assert_search_path(['qt-4.8', 'qt-win', 'qt'], os_name='win', override_platform='qt-4.8', qt_version='4.8') | |
+ self._assert_search_path(['qt-4.8', 'qt-linux', 'qt'], os_name='linux', override_platform='qt-4.8', qt_version='4.8') | |
+ | |
+ self._assert_search_path(['qt-mac', 'qt-4.8', 'qt'], os_name='mac') | |
+ self._assert_search_path(['qt-win', 'qt-4.8', 'qt'], os_name='win') | |
+ self._assert_search_path(['qt-linux', 'qt-4.8', 'qt'], os_name='linux') | |
+ | |
+ self._assert_search_path(['qt-5.0-wk2', 'qt-mac', 'qt-5.0', 'qt'], os_name='mac', use_webkit2=True, qt_version='5.0') | |
+ self._assert_search_path(['qt-5.0-wk2', 'qt-win', 'qt-5.0', 'qt'], os_name='win', use_webkit2=True, qt_version='5.0') | |
+ self._assert_search_path(['qt-5.0-wk2', 'qt-linux', 'qt-5.0', 'qt'], os_name='linux', use_webkit2=True, qt_version='5.0') | |
+ | |
+ self._assert_search_path(['qt-mac', 'qt-5.0-wk2', 'qt-5.0', 'qt'], os_name='mac', override_platform='qt-mac', use_webkit2=True, qt_version='5.0') | |
+ self._assert_search_path(['qt-win', 'qt-5.0-wk2', 'qt-5.0', 'qt'], os_name='win', override_platform='qt-win', use_webkit2=True, qt_version='5.0') | |
+ self._assert_search_path(['qt-linux', 'qt-5.0-wk2', 'qt-5.0', 'qt'], os_name='linux', override_platform='qt-linux', use_webkit2=True, qt_version='5.0') | |
+ | |
+ self._assert_search_path(['qt-linux', 'qt-mac', 'qt-5.0', 'qt'], os_name='mac', override_platform='qt-linux', qt_version='5.0') | |
+ self._assert_search_path(['qt-linux', 'qt-mac', 'qt-5.0-wk2', 'qt-5.0', 'qt'], os_name='mac', override_platform='qt-linux', use_webkit2=True, qt_version='5.0') | |
+ | |
+ def test_skipped_file_search_paths(self): | |
+ self._assert_skipped_file_search_path(['qt-4.8', 'qt-linux', 'qt'], os_name='linux', qt_version='4.8') | |
+ self._assert_skipped_file_search_path(['qt-4.8', 'qt-win', 'qt'], os_name='win', qt_version='4.8') | |
+ self._assert_skipped_file_search_path(['qt-4.8', 'qt-mac', 'qt'], os_name='mac', qt_version='4.8') | |
+ self._assert_skipped_file_search_path(['qt-4.8', 'qt-mac', 'qt'], os_name='mac', override_platform="qt", qt_version='4.8') | |
+ self._assert_skipped_file_search_path(['qt-4.8', 'qt-win', 'qt'], os_name='win', override_platform="qt", qt_version='4.8') | |
+ self._assert_skipped_file_search_path(['qt-4.8', 'qt-linux', 'qt'], os_name='linux', override_platform="qt", qt_version='4.8') | |
+ self._assert_skipped_file_search_path(['qt-4.8', 'qt-linux', 'qt'], os_name='linux', override_platform="qt-4.8", qt_version='4.8') | |
+ | |
+ self._assert_skipped_file_search_path(['qt-5.0-wk1', 'qt-5.0', 'qt-linux', 'qt'], os_name='linux', qt_version='5.0') | |
+ self._assert_skipped_file_search_path(['qt-5.0-wk1', 'qt-5.0', 'qt-mac', 'qt'], os_name='mac', qt_version='5.0') | |
+ self._assert_skipped_file_search_path(['qt-5.0-wk1', 'qt-5.0', 'qt-win', 'qt'], os_name='win', qt_version='5.0') | |
+ self._assert_skipped_file_search_path(['qt-5.0-wk1', 'qt-5.0', 'qt-linux', 'qt'], os_name='linux', override_platform="qt-5.0", qt_version='5.0') | |
+ self._assert_skipped_file_search_path(['qt-5.0-wk1', 'qt-5.0', 'qt-linux', 'qt'], os_name='linux', override_platform="qt", qt_version='5.0') | |
+ | |
+ self._assert_skipped_file_search_path(['qt-5.0-wk2', 'qt-5.0', 'qt-linux', 'qt', 'wk2'], os_name='linux', use_webkit2=True, qt_version='5.0') | |
+ self._assert_skipped_file_search_path(['qt-5.0-wk2', 'qt-5.0', 'qt-linux', 'qt', 'wk2'], os_name='linux', override_platform="qt-5.0", use_webkit2=True, qt_version='5.0') | |
+ self._assert_skipped_file_search_path(['qt-5.0-wk2', 'qt-5.0', 'qt-linux', 'qt', 'wk2'], os_name='linux', override_platform="wk2", use_webkit2=True, qt_version='5.0') | |
+ self._assert_skipped_file_search_path(['qt-5.0-wk2', 'qt-5.0', 'qt-mac', 'qt', 'wk2'], os_name='mac', override_platform="qt", use_webkit2=True, qt_version='5.0') | |
- self._assert_search_path(['qt-5.0-wk2', 'qt-mac', 'qt-5.0', 'qt'], 'mac', use_webkit2=True, qt_version='5.0') | |
- self._assert_search_path(['qt-5.0-wk2', 'qt-win', 'qt-5.0', 'qt'], 'win', use_webkit2=True, qt_version='5.0') | |
- self._assert_search_path(['qt-5.0-wk2', 'qt-linux', 'qt-5.0', 'qt'], 'linux', use_webkit2=True, qt_version='5.0') | |
self._assert_search_path(['qt-5.0-wk1', 'qt-mac', 'qt-5.0', 'qt'], 'mac', use_webkit2=False, qt_version='5.0') | |
self._assert_search_path(['qt-5.0-wk1', 'qt-win', 'qt-5.0', 'qt'], 'win', use_webkit2=False, qt_version='5.0') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment