From: Rust Maintainers Date: Sun, 15 Oct 2017 19:31:03 +0000 (+0100) Subject: u-output-failed-commands X-Git-Tag: archive/raspbian/1.19.0+dfsg3-4+rpi1~15 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=63ad263112efed775dfa28a2dd9937c1855c80c2;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 5483b6a914..d650ef1023 100644 --- a/src/bootstrap/check.rs +++ b/src/bootstrap/check.rs @@ -61,8 +61,8 @@ impl fmt::Display for TestKind { fn try_run(build: &Build, cmd: &mut Command) { if build.flags.cmd.no_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); @@ -72,8 +72,8 @@ fn try_run(build: &Build, cmd: &mut Command) { fn try_run_quiet(build: &Build, cmd: &mut Command) { if build.flags.cmd.no_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 00cbc589ae..b16902ae5c 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; @@ -181,7 +181,7 @@ pub struct Build { is_sudo: bool, src_is_git: bool, ci_env: CiEnv, - delayed_failures: Cell, + delayed_failures: RefCell>, } #[derive(Debug)] @@ -276,7 +276,7 @@ impl Build { is_sudo: is_sudo, src_is_git: src_is_git, 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 dcbd70fab6..b9ebdd03d6 100644 --- a/src/bootstrap/step.rs +++ b/src/bootstrap/step.rs @@ -1268,9 +1268,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); } }