X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2Fsrc%2Fbin%2Ftarget_template.txt;h=7b0ec0eebce154ee3454201b688024f50e2885d3;hb=649129ddab4b24664f40190463a0b622413ab163;hp=f73fc6d83d36d13cc744ba2f52d01773bf8e5abf;hpb=4395b92cc8bfe0cc803e70bba11f4db58d5d0dbf;p=rust-lightning diff --git a/fuzz/src/bin/target_template.txt b/fuzz/src/bin/target_template.txt index f73fc6d8..7b0ec0ee 100644 --- a/fuzz/src/bin/target_template.txt +++ b/fuzz/src/bin/target_template.txt @@ -12,6 +12,9 @@ #![cfg_attr(feature = "libfuzzer_fuzz", no_main)] +#[cfg(not(fuzzing))] +compile_error!("Fuzz targets need cfg=fuzzing"); + extern crate lightning_fuzz; use lightning_fuzz::TARGET_MOD::*; @@ -93,10 +96,18 @@ fn run_test_cases() { } } } + let mut failed_outputs = Vec::new(); for (test, thread) in threads.drain(..) { if let Some(output) = thread.join().unwrap() { - println!("Output of {}:\n{}", test, output); - panic!(); + println!("\nOutput of {}:\n{}\n", test, output); + failed_outputs.push(test); + } + } + if !failed_outputs.is_empty() { + println!("Test cases which failed: "); + for case in failed_outputs { + println!("{}", case); } + panic!(); } }