diff --git a/src/executor.rs b/src/executor.rs index 2e8c29a0..a403a65e 100644 --- a/src/executor.rs +++ b/src/executor.rs @@ -179,15 +179,12 @@ impl Executor { #[cfg_attr(windows, allow(dead_code))] pub fn status_checked_with_codes(&mut self, codes: &[i32]) -> Result<()> { match self { - Executor::Wet(c) => c.status_checked_with(|status| match status.code() { - Some(code) => { - if codes.contains(&code) { - Ok(()) - } else { - Err(()) - } + Executor::Wet(c) => c.status_checked_with(|status| { + if status.success() || status.code().as_ref().map(|c| codes.contains(c)).unwrap_or(false) { + Ok(()) + } else { + Err(()) } - None => Err(()), }), Executor::Dry(c) => { c.dry_run();