Index: third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_expectations_updater_unittest.py |
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_expectations_updater_unittest.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_expectations_updater_unittest.py |
index b705cdef49291f6f83657cf49763eb6eb4c853f2..847eb2fa1aad1b82b82f5295a0159ce1a6c9b267 100644 |
--- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_expectations_updater_unittest.py |
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_expectations_updater_unittest.py |
@@ -10,6 +10,7 @@ from webkitpy.common.net.buildbot_mock import MockBuildBot |
from webkitpy.common.net.layout_test_results import LayoutTestResult, LayoutTestResults |
from webkitpy.common.system.log_testing import LoggingTestCase |
from webkitpy.layout_tests.builder_list import BuilderList |
+from webkitpy.layout_tests.port.factory_mock import MockPortFactory |
from webkitpy.w3c.wpt_expectations_updater import WPTExpectationsUpdater, MARKER_COMMENT |
@@ -18,6 +19,7 @@ class WPTExpectationsUpdaterTest(LoggingTestCase): |
def mock_host(self): |
super(WPTExpectationsUpdaterTest, self).setUp() |
host = MockHost() |
+ host.port_factory = MockPortFactory(host) |
host.builders = BuilderList({ |
'MOCK Try Mac10.10': { |
'port_name': 'test-mac-mac10.10', |
@@ -34,6 +36,11 @@ class WPTExpectationsUpdaterTest(LoggingTestCase): |
'specifiers': ['Trusty', 'Release'], |
'is_try_builder': True, |
}, |
+ 'MOCK Try Precise': { |
+ 'port_name': 'test-linux-precise', |
+ 'specifiers': ['Precise', 'Release'], |
+ 'is_try_builder': True, |
+ }, |
'MOCK Try Win10': { |
'port_name': 'test-win-win10', |
'specifiers': ['Win10', 'Release'], |
@@ -163,7 +170,7 @@ class WPTExpectationsUpdaterTest(LoggingTestCase): |
self.assertEqual( |
updater.create_line_list(results), |
[ |
- 'crbug.com/test [ Linux ] external/fake/test/path.html [ Pass ]', |
+ 'crbug.com/test [ Trusty ] external/fake/test/path.html [ Pass ]', |
'crbug.com/test [ Mac10.11 ] external/fake/test/path.html [ Timeout ]', |
'crbug.com/test [ Mac10.10 ] external/fake/test/zzzz.html [ Failure ]', |
]) |
@@ -171,6 +178,7 @@ class WPTExpectationsUpdaterTest(LoggingTestCase): |
def test_specifier_part(self): |
updater = WPTExpectationsUpdater(self.mock_host()) |
self.assertEqual(updater.specifier_part(['test-mac-mac10.10'], 'x/y.html'), '[ Mac10.10 ]') |
+ self.assertEqual(updater.specifier_part([], 'x/y.html'), '') |
def test_skipped_specifiers_when_test_is_wontfix(self): |
host = self.mock_host() |
@@ -184,7 +192,7 @@ class WPTExpectationsUpdaterTest(LoggingTestCase): |
macros = { |
'mac': ['Mac10.10', 'mac10.11'], |
'win': ['Win7', 'win10'], |
- 'Linux': ['TRUSTY'], |
+ 'Linux': ['Trusty'], |
} |
self.assertEqual(WPTExpectationsUpdater.simplify_specifiers(['mac10.10', 'mac10.11'], macros), ['Mac']) |
self.assertEqual(WPTExpectationsUpdater.simplify_specifiers(['Mac10.10', 'Mac10.11', 'Trusty'], macros), ['Linux', 'Mac']) |
@@ -193,6 +201,17 @@ class WPTExpectationsUpdaterTest(LoggingTestCase): |
self.assertEqual(WPTExpectationsUpdater.simplify_specifiers(['a', 'b', 'c'], {}), ['A', 'B', 'C']) |
self.assertEqual(WPTExpectationsUpdater.simplify_specifiers(['Mac', 'Win', 'Linux'], macros), []) |
+ def test_specifier_part_with_skipped_test(self): |
+ host = self.mock_host() |
+ expectations_path = '/test.checkout/LayoutTests/NeverFixTests' |
+ host.filesystem.files[expectations_path] = 'crbug.com/111 [ Linux Mac10.11 ] external/wpt/test.html [ WontFix ]\n' |
+ host.filesystem.files['/test.checkout/LayoutTests/external/wpt/test.html'] = '' |
+ updater = WPTExpectationsUpdater(host) |
+ self.assertEqual( |
+ updater.specifier_part(['test-mac-mac10.10', 'test-win-win7', 'test-win-win10'], 'external/wpt/test.html'), '') |
+ self.assertEqual( |
+ updater.specifier_part(['test-win-win7', 'test-win-win10'], 'external/wpt/another.html'), '[ Win ]') |
+ |
def test_merge_dicts_with_conflict_raise_exception(self): |
updater = WPTExpectationsUpdater(self.mock_host()) |
# Both dicts here have the key "one", and the value is not equal. |
@@ -260,7 +279,8 @@ class WPTExpectationsUpdaterTest(LoggingTestCase): |
def test_write_to_test_expectations_with_marker_comment(self): |
host = self.mock_host() |
- expectations_path = '/mock-checkout/third_party/WebKit/LayoutTests/TestExpectations' |
+ |
+ expectations_path = host.port_factory.get().path_to_generic_test_expectations_file() |
host.filesystem.files[expectations_path] = MARKER_COMMENT + '\n' |
updater = WPTExpectationsUpdater(host) |
line_list = ['crbug.com/123 [ Trusty ] fake/file/path.html [ Pass ]'] |
@@ -273,21 +293,21 @@ class WPTExpectationsUpdaterTest(LoggingTestCase): |
def test_write_to_test_expectations_with_no_marker_comment(self): |
host = self.mock_host() |
- expectations_path = '/mock-checkout/third_party/WebKit/LayoutTests/TestExpectations' |
- host.filesystem.files[expectations_path] = 'crbug.com/111 [ Trusty ]\n' |
+ expectations_path = host.port_factory.get().path_to_generic_test_expectations_file() |
+ host.filesystem.files[expectations_path] = 'crbug.com/111 [ Trusty ] foo/bar.html [ Failure ]\n' |
updater = WPTExpectationsUpdater(host) |
line_list = ['crbug.com/123 [ Trusty ] fake/file/path.html [ Pass ]'] |
updater.write_to_test_expectations(line_list) |
value = host.filesystem.read_text_file(expectations_path) |
self.assertMultiLineEqual( |
value, |
- ('crbug.com/111 [ Trusty ]\n' |
+ ('crbug.com/111 [ Trusty ] foo/bar.html [ Failure ]\n' |
'\n' + MARKER_COMMENT + '\n' |
'crbug.com/123 [ Trusty ] fake/file/path.html [ Pass ]')) |
def test_write_to_test_expectations_skips_existing_lines(self): |
host = self.mock_host() |
- expectations_path = '/mock-checkout/third_party/WebKit/LayoutTests/TestExpectations' |
+ expectations_path = host.port_factory.get().path_to_generic_test_expectations_file() |
host.filesystem.files[expectations_path] = 'crbug.com/111 dont/copy/me.html [ Failure ]\n' |
updater = WPTExpectationsUpdater(host) |
line_list = [ |
@@ -304,7 +324,7 @@ class WPTExpectationsUpdaterTest(LoggingTestCase): |
def test_write_to_test_expectations_with_marker_and_no_lines(self): |
host = self.mock_host() |
- expectations_path = '/mock-checkout/third_party/WebKit/LayoutTests/TestExpectations' |
+ expectations_path = host.port_factory.get().path_to_generic_test_expectations_file() |
host.filesystem.files[expectations_path] = ( |
MARKER_COMMENT + '\n' |
'crbug.com/123 [ Trusty ] fake/file/path.html [ Pass ]\n') |