Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add fuzz tests for dsio.EntryReader & dsio.EntryWriter #103

Open
b5 opened this issue Mar 27, 2018 · 0 comments
Open

add fuzz tests for dsio.EntryReader & dsio.EntryWriter #103

b5 opened this issue Mar 27, 2018 · 0 comments

Comments

@b5
Copy link
Member

b5 commented Mar 27, 2018

While I've never implemented fuzz testing, the dsio EntryReader & EntryWriter implementations for various data formats seem like a great candidate for this type of testing. Thankfully there's already a great go-based implementation of fuzz testing:

https://github.com/dvyukov/go-fuzz

One of the things fuzzing requires is a high number of varied inputs, which a combination of human-created and randomnly generated inputs should be great for. As such, let's ship #101 before moving on to this. But general steps are... visit that repo & follow the README, PR'ing in the changes required to make fuzz testing work, and documentation on how to perform fuzz testing locally.

Fuzz testing should start with JSON as a base data format to establish patterns we can translate to other data formats.

Once this works, I'm assuming this will find many problems, which is the point 😄, and we can start to work through the bugs fuzzing uncovers.

@b5 b5 added the test label Mar 27, 2018
@b5 b5 changed the title Fuzz Testing dsio.EntryReader & dsio.EntryWriter ass fuzz tests for dsio.EntryReader & dsio.EntryWriter Mar 27, 2018
@b5 b5 changed the title ass fuzz tests for dsio.EntryReader & dsio.EntryWriter add fuzz tests for dsio.EntryReader & dsio.EntryWriter Mar 27, 2018
@b5 b5 added the backlog label Feb 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant