about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-07-29 12:30:12 +0000
committerbors <bors@rust-lang.org>2017-07-29 12:30:12 +0000
commitad36f8febad77942b4f1f0e2ba0f422b69276d7b (patch)
tree88762c0feeff2b04d3d99fc489e24a36f4dd9cea /src/libstd
parent91aff5775d3b4a95e2b0c2fe50785f3d28fa3dd8 (diff)
parent8e7849e766730f9e210330485386731cac40d346 (diff)
downloadrust-ad36f8febad77942b4f1f0e2ba0f422b69276d7b.tar.gz
rust-ad36f8febad77942b4f1f0e2ba0f422b69276d7b.zip
Auto merge of #43534 - alexcrichton:cargo-target-runner, r=Mark-Simulacrum
rustbuild: Use Cargo's "target runner"

This commit leverages a relatively new feature in Cargo to execute
cross-compiled tests, the `target.$target.runner` configuration. We configure it
through environment variables in rustbuild and this avoids the need for us to
locate and run tests after-the-fact, instead relying on Cargo to do all that
execution for us.
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/process.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/libstd/process.rs b/src/libstd/process.rs
index 31809e38239..a872e7eee06 100644
--- a/src/libstd/process.rs
+++ b/src/libstd/process.rs
@@ -1417,8 +1417,19 @@ mod tests {
         let output = String::from_utf8(result.stdout).unwrap();
 
         for (ref k, ref v) in env::vars() {
-            // don't check android RANDOM variables
-            if cfg!(target_os = "android") && *k == "RANDOM" {
+            // Don't check android RANDOM variable which seems to change
+            // whenever the shell runs, and our `env_cmd` is indeed running a
+            // shell which means it'll get a different RANDOM than we probably
+            // have.
+            //
+            // Also skip env vars with `-` in the name on android because, well,
+            // I'm not sure. It appears though that the `set` command above does
+            // not print env vars with `-` in the name, so we just skip them
+            // here as we won't find them in the output. Note that most env vars
+            // use `_` instead of `-`, but our build system sets a few env vars
+            // with `-` in the name.
+            if cfg!(target_os = "android") &&
+               (*k == "RANDOM" || k.contains("-")) {
                 continue
             }