"""Startkontrollen i run_webui.py (vägrar om porten redan används).""" import socket import run_webui def test_port_in_use_detection(): # en ledig hög port ska rapporteras fri with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as probe: probe.bind(("127.0.0.1", 0)) free_port = probe.getsockname()[1] assert run_webui._port_in_use(free_port) is False # medan vi håller en lyssnande socket ska porten rapporteras upptagen srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM) srv.bind(("127.0.0.1", 0)) srv.listen(1) port = srv.getsockname()[1] try: assert run_webui._port_in_use(port) is True assert isinstance(run_webui._pids_on_port(port), list) finally: srv.close()