Skip to content

Enable callback-oriented harness API #59

Open
@novafacing

Description

@novafacing

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.

Metadata

Metadata

Assignees

Labels

enhancementA new feature or enhancement to an existing feature.low-priorityLow priority tasks that still need to be completed for an upcoming release.majorA major change, bug, or feature requiring significant effort.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions