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 done callback pattern support to fuzzer #204
Conversation
0f04f64
to
e85cd54
Compare
e85cd54
to
5767d9b
Compare
c7c729e
to
23b6bf3
Compare
This PR got bigger than expected, due to some sneaked in cleanups. Sorry in advance 😬 |
23b6bf3
to
795ee41
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A great addition to Jazzer.js, thanks 👍
My comments mostly point out the differences between Jest and our current state.
So, feel free to merge and open new tickets, or even address everything here. Whatever you see fit!
The callback function name was renamed in our fork of libFuzzer.
In general package-lock.json files should be committed to the repository. In case of the example projects we don't want fixed versions but build them with the current fuzzer and it's dependencies. This leads to constant merge conflicts without much value. Hence, lock files of the example projects should be ignored.
"compile" rebuilds the whole project in case of compilation errors. This is very annoying during development. "build" on the other hand simply fails in case of errors, which is much quicker.
Allow a fuzz target to request a done callback as second parameter. If used, the fuzz target has to invoke the done callback to report its finished execution and request the next input.
795ee41
to
5714ab3
Compare
Jest supports sync, async and callback based tests.
5714ab3
to
de0cd02
Compare
Windows runners are already shipped with Python.
de0cd02
to
57b4065
Compare
Allow a fuzz target to request a done callback as second parameter. If
used, the fuzz target has to invoke the done callback to report its
finished execution and request the next input.