diff --git a/tests/utils.py b/tests/utils.py index 429bbd2b2e2..545678b6d21 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -1,6 +1,7 @@ import contextlib import http.server import pathlib +import socketserver import threading from ssl import PROTOCOL_TLS_SERVER, SSLContext @@ -16,10 +17,14 @@ LOCK_PATH = str(TESTS_ROOT / 'test-server.lock') +class ThreadedHttpServer(socketserver.ThreadingMixIn, http.server.HTTPServer): + daemon_threads = True + + class HttpServerThread(threading.Thread): def __init__(self, handler, *args, **kwargs): super().__init__(*args, **kwargs) - self.server = http.server.HTTPServer(("localhost", 7777), handler) + self.server = ThreadedHttpServer(("localhost", 7777), handler) def run(self): self.server.serve_forever(poll_interval=0.001)