Title: [117789] trunk/Tools
Revision
117789
Author
[email protected]
Date
2012-05-21 09:08:25 -0700 (Mon, 21 May 2012)

Log Message

add skia_test_expectations override file to chromium NRWT
https://bugs.webkit.org/show_bug.cgi?id=86749

Reviewed by Dirk Pranke

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.test_expectations_overrides):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.test_expectations_overrides):
* Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
(ChromiumPortTest.test_overrides_and_builder_names):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (117788 => 117789)


--- trunk/Tools/ChangeLog	2012-05-21 16:06:50 UTC (rev 117788)
+++ trunk/Tools/ChangeLog	2012-05-21 16:08:25 UTC (rev 117789)
@@ -1,3 +1,17 @@
+2012-05-21  Elliot Poger  <[email protected]>
+
+        add skia_test_expectations override file to chromium NRWT
+        https://bugs.webkit.org/show_bug.cgi?id=86749
+
+        Reviewed by Dirk Pranke
+
+        * Scripts/webkitpy/layout_tests/port/base.py:
+        (Port.test_expectations_overrides):
+        * Scripts/webkitpy/layout_tests/port/chromium.py:
+        (ChromiumPort.test_expectations_overrides):
+        * Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
+        (ChromiumPortTest.test_overrides_and_builder_names):
+
 2012-05-21  Thiago Marcos P. Santos  <[email protected]>
 
         webkitdirs.pm: Fix undefined CXXFLAGS variable

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py (117788 => 117789)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py	2012-05-21 16:06:50 UTC (rev 117788)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py	2012-05-21 16:08:25 UTC (rev 117789)
@@ -891,9 +891,10 @@
         overrides = ''
         for path in self.get_option('additional_expectations', []):
             if self._filesystem.exists(self._filesystem.expanduser(path)):
+                _log.debug("reading additional_expectations from path '%s'" % path)
                 overrides += self._filesystem.read_text_file(self._filesystem.expanduser(path))
             else:
-                _log.warning("overrides path '%s' does not exist" % path)
+                _log.warning("additional_expectations path '%s' does not exist" % path)
         return overrides or None
 
     def repository_paths(self):

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py (117788 => 117789)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py	2012-05-21 16:06:50 UTC (rev 117788)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium.py	2012-05-21 16:08:25 UTC (rev 117789)
@@ -320,22 +320,35 @@
         'win_layout_rel',
     ])
 
+    def _expectations_file_contents(self, filetype, filepath):
+        if self._filesystem.exists(filepath):
+            _log.debug(
+                "reading %s test_expectations overrides from file '%s'" %
+                (filetype, filepath))
+            return (self._filesystem.read_text_file(filepath) or '')
+        else:
+            _log.warning(
+                "%s test_expectations overrides file '%s' does not exist" %
+                (filetype, filepath))
+            return ''
+
     def test_expectations_overrides(self):
+        combined_overrides = ''
+        combined_overrides += self._expectations_file_contents(
+            'skia', self.path_from_chromium_base(
+                'skia', 'skia_test_expectations.txt'))
         # FIXME: It seems bad that run_webkit_tests.py uses a hardcoded dummy
         # builder string instead of just using None.
         builder_name = self.get_option('builder_name', 'DUMMY_BUILDER_NAME')
+        if builder_name == 'DUMMY_BUILDER_NAME' or '(deps)' in builder_name or builder_name in self.try_builder_names:
+            combined_overrides += self._expectations_file_contents(
+                'chromium', self.path_from_chromium_base(
+                    'webkit', 'tools', 'layout_tests', 'test_expectations.txt'))
+
         base_overrides = super(ChromiumPort, self).test_expectations_overrides()
-        if builder_name != 'DUMMY_BUILDER_NAME' and not '(deps)' in builder_name and not builder_name in self.try_builder_names:
-            return base_overrides
+        combined_overrides += (base_overrides or '')
+        return combined_overrides
 
-        try:
-            overrides_path = self.path_from_chromium_base('webkit', 'tools', 'layout_tests', 'test_expectations.txt')
-        except AssertionError, e:
-            return base_overrides
-        if not self._filesystem.exists(overrides_path):
-            return base_overrides
-        return self._filesystem.read_text_file(overrides_path) + (base_overrides or '')
-
     def repository_paths(self):
         repos = super(ChromiumPort, self).repository_paths()
         repos.append(('chromium', self.path_from_chromium_base('build')))

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py (117788 => 117789)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py	2012-05-21 16:06:50 UTC (rev 117788)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_unittest.py	2012-05-21 16:08:25 UTC (rev 117789)
@@ -293,8 +293,11 @@
         chromium_overrides_path = port.path_from_chromium_base(
             'webkit', 'tools', 'layout_tests', 'test_expectations.txt')
         CHROMIUM_OVERRIDES = 'contents of %s\n' % chromium_overrides_path
-
         filesystem.write_text_file(chromium_overrides_path, CHROMIUM_OVERRIDES)
+        skia_overrides_path = port.path_from_chromium_base(
+            'skia', 'skia_test_expectations.txt')
+        SKIA_OVERRIDES = 'contents of %s\n' % skia_overrides_path
+        filesystem.write_text_file(skia_overrides_path, SKIA_OVERRIDES)
 
         additional_expectations_path = port.path_from_chromium_base(
             'additional_expectations.txt')
@@ -304,26 +307,28 @@
         port._options.builder_name = 'DUMMY_BUILDER_NAME'
         port._options.additional_expectations = []
         self.assertEquals(port.test_expectations_overrides(),
-                          CHROMIUM_OVERRIDES)
+                          SKIA_OVERRIDES + CHROMIUM_OVERRIDES)
         port._options.additional_expectations = [additional_expectations_path]
         self.assertEquals(port.test_expectations_overrides(),
-                          CHROMIUM_OVERRIDES + ADDITIONAL_EXPECTATIONS)
+                          SKIA_OVERRIDES + CHROMIUM_OVERRIDES + ADDITIONAL_EXPECTATIONS)
 
         port._options.builder_name = 'builder (deps)'
         port._options.additional_expectations = []
         self.assertEquals(port.test_expectations_overrides(),
-                          CHROMIUM_OVERRIDES)
+                          SKIA_OVERRIDES + CHROMIUM_OVERRIDES)
         port._options.additional_expectations = [additional_expectations_path]
         self.assertEquals(port.test_expectations_overrides(),
-                          CHROMIUM_OVERRIDES + ADDITIONAL_EXPECTATIONS)
+                          SKIA_OVERRIDES + CHROMIUM_OVERRIDES + ADDITIONAL_EXPECTATIONS)
 
+        # A builder which does NOT observe the Chromium test_expectations,
+        # but still observes the Skia test_expectations...
         port._options.builder_name = 'builder'
         port._options.additional_expectations = []
         self.assertEquals(port.test_expectations_overrides(),
-                          None)
+                          SKIA_OVERRIDES)
         port._options.additional_expectations = [additional_expectations_path]
         self.assertEquals(port.test_expectations_overrides(),
-                          ADDITIONAL_EXPECTATIONS)
+                          SKIA_OVERRIDES + ADDITIONAL_EXPECTATIONS)
 
 
 class ChromiumPortLoggingTest(logtesting.LoggingTestCase):
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to