diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-25 11:09:12 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-25 12:07:49 +0200 |
| commit | 6348698322e5bfcb80d0ef0dcd833ba4e6179640 (patch) | |
| tree | 6d4f47a0a1745ef5ae912368d078cf681b9fcd19 /packages/meshbay-hub/tests/test_connect_never_hangs.py | |
| parent | 71ea15a926d02437a65b8d788834c46f4e6df9a3 (diff) | |
| download | meshbay-6348698322e5bfcb80d0ef0dcd833ba4e6179640.tar.gz | |
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 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/tests/test_connect_never_hangs.py')
| -rw-r--r-- | packages/meshbay-hub/tests/test_connect_never_hangs.py | 7 |
1 files changed, 4 insertions, 3 deletions
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] |