From 9a3128ec1d603dfa87de5db8eccff08d6dd62f67 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Sun, 11 Mar 2018 13:15:46 -0700 Subject: [PATCH] test: Forcibly remove MAKEFLAGS in compiletest When executing run-make tests we run a risk of leaking the `MAKEFLAGS` environment variable if `./x.py` itself was called from `make` (aka `make check -j3` as the OSX bots do). We may then leak accidentally fds into the child process and trick it into thinking it's got a jobserver! Hopefully addresses [this] spurious failure [this]: https://github.com/rust-lang/rust/pull/48295#issuecomment-372134717 --- src/tools/compiletest/src/runtest.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs index d3f571dd8aeb4..6619838cce07a 100644 --- a/src/tools/compiletest/src/runtest.rs +++ b/src/tools/compiletest/src/runtest.rs @@ -2412,7 +2412,14 @@ impl<'test> TestCx<'test> { .env("HOST_RPATH_DIR", cwd.join(&self.config.compile_lib_path)) .env("TARGET_RPATH_DIR", cwd.join(&self.config.run_lib_path)) .env("LLVM_COMPONENTS", &self.config.llvm_components) - .env("LLVM_CXXFLAGS", &self.config.llvm_cxxflags); + .env("LLVM_CXXFLAGS", &self.config.llvm_cxxflags) + + // We for sure don't want these tests to run in parallel, so make + // sure they don't have access to these vars if we we run via `make` + // at the top level + .env_remove("MAKEFLAGS") + .env_remove("MFLAGS") + .env_remove("CARGO_MAKEFLAGS"); if let Some(ref linker) = self.config.linker { cmd.env("RUSTC_LINKER", linker);