MCPcopy Index your code
hub / github.com/python/cpython / test_write_pty

Method test_write_pty

Lib/test/test_asyncio/test_events.py:1756–1793  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1754 # older than 10.6 (Snow Leopard)
1755 @support.requires_mac_ver(10, 6)
1756 def test_write_pty(self):
1757 master, slave = os.openpty()
1758 slave_write_obj = io.open(slave, 'wb', 0)
1759
1760 proto = MyWritePipeProto(loop=self.loop)
1761 connect = self.loop.connect_write_pipe(lambda: proto, slave_write_obj)
1762 transport, p = self.loop.run_until_complete(connect)
1763 self.assertIs(p, proto)
1764 self.assertIs(transport, proto.transport)
1765 self.assertEqual('CONNECTED', proto.state)
1766
1767 transport.write(b'1')
1768
1769 data = bytearray()
1770 def reader(data):
1771 chunk = os.read(master, 1024)
1772 data += chunk
1773 return len(data)
1774
1775 test_utils.run_until(self.loop, lambda: reader(data) >= 1,
1776 timeout=support.SHORT_TIMEOUT)
1777 self.assertEqual(b'1', data)
1778
1779 transport.write(b'2345')
1780 test_utils.run_until(self.loop, lambda: reader(data) >= 5,
1781 timeout=support.SHORT_TIMEOUT)
1782 self.assertEqual(b'12345', data)
1783 self.assertEqual('CONNECTED', proto.state)
1784
1785 os.close(master)
1786
1787 # extra info is available
1788 self.assertIsNotNone(proto.transport.get_extra_info('pipe'))
1789
1790 # close connection
1791 proto.transport.close()
1792 self.loop.run_until_complete(proto.done)
1793 self.assertEqual('CLOSED', proto.state)
1794
1795 @unittest.skipUnless(sys.platform != 'win32',
1796 "Don't support pipes for Windows")

Callers 1

test_write_ptyMethod · 0.45

Calls 11

MyWritePipeProtoClass · 0.85
readerFunction · 0.85
assertIsNotNoneMethod · 0.80
openMethod · 0.45
connect_write_pipeMethod · 0.45
run_until_completeMethod · 0.45
assertIsMethod · 0.45
assertEqualMethod · 0.45
writeMethod · 0.45
closeMethod · 0.45
get_extra_infoMethod · 0.45

Tested by

no test coverage detected