]> granicus.if.org Git - python/commit
bpo-35347: Fix test_socket.NonBlockingTCPTests (GH-10791)
authorVictor Stinner <vstinner@redhat.com>
Fri, 30 Nov 2018 11:29:25 +0000 (12:29 +0100)
committerGitHub <noreply@github.com>
Fri, 30 Nov 2018 11:29:25 +0000 (12:29 +0100)
commitebd5d6d6e6e4e751ba9c7534004aadfc27ba9265
tree2edebc8f7592365099b06147b547f683831c156a
parent55e498058faf8c97840556f6d791c2c392732dc3
bpo-35347: Fix test_socket.NonBlockingTCPTests (GH-10791)

testAccept() and testRecv() of test_socket.NonBlockingTCPTests have a
race condition: time.sleep() is used as a weak synchronization
primitive and the tests fail randomly on slow buildbots.

Use a reliable threading.Event to fix these tests.

Other changes:

* Replace send() with sendall()
* Expect specific BlockingIOError rather than generic OSError
* Add a timeout to select() in testAccept() and testRecv()
* Use addCleanup() to close sockets
* Use assertRaises()
Lib/test/test_socket.py