@@ -87,91 +87,89 @@ use crate::{Error, observers::Observer};
8787/// }
8888/// }
8989///
90- /// fn main() {
91- /// let input_text = "Hello, World!";
92- /// let encoded_input_text = "SGVsbG8sIFdvcmxkIQo=";
90+ /// let input_text = "Hello, World!";
91+ /// let encoded_input_text = "SGVsbG8sIFdvcmxkIQo=";
9392///
94- /// let stdout_observer = StdOutObserver::new("stdout-observer".into()).unwrap();
95- /// let stderr_observer = StdErrObserver::new("stderr-observer".into()).unwrap();
93+ /// let stdout_observer = StdOutObserver::new("stdout-observer".into()).unwrap();
94+ /// let stderr_observer = StdErrObserver::new("stderr-observer".into()).unwrap();
9695///
97- /// let mut feedback = ExportStdXObserver {
98- /// stdout_observer: stdout_observer.handle(),
99- /// stderr_observer: stderr_observer.handle(),
100- /// };
96+ /// let mut feedback = ExportStdXObserver {
97+ /// stdout_observer: stdout_observer.handle(),
98+ /// stderr_observer: stderr_observer.handle(),
99+ /// };
101100///
102- /// let mut objective = ();
101+ /// let mut objective = ();
103102///
104- /// let mut executor = CommandExecutor::builder()
105- /// .program("base64")
106- /// .arg("--decode")
107- /// .stdout_observer(stdout_observer.handle())
108- /// .stderr_observer(stderr_observer.handle())
109- /// .build(tuple_list!(stdout_observer, stderr_observer))
110- /// .unwrap();
103+ /// let mut executor = CommandExecutor::builder()
104+ /// .program("base64")
105+ /// .arg("--decode")
106+ /// .stdout_observer(stdout_observer.handle())
107+ /// .stderr_observer(stderr_observer.handle())
108+ /// .build(tuple_list!(stdout_observer, stderr_observer))
109+ /// .unwrap();
111110///
112- /// let mut state = StdState::new(
113- /// StdRand::with_seed(current_nanos()),
114- /// InMemoryCorpus::new(),
115- /// InMemoryCorpus::new(),
116- /// &mut feedback,
117- /// &mut objective,
118- /// )
119- /// .unwrap();
111+ /// let mut state = StdState::new(
112+ /// StdRand::with_seed(current_nanos()),
113+ /// InMemoryCorpus::new(),
114+ /// InMemoryCorpus::new(),
115+ /// &mut feedback,
116+ /// &mut objective,
117+ /// )
118+ /// .unwrap();
120119///
121- /// let scheduler = QueueScheduler::new();
122- /// let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);
123- /// let mut manager = NopEventManager::new();
120+ /// let scheduler = QueueScheduler::new();
121+ /// let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);
122+ /// let mut manager = NopEventManager::new();
124123///
125- /// let mut stages = tuple_list!(StdMutationalStage::new(NopMutator::new(
126- /// MutationResult::Mutated
127- /// )));
124+ /// let mut stages = tuple_list!(StdMutationalStage::new(NopMutator::new(
125+ /// MutationResult::Mutated
126+ /// )));
128127///
129- /// state
130- /// .corpus_mut()
131- /// .add(Testcase::new(BytesInput::from(
132- /// encoded_input_text.as_bytes().to_vec(),
133- /// )))
134- /// .unwrap();
128+ /// state
129+ /// .corpus_mut()
130+ /// .add(Testcase::new(BytesInput::from(
131+ /// encoded_input_text.as_bytes().to_vec(),
132+ /// )))
133+ /// .unwrap();
135134///
136- /// let corpus_id = fuzzer
137- /// .fuzz_one(&mut stages, &mut executor, &mut state, &mut manager)
138- /// .unwrap();
135+ /// let corpus_id = fuzzer
136+ /// .fuzz_one(&mut stages, &mut executor, &mut state, &mut manager)
137+ /// .unwrap();
139138///
140- /// unsafe {
141- /// assert!(
142- /// input_text
143- /// .as_bytes()
144- /// .iter()
145- /// .zip(
146- /// (&*(&raw const STDOUT))
147- /// .as_ref()
148- /// .unwrap()
149- /// .iter()
150- /// .filter(|e| **e != 10)
151- /// ) // ignore newline chars
152- /// .all(|(&a, &b)| a == b)
153- /// );
154- /// assert!((&*(&raw const STDERR)).as_ref().unwrap().is_empty());
155- /// }
139+ /// unsafe {
140+ /// assert!(
141+ /// input_text
142+ /// .as_bytes()
143+ /// .iter()
144+ /// .zip(
145+ /// (&*(&raw const STDOUT))
146+ /// .as_ref()
147+ /// .unwrap()
148+ /// .iter()
149+ /// .filter(|e| **e != 10)
150+ /// ) // ignore newline chars
151+ /// .all(|(&a, &b)| a == b)
152+ /// );
153+ /// assert!((&*(&raw const STDERR)).as_ref().unwrap().is_empty());
154+ /// }
156155///
157- /// state
158- /// .corpus()
159- /// .get(corpus_id)
160- /// .unwrap()
161- /// .replace(Testcase::new(BytesInput::from(
162- /// encoded_input_text.bytes().skip(1).collect::<Vec<u8>>(), // skip one char to make it invalid code
163- /// )));
156+ /// state
157+ /// .corpus()
158+ /// .get(corpus_id)
159+ /// .unwrap()
160+ /// .replace(Testcase::new(BytesInput::from(
161+ /// encoded_input_text.bytes().skip(1).collect::<Vec<u8>>(), // skip one char to make it invalid code
162+ /// )));
164163///
165- /// fuzzer
166- /// .fuzz_one(&mut stages, &mut executor, &mut state, &mut manager)
167- /// .unwrap();
164+ /// fuzzer
165+ /// .fuzz_one(&mut stages, &mut executor, &mut state, &mut manager)
166+ /// .unwrap();
168167///
169- /// unsafe {
170- /// let compare_vec: Vec<u8> = Vec::new();
171- /// assert_eq!(compare_vec, *(&*(&raw const STDERR)).clone().unwrap());
172- /// // stdout will still contain data, we're just checking that there is an error message
173- /// }
174- /// }
168+ /// unsafe {
169+ /// let compare_vec: Vec<u8> = Vec::new();
170+ /// assert_eq!(compare_vec, *(&*(&raw const STDERR)).clone().unwrap());
171+ /// // stdout will still contain data, we're just checking that there is an error message
172+ /// }
175173/// ```
176174///
177175#[ derive( Debug , Serialize , Deserialize ) ]
0 commit comments