about summary refs log tree commit diff
path: root/src/test/ui/env-funky-keys.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/env-funky-keys.rs')
-rw-r--r--src/test/ui/env-funky-keys.rs43
1 files changed, 0 insertions, 43 deletions
diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs
deleted file mode 100644
index 46e20d8c61f..00000000000
--- a/src/test/ui/env-funky-keys.rs
+++ /dev/null
@@ -1,43 +0,0 @@
-// run-pass
-// Ignore this test on Android, because it segfaults there.
-
-// ignore-android
-// ignore-windows
-// ignore-emscripten no execve
-// ignore-sgx no execve
-// ignore-vxworks no execve
-// ignore-fuchsia no 'execve'
-// no-prefer-dynamic
-
-#![feature(rustc_private)]
-
-extern crate libc;
-
-use libc::c_char;
-use libc::execve;
-use std::env;
-use std::ffi::CString;
-use std::os::unix::prelude::*;
-use std::ptr;
-
-fn main() {
-    if env::args_os().count() == 2 {
-        for (key, value) in env::vars_os() {
-            panic!("found env value {:?} {:?}", key, value);
-        }
-        return;
-    }
-
-    let current_exe = CString::new(env::current_exe()
-                                       .unwrap()
-                                       .as_os_str()
-                                       .as_bytes()).unwrap();
-    let new_env_var = CString::new("FOOBAR").unwrap();
-    let filename: *const c_char = current_exe.as_ptr();
-    let argv: &[*const c_char] = &[filename, filename, ptr::null()];
-    let envp: &[*const c_char] = &[new_env_var.as_ptr(), ptr::null()];
-    unsafe {
-        execve(filename, &argv[0], &envp[0]);
-    }
-    panic!("execve failed");
-}