def testIterCmdOutputLines_exitStatusFail(self): with self.assertRaises(subprocess.CalledProcessError): with _MockProcess(output_sequence=self._SIMPLE_OUTPUT_SEQUENCE, return_value=1) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines(mock_proc, 'mock_proc'), 1): self.assertEquals(num, int(line))
def testIterCmdOutputLines_exitStatusFail(self): with self.assertRaises(subprocess.CalledProcessError): with _MockProcess(output_sequence=self._SIMPLE_OUTPUT_SEQUENCE, return_value=1) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines(mock_proc, 'mock_proc'), 1): self.assertEquals(num, int(line))
def testIterCmdOutputLines_exitStatusIgnored(self): with _MockProcess(output_sequence=self._SIMPLE_OUTPUT_SEQUENCE, return_value=1) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines(mock_proc, 'mock_proc', check_status=False), 1): self.assertEquals(num, int(line))
def testIterCmdOutputLines_exitStatusIgnored(self): with _MockProcess(output_sequence=self._SIMPLE_OUTPUT_SEQUENCE, return_value=1) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines( mock_proc, 'mock_proc', check_status=False), 1): self.assertEquals(num, int(line))
def testIterCmdOutputLines_unicode(self): output_sequence = [ _ProcessOutputEvent(read_contents=b'\x80\x31\nHello\n\xE2\x98\xA0') ] with _MockProcess(output_sequence=output_sequence) as mock_proc: lines = list(cmd_helper._IterCmdOutputLines( mock_proc, 'mock_proc')) self.assertEquals(lines[1], "Hello")
def testIterCmdOutputLines_exitStatusSkipped(self): with _MockProcess(output_sequence=self._SIMPLE_OUTPUT_SEQUENCE, return_value=1) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines(mock_proc, 'mock_proc'), 1): self.assertEquals(num, int(line)) # no exception will be raised because we don't attempt to read past # the end of the output and, thus, the status never gets checked if num == 2: break
def testIterCmdOutputLines_exitStatusSkipped(self): with _MockProcess(output_sequence=self._SIMPLE_OUTPUT_SEQUENCE, return_value=1) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines(mock_proc, 'mock_proc'), 1): self.assertEquals(num, int(line)) # no exception will be raised because we don't attempt to read past # the end of the output and, thus, the status never gets checked if num == 2: break
def testIterCmdOutputLines_delay(self): output_sequence = [ _ProcessOutputEvent(read_contents='1\n2\n', ts=1), _ProcessOutputEvent(read_contents=None, ts=2), _ProcessOutputEvent(read_contents='Awake', ts=10), ] with _MockProcess(output_sequence=output_sequence) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines( mock_proc, 'mock_proc', iter_timeout=5), 1): if num <= 2: self.assertEquals(num, int(line)) elif num == 3: self.assertEquals(None, line) elif num == 4: self.assertEquals('Awake', line) else: self.fail()
def testIterCmdOutputLines_delay(self): output_sequence = [ _ProcessOutputEvent(read_contents='1\n2\n', ts=1), _ProcessOutputEvent(read_contents=None, ts=2), _ProcessOutputEvent(read_contents='Awake', ts=10), ] with _MockProcess(output_sequence=output_sequence) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines(mock_proc, 'mock_proc', iter_timeout=5), 1): if num <= 2: self.assertEquals(num, int(line)) elif num == 3: self.assertEquals(None, line) elif num == 4: self.assertEquals('Awake', line) else: self.fail()
def testIterCmdOutputLines_success(self): with _MockProcess( output_sequence=self._SIMPLE_OUTPUT_SEQUENCE) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines(mock_proc, 'mock_proc'), 1): self.assertEquals(num, int(line))
def testIterCmdOutputLines_success(self): with _MockProcess( output_sequence=self._SIMPLE_OUTPUT_SEQUENCE) as mock_proc: for num, line in enumerate( cmd_helper._IterCmdOutputLines(mock_proc, 'mock_proc'), 1): self.assertEquals(num, int(line))