Make exit code propagate
This commit is contained in:
parent
28934ea6fc
commit
07b0403e9b
@ -105,13 +105,14 @@ fn find_objectfile(name: &str) -> String {
|
||||
.to_owned()
|
||||
}
|
||||
|
||||
pub fn execute(path: &PathBuf) {
|
||||
pub fn execute(path: &PathBuf) -> Option<i32> {
|
||||
let output = Command::new(path.clone()).output().expect("Unable to execute {path}");
|
||||
|
||||
if !output.status.success() {
|
||||
let code = output.status.code().unwrap_or(255);
|
||||
log::error!("{path:?} exited with code {code}");
|
||||
println!("{}", unsafe { String::from_utf8_unchecked(output.stderr) });
|
||||
return;
|
||||
}
|
||||
|
||||
output.status.code()
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
use std::{fs, path::PathBuf};
|
||||
use std::{fs, path::PathBuf, process};
|
||||
|
||||
use argh::FromArgs;
|
||||
use log::*;
|
||||
@ -139,7 +139,9 @@ fn main() {
|
||||
match &options.command {
|
||||
Command::Build(_) => {}
|
||||
Command::Run(_) => {
|
||||
execute(&out_path);
|
||||
if let Some(code) = execute(&out_path) {
|
||||
process::exit(code);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user