File tree 3 files changed +36
-0
lines changed
3 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -51,6 +51,7 @@ pub mod pal;
51
51
pub mod deps;
52
52
pub mod ui_tests;
53
53
pub mod unstable_book;
54
+ pub mod libcoretest;
54
55
55
56
fn filter_dirs ( path : & Path ) -> bool {
56
57
let skip = [
Original file line number Diff line number Diff line change
1
+ // Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ //! Tidy check to ensure `#[test]` is not used directly inside `libcore`.
12
+ //!
13
+ //! `#![no_core]` libraries cannot be tested directly due to duplicating lang
14
+ //! item. All tests must be written externally in `libcore/tests`.
15
+
16
+ use std:: path:: Path ;
17
+ use std:: fs:: read_to_string;
18
+
19
+ pub fn check ( path : & Path , bad : & mut bool ) {
20
+ let libcore_path = path. join ( "libcore" ) ;
21
+ super :: walk (
22
+ & libcore_path,
23
+ & mut |subpath| t ! ( subpath. strip_prefix( & libcore_path) ) . starts_with ( "tests" ) ,
24
+ & mut |subpath| {
25
+ if t ! ( read_to_string( subpath) ) . contains ( "#[test]" ) {
26
+ tidy_error ! (
27
+ bad,
28
+ "{} contains #[test]; libcore tests must be placed inside `src/libcore/tests/`" ,
29
+ subpath. display( )
30
+ ) ;
31
+ }
32
+ } ,
33
+ ) ;
34
+ }
Original file line number Diff line number Diff line change @@ -41,6 +41,7 @@ fn main() {
41
41
features:: check ( & path, & mut bad, quiet) ;
42
42
pal:: check ( & path, & mut bad) ;
43
43
unstable_book:: check ( & path, & mut bad) ;
44
+ libcoretest:: check ( & path, & mut bad) ;
44
45
if !args. iter ( ) . any ( |s| * s == "--no-vendor" ) {
45
46
deps:: check ( & path, & mut bad) ;
46
47
}
You can’t perform that action at this time.
0 commit comments