Ejemplo n.º 1
0
 def test_some(self):
     start = time.time()
     self.r = r = uio.spawn('printf "abc"; sleep .1; printf "def"')
     data = r.some()
     self.assertEqual(data, 'abc')
     data = r.some()
     self.assertEqual(data, 'def')
Ejemplo n.º 2
0
 def test_timeout(self):
     start = time.time()
     self.r = r = uio.spawn('sleep .1')
     with r.timeout(0.05):
         r.wait()
     duration = time.time() - start
     self.assertRange(duration, 0.05, 0.01)
Ejemplo n.º 3
0
 def test_terminate(self):
     start = time.time()
     self.r = r = uio.spawn('sleep 10')
     r.terminate()
     r.wait()
     duration = time.time() - start
     self.assertLess(duration, 0.1)
     self.assertEqual(r.returncode, -15)
Ejemplo n.º 4
0
 def test_signal(self):
     start = time.time()
     self.r = r = uio.spawn('sleep 10')
     r.signal(14)  # SIGALRM
     r.wait()
     duration = time.time() - start
     self.assertLess(duration, 0.1)
     self.assertEqual(r.returncode, -14)
Ejemplo n.º 5
0
 def test_timeout_total(self):
     start = time.time()
     self.r = r = uio.spawn('printf "abc"; sleep .1;' * 2)
     with r.timeout(total=0.12) as timer:
         data = r.some()
         self.assertEqual(data, 'abc')
         data = r.some()
         self.assertEqual(data, 'abc')
     self.assertTrue(timer.safe)
Ejemplo n.º 6
0
 def test_timeout_total_fail(self):
     start = time.time()
     self.r = r = uio.spawn('printf "abc"; sleep .1;' * 3)
     with r.timeout(total=0.12) as timer:
         data = r.some()
         self.assertEqual(data, 'abc')
         data = r.some()
         self.assertEqual(data, 'abc')
         r.some()
         self.fail('Not timeout')
     self.assertFalse(timer.safe)
Ejemplo n.º 7
0
 def test_close_out(self):
     self.r = r = uio.spawn('printf "abc"; read val; sleep $val')
     data = r.some()
     self.assertEqual(data, 'abc')
     r.close(dir='in')
     with self.assertRaises(ValueError):
         r.read(1)
     start = time.time()
     r.line('.1')
     with r.timeout(1):
         r.wait()
     duration = time.time() - start
     self.assertRange(duration, 0.1, 0.02)
Ejemplo n.º 8
0
 def test_readline(self):
     self.r = r = uio.spawn(['printf', 'abc\\n\\0'])
     data = r.line()
     self.assertEqual(data, 'abc')
     data = r.line()
     self.assertEqual(data, '\0')
Ejemplo n.º 9
0
 def test_pid(self):
     self.r = r = uio.spawn('sleep 10')
     self.assertIsInstance(r.pid, int)
Ejemplo n.º 10
0
 def test_wait(self):
     start = time.time()
     self.r = r = uio.spawn('sleep .1')
     r.wait()
     duration = time.time() - start
     self.assertRange(duration, 0.1, 0.02)
Ejemplo n.º 11
0
 def test_before(self):
     self.r = r = uio.spawn('printf "out: 0x1234\\n"; cat')
     data = r.before('0x').line(0).line()
     self.assertEqual(data, '0x1234')
     data = r.line()
     self.assertEqual(data, '0')
Ejemplo n.º 12
0
 def test_after(self):
     self.r = r = uio.spawn('printf "out: abcd\\n"; cat')
     data = r.after('out: ').line(0).line()
     self.assertEqual(data, 'abcd')
     data = r.line()
     self.assertEqual(data, '0')
Ejemplo n.º 13
0
 def test_writebin(self):
     self.r = r = uio.spawn('cat', encoding=None)
     data = r.write(b'abc\x7f\xff').close('write').read()
     self.assertEqual(data, b'abc\x7f\xff')
Ejemplo n.º 14
0
 def test_writeline(self):
     self.r = r = uio.spawn('cat')
     data = r.line('abc').line('\0').close('write').line()
     self.assertEqual(data, 'abc')
     data = r.line()
     self.assertEqual(data, '\0')
Ejemplo n.º 15
0
 def test_until(self):
     self.r = r = uio.spawn(['printf', 'abc\\n\\0next: def'])
     data = r.until('next: ')
     self.assertEqual(data, 'abc\n\0')
     data = r.line()
     self.assertEqual(data, 'def')
Ejemplo n.º 16
0
 def test_write(self):
     self.r = r = uio.spawn('cat')
     data = r.write('abc').close('write').read()
     self.assertEqual(data, 'abc')
Ejemplo n.º 17
0
 def test_shell(self):
     self.r = r = uio.spawn('printf "abc\\0"; printf "def";')
     data = r.read()
     self.assertEqual(data, 'abc\0def')
Ejemplo n.º 18
0
 def test_readbin(self):
     self.r = r = uio.spawn(['printf', 'abc\\x7f\\xff'], encoding=None)
     data = r.read()
     self.assertEqual(data, b'abc\x7f\xff')
Ejemplo n.º 19
0
 def test_read(self):
     self.r = r = uio.spawn(['printf', 'abc\\0'])
     data = r.read()
     self.assertEqual(data, 'abc\0')
Ejemplo n.º 20
0
 def test_context(self):
     with uio.spawn('printf "abc"; read val;') as r:
         data = r.some()
         self.assertEqual(data, 'abc')
     with self.assertRaises(ValueError):
         r.read(1)
Ejemplo n.º 21
0
 def test_close_KeyError(self):
     self.r = r = uio.spawn('printf "abc"; read val; sleep $val')
     with self.assertRaises(KeyError):
         r.close(dir='noop')