From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 26 Feb 2019 16:48:52 +0000 (-0800) Subject: bpo-36123: Fix test_socket.testWithTimeoutTriggeredSend() race condition (GH-12053) X-Git-Tag: v3.7.3rc1~41 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2632474957fa9c6311af21be6906d1234853f288;p=thirdparty%2FPython%2Fcpython.git 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> --- 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