Make into_result_with_error_logging available for every MaybeCast<Output> type
This commit is contained in:
parent
6c7e718748
commit
8315549838
@ -202,15 +202,20 @@ impl<T> CommandResult<T, StartError> {
|
||||
}
|
||||
}
|
||||
|
||||
impl CommandResult<CommandOutput, ExecutionError<CommandOutput>> {
|
||||
impl<T> CommandResult<T, ExecutionError<T>> {
|
||||
pub fn into_result_with_error_logging(
|
||||
self,
|
||||
logger: &Logger,
|
||||
) -> Result<CommandOutput, CommandError<ExecutionError<CommandOutput>>> {
|
||||
) -> Result<T, CommandError<ExecutionError<T>>>
|
||||
where
|
||||
T: MaybeCast<CommandOutput>,
|
||||
{
|
||||
self.result.map_err(|error| {
|
||||
if let ExecutionError::BadExitStatus(output) = &error {
|
||||
log!(logger, error, "{}", output.stdout.to_string_lossy());
|
||||
log!(logger, error, "{}", output.stderr.to_string_lossy());
|
||||
if let ExecutionError::BadExitStatus(t) = &error {
|
||||
if let Some(output) = t.maybe_cast() {
|
||||
log!(logger, error, "{}", output.stdout.to_string_lossy());
|
||||
log!(logger, error, "{}", output.stderr.to_string_lossy());
|
||||
}
|
||||
}
|
||||
CommandError {
|
||||
command: self.command,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user