#![cfg(test)]
#[ctor::ctor]
fn initialize() {
crate::shell::init(crate::shell::Env::default());
}
#[macro_export]
macro_rules! assert_err_re {
($res:expr, $x:expr) => {
$crate::test::assert_err_re!($res, $x, "");
};
($res:expr, $re:expr, $msg:expr) => {
let err = $res.unwrap_err();
let s = err.to_string();
let re = ::regex::Regex::new($re.as_ref()).unwrap();
let err_msg = format!("{s:?} does not match regex: {:?}", $re);
if $msg.is_empty() {
assert!(re.is_match(&s), "{}", err_msg);
} else {
assert!(re.is_match(&s), "{}", format!("{err_msg}: {}", $msg));
}
};
}
pub(crate) use assert_err_re;