Skip to content

Conversation

@Trundle
Copy link

@Trundle Trundle commented May 8, 2024

The fuzzer creates a random sequence of operations and tries them against a JetKV store. If an inconsistency or panic is detected, the sequence is tried to be minimized into a minimal reproducible example. The fuzzer also outputs a seed, which can be used to create the same sequence of operations again.

Currently only targets the file backend, mostly because it contained more logic. With some changes, the fuzzer could also target the memory backend.

No windows support because fork() is used, but it shouldn't be a big change to use ChildProcess instead.

It also adds a dependency to zig-arg unconditionally. This can perhaps made more cleverly (by someone who actually knows Zig) into a development dependency or some feature or something.

The fuzzer creates a random sequence of operations and tries them
against a JetKV store. If an inconsistency or panic is detected, the
sequence is tried to be minimized into a minimal reproducible example.
The fuzzer also outputs a seed, which can be used to create the same
sequence of operations again.

Currently only targets the file backend, mostly because it contained
more logic. With some changes, the fuzzer could also target the memory
backend.

No windows support because `fork()` is used, but it shouldn't be a big
change to use `ChildProcess` instead.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant