]>
git.proxmox.com Git - rustc.git/blob - src/test/ui/env-funky-keys.rs
2 // Ignore this test on Android, because it segfaults there.
6 // ignore-emscripten no execve
7 // ignore-sgx no execve
8 // ignore-vxworks no execve
9 // ignore-fuchsia no 'execve'
12 #![feature(rustc_private)]
19 use std
::ffi
::CString
;
20 use std
::os
::unix
::prelude
::*;
24 if env
::args_os().count() == 2 {
25 for (key
, value
) in env
::vars_os() {
26 panic
!("found env value {:?} {:?}", key
, value
);
31 let current_exe
= CString
::new(env
::current_exe()
34 .as_bytes()).unwrap();
35 let new_env_var
= CString
::new("FOOBAR").unwrap();
36 let filename
: *const c_char
= current_exe
.as_ptr();
37 let argv
: &[*const c_char
] = &[filename
, filename
, ptr
::null()];
38 let envp
: &[*const c_char
] = &[new_env_var
.as_ptr(), ptr
::null()];
40 execve(filename
, &argv
[0], &envp
[0]);
42 panic
!("execve failed");