macro_rules! assert_reachable {
($message:expr$(, $details:expr)?) => { ... };
($($rest:tt)*) => { ... };
}Expand description
Assert that a line of code is reached at least once. The corresponding test
property will pass if this macro is ever called. (If it is never called the
test property will therefore fail.) This test property will be viewable in
the Antithesis SDK: Reachablity assertions group.
ยงExample
use serde::Serialize;
use antithesis_sdk::{assert_reachable, random};
// Only serialized when the assertion emits; see assert_always.
#[derive(Serialize)]
struct Details { max_allowed: u64, actual: u64 }
const MAX_ALLOWED: u64 = 100;
let actual = random::get_random() % 120u64;
let details = Details { max_allowed: MAX_ALLOWED, actual };
if (actual > MAX_ALLOWED) {
antithesis_sdk::assert_reachable!("Value in range", &details);
}