Skip to content

Commit b05aed8

Browse files
Jepson2kclaude
andcommitted
Point the unreachable-client test at a free port, not at arithmetic
Adding 91 to the live port runs past 65535 whenever the ephemeral range hands out a high one, and connect() then raises OverflowError instead of timing out — the macOS runners hit it. A port the kernel just handed back with nothing bound to it is dead by construction and cannot overflow. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014Bo12kumRx9PHnY9bL8qgn
1 parent d086da3 commit b05aed8

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

‎tests/integration/test_shapes_e2e.py‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import pytest
1818

1919
from parol6 import MotionError, RobotClient
20+
21+
from tests.conftest import free_udp_port
2022
from waldoctl import Box
2123

2224
pytestmark = pytest.mark.integration
@@ -75,9 +77,10 @@ def test_set_shapes_ack_readback_rejection_and_timeout(
7577
assert tuple(s.name for s in world.program) == ("table",)
7678

7779
# Unreachable controller → unconfirmed (0), never a fake success.
78-
dead = RobotClient(
79-
host=ports.server_ip, port=ports.server_port + 91, timeout=0.3
80-
)
80+
# A port the kernel just handed out and nothing bound: arithmetic on
81+
# the live port runs past 65535 whenever the ephemeral range hands
82+
# out a high one, which is a connect() overflow, not a dead server.
83+
dead = RobotClient(host=ports.server_ip, port=free_udp_port(), timeout=0.3)
8184
assert dead.set_shapes([box]) == 0
8285
assert dead.shapes() is None
8386
finally:

0 commit comments

Comments
 (0)