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 done callback pattern support to fuzzer #204

Merged
merged 12 commits into from Dec 22, 2022
Merged

Conversation

bertschneider
Copy link
Contributor

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.

@bertschneider bertschneider requested review from oetr, kyakdan and a team and removed request for oetr and kyakdan November 28, 2022 15:24
examples/jest_integration/integration.fuzz.js Show resolved Hide resolved
packages/fuzzer/start_fuzzing_async.cpp Outdated Show resolved Hide resolved
packages/fuzzer/start_fuzzing_async.cpp Outdated Show resolved Hide resolved
@bertschneider bertschneider force-pushed the FUZZ-445-done-callback branch 2 times, most recently from c7c729e to 23b6bf3 Compare December 15, 2022 15:14
@bertschneider bertschneider requested review from oetr and a team December 15, 2022 15:15
@bertschneider
Copy link
Contributor Author

bertschneider commented Dec 15, 2022

This PR got bigger than expected, due to some sneaked in cleanups. Sorry in advance 😬

Copy link
Contributor

@oetr oetr left a 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!

examples/jest_integration/integration.fuzz.js Show resolved Hide resolved
examples/jest_integration/integration.fuzz.js Show resolved Hide resolved
examples/jest_integration/integration.fuzz.js Show resolved Hide resolved
packages/jest-runner/fuzz.ts Show resolved Hide resolved
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.
Windows runners are already shipped with Python.
@bertschneider bertschneider merged commit 29f26b4 into main Dec 22, 2022
@bertschneider bertschneider deleted the FUZZ-445-done-callback branch December 22, 2022 08:41
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.

None yet

2 participants