From 99cade5ba422440d8b693ccbc722460c5f6a961f Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Thu, 2 Mar 2017 17:35:22 +0100 Subject: [PATCH] validate: Make the HTTP server multi-threaded Avoids having one test blocking all other tests --- validate/launcher/RangeHTTPServer.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/validate/launcher/RangeHTTPServer.py b/validate/launcher/RangeHTTPServer.py index c29ac96d88..83240d42df 100644 --- a/validate/launcher/RangeHTTPServer.py +++ b/validate/launcher/RangeHTTPServer.py @@ -35,6 +35,8 @@ __all__ = ["RangeHTTPRequestHandler"] import os import sys +from socketserver import ThreadingMixIn + import posixpath import http.server import urllib.parse @@ -47,6 +49,8 @@ import time _bandwidth = 0 +class ThreadingSimpleServer(ThreadingMixIn, http.server.HTTPServer): + pass class RangeHTTPRequestHandler(http.server.BaseHTTPRequestHandler): @@ -280,5 +284,5 @@ def test(handler_class = RangeHTTPRequestHandler,server_class = http.server.HTTP http.server.test(handler_class, server_class) if __name__ == "__main__": - httpd = http.server.HTTPServer(("0.0.0.0", int(sys.argv[1])), RangeHTTPRequestHandler) + httpd = ThreadingSimpleServer(("0.0.0.0", int(sys.argv[1])), RangeHTTPRequestHandler) httpd.serve_forever()