File tree Expand file tree Collapse file tree 3 files changed +36
-0
lines changed
Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -51,6 +51,7 @@ pub mod pal;
5151pub mod deps;
5252pub mod ui_tests;
5353pub mod unstable_book;
54+ pub mod libcoretest;
5455
5556fn filter_dirs ( path : & Path ) -> bool {
5657 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() {
4141 features:: check ( & path, & mut bad, quiet) ;
4242 pal:: check ( & path, & mut bad) ;
4343 unstable_book:: check ( & path, & mut bad) ;
44+ libcoretest:: check ( & path, & mut bad) ;
4445 if !args. iter ( ) . any ( |s| * s == "--no-vendor" ) {
4546 deps:: check ( & path, & mut bad) ;
4647 }
You can’t perform that action at this time.
0 commit comments