| OLD | NEW |
| 1 # Copyright (C) 2012 Google Inc. All rights reserved. | 1 # Copyright (C) 2012 Google Inc. All rights reserved. |
| 2 # Copyright (C) 2010 Gabor Rapcsanyi (rgabor@inf.u-szeged.hu), University of Sze
ged | 2 # Copyright (C) 2010 Gabor Rapcsanyi (rgabor@inf.u-szeged.hu), University of Sze
ged |
| 3 # | 3 # |
| 4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
| 5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
| 6 # met: | 6 # met: |
| 7 # | 7 # |
| 8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
| 9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
| 10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 options = run_webkit_tests.parse_args(['--platform', 'test-mac-snowleopa
rd'])[0] | 97 options = run_webkit_tests.parse_args(['--platform', 'test-mac-snowleopa
rd'])[0] |
| 98 options.child_processes = '1' | 98 options.child_processes = '1' |
| 99 | 99 |
| 100 host = MockHost() | 100 host = MockHost() |
| 101 port = port or host.port_factory.get(options.platform, options=options) | 101 port = port or host.port_factory.get(options.platform, options=options) |
| 102 return LockCheckingRunner(port, options, FakePrinter(), self, True) | 102 return LockCheckingRunner(port, options, FakePrinter(), self, True) |
| 103 | 103 |
| 104 def _run_tests(self, runner, tests): | 104 def _run_tests(self, runner, tests): |
| 105 test_inputs = [TestInput(test, 6000) for test in tests] | 105 test_inputs = [TestInput(test, 6000) for test in tests] |
| 106 expectations = TestExpectations(runner._port, tests) | 106 expectations = TestExpectations(runner._port, tests) |
| 107 runner.run_tests(expectations, test_inputs, set(), | 107 runner.run_tests(expectations, test_inputs, set(), num_workers=1, retryi
ng=False) |
| 108 num_workers=1, needs_http=any('http' in test for test in tests), nee
ds_websockets=any(['websocket' in test for test in tests]), retrying=False) | |
| 109 | |
| 110 def test_http_locking(self): | |
| 111 runner = self._runner() | |
| 112 self._run_tests(runner, ['http/tests/passes/text.html', 'passes/text.htm
l']) | |
| 113 | |
| 114 def test_perf_locking(self): | |
| 115 runner = self._runner() | |
| 116 self._run_tests(runner, ['http/tests/passes/text.html', 'perf/foo/test.h
tml']) | |
| 117 | 108 |
| 118 def test_interrupt_if_at_failure_limits(self): | 109 def test_interrupt_if_at_failure_limits(self): |
| 119 runner = self._runner() | 110 runner = self._runner() |
| 120 runner._options.exit_after_n_failures = None | 111 runner._options.exit_after_n_failures = None |
| 121 runner._options.exit_after_n_crashes_or_times = None | 112 runner._options.exit_after_n_crashes_or_times = None |
| 122 test_names = ['passes/text.html', 'passes/image.html'] | 113 test_names = ['passes/text.html', 'passes/image.html'] |
| 123 runner._test_inputs = [TestInput(test_name, 6000) for test_name in test_
names] | 114 runner._test_inputs = [TestInput(test_name, 6000) for test_name in test_
names] |
| 124 | 115 |
| 125 run_results = TestRunResults(TestExpectations(runner._port, test_names),
len(test_names)) | 116 run_results = TestRunResults(TestExpectations(runner._port, test_names),
len(test_names)) |
| 126 run_results.unexpected_failures = 100 | 117 run_results.unexpected_failures = 100 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 157 runner._update_summary_with_result(run_results, result) | 148 runner._update_summary_with_result(run_results, result) |
| 158 self.assertEqual(1, run_results.expected) | 149 self.assertEqual(1, run_results.expected) |
| 159 self.assertEqual(0, run_results.unexpected) | 150 self.assertEqual(0, run_results.unexpected) |
| 160 | 151 |
| 161 run_results = TestRunResults(expectations, 1) | 152 run_results = TestRunResults(expectations, 1) |
| 162 result = TestResult(test_name=test, failures=[], reftest_type=['==']) | 153 result = TestResult(test_name=test, failures=[], reftest_type=['==']) |
| 163 runner._update_summary_with_result(run_results, result) | 154 runner._update_summary_with_result(run_results, result) |
| 164 self.assertEqual(0, run_results.expected) | 155 self.assertEqual(0, run_results.expected) |
| 165 self.assertEqual(1, run_results.unexpected) | 156 self.assertEqual(1, run_results.unexpected) |
| 166 | 157 |
| 167 def test_servers_started(self): | |
| 168 | |
| 169 def start_http_server(number_of_servers=None): | |
| 170 self.http_started = True | |
| 171 | |
| 172 def start_websocket_server(): | |
| 173 self.websocket_started = True | |
| 174 | |
| 175 def stop_http_server(): | |
| 176 self.http_stopped = True | |
| 177 | |
| 178 def stop_websocket_server(): | |
| 179 self.websocket_stopped = True | |
| 180 | |
| 181 host = MockHost() | |
| 182 port = host.port_factory.get('test-mac-leopard') | |
| 183 port.start_http_server = start_http_server | |
| 184 port.start_websocket_server = start_websocket_server | |
| 185 port.stop_http_server = stop_http_server | |
| 186 port.stop_websocket_server = stop_websocket_server | |
| 187 | |
| 188 self.http_started = self.http_stopped = self.websocket_started = self.we
bsocket_stopped = False | |
| 189 runner = self._runner(port=port) | |
| 190 runner._needs_http = True | |
| 191 runner._needs_websockets = False | |
| 192 runner.start_servers_with_lock(number_of_servers=4) | |
| 193 self.assertEqual(self.http_started, True) | |
| 194 self.assertEqual(self.websocket_started, False) | |
| 195 runner.stop_servers_with_lock() | |
| 196 self.assertEqual(self.http_stopped, True) | |
| 197 self.assertEqual(self.websocket_stopped, False) | |
| 198 | |
| 199 self.http_started = self.http_stopped = self.websocket_started = self.we
bsocket_stopped = False | |
| 200 runner._needs_http = True | |
| 201 runner._needs_websockets = True | |
| 202 runner.start_servers_with_lock(number_of_servers=4) | |
| 203 self.assertEqual(self.http_started, True) | |
| 204 self.assertEqual(self.websocket_started, True) | |
| 205 runner.stop_servers_with_lock() | |
| 206 self.assertEqual(self.http_stopped, True) | |
| 207 self.assertEqual(self.websocket_stopped, True) | |
| 208 | |
| 209 self.http_started = self.http_stopped = self.websocket_started = self.we
bsocket_stopped = False | |
| 210 runner._needs_http = False | |
| 211 runner._needs_websockets = False | |
| 212 runner.start_servers_with_lock(number_of_servers=4) | |
| 213 self.assertEqual(self.http_started, False) | |
| 214 self.assertEqual(self.websocket_started, False) | |
| 215 runner.stop_servers_with_lock() | |
| 216 self.assertEqual(self.http_stopped, False) | |
| 217 self.assertEqual(self.websocket_stopped, False) | |
| 218 | |
| 219 | 158 |
| 220 class SharderTests(unittest.TestCase): | 159 class SharderTests(unittest.TestCase): |
| 221 | 160 |
| 222 test_list = [ | 161 test_list = [ |
| 223 "http/tests/websocket/tests/unicode.htm", | 162 "http/tests/websocket/tests/unicode.htm", |
| 224 "animations/keyframes.html", | 163 "animations/keyframes.html", |
| 225 "http/tests/security/view-source-no-refresh.html", | 164 "http/tests/security/view-source-no-refresh.html", |
| 226 "http/tests/websocket/tests/websocket-protocol-ignored.html", | 165 "http/tests/websocket/tests/websocket-protocol-ignored.html", |
| 227 "fast/css/display-none-inline-style-change-crash.html", | 166 "fast/css/display-none-inline-style-change-crash.html", |
| 228 "http/tests/xmlhttprequest/supported-xml-content-types.html", | 167 "http/tests/xmlhttprequest/supported-xml-content-types.html", |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 329 'perf/object-keys.html'])]) | 268 'perf/object-keys.html'])]) |
| 330 | 269 |
| 331 locked, unlocked = self.get_shards(num_workers=4, fully_parallel=False) | 270 locked, unlocked = self.get_shards(num_workers=4, fully_parallel=False) |
| 332 self.assert_shards(locked, | 271 self.assert_shards(locked, |
| 333 [('locked_shard_1', | 272 [('locked_shard_1', |
| 334 ['http/tests/security/view-source-no-refresh.html', | 273 ['http/tests/security/view-source-no-refresh.html', |
| 335 'http/tests/websocket/tests/unicode.htm', | 274 'http/tests/websocket/tests/unicode.htm', |
| 336 'http/tests/websocket/tests/websocket-protocol-ignored.html', | 275 'http/tests/websocket/tests/websocket-protocol-ignored.html', |
| 337 'http/tests/xmlhttprequest/supported-xml-content-types.html', | 276 'http/tests/xmlhttprequest/supported-xml-content-types.html', |
| 338 'perf/object-keys.html'])]) | 277 'perf/object-keys.html'])]) |
| OLD | NEW |