2022-06-01 15:26:07 -07:00
|
|
|
// Imports that need to be added manually
|
2022-06-03 21:35:37 -07:00
|
|
|
use lightning::util::logger::Logger;
|
2022-06-01 15:26:07 -07:00
|
|
|
use lightning_rapid_gossip_sync::RapidGossipSync;
|
2022-06-03 21:35:37 -07:00
|
|
|
|
2021-11-03 10:50:08 -07:00
|
|
|
use utils::test_logger;
|
|
|
|
|
2022-06-03 21:35:37 -07:00
|
|
|
use std::sync::Arc;
|
|
|
|
|
2021-11-03 10:50:08 -07:00
|
|
|
/// Actual fuzz test, method signature and name are fixed
|
2022-06-03 21:35:37 -07:00
|
|
|
fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
|
2021-11-03 10:50:08 -07:00
|
|
|
let block_hash = bitcoin::BlockHash::default();
|
2022-06-03 21:35:37 -07:00
|
|
|
let logger: Arc<dyn Logger> = Arc::new(test_logger::TestLogger::new("".to_owned(), out));
|
|
|
|
let network_graph = lightning::routing::gossip::NetworkGraph::new(block_hash, logger);
|
2022-06-01 15:26:07 -07:00
|
|
|
let rapid_sync = RapidGossipSync::new(&network_graph);
|
|
|
|
let _ = rapid_sync.update_network_graph(data);
|
2021-11-03 10:50:08 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
/// Method that needs to be added manually, {name}_test
|
2022-06-03 21:35:37 -07:00
|
|
|
pub fn process_network_graph_test<Out: test_logger::Output>(data: &[u8], out: Out) {
|
|
|
|
do_test(data, out);
|
2021-11-03 10:50:08 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
/// Method that needs to be added manually, {name}_run
|
|
|
|
#[no_mangle]
|
|
|
|
pub extern "C" fn process_network_graph_run(data: *const u8, datalen: usize) {
|
2022-06-03 21:35:37 -07:00
|
|
|
do_test(unsafe { std::slice::from_raw_parts(data, datalen) }, test_logger::DevNull {});
|
2021-11-03 10:50:08 -07:00
|
|
|
}
|