diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-10-17 21:24:33 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-10-18 21:05:26 +0200 |
commit | e69d714626754ea75add10cdf09bb9c46b2e0817 (patch) | |
tree | 2faabaada0d94750e19147bff2a92554740fc348 | |
parent | 796523b959de0174de268a715ead148727e93bf4 (diff) | |
download | rebel-e69d714626754ea75add10cdf09bb9c46b2e0817.tar rebel-e69d714626754ea75add10cdf09bb9c46b2e0817.zip |
util: improve formatting of exit status errors
-rw-r--r-- | src/util/mod.rs | 18 |
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)) } } |