@@ -229,9 +229,10 @@ def run_fuzzer(self, config: FuzzConfig) -> bool:
229229 try :
230230 result = process .wait (timeout = timeout_seconds )
231231 except subprocess .TimeoutExpired :
232- print (f"⚠️ Fuzzer { config .name } exceeded timeout ({ timeout_seconds } s), terminating..." )
232+ print (f"✅ Fuzzer { config .name } completed after reaching timeout ({ max_time } s), terminating gracefully ..." )
233233 self ._terminate_process_gracefully (process )
234- return False
234+ # Timeout is expected behavior, not a failure
235+ return True
235236
236237 # After execution, rename the generic fuzz-*.log files to job-specific names
237238 self ._rename_job_logs (config .name )
@@ -423,7 +424,7 @@ def run_fuzzers(self, configs: List[FuzzConfig]) -> bool:
423424 print (f"\n 📊 Running fuzzer { i } /{ len (configs )} : { config .name } " )
424425 if not self .run_fuzzer (config ):
425426 success = False
426- print (f"❌ Fuzzer { config .name } failed or found issues " )
427+ print (f"❌ Fuzzer { config .name } encountered an error " )
427428 else :
428429 print (f"✅ Fuzzer { config .name } completed successfully" )
429430
@@ -475,10 +476,10 @@ def main():
475476 runner = FuzzRunner (args .fuzz_dir , args .max_seconds , final_jobs )
476477
477478 if runner .run_fuzzers (configs ):
478- print ("All fuzzers completed successfully!" )
479+ print ("✅ All fuzzers completed successfully!" )
479480 return 0
480481 else :
481- print ("Some fuzzers failed or found issues !" )
482+ print ("❌ Some fuzzers encountered errors !" )
482483 return 1
483484
484485
0 commit comments