Skip to content

test: cover native UDP continuity after closed destinations - #26

Merged
cppla merged 1 commit into
mainfrom
codex/native-udp-continuity
Sep 23, 2026
Merged

cppla merged 1 commit into
mainfrom
codex/native-udp-continuity

Conversation

@cppla

@cppla cppla commented Sep 23, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Add a real native UDP regression for healthy replies before and after attempts to send to a dynamically reserved closed loopback port.
  • Require the same PacketConn, relay UDP source, exact payload and source address throughout; no fabricated socket errors or association replacement.
  • Keep the destination closed until a later healthy echo completes on the serial request worker; bound receive/fixture cleanup and mark observed port reuse inconclusive.

Validation

  • Local make check and make race: passed.
  • Linux arm64 in an existing read-only Docker image, isolated network and bounded tmpfs: all TestQUICDatagram* tests repeated 10 times, 120 top-level passes, zero failures/skips.
  • Independent test-oracle and scope review: passed.
  • Exact head d20d618fc4775859a01e60c4b1bb1e2aecb4ec3d: CI 35809096247 (all 10 jobs), CodeQL 35809096226 and Linux netem 35809096313 succeeded.
  • Merged main 39138289ca4b6335d22bb8f49a7d99160dc0429f has the identical tested tree; CI 35809274000 (all 10 jobs, including container integration/OCI), CodeQL 35809274013 and Linux netem 35809273992 succeeded.
  • A subsequent review identified Windows bind-errno handling in the test fixture; follow-up test: handle Windows UDP fixture port reuse #27 corrects it and adds targeted Windows runtime CI.

Scope and evidence limits

Test-only: no runtime, protocol, dependency or default changes. This verifies continuity in the exercised environments; it does not establish delivery of ICMP to an unconnected socket or observation of any particular errno. Separate ignored congestion-control experiments are not part of this PR. No release/tag.

Copilot AI lite review requested due to automatic review settings September 23, 2026 02:07
@cppla
cppla merged commit 3913828 into main Sep 23, 2026
14 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Add Windows-aware handling for WSAEADDRINUSE during port-reuse detection.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Medium severity

Open (1)
What changed in this PR

Adds a native UDP regression test for association continuity after sends to closed loopback destinations.

Changes:

  • Tests healthy UDP replies before and after closed-port attempts.
  • Verifies payload, source address, and association continuity.
  • Adds bounded cleanup and port-reuse handling.
File Summary
internal/​tunnel/​datagram_icmp_recovery_test.go Adds the native UDP continuity regression test.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread internal/tunnel/datagram_icmp_recovery_test.go
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants