Skip to content

Commit 5369bba

Browse files
add tests for asyncio transport sockets (#100263)
1 parent 3da71ff commit 5369bba

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

Lib/test/test_asyncio/test_events.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -823,6 +823,29 @@ def test_create_server(self):
823823
# close server
824824
server.close()
825825

826+
def test_create_server_trsock(self):
827+
proto = MyProto(self.loop)
828+
f = self.loop.create_server(lambda: proto, '0.0.0.0', 0)
829+
server = self.loop.run_until_complete(f)
830+
self.assertEqual(len(server.sockets), 1)
831+
sock = server.sockets[0]
832+
self.assertIsInstance(sock, asyncio.trsock.TransportSocket)
833+
host, port = sock.getsockname()
834+
self.assertEqual(host, '0.0.0.0')
835+
dup = sock.dup()
836+
self.addCleanup(dup.close)
837+
self.assertIsInstance(dup, socket.socket)
838+
self.assertFalse(sock.get_inheritable())
839+
with self.assertRaises(ValueError):
840+
sock.settimeout(1)
841+
sock.settimeout(0)
842+
self.assertEqual(sock.gettimeout(), 0)
843+
with self.assertRaises(ValueError):
844+
sock.setblocking(True)
845+
sock.setblocking(False)
846+
server.close()
847+
848+
826849
@unittest.skipUnless(hasattr(socket, 'SO_REUSEPORT'), 'No SO_REUSEPORT')
827850
def test_create_server_reuse_port(self):
828851
proto = MyProto(self.loop)

0 commit comments

Comments
 (0)