File tree Expand file tree Collapse file tree 5 files changed +816
-1
lines changed Expand file tree Collapse file tree 5 files changed +816
-1
lines changed Original file line number Diff line number Diff line change 1
1
target
2
2
Cargo.lock
3
3
* ~
4
- style
Original file line number Diff line number Diff line change @@ -17,6 +17,12 @@ path = ".."
17
17
version = " 0.2.169"
18
18
default-features = false
19
19
20
+ [dev-dependencies ]
21
+ syn = { version = " 2.0.91" , features = [" full" , " visit" ] }
22
+ proc-macro2 = { version = " 1.0.92" , features = [" span-locations" ] }
23
+ glob = " 0.3.2"
24
+ annotate-snippets = { version = " 0.11.5" , features = [" testing-colors" ] }
25
+
20
26
[build-dependencies ]
21
27
cc = " 1.0.83"
22
28
# FIXME: Use fork ctest until the maintainer gets back.
@@ -93,3 +99,13 @@ harness = false
93
99
name = " primitive_types"
94
100
path = " test/primitive_types.rs"
95
101
harness = true
102
+
103
+ [[test ]]
104
+ name = " style"
105
+ path = " test/check_style.rs"
106
+ harness = true
107
+
108
+ [[test ]]
109
+ name = " style_tests"
110
+ path = " test/style_tests.rs"
111
+ harness = true
Original file line number Diff line number Diff line change
1
+ //! Simple script to verify the coding style of this library.
2
+ //!
3
+ //! ## How to run
4
+ //!
5
+ //! The first argument to this script is the directory to run on, so running
6
+ //! this script should be as simple as:
7
+ //!
8
+ //! ```notrust
9
+ //! cargo test --test style
10
+ //! ```
11
+
12
+ pub mod style;
13
+
14
+ use std:: env;
15
+ use std:: path:: Path ;
16
+
17
+ use style:: { Result , StyleChecker } ;
18
+
19
+ #[ test]
20
+ fn check_style ( ) {
21
+ let root_dir = Path :: new ( env ! ( "CARGO_MANIFEST_DIR" ) ) . join ( "../src" ) ;
22
+ walk ( & root_dir) . unwrap ( ) ;
23
+ eprintln ! ( "good style!" ) ;
24
+ }
25
+
26
+ fn walk ( root_dir : & Path ) -> Result < ( ) > {
27
+ let mut style_checker = StyleChecker :: new ( ) ;
28
+
29
+ for entry in glob:: glob ( & format ! (
30
+ "{}/**/*.rs" ,
31
+ root_dir. to_str( ) . expect( "dir should be valid UTF-8" )
32
+ ) ) ? {
33
+ let entry = entry?;
34
+
35
+ let name = entry
36
+ . file_name ( )
37
+ . expect ( "file name should not end in .." )
38
+ . to_str ( )
39
+ . expect ( "file name should be valid UTF-8" ) ;
40
+ if let "lib.rs" | "macros.rs" = & name[ ..] {
41
+ continue ;
42
+ }
43
+
44
+ let path = entry. as_path ( ) ;
45
+ style_checker. check_file ( path) ?;
46
+ style_checker. reset_state ( ) ;
47
+ }
48
+
49
+ style_checker. finalize ( )
50
+ }
You can’t perform that action at this time.
0 commit comments