From aafe6ebb75816bb589e1da15fe3e1f5d56cda7cb Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Thu, 22 Mar 2018 17:40:44 -0500 Subject: [PATCH] Fix default `cargo test` experience (#397) Turns out Cargo doesn't automatically set `TARGET` for rustc invocations so carry it forward manually from the build script over to the rustc invocation. --- library/stdarch/crates/coresimd/build.rs | 8 ++++++++ library/stdarch/crates/simd-test-macro/src/lib.rs | 15 ++------------- 2 files changed, 10 insertions(+), 13 deletions(-) create mode 100644 library/stdarch/crates/coresimd/build.rs diff --git a/library/stdarch/crates/coresimd/build.rs b/library/stdarch/crates/coresimd/build.rs new file mode 100644 index 000000000000..712653820711 --- /dev/null +++ b/library/stdarch/crates/coresimd/build.rs @@ -0,0 +1,8 @@ +use std::env; + +fn main() { + println!( + "cargo:rustc-env=TARGET={}", + env::var("TARGET").unwrap() + ); +} diff --git a/library/stdarch/crates/simd-test-macro/src/lib.rs b/library/stdarch/crates/simd-test-macro/src/lib.rs index 0ebd93691c7c..63b282f4a7c7 100644 --- a/library/stdarch/crates/simd-test-macro/src/lib.rs +++ b/library/stdarch/crates/simd-test-macro/src/lib.rs @@ -60,19 +60,8 @@ pub fn simd_test( name.clone().as_str() )); - let default_target = if cfg!(target_os = "windows") { - Some("x86_64-pc-windows-msvc") - } else if cfg!(target_os = "linux") { - Some("x86_64-unknown-linux-gnu") - } else if cfg!(target_os = "macos") { - Some("x86_64-apple-darwin") - } else { - None - }; - - let target = env::var("TARGET").unwrap_or_else(|_| { - default_target.expect("TARGET environment variable not set and no default target known for the current target.").to_string() - }); + let target = env::var("TARGET") + .expect("TARGET environment variable should be set for rustc"); let mut force_test = false; let macro_test = match target.split('-').next().expect(&format!( "target triple contained no \"-\": {}",