11#![ feature( test) ]
22
33use compiletest_rs as compiletest;
4- use libtest :: TestDescAndFn ;
4+ extern crate test ;
55
66use std:: env:: { set_var, var} ;
77use std:: ffi:: OsStr ;
@@ -74,12 +74,16 @@ fn run_mode(mode: &str, dir: PathBuf) {
7474 compiletest:: run_tests ( & cfg) ;
7575}
7676
77- #[ warn ( clippy:: identity_conversion) ]
78- fn run_ui_toml_tests ( config : & compiletest:: Config , mut tests : Vec < TestDescAndFn > ) -> Result < bool , io:: Error > {
77+ #[ allow ( clippy:: identity_conversion) ]
78+ fn run_ui_toml_tests ( config : & compiletest:: Config , mut tests : Vec < test :: TestDescAndFn > ) -> Result < bool , io:: Error > {
7979 let mut result = true ;
8080 let opts = compiletest:: test_opts ( config) ;
8181 for dir in fs:: read_dir ( & config. src_base ) ? {
82- let dir_path = dir. unwrap ( ) . path ( ) ;
82+ let dir = dir?;
83+ if !dir. file_type ( ) ?. is_dir ( ) {
84+ continue ;
85+ }
86+ let dir_path = dir. path ( ) ;
8387 set_var ( "CARGO_MANIFEST_DIR" , & dir_path) ;
8488 for file in fs:: read_dir ( & dir_path) ? {
8589 let file = file?;
@@ -98,25 +102,9 @@ fn run_ui_toml_tests(config: &compiletest::Config, mut tests: Vec<TestDescAndFn>
98102 let test_name = compiletest:: make_test_name ( & config, & paths) ;
99103 let index = tests
100104 . iter ( )
101- . position ( |test| test. desc . name . to_string ( ) == test_name. to_string ( ) )
105+ . position ( |test| test. desc . name == test_name)
102106 . expect ( "The test should be in there" ) ;
103- let opts = libtest:: TestOpts {
104- list : opts. list ,
105- filter : opts. filter . clone ( ) ,
106- filter_exact : opts. filter_exact ,
107- exclude_should_panic : Default :: default ( ) ,
108- run_ignored : libtest:: RunIgnored :: No ,
109- run_tests : opts. run_tests ,
110- bench_benchmarks : opts. bench_benchmarks ,
111- logfile : opts. logfile . clone ( ) ,
112- nocapture : opts. nocapture ,
113- color : libtest:: ColorConfig :: AutoColor ,
114- format : libtest:: OutputFormat :: Pretty ,
115- test_threads : opts. test_threads ,
116- skip : opts. skip . clone ( ) ,
117- options : libtest:: Options :: new ( ) ,
118- } ;
119- result &= libtest:: run_tests_console ( & opts, vec ! [ tests. swap_remove( index) ] ) ?;
107+ result &= test:: run_tests_console ( & opts, vec ! [ tests. swap_remove( index) ] ) ?;
120108 }
121109 }
122110 Ok ( result)
@@ -127,22 +115,6 @@ fn run_ui_toml() {
127115 let config = config ( "ui" , path) ;
128116 let tests = compiletest:: make_tests ( & config) ;
129117
130- let tests = tests
131- . into_iter ( )
132- . map ( |test| {
133- libtest:: TestDescAndFn {
134- desc : libtest:: TestDesc {
135- name : libtest:: TestName :: DynTestName ( test. desc . name . to_string ( ) ) ,
136- ignore : test. desc . ignore ,
137- allow_fail : test. desc . allow_fail ,
138- should_panic : libtest:: ShouldPanic :: No ,
139- } ,
140- // oli obk giving up
141- testfn : unsafe { std:: mem:: transmute ( test. testfn ) } ,
142- }
143- } )
144- . collect ( ) ;
145-
146118 let res = run_ui_toml_tests ( & config, tests) ;
147119 match res {
148120 Ok ( true ) => { } ,
0 commit comments