diff --git a/fuzzers/FRET/Cargo.toml b/fuzzers/FRET/Cargo.toml index bb1f7cb8d4..852c329f8d 100644 --- a/fuzzers/FRET/Cargo.toml +++ b/fuzzers/FRET/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Alwin Berger "] edition = "2021" [features] -default = ["std", "snapshot_restore", "snapshot_fast", "singlecore", "restarting", "do_hash_notify_state", "config_stg", "fuzz_int", "trace_job_response_times" ] +default = ["std", "snapshot_restore", "snapshot_fast", "singlecore", "restarting", "do_hash_notify_state", "config_stg", "fuzz_int", "trace_job_response_times", "shortcut" ] std = [] # Exec environemnt basics snapshot_restore = [] @@ -14,6 +14,7 @@ singlecore = [] restarting = ['singlecore'] run_until_saturation = [] fuzz_int = [] +shortcut = [] # information capture observe_edges = [] # observe cfg edges observe_hitcounts = [ "observe_edges" ] # reduces edge granularity diff --git a/fuzzers/FRET/src/fuzzer.rs b/fuzzers/FRET/src/fuzzer.rs index 41c64691f0..f1a283a2a2 100644 --- a/fuzzers/FRET/src/fuzzer.rs +++ b/fuzzers/FRET/src/fuzzer.rs @@ -548,7 +548,10 @@ let run_client = |state: Option<_>, mut mgr, _core_id| { if let Some(se) = seed { unsafe { let mut rng = StdRng::seed_from_u64(se); - for _ in 0..10000 { + let bound = 10000; + #[cfg(feature = "shortcut")] + let bound = 100; + for _ in 0..bound { let inp2 = BytesInput::new((0..MAX_INPUT_SIZE).map(|_| rng.gen::()).collect()); let inp = setup_interrupt_inputs(MultipartInput::from([("bytes",inp2)]), &interrupt_config, Some(&mut rng)); fuzzer.evaluate_input(&mut state, &mut executor, &mut mgr, inp).unwrap();