Refactor fuzzing to be a C-callable library plus rust binaries
[rust-lightning] / fuzz / src / bin / msg_channel_announcement_target.rs
1 // This file is auto-generated by gen_target.sh based on target_template.txt
2 // To modify it, modify target_template.txt and run gen_target.sh instead.
3
4 //Uncomment this for libfuzzer builds:
5 //#![no_main]
6
7 extern crate lightning_fuzz;
8 use lightning_fuzz::msg_targets::msg_channel_announcement::*;
9
10 use std::io::Read;
11
12 #[cfg(feature = "afl")]
13 #[macro_use] extern crate afl;
14 #[cfg(feature = "afl")]
15 fn main() {
16         fuzz!(|data| {
17                 msg_channel_announcement_run(data.as_ptr(), data.len());
18         });
19 }
20
21 #[cfg(feature = "honggfuzz")]
22 #[macro_use] extern crate honggfuzz;
23 #[cfg(feature = "honggfuzz")]
24 fn main() {
25         loop {
26                 fuzz!(|data| {
27                         msg_channel_announcement_run(data.as_ptr(), data.len());
28                 });
29         }
30 }
31
32 #[cfg(feature = "libfuzzer_fuzz")]
33 #[macro_use] extern crate libfuzzer_sys;
34 #[cfg(feature = "libfuzzer_fuzz")]
35 fuzz_target!(|data: &[u8]| {
36         msg_channel_announcement_run(data.as_ptr(), data.len());
37 });
38
39 #[cfg(feature = "stdin_fuzz")]
40 fn main() {
41         let mut data = Vec::with_capacity(8192);
42         std::io::stdin().read_to_end(&mut data).unwrap();
43         msg_channel_announcement_run(data.as_ptr(), data.len());
44 }