Title: [97461] trunk/Tools
Revision
97461
Author
[email protected]
Date
2011-10-14 06:55:45 -0700 (Fri, 14 Oct 2011)

Log Message

new-run-webkit-tests does not support qt-4.8 results
https://bugs.webkit.org/show_bug.cgi?id=64071

Roll-back r97252 with unit test fix.

Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/layout_tests/port/qt.py:
* Scripts/webkitpy/layout_tests/port/qt_unittest.py:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (97460 => 97461)


--- trunk/Tools/ChangeLog	2011-10-14 12:48:01 UTC (rev 97460)
+++ trunk/Tools/ChangeLog	2011-10-14 13:55:45 UTC (rev 97461)
@@ -1,3 +1,15 @@
+2011-10-14  Csaba Osztrogonác  <[email protected]>
+
+        new-run-webkit-tests does not support qt-4.8 results
+        https://bugs.webkit.org/show_bug.cgi?id=64071
+
+        Roll-back r97252 with unit test fix.
+
+        Reviewed by Csaba Osztrogonác.
+
+        * Scripts/webkitpy/layout_tests/port/qt.py:
+        * Scripts/webkitpy/layout_tests/port/qt_unittest.py:
+
 2011-10-13  Ojan Vafai  <[email protected]>
 
         Make filter-build-webkit exit 1 if the build fails.

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/qt.py (97460 => 97461)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/qt.py	2011-10-14 12:48:01 UTC (rev 97460)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/qt.py	2011-10-14 13:55:45 UTC (rev 97461)
@@ -29,10 +29,12 @@
 """QtWebKit implementation of the Port interface."""
 
 import logging
+import re
 import sys
 
 import webkit
 
+from webkitpy.common.memoized import memoized
 from webkitpy.layout_tests.models.test_configuration import TestConfiguration
 from webkitpy.layout_tests.port.webkit import WebKitPort
 
@@ -89,6 +91,34 @@
     def _path_to_webcore_library(self):
         return self._build_path('lib/libQtWebKit.so')
 
+    @memoized
+    def qt_version(self):
+        version = ''
+        try:
+            for line in self._executive.run_command(['qmake', '-v']).split('\n'):
+                match = re.search('Qt\sversion\s(?P<version>\d\.\d)', line)
+                if match:
+                    version = match.group('version')
+                    break
+        except OSError:
+            version = '4.7'
+        return version
+
+    def baseline_search_path(self):
+        search_paths = []
+        if self.get_option('webkit_test_runner'):
+            search_paths.append(self._wk2_port_name())
+        search_paths.append(self.name())
+        version = self.qt_version()
+        if '4.7' in version:
+            search_paths.append('qt-4.7')
+        elif '4.8' in version:
+            search_paths.append('qt-4.8')
+        elif version:
+            search_paths.append('qt-5.0')
+        search_paths.append(self.port_name)
+        return map(self._webkit_baseline_path, search_paths)
+
     def _runtime_feature_list(self):
         return None
 

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/qt_unittest.py (97460 => 97461)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/qt_unittest.py	2011-10-14 12:48:01 UTC (rev 97460)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/qt_unittest.py	2011-10-14 13:55:45 UTC (rev 97461)
@@ -28,6 +28,7 @@
 
 import unittest
 
+from webkitpy.common.system.executive_mock import MockExecutive2
 from webkitpy.common.system.filesystem_mock import MockFileSystem
 from webkitpy.common.system.outputcapture import OutputCapture
 from webkitpy.layout_tests.port.qt import QtPort
@@ -39,29 +40,43 @@
     def port_maker(self, platform):
         return QtPort
 
-    def _assert_search_path(self, search_paths, sys_platform, use_webkit2=False):
+    def _assert_search_path(self, search_paths, sys_platform, use_webkit2=False, qt_version='4.7'):
         # 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),
+            options=MockOptions(webkit_test_runner=use_webkit2, platform='qt'),
             filesystem=MockFileSystem(),
             user=MockUser(),
-            executive=MockExecutive())
+            executive=MockExecutive2(self._qt_version(qt_version)))
         absolute_search_paths = map(port._webkit_baseline_path, search_paths)
         self.assertEquals(port.baseline_search_path(), absolute_search_paths)
 
+    def _qt_version(self, qt_version):
+        if qt_version in '4.7':
+            return 'QMake version 2.01a\nUsing Qt version 4.7.3 in /usr/local/Trolltech/Qt-4.7.3/lib'
+        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'
+        if qt_version in '5.0':
+            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'], '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-mac', 'qt-4.7', 'qt'], 'darwin')
+        self._assert_search_path(['qt-win', 'qt-4.7', 'qt'], 'win32')
+        self._assert_search_path(['qt-win', 'qt-4.7', 'qt'], 'cygwin')
+        self._assert_search_path(['qt-linux', 'qt-4.7', 'qt'], 'linux2')
+        self._assert_search_path(['qt-linux', 'qt-4.7', '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)
+        self._assert_search_path(['qt-mac', 'qt-4.8', 'qt'], 'darwin', qt_version='4.8')
+        self._assert_search_path(['qt-win', 'qt-4.8', 'qt'], 'win32', qt_version='4.8')
+        self._assert_search_path(['qt-win', 'qt-4.8', 'qt'], 'cygwin', qt_version='4.8')
+        self._assert_search_path(['qt-linux', 'qt-4.8', 'qt'], 'linux2', qt_version='4.8')
+        self._assert_search_path(['qt-linux', 'qt-4.8', 'qt'], 'linux3', qt_version='4.8')
 
+        self._assert_search_path(['qt-wk2', 'qt-mac', 'qt-5.0', 'qt'], 'darwin', use_webkit2=True, qt_version='5.0')
+        self._assert_search_path(['qt-wk2', 'qt-win', 'qt-5.0', 'qt'], 'cygwin', use_webkit2=True, qt_version='5.0')
+        self._assert_search_path(['qt-wk2', 'qt-linux', 'qt-5.0', 'qt'], 'linux2', use_webkit2=True, qt_version='5.0')
+
     def test_show_results_html_file(self):
         port = self.make_port()
         port._executive = MockExecutive(should_log=True)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to