ldscript_parser/
utils.rs

1#[allow(unused_macros)]
2macro_rules! assert_done {
3    ($res:expr) => {{
4        use nom::Finish;
5        match $res.finish() {
6            Ok(_) => {}
7            Err(r) => panic!("fail: {:?}", r),
8        }
9    }};
10    ($res:expr, $expected:expr) => {{
11        use nom::Finish;
12        match $res.finish() {
13            Ok((_, out)) => {
14                assert_eq!(out, $expected);
15            }
16            Err(r) => panic!("fail: {:?}", r),
17        }
18    }};
19}
20
21#[allow(unused_macros)]
22macro_rules! assert_done_vec {
23    ($res:expr, $num:expr) => {{
24        use nom::Finish;
25        match $res.finish() {
26            Ok((_, v)) => {
27                assert_eq!(v.len(), $num);
28            }
29            Err(r) => panic!("fail: {:?}", r),
30        }
31    }};
32}
33
34#[allow(unused_macros)]
35macro_rules! assert_fail {
36    ($res:expr) => {{
37        use nom::Finish;
38        match $res.finish() {
39            Ok((_, out)) => {
40                panic!("should fail: {:?} got {:?}", $res, out)
41            }
42            _ => {}
43        }
44    }};
45}