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)
예제 #2
0
 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
예제 #3
0
 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)