1use crate::output::StderrStyles;
5
6macro_rules! dyn_event {
8 ($lvl:ident, $($arg:tt)+) => {
9 match $lvl {
10 ::tracing::Level::TRACE => ::tracing::trace!($($arg)+),
11 ::tracing::Level::DEBUG => ::tracing::debug!($($arg)+),
12 ::tracing::Level::INFO => ::tracing::info!($($arg)+),
13 ::tracing::Level::WARN => ::tracing::warn!($($arg)+),
14 ::tracing::Level::ERROR => ::tracing::error!($($arg)+),
15 }
16 };
17}
18
19#[cfg(feature = "self-update")]
20pub(crate) fn log_needs_update(level: tracing::Level, extra: &str, styles: &StderrStyles) {
21 use owo_colors::OwoColorize;
22
23 dyn_event!(
24 level,
25 "update nextest with {}{}",
26 "cargo nextest self update".style(styles.bold),
27 extra,
28 );
29}
30
31#[cfg(not(feature = "self-update"))]
32pub(crate) fn log_needs_update(level: tracing::Level, extra: &str, _styles: &StderrStyles) {
33 dyn_event!(level, "update nextest via your package manager{}", extra);
34}
35
36pub(crate) const BYPASS_VERSION_TEXT: &str = ", or bypass check with --override-version-check";