def test_process_communicate_handle_oserror_no_exception(self): process_mock = mock.Mock() process_mock.communicate.return_value = 'out', 'err' process_mock.poll.return_value = 0 output, err, retcode = cms._process_communicate_handle_oserror( process_mock, '', []) self.assertEqual(output, 'out') self.assertEqual(err, 'err') self.assertEqual(retcode, 0)
def test_process_communicate_handle_oserror_epipe_files_ok( self, files_acc_mock): process_mock = mock.Mock() process_mock.communicate = self._raise_OSError process_mock.stderr = mock.Mock() process_mock.stderr.read = mock.Mock(return_value='proc stderr') files_acc_mock.return_value = -1, None output, err, retcode = cms._process_communicate_handle_oserror( process_mock, '', []) self.assertEqual((output, retcode), ('', -1)) self.assertIn('proc stderr', err)