summaryrefslogtreecommitdiff
path: root/src/tools/clippy/clippy_dev/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/clippy_dev/src/lib.rs')
-rw-r--r--src/tools/clippy/clippy_dev/src/lib.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/tools/clippy/clippy_dev/src/lib.rs b/src/tools/clippy/clippy_dev/src/lib.rs
index 3a8b070d735..56a269288c0 100644
--- a/src/tools/clippy/clippy_dev/src/lib.rs
+++ b/src/tools/clippy/clippy_dev/src/lib.rs
@@ -10,7 +10,9 @@
extern crate rustc_driver;
extern crate rustc_lexer;
+use std::io;
use std::path::PathBuf;
+use std::process::{self, ExitStatus};
pub mod bless;
pub mod dogfood;
@@ -58,3 +60,14 @@ pub fn clippy_project_root() -> PathBuf {
}
panic!("error: Can't determine root of project. Please run inside a Clippy working dir.");
}
+
+pub fn exit_if_err(status: io::Result<ExitStatus>) {
+ match status.expect("failed to run command").code() {
+ Some(0) => {},
+ Some(n) => process::exit(n),
+ None => {
+ eprintln!("Killed by signal");
+ process::exit(1);
+ },
+ }
+}