@@ -171,7 +171,7 @@ where
171
171
H : FnMut ( & <S as UsesInput >:: Input ) -> ExitKind + ?Sized ,
172
172
HB : BorrowMut < H > ,
173
173
OT : ObserversTuple < S > ,
174
- S : HasSolutions + HasClientPerfMonitor + HasCorpus ,
174
+ S : HasExecutions + HasSolutions + HasClientPerfMonitor + HasCorpus ,
175
175
{
176
176
/// Create a new in mem executor.
177
177
/// Caution: crash and restart in one of them will lead to odd behavior if multiple are used,
@@ -255,7 +255,7 @@ where
255
255
H : FnMut ( & <S as UsesInput >:: Input ) -> ExitKind + ?Sized ,
256
256
HB : BorrowMut < H > ,
257
257
OT : ObserversTuple < S > ,
258
- S : HasSolutions + HasClientPerfMonitor + HasCorpus ,
258
+ S : HasExecutions + HasSolutions + HasClientPerfMonitor + HasCorpus ,
259
259
{
260
260
/// the timeout handler
261
261
#[ inline]
@@ -350,7 +350,7 @@ impl InProcessHandlers {
350
350
E : Executor < EM , Z > + HasObservers ,
351
351
EM : EventFirer < State = E :: State > + EventRestarter < State = E :: State > ,
352
352
OF : Feedback < E :: State > ,
353
- E :: State : HasSolutions + HasClientPerfMonitor + HasCorpus ,
353
+ E :: State : HasExecutions + HasSolutions + HasClientPerfMonitor + HasCorpus ,
354
354
Z : HasObjective < Objective = OF , State = E :: State > ,
355
355
{
356
356
#[ cfg( unix) ]
@@ -380,7 +380,7 @@ impl InProcessHandlers {
380
380
E : Executor < EM , Z > + HasObservers + HasInProcessHandlers ,
381
381
EM : EventFirer < State = E :: State > + EventRestarter < State = E :: State > ,
382
382
OF : Feedback < E :: State > ,
383
- E :: State : HasSolutions + HasClientPerfMonitor + HasCorpus ,
383
+ E :: State : HasExecutions + HasSolutions + HasClientPerfMonitor + HasCorpus ,
384
384
Z : HasObjective < Objective = OF , State = E :: State > ,
385
385
{
386
386
unsafe {
@@ -591,7 +591,7 @@ pub fn run_observers_and_save_state<E, EM, OF, Z>(
591
591
E : HasObservers ,
592
592
EM : EventFirer < State = E :: State > + EventRestarter < State = E :: State > ,
593
593
OF : Feedback < E :: State > ,
594
- E :: State : HasSolutions + HasClientPerfMonitor + HasCorpus ,
594
+ E :: State : HasExecutions + HasSolutions + HasClientPerfMonitor + HasCorpus ,
595
595
Z : HasObjective < Objective = OF , State = E :: State > ,
596
596
{
597
597
let observers = executor. observers_mut ( ) ;
@@ -606,7 +606,7 @@ pub fn run_observers_and_save_state<E, EM, OF, Z>(
606
606
. expect ( "In run_observers_and_save_state objective failure." ) ;
607
607
608
608
if interesting {
609
- let mut new_testcase = Testcase :: new ( input. clone ( ) ) ;
609
+ let mut new_testcase = Testcase :: with_executions ( input. clone ( ) , * state . executions ( ) ) ;
610
610
new_testcase. add_metadata ( exitkind) ;
611
611
new_testcase. set_parent_id_optional ( * state. corpus ( ) . current ( ) ) ;
612
612
fuzzer
@@ -657,7 +657,7 @@ pub mod unix_signal_handler {
657
657
feedbacks:: Feedback ,
658
658
fuzzer:: HasObjective ,
659
659
inputs:: UsesInput ,
660
- state:: { HasClientPerfMonitor , HasCorpus , HasSolutions } ,
660
+ state:: { HasClientPerfMonitor , HasCorpus , HasExecutions , HasSolutions } ,
661
661
} ;
662
662
663
663
pub ( crate ) type HandlerFuncPtr = unsafe fn (
@@ -727,7 +727,7 @@ pub mod unix_signal_handler {
727
727
E : HasObservers ,
728
728
EM : EventFirer < State = E :: State > + EventRestarter < State = E :: State > ,
729
729
OF : Feedback < E :: State > ,
730
- E :: State : HasSolutions + HasClientPerfMonitor + HasCorpus ,
730
+ E :: State : HasExecutions + HasSolutions + HasClientPerfMonitor + HasCorpus ,
731
731
Z : HasObjective < Objective = OF , State = E :: State > ,
732
732
{
733
733
let old_hook = panic:: take_hook ( ) ;
@@ -775,7 +775,7 @@ pub mod unix_signal_handler {
775
775
E : HasObservers ,
776
776
EM : EventFirer < State = E :: State > + EventRestarter < State = E :: State > ,
777
777
OF : Feedback < E :: State > ,
778
- E :: State : HasSolutions + HasClientPerfMonitor + HasCorpus ,
778
+ E :: State : HasExecutions + HasSolutions + HasClientPerfMonitor + HasCorpus ,
779
779
Z : HasObjective < Objective = OF , State = E :: State > ,
780
780
{
781
781
if !data. timeout_executor_ptr . is_null ( )
@@ -825,7 +825,7 @@ pub mod unix_signal_handler {
825
825
E : Executor < EM , Z > + HasObservers ,
826
826
EM : EventFirer < State = E :: State > + EventRestarter < State = E :: State > ,
827
827
OF : Feedback < E :: State > ,
828
- E :: State : HasSolutions + HasClientPerfMonitor + HasCorpus ,
828
+ E :: State : HasExecutions + HasSolutions + HasClientPerfMonitor + HasCorpus ,
829
829
Z : HasObjective < Objective = OF , State = E :: State > ,
830
830
{
831
831
#[ cfg( all( target_os = "android" , target_arch = "aarch64" ) ) ]
@@ -937,7 +937,7 @@ pub mod windows_asan_handler {
937
937
feedbacks:: Feedback ,
938
938
fuzzer:: HasObjective ,
939
939
inputs:: UsesInput ,
940
- state:: { HasClientPerfMonitor , HasCorpus , HasSolutions } ,
940
+ state:: { HasClientPerfMonitor , HasCorpus , HasExecutions , HasSolutions } ,
941
941
} ;
942
942
943
943
/// # Safety
@@ -947,7 +947,7 @@ pub mod windows_asan_handler {
947
947
E : Executor < EM , Z > + HasObservers ,
948
948
EM : EventFirer < State = E :: State > + EventRestarter < State = E :: State > ,
949
949
OF : Feedback < E :: State > ,
950
- E :: State : HasSolutions + HasClientPerfMonitor + HasCorpus ,
950
+ E :: State : HasExecutions + HasSolutions + HasClientPerfMonitor + HasCorpus ,
951
951
Z : HasObjective < Objective = OF , State = E :: State > ,
952
952
{
953
953
let data = & mut GLOBAL_STATE ;
@@ -1050,7 +1050,7 @@ pub mod windows_exception_handler {
1050
1050
feedbacks:: Feedback ,
1051
1051
fuzzer:: HasObjective ,
1052
1052
inputs:: UsesInput ,
1053
- state:: { HasClientPerfMonitor , HasCorpus , HasSolutions } ,
1053
+ state:: { HasClientPerfMonitor , HasCorpus , HasExecutions , HasSolutions } ,
1054
1054
} ;
1055
1055
1056
1056
pub ( crate ) type HandlerFuncPtr =
@@ -1094,7 +1094,7 @@ pub mod windows_exception_handler {
1094
1094
E : HasObservers ,
1095
1095
EM : EventFirer < State = E :: State > + EventRestarter < State = E :: State > ,
1096
1096
OF : Feedback < E :: State > ,
1097
- E :: State : HasSolutions + HasClientPerfMonitor + HasCorpus ,
1097
+ E :: State : HasExecutions + HasSolutions + HasClientPerfMonitor + HasCorpus ,
1098
1098
Z : HasObjective < Objective = OF , State = E :: State > ,
1099
1099
{
1100
1100
let old_hook = panic:: take_hook ( ) ;
@@ -1158,7 +1158,7 @@ pub mod windows_exception_handler {
1158
1158
E : HasObservers + HasInProcessHandlers ,
1159
1159
EM : EventFirer < State = E :: State > + EventRestarter < State = E :: State > ,
1160
1160
OF : Feedback < E :: State > ,
1161
- E :: State : HasSolutions + HasClientPerfMonitor + HasCorpus ,
1161
+ E :: State : HasExecutions + HasSolutions + HasClientPerfMonitor + HasCorpus ,
1162
1162
Z : HasObjective < Objective = OF , State = E :: State > ,
1163
1163
{
1164
1164
let data: & mut InProcessExecutorHandlerData =
@@ -1225,7 +1225,7 @@ pub mod windows_exception_handler {
1225
1225
E : Executor < EM , Z > + HasObservers ,
1226
1226
EM : EventFirer < State = E :: State > + EventRestarter < State = E :: State > ,
1227
1227
OF : Feedback < E :: State > ,
1228
- E :: State : HasSolutions + HasClientPerfMonitor + HasCorpus ,
1228
+ E :: State : HasExecutions + HasSolutions + HasClientPerfMonitor + HasCorpus ,
1229
1229
Z : HasObjective < Objective = OF , State = E :: State > ,
1230
1230
{
1231
1231
// Have we set a timer_before?
0 commit comments