+2011-01-21 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Mihai Parparita.
+
+ Fix bug introduced in r76322 that caused NRWT to not actually
+ read the Skipped files properly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52771
+
+ * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ * Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
+
2011-01-21 Sam Weinig <sam@webkit.org>
Reviewed by Geoffrey Sean Garen and Mark Rowe.
unsupported_feature_tests = self._skipped_tests_for_unsupported_features()
return disabled_feature_tests + webarchive_tests + unsupported_feature_tests
- def _tests_from_skipped_file(self, skipped_file):
+ def _tests_from_skipped_file_contents(self, skipped_file_contents):
tests_to_skip = []
- for line in skipped_file.readlines():
+ for line in skipped_file_contents.split('\n'):
line = line.strip()
if line.startswith('#') or not len(line):
continue
if not self._filesystem.exists(filename):
_log.warn("Failed to open Skipped file: %s" % filename)
continue
- skipped_file = self._filesystem.read_text_file(filename)
+ skipped_file_contents = self._filesystem.read_text_file(filename)
+ tests_to_skip.extend(self._tests_from_skipped_file_contents(skipped_file_contents))
return tests_to_skip
def test_expectations(self):
#!/usr/bin/env python
# Copyright (C) 2010 Gabor Rapcsanyi <rgabor@inf.u-szeged.hu>, University of Szeged
+# Copyright (C) 2010 Google Inc. All rights reserved.
#
# All rights reserved.
#
import unittest
+from webkitpy.common.system import filesystem_mock
+
from webkitpy.layout_tests.port.webkit import WebKitPort
class TestWebKitPort(WebKitPort):
- def __init__(self, symbol_list=None, feature_list=None):
+ def __init__(self, symbol_list=None, feature_list=None,
+ expectations_file=None, skips_file=None, **kwargs):
self.symbol_list = symbol_list
self.feature_list = feature_list
+ self.expectations_file = expectations_file
+ self.skips_file = skips_file
+ WebKitPort.__init__(self, **kwargs)
def _runtime_feature_list(self):
return self.feature_list
def _tests_for_disabled_features(self):
return ["accessibility", ]
+ def path_to_test_expectations_file(self):
+ if self.expectations_file:
+ return self.expectations_file
+ return WebKitPort.path_to_test_expectations_file(self)
+
def _skipped_file_paths(self):
+ if self.skips_file:
+ return [self.skips_file]
return []
class WebKitPortTest(unittest.TestCase):
def test_skipped_layout_tests(self):
self.assertEqual(TestWebKitPort(None, None).skipped_layout_tests(),
set(["media", "accessibility"]))
+
+ def test_test_expectations(self):
+ # Check that we read both the expectations file and anything in a
+ # Skipped file, and that we include the feature and platform checks.
+ files = {
+ '/tmp/test_expectations.txt': 'BUG_TESTEXPECTATIONS SKIP : fast/html/article-element.html = FAIL\n',
+ '/tmp/Skipped': 'fast/html/keygen.html',
+ }
+ mock_fs = filesystem_mock.MockFileSystem(files)
+ port = TestWebKitPort(expectations_file='/tmp/test_expectations.txt',
+ skips_file='/tmp/Skipped', filesystem=mock_fs)
+ self.assertEqual(port.test_expectations(),
+ """BUG_TESTEXPECTATIONS SKIP : fast/html/article-element.html = FAIL
+BUG_SKIPPED SKIP : fast/html/keygen.html = FAIL
+BUG_SKIPPED SKIP : media = FAIL
+BUG_SKIPPED SKIP : accessibility = FAIL""")
+
+
+if __name__ == '__main__':
+ unittest.main()