Title: [92784] trunk/Tools
Revision
92784
Author
[email protected]
Date
2011-08-10 12:35:01 -0700 (Wed, 10 Aug 2011)

Log Message

WIN: NRWT runs compositing tests on configurations that don't support compositing
https://bugs.webkit.org/show_bug.cgi?id=64472

Reviewed by Adam Barth.

I think the code was just wrong.  It was never splitting the string
into list pieces before.
I've now tested the supported_features code and theoretically it
should now work with Windows DRT.

I also made the list-lookup functions always return lists, to make
it possible to clean up the list-transform code in the future
(I opted not to do that cleanup in this patch, but at least now
both types of feature lookup functions match return types.)

* Scripts/webkitpy/layout_tests/port/webkit.py:
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (92783 => 92784)


--- trunk/Tools/ChangeLog	2011-08-10 19:24:26 UTC (rev 92783)
+++ trunk/Tools/ChangeLog	2011-08-10 19:35:01 UTC (rev 92784)
@@ -1,5 +1,25 @@
 2011-08-10  Eric Seidel  <[email protected]>
 
+        WIN: NRWT runs compositing tests on configurations that don't support compositing
+        https://bugs.webkit.org/show_bug.cgi?id=64472
+
+        Reviewed by Adam Barth.
+
+        I think the code was just wrong.  It was never splitting the string
+        into list pieces before.
+        I've now tested the supported_features code and theoretically it
+        should now work with Windows DRT.
+
+        I also made the list-lookup functions always return lists, to make
+        it possible to clean up the list-transform code in the future
+        (I opted not to do that cleanup in this patch, but at least now
+        both types of feature lookup functions match return types.)
+
+        * Scripts/webkitpy/layout_tests/port/webkit.py:
+        * Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
+
+2011-08-10  Eric Seidel  <[email protected]>
+
         Clean up ChromiumDriver a little
         https://bugs.webkit.org/show_bug.cgi?id=65995
 

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


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py	2011-08-10 19:24:26 UTC (rev 92783)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py	2011-08-10 19:35:01 UTC (rev 92784)
@@ -220,7 +220,7 @@
         entries = self._filesystem.glob(self._webkit_baseline_path('*'))
         dirs_to_skip = []
         for entry in entries:
-            if self._filesystem.isdir(entry) and not entry in self.baseline_search_path():
+            if self._filesystem.isdir(entry) and entry not in self.baseline_search_path():
                 basename = self._filesystem.basename(entry)
                 dirs_to_skip.append('platform/%s' % basename)
         return dirs_to_skip
@@ -228,17 +228,19 @@
     def _runtime_feature_list(self):
         """Return the supported features of DRT. If a port doesn't support
         this DRT switch, it has to override this method to return None"""
-        driver_path = self._path_to_driver()
-        feature_list = ' '.join(os.popen(driver_path + " --print-supported-features 2>&1").readlines())
-        if "SupportedFeatures:" in feature_list:
-            return feature_list
-        return None
+        supported_features_command = [self._path_to_driver(), '--print-supported-features']
+        output = self._executive.run_command(supported_features_command)
+        # Note: win/DumpRenderTree.cpp does not print a leading space before the features_string.
+        match_object = re.match("SupportedFeatures:\s*(?P<features_string>.*)\s*", output)
+        if not match_object:
+            return []
+        return match_object.group('features_string').split(' ')
 
     def _supported_symbol_list(self):
         """Return the supported symbols of WebCore."""
         webcore_library_path = self._path_to_webcore_library()
         if not webcore_library_path:
-            return None
+            return []
         symbol_list = ' '.join(os.popen("nm " + webcore_library_path).readlines())
         return symbol_list
 

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py (92783 => 92784)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py	2011-08-10 19:24:26 UTC (rev 92783)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py	2011-08-10 19:35:01 UTC (rev 92784)
@@ -101,6 +101,13 @@
         result_directories = set(TestWebKitPort(supported_symbols, None)._skipped_tests_for_unsupported_features())
         self.assertEqual(result_directories, expected_directories)
 
+    def test_runtime_feature_list(self):
+        port = WebKitPort(executive=MockExecutive())
+        port._executive.run_command = lambda command, cwd=None: "Nonsense"
+        self.assertEquals(port._runtime_feature_list(), [])
+        port._executive.run_command = lambda command, cwd=None: "SupportedFeatures:foo bar"
+        self.assertEquals(port._runtime_feature_list(), ['foo', 'bar'])
+
     def test_skipped_directories_for_features(self):
         supported_features = ["Accelerated Compositing", "Foo Feature"]
         expected_directories = set(["animations/3d", "transforms/3d"])
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to