Crafter.Network/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf d6f8f4edcb
feat(tcp): ListenerTCP binds the address it is given, at port 0 if asked
A new constructor takes a numeric bind address (127.0.0.1, ::1, 0.0.0.0,
::) and accepts port 0, and Port() reports the port the listener got.
Until now every listener bound 0.0.0.0 at a port the caller chose, so a
helper meant for this machine's own processes was reachable from the
network, and the caller had to guess a free port. A name such as
`localhost` is refused instead of bound to whichever address the
resolver ranks first. The port-only constructor still listens on every
IPv4 interface.

`running` is atomic now: Stop() runs on another thread than the accept
loop that reads it. The accept loops take a sockaddr_storage, so an IPv6
peer's address is no longer cut short.

New: ShouldBindLoopbackEphemeral.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 20:28:32 +01:00
..
ShouldBindLoopbackEphemeral feat(tcp): ListenerTCP binds the address it is given, at port 0 if asked 2026-10-31 20:28:32 +01:00
ShouldBuildWithoutQUIC feat: TCP-only builds; TCP options and timeouts; receives that report and keep what arrived 2026-10-20 20:04:57 +02:00
ShouldConfigureTCP feat: TCP-only builds; TCP options and timeouts; receives that report and keep what arrived 2026-10-20 20:04:57 +02:00
ShouldConnectDualStack feat(tcp): connect over IPv4 and IPv6, and say why a connect failed 2026-10-31 20:28:32 +01:00
ShouldEchoWebTransport SPDX license 2026-07-22 17:55:45 +02:00
ShouldFallbackUnknownRoutes test(http): replay one fallback route table over both listeners 2026-07-28 19:42:16 +00:00
ShouldHonourQUICSettings quic settings 2026-08-25 19:17:22 +02:00
ShouldInteropCurlHTTP1 feat(http1): add an HTTP/1.1 client and listener 2026-07-27 00:45:09 +00:00
ShouldInteropCurlHTTPS1 test(https): give the TLS tests ports of their own 2026-07-28 20:34:23 +00:00
ShouldNotDropEarlyStreams SPDX license 2026-07-22 17:55:45 +02:00
ShouldParseHTTP1 feat(http1): add an HTTP/1.1 client and listener 2026-07-27 00:45:09 +00:00
ShouldRecieveTCP feat: TCP-only builds; TCP options and timeouts; receives that report and keep what arrived 2026-10-20 20:04:57 +02:00
ShouldReportClosedQUICStream feat: TCP-only builds; TCP options and timeouts; receives that report and keep what arrived 2026-10-20 20:04:57 +02:00
ShouldReportConnectErrors feat(tcp): connect over IPv4 and IPv6, and say why a connect failed 2026-10-31 20:28:32 +01:00
ShouldRequireClientCertificateHTTPS1 test(https): give the TLS tests ports of their own 2026-07-28 20:34:23 +00:00
ShouldSend SPDX license 2026-07-22 17:55:45 +02:00
ShouldSendRecieveHTTP SPDX license 2026-07-22 17:55:45 +02:00
ShouldSendRecieveHTTP1 docs(http1): document the HTTP/1.1 stack, and expose the client's timeout 2026-07-27 01:02:37 +00:00
ShouldSendRecieveHTTPS1 test(https): give the TLS tests ports of their own 2026-07-28 20:34:23 +00:00
ShouldSendRecieveKeepaliveHTTP SPDX license 2026-07-22 17:55:45 +02:00
ShouldSendRecieveKeepaliveHTTP1 feat(http1): add an HTTP/1.1 client and listener 2026-07-27 00:45:09 +00:00
ShouldSendRecieveLargeHTTP SPDX license 2026-07-22 17:55:45 +02:00
ShouldSendRecieveLargeHTTP1 feat(http1): add an HTTP/1.1 client and listener 2026-07-27 00:45:09 +00:00
ShouldSendRecieveQUICDatagram SPDX license 2026-07-22 17:55:45 +02:00
ShouldSendRecieveQUICStream SPDX license 2026-07-22 17:55:45 +02:00
ShouldSurviveAbuseHTTP1 fix(http1): close a finished connection instead of holding it until reap 2026-07-27 00:56:53 +00:00
ShouldSurviveConnectionChurn fix(quic): close stream handles whose async StreamStart lost the teardown race 2026-08-25 23:18:01 +00:00