Add option to use libfuzzer sys in full_stack_target
[rust-lightning] / fuzz / fuzz_targets / full_stack_target.rs
index a9ee47c806676da76e19acd1d1c7cf6dd71b3c6e..6274d8fcb70c6b6cb8c54a4aad4b133b32513495 100644 (file)
@@ -1,3 +1,6 @@
+//Uncomment this for libfuzzer builds:
+//#![no_main]
+
 extern crate bitcoin;
 extern crate bitcoin_hashes;
 extern crate lightning;
@@ -540,6 +543,14 @@ fn main() {
        }
 }
 
+#[cfg(feature = "libfuzzer_fuzz")]
+#[macro_use] extern crate libfuzzer_sys;
+#[cfg(feature = "libfuzzer_fuzz")]
+fuzz_target!(|data: &[u8]| {
+       let logger: Arc<Logger> = Arc::new(test_logger::TestLogger{});
+       do_test(data, &logger);
+});
+
 extern crate hex;
 #[cfg(test)]
 mod tests {