Print errors when steps fail (#171)
This commit is contained in:
committed by
Thomas Schönauer
parent
2cbb7db66d
commit
022afab1ca
@@ -2,6 +2,7 @@ use crate::ctrlc;
|
||||
use crate::error::{DryRun, SkipStep};
|
||||
use crate::execution_context::ExecutionContext;
|
||||
use crate::report::{Report, StepResult};
|
||||
use crate::terminal::print_error;
|
||||
use crate::{config::Step, terminal::should_retry};
|
||||
use color_eyre::eyre::Result;
|
||||
use log::debug;
|
||||
@@ -55,7 +56,12 @@ impl<'a> Runner<'a> {
|
||||
|
||||
let ignore_failure = self.ctx.config().ignore_failure(step);
|
||||
let should_ask = interrupted || !(self.ctx.config().no_retry() || ignore_failure);
|
||||
let should_retry = should_ask && should_retry(interrupted, key.as_ref())?;
|
||||
let should_retry = if should_ask {
|
||||
print_error(&key, format!("{e:?}"));
|
||||
should_retry(interrupted, key.as_ref())?
|
||||
} else {
|
||||
false
|
||||
};
|
||||
|
||||
if !should_retry {
|
||||
self.report.push_result(Some((
|
||||
|
||||
@@ -163,6 +163,19 @@ impl Terminal {
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
fn print_error<P: AsRef<str>, Q: AsRef<str>>(&mut self, key: Q, message: P) {
|
||||
let key = key.as_ref();
|
||||
let message = message.as_ref();
|
||||
self.term
|
||||
.write_fmt(format_args!(
|
||||
"{} {}",
|
||||
style(format!("{} failed:", key)).red().bold(),
|
||||
message
|
||||
))
|
||||
.ok();
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
fn print_warning<P: AsRef<str>>(&mut self, message: P) {
|
||||
let message = message.as_ref();
|
||||
@@ -278,6 +291,11 @@ pub fn print_separator<P: AsRef<str>>(message: P) {
|
||||
TERMINAL.lock().unwrap().print_separator(message)
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub fn print_error<P: AsRef<str>, Q: AsRef<str>>(key: Q, message: P) {
|
||||
TERMINAL.lock().unwrap().print_error(key, message)
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub fn print_warning<P: AsRef<str>>(message: P) {
|
||||
TERMINAL.lock().unwrap().print_warning(message)
|
||||
|
||||
Reference in New Issue
Block a user