Skip to content
New issue

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

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

Already on GitHub? # to your account

Enable callback-oriented harness API #59

Open
novafacing opened this issue Jan 18, 2024 · 0 comments
Open

Enable callback-oriented harness API #59

novafacing opened this issue Jan 18, 2024 · 0 comments
Assignees
Labels
enhancement A new feature or enhancement to an existing feature. low-priority Low priority tasks that still need to be completed for an upcoming release. major A major change, bug, or feature requiring significant effort.

Comments

@novafacing
Copy link
Contributor

We should enable a pair of APIs which looks like:

@tsffs.iface.tsffs.set_testcase_handler(testcase_handler)

Where testcase_handler is a Callable[[bytes], None] which is called with the testcase input. testcase_handler is then responsible for dispatching the testcase wherever is appropriate. In particular, it should not attempt to start/stop the fuzzing loop, it should only handle the testcase. This has the effect of separating the testcase handling logic from the fuzz loop logic, but requires a "blind start" API to be enabled.

@tsffs.iface.tsffs.start()

This API would take a snapshot through the TSFFS snapshot handling sequence, without handling testcases or buffers at all. When a new testcase is generated, it will be passed to the testcase handler.

@novafacing novafacing added major A major change, bug, or feature requiring significant effort. low-priority Low priority tasks that still need to be completed for an upcoming release. enhancement A new feature or enhancement to an existing feature. labels Jan 18, 2024
@novafacing novafacing self-assigned this Jan 18, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement A new feature or enhancement to an existing feature. low-priority Low priority tasks that still need to be completed for an upcoming release. major A major change, bug, or feature requiring significant effort.
Projects
None yet
Development

No branches or pull requests

1 participant