cpython: cba717fa8e10 (original) (raw)
Mercurial > cpython
changeset 100262:cba717fa8e10 2.7
Issue #26309: Rewrite test in main thread and avoid race condition [#26309]
Martin Panter vadmium+py@gmail.com | |
---|---|
date | Fri, 19 Feb 2016 02:16:42 +0000 |
parents | e0fbd25f0b36 |
children | 9211b7e60c92 |
files | Lib/test/test_socketserver.py |
diffstat | 1 files changed, 12 insertions(+), 11 deletions(-)[+] [-] Lib/test/test_socketserver.py 23 |
line wrap: on
line diff
--- a/Lib/test/test_socketserver.py +++ b/Lib/test/test_socketserver.py @@ -326,28 +326,29 @@ class SocketServerTest(unittest.TestCase SocketServer.TCPServer((HOST, -1), SocketServer.StreamRequestHandler) + +class MiscTestCase(unittest.TestCase): + def test_shutdown_request_called_if_verify_request_false(self): # Issue #26309: BaseServer should call shutdown_request even if # verify_request is False
result = {"shutdown_called": False}[](#l1.13)
class MyServer(SocketServer.TCPServer): def verify_request(self, request, client_address): return False
shutdown_called = 0[](#l1.19) def shutdown_request(self, request):[](#l1.20)
result["shutdown_called"] = True[](#l1.21)
self.shutdown_called += 1[](#l1.22) SocketServer.TCPServer.shutdown_request(self, request)[](#l1.23)
def connect_to_server(proto, addr):[](#l1.25)
s = socket.socket(proto, socket.SOCK_STREAM)[](#l1.26)
s.connect(addr)[](#l1.27)
s.close()[](#l1.28)
self.run_server(MyServer,[](#l1.30)
SocketServer.StreamRequestHandler,[](#l1.31)
connect_to_server)[](#l1.32)
self.assertEqual(result["shutdown_called"], True)[](#l1.33)
server = MyServer((HOST, 0), SocketServer.StreamRequestHandler)[](#l1.34)
s = socket.socket(server.address_family, socket.SOCK_STREAM)[](#l1.35)
s.connect(server.server_address)[](#l1.36)
s.close()[](#l1.37)
server.handle_request()[](#l1.38)
self.assertEqual(server.shutdown_called, 1)[](#l1.39)
server.server_close()[](#l1.40)