Skip to content

Conversation

@edznux-dd
Copy link
Contributor

This is a possible implementation of the fuzzing addition proposal: #206

It contains a few trade of specific to the implementation, thus the split between the proposal of fuzzing in general and this proposal of implementation.

This implementation relies heavily on reflection, which as an upfront cost for the review, but should allow for evolution of the code base (additional method, change of types etc...)

Caveat:

  • It only implement Select fuzzing, but it should be not too difficult to implement other query types.
  • The amount of byte consumed is hardcoded to 16 (argData := state.consumeData(16)), but should be a range from 1 to many (boolean to long string) to be both more efficient on small types and test more edge cases.

An alternative implementation could be done with direct method calls. Making chain would be more difficult as far as I can tell, but that's up to you :)

thanks!

@coveralls
Copy link

Coverage Status

coverage: 96.527%. remained the same
when pulling 704f648 on edznux-dd:add-fuzzer
into 746784b on huandu:master.

@huandu
Copy link
Owner

huandu commented Jul 6, 2025

LGTM. Thanks for your contribution!

@huandu huandu merged commit 9cff4c5 into huandu:master Jul 6, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants