From 6348698322e5bfcb80d0ef0dcd833ba4e6179640 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Fri, 25 Sep 2026 11:09:12 +0200 Subject: test(hub): read the transport wherever it is split spa_source.transport_files() takes the classic transport*.js scripts from the hub's shell, in load order. Every test that read transport.js reads them all, the Node harnesses run them joined as one scope, the chat probe loads each, and the desktop shell must load them in order. Co-Authored-By: Claude Opus 5.5 --- packages/meshbay-hub/tests/test_connect_never_hangs.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'packages/meshbay-hub/tests/test_connect_never_hangs.py') diff --git a/packages/meshbay-hub/tests/test_connect_never_hangs.py b/packages/meshbay-hub/tests/test_connect_never_hangs.py index d6f1369..5680877 100644 --- a/packages/meshbay-hub/tests/test_connect_never_hangs.py +++ b/packages/meshbay-hub/tests/test_connect_never_hangs.py @@ -22,6 +22,7 @@ import re from pathlib import Path import pytest +from spa_source import transport_source STATIC = Path(__file__).resolve().parents[1] / "src" / "meshbay_hub" / "static" TRANSPORT = STATIC / "transport.js" @@ -33,7 +34,7 @@ pytestmark = pytest.mark.skipif(not TRANSPORT.exists(), def _gathering_block() -> str: """The wait on ICE gathering, and only it.""" - source = TRANSPORT.read_text(encoding="utf-8") + source = transport_source() start = source.index("iceGatheringState") return source[max(0, start - 900):start + 700] @@ -48,7 +49,7 @@ def test_ice_gathering_has_a_deadline(): def test_the_deadline_is_long_enough_for_a_stun_round_trip(): """Cutting gathering off too early drops the reflexive candidate and breaks every connection that is not on the same network.""" - source = TRANSPORT.read_text(encoding="utf-8") + source = transport_source() match = re.search(r"const ICE_GATHER_TIMEOUT_MS = (\d+);", source) assert match, "the constant is gone or was renamed" assert 2000 <= int(match.group(1)) <= 10000 @@ -57,7 +58,7 @@ def test_the_deadline_is_long_enough_for_a_stun_round_trip(): def test_a_timed_out_gathering_still_sends_the_offer(): """Host candidates are already gathered, which is enough on a LAN. Giving up instead would turn a slow STUN server into a refusal to connect.""" - source = TRANSPORT.read_text(encoding="utf-8") + source = transport_source() block = _gathering_block() # The deadline resolves the promise; it does not reject it. assert "reject" not in block.split("setTimeout", 1)[1][:300] -- cgit v1.2.3