#[doc(hidden)]
#[macro_export]
macro_rules! define_entry {
($expectation:expr, $property:expr) => {
if false {
let _ = $expectation;
let _ = &$property;
}
};
}
#[doc(hidden)]
#[macro_export]
macro_rules! emit_entry {
($entry:expr, $condition:expr) => {
if false {
let _ = $entry;
let _ = $condition;
}
};
($entry:expr, $condition:expr, $($details:tt)+) => {
if false {
let _ = $entry;
let _ = $condition;
let _ = $crate::deps::serde_json::json!($($details)+);
}
};
}
#[doc(hidden)]
#[macro_export]
macro_rules! define_and_emit_entry {
($expectation:expr, $property:expr, $condition:expr) => {
if false {
let _ = $expectation;
let _ = &$property;
let _ = $condition;
}
};
($expectation:expr, $property:expr, $condition:expr, $($details:tt)+) => {
if false {
let _ = $expectation;
let _ = &$property;
let _ = $condition;
let _ = $crate::deps::serde_json::json!($($details)+);
}
};
}
#[macro_export]
macro_rules! emit_event {
($name:expr, $($details:tt)+) => {
if false {
let _ = &$name;
let _ = $crate::deps::serde_json::json!($($details)+);
}
};
}
#[macro_export]
macro_rules! setup_complete {
() => {};
($($details:tt)+) => {
if false {
let _ = $crate::deps::serde_json::json!($($details)+);
}
};
}
#[macro_export]
macro_rules! expect_always {
($condition:expr, $property:expr$(, $($details:tt)+)?) => {
$crate::define_and_emit_entry!(
(), $property, $condition $(, $($details)+)?
)
};
}
#[macro_export]
macro_rules! expect_always_or_unreachable {
($condition:expr, $property:expr$(, $($details:tt)+)?) => {
$crate::define_and_emit_entry!(
(), $property, $condition $(, $($details)+)?
)
};
}
#[macro_export]
macro_rules! expect_sometimes {
($condition:expr, $property:expr$(, $($details:tt)+)?) => {
$crate::define_and_emit_entry!(
(), $property, $condition $(, $($details)+)?
)
};
}
#[macro_export]
macro_rules! expect_reachable {
($property:expr$(, $($details:tt)+)?) => {
$crate::define_and_emit_entry!(
(), $property, true $(, $($details)+)?
)
};
}
#[macro_export]
macro_rules! expect_unreachable {
($property:expr$(, $($details:tt)+)?) => {
$crate::define_and_emit_entry!(
(), $property, false $(, $($details)+)?
)
};
}
#[macro_export]
macro_rules! sometimes_fault {
($name:expr, $fault:expr) => {
if false {
let _ = &$name;
let _ = $fault;
}
};
($name:expr, $fault:expr, $($details:tt)+) => {
if false {
let _ = &$name;
let _ = $fault;
let _ = $crate::deps::serde_json::json!($($details)+);
}
};
}