assertx/logging/
assert_logs_contain_in_order.rs1#[macro_export]
3#[deprecated]
4macro_rules! assert_logs_contain {
5 ($inspector: expr, $($level:expr => $line: literal),*) => {
6 let mut expected = Vec::<$crate::logging::interface::LogLine>::new();
7 $(
8 expected.push($crate::logging::interface::LogLine($level, $line.to_string()));
9 )*
10
11 $inspector.assert_logs_contain_in_order(&expected);
12 };
13}
14
15#[macro_export]
38macro_rules! assert_logs_contain_in_order {
39 ($inspector: expr, $($level:expr => $line: expr),*) => {
40 let mut expected = Vec::<$crate::logging::interface::LogLine>::new();
41 $(
42 expected.push($crate::logging::interface::LogLine($level, $line.to_string()));
43 )*
44
45 $inspector.assert_logs_contain_in_order(&expected);
46 };
47}
48
49#[cfg(test)]
50mod tests {
51 use crate::logging::setup_logging_test;
52 use log::{info, warn, Level};
53
54 #[test]
55 fn should_succeed_if_logs_contain_all_of_the_expected_items_in_order() {
56 let logs = setup_logging_test();
57
58 info!("Doing stuff");
59 warn!("Oops, something happened!");
60
61 assert_logs_contain_in_order!(
62 logs,
63 Level::Warn => "Oops, something happened!"
64 );
65 }
66
67 #[test]
68 fn should_allow_expressions() {
69 let logs = setup_logging_test();
70
71 warn!("Oops, something happened!");
72
73 assert_logs_contain_in_order!(
74 logs,
75 Level::Warn => format!("{}", "Oops, something happened!")
76 );
77 }
78}