Expand description

Executors take input, and run it in the target.

Re-exports

pub use inprocess::InProcessExecutor;
pub use inprocess::InProcessForkExecutor;
pub use timeout::TimeoutExecutor;
pub use forkserver::Forkserver;
pub use forkserver::ForkserverExecutor;
pub use forkserver::OutFile;
pub use forkserver::TimeoutForkserverExecutor;
pub use combined::CombinedExecutor;
pub use shadow::ShadowExecutor;
pub use with_observers::WithObservers;
pub use command::CommandExecutor;

Modules

A CombinedExecutor wraps a primary executor and a secondary one

The command executor executes a sub program for each run

Expose an Executor based on a Forkserver in order to execute AFL/AFL++ binaries

The InProcessExecutor is a libfuzzer-like executor, that will simply call a function. It should usually be paired with extra error-handling, such as a restarting event manager, to be effective.

A ShadowExecutor wraps an executor to have shadow observer that will not be considered by the feedbacks and the manager

Timeout executor. Not possible on no-std Windows or no-std, but works for unix A TimeoutExecutor sets a timeout before each target run

A wrapper for any Executor to make it implement HasObservers using a given ObserversTuple.

Enums

How an execution finished.

Traits

An executor takes the given inputs, and runs the harness/target.

Holds a tuple of Observers