summaryrefslogtreecommitdiffstats
path: root/crates/runner/src/util
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2021-10-26 23:57:33 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2021-10-26 23:57:33 +0200
commitddb92b57fb92a43dcd3ac03ba987636bbc5d1843 (patch)
tree8aa9c765e56a330239671dae4a664dc909a69c78 /crates/runner/src/util
parentb24d2670bd5bbd70dabddc489e96cf0ba1f9e8ba (diff)
downloadrebel-ddb92b57fb92a43dcd3ac03ba987636bbc5d1843.tar
rebel-ddb92b57fb92a43dcd3ac03ba987636bbc5d1843.zip
runner: move Checkable trait into separabe module
Diffstat (limited to 'crates/runner/src/util')
-rw-r--r--crates/runner/src/util/checkable.rs37
-rw-r--r--crates/runner/src/util/mod.rs39
2 files changed, 38 insertions, 38 deletions
diff --git a/crates/runner/src/util/checkable.rs b/crates/runner/src/util/checkable.rs
new file mode 100644
index 0000000..8528d29
--- /dev/null
+++ b/crates/runner/src/util/checkable.rs
@@ -0,0 +1,37 @@
+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))
+ }
+}
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))
- }
-}