diff options
| author | Mark Rousskov <mark.simulacrum@gmail.com> | 2022-01-30 17:37:11 -0500 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2022-01-30 17:37:11 -0500 |
| commit | 9bf6a5de7705e83c110179580e996dcf74a5928f (patch) | |
| tree | 19a781e2c6ae297a489f878f3a4a73d5d0f7021b | |
| parent | d08e816333281b0c0fb5a99c2c15d8084312e41a (diff) | |
| download | rust-9bf6a5de7705e83c110179580e996dcf74a5928f.tar.gz rust-9bf6a5de7705e83c110179580e996dcf74a5928f.zip | |
Hide failed command unless in verbose mode
This is particularly intended for invoking compiletest; the command line there is long (3,350 characters on my system) and takes up a lot of screen real estate for little benefit to the majority of those running bootstrap. This moves printing it to verbose mode (-v must be passed) which means that it's still possible to access when needed for debugging. The main downside is that CI logs will by-default become less usable for debugging (particularly) spurious failures, but it is pretty rare for us to really need the information there -- it's usually fairly obvious what is being run with a little investigation.
| -rw-r--r-- | src/bootstrap/lib.rs | 4 | ||||
| -rw-r--r-- | src/build_helper/lib.rs | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index 8569089f701..e5f84d417bf 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -851,7 +851,7 @@ impl Build { return; } self.verbose(&format!("running: {:?}", cmd)); - run(cmd) + run(cmd, self.is_verbose()) } /// Runs a command, printing out nice contextual information if it fails. @@ -871,7 +871,7 @@ impl Build { return true; } self.verbose(&format!("running: {:?}", cmd)); - try_run(cmd) + try_run(cmd, self.is_verbose()) } /// Runs a command, printing out nice contextual information if it fails. diff --git a/src/build_helper/lib.rs b/src/build_helper/lib.rs index 28e95d81bb7..24aded54731 100644 --- a/src/build_helper/lib.rs +++ b/src/build_helper/lib.rs @@ -55,18 +55,18 @@ pub fn restore_library_path() { } } -pub fn run(cmd: &mut Command) { - if !try_run(cmd) { +pub fn run(cmd: &mut Command, print_cmd_on_fail: bool) { + if !try_run(cmd, print_cmd_on_fail) { std::process::exit(1); } } -pub fn try_run(cmd: &mut Command) -> bool { +pub fn try_run(cmd: &mut Command, print_cmd_on_fail: bool) -> bool { let status = match cmd.status() { Ok(status) => status, Err(e) => fail(&format!("failed to execute command: {:?}\nerror: {}", cmd, e)), }; - if !status.success() { + if !status.success() && print_cmd_on_fail { println!( "\n\ncommand did not execute successfully: {:?}\n\ expected success, got: {}\n\n", |
