auto merge of #10204 : alexcrichton/rust/better-names, r=brson
Tests now have the same name as the test that they're running (to allow for easier diagnosing of failure sources), and the main task is now specially named `<main>` instead of `<unnamed>`. Closes #10195 Closes #10073
This commit is contained in:
commit
fa2bb970d1
@ -869,6 +869,10 @@ fn run_test_inner(desc: TestDesc,
|
||||
do task::spawn {
|
||||
let mut task = task::task();
|
||||
task.unlinked();
|
||||
task.name(match desc.name {
|
||||
DynTestName(ref name) => SendStrOwned(name.clone()),
|
||||
StaticTestName(name) => SendStrStatic(name),
|
||||
});
|
||||
let result_future = task.future_result();
|
||||
task.spawn(testfn_cell.take());
|
||||
|
||||
|
@ -68,6 +68,7 @@
|
||||
use rt::sleeper_list::SleeperList;
|
||||
use rt::task::UnwindResult;
|
||||
use rt::task::{Task, SchedTask, GreenTask, Sched};
|
||||
use send_str::SendStrStatic;
|
||||
use unstable::atomics::{AtomicInt, AtomicBool, SeqCst};
|
||||
use unstable::sync::UnsafeArc;
|
||||
use vec::{OwnedVector, MutableVector, ImmutableVector};
|
||||
@ -373,6 +374,7 @@ fn run_(main: ~fn(), use_main_sched: bool) -> int {
|
||||
// run the main task in one of our threads.
|
||||
|
||||
let mut main_task = ~Task::new_root(&mut scheds[0].stack_pool, None, main.take());
|
||||
main_task.name = Some(SendStrStatic("<main>"));
|
||||
main_task.death.on_exit = Some(on_exit.take());
|
||||
let main_task_cell = Cell::new(main_task);
|
||||
|
||||
@ -410,6 +412,7 @@ fn run_(main: ~fn(), use_main_sched: bool) -> int {
|
||||
let home = Sched(main_sched.make_handle());
|
||||
let mut main_task = ~Task::new_root_homed(&mut main_sched.stack_pool, None,
|
||||
home, main.take());
|
||||
main_task.name = Some(SendStrStatic("<main>"));
|
||||
main_task.death.on_exit = Some(on_exit.take());
|
||||
rtdebug!("bootstrapping main_task");
|
||||
|
||||
|
15
src/test/run-fail/main-fail.rs
Normal file
15
src/test/run-fail/main-fail.rs
Normal file
@ -0,0 +1,15 @@
|
||||
// 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 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// error-pattern:task '<main>' failed at
|
||||
|
||||
fn main() {
|
||||
fail!()
|
||||
}
|
18
src/test/run-fail/test-fail.rs
Normal file
18
src/test/run-fail/test-fail.rs
Normal file
@ -0,0 +1,18 @@
|
||||
// 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 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// error-pattern:task 'test_foo' failed at
|
||||
// compile-flags: --test
|
||||
|
||||
#[test]
|
||||
fn test_foo() {
|
||||
fail!()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user