diff options
| author | bors <bors@rust-lang.org> | 2013-05-02 00:15:46 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-05-02 00:15:46 -0700 |
| commit | d1f7220219c722665e15b88aeecfc78601fa4f22 (patch) | |
| tree | baef8c898d0012ecfd8d5a1dd4252eea57a1485b | |
| parent | 5458d7dddda38f063220a19191373faecf11065f (diff) | |
| parent | 9862cf703b8a867b13e674f892f7059b09fe59e0 (diff) | |
| download | rust-d1f7220219c722665e15b88aeecfc78601fa4f22.tar.gz rust-d1f7220219c722665e15b88aeecfc78601fa4f22.zip | |
auto merge of #6111 : pnkfelix/rust/issue4391-rustc-should-not-silently-skip-erroneous-tests, r=pnkfelix
...e. Fixes #4391.
| -rw-r--r-- | src/libcore/hashmap.rs | 4 | ||||
| -rw-r--r-- | src/libcore/repr.rs | 2 | ||||
| -rw-r--r-- | src/libcore/task/mod.rs | 2 | ||||
| -rw-r--r-- | src/librustc/front/test.rs | 11 | ||||
| -rw-r--r-- | src/libstd/cmp.rs | 2 | ||||
| -rw-r--r-- | src/libstd/deque.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/parse/mod.rs | 2 |
7 files changed, 16 insertions, 9 deletions
diff --git a/src/libcore/hashmap.rs b/src/libcore/hashmap.rs index 41f4f34dc19..9b82a8dad05 100644 --- a/src/libcore/hashmap.rs +++ b/src/libcore/hashmap.rs @@ -833,7 +833,7 @@ pub impl <T:Hash + Eq> HashSet<T> { } } -#[test] +#[cfg(test)] mod test_map { use container::{Container, Map, Set}; use option::{None, Some}; @@ -1009,7 +1009,7 @@ mod test_map { } } -#[test] +#[cfg(test)] mod test_set { use super::*; use container::{Container, Map, Set}; diff --git a/src/libcore/repr.rs b/src/libcore/repr.rs index 03e44e00d88..29b8400706c 100644 --- a/src/libcore/repr.rs +++ b/src/libcore/repr.rs @@ -673,7 +673,7 @@ pub fn write_repr<T>(writer: @Writer, object: &T) { } } -#[test] +#[cfg(test)] struct P {a: int, b: float} #[test] diff --git a/src/libcore/task/mod.rs b/src/libcore/task/mod.rs index 2a4817727f4..0e97c101dc6 100644 --- a/src/libcore/task/mod.rs +++ b/src/libcore/task/mod.rs @@ -797,7 +797,7 @@ fn test_run_basic() { po.recv(); } -#[test] +#[cfg(test)] struct Wrapper { mut f: Option<Chan<()>> } diff --git a/src/librustc/front/test.rs b/src/librustc/front/test.rs index 4506feece2b..ddd702e7d69 100644 --- a/src/librustc/front/test.rs +++ b/src/librustc/front/test.rs @@ -141,7 +141,7 @@ fn fold_item(cx: @mut TestCtxt, i: @ast::item, fld: @fold::ast_fold) debug!("current path: %s", ast_util::path_name_i(copy cx.path, cx.sess.parse_sess.interner)); - if is_test_fn(i) || is_bench_fn(i) { + if is_test_fn(cx, i) || is_bench_fn(i) { match i.node { ast::item_fn(_, purity, _, _, _) if purity == ast::unsafe_fn => { let sess = cx.sess; @@ -169,7 +169,7 @@ fn fold_item(cx: @mut TestCtxt, i: @ast::item, fld: @fold::ast_fold) return res; } -fn is_test_fn(i: @ast::item) -> bool { +fn is_test_fn(cx: @mut TestCtxt, i: @ast::item) -> bool { let has_test_attr = !attr::find_attrs_by_name(i.attrs, ~"test").is_empty(); @@ -188,6 +188,13 @@ fn is_test_fn(i: @ast::item) -> bool { } } + if has_test_attr && !has_test_signature(i) { + let sess = cx.sess; + sess.span_err( + i.span, + ~"functions used as tests must have signature fn() -> ()." + ); + } return has_test_attr && has_test_signature(i); } diff --git a/src/libstd/cmp.rs b/src/libstd/cmp.rs index 5d7f64a7c8f..ea3793c1374 100644 --- a/src/libstd/cmp.rs +++ b/src/libstd/cmp.rs @@ -64,7 +64,7 @@ fn test_fuzzy_eq_eps() { assert!(!(&1.5f).fuzzy_eq_eps(&0.9, &0.5)); } -#[test] +#[cfg(test)] mod test_complex{ use cmp::*; diff --git a/src/libstd/deque.rs b/src/libstd/deque.rs index 5d52bb7c081..8a310a9f52b 100644 --- a/src/libstd/deque.rs +++ b/src/libstd/deque.rs @@ -353,7 +353,7 @@ mod tests { assert!(*deq.get(3) == d); } - #[test] + #[cfg(test)] fn test_parameterized<T:Copy + Eq + Durable>(a: T, b: T, c: T, d: T) { let mut deq = Deque::new(); assert!(deq.len() == 0); diff --git a/src/libsyntax/parse/mod.rs b/src/libsyntax/parse/mod.rs index 74e4f562ce5..4f1d41a4a7a 100644 --- a/src/libsyntax/parse/mod.rs +++ b/src/libsyntax/parse/mod.rs @@ -418,7 +418,7 @@ mod test { new_parser_from_source_str(ps,~[],~"bogofile",source_str) } - #[test] fn to_json_str<E : Encodable<std::json::Encoder>>(val: @E) -> ~str { + #[cfg(test)] fn to_json_str<E : Encodable<std::json::Encoder>>(val: @E) -> ~str { do io::with_str_writer |writer| { val.encode(~std::json::Encoder(writer)); } |
