X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2Fsrc%2Fchanmon_deser.rs;h=cd8f7cde800a05b571257d253f197fb385ebe20e;hb=6745aff9b682fddb544968ae11b2d92665b58da2;hp=5d15f718fa7b19a9314f36e3d6bf2c80d9ff0908;hpb=a343cf94368f33171f1c146ac79777cb4edea055;p=rust-lightning diff --git a/fuzz/src/chanmon_deser.rs b/fuzz/src/chanmon_deser.rs index 5d15f718..cd8f7cde 100644 --- a/fuzz/src/chanmon_deser.rs +++ b/fuzz/src/chanmon_deser.rs @@ -3,6 +3,7 @@ use bitcoin_hashes::sha256d::Hash as Sha256dHash; +use lightning::util::enforcing_trait_impls::EnforcingChannelKeys; use lightning::ln::channelmonitor; use lightning::util::ser::{ReadableArgs, Writer}; @@ -23,12 +24,12 @@ impl Writer for VecWriter { } #[inline] -pub fn do_test(data: &[u8]) { - let logger = Arc::new(test_logger::TestLogger::new("".to_owned())); - if let Ok((latest_block_hash, monitor)) = <(Sha256dHash, channelmonitor::ChannelMonitor)>::read(&mut Cursor::new(data), logger.clone()) { +pub fn do_test(data: &[u8], out: Out) { + let logger = Arc::new(test_logger::TestLogger::new("".to_owned(), out)); + if let Ok((latest_block_hash, monitor)) = <(Sha256dHash, channelmonitor::ChannelMonitor)>::read(&mut Cursor::new(data), logger.clone()) { let mut w = VecWriter(Vec::new()); monitor.write_for_disk(&mut w).unwrap(); - let deserialized_copy = <(Sha256dHash, channelmonitor::ChannelMonitor)>::read(&mut Cursor::new(&w.0), logger.clone()).unwrap(); + let deserialized_copy = <(Sha256dHash, channelmonitor::ChannelMonitor)>::read(&mut Cursor::new(&w.0), logger.clone()).unwrap(); assert!(latest_block_hash == deserialized_copy.0); assert!(monitor == deserialized_copy.1); w.0.clear(); @@ -36,7 +37,11 @@ pub fn do_test(data: &[u8]) { } } +pub fn chanmon_deser_test(data: &[u8], out: Out) { + do_test(data, out); +} + #[no_mangle] pub extern "C" fn chanmon_deser_run(data: *const u8, datalen: usize) { - do_test(unsafe { std::slice::from_raw_parts(data, datalen) }); + do_test(unsafe { std::slice::from_raw_parts(data, datalen) }, test_logger::DevNull{}); }