aboutsummaryrefslogtreecommitdiff
path: root/lib/std/testing.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2024-07-22 18:06:58 -0700
committerAndrew Kelley <andrew@ziglang.org>2024-07-25 18:52:20 -0700
commit6f3767862d6886d5fde7e3734455a30f168ba80b (patch)
treebd2585a84cc1dd1db4725e2f044ba1da30f6e702 /lib/std/testing.zig
parent3256df2ff80be565095993b03f8e1edfd5072367 (diff)
downloadzig-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.zig26
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);
}