X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2Fsrc%2Fbin%2Fmsg_revoke_and_ack_target.rs;h=47f125a44af46b7d2b74cd0e843cfae566248dc8;hb=a343cf94368f33171f1c146ac79777cb4edea055;hp=2c844c2aa30d135527619030b2cb84eca5828a19;hpb=0b5b2828f980b615187fae05a950cc41e4fb186b;p=rust-lightning diff --git a/fuzz/src/bin/msg_revoke_and_ack_target.rs b/fuzz/src/bin/msg_revoke_and_ack_target.rs index 2c844c2a..47f125a4 100644 --- a/fuzz/src/bin/msg_revoke_and_ack_target.rs +++ b/fuzz/src/bin/msg_revoke_and_ack_target.rs @@ -1,12 +1,12 @@ // This file is auto-generated by gen_target.sh based on target_template.txt // To modify it, modify target_template.txt and run gen_target.sh instead. -//Uncomment this for libfuzzer builds: -//#![no_main] +#![cfg_attr(feature = "libfuzzer_fuzz", no_main)] extern crate lightning_fuzz; use lightning_fuzz::msg_targets::msg_revoke_and_ack::*; +use std::fs; use std::io::Read; #[cfg(feature = "afl")] @@ -42,3 +42,18 @@ fn main() { std::io::stdin().read_to_end(&mut data).unwrap(); msg_revoke_and_ack_run(data.as_ptr(), data.len()); } + +#[test] +fn run_test_cases() { + let mut data: Vec = vec![0]; + msg_revoke_and_ack_run(data.as_ptr(), data.len()); + if let Ok(tests) = fs::read_dir("test_cases/msg_revoke_and_ack") { + for test in tests { + data.clear(); + let path = test.unwrap().path(); + println!("Running test {}...", path.file_name().unwrap().to_str().unwrap()); + fs::File::open(path).unwrap().read_to_end(&mut data).unwrap(); + msg_revoke_and_ack_run(data.as_ptr(), data.len()); + } + } +}