Fix test target_in_environment_contains_lower_case

This commit is contained in:
Eric Huss 2021-02-23 19:51:42 -08:00
parent 8eb0e9a855
commit f344f73063

View File

@ -357,26 +357,29 @@ fn custom_linker_env() {
fn target_in_environment_contains_lower_case() { fn target_in_environment_contains_lower_case() {
let p = project().file("src/main.rs", "fn main() {}").build(); let p = project().file("src/main.rs", "fn main() {}").build();
let target_keys = [ let target = rustc_host();
"CARGO_TARGET_X86_64_UNKNOWN_LINUX_musl_LINKER", let env_key = format!(
"CARGO_TARGET_x86_64_unknown_linux_musl_LINKER", "CARGO_TARGET_{}_LINKER",
]; target.to_lowercase().replace('-', "_")
);
for target_key in &target_keys { let mut execs = p.cargo("build -v --target");
let mut execs = p.cargo("build -v --target x86_64-unknown-linux-musl"); execs.arg(target).env(&env_key, "nonexistent-linker");
execs.env(target_key, "nonexistent-linker").with_status(101);
if cfg!(windows) { if cfg!(windows) {
execs.with_stderr_does_not_contain("warning:[..]"); // Windows env keys are case insensitive, so no warning, but it will
// fail due to the missing linker.
execs
.with_stderr_does_not_contain("warning:[..]")
.with_status(101);
} else { } else {
execs.with_stderr_contains(format!( execs.with_stderr_contains(format!(
"warning: Environment variables are expected to use uppercase letters and underscores, \ "warning: Environment variables are expected to use uppercase letters and underscores, \
the variable `{}` will be ignored and have no effect", the variable `{}` will be ignored and have no effect",
target_key env_key
)); ));
} }
execs.run(); execs.run();
} }
}
#[cargo_test] #[cargo_test]
fn cfg_ignored_fields() { fn cfg_ignored_fields() {