f8e1938d
refactor: the QUIC arm's suite is chained with the socket tests, not the cheap ones
a73x 2026-08-30 12:08
Commit message
build.zig
| Old | New | ||
|---|---|---|---|
| @@ -812,12 +812,10 @@ fn docGate(b: *std.Build, target: std.Build.ResolvedTarget, check_step: *std.Bui | |||
| 812 | /// tests are seconds-long and socket-free, while a regression in either | 812 | /// tests are seconds-long and socket-free, while a regression in either |
| 813 | /// can wedge a daemon test that waits on a client forever — and a wedged | 813 | /// can wedge a daemon test that waits on a client forever — and a wedged |
| 814 | /// step prints nothing at all. Failing first is what makes the catch | 814 | /// step prints nothing at all. Failing first is what makes the catch |
| 815 | /// legible; the daemon's own child files obey the same rule inside its | 815 | /// legible. script leads for the same reason: instant, allocation-only, |
| 816 | /// binary, where their imports lead the root's test block. script leads | 816 | /// and both fixtures inherit its escape pins. The mains are roots of |
| 817 | /// for the same reason: instant, allocation-only, and both fixtures | 817 | /// nothing but the one binary, and they carry the argument parsers — a |
| 818 | /// inherit its escape pins. The mains are roots of nothing but the one | 818 | /// test that is never built is not a test (decisions.md). |
| 819 | /// binary, and they carry the argument parsers — a test that is never | ||
| 820 | /// built is not a test (decisions.md). | ||
| 821 | const test_order = [_][]const u8{ | 819 | const test_order = [_][]const u8{ |
| 822 | "script", "protocol", "client_core", "engine", "pty", | 820 | "script", "protocol", "client_core", "engine", "pty", |
| 823 | "delta", "hosts", "askpass", "replica", "keymap", | 821 | "delta", "hosts", "askpass", "replica", "keymap", |
src/server/server.zig
| Old | New | ||
|---|---|---|---|
| @@ -3602,16 +3602,15 @@ pub const Server = struct { | |||
| 3602 | test { | 3602 | test { |
| 3603 | std.testing.refAllDeclsRecursive(@This()); | 3603 | std.testing.refAllDeclsRecursive(@This()); |
| 3604 | 3604 | ||
| 3605 | // The child files' own suites first: seconds-long and socket-free, while | ||
| 3606 | // a regression in one can wedge a daemon test that waits on a client | ||
| 3607 | // forever — and a wedged step prints nothing at all, so failing before | ||
| 3608 | // the sockets open is what makes the catch legible. | ||
| 3609 | _ = @import("cmd.zig"); | 3605 | _ = @import("cmd.zig"); |
| 3610 | _ = @import("shellint.zig"); | 3606 | _ = @import("shellint.zig"); |
| 3611 | _ = @import("upgrade.zig"); | 3607 | _ = @import("upgrade.zig"); |
| 3612 | _ = @import("quic_server.zig"); | ||
| 3613 | 3608 | ||
| 3614 | // Reaching a file is what registers its tests; build.zig gates the list. | 3609 | // Reaching a file is what registers its tests; build.zig gates the list. |
| 3610 | // quic_server.zig is chained with these rather than with the three | ||
| 3611 | // child files above: its suite binds real UDP sockets, so a wedge in it | ||
| 3612 | // costs the same silence a daemon test's does. The table ran it after | ||
| 3613 | // the daemon for that reason while it was still a row. | ||
| 3615 | _ = @import("server_test_agent.zig"); | 3614 | _ = @import("server_test_agent.zig"); |
| 3616 | _ = @import("server_test_attach.zig"); | 3615 | _ = @import("server_test_attach.zig"); |
| 3617 | _ = @import("server_test_await.zig"); | 3616 | _ = @import("server_test_await.zig"); |
| @@ -3622,4 +3621,5 @@ test { | |||
| 3622 | _ = @import("server_test_quic.zig"); | 3621 | _ = @import("server_test_quic.zig"); |
| 3623 | _ = @import("server_test_session.zig"); | 3622 | _ = @import("server_test_session.zig"); |
| 3624 | _ = @import("server_test_upgrade.zig"); | 3623 | _ = @import("server_test_upgrade.zig"); |
| 3624 | _ = @import("quic_server.zig"); | ||
| 3625 | } | 3625 | } |