pub trait Evaluator<E, EM, I, S> {
fn evaluate_input_events(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
input: I,
send_events: bool
) -> Result<(ExecuteInputResult, Option<usize>), Error>;
fn add_input(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
input: I
) -> Result<usize, Error>;
fn evaluate_input(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
input: I
) -> Result<(ExecuteInputResult, Option<usize>), Error> { ... }
}
Expand description
Evaluate an input modifying the state of the fuzzer
Required Methods
sourcefn evaluate_input_events(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
input: I,
send_events: bool
) -> Result<(ExecuteInputResult, Option<usize>), Error>
fn evaluate_input_events(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
input: I,
send_events: bool
) -> Result<(ExecuteInputResult, Option<usize>), Error>
Runs the input and triggers observers and feedback, returns if is interesting an (option) the index of the new testcase in the corpus This version has a boolean to decide if send events to the manager.
sourcefn add_input(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
input: I
) -> Result<usize, Error>
fn add_input(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
input: I
) -> Result<usize, Error>
Runs the input and triggers observers and feedback.
Adds an input, to the corpus even if it’s not considered interesting
by the feedback
.
Returns the index
of the new testcase in the corpus.
Usually, you want to use Evaluator::evaluate_input
, unless you know what you are doing.
Provided Methods
sourcefn evaluate_input(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
input: I
) -> Result<(ExecuteInputResult, Option<usize>), Error>
fn evaluate_input(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
input: I
) -> Result<(ExecuteInputResult, Option<usize>), Error>
Runs the input and triggers observers and feedback, returns if is interesting an (option) the index of the new testcase in the corpus