Update msg_targets with new, must-roundtrip, and hole messages
[rust-lightning] / fuzz / fuzz_targets / msg_targets / utils.rs
1 #![macro_use]
2
3 #[macro_export]
4 macro_rules! test_msg {
5         ($MsgType: path, $data: ident) => {
6                 {
7                         if let Ok(msg) = <$MsgType as MsgDecodable>::decode($data){
8                                 let enc = msg.encode();
9                                 assert_eq!(&$data[..enc.len()], &enc[..]);
10                         }
11                 }
12         }
13 }
14
15 #[macro_export]
16 macro_rules! test_msg_exact {
17         ($MsgType: path, $data: ident) => {
18                 {
19                         if let Ok(msg) = <$MsgType as MsgDecodable>::decode($data){
20                                 let enc = msg.encode();
21                                 assert_eq!(&$data[..], &enc[..]);
22                         }
23                 }
24         }
25 }
26
27 #[macro_export]
28 macro_rules! test_msg_hole {
29         ($MsgType: path, $data: ident, $hole: expr, $hole_len: expr) => {
30                 {
31                         if let Ok(msg) = <$MsgType as MsgDecodable>::decode($data){
32                                 let enc = msg.encode();
33                                 assert_eq!(&$data[..$hole], &enc[..$hole]);
34                                 assert_eq!(&$data[$hole + $hole_len..enc.len()], &enc[$hole + $hole_len..]);
35                         }
36                 }
37         }
38 }