From 454c0280dcd7f9b3d2dfe849b97abb1e9dffbf2e Mon Sep 17 00:00:00 2001 From: Solly Date: Thu, 30 Jan 2020 20:47:50 -0500 Subject: [PATCH] Added test for `RUSTUP_INIT_SKIP_CHECKING_EXISTENCE`. --- tests/cli-inst-interactive.rs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/cli-inst-interactive.rs b/tests/cli-inst-interactive.rs index 9e8bbaeaf0f..8615cf46e77 100644 --- a/tests/cli-inst-interactive.rs +++ b/tests/cli-inst-interactive.rs @@ -358,3 +358,35 @@ fn test_warn_succeed_if_rustup_sh_already_installed_y_flag() { assert!(!out.stdout.contains("Continue? (y/N)")); }) } + +#[test] +fn test_succeed_if_rustup_sh_already_installed_env_var_set() { + setup(&|config| { + create_rustup_sh_metadata(&config); + let mut cmd = clitools::cmd(config, "rustup-init", &["-y"]); + clitools::env(config, &mut cmd); + cmd.env("RUSTUP_INIT_SKIP_EXISTENCE_CHECKS", "yes"); + + cmd.stdin(Stdio::piped()); + cmd.stdout(Stdio::piped()); + cmd.stderr(Stdio::piped()); + let _out = cmd.spawn().unwrap().wait_with_output().unwrap(); + let out = SanitizedOutput { + ok: _out.status.success(), + stdout: String::from_utf8(_out.stdout).unwrap(), + stderr: String::from_utf8(_out.stderr).unwrap(), + }; + + assert!(out.ok); + assert!(!out + .stderr + .contains("warning: it looks like you have existing rustup.sh metadata")); + assert!(!out + .stderr + .contains("error: cannot install while rustup.sh is installed")); + assert!(!out.stderr.contains( + "warning: continuing (because the -y flag is set and the error is ignorable)" + )); + assert!(!out.stdout.contains("Continue? (y/N)")); + }) +}