Dominik Maier dd410c590a
Allow dyn in StagesTuple, add Current Testcase API, Untraitify Progress (#1915)
* Move into_vec to extra trait

* fix no_std

* First step towards stages tuples as vecs

* Allow dyn in StagesTuple, add Current Testcase API, un-traitify Progress, cleanups

* Move from generics to impl keyword, more replacements with better API

* rename fn

* Fix additional stages, more cleanup, rename progress to retries

* Fix more fixes

* Fixes

* Rename ProgressHelper -> RestartHelper

* Fix sugar, python, add perform_restartable

* fixes

* remove prelude bs

* rename to restart_progress_should_run

* more cleanup, remove tests I don't understand (sorry)

* fix docs

* more fix

* fix miri

* unsafe safety annotations

* more comments

* last docs

* Mixed_attributes only allowed for bindgen
2024-03-12 00:58:07 +01:00
..
2023-05-22 12:42:36 +02:00
2023-01-31 05:04:19 +01:00
2023-01-31 05:04:19 +01:00

How to use python bindings

First time setup

# Install maturin
pip install maturin
# Create virtual environment
python3 -m venv .env

Build bindings

# Activate virtual environment
source .env/bin/activate
# Build python module
maturin develop

This is going to install pylibafl python module into this venv.

Use bindings

Example: Running baby_fuzzer in fuzzers/baby_fuzzer/baby_fuzzer.py

First, make sure the python virtual environment is activated. If not, run source .env/bin/activate . Running pip freeze at this point should display the following (versions may differ):

maturin==0.12.6
pylibafl==0.7.0
toml==0.10.2

Then simply run

python PATH_TO_BABY_FUZZER/baby_fuzzer.py

The crashes directory will be created in the directory from which you ran the command.