Ejemplo n.º 1
0
    def test_exec_loop_waits_for_process(self):
        """Tests that the _exec_loop waits for the process to complete before
        returning."""
        process = Process('cmd')
        Process._Process__start_process = mock.Mock()

        with self.patch('Thread', FakeThread):
            process._exec_loop()

        self.assertEqual(process._process.wait.called, True)
Ejemplo n.º 2
0
    def test_exec_loop_redirections_output(self):
        """Tests that the _exec_loop function calls to redirect the output."""
        process = Process('cmd')
        Process._Process__start_process = mock.Mock()

        with self.patch('Thread', FakeThread):
            process._exec_loop()

        self.assertEqual(process._redirection_thread.target,
                         process._redirect_output)
        self.assertEqual(process._redirection_thread.alive, True)
Ejemplo n.º 3
0
    def test_exec_loop_does_not_loop_if_stopped(self):
        process = Process('1st')
        Process._Process__start_process = mock.Mock()
        process._on_terminate_callback = mock.Mock(side_effect=['2nd', None])
        process._stopped = True

        with self.patch('Thread', FakeThread):
            process._exec_loop()

        self.assertEqual(Process._Process__start_process.call_count, 1)
        self.assertEqual(Process._Process__start_process.call_args_list[0][0],
                         (['1st'], ))