aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/test_socket.py
diff options
context:
space:
mode:
authorNadeshiko Manju <me@manjusaka.me>2024-09-07 03:00:28 +0800
committerGitHub <noreply@github.com>2024-09-06 15:00:28 -0400
commit8a46a2ec5032c5eb1bc3c6bb0fc2422ac9b2cc53 (patch)
treeeabdf6b16b48bf0f194aa289032dc8ade38287d3 /Lib/test/test_socket.py
parent5a4fb7ea1c96f67dbb3df5d4ccaf3f66a1e19731 (diff)
downloadcpython-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.py17
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):