about summary refs log tree commit diff
path: root/tests/ui/env-vars.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/env-vars.rs')
-rw-r--r--tests/ui/env-vars.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/env-vars.rs b/tests/ui/env-vars.rs
new file mode 100644
index 00000000000..f5035bb2c69
--- /dev/null
+++ b/tests/ui/env-vars.rs
@@ -0,0 +1,20 @@
+// run-pass
+// ignore-wasm32-bare no env vars
+
+use std::env::*;
+
+fn main() {
+    for (k, v) in vars_os() {
+        // On Windows, the environment variable NUMBER_OF_PROCESSORS has special meaning.
+        // Unfortunately, you can get different answers, depending on whether you are
+        // enumerating all environment variables or querying a specific variable.
+        // This was causing this test to fail on machines with more than 64 processors.
+        if cfg!(target_os = "windows") && k == "NUMBER_OF_PROCESSORS" {
+            continue;
+        }
+
+        let v2 = var_os(&k);
+        assert!(v2.as_ref().map(|s| &**s) == Some(&*v),
+                "bad vars->var transition: {:?} {:?} {:?}", k, v, v2);
+    }
+}