Skip to content

Commit ce654bd

Browse files
committed
Add test_socket_sync_remove_and_immediately_close test
1 parent 1a8925c commit ce654bd

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

tests/test_sockets.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,23 @@ def writer():
158158
self.loop.add_writer(wsock, writer)
159159
self.loop.run_until_complete(f)
160160

161+
def test_socket_sync_remove_and_immediately_close(self):
162+
# Test that it's OK to close the socket right after calling
163+
# `remove_reader`.
164+
sock = socket.socket()
165+
with sock:
166+
cb = lambda: None
167+
168+
sock.bind(('127.0.0.1', 0))
169+
sock.listen(0)
170+
fd = sock.fileno()
171+
self.loop.add_reader(fd, cb)
172+
self.loop.run_until_complete(asyncio.sleep(0.01, loop=self.loop))
173+
self.loop.remove_reader(fd)
174+
sock.close()
175+
self.assertEqual(sock.fileno(), -1)
176+
self.loop.run_until_complete(asyncio.sleep(0.01, loop=self.loop))
177+
161178

162179
class TestUVSockets(_TestSockets, tb.UVTestCase):
163180

0 commit comments

Comments
 (0)