From 4220dcf1e9de2c2d2c329ecefa80108b63a69145 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sat, 18 Feb 2012 16:34:42 -0800 Subject: core: New task API --- src/libstd/test.rs | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/test.rs b/src/libstd/test.rs index 003949a9180..9f25916778f 100644 --- a/src/libstd/test.rs +++ b/src/libstd/test.rs @@ -316,13 +316,12 @@ fn run_test(+test: test_desc, monitor_ch: comm::chan) { task::spawn {|| let testfn = test.fn; - let test_task = task::spawn_joinable {|| - configure_test_task(); - testfn(); - }; - - let task_result = task::join(test_task); - let test_result = calc_result(test, task_result == task::tr_success); + let builder = task::mk_task_builder(); + let result_future = task::future_result(builder); + task::unsupervise(builder); + task::run(builder, testfn); + let task_result = future::get(result_future); + let test_result = calc_result(test, task_result == task::success); comm::send(monitor_ch, (test, test_result)); }; } @@ -337,13 +336,6 @@ fn calc_result(test: test_desc, task_succeeded: bool) -> test_result { } } -// Call from within a test task to make sure it's set up correctly -fn configure_test_task() { - // If this task fails we don't want that failure to propagate to the - // test runner or else we couldn't keep running tests - task::unsupervise(); -} - #[cfg(test)] mod tests { -- cgit 1.4.1-3-g733a5