Trait libafl::fuzzer::Evaluator [−][src]
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 modyfing the state of the fuzzer
Required methods
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.
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
Implementors
impl<C, CS, E, EM, F, I, OF, OT, S, SC> Evaluator<E, EM, I, S> for StdFuzzer<C, CS, F, I, OF, OT, S, SC> where
C: Corpus<I>,
CS: CorpusScheduler<I, S>,
E: Executor<EM, I, S, Self> + HasObservers<I, OT, S>,
OT: ObserversTuple<I, S>,
EM: EventManager<E, I, S, Self>,
F: Feedback<I, S>,
I: Input,
OF: Feedback<I, S>,
S: HasExecutions + HasCorpus<C, I> + HasSolutions<SC, I> + HasClientPerfStats,
SC: Corpus<I>,