working naive engine test

This commit is contained in:
Andrea Fioraldi 2020-11-06 12:43:07 +01:00
parent 850c49258e
commit 9c0bcf19f9

View File

@ -179,17 +179,15 @@ where
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use crate::corpus::{Corpus, InMemoryCorpus}; use crate::corpus::{Corpus, InMemoryCorpus, Testcase};
use crate::engines::{DefaultEngine, Engine}; use crate::engines::{DefaultEngine, Engine};
use crate::executors::inmemory::InMemoryExecutor; use crate::executors::inmemory::InMemoryExecutor;
use crate::executors::{Executor, ExitKind}; use crate::executors::{Executor, ExitKind};
use crate::inputs::bytes::BytesInput; use crate::inputs::bytes::BytesInput;
use crate::stages::mutational::DefaultMutationalStage; use crate::stages::mutational::DefaultMutationalStage;
use crate::stages::Stage;
use crate::utils::Xoshiro256StarRand; use crate::utils::Xoshiro256StarRand;
use std::cell::RefCell;
use std::rc::Rc;
fn harness<I>(_executor: &dyn Executor<I>, _buf: &[u8]) -> ExitKind { fn harness<I>(_executor: &dyn Executor<I>, _buf: &[u8]) -> ExitKind {
ExitKind::Ok ExitKind::Ok
} }
@ -198,10 +196,14 @@ mod tests {
fn test_engine() { fn test_engine() {
let rand = Xoshiro256StarRand::new_rr(); let rand = Xoshiro256StarRand::new_rr();
let mut corpus = InMemoryCorpus::<BytesInput, _>::new(&rand); let mut corpus = InMemoryCorpus::<BytesInput, _>::new(&rand);
let mut executor = InMemoryExecutor::new(harness); let testcase = Testcase::new_rr(BytesInput::new(vec![0; 4]));
let mut engine = DefaultEngine::new_rr(corpus, executor); corpus.add(testcase);
let stage = Box::new(DefaultMutationalStage::new(&rand, &engine)); let executor = InMemoryExecutor::new(harness);
engine.borrow_mut().add_stage(stage); let engine = DefaultEngine::new_rr(corpus, executor);
engine.borrow_mut().fuzz_one().unwrap(); let mut stage = DefaultMutationalStage::new(&rand, &engine);
//engine.borrow_mut().add_stage(stage);
//engine.borrow_mut().fuzz_one().unwrap();
let t = { engine.borrow_mut().corpus_mut().get().unwrap() };
stage.perform(t).unwrap();
} }
} }