narust_158/util/
testing.rs1#[cfg(test)]
7pub type AResult<T = ()> = anyhow::Result<T>;
8
9#[cfg(test)]
11#[macro_export]
12macro_rules! ok {
13 () => {
14 Ok(())
15 };
16 ($($code:tt)*) => {
17 Ok($($code)*)
18 };
19}
20
21#[macro_export]
23macro_rules! debug_assert_matches {
24 ($value:expr, $pattern:pat $(, $($tail:tt)*)?) => {
25 debug_assert!(matches!($value, $pattern) $(, $($tail)*)?)
26 };
27}
28
29#[cfg(test)]
34#[macro_export]
35macro_rules! assert_try {
36 ($bool:expr) => {
37 if !$bool {
38 return Err(anyhow::anyhow!("assertion failed with {}", stringify!($bool)));
39 }
40 };
41 ($bool:expr, $($fmt_params:tt)*) => {
42 if !$bool {
43 return Err(anyhow::anyhow!($($fmt_params)*));
44 }
45 };
46}
47
48#[cfg(test)]
53#[macro_export]
54macro_rules! assert_eq_try {
55 ($left:expr, $right:expr $(, $($fmt_params:tt)*)?) => {
56 $crate::assert_try!($left == $right $(, $($fmt_params)*)?)
57 };
58}