dev_scripts/cmd.rs
1use std::process::Output;
2
3use crate::Error;
4
5/// Make sure a command finished successfully, otherwise throw an error.
6pub fn ensure_success(output: &Output, message: String) -> Result<(), Error> {
7 let stderr = String::from_utf8_lossy(&output.stderr).to_string();
8 let stdout = String::from_utf8_lossy(&output.stdout).to_string();
9
10 if !output.status.success() {
11 return Err(Error::CommandFailed {
12 message,
13 stdout,
14 stderr,
15 });
16 }
17
18 Ok(())
19}