summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2021-10-17 21:24:33 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2021-10-18 21:05:26 +0200
commite69d714626754ea75add10cdf09bb9c46b2e0817 (patch)
tree2faabaada0d94750e19147bff2a92554740fc348
parent796523b959de0174de268a715ead148727e93bf4 (diff)
downloadrebel-e69d714626754ea75add10cdf09bb9c46b2e0817.tar
rebel-e69d714626754ea75add10cdf09bb9c46b2e0817.zip
util: improve formatting of exit status errors
-rw-r--r--src/util/mod.rs18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/util/mod.rs b/src/util/mod.rs
index 5603178..937f402 100644
--- a/src/util/mod.rs
+++ b/src/util/mod.rs
@@ -22,7 +22,7 @@ impl Checkable for ExitStatus {
} else {
Err(Error::new(
ErrorKind::Other,
- format!("process exited with status {}", self),
+ format!("Process exited with {}", self),
))
}
}
@@ -30,12 +30,14 @@ impl Checkable for ExitStatus {
impl Checkable for wait::WaitStatus {
fn check(&self) -> Result<()> {
- match self {
- wait::WaitStatus::Exited(_, 0) => Ok(()),
- _ => Err(Error::new(
- ErrorKind::Other,
- format!("process exited with status {:?}", self),
- )),
- }
+ 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))
}
}