From 3c9024be08f34d2bb38693df38e5b4b334c74f90 Mon Sep 17 00:00:00 2001 From: Kendall Condon Date: Sun, 2 Nov 2025 17:18:53 -0500 Subject: [PATCH] update fuzzing for build system changes --- lib/std/Build/Fuzz.zig | 8 ++++++++ lib/std/Build/WebServer.zig | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/std/Build/Fuzz.zig b/lib/std/Build/Fuzz.zig index 980735bd02..44bcf97a7a 100644 --- a/lib/std/Build/Fuzz.zig +++ b/lib/std/Build/Fuzz.zig @@ -135,6 +135,14 @@ pub fn start(fuzz: *Fuzz) void { fatal("unable to spawn coverage task: {t}", .{err}); } + for (fuzz.run_steps) |run| { + if (run.fuzz_tests.items.len > 1) { + // Multiple fuzzWorkerRuns currently cause race-conditions + // since they use the same Run step. See #30969 + fatal("--fuzz not yet implemented for multiple tests", .{}); + } + } + for (fuzz.run_steps) |run| { for (run.fuzz_tests.items) |unit_test_index| { assert(run.rebuilt_executable != null); diff --git a/lib/std/Build/WebServer.zig b/lib/std/Build/WebServer.zig index 08bc584522..9775916903 100644 --- a/lib/std/Build/WebServer.zig +++ b/lib/std/Build/WebServer.zig @@ -608,7 +608,10 @@ fn buildClientWasm(ws: *WebServer, arena: Allocator, optimize: std.builtin.Optim defer body_buffer.deinit(gpa); while (true) { - const header = try stdout.takeStruct(Header, .little); + const header = stdout.takeStruct(Header, .little) catch |e| switch (e) { + error.ReadFailed => return error.ReadFailed, + error.EndOfStream => break, + }; body_buffer.clearRetainingCapacity(); try stdout.appendExact(gpa, &body_buffer, header.bytes_len); const body = body_buffer.items;