From: Rust Maintainers Date: Sun, 15 Oct 2017 21:30:35 +0000 (+0100) Subject: u-output-failed-commands X-Git-Tag: archive/raspbian/1.20.0+dfsg1-1+rpi1^2~15 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=bdfd5a08ae11ce192a096772ea5415a414b63a91;p=rustc.git u-output-failed-commands Gbp-Pq: Name u-output-failed-commands.patch --- diff --git a/src/bootstrap/check.rs b/src/bootstrap/check.rs index e4b0e2fb9c..b7dc9091ed 100644 --- a/src/bootstrap/check.rs +++ b/src/bootstrap/check.rs @@ -62,8 +62,8 @@ impl fmt::Display for TestKind { fn try_run(build: &Build, cmd: &mut Command) { if !build.fail_fast { if !build.try_run(cmd) { - let failures = build.delayed_failures.get(); - build.delayed_failures.set(failures + 1); + let mut failures = &mut build.delayed_failures.borrow_mut(); + failures.push(format!("{:?}", cmd)); } } else { build.run(cmd); @@ -73,8 +73,8 @@ fn try_run(build: &Build, cmd: &mut Command) { fn try_run_quiet(build: &Build, cmd: &mut Command) { if !build.fail_fast { if !build.try_run_quiet(cmd) { - let failures = build.delayed_failures.get(); - build.delayed_failures.set(failures + 1); + let mut failures = &mut build.delayed_failures.borrow_mut(); + failures.push(format!("{:?}", cmd)); } } else { build.run_quiet(cmd); diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index 032231582e..7830a6d50e 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -79,7 +79,7 @@ extern crate toml; #[cfg(unix)] extern crate libc; -use std::cell::Cell; +use std::cell::RefCell; use std::cmp; use std::collections::HashMap; use std::env; @@ -191,7 +191,7 @@ pub struct Build { crates: HashMap, is_sudo: bool, ci_env: CiEnv, - delayed_failures: Cell, + delayed_failures: RefCell>, } #[derive(Debug)] @@ -295,7 +295,7 @@ impl Build { lldb_python_dir: None, is_sudo: is_sudo, ci_env: CiEnv::current(), - delayed_failures: Cell::new(0), + delayed_failures: RefCell::new(Vec::new()), } } diff --git a/src/bootstrap/step.rs b/src/bootstrap/step.rs index e35031b3c9..cdb227fff6 100644 --- a/src/bootstrap/step.rs +++ b/src/bootstrap/step.rs @@ -1292,9 +1292,12 @@ invalid rule dependency graph detected, was a rule added and maybe typo'd? } // Check for postponed failures from `test --no-fail-fast`. - let failures = self.build.delayed_failures.get(); - if failures > 0 { - println!("\n{} command(s) did not execute successfully.\n", failures); + let failures = self.build.delayed_failures.borrow(); + if failures.len() > 0 { + println!("\n{} command(s) did not execute successfully:\n", failures.len()); + for failure in failures.iter() { + println!(" - {}\n", failure); + } process::exit(1); } }