a71ae0e221b294cb302960d34bc4f6e966fa8124
[rust-lightning] / fuzz / src / process_network_graph.rs
1 // Imports that need to be added manually
2 use lightning_rapid_gossip_sync::RapidGossipSync;
3 use utils::test_logger;
4
5 /// Actual fuzz test, method signature and name are fixed
6 fn do_test(data: &[u8]) {
7         let block_hash = bitcoin::BlockHash::default();
8         let network_graph = lightning::routing::network_graph::NetworkGraph::new(block_hash);
9         let rapid_sync = RapidGossipSync::new(&network_graph);
10         let _ = rapid_sync.update_network_graph(data);
11 }
12
13 /// Method that needs to be added manually, {name}_test
14 pub fn process_network_graph_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
15         do_test(data);
16 }
17
18 /// Method that needs to be added manually, {name}_run
19 #[no_mangle]
20 pub extern "C" fn process_network_graph_run(data: *const u8, datalen: usize) {
21         do_test(unsafe { std::slice::from_raw_parts(data, datalen) });
22 }