From ee0a4a935a95a9472655f85a04e1323f3d328898 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Thu, 17 Feb 2022 16:31:42 +0100 Subject: automatically pick up a free port to run the HTTP proxy on It is now possible to run multiple `make test` commands in parallel (e.g. testing abrowser and librewolf simultaneously after running `configure` for each of them in 2 different directories). --- test/haketilo_test/server.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'test/haketilo_test/server.py') diff --git a/test/haketilo_test/server.py b/test/haketilo_test/server.py index 0963b5b..19d4a01 100755 --- a/test/haketilo_test/server.py +++ b/test/haketilo_test/server.py @@ -33,6 +33,8 @@ from urllib.parse import parse_qs from threading import Thread import traceback +from selenium.webdriver.common.utils import free_port + from .proxy_core import ProxyRequestHandler, ThreadingHTTPServer from .misc_constants import * from .world_wide_library import catalog as internet @@ -99,8 +101,11 @@ class RequestHijacker(ProxyRequestHandler): if resp_body: self.wfile.write(resp_body) -def do_an_internet(certdir=default_cert_dir, port=default_proxy_port): +def do_an_internet(certdir=default_cert_dir, port=None): """Start up the proxy/server""" + if port is None: + port = free_port() + class RequestHijackerWithCertdir(RequestHijacker): def __init__(self, *args, **kwargs): super().__init__(*args, certdir=certdir, **kwargs) -- cgit v1.2.3