1#[macro_export]
9macro_rules! assert_verilog_eq {
10 ($left:expr, $right:expr $(,)?) => {
11 match (&$left, &$right) {
12 (left_val, right_val) => {
13 for (left_line, right_line) in left_val.lines().map(|x| x.trim()).filter(|x| !x.is_empty()).zip(right_val.lines().map(|x| x.trim()).filter(|x| !x.is_empty())) {
14 assert_eq!(
15 left_line.trim(),
16 right_line.trim()
17 );
18 }
19 }
20 }
21 };
22 ($left:expr, $right:expr, $($arg:tt)+) => {
23 match (&$left, &$right) {
24 (left_val, right_val) => {
25 for (left_line, right_line) in left_val.lines().map(|x| x.trim()).filter(|x| !x.is_empty()).zip(right_val.lines().map(|x| x.trim()).filter(|x| !x.is_empty())) {
26 assert_eq!(
27 left_line.trim(),
28 right_line.trim(),
29 std::format_args!($($arg)+)
30 );
31 }
32 }
33 }
34 };
35}