From 60b859ab8ac8c48b7adbefe81d0e5d3c772b080a Mon Sep 17 00:00:00 2001 From: Aaron Turon Date: Tue, 30 Sep 2014 21:09:29 -0700 Subject: [PATCH] Remove all use of librustuv --- src/compiletest/compiletest.rs | 10 --- src/doc/guide-runtime.md | 2 +- src/libgreen/lib.rs | 61 ----------------- src/libgreen/sched.rs | 24 ------- src/libgreen/task.rs | 2 +- src/libstd/lib.rs | 11 --- src/test/bench/rt-spawn-rate.rs | 3 +- src/test/bench/shootout-chameneos-redux.rs | 5 -- src/test/bench/shootout-meteor.rs | 5 -- src/test/bench/shootout-spectralnorm.rs | 4 -- src/test/bench/shootout-threadring.rs | 4 -- src/test/bench/silly-test-spawn.rs | 7 +- .../bootstrap-from-c-with-green/Makefile | 12 ---- .../bootstrap-from-c-with-green/lib.rs | 24 ------- .../bootstrap-from-c-with-green/main.c | 16 ----- src/test/run-pass/core-run-destroy.rs | 53 ++++----------- src/test/run-pass/issue-12684.rs | 10 --- src/test/run-pass/issue-13304.rs | 31 ++------- src/test/run-pass/issue-13494.rs | 25 +------ src/test/run-pass/issue-14456.rs | 14 ---- src/test/run-pass/issue-15149.rs | 13 ---- src/test/run-pass/issue-16272.rs | 14 ---- src/test/run-pass/process-detach.rs | 7 -- src/test/run-pass/tcp-accept-stress.rs | 17 ----- src/test/run-pass/tcp-connect-timeouts.rs | 67 ++++++------------- src/test/run-pass/tcp-stress.rs | 7 -- 26 files changed, 43 insertions(+), 405 deletions(-) delete mode 100644 src/test/run-make/bootstrap-from-c-with-green/Makefile delete mode 100644 src/test/run-make/bootstrap-from-c-with-green/lib.rs delete mode 100644 src/test/run-make/bootstrap-from-c-with-green/main.c diff --git a/src/compiletest/compiletest.rs b/src/compiletest/compiletest.rs index 8188cb17b27..0a486ef0305 100644 --- a/src/compiletest/compiletest.rs +++ b/src/compiletest/compiletest.rs @@ -11,15 +11,10 @@ #![crate_type = "bin"] #![feature(phase)] -// we use our own (green) start below; do not link in libnative; issue #13247. -#![no_start] - #![deny(warnings)] extern crate test; extern crate getopts; -extern crate green; -extern crate rustuv; #[phase(plugin, link)] extern crate log; extern crate regex; @@ -41,11 +36,6 @@ pub mod runtest; pub mod common; pub mod errors; -#[start] -fn start(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, main) -} - pub fn main() { let args = os::args(); let config = parse_config(args); diff --git a/src/doc/guide-runtime.md b/src/doc/guide-runtime.md index 24b5834ef7c..66a1e46c82a 100644 --- a/src/doc/guide-runtime.md +++ b/src/doc/guide-runtime.md @@ -240,7 +240,7 @@ To create a pool of green tasks which have no I/O support, you may shed the `rustuv::event_loop`. All tasks will have no I/O support, but they will still be able to deschedule/reschedule (use channels, locks, etc). -~~~{.rust} +~~~{.ignore} extern crate green; extern crate rustuv; diff --git a/src/libgreen/lib.rs b/src/libgreen/lib.rs index b5da4dc24bb..7c67a3840b0 100644 --- a/src/libgreen/lib.rs +++ b/src/libgreen/lib.rs @@ -128,35 +128,6 @@ //! > **Note**: This `main` function in this example does *not* have I/O //! > support. The basic event loop does not provide any support //! -//! # Starting with I/O support in libgreen -//! -//! ```rust -//! extern crate green; -//! extern crate rustuv; -//! -//! #[start] -//! fn start(argc: int, argv: *const *const u8) -> int { -//! green::start(argc, argv, rustuv::event_loop, main) -//! } -//! -//! fn main() { -//! // this code is running in a pool of schedulers all powered by libuv -//! } -//! ``` -//! -//! The above code can also be shortened with a macro from libgreen. -//! -//! ``` -//! #![feature(phase)] -//! #[phase(plugin)] extern crate green; -//! -//! green_start!(main) -//! -//! fn main() { -//! // run inside of a green pool -//! } -//! ``` -//! //! # Using a scheduler pool //! //! This library adds a `GreenTaskBuilder` trait that extends the methods @@ -165,7 +136,6 @@ //! //! ```rust //! extern crate green; -//! extern crate rustuv; //! //! # fn main() { //! use std::task::TaskBuilder; @@ -173,9 +143,6 @@ //! //! let mut config = PoolConfig::new(); //! -//! // Optional: Set the event loop to be rustuv's to allow I/O to work -//! config.event_loop_factory = rustuv::event_loop; -//! //! let mut pool = SchedPool::new(config); //! //! // Spawn tasks into the pool of schedulers @@ -221,7 +188,6 @@ #![allow(deprecated)] #[cfg(test)] #[phase(plugin, link)] extern crate log; -#[cfg(test)] extern crate rustuv; extern crate libc; extern crate alloc; @@ -253,33 +219,6 @@ pub mod sleeper_list; pub mod stack; pub mod task; -/// A helper macro for booting a program with libgreen -/// -/// # Example -/// -/// ``` -/// #![feature(phase)] -/// #[phase(plugin)] extern crate green; -/// -/// green_start!(main) -/// -/// fn main() { -/// // running with libgreen -/// } -/// ``` -#[macro_export] -macro_rules! green_start( ($f:ident) => ( - mod __start { - extern crate green; - extern crate rustuv; - - #[start] - fn start(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, super::$f) - } - } -) ) - /// Set up a default runtime configuration, given compiler-supplied arguments. /// /// This function will block until the entire pool of M:N schedulers have diff --git a/src/libgreen/sched.rs b/src/libgreen/sched.rs index 1075466d099..feb381e4a21 100644 --- a/src/libgreen/sched.rs +++ b/src/libgreen/sched.rs @@ -1024,8 +1024,6 @@ fn new_sched_rng() -> XorShiftRng { #[cfg(test)] mod test { - use rustuv; - use std::rt::task::TaskOpts; use std::rt::task::Task; use std::rt::local::Local; @@ -1277,28 +1275,6 @@ mod test { // } //} - #[test] - fn test_io_callback() { - use std::io::timer; - - let mut pool = SchedPool::new(PoolConfig { - threads: 2, - event_loop_factory: rustuv::event_loop, - }); - - // This is a regression test that when there are no schedulable tasks in - // the work queue, but we are performing I/O, that once we do put - // something in the work queue again the scheduler picks it up and - // doesn't exit before emptying the work queue - pool.spawn(TaskOpts::new(), proc() { - spawn(proc() { - timer::sleep(Duration::milliseconds(10)); - }); - }); - - pool.shutdown(); - } - #[test] fn wakeup_across_scheds() { let (tx1, rx1) = channel(); diff --git a/src/libgreen/task.rs b/src/libgreen/task.rs index 2d67307431b..3b751a5a28d 100644 --- a/src/libgreen/task.rs +++ b/src/libgreen/task.rs @@ -506,7 +506,7 @@ mod tests { fn spawn_opts(opts: TaskOpts, f: proc():Send) { let mut pool = SchedPool::new(PoolConfig { threads: 1, - event_loop_factory: ::rustuv::event_loop, + event_loop_factory: super::super::basic::event_loop, }); pool.spawn(opts, f); pool.shutdown(); diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index 299e41f7219..7304871cf21 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -116,11 +116,6 @@ #![reexport_test_harness_main = "test_main"] -// When testing libstd, bring in libuv as the I/O backend so tests can print -// things and all of the std::io tests have an I/O interface to run on top -// of -#[cfg(test)] extern crate rustuv; -#[cfg(test)] extern crate native; #[cfg(test)] extern crate green; #[cfg(test)] extern crate debug; #[cfg(test)] #[phase(plugin, link)] extern crate log; @@ -187,12 +182,6 @@ pub use unicode::char; pub use core_sync::comm; -// Run tests with libgreen instead of libnative. -#[cfg(test)] #[start] -fn start(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, test_main) -} - /* Exported macros */ pub mod macros; diff --git a/src/test/bench/rt-spawn-rate.rs b/src/test/bench/rt-spawn-rate.rs index 2737c6df533..6f02bff9f31 100644 --- a/src/test/bench/rt-spawn-rate.rs +++ b/src/test/bench/rt-spawn-rate.rs @@ -11,7 +11,6 @@ #![no_start] extern crate green; -extern crate rustuv; use std::task::spawn; use std::os; @@ -22,7 +21,7 @@ use std::uint; #[start] fn start(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, main) + green::start(argc, argv, green::basic::event_loop, main) } fn main() { diff --git a/src/test/bench/shootout-chameneos-redux.rs b/src/test/bench/shootout-chameneos-redux.rs index 05ecb9def9b..2eddc301a83 100644 --- a/src/test/bench/shootout-chameneos-redux.rs +++ b/src/test/bench/shootout-chameneos-redux.rs @@ -40,14 +40,9 @@ // no-pretty-expanded -#![feature(phase)] -#[phase(plugin)] extern crate green; - use std::string::String; use std::fmt; -green_start!(main) - fn print_complements() { let all = [Blue, Red, Yellow]; for aa in all.iter() { diff --git a/src/test/bench/shootout-meteor.rs b/src/test/bench/shootout-meteor.rs index 9542a9a55ee..10408dd0ef4 100644 --- a/src/test/bench/shootout-meteor.rs +++ b/src/test/bench/shootout-meteor.rs @@ -40,13 +40,8 @@ // no-pretty-expanded FIXME #15189 -#![feature(phase)] -#[phase(plugin)] extern crate green; - use std::sync::Arc; -green_start!(main) - // // Utilities. // diff --git a/src/test/bench/shootout-spectralnorm.rs b/src/test/bench/shootout-spectralnorm.rs index 1b53d15c24c..685e900b37e 100644 --- a/src/test/bench/shootout-spectralnorm.rs +++ b/src/test/bench/shootout-spectralnorm.rs @@ -40,9 +40,7 @@ // no-pretty-expanded FIXME #15189 -#![feature(phase)] #![allow(non_snake_case)] -#[phase(plugin)] extern crate green; use std::from_str::FromStr; use std::iter::count; @@ -50,8 +48,6 @@ use std::cmp::min; use std::os; use std::sync::{Arc, RWLock}; -green_start!(main) - fn A(i: uint, j: uint) -> f64 { ((i + j) * (i + j + 1) / 2 + i + 1) as f64 } diff --git a/src/test/bench/shootout-threadring.rs b/src/test/bench/shootout-threadring.rs index 33c84705b06..cda0feb8b55 100644 --- a/src/test/bench/shootout-threadring.rs +++ b/src/test/bench/shootout-threadring.rs @@ -38,10 +38,6 @@ // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED // OF THE POSSIBILITY OF SUCH DAMAGE. -#![feature(phase)] -#[phase(plugin)] extern crate green; -green_start!(main) - fn start(n_tasks: int, token: int) { let (tx, mut rx) = channel(); tx.send(token); diff --git a/src/test/bench/silly-test-spawn.rs b/src/test/bench/silly-test-spawn.rs index 1e5eedfa8a9..bc2723f6d74 100644 --- a/src/test/bench/silly-test-spawn.rs +++ b/src/test/bench/silly-test-spawn.rs @@ -9,16 +9,13 @@ // except according to those terms. // This is (hopefully) a quick test to get a good idea about spawning -// performance in libgreen. Note that this uses the rustuv event loop rather -// than the basic event loop in order to get a better real world idea about the -// performance of a task spawn. +// performance in libgreen. extern crate green; -extern crate rustuv; #[start] fn start(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, main) + green::start(argc, argv, green::basic::event_loop, main) } fn main() { diff --git a/src/test/run-make/bootstrap-from-c-with-green/Makefile b/src/test/run-make/bootstrap-from-c-with-green/Makefile deleted file mode 100644 index c7753a67464..00000000000 --- a/src/test/run-make/bootstrap-from-c-with-green/Makefile +++ /dev/null @@ -1,12 +0,0 @@ --include ../tools.mk - -HOST_LIB_DIR=$(TMPDIR)/../../../stage$(RUST_BUILD_STAGE)/lib -# This overrides the LD_LIBRARY_PATH for RUN -TARGET_RPATH_DIR:=$(TARGET_RPATH_DIR):$(TMPDIR) - -all: - $(RUSTC) lib.rs - $(CC) main.c -o $(call RUN_BINFILE,main) $(call RPATH_LINK_SEARCH,$(HOST_LIB_DIR)) -lboot - $(call RUN,main) - $(call REMOVE_DYLIBS,boot) - $(call FAIL,main) diff --git a/src/test/run-make/bootstrap-from-c-with-green/lib.rs b/src/test/run-make/bootstrap-from-c-with-green/lib.rs deleted file mode 100644 index 7f17018c486..00000000000 --- a/src/test/run-make/bootstrap-from-c-with-green/lib.rs +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2013 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. - -#![crate_name="boot"] -#![crate_type="dylib"] - -extern crate rustuv; -extern crate green; - -#[no_mangle] // this needs to get called from C -pub extern "C" fn foo(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, proc() { - spawn(proc() { - println!("hello"); - }); - }) -} diff --git a/src/test/run-make/bootstrap-from-c-with-green/main.c b/src/test/run-make/bootstrap-from-c-with-green/main.c deleted file mode 100644 index 1872c1ea43b..00000000000 --- a/src/test/run-make/bootstrap-from-c-with-green/main.c +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2013 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. - -// this is the rust entry point that we're going to call. -int foo(int argc, char *argv[]); - -int main(int argc, char *argv[]) { - return foo(argc, argv); -} diff --git a/src/test/run-pass/core-run-destroy.rs b/src/test/run-pass/core-run-destroy.rs index c7a02a419c0..4bde2712140 100644 --- a/src/test/run-pass/core-run-destroy.rs +++ b/src/test/run-pass/core-run-destroy.rs @@ -21,53 +21,24 @@ extern crate libc; extern crate native; -extern crate green; -extern crate rustuv; -use std::io::{Process, Command}; +use std::io::{Process, Command, timer}; use std::time::Duration; +use libc; +use std::str; + macro_rules! succeed( ($e:expr) => ( match $e { Ok(..) => {}, Err(e) => fail!("failure: {}", e) } ) ) -macro_rules! iotest ( - { fn $name:ident() $b:block $($a:attr)* } => ( - mod $name { - #![allow(unused_imports)] - - use std::io::timer; - use libc; - use std::str; - use std::io::process::Command; - use native; - use super::{sleeper, test_destroy_actually_kills}; - - fn f() $b - - $($a)* #[test] fn green() { f() } - $($a)* #[test] fn native() { - use native; - let (tx, rx) = channel(); - native::task::spawn(proc() { tx.send(f()) }); - rx.recv(); - } - } - ) -) - -#[cfg(test)] #[start] -fn start(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, test_main) -} - -iotest!(fn test_destroy_once() { +fn test_destroy_once() { let mut p = sleeper(); match p.signal_exit() { Ok(()) => {} Err(e) => fail!("error: {}", e), } -}) +} #[cfg(unix)] pub fn sleeper() -> Process { @@ -81,11 +52,11 @@ pub fn sleeper() -> Process { Command::new("ping").arg("127.0.0.1").arg("-n").arg("1000").spawn().unwrap() } -iotest!(fn test_destroy_twice() { +fn test_destroy_twice() { let mut p = sleeper(); succeed!(p.signal_exit()); // this shouldnt crash... let _ = p.signal_exit(); // ...and nor should this (and nor should the destructor) -}) +} pub fn test_destroy_actually_kills(force: bool) { use std::io::process::{Command, ProcessOutput, ExitStatus, ExitSignal}; @@ -129,10 +100,10 @@ pub fn test_destroy_actually_kills(force: bool) { } } -iotest!(fn test_unforced_destroy_actually_kills() { +fn test_unforced_destroy_actually_kills() { test_destroy_actually_kills(false); -}) +} -iotest!(fn test_forced_destroy_actually_kills() { +fn test_forced_destroy_actually_kills() { test_destroy_actually_kills(true); -}) +} diff --git a/src/test/run-pass/issue-12684.rs b/src/test/run-pass/issue-12684.rs index e21338746be..536a72f9cb3 100644 --- a/src/test/run-pass/issue-12684.rs +++ b/src/test/run-pass/issue-12684.rs @@ -8,18 +8,8 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. - -extern crate native; -extern crate green; -extern crate rustuv; - use std::time::Duration; -#[start] -fn start(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, main) -} - fn main() { native::task::spawn(proc() customtask()); } diff --git a/src/test/run-pass/issue-13304.rs b/src/test/run-pass/issue-13304.rs index 6ca605742ef..c868189197e 100644 --- a/src/test/run-pass/issue-13304.rs +++ b/src/test/run-pass/issue-13304.rs @@ -10,48 +10,25 @@ // ignore-fast -extern crate green; -extern crate rustuv; -extern crate native; - use std::os; use std::io; use std::str; -#[start] -fn start(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, main) -} - fn main() { let args = os::args(); let args = args.as_slice(); if args.len() > 1 && args[1].as_slice() == "child" { - if args[2].as_slice() == "green" { - child(); - } else { - let (tx, rx) = channel(); - native::task::spawn(proc() { tx.send(child()); }); - rx.recv(); - } + child(); } else { - parent("green".to_string()); - parent("native".to_string()); - let (tx, rx) = channel(); - native::task::spawn(proc() { - parent("green".to_string()); - parent("native".to_string()); - tx.send(()); - }); - rx.recv(); + parent(); } } -fn parent(flavor: String) { +fn parent() { let args = os::args(); let args = args.as_slice(); let mut p = io::process::Command::new(args[0].as_slice()) - .arg("child").arg(flavor).spawn().unwrap(); + .arg("child").spawn().unwrap(); p.stdin.get_mut_ref().write_str("test1\ntest2\ntest3").unwrap(); let out = p.wait_with_output().unwrap(); assert!(out.status.success()); diff --git a/src/test/run-pass/issue-13494.rs b/src/test/run-pass/issue-13494.rs index d8f8b979ad0..9fe41f7e024 100644 --- a/src/test/run-pass/issue-13494.rs +++ b/src/test/run-pass/issue-13494.rs @@ -11,22 +11,13 @@ // This test may not always fail, but it can be flaky if the race it used to // expose is still present. -extern crate green; -extern crate rustuv; -extern crate native; - -#[start] -fn start(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, main) -} - fn helper(rx: Receiver>) { for tx in rx.iter() { let _ = tx.send_opt(()); } } -fn test() { +fn main() { let (tx, rx) = channel(); spawn(proc() { helper(rx) }); let (snd, rcv) = channel::(); @@ -40,17 +31,3 @@ fn test() { } } } - -fn main() { - let (tx, rx) = channel(); - spawn(proc() { - tx.send(test()); - }); - rx.recv(); - - let (tx, rx) = channel(); - native::task::spawn(proc() { - tx.send(test()); - }); - rx.recv(); -} diff --git a/src/test/run-pass/issue-14456.rs b/src/test/run-pass/issue-14456.rs index 96290386ccc..bee4baf68a0 100644 --- a/src/test/run-pass/issue-14456.rs +++ b/src/test/run-pass/issue-14456.rs @@ -8,19 +8,12 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(phase)] - -#[phase(plugin, link)] -extern crate green; -extern crate native; use std::io::process; use std::io::Command; use std::io; use std::os; -green_start!(main) - fn main() { let args = os::args(); if args.len() > 1 && args.get(1).as_slice() == "child" { @@ -29,12 +22,6 @@ fn main() { test(); - let (tx, rx) = channel(); - native::task::spawn(proc() { - tx.send(test()); - }); - rx.recv(); - } fn child() { @@ -52,4 +39,3 @@ fn test() { .spawn().unwrap(); assert!(p.wait().unwrap().success()); } - diff --git a/src/test/run-pass/issue-15149.rs b/src/test/run-pass/issue-15149.rs index cb4410cc1aa..cc80232691d 100644 --- a/src/test/run-pass/issue-15149.rs +++ b/src/test/run-pass/issue-15149.rs @@ -8,18 +8,10 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(phase)] -extern crate native; -#[phase(plugin)] -extern crate green; - -use native::NativeTaskBuilder; use std::io::{TempDir, Command, fs}; use std::os; use std::task::TaskBuilder; -green_start!(main) - fn main() { // If we're the child, make sure we were invoked correctly let args = os::args(); @@ -28,11 +20,6 @@ fn main() { } test(); - let (tx, rx) = channel(); - TaskBuilder::new().native().spawn(proc() { - tx.send(test()); - }); - rx.recv(); } fn test() { diff --git a/src/test/run-pass/issue-16272.rs b/src/test/run-pass/issue-16272.rs index 86427f5e9dd..8c3d765b5ee 100644 --- a/src/test/run-pass/issue-16272.rs +++ b/src/test/run-pass/issue-16272.rs @@ -8,28 +8,14 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(phase)] -#[phase(plugin)] -extern crate green; -extern crate native; - -use native::NativeTaskBuilder; use std::io::{process, Command}; use std::os; -use std::task::TaskBuilder; - -green_start!(main) fn main() { let len = os::args().len(); if len == 1 { test(); - let (tx, rx) = channel(); - TaskBuilder::new().native().spawn(proc() { - tx.send(test()); - }); - rx.recv(); } else { assert_eq!(len, 3); } diff --git a/src/test/run-pass/process-detach.rs b/src/test/run-pass/process-detach.rs index 9d6cab42b5c..f4ba9901560 100644 --- a/src/test/run-pass/process-detach.rs +++ b/src/test/run-pass/process-detach.rs @@ -19,19 +19,12 @@ // Note that the first thing we do is put ourselves in our own process group so // we don't interfere with other running tests. -extern crate green; -extern crate rustuv; extern crate libc; use std::io::process; use std::io::process::Command; use std::io::signal::{Listener, Interrupt}; -#[start] -fn start(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, main) -} - fn main() { unsafe { libc::setsid(); } diff --git a/src/test/run-pass/tcp-accept-stress.rs b/src/test/run-pass/tcp-accept-stress.rs index 1d69568e2b8..fe882937ca0 100644 --- a/src/test/run-pass/tcp-accept-stress.rs +++ b/src/test/run-pass/tcp-accept-stress.rs @@ -13,30 +13,14 @@ // quite quickly and it takes a few seconds for the sockets to get // recycled. -#![feature(phase)] - -#[phase(plugin)] -extern crate green; -extern crate native; - use std::io::{TcpListener, Listener, Acceptor, EndOfFile, TcpStream}; use std::sync::{atomic, Arc}; -use std::task::TaskBuilder; -use native::NativeTaskBuilder; static N: uint = 8; static M: uint = 20; -green_start!(main) - fn main() { test(); - - let (tx, rx) = channel(); - TaskBuilder::new().native().spawn(proc() { - tx.send(test()); - }); - rx.recv(); } fn test() { @@ -98,4 +82,3 @@ fn test() { // Everything should have been accepted. assert_eq!(cnt.load(atomic::SeqCst), N * M); } - diff --git a/src/test/run-pass/tcp-connect-timeouts.rs b/src/test/run-pass/tcp-connect-timeouts.rs index 00906004dbf..167e89ffd30 100644 --- a/src/test/run-pass/tcp-connect-timeouts.rs +++ b/src/test/run-pass/tcp-connect-timeouts.rs @@ -20,40 +20,16 @@ #![allow(experimental)] #![reexport_test_harness_main = "test_main"] -extern crate native; -extern crate green; -extern crate rustuv; +#![allow(unused_imports)] -#[cfg(test)] #[start] -fn start(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, test_main) -} +use std::io::*; +use std::io::net::tcp::*; +use std::io::test::*; +use std::io; +use std::time::Duration; -macro_rules! iotest ( - { fn $name:ident() $b:block $(#[$a:meta])* } => ( - mod $name { - #![allow(unused_imports)] - - use std::io::*; - use std::io::net::tcp::*; - use std::io::test::*; - use std::io; - use std::time::Duration; - - fn f() $b - - $(#[$a])* #[test] fn green() { f() } - $(#[$a])* #[test] fn native() { - use native; - let (tx, rx) = channel(); - native::task::spawn(proc() { tx.send(f()) }); - rx.recv(); - } - } - ) -) - -iotest!(fn eventual_timeout() { +#[cfg_attr(target_os = "freebsd", ignore)] +fn eventual_timeout() { use native; let addr = next_test_ip4(); let host = addr.ip.to_string(); @@ -80,30 +56,29 @@ iotest!(fn eventual_timeout() { } } fail!("never timed out!"); -} #[cfg_attr(target_os = "freebsd", ignore)]) +} -iotest!(fn timeout_success() { +fn timeout_success() { let addr = next_test_ip4(); let host = addr.ip.to_string(); let port = addr.port; let _l = TcpListener::bind(host.as_slice(), port).unwrap().listen(); assert!(TcpStream::connect_timeout(addr, Duration::milliseconds(1000)).is_ok()); -}) +} -iotest!(fn timeout_error() { +fn timeout_error() { let addr = next_test_ip4(); assert!(TcpStream::connect_timeout(addr, Duration::milliseconds(1000)).is_err()); -}) +} - iotest!(fn connect_timeout_zero() { - let addr = next_test_ip4(); - assert!(TcpStream::connect_timeout(addr, Duration::milliseconds(0)).is_err()); - }) - - iotest!(fn connect_timeout_negative() { - let addr = next_test_ip4(); - assert!(TcpStream::connect_timeout(addr, Duration::milliseconds(-1)).is_err()); - }) +fn connect_timeout_zero() { + let addr = next_test_ip4(); + assert!(TcpStream::connect_timeout(addr, Duration::milliseconds(0)).is_err()); +} +fn connect_timeout_negative() { + let addr = next_test_ip4(); + assert!(TcpStream::connect_timeout(addr, Duration::milliseconds(-1)).is_err()); +} diff --git a/src/test/run-pass/tcp-stress.rs b/src/test/run-pass/tcp-stress.rs index 864d005f373..506e1a9bbe7 100644 --- a/src/test/run-pass/tcp-stress.rs +++ b/src/test/run-pass/tcp-stress.rs @@ -16,8 +16,6 @@ #[phase(plugin, link)] extern crate log; extern crate libc; -extern crate green; -extern crate rustuv; extern crate debug; use std::io::net::tcp::{TcpListener, TcpStream}; @@ -25,11 +23,6 @@ use std::io::{Acceptor, Listener}; use std::task::TaskBuilder; use std::time::Duration; -#[start] -fn start(argc: int, argv: *const *const u8) -> int { - green::start(argc, argv, rustuv::event_loop, main) -} - fn main() { // This test has a chance to time out, try to not let it time out spawn(proc() {