X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2Ffuzz_targets%2Fmsg_targets%2Futils.rs;h=64bfd89326b4e8d3aa1e12c2bdd6f0323d929b8e;hb=a1aaea5dc295df82fb73a4c1a998331f9e7ede4d;hp=27de871dcb647afc98e4dece02d28aa889d1fb7c;hpb=4c44b787f1ffcab8ceec47a4973915ec24ba590e;p=rust-lightning diff --git a/fuzz/fuzz_targets/msg_targets/utils.rs b/fuzz/fuzz_targets/msg_targets/utils.rs index 27de871d..64bfd893 100644 --- a/fuzz/fuzz_targets/msg_targets/utils.rs +++ b/fuzz/fuzz_targets/msg_targets/utils.rs @@ -11,3 +11,28 @@ macro_rules! test_msg { } } } + +#[macro_export] +macro_rules! test_msg_exact { + ($MsgType: path, $data: ident) => { + { + if let Ok(msg) = <$MsgType as MsgDecodable>::decode($data){ + let enc = msg.encode(); + assert_eq!(&$data[..], &enc[..]); + } + } + } +} + +#[macro_export] +macro_rules! test_msg_hole { + ($MsgType: path, $data: ident, $hole: expr, $hole_len: expr) => { + { + if let Ok(msg) = <$MsgType as MsgDecodable>::decode($data){ + let enc = msg.encode(); + assert_eq!(&$data[..$hole], &enc[..$hole]); + assert_eq!(&$data[$hole + $hole_len..enc.len()], &enc[$hole + $hole_len..]); + } + } + } +}