def test_servers_started(self): def start_http_server(number_of_servers=None): self.http_started = True def start_websocket_server(): self.websocket_started = True def stop_http_server(): self.http_stopped = True def stop_websocket_server(): self.websocket_stopped = True host = MockHost() port = host.port_factory.get('test-mac-leopard') port.start_http_server = start_http_server port.start_websocket_server = start_websocket_server port.stop_http_server = stop_http_server port.stop_websocket_server = stop_websocket_server self.http_started = self.http_stopped = self.websocket_started = self.websocket_stopped = False manager = Manager(port=port, options=MockOptions(http=True), printer=Mock()) manager._test_files = ['http/tests/pass.txt'] manager.start_servers_with_lock(number_of_servers=4) self.assertEquals(self.http_started, True) self.assertEquals(self.websocket_started, False) manager.stop_servers_with_lock() self.assertEquals(self.http_stopped, True) self.assertEquals(self.websocket_stopped, False) self.http_started = self.http_stopped = self.websocket_started = self.websocket_stopped = False manager = Manager(port=port, options=MockOptions(http=True), printer=Mock()) manager._test_files = ['websocket/pass.txt'] manager.start_servers_with_lock(number_of_servers=4) self.assertEquals(self.http_started, True) self.assertEquals(self.websocket_started, True) manager.stop_servers_with_lock() self.assertEquals(self.http_stopped, True) self.assertEquals(self.websocket_stopped, True) self.http_started = self.http_stopped = self.websocket_started = self.websocket_stopped = False manager = Manager(port=port, options=MockOptions(http=True), printer=Mock()) manager._test_files = ['perf/foo/test.html'] manager.start_servers_with_lock(number_of_servers=4) self.assertEquals(self.http_started, False) self.assertEquals(self.websocket_started, False) manager.stop_servers_with_lock() self.assertEquals(self.http_stopped, False) self.assertEquals(self.websocket_stopped, False)
def test_servers_started(self): def start_http_server(number_of_servers=None): self.http_started = True def start_websocket_server(): self.websocket_started = True def stop_http_server(): self.http_stopped = True def stop_websocket_server(): self.websocket_stopped = True host = MockHost() port = host.port_factory.get('test-mac-leopard') port.start_http_server = start_http_server port.start_websocket_server = start_websocket_server port.stop_http_server = stop_http_server port.stop_websocket_server = stop_websocket_server self.http_started = self.http_stopped = self.websocket_started = self.websocket_stopped = False manager = Manager(port=port, options=MockOptions(http=True), printer=Mock()) manager._test_files = ['http/tests/pass.txt'] manager.start_servers_with_lock(number_of_servers=4) self.assertEquals(self.http_started, True) self.assertEquals(self.websocket_started, False) manager.stop_servers_with_lock() self.assertEquals(self.http_stopped, True) self.assertEquals(self.websocket_stopped, False) self.http_started = self.http_stopped = self.websocket_started = self.websocket_stopped = False manager = Manager(port=port, options=MockOptions(http=True), printer=Mock()) manager._test_files = ['websocket/pass.txt'] manager.start_servers_with_lock(number_of_servers=4) self.assertEquals(self.http_started, True) self.assertEquals(self.websocket_started, True) manager.stop_servers_with_lock() self.assertEquals(self.http_stopped, True) self.assertEquals(self.websocket_stopped, True) self.http_started = self.http_stopped = self.websocket_started = self.websocket_stopped = False manager = Manager(port=port, options=MockOptions(http=True), printer=Mock()) manager._test_files = ['perf/foo/test.html'] manager.start_servers_with_lock(number_of_servers=4) self.assertEquals(self.http_started, False) self.assertEquals(self.websocket_started, False) manager.stop_servers_with_lock() self.assertEquals(self.http_stopped, False) self.assertEquals(self.websocket_stopped, False)
def get_manager_with_tests(test_names): port = Mock() # FIXME: Use a tighter mock. port.TEST_PATH_SEPARATOR = '/' manager = Manager(port, options=MockOptions(http=True), printer=Mock()) manager._test_files = set(test_names) manager._test_files_list = test_names return manager
def test_interrupt_if_at_failure_limits(self): port = Mock() # FIXME: This should be a tighter mock. port.TEST_PATH_SEPARATOR = '/' port._filesystem = MockFileSystem() manager = Manager(port=port, options=MockOptions(), printer=Mock()) manager._options = MockOptions(exit_after_n_failures=None, exit_after_n_crashes_or_timeouts=None) manager._test_files = ['foo/bar.html', 'baz.html'] result_summary = ResultSummary(expectations=Mock(), test_files=manager._test_files) result_summary.unexpected_failures = 100 result_summary.unexpected_crashes = 50 result_summary.unexpected_timeouts = 50 # No exception when the exit_after* options are None. manager._interrupt_if_at_failure_limits(result_summary) # No exception when we haven't hit the limit yet. manager._options.exit_after_n_failures = 101 manager._options.exit_after_n_crashes_or_timeouts = 101 manager._interrupt_if_at_failure_limits(result_summary) # Interrupt if we've exceeded either limit: manager._options.exit_after_n_crashes_or_timeouts = 10 self.assertRaises(TestRunInterruptedException, manager._interrupt_if_at_failure_limits, result_summary) self.assertEquals(result_summary.results['foo/bar.html'].type, test_expectations.SKIP) self.assertEquals(result_summary.results['baz.html'].type, test_expectations.SKIP) manager._options.exit_after_n_crashes_or_timeouts = None manager._options.exit_after_n_failures = 10 exception = self.assertRaises(TestRunInterruptedException, manager._interrupt_if_at_failure_limits, result_summary)
def get_manager_with_tests(test_names): port = Mock() # FIXME: Use a tighter mock. port.TEST_PATH_SEPARATOR = '/' manager = Manager(port, options=MockOptions(http=True), printer=Mock()) manager._test_files = set(test_names) manager._test_files_list = test_names return manager
def test_interrupt_if_at_failure_limits(self): port = Mock() # FIXME: This should be a tighter mock. port.TEST_PATH_SEPARATOR = '/' port._filesystem = MockFileSystem() manager = Manager(port=port, options=MockOptions(), printer=Mock()) manager._options = MockOptions(exit_after_n_failures=None, exit_after_n_crashes_or_timeouts=None) manager._test_files = ['foo/bar.html', 'baz.html'] manager._test_is_slow = lambda test_name: False result_summary = ResultSummary(expectations=Mock(), test_files=manager._test_files) result_summary.unexpected_failures = 100 result_summary.unexpected_crashes = 50 result_summary.unexpected_timeouts = 50 # No exception when the exit_after* options are None. manager._interrupt_if_at_failure_limits(result_summary) # No exception when we haven't hit the limit yet. manager._options.exit_after_n_failures = 101 manager._options.exit_after_n_crashes_or_timeouts = 101 manager._interrupt_if_at_failure_limits(result_summary) # Interrupt if we've exceeded either limit: manager._options.exit_after_n_crashes_or_timeouts = 10 self.assertRaises(TestRunInterruptedException, manager._interrupt_if_at_failure_limits, result_summary) self.assertEquals(result_summary.results['foo/bar.html'].type, test_expectations.SKIP) self.assertEquals(result_summary.results['baz.html'].type, test_expectations.SKIP) manager._options.exit_after_n_crashes_or_timeouts = None manager._options.exit_after_n_failures = 10 exception = self.assertRaises(TestRunInterruptedException, manager._interrupt_if_at_failure_limits, result_summary)