From ad1e09eab0c045c28a30c67be3f30357a32d40e8 Mon Sep 17 00:00:00 2001 From: tjog <28024277+tjog@users.noreply.github.com> Date: Sun, 18 May 2025 16:31:52 +0200 Subject: [PATCH] libfuzzer test: use proper cache dir logic --- test/standalone/libfuzzer/build.zig | 1 + test/standalone/libfuzzer/main.zig | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/test/standalone/libfuzzer/build.zig b/test/standalone/libfuzzer/build.zig index 1260ce6e71..eecddcd852 100644 --- a/test/standalone/libfuzzer/build.zig +++ b/test/standalone/libfuzzer/build.zig @@ -22,5 +22,6 @@ pub fn build(b: *std.Build) void { b.default_step = run_step; const run_artifact = b.addRunArtifact(exe); + run_artifact.addArg(b.cache_root.path orelse ""); run_step.dependOn(&run_artifact.step); } diff --git a/test/standalone/libfuzzer/main.zig b/test/standalone/libfuzzer/main.zig index b0a18c8b20..21d785866d 100644 --- a/test/standalone/libfuzzer/main.zig +++ b/test/standalone/libfuzzer/main.zig @@ -15,7 +15,14 @@ extern fn fuzzer_init_corpus_elem(input_ptr: [*]const u8, input_len: usize) void extern fn fuzzer_coverage_id() u64; pub fn main() !void { - fuzzer_init(FuzzerSlice.fromSlice("")); + var gpa: std.heap.GeneralPurposeAllocator(.{}) = .init; + defer _ = gpa.deinit(); + const args = try std.process.argsAlloc(gpa.allocator()); + defer std.process.argsFree(gpa.allocator(), args); + + const cache_dir = args[1]; + + fuzzer_init(FuzzerSlice.fromSlice(cache_dir)); fuzzer_init_corpus_elem("hello".ptr, "hello".len); fuzzer_set_name("test".ptr, "test".len); _ = fuzzer_coverage_id();