summaryrefslogtreecommitdiffstats
path: root/crates/runner/src/util/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/runner/src/util/mod.rs')
-rw-r--r--crates/runner/src/util/mod.rs39
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))
- }
-}