Esempio n. 1
0
 def test_simple(self):
     p = Pipe()
     # default constructor
     self.assertTrue(isinstance(p, io.RawIOBase))
     self.assertFalse(p.closed)
     try:
         p.fileno()
         self.fail("fileno should raise IOError")
     except IOError:
         pass
     self.assertFalse(p.isatty())
     self.assertTrue(p.readable())
     self.assertFalse(p.seekable())
     self.assertTrue(p.writable())
     # now for our custom attributes
     self.assertTrue(p.readblocking())
     self.assertTrue(p.writeblocking())
     self.assertTrue(p.canwrite() == io.DEFAULT_BUFFER_SIZE)
     self.assertFalse(p.canread())
     # now try a quick read and write test
     data = b"The quick brown fox jumped over the lazy dog"
     wlen = p.write(data)
     self.assertTrue(wlen == len(data))
     self.assertTrue(p.canwrite() == io.DEFAULT_BUFFER_SIZE - len(data))
     self.assertTrue(p.canread())
     self.assertTrue(p.read(3) == data[:3])
     self.assertTrue(p.canwrite() == io.DEFAULT_BUFFER_SIZE - len(data) + 3)
     self.assertTrue(p.canread())
     # now deal with EOF conditions
     p.write_eof()
     try:
         p.write(b"extra")
         self.fail("write past EOF")
     except IOError:
         pass
     try:
         p.canwrite()
         self.fail("canwrite called past EOF")
     except IOError:
         pass
     self.assertTrue(p.canread(), "But can still read")
     self.assertFalse(p.closed)
     self.assertTrue(p.readall() == data[3:])
     self.assertTrue(p.canread(), "Can still read")
     self.assertTrue(p.read(3) == b'')
     self.assertTrue(len(p.read()) == 0)
     self.assertTrue(len(p.readall()) == 0)
     p.close()
     self.assertTrue(p.closed)
     try:
         p.canread()
         self.fail("canread called on closed pipe")
     except IOError:
         pass
Esempio n. 2
0
 def test_simple(self):
     p = Pipe()
     # default constructor
     self.assertTrue(isinstance(p, io.RawIOBase))
     self.assertFalse(p.closed)
     try:
         p.fileno()
         self.fail("fileno should raise IOError")
     except IOError:
         pass
     self.assertFalse(p.isatty())
     self.assertTrue(p.readable())
     self.assertFalse(p.seekable())
     self.assertTrue(p.writable())
     # now for our custom attributes
     self.assertTrue(p.readblocking())
     self.assertTrue(p.writeblocking())
     self.assertTrue(p.canwrite() == io.DEFAULT_BUFFER_SIZE)
     self.assertFalse(p.canread())
     # now try a quick read and write test
     data = b"The quick brown fox jumped over the lazy dog"
     wlen = p.write(data)
     self.assertTrue(wlen == len(data))
     self.assertTrue(p.canwrite() == io.DEFAULT_BUFFER_SIZE - len(data))
     self.assertTrue(p.canread())
     self.assertTrue(p.read(3) == data[:3])
     self.assertTrue(p.canwrite() == io.DEFAULT_BUFFER_SIZE - len(data) + 3)
     self.assertTrue(p.canread())
     # now deal with EOF conditions
     p.write_eof()
     try:
         p.write(b"extra")
         self.fail("write past EOF")
     except IOError:
         pass
     try:
         p.canwrite()
         self.fail("canwrite called past EOF")
     except IOError:
         pass
     self.assertTrue(p.canread(), "But can still read")
     self.assertFalse(p.closed)
     self.assertTrue(p.readall() == data[3:])
     self.assertTrue(p.canread(), "Can still read")
     self.assertTrue(p.read(3) == b'')
     self.assertTrue(len(p.read()) == 0)
     self.assertTrue(len(p.readall()) == 0)
     p.close()
     self.assertTrue(p.closed)
     try:
         p.canread()
         self.fail("canread called on closed pipe")
     except IOError:
         pass
Esempio n. 3
0
 def test_readall(self):
     p = Pipe(timeout=1, bsize=10, rblocking=False)
     p.write(b"123")
     # readall should block and timeout
     try:
         data = p.readall()
         self.fail("blocked readall returned: %s" % data)
     except IOError as e:
         self.assertTrue(io_timedout(e))
Esempio n. 4
0
 def test_readall(self):
     p = Pipe(timeout=1, bsize=10, rblocking=False)
     p.write(b"123")
     # readall should block and timeout
     try:
         data = p.readall()
         self.fail("blocked readall returned: %s" % data)
     except IOError as e:
         self.assertTrue(io_timedout(e))