Drop individual fuzz target duplicate_crash tests for file reader
[rust-lightning] / fuzz / src / bin / msg_announcement_signatures_target.rs
index 54f3d823ddd84704cd99d3b016281fde098d4db4..f234dadfda7dbcb040cf816fabb37591a7a0cd50 100644 (file)
@@ -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_announcement_signatures::*;
 
+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_announcement_signatures_run(data.as_ptr(), data.len());
 }
+
+#[test]
+fn run_test_cases() {
+       let mut data: Vec<u8> = vec![0];
+       msg_announcement_signatures_run(data.as_ptr(), data.len());
+       if let Ok(tests) = fs::read_dir("test_cases/msg_announcement_signatures") {
+               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_announcement_signatures_run(data.as_ptr(), data.len());
+               }
+       }
+}