Diff
Modified: trunk/Tools/ChangeLog (278039 => 278040)
--- trunk/Tools/ChangeLog 2021-05-25 20:25:39 UTC (rev 278039)
+++ trunk/Tools/ChangeLog 2021-05-25 20:27:57 UTC (rev 278040)
@@ -1,3 +1,60 @@
+2021-05-25 Sam Sneddon <gsnedd...@apple.com>
+
+ Run webkitpy integration tests under pytest by default
+ https://bugs.webkit.org/show_bug.cgi?id=226017
+
+ Reviewed by Jonathan Bedard.
+
+ This involves adding a variety of new xfail annotations and moving some tests to
+ be serial to avoid flakiness.
+
+ * Scripts/webkitpy/common/config/committers_unittest.py:
+ (CommittersTest):
+ * Scripts/webkitpy/conftest.py:
+ (pytest_addoption): Remove --run-integration
+ (pytest_collection_modifyitems): Remove --run-integration
+ * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
+ (RunTest.serial_test_basic):
+ (RunTest.serial_test_batch_size):
+ (RunTest.serial_test_dryrun):
+ (RunTest.serial_test_full_results_html):
+ (RunTest.serial_test_no_order_with_directory_entries_in_natural_order):
+ (RunTest.serial_test_gc_between_tests):
+ (RunTest.serial_test_check_for_world_leaks):
+ (RunTest.serial_test_complex_text):
+ (RunTest.serial_test_threaded):
+ (RunTest.serial_test_run_force):
+ (RunTest.serial_test_run_singly):
+ (RunTest.serial_test_skip_failing_tests):
+ (RunTest.serial_test_run_singly_actually_runs_tests):
+ (RunTest.serial_test_stderr_is_saved):
+ (RunTest.serial_test_results_directory_absolute):
+ (RunTest.serial_test_results_directory_default):
+ (RunTest.serial_test_results_directory_relative):
+ (RunTest.serial_test_run_order__inline):
+ (RunTest.serial_test_additional_platform_directory):
+ (RunTest.serial_test_no_http_and_force):
+ (RunTest.serial_test_no_http_tests):
+ (RunTest.serial_test_platform_tests_are_found):
+ * Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:
+ (BaseTest):
+ (HTTPServerTest):
+ (HTTPServerTest.integration_test_server__normal):
+ (HTTPServerTest.integration_test_server__fails):
+ (HTTPServerTest.integration_test_port_and_root):
+ (WebsocketserverTest):
+ (WebsocketserverTest.integration_test_server__normal):
+ (WebsocketserverTest.integration_test_server__fails):
+ (WebsocketserverTest.integration_test_port_and_root):
+ * Scripts/webkitpy/port/port_testcase.py:
+ (PortTestCase):
+ * Scripts/webkitpy/test/main_unittest.py:
+ (TesterTest):
+ * Scripts/webkitpy/test/markers.py:
+ (skip): Add skip
+ * Scripts/webkitpy/tool/steps/haslanded_unittest.py:
+ (HasLandedTest): Always skip this, as it seems to fail always
+
2021-05-24 Darin Adler <da...@apple.com>
Switch from WTF::Optional to std::optional
Modified: trunk/Tools/Scripts/webkitpy/common/config/committers_unittest.py (278039 => 278040)
--- trunk/Tools/Scripts/webkitpy/common/config/committers_unittest.py 2021-05-25 20:25:39 UTC (rev 278039)
+++ trunk/Tools/Scripts/webkitpy/common/config/committers_unittest.py 2021-05-25 20:27:57 UTC (rev 278040)
@@ -28,7 +28,9 @@
import unittest
from webkitpy.common.config.committers import CommitterList, Contributor, Committer, Reviewer
+from webkitpy.test.markers import xfail
+
class CommittersTest(unittest.TestCase):
def test_committer_lookup(self):
committer = Committer('Test One', 'o...@test.com', 'one')
@@ -149,6 +151,7 @@
self._assert_fuzz_match('ap', 'Alexey Proskuryakov', 0)
self._assert_fuzz_match('Alexey P', 'Alexey Proskuryakov', 0)
+ @xfail
def integration_test_contributors_alice_liu(self):
# self._assert_fuzz_match('Alice', 'Alice Liu', 0)
self._assert_fuzz_match('aliu', 'Alice Liu', 0)
@@ -185,6 +188,7 @@
# self._assert_fuzz_match('Chris', 'Chris Blumenberg', 0)
self._assert_fuzz_match('cblu', 'Chris Blumenberg', 0)
+ @xfail
def integration_test_contributors_dan_bernstein(self):
self._assert_fuzz_match('Dan', ['Dan Winship', 'Dan Bernstein'], 0)
self._assert_fuzz_match('Dan B', 'Dan Bernstein', 0)
@@ -208,10 +212,12 @@
self._assert_fuzz_match('harrison', 'David Harrison', 0)
self._assert_fuzz_match('Dr. Harrison', 'David Harrison', 4)
+ @xfail
def integration_test_contributors_david_harrison_2(self):
self._assert_fuzz_match('Dave Harrson', 'David Harrison', 3)
self._assert_fuzz_match('Dave Harrsion', 'David Harrison', 4) # Damerau-Levenshtein distance is 3
+ @xfail
def integration_test_contributors_david_hyatt(self):
self._assert_fuzz_match('Dave Hyatt', 'David Hyatt', 2)
self._assert_fuzz_match('Daddy Hyatt', 'David Hyatt', 3)
@@ -219,11 +225,13 @@
self._assert_fuzz_match('hyatt', 'David Hyatt', 0)
# self._assert_fuzz_match('Haytt', 'David Hyatt', 0) # Works if we had implemented Damerau-Levenshtein distance!
+ @xfail
def integration_test_contributors_david_kilzer(self):
self._assert_fuzz_match('Dave Kilzer', 'David Kilzer', 2)
self._assert_fuzz_match('David D. Kilzer', 'David Kilzer', 3)
self._assert_fuzz_match('ddkilzer', 'David Kilzer', 0)
+ @xfail
def integration_test_contributors_don_melton(self):
self._assert_fuzz_match('Don', 'Don Melton', 0)
self._assert_fuzz_match('Gramps', 'Don Melton', 0)
@@ -234,6 +242,7 @@
# self._assert_fuzz_match('MacDome', 'Eric Seidel', 0)
self._assert_fuzz_match('eseidel', 'Eric Seidel', 0)
+ @xfail
def integration_test_contributors_geoffrey_garen(self):
# self._assert_fuzz_match('Geof', 'Geoffrey Garen', 4)
# self._assert_fuzz_match('Geoff', 'Geoffrey Garen', 3)
@@ -246,6 +255,7 @@
def integration_test_contributors_greg_bolsinga(self):
pass # self._assert_fuzz_match('Greg', 'Greg Bolsinga', 0)
+ @xfail
def integration_test_contributors_holger_freyther(self):
self._assert_fuzz_match('Holger', 'Holger Freyther', 0)
self._assert_fuzz_match('Holger Hans Peter Freyther', 'Holger Freyther', 11)
@@ -262,13 +272,16 @@
# self._assert_fuzz_match('justin', 'Justin Garcia', 0)
self._assert_fuzz_match('justing', 'Justin Garcia', 0)
+ @xfail
def integration_test_contributors_joseph_pecoraro(self):
self._assert_fuzz_match('Joe Pecoraro', 'Joseph Pecoraro', 3)
+ @xfail
def integration_test_contributors_ken_kocienda(self):
self._assert_fuzz_match('ken', 'Ken Kocienda', 0)
self._assert_fuzz_match('kocienda', 'Ken Kocienda', 0)
+ @xfail
def integration_test_contributors_kenneth_russell(self):
self._assert_fuzz_match('Ken Russell', 'Kenneth Russell', 4)
@@ -297,6 +310,7 @@
self._assert_fuzz_match('mrowe', 'Mark Rowe', 0)
# self._assert_fuzz_match('Brian Dash', 'Mark Rowe', 0)
+ @xfail
def integration_test_contributors_nikolas_zimmermann(self):
# self._assert_fuzz_match('Niko', 'Nikolas Zimmermann', 1)
self._assert_fuzz_match('Niko Zimmermann', 'Nikolas Zimmermann', 3)
@@ -343,6 +357,7 @@
# self._assert_fuzz_match('Tim O.', 'Tim Omernick', 0)
self._assert_fuzz_match('Tim O', 'Tim Omernick', 0)
+ @xfail
def integration_test_contributors_timothy_hatcher(self):
# self._assert_fuzz_match('Tim', 'Timothy Hatcher', 0)
# self._assert_fuzz_match('Tim H', 'Timothy Hatcher', 0)
Modified: trunk/Tools/Scripts/webkitpy/conftest.py (278039 => 278040)
--- trunk/Tools/Scripts/webkitpy/conftest.py 2021-05-25 20:25:39 UTC (rev 278039)
+++ trunk/Tools/Scripts/webkitpy/conftest.py 2021-05-25 20:27:57 UTC (rev 278040)
@@ -35,12 +35,6 @@
def pytest_addoption(parser):
parser.addoption(
- "--run-integration",
- action=""
- default=False,
- help="run integration tests",
- )
- parser.addoption(
"--run-slow", action="" default=False, help="run slow tests"
)
@@ -105,14 +99,6 @@
if "serial" in item.keywords:
item.add_marker(skip_serial)
- if not config.getoption("--run-integration"):
- skip_integration = pytest.mark.skip(
- reason="need --run-integration option to run"
- )
- for item in items:
- if "integration" in item.keywords:
- item.add_marker(skip_integration)
-
if not config.getoption("--run-slow"):
skip_slow = pytest.mark.skip(reason="need --run-slow option to run")
for item in items:
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py (278039 => 278040)
--- trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py 2021-05-25 20:25:39 UTC (rev 278039)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py 2021-05-25 20:27:57 UTC (rev 278040)
@@ -176,7 +176,7 @@
# FIXME: Multiprocessing doesn't do well when nested in Python 3 (https://bugs.webkit.org/show_bug.cgi?id=205280)
self.should_test_processes = not self._platform.is_win() and sys.version_info < (3, 0)
- def test_basic(self):
+ def serial_test_basic(self):
options, args = parse_args(tests_included=True)
logging_stream = StringIO()
host = MockHost()
@@ -208,7 +208,7 @@
self.assertEqual(host.user.opened_urls, [path.abspath_to_uri(MockHost().platform, '/tmp/layout-test-results/results.html')])
- def test_batch_size(self):
+ def serial_test_batch_size(self):
batch_tests_run = get_test_batches(['--batch-size', '2'])
for batch in batch_tests_run:
self.assertTrue(len(batch) <= 2, '%s had too many tests' % ', '.join(batch))
@@ -226,7 +226,7 @@
tests_included=True, shared_port=False)
self.assertTrue(any(['Running 1 ' in line for line in regular_output.getvalue().splitlines()]))
- def test_dryrun(self):
+ def serial_test_dryrun(self):
tests_run = get_tests_run(['--dry-run'])
self.assertEqual(tests_run, [])
@@ -250,7 +250,7 @@
self.assertRaises(BaseException, logging_run,
['--child-processes', '2', '--force', 'failures/expected/exception.html', 'passes/text.html'], tests_included=True, shared_port=False)
- def test_full_results_html(self):
+ def serial_test_full_results_html(self):
# FIXME: verify html?
details, _, _ = logging_run(['--full-results-html'])
self.assertEqual(details.exit_code, 0)
@@ -308,21 +308,21 @@
tests_run = get_tests_run(['--order=none'] + tests_to_run)
self.assertEqual(tests_to_run, tests_run)
- def test_no_order_with_directory_entries_in_natural_order(self):
+ def serial_test_no_order_with_directory_entries_in_natural_order(self):
tests_to_run = ['http/tests/ssl', 'http/tests/passes']
tests_run = get_tests_run(['--order=none'] + tests_to_run)
self.assertEqual(tests_run, ['http/tests/ssl/text.html', 'http/tests/passes/image.html', 'http/tests/passes/text.html'])
- def test_gc_between_tests(self):
+ def serial_test_gc_between_tests(self):
self.assertTrue(passing_run(['--gc-between-tests']))
- def test_check_for_world_leaks(self):
+ def serial_test_check_for_world_leaks(self):
self.assertTrue(passing_run(['--world-leaks']))
- def test_complex_text(self):
+ def serial_test_complex_text(self):
self.assertTrue(passing_run(['--complex-text']))
- def test_threaded(self):
+ def serial_test_threaded(self):
self.assertTrue(passing_run(['--threaded']))
def test_repeat_each(self):
@@ -381,7 +381,7 @@
chunk_tests_run = get_tests_run(['--run-chunk', '1:3', '--skipped', 'always'] + tests_to_run)
self.assertEqual(['passes/text.html', 'passes/error.html', 'passes/image.html'], chunk_tests_run)
- def test_run_force(self):
+ def serial_test_run_force(self):
# This raises an exception because we run
# failures/expected/exception.html, which is normally SKIPped.
@@ -399,12 +399,12 @@
chunk_tests_run = get_tests_run(['--run-part', '3:3', '--skipped', 'always'] + tests_to_run)
self.assertEqual(['passes/error.html', 'passes/image.html'], chunk_tests_run)
- def test_run_singly(self):
+ def serial_test_run_singly(self):
batch_tests_run = get_test_batches(['--run-singly'])
for batch in batch_tests_run:
self.assertEqual(len(batch), 1, '%s had too many tests' % ', '.join(batch))
- def test_skip_failing_tests(self):
+ def serial_test_skip_failing_tests(self):
# This tests that we skip both known failing and known flaky tests. Because there are
# no known flaky tests in the default test_expectations, we add additional expectations.
host = MockHost()
@@ -418,7 +418,7 @@
has_passes_text = has_passes_text or ('passes/text.html' in batch)
self.assertTrue(has_passes_text)
- def test_run_singly_actually_runs_tests(self):
+ def serial_test_run_singly_actually_runs_tests(self):
details, _, _ = logging_run(['--run-singly'], tests_included=True)
self.assertEqual(details.exit_code, test.UNEXPECTED_FAILURES - 1) # failures/expected/hang.html actually passes w/ --run-singly.
@@ -434,7 +434,7 @@
tests_run = get_tests_run(['failures/expected/keybaord.html'])
self.assertEqual([], tests_run)
- def test_stderr_is_saved(self):
+ def serial_test_stderr_is_saved(self):
host = MockHost()
self.assertTrue(passing_run(host=host))
self.assertEqual(host.filesystem.read_text_file('/tmp/layout-test-results/passes/error-stderr.txt'),
@@ -661,7 +661,7 @@
tests_run = get_tests_run(['failures/expected/crash.html', 'passes/text.html', '--exit-after-n-crashes-or-timeouts', '1'])
self.assertEqual(['failures/expected/crash.html', 'passes/text.html'], tests_run)
- def test_results_directory_absolute(self):
+ def serial_test_results_directory_absolute(self):
# We run a configuration that should fail, to generate output, then
# look for what the output results url was.
@@ -670,7 +670,7 @@
_, _, user = logging_run(['--results-directory=' + str(tmpdir)], tests_included=True, host=host)
self.assertEqual(user.opened_urls, [path.abspath_to_uri(host.platform, host.filesystem.join(tmpdir, 'results.html'))])
- def test_results_directory_default(self):
+ def serial_test_results_directory_default(self):
# We run a configuration that should fail, to generate output, then
# look for what the output results url was.
@@ -678,7 +678,7 @@
_, _, user = logging_run(tests_included=True)
self.assertEqual(user.opened_urls, [path.abspath_to_uri(MockHost().platform, '/tmp/layout-test-results/results.html')])
- def test_results_directory_relative(self):
+ def serial_test_results_directory_relative(self):
# We run a configuration that should fail, to generate output, then
# look for what the output results url was.
host = MockHost()
@@ -744,7 +744,7 @@
self.assertTrue(host.filesystem.exists('/tmp/layout-test-results/failures/unexpected/text-image-checksum-actual.txt'))
self.assertTrue(host.filesystem.exists('/tmp/layout-test-results/retries/failures/unexpected/text-image-checksum-actual.txt'))
- def test_run_order__inline(self):
+ def serial_test_run_order__inline(self):
# These next tests test that we run the tests in ascending alphabetical
# order per directory. HTTP tests are sharded separately from other tests,
# so we have to test both.
@@ -807,7 +807,7 @@
tests_run = get_test_results(['passes/mismatch.html'])
self.assertEqual(tests_run[0].references, ['passes/mismatch-expected-mismatch.html'])
- def test_additional_platform_directory(self):
+ def serial_test_additional_platform_directory(self):
self.assertTrue(passing_run(['--additional-platform-directory', '/tmp/foo']))
self.assertTrue(passing_run(['--additional-platform-directory', '/tmp/../foo']))
self.assertTrue(passing_run(['--additional-platform-directory', '/tmp/foo', '--additional-platform-directory', '/tmp/bar']))
@@ -834,7 +834,7 @@
self.assertEquals(details.retry_results.slow_tests,
{'failures/unexpected/timeout.html'})
- def test_no_http_and_force(self):
+ def serial_test_no_http_and_force(self):
# See test_run_force, using --force raises an exception.
# FIXME: We would like to check the warnings generated.
self.assertRaises(ValueError, logging_run, ['--force', '--no-http'])
@@ -843,7 +843,7 @@
def has_test_of_type(tests, type):
return [test for test in tests if type in test]
- def test_no_http_tests(self):
+ def serial_test_no_http_tests(self):
batch_tests_dryrun = get_tests_run(['LayoutTests/http', 'websocket/'])
self.assertTrue(RunTest.has_test_of_type(batch_tests_dryrun, 'http'))
self.assertTrue(RunTest.has_test_of_type(batch_tests_dryrun, 'websocket'))
@@ -856,7 +856,7 @@
self.assertTrue(RunTest.has_test_of_type(batch_tests_run_http, 'http'))
self.assertTrue(RunTest.has_test_of_type(batch_tests_run_http, 'websocket'))
- def test_platform_tests_are_found(self):
+ def serial_test_platform_tests_are_found(self):
tests_run = get_tests_run(['--platform', 'test-mac-leopard', 'http'])
self.assertTrue('platform/test-mac-leopard/http/test.html' in tests_run)
self.assertFalse('platform/test-win-win7/http/test.html' in tests_run)
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py (278039 => 278040)
--- trunk/Tools/Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py 2021-05-25 20:25:39 UTC (rev 278039)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py 2021-05-25 20:27:57 UTC (rev 278040)
@@ -38,9 +38,14 @@
import tempfile
import unittest
+from copy import copy
+from webkitpy.test.markers import slow, xfail, skip
+
+
class BaseTest(unittest.TestCase):
"""Basic framework for script tests."""
+ __pytest_no_rewrite__ = True
HOST = 'localhost'
# Override in actual test classes.
@@ -132,14 +137,41 @@
class HTTPServerTest(BaseTest):
"""Tests that new-run-webkit-http must pass."""
+ __pytest_no_rewrite__ = False
PORTS = (8000, 8080, 8443)
SCRIPT_NAME = 'new-run-webkit-httpd'
+ @xfail
+ def integration_test_server__normal(self):
+ return super(HTTPServerTest, self).integration_test_server__normal()
+ @xfail
+ def integration_test_server__fails(self):
+ return super(HTTPServerTest, self).integration_test_server__fails()
+
+ @xfail
+ def integration_test_port_and_root(self):
+ return super(HTTPServerTest, self).integration_test_port_and_root()
+
+
class WebsocketserverTest(BaseTest):
"""Tests that new-run-webkit-websocketserver must pass."""
+ __pytest_no_rewrite__ = False
# FIXME: test TLS at some point?
PORTS = (8880, )
SCRIPT_NAME = 'new-run-webkit-websocketserver'
+
+ @skip("flaky")
+ def integration_test_server__normal(self):
+ return super(WebsocketserverTest, self).integration_test_server__normal()
+
+ @skip("flaky")
+ def integration_test_server__fails(self):
+ return super(WebsocketserverTest, self).integration_test_server__fails()
+
+ @slow
+ @xfail
+ def integration_test_port_and_root(self):
+ return super(WebsocketserverTest, self).integration_test_port_and_root()
Modified: trunk/Tools/Scripts/webkitpy/port/port_testcase.py (278039 => 278040)
--- trunk/Tools/Scripts/webkitpy/port/port_testcase.py 2021-05-25 20:25:39 UTC (rev 278039)
+++ trunk/Tools/Scripts/webkitpy/port/port_testcase.py 2021-05-25 20:27:57 UTC (rev 278040)
@@ -50,6 +50,8 @@
from webkitpy.layout_tests.servers import http_server_base
from webkitpy.tool.mocktool import MockOptions
+from webkitpy.test.markers import slow, xfail
+
from webkitcorepy import OutputCapture
@@ -173,6 +175,7 @@
port.start_helper()
port.stop_helper()
+ @xfail
def integration_test_http_server__normal(self):
port = self.make_port()
self.assert_servers_are_down('localhost', self.HTTP_PORTS)
@@ -181,6 +184,7 @@
port.stop_http_server()
self.assert_servers_are_down('localhost', self.HTTP_PORTS)
+ @xfail
def integration_test_http_server__fails(self):
port = self.make_port()
# Test that if a port isn't available, the call fails.
@@ -209,6 +213,7 @@
finally:
port.stop_http_server()
+ @xfail
def integration_test_http_server__two_servers(self):
# Test that calling start() on two different ports causes the
# first port to be treated as stale and killed.
@@ -344,6 +349,8 @@
self.assertEqual(port.diff_image(b'foo', b'bar'), (b'', 0, 'ImageDiff crashed\n'))
port.clean_up_test_run()
+ @slow
+ @xfail
def integration_test_websocket_server__normal(self):
port = self.make_port()
self.assert_servers_are_down('localhost', self.WEBSOCKET_PORTS)
@@ -352,6 +359,7 @@
port.stop_websocket_server()
self.assert_servers_are_down('localhost', self.WEBSOCKET_PORTS)
+ @xfail
def integration_test_websocket_server__fails(self):
port = self.make_port()
@@ -376,6 +384,7 @@
finally:
port.stop_websocket_server()
+ @xfail
def integration_test_websocket_server__two_servers(self):
port = self.make_port()
@@ -410,6 +419,7 @@
self.assertTrue(len(port.all_test_configurations()) > 0)
self.assertTrue(port.test_configuration() in port.all_test_configurations(), "%s not in %s" % (port.test_configuration(), port.all_test_configurations()))
+ @xfail
def integration_test_http_server__loop(self):
port = self.make_port()
Modified: trunk/Tools/Scripts/webkitpy/test/main_unittest.py (278039 => 278040)
--- trunk/Tools/Scripts/webkitpy/test/main_unittest.py 2021-05-25 20:25:39 UTC (rev 278039)
+++ trunk/Tools/Scripts/webkitpy/test/main_unittest.py 2021-05-25 20:27:57 UTC (rev 278040)
@@ -30,6 +30,7 @@
from webkitpy.common.system.filesystem import FileSystem
from webkitpy.common.system.executive import Executive
from webkitpy.test.main import Tester, _Loader
+from webkitpy.test.markers import xfail
from webkitcorepy import OutputCapture
@@ -107,6 +108,7 @@
STUBS_CLASS + '.serial_test_empty',
])
+ @xfail
def integration_test_coverage_works(self):
filesystem = FileSystem()
executive = Executive()
Modified: trunk/Tools/Scripts/webkitpy/test/markers.py (278039 => 278040)
--- trunk/Tools/Scripts/webkitpy/test/markers.py 2021-05-25 20:25:39 UTC (rev 278039)
+++ trunk/Tools/Scripts/webkitpy/test/markers.py 2021-05-25 20:27:57 UTC (rev 278040)
@@ -64,3 +64,6 @@
return pytest.mark.slow(func)
except NameError:
return func
+
+
+skip = unittest.skip
Modified: trunk/Tools/Scripts/webkitpy/tool/steps/haslanded_unittest.py (278039 => 278040)
--- trunk/Tools/Scripts/webkitpy/tool/steps/haslanded_unittest.py 2021-05-25 20:25:39 UTC (rev 278039)
+++ trunk/Tools/Scripts/webkitpy/tool/steps/haslanded_unittest.py 2021-05-25 20:27:57 UTC (rev 278040)
@@ -30,12 +30,14 @@
import unittest
from webkitpy.tool.steps.haslanded import HasLanded
+from webkitpy.test.markers import skip
class HasLandedTest(unittest.TestCase):
maxDiff = None
- @unittest.skipUnless(subprocess.call('which interdiff', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0, "requires interdiff")
+ @unittest.skip("https://bugs.webkit.org/show_bug.cgi?id=226230")
+ # @unittest.skipUnless(subprocess.call('which interdiff', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0, "requires interdiff")
def test_run(self):
# These patches require trailing whitespace to remain valid patches.
diff1 = """\