intel / intel/tsffs

Enable callback-oriented harness API

Open
#59 0 comments 0 reactions 1 assignee Claimed by @novafacing View on GitHub
enhancement low-priority major
Dominant language
Rust
Stars
331
Forks
26
Avg merge
1d 5h
Merged PRs (30d)
2

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.