From 2632474957fa9c6311af21be6906d1234853f288 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 26 Feb 2019 08:48:52 -0800 Subject: [PATCH] bpo-36123: Fix test_socket.testWithTimeoutTriggeredSend() race condition (GH-12053) Use longer timeout for accept() in the server and block on accept in the client. The client now only sets the timeout once the socket is connected. (cherry picked from commit 53b9e1a1c1d86187ad6fbee492b697ef8be74205) Co-authored-by: Joannah Nanjekye <33177550+nanjekyejoannah@users.noreply.github.com> --- Lib/test/test_socket.py | 5 +++-- .../next/Tests/2019-02-26-12-51-35.bpo-36123.QRhhRS.rst | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Tests/2019-02-26-12-51-35.bpo-36123.QRhhRS.rst diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 82b89fcbafa6..381965289615 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -5533,7 +5533,7 @@ class SendfileUsingSendTest(ThreadedTCPSocketTest): support.unlink(support.TESTFN) def accept_conn(self): - self.serv.settimeout(self.TIMEOUT) + self.serv.settimeout(MAIN_TIMEOUT) conn, addr = self.serv.accept() conn.settimeout(self.TIMEOUT) self.addCleanup(conn.close) @@ -5718,7 +5718,8 @@ class SendfileUsingSendTest(ThreadedTCPSocketTest): def _testWithTimeoutTriggeredSend(self): address = self.serv.getsockname() with open(support.TESTFN, 'rb') as file: - with socket.create_connection(address, timeout=0.01) as sock: + with socket.create_connection(address) as sock: + sock.settimeout(0.01) meth = self.meth_from_sock(sock) self.assertRaises(socket.timeout, meth, file) diff --git a/Misc/NEWS.d/next/Tests/2019-02-26-12-51-35.bpo-36123.QRhhRS.rst b/Misc/NEWS.d/next/Tests/2019-02-26-12-51-35.bpo-36123.QRhhRS.rst new file mode 100644 index 000000000000..5a7e5bb8f43c --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2019-02-26-12-51-35.bpo-36123.QRhhRS.rst @@ -0,0 +1 @@ +Fix race condition in test_socket. \ No newline at end of file -- 2.47.3