35 lines
1.0 KiB
Rust
35 lines
1.0 KiB
Rust
|
|
//! Macros for defining extra assertions that should only be checked in testing
|
||
|
|
//! and/or CI when the `testing_only_extra_assertions` feature is enabled.
|
||
|
|
|
||
|
|
/// Simple macro that forwards to assert! when using
|
||
|
|
/// testing_only_extra_assertions.
|
||
|
|
#[macro_export]
|
||
|
|
macro_rules! extra_assert {
|
||
|
|
( $cond:expr ) => {
|
||
|
|
if cfg!(feature = "testing_only_extra_assertions") {
|
||
|
|
assert!($cond);
|
||
|
|
}
|
||
|
|
};
|
||
|
|
( $cond:expr , $( $arg:tt )+ ) => {
|
||
|
|
if cfg!(feature = "testing_only_extra_assertions") {
|
||
|
|
assert!($cond, $( $arg )* )
|
||
|
|
}
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
/// Simple macro that forwards to assert_eq! when using
|
||
|
|
/// testing_only_extra_assertions.
|
||
|
|
#[macro_export]
|
||
|
|
macro_rules! extra_assert_eq {
|
||
|
|
( $lhs:expr , $rhs:expr ) => {
|
||
|
|
if cfg!(feature = "testing_only_extra_assertions") {
|
||
|
|
assert_eq!($lhs, $rhs);
|
||
|
|
}
|
||
|
|
};
|
||
|
|
( $lhs:expr , $rhs:expr , $( $arg:tt )+ ) => {
|
||
|
|
if cfg!(feature = "testing_only_extra_assertions") {
|
||
|
|
assert!($lhs, $rhs, $( $arg )* );
|
||
|
|
}
|
||
|
|
};
|
||
|
|
}
|