def start(self, timeout=None): """start a windows service""" with self._wrap_exceptions(): cext.winservice_start(self.name()) if timeout: giveup_at = time.time() + timeout while True: if self.status() == "running": return if time.time() > giveup_at: raise TimeoutExpired(timeout) time.sleep(0.1)
def test_wait_output_timeout_children(self, kill_process_mock): self.proc_mock.wait.side_effect = TimeoutExpired(3) self.proc_mock.children.return_value = [Mock()] * 2 assert not rerun._wait_output(Mock(), False) assert kill_process_mock.call_count == 3
def test_wait_output_timeout(self, kill_process_mock): self.proc_mock.wait.side_effect = TimeoutExpired(3) self.proc_mock.children.return_value = [] assert not rerun._wait_output(Mock(), False) kill_process_mock.assert_called_once_with(self.proc_mock)