diff options
author | Nadeshiko Manju <me@manjusaka.me> | 2024-09-07 03:00:28 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-06 15:00:28 -0400 |
commit | 8a46a2ec5032c5eb1bc3c6bb0fc2422ac9b2cc53 (patch) | |
tree | eabdf6b16b48bf0f194aa289032dc8ade38287d3 /Lib/test/test_socket.py | |
parent | 5a4fb7ea1c96f67dbb3df5d4ccaf3f66a1e19731 (diff) | |
download | cpython-8a46a2ec5032c5eb1bc3c6bb0fc2422ac9b2cc53.tar.gz cpython-8a46a2ec5032c5eb1bc3c6bb0fc2422ac9b2cc53.zip |
gh-117657: Fix file descriptor race in test_socket.py (#123697)
Diffstat (limited to 'Lib/test/test_socket.py')
-rw-r--r-- | Lib/test/test_socket.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 628f806c789..e449fa65ace 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -4806,15 +4806,13 @@ class InterruptedSendTimeoutTest(InterruptedTimeoutBase, class TCPCloserTest(ThreadedTCPSocketTest): - def testClose(self): - conn, addr = self.serv.accept() - conn.close() + conn, _ = self.serv.accept() - sd = self.cli - read, write, err = select.select([sd], [], [], 1.0) - self.assertEqual(read, [sd]) - self.assertEqual(sd.recv(1), b'') + read, _, _ = select.select([conn], [], [], support.SHORT_TIMEOUT) + self.assertEqual(read, [conn]) + self.assertEqual(conn.recv(1), b'x') + conn.close() # Calling close() many times should be safe. conn.close() @@ -4822,7 +4820,10 @@ class TCPCloserTest(ThreadedTCPSocketTest): def _testClose(self): self.cli.connect((HOST, self.port)) - time.sleep(1.0) + self.cli.send(b'x') + read, _, _ = select.select([self.cli], [], [], support.SHORT_TIMEOUT) + self.assertEqual(read, [self.cli]) + self.assertEqual(self.cli.recv(1), b'') class BasicSocketPairTest(SocketPairTest): |