From 009d898a9422ac04c1aa60c0e9aff3abc5fa4672 Mon Sep 17 00:00:00 2001 From: Kevin Ballard Date: Sun, 25 May 2014 16:31:46 -0700 Subject: [PATCH] De-realstd os::args With the test runner using ::std::os::args(), and std::std::os now being a re-export of realstd::os, there's no more need for realstd stuff mucking up rt::args. Remove the one test of os::args(), as it's not very useful and it won't work anymore now that rt::args doesn't use realstd. --- src/libstd/os.rs | 15 +-------------- src/libstd/rt/args.rs | 41 +++++++---------------------------------- 2 files changed, 8 insertions(+), 48 deletions(-) diff --git a/src/libstd/os.rs b/src/libstd/os.rs index 415cc69f32108..dbddee8fce286 100644 --- a/src/libstd/os.rs +++ b/src/libstd/os.rs @@ -918,17 +918,10 @@ extern "system" { /// /// The arguments are interpreted as utf-8, with invalid bytes replaced with \uFFFD. /// See `str::from_utf8_lossy` for details. -#[cfg(not(test))] pub fn args() -> Vec { real_args() } -#[cfg(test)] -#[allow(missing_doc)] -pub fn args() -> ::realstd::vec::Vec<::realstd::string::String> { - ::realstd::os::args() -} - /// Returns the arguments which this program was started with (normally passed /// via the command line) as byte vectors. pub fn args_as_bytes() -> Vec> { @@ -1507,7 +1500,7 @@ mod tests { use prelude::*; use c_str::ToCStr; use option; - use os::{env, getcwd, getenv, make_absolute, args}; + use os::{env, getcwd, getenv, make_absolute}; use os::{setenv, unsetenv}; use os; use rand::Rng; @@ -1518,12 +1511,6 @@ mod tests { debug!("{}", os::last_os_error()); } - #[test] - pub fn test_args() { - let a = args(); - assert!(a.len() >= 1); - } - fn make_rand_name() -> String { let mut rng = rand::task_rng(); let n = format_strbuf!("TEST{}", rng.gen_ascii_str(10u).as_slice()); diff --git a/src/libstd/rt/args.rs b/src/libstd/rt/args.rs index 4316fb21d4150..e016c9da418e1 100644 --- a/src/libstd/rt/args.rs +++ b/src/libstd/rt/args.rs @@ -22,47 +22,23 @@ use option::Option; use vec::Vec; -#[cfg(test)] use option::{Some, None}; -#[cfg(test)] use realstd; -#[cfg(test)] use realargs = realstd::rt::args; /// One-time global initialization. -#[cfg(not(test))] pub unsafe fn init(argc: int, argv: **u8) { imp::init(argc, argv) } -#[cfg(test)] -pub unsafe fn init(argc: int, argv: **u8) { realargs::init(argc, argv) } /// One-time global cleanup. -#[cfg(not(test))] pub unsafe fn cleanup() { imp::cleanup() } -#[cfg(test)] pub unsafe fn cleanup() { realargs::cleanup() } +pub unsafe fn cleanup() { imp::cleanup() } /// Take the global arguments from global storage. -#[cfg(not(test))] pub fn take() -> Option>> { imp::take() } -#[cfg(test)] pub fn take() -> Option>> { - match realargs::take() { - realstd::option::Some(v) => Some(unsafe{ ::mem::transmute(v) }), - realstd::option::None => None, - } -} +pub fn take() -> Option>> { imp::take() } /// Give the global arguments to global storage. /// /// It is an error if the arguments already exist. -#[cfg(not(test))] pub fn put(args: Vec>) { imp::put(args) } -#[cfg(test)] pub fn put(args: Vec>) { - realargs::put(unsafe { - ::mem::transmute(args) - }) -} +pub fn put(args: Vec>) { imp::put(args) } /// Make a clone of the global arguments. -#[cfg(not(test))] pub fn clone() -> Option>> { imp::clone() } -#[cfg(test)] pub fn clone() -> Option>> { - match realargs::clone() { - realstd::option::Some(v) => Some(unsafe { ::mem::transmute(v) }), - realstd::option::None => None, - } -} +pub fn clone() -> Option>> { imp::clone() } #[cfg(target_os = "linux")] #[cfg(target_os = "android")] @@ -75,18 +51,16 @@ mod imp { use unstable::mutex::{StaticNativeMutex, NATIVE_MUTEX_INIT}; use mem; use vec::Vec; - #[cfg(not(test))] use ptr::RawPtr; + use ptr::RawPtr; static mut global_args_ptr: uint = 0; static mut lock: StaticNativeMutex = NATIVE_MUTEX_INIT; - #[cfg(not(test))] pub unsafe fn init(argc: int, argv: **u8) { let args = load_argc_and_argv(argc, argv); put(args); } - #[cfg(not(test))] pub unsafe fn cleanup() { rtassert!(take().is_some()); lock.destroy(); @@ -127,7 +101,6 @@ mod imp { } // Copied from `os`. - #[cfg(not(test))] unsafe fn load_argc_and_argv(argc: int, argv: **u8) -> Vec> { use c_str::CString; use ptr::RawPtr; @@ -173,8 +146,8 @@ mod imp { } } -#[cfg(target_os = "macos", not(test))] -#[cfg(target_os = "win32", not(test))] +#[cfg(target_os = "macos")] +#[cfg(target_os = "win32")] mod imp { use option::Option; use vec::Vec;