about summary refs log tree commit diff
path: root/src/libtest
diff options
context:
space:
mode:
authorDylan DPC <dylan.dpc@gmail.com>2020-01-17 11:16:42 +0530
committerGitHub <noreply@github.com>2020-01-17 11:16:42 +0530
commit98347cdbfffe9cf9328af24592ced2f240340255 (patch)
treef5f9f598fb0e131afd87cf2ee2216f445bb642c5 /src/libtest
parent5d5587795eabba0b51362ab14deb7873a0119c27 (diff)
parent6246f7e1f90f1b72d5b9b530df2ee81beeb09f20 (diff)
downloadrust-98347cdbfffe9cf9328af24592ced2f240340255.tar.gz
rust-98347cdbfffe9cf9328af24592ced2f240340255.zip
Rollup merge of #68301 - tmandry:dont-propagate-test-invoke, r=alexcrichton
Don't propagate __RUST_TEST_INVOKE to subprocess

When -Z panic_abort_tests is enabled, we use an environment variable to
tell the subprocess which test to invoke. If that subprocess then
invokes another Rust test binary, chaos ensues.

r? @alexcrichton
Diffstat (limited to 'src/libtest')
-rw-r--r--src/libtest/lib.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libtest/lib.rs b/src/libtest/lib.rs
index 4c4d7958243..e99473177e8 100644
--- a/src/libtest/lib.rs
+++ b/src/libtest/lib.rs
@@ -153,12 +153,13 @@ pub fn test_main_static_abort(tests: &[&TestDescAndFn]) {
     // If we're being run in SpawnedSecondary mode, run the test here. run_test
     // will then exit the process.
     if let Ok(name) = env::var(SECONDARY_TEST_INVOKER_VAR) {
+        env::remove_var(SECONDARY_TEST_INVOKER_VAR);
         let test = tests
             .iter()
             .filter(|test| test.desc.name.as_slice() == name)
             .map(make_owned_test)
             .next()
-            .expect("couldn't find a test with the provided name");
+            .expect(&format!("couldn't find a test with the provided name '{}'", name));
         let TestDescAndFn { desc, testfn } = test;
         let testfn = match testfn {
             StaticTestFn(f) => f,