commit ad1e09eab0c045c28a30c67be3f30357a32d40e8 (tree)
parent 07a5efd072eb6af331e9e24e48ed62ef9bafc5ab
Author: tjog <28024277+tjog@users.noreply.github.com>
Date: Sun, 18 May 2025 16:31:52 +0200
libfuzzer test: use proper cache dir logic
Diffstat:
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git 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
@@ -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();