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}