about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-03-12 05:28:13 +0000
committerbors <bors@rust-lang.org>2018-03-12 05:28:13 +0000
commit4eea3597f2e978ebf81464485cea0eb79ee1a9e2 (patch)
tree6173609392cb22cd4e67a793a30bfc7ee18fb6bf
parent178becdd7c86d87b24951af18e4b7d45f3e1e7bc (diff)
parent9a3128ec1d603dfa87de5db8eccff08d6dd62f67 (diff)
downloadrust-4eea3597f2e978ebf81464485cea0eb79ee1a9e2.tar.gz
rust-4eea3597f2e978ebf81464485cea0eb79ee1a9e2.zip
Auto merge of #48938 - alexcrichton:no-leak-makeflags, r=kennytm
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
-rw-r--r--src/tools/compiletest/src/runtest.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
index d3f571dd8ae..6619838cce0 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);