diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2024-07-22 18:06:58 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2024-07-25 18:52:20 -0700 |
| commit | 6f3767862d6886d5fde7e3734455a30f168ba80b (patch) | |
| tree | bd2585a84cc1dd1db4725e2f044ba1da30f6e702 /lib/std/testing.zig | |
| parent | 3256df2ff80be565095993b03f8e1edfd5072367 (diff) | |
| download | zig-6f3767862d6886d5fde7e3734455a30f168ba80b.tar.gz zig-6f3767862d6886d5fde7e3734455a30f168ba80b.zip | |
implement std.testing.fuzzInput
For now this returns a dummy fuzz input.
Diffstat (limited to 'lib/std/testing.zig')
| -rw-r--r-- | lib/std/testing.zig | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/lib/std/testing.zig b/lib/std/testing.zig index 35f3c5a6dd..80e8ab13bb 100644 --- a/lib/std/testing.zig +++ b/lib/std/testing.zig @@ -1137,32 +1137,10 @@ pub fn refAllDeclsRecursive(comptime T: type) void { } } -const FuzzerSlice = extern struct { - ptr: [*]const u8, - len: usize, - - fn toSlice(s: FuzzerSlice) []const u8 { - return s.ptr[0..s.len]; - } -}; - -extern fn fuzzer_next() FuzzerSlice; - pub const FuzzInputOptions = struct { corpus: []const []const u8 = &.{}, }; -pub fn fuzzInput(options: FuzzInputOptions) []const u8 { - @disableInstrumentation(); - if (builtin.fuzz) { - return fuzzer_next().toSlice(); - } else { - if (options.corpus.len == 0) { - return ""; - } else { - var prng = std.Random.DefaultPrng.init(std.testing.random_seed); - const random = prng.random(); - return options.corpus[random.uintLessThan(usize, options.corpus.len)]; - } - } +pub inline fn fuzzInput(options: FuzzInputOptions) []const u8 { + return @import("root").fuzzInput(options); } |
