From c28363722ff0acbd650d188cecee1730301d7c10 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 31 May 2019 15:19:00 +0100 Subject: [PATCH] [Test] Fix sockets reusing --- test/functional/util/dummy_http.py | 10 +++++----- test/functional/util/dummy_killer.py | 4 ++-- test/functional/util/dummy_udp.py | 1 + 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/test/functional/util/dummy_http.py b/test/functional/util/dummy_http.py index dc4cee354..614fced29 100755 --- a/test/functional/util/dummy_http.py +++ b/test/functional/util/dummy_http.py @@ -30,7 +30,7 @@ class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): def do_GET(self): response = "hello world" - + """Respond to a GET request.""" if self.path == "/empty": self.finish() @@ -55,7 +55,7 @@ class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): conntype = self.headers.get('Connection', "").lower() if conntype != 'keep-alive': self.close_connection = True - + self.log_message("ka:'%s', pv:%s[%s]" % (str(conntype == 'keep-alive'), str(self.protocol_version >= "HTTP/1.1"), self.protocol_version)) @@ -73,7 +73,7 @@ class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): self.send_response(403) else: self.send_response(200) - + if self.path == "/content-length": self.send_header("Content-Length", str(len(response))) @@ -85,10 +85,10 @@ class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): class ThreadingSimpleServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer): def __init__(self): - BaseHTTPServer.HTTPServer.__init__(self, (HOST_NAME, PORT), MyHandler) self.allow_reuse_address = True self.timeout = 1 - + BaseHTTPServer.HTTPServer.__init__(self, (HOST_NAME, PORT), MyHandler) + def run(self): dummy_killer.write_pid(PID) try: diff --git a/test/functional/util/dummy_killer.py b/test/functional/util/dummy_killer.py index 723e6ef4a..85b3d01ba 100644 --- a/test/functional/util/dummy_killer.py +++ b/test/functional/util/dummy_killer.py @@ -5,7 +5,7 @@ import atexit def setup_killer(server, method = None): def default_method(): server.server_close() - + if method is None: method = default_method @@ -14,7 +14,7 @@ def setup_killer(server, method = None): signal.signal(signal.SIGALRM, alarm_handler) signal.signal(signal.SIGTERM, alarm_handler) - signal.alarm(10) + signal.alarm(30) def write_pid(path): diff --git a/test/functional/util/dummy_udp.py b/test/functional/util/dummy_udp.py index 4d904e3b1..02ee6dce8 100755 --- a/test/functional/util/dummy_udp.py +++ b/test/functional/util/dummy_udp.py @@ -15,6 +15,7 @@ if __name__ == "__main__": port = 5005 sock = socket.socket(socket.AF_INET, # Internet socket.SOCK_DGRAM) # UDP + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.bind((UDP_IP, port)) dummy_killer.write_pid(PID) -- 2.39.5