compiletest/diagnostics.rs
1//! Collection of diagnostics helpers for `compiletest` *itself*.
2
3#[macro_export]
4macro_rules! fatal {
5 ($($arg:tt)*) => {
6 let status = ::colored::Colorize::bright_red("FATAL: ");
7 let status = ::colored::Colorize::bold(status);
8 eprint!("{status}");
9 eprintln!($($arg)*);
10 // This intentionally uses a seemingly-redundant panic to include backtrace location.
11 //
12 // FIXME: in the long term, we should handle "logic bug in compiletest itself" vs "fatal
13 // user error" separately.
14 panic!("fatal error");
15 };
16}
17
18#[macro_export]
19macro_rules! error {
20 ($($arg:tt)*) => {
21 let status = ::colored::Colorize::red("ERROR: ");
22 let status = ::colored::Colorize::bold(status);
23 eprint!("{status}");
24 eprintln!($($arg)*);
25 };
26}
27
28#[macro_export]
29macro_rules! warning {
30 ($($arg:tt)*) => {
31 let status = ::colored::Colorize::yellow("WARNING: ");
32 let status = ::colored::Colorize::bold(status);
33 eprint!("{status}");
34 eprintln!($($arg)*);
35 };
36}
37
38#[macro_export]
39macro_rules! help {
40 ($($arg:tt)*) => {
41 let status = ::colored::Colorize::cyan("HELP: ");
42 let status = ::colored::Colorize::bold(status);
43 eprint!("{status}");
44 eprintln!($($arg)*);
45 };
46}