diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-02-18 16:34:42 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-02-20 18:58:04 -0800 |
| commit | 4220dcf1e9de2c2d2c329ecefa80108b63a69145 (patch) | |
| tree | bd70397f064225f8d38b692f5f8120ed9e732d9e /src/libstd | |
| parent | fbc95ba0184a417ff6d8b2b417f210c960e142cc (diff) | |
| download | rust-4220dcf1e9de2c2d2c329ecefa80108b63a69145.tar.gz rust-4220dcf1e9de2c2d2c329ecefa80108b63a69145.zip | |
core: New task API
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/test.rs | 20 |
1 files changed, 6 insertions, 14 deletions
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<monitor_msg>) { 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 { |
