diff options
Diffstat (limited to 'crates/runner/src/util/mod.rs')
-rw-r--r-- | crates/runner/src/util/mod.rs | 39 |
1 files changed, 1 insertions, 38 deletions
diff --git a/crates/runner/src/util/mod.rs b/crates/runner/src/util/mod.rs index eff589d..5310ccf 100644 --- a/crates/runner/src/util/mod.rs +++ b/crates/runner/src/util/mod.rs @@ -1,42 +1,5 @@ +pub mod checkable; pub mod cjson; pub mod clone; pub mod fs; pub mod unix; - -use std::{ - io::{Error, ErrorKind, Result}, - process::ExitStatus, -}; - -use nix::sys::wait; - -pub trait Checkable { - fn check(&self) -> Result<()>; -} - -impl Checkable for ExitStatus { - fn check(&self) -> Result<()> { - if self.success() { - Ok(()) - } else { - Err(Error::new( - ErrorKind::Other, - format!("Process exited with {}", self), - )) - } - } -} - -impl Checkable for wait::WaitStatus { - fn check(&self) -> Result<()> { - let message = match self { - wait::WaitStatus::Exited(_, 0) => return Ok(()), - wait::WaitStatus::Exited(_, code) => format!("Process exited with exit code: {}", code), - wait::WaitStatus::Signaled(_, signal, _) => { - format!("Process exited with signal: {}", signal) - } - _ => format!("Process in unexpected status: {:?}", self), - }; - Err(Error::new(ErrorKind::Other, message)) - } -} |