diff --git a/src/test/run-pass/unix-process-spawn-errno.rs b/src/test/run-pass/unix-process-spawn-errno.rs deleted file mode 100644 index b2ef1a044db..00000000000 --- a/src/test/run-pass/unix-process-spawn-errno.rs +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright 2014 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// ignore-windows -// ignore-macos - -#![feature(macro_rules)] - -extern crate native; -extern crate rustrt; -extern crate libc; -use libc::{c_char, c_int}; -use native::io::process; -use rustrt::rtio; -use rustrt::c_str; - -macro_rules! c_string { - ($s:expr) => { { - let ptr = concat!($s, "\0").as_ptr() as *const i8; - unsafe { &c_str::CString::new(ptr, false) } - } } -} - -static EXPECTED_ERRNO: c_int = 0x778899aa; - -#[no_mangle] -pub unsafe extern "C" fn chdir(_: *const c_char) -> c_int { - // copied from std::os::errno() - #[cfg(any(target_os = "macos", - target_os = "ios", - target_os = "freebsd"))] - fn errno_location() -> *mut c_int { - extern { - fn __error() -> *mut c_int; - } - unsafe { - __error() - } - } - - #[cfg(target_os = "dragonfly")] - fn errno_location() -> *mut c_int { - extern { - fn __dfly_error() -> *mut c_int; - } - unsafe { - __dfly_error() - } - } - - #[cfg(any(target_os = "linux", target_os = "android"))] - fn errno_location() -> *mut c_int { - extern { - fn __errno_location() -> *mut c_int; - } - unsafe { - __errno_location() - } - } - - *errno_location() = EXPECTED_ERRNO; - return -1; -} - -fn main() { - let program = c_string!("true"); - let cwd = c_string!("whatever"); - let cfg = rtio::ProcessConfig { - program: program, - args: &[], - env: None, - cwd: Some(cwd), - stdin: rtio::Ignored, - stdout: rtio::Ignored, - stderr: rtio::Ignored, - extra_io: &[], - uid: None, - gid: None, - detach: false - }; - - match process::Process::spawn(cfg) { - Ok(_) => { panic!("spawn() should have panicked"); } - Err(rtio::IoError { code: err, ..}) => { - assert_eq!(err as c_int, EXPECTED_ERRNO); - } - }; -}