Index: Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py |
diff --git a/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py b/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py |
index 23151b39b746bfcdfe69ba732b46b2479fb8f398..f9b056d865f7dfca67c99a967c4b5a190c2374da 100644 |
--- a/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py |
+++ b/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py |
@@ -71,6 +71,7 @@ class FakePrinter(object): |
class LockCheckingRunner(LayoutTestRunner): |
+ |
def __init__(self, port, options, printer, tester, http_lock): |
super(LockCheckingRunner, self).__init__(options, port, printer, port.results_directory(), lambda test_name: False) |
self._finished_list_called = False |
@@ -92,6 +93,7 @@ class LockCheckingRunner(LayoutTestRunner): |
class LayoutTestRunnerTests(unittest.TestCase): |
+ |
def _runner(self, port=None): |
# FIXME: we shouldn't have to use run_webkit_tests.py to get the options we need. |
options = run_webkit_tests.parse_args(['--platform', 'test-mac-snowleopard'])[0] |
@@ -159,18 +161,18 @@ class LayoutTestRunnerTests(unittest.TestCase): |
class SharderTests(unittest.TestCase): |
test_list = [ |
- "http/tests/websocket/tests/unicode.htm", |
- "animations/keyframes.html", |
- "http/tests/security/view-source-no-refresh.html", |
- "http/tests/websocket/tests/websocket-protocol-ignored.html", |
- "fast/css/display-none-inline-style-change-crash.html", |
- "http/tests/xmlhttprequest/supported-xml-content-types.html", |
- "dom/html/level2/html/HTMLAnchorElement03.html", |
- "ietestcenter/Javascript/11.1.5_4-4-c-1.html", |
- "dom/html/level2/html/HTMLAnchorElement06.html", |
- "perf/object-keys.html", |
- "virtual/threaded/dir/test.html", |
- "virtual/threaded/fast/foo/test.html", |
+ 'http/tests/websocket/tests/unicode.htm', |
+ 'animations/keyframes.html', |
+ 'http/tests/security/view-source-no-refresh.html', |
+ 'http/tests/websocket/tests/websocket-protocol-ignored.html', |
+ 'fast/css/display-none-inline-style-change-crash.html', |
+ 'http/tests/xmlhttprequest/supported-xml-content-types.html', |
+ 'dom/html/level2/html/HTMLAnchorElement03.html', |
+ 'ietestcenter/Javascript/11.1.5_4-4-c-1.html', |
+ 'dom/html/level2/html/HTMLAnchorElement06.html', |
+ 'perf/object-keys.html', |
+ 'virtual/threaded/dir/test.html', |
+ 'virtual/threaded/fast/foo/test.html', |
] |
def get_test_input(self, test_file): |
@@ -181,7 +183,7 @@ class SharderTests(unittest.TestCase): |
self.sharder = Sharder(port.split_test, max_locked_shards) |
test_list = test_list or self.test_list |
return self.sharder.shard_tests([self.get_test_input(test) for test in test_list], |
- num_workers, fully_parallel, run_singly) |
+ num_workers, fully_parallel, run_singly) |
def assert_shards(self, actual_shards, expected_shard_names): |
self.assertEqual(len(actual_shards), len(expected_shard_names)) |
@@ -189,7 +191,7 @@ class SharderTests(unittest.TestCase): |
expected_shard_name, expected_test_names = expected_shard_names[i] |
self.assertEqual(shard.name, expected_shard_name) |
self.assertEqual([test_input.test_name for test_input in shard.test_inputs], |
- expected_test_names) |
+ expected_test_names) |
def test_shard_by_dir(self): |
locked, unlocked = self.get_shards(num_workers=2, fully_parallel=False, run_singly=False) |
@@ -198,102 +200,102 @@ class SharderTests(unittest.TestCase): |
# they are crammed into a single shard in order to reduce the # of |
# workers hitting the server at once. |
self.assert_shards(locked, |
- [('locked_shard_1', |
- ['http/tests/security/view-source-no-refresh.html', |
- 'http/tests/websocket/tests/unicode.htm', |
- 'http/tests/websocket/tests/websocket-protocol-ignored.html', |
- 'http/tests/xmlhttprequest/supported-xml-content-types.html', |
- 'perf/object-keys.html'])]) |
+ [('locked_shard_1', |
+ ['http/tests/security/view-source-no-refresh.html', |
+ 'http/tests/websocket/tests/unicode.htm', |
+ 'http/tests/websocket/tests/websocket-protocol-ignored.html', |
+ 'http/tests/xmlhttprequest/supported-xml-content-types.html', |
+ 'perf/object-keys.html'])]) |
self.assert_shards(unlocked, |
- [('virtual/threaded/dir', ['virtual/threaded/dir/test.html']), |
- ('virtual/threaded/fast/foo', ['virtual/threaded/fast/foo/test.html']), |
- ('animations', ['animations/keyframes.html']), |
- ('dom/html/level2/html', ['dom/html/level2/html/HTMLAnchorElement03.html', |
- 'dom/html/level2/html/HTMLAnchorElement06.html']), |
- ('fast/css', ['fast/css/display-none-inline-style-change-crash.html']), |
- ('ietestcenter/Javascript', ['ietestcenter/Javascript/11.1.5_4-4-c-1.html'])]) |
+ [('virtual/threaded/dir', ['virtual/threaded/dir/test.html']), |
+ ('virtual/threaded/fast/foo', ['virtual/threaded/fast/foo/test.html']), |
+ ('animations', ['animations/keyframes.html']), |
+ ('dom/html/level2/html', ['dom/html/level2/html/HTMLAnchorElement03.html', |
+ 'dom/html/level2/html/HTMLAnchorElement06.html']), |
+ ('fast/css', ['fast/css/display-none-inline-style-change-crash.html']), |
+ ('ietestcenter/Javascript', ['ietestcenter/Javascript/11.1.5_4-4-c-1.html'])]) |
def test_shard_every_file(self): |
locked, unlocked = self.get_shards(num_workers=2, fully_parallel=True, max_locked_shards=2, run_singly=False) |
self.assert_shards(locked, |
- [('locked_shard_1', |
- ['http/tests/websocket/tests/unicode.htm', |
- 'http/tests/security/view-source-no-refresh.html', |
- 'http/tests/websocket/tests/websocket-protocol-ignored.html']), |
- ('locked_shard_2', |
- ['http/tests/xmlhttprequest/supported-xml-content-types.html', |
- 'perf/object-keys.html'])]), |
+ [('locked_shard_1', |
+ ['http/tests/websocket/tests/unicode.htm', |
+ 'http/tests/security/view-source-no-refresh.html', |
+ 'http/tests/websocket/tests/websocket-protocol-ignored.html']), |
+ ('locked_shard_2', |
+ ['http/tests/xmlhttprequest/supported-xml-content-types.html', |
+ 'perf/object-keys.html'])]), |
self.assert_shards(unlocked, |
- [('virtual/threaded/dir', ['virtual/threaded/dir/test.html']), |
- ('virtual/threaded/fast/foo', ['virtual/threaded/fast/foo/test.html']), |
- ('.', ['animations/keyframes.html']), |
- ('.', ['fast/css/display-none-inline-style-change-crash.html']), |
- ('.', ['dom/html/level2/html/HTMLAnchorElement03.html']), |
- ('.', ['ietestcenter/Javascript/11.1.5_4-4-c-1.html']), |
- ('.', ['dom/html/level2/html/HTMLAnchorElement06.html'])]) |
+ [('virtual/threaded/dir', ['virtual/threaded/dir/test.html']), |
+ ('virtual/threaded/fast/foo', ['virtual/threaded/fast/foo/test.html']), |
+ ('.', ['animations/keyframes.html']), |
+ ('.', ['fast/css/display-none-inline-style-change-crash.html']), |
+ ('.', ['dom/html/level2/html/HTMLAnchorElement03.html']), |
+ ('.', ['ietestcenter/Javascript/11.1.5_4-4-c-1.html']), |
+ ('.', ['dom/html/level2/html/HTMLAnchorElement06.html'])]) |
def test_shard_in_two(self): |
locked, unlocked = self.get_shards(num_workers=1, fully_parallel=False, run_singly=False) |
self.assert_shards(locked, |
- [('locked_tests', |
- ['http/tests/websocket/tests/unicode.htm', |
- 'http/tests/security/view-source-no-refresh.html', |
- 'http/tests/websocket/tests/websocket-protocol-ignored.html', |
- 'http/tests/xmlhttprequest/supported-xml-content-types.html', |
- 'perf/object-keys.html'])]) |
+ [('locked_tests', |
+ ['http/tests/websocket/tests/unicode.htm', |
+ 'http/tests/security/view-source-no-refresh.html', |
+ 'http/tests/websocket/tests/websocket-protocol-ignored.html', |
+ 'http/tests/xmlhttprequest/supported-xml-content-types.html', |
+ 'perf/object-keys.html'])]) |
self.assert_shards(unlocked, |
- [('unlocked_tests', |
- ['animations/keyframes.html', |
- 'fast/css/display-none-inline-style-change-crash.html', |
- 'dom/html/level2/html/HTMLAnchorElement03.html', |
- 'ietestcenter/Javascript/11.1.5_4-4-c-1.html', |
- 'dom/html/level2/html/HTMLAnchorElement06.html', |
- 'virtual/threaded/dir/test.html', |
- 'virtual/threaded/fast/foo/test.html'])]) |
+ [('unlocked_tests', |
+ ['animations/keyframes.html', |
+ 'fast/css/display-none-inline-style-change-crash.html', |
+ 'dom/html/level2/html/HTMLAnchorElement03.html', |
+ 'ietestcenter/Javascript/11.1.5_4-4-c-1.html', |
+ 'dom/html/level2/html/HTMLAnchorElement06.html', |
+ 'virtual/threaded/dir/test.html', |
+ 'virtual/threaded/fast/foo/test.html'])]) |
def test_shard_in_two_has_no_locked_shards(self): |
locked, unlocked = self.get_shards(num_workers=1, fully_parallel=False, run_singly=False, |
- test_list=['animations/keyframe.html']) |
+ test_list=['animations/keyframe.html']) |
self.assertEqual(len(locked), 0) |
self.assertEqual(len(unlocked), 1) |
def test_shard_in_two_has_no_unlocked_shards(self): |
locked, unlocked = self.get_shards(num_workers=1, fully_parallel=False, run_singly=False, |
- test_list=['http/tests/websocket/tests/unicode.htm']) |
+ test_list=['http/tests/websocket/tests/unicode.htm']) |
self.assertEqual(len(locked), 1) |
self.assertEqual(len(unlocked), 0) |
def test_multiple_locked_shards(self): |
locked, unlocked = self.get_shards(num_workers=4, fully_parallel=False, max_locked_shards=2, run_singly=False) |
self.assert_shards(locked, |
- [('locked_shard_1', |
- ['http/tests/security/view-source-no-refresh.html', |
- 'http/tests/websocket/tests/unicode.htm', |
- 'http/tests/websocket/tests/websocket-protocol-ignored.html']), |
- ('locked_shard_2', |
- ['http/tests/xmlhttprequest/supported-xml-content-types.html', |
- 'perf/object-keys.html'])]) |
+ [('locked_shard_1', |
+ ['http/tests/security/view-source-no-refresh.html', |
+ 'http/tests/websocket/tests/unicode.htm', |
+ 'http/tests/websocket/tests/websocket-protocol-ignored.html']), |
+ ('locked_shard_2', |
+ ['http/tests/xmlhttprequest/supported-xml-content-types.html', |
+ 'perf/object-keys.html'])]) |
locked, unlocked = self.get_shards(num_workers=4, fully_parallel=False, run_singly=False) |
self.assert_shards(locked, |
- [('locked_shard_1', |
- ['http/tests/security/view-source-no-refresh.html', |
- 'http/tests/websocket/tests/unicode.htm', |
- 'http/tests/websocket/tests/websocket-protocol-ignored.html', |
- 'http/tests/xmlhttprequest/supported-xml-content-types.html', |
- 'perf/object-keys.html'])]) |
+ [('locked_shard_1', |
+ ['http/tests/security/view-source-no-refresh.html', |
+ 'http/tests/websocket/tests/unicode.htm', |
+ 'http/tests/websocket/tests/websocket-protocol-ignored.html', |
+ 'http/tests/xmlhttprequest/supported-xml-content-types.html', |
+ 'perf/object-keys.html'])]) |
def test_virtual_shards(self): |
# With run_singly=False, we try to keep all of the tests in a virtual suite together even |
# when fully_parallel=True, so that we don't restart every time the command line args change. |
locked, unlocked = self.get_shards(num_workers=2, fully_parallel=True, max_locked_shards=2, run_singly=False, |
- test_list=['virtual/foo/bar1.html', 'virtual/foo/bar2.html']) |
+ test_list=['virtual/foo/bar1.html', 'virtual/foo/bar2.html']) |
self.assert_shards(unlocked, |
- [('virtual/foo', ['virtual/foo/bar1.html', 'virtual/foo/bar2.html'])]) |
+ [('virtual/foo', ['virtual/foo/bar1.html', 'virtual/foo/bar2.html'])]) |
# But, with run_singly=True, we have to restart every time anyway, so we want full parallelism. |
locked, unlocked = self.get_shards(num_workers=2, fully_parallel=True, max_locked_shards=2, run_singly=True, |
- test_list=['virtual/foo/bar1.html', 'virtual/foo/bar2.html']) |
+ test_list=['virtual/foo/bar1.html', 'virtual/foo/bar2.html']) |
self.assert_shards(unlocked, |
- [('.', ['virtual/foo/bar1.html']), |
- ('.', ['virtual/foo/bar2.html'])]) |
+ [('.', ['virtual/foo/bar1.html']), |
+ ('.', ['virtual/foo/bar2.html'])]) |