summaryrefslogtreecommitdiff
path: root/asyncio/test_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'asyncio/test_utils.py')
-rw-r--r--asyncio/test_utils.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/asyncio/test_utils.py b/asyncio/test_utils.py
index ac7680d..3e5eee5 100644
--- a/asyncio/test_utils.py
+++ b/asyncio/test_utils.py
@@ -91,6 +91,13 @@ class SilentWSGIRequestHandler(WSGIRequestHandler):
class SilentWSGIServer(WSGIServer):
+ request_timeout = 2
+
+ def get_request(self):
+ request, client_addr = super().get_request()
+ request.settimeout(self.request_timeout)
+ return request, client_addr
+
def handle_error(self, request, client_address):
pass
@@ -138,7 +145,8 @@ def _run_test_server(*, address, use_ssl=False, server_cls, server_ssl_cls):
httpd = server_class(address, SilentWSGIRequestHandler)
httpd.set_app(app)
httpd.address = httpd.server_address
- server_thread = threading.Thread(target=httpd.serve_forever)
+ server_thread = threading.Thread(
+ target=lambda: httpd.serve_forever(poll_interval=0.05))
server_thread.start()
try:
yield httpd
@@ -160,12 +168,15 @@ if hasattr(socket, 'AF_UNIX'):
class UnixWSGIServer(UnixHTTPServer, WSGIServer):
+ request_timeout = 2
+
def server_bind(self):
UnixHTTPServer.server_bind(self)
self.setup_environ()
def get_request(self):
request, client_addr = super().get_request()
+ request.settimeout(self.request_timeout)
# Code in the stdlib expects that get_request
# will return a socket and a tuple (host, port).
# However, this isn't true for UNIX sockets,