File tree 13 files changed +857
-248
lines changed
13 files changed +857
-248
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 @@ -81,6 +81,7 @@ if [ -n "${QEMU:-}" ]; then
81
81
fi
82
82
83
83
cmd=" cargo test --target $target ${LIBC_CI_ZBUILD_STD+" -Zbuild-std" } "
84
+ test_flags=" --skip check_style"
84
85
85
86
# Run tests in the `libc` crate
86
87
case " $target " in
@@ -101,25 +102,31 @@ if [ "$target" = "s390x-unknown-linux-gnu" ]; then
101
102
passed=0
102
103
until [ $n -ge $N ]; do
103
104
if [ " $passed " = " 0" ]; then
104
- if $cmd --no-default-features; then
105
+ # shellcheck disable=SC2086
106
+ if $cmd --no-default-features -- $test_flags ; then
105
107
passed=$(( passed+ 1 ))
106
108
continue
107
109
fi
108
110
elif [ " $passed " = " 1" ]; then
109
- if $cmd ; then
111
+ # shellcheck disable=SC2086
112
+ if $cmd -- $test_flags ; then
110
113
passed=$(( passed+ 1 ))
111
114
continue
112
115
fi
113
116
elif [ " $passed " = " 2" ]; then
114
- if $cmd --features extra_traits; then
117
+ # shellcheck disable=SC2086
118
+ if $cmd --features extra_traits -- $test_flags ; then
115
119
break
116
120
fi
117
121
fi
118
122
n=$(( n+ 1 ))
119
123
sleep 1
120
124
done
121
125
else
122
- $cmd --no-default-features
123
- $cmd
124
- $cmd --features extra_traits
126
+ # shellcheck disable=SC2086
127
+ $cmd --no-default-features -- $test_flags
128
+ # shellcheck disable=SC2086
129
+ $cmd -- $test_flags
130
+ # shellcheck disable=SC2086
131
+ $cmd --features extra_traits -- $test_flags
125
132
fi
Original file line number Diff line number Diff line change 1
1
use std:: env;
2
- use std:: process:: Command ;
3
2
use std:: path:: { Path , PathBuf } ;
3
+ use std:: process:: Command ;
4
4
5
5
fn main ( ) {
6
6
let args = env:: args_os ( )
7
7
. skip ( 1 )
8
- . filter ( |arg| arg != "--quiet" )
8
+ . filter ( |arg| arg != "--quiet" && arg != "--skip" && arg != "check_style" )
9
9
. collect :: < Vec < _ > > ( ) ;
10
10
assert_eq ! ( args. len( ) , 1 ) ;
11
11
let test = PathBuf :: from ( & args[ 0 ] ) ;
@@ -36,14 +36,16 @@ fn main() {
36
36
let stdout = String :: from_utf8_lossy ( & output. stdout ) ;
37
37
let stderr = String :: from_utf8_lossy ( & output. stderr ) ;
38
38
39
- println ! ( "status: {} \n stdout --- \n {} \n stderr --- \n {}" ,
40
- output . status ,
41
- stdout,
42
- stderr ) ;
39
+ println ! (
40
+ "status: {} \n stdout --- \n {} \n stderr --- \n {}" ,
41
+ output . status , stdout, stderr
42
+ ) ;
43
43
44
- if !stderr. lines ( ) . any ( |l| ( l. starts_with ( "PASSED " ) && l. contains ( " tests" ) ) || l. starts_with ( "test result: ok" ) )
45
- && !stdout. lines ( ) . any ( |l| ( l. starts_with ( "PASSED " ) && l. contains ( " tests" ) ) || l. starts_with ( "test result: ok" ) )
46
- {
44
+ if !stderr. lines ( ) . any ( |l| {
45
+ ( l. starts_with ( "PASSED " ) && l. contains ( " tests" ) ) || l. starts_with ( "test result: ok" )
46
+ } ) && !stdout. lines ( ) . any ( |l| {
47
+ ( l. starts_with ( "PASSED " ) && l. contains ( " tests" ) ) || l. starts_with ( "test result: ok" )
48
+ } ) {
47
49
panic ! ( "failed to find successful test run" ) ;
48
50
} ;
49
51
}
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ if [ -n "${CI:-}" ]; then
9
9
check=" --check"
10
10
fi
11
11
12
- rustc ci/style.rs && ./ style src
12
+ cargo test --manifest-path libc-test/Cargo.toml --test style -- --nocapture
13
13
14
14
command -v rustfmt
15
15
rustfmt -V
Original file line number Diff line number Diff line change @@ -15,6 +15,12 @@ A test crate for the libc crate.
15
15
[dependencies ]
16
16
libc = { path = " .." , version = " 1.0.0-alpha.1" , default-features = false }
17
17
18
+ [dev-dependencies ]
19
+ syn = { version = " 2.0.91" , features = [" full" , " visit" ] }
20
+ proc-macro2 = { version = " 1.0.92" , features = [" span-locations" ] }
21
+ glob = " 0.3.2"
22
+ annotate-snippets = { version = " 0.11.5" , features = [" testing-colors" ] }
23
+
18
24
[build-dependencies ]
19
25
cc = " 1.0.83"
20
26
# FIXME: Use fork ctest until the maintainer gets back.
@@ -90,3 +96,13 @@ harness = false
90
96
name = " primitive_types"
91
97
path = " test/primitive_types.rs"
92
98
harness = true
99
+
100
+ [[test ]]
101
+ name = " style"
102
+ path = " test/check_style.rs"
103
+ harness = true
104
+
105
+ [[test ]]
106
+ name = " style_tests"
107
+ path = " test/style_tests.rs"
108
+ 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