From: Joannah Nanjekye <33177550+nanjekyejoannah@users.noreply.github.com> Date: Tue, 26 Feb 2019 16:18:23 +0000 (+0300) Subject: bpo-36123: Fix test_socket.testWithTimeoutTriggeredSend() race condition (GH-12053) X-Git-Tag: v3.8.0a3~223 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=53b9e1a1c1d86187ad6fbee492b697ef8be74205;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. --- diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 7c5167d85033..571f45c2b030 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -5603,7 +5603,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) @@ -5788,7 +5788,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