blob: 207a6cb91d7ca4a629940bfeedc84822f009e264 [file] [log] [blame]
//! Collection of diagnostics helpers for `compiletest` *itself*.
#[macro_export]
macro_rules! fatal {
($($arg:tt)*) => {
let status = ::colored::Colorize::bright_red("FATAL: ");
let status = ::colored::Colorize::bold(status);
eprint!("{status}");
eprintln!($($arg)*);
// This intentionally uses a seemingly-redundant panic to include backtrace location.
//
// FIXME: in the long term, we should handle "logic bug in compiletest itself" vs "fatal
// user error" separately.
panic!("fatal error");
};
}
#[macro_export]
macro_rules! error {
($($arg:tt)*) => {
let status = ::colored::Colorize::red("ERROR: ");
let status = ::colored::Colorize::bold(status);
eprint!("{status}");
eprintln!($($arg)*);
};
}
#[macro_export]
macro_rules! warning {
($($arg:tt)*) => {
let status = ::colored::Colorize::yellow("WARNING: ");
let status = ::colored::Colorize::bold(status);
eprint!("{status}");
eprintln!($($arg)*);
};
}
#[macro_export]
macro_rules! help {
($($arg:tt)*) => {
let status = ::colored::Colorize::cyan("HELP: ");
let status = ::colored::Colorize::bold(status);
eprint!("{status}");
eprintln!($($arg)*);
};
}