def test_fork_and_exec_child(self): with mock.patch('os.fork') as mock_fork,\ mock.patch('os.close') as mock_close,\ mock.patch('os.setsid') as mock_setsid,\ mock.patch('os.execvp') as mock_execvp,\ mock.patch(connection.__name__ + '.close_fds') as mock_close_fds: mock_fork.side_effect = [0] child = connection.fork_and_exec(FAKE_CMD, FAKE_CHILD_FDS) self.assertIsNone(child) self.assertEquals(mock_fork.call_count, 1) self.assertEquals(mock_close_fds.call_count, 1) self.assertEquals(mock_setsid.call_count, 1) self.assertEquals(mock_execvp.call_count, 1)
def test_fork_and_exec_child(self): with mock.patch('os.fork') as mock_fork,\ mock.patch('os.close') as mock_close,\ mock.patch('os.setsid') as mock_setsid,\ mock.patch('os.execvp') as mock_execvp,\ mock.patch(connection.__name__ + '.close_fds') as mock_close_fds: mock_fork.side_effect = [ 0 ] child = connection.fork_and_exec(FAKE_CMD, FAKE_CHILD_FDS) self.assertIsNone(child) self.assertEquals(mock_fork.call_count, 1) self.assertEquals(mock_close_fds.call_count, 1) self.assertEquals(mock_setsid.call_count, 1) self.assertEquals(mock_execvp.call_count, 1)
def test_fork_and_exec_parent(self): with mock.patch('os.fork') as mock_fork: mock_fork.side_effect = [FAKE_CHILD_PID] child = connection.fork_and_exec(FAKE_CMD, FAKE_CHILD_FDS) self.assertEqual(child, FAKE_CHILD_PID) self.assertEquals(mock_fork.call_count, 1)
def test_fork_and_exec_parent(self): with mock.patch('os.fork') as mock_fork: mock_fork.side_effect = [ FAKE_CHILD_PID ] child = connection.fork_and_exec(FAKE_CMD, FAKE_CHILD_FDS) self.assertEqual(child, FAKE_CHILD_PID) self.assertEquals(mock_fork.call_count, 1)