11use super :: build_sysroot;
22use super :: config;
3+ use super :: prepare;
34use super :: rustc_info:: get_wrapper_file_name;
45use super :: utils:: { cargo_command, hyperfine_command, spawn_and_wait, spawn_and_wait_with_input} ;
56use build_system:: SysrootKind ;
@@ -217,7 +218,7 @@ const BASE_SYSROOT_SUITE: &[TestCase] = &[
217218
218219const EXTENDED_SYSROOT_SUITE : & [ TestCase ] = & [
219220 TestCase :: new ( "test.rust-random/rand" , & |runner| {
220- runner. in_dir ( [ "rand" ] , |runner| {
221+ runner. in_dir ( prepare :: RAND . source_dir ( ) , |runner| {
221222 runner. run_cargo ( "clean" , [ ] ) ;
222223
223224 if runner. host_triple == runner. target_triple {
@@ -230,7 +231,7 @@ const EXTENDED_SYSROOT_SUITE: &[TestCase] = &[
230231 } ) ;
231232 } ) ,
232233 TestCase :: new ( "bench.simple-raytracer" , & |runner| {
233- runner. in_dir ( [ "simple-raytracer" ] , |runner| {
234+ runner. in_dir ( prepare :: SIMPLE_RAYTRACER . source_dir ( ) , |runner| {
234235 let run_runs = env:: var ( "RUN_RUNS" ) . unwrap_or ( "10" . to_string ( ) ) . parse ( ) . unwrap ( ) ;
235236
236237 if runner. host_triple == runner. target_triple {
@@ -273,19 +274,28 @@ const EXTENDED_SYSROOT_SUITE: &[TestCase] = &[
273274 } ) ;
274275 } ) ,
275276 TestCase :: new ( "test.libcore" , & |runner| {
276- runner. in_dir ( [ "build_sysroot" , "sysroot_src" , "library" , "core" , "tests" ] , |runner| {
277- runner. run_cargo ( "clean" , [ ] ) ;
277+ runner. in_dir (
278+ std:: env:: current_dir ( )
279+ . unwrap ( )
280+ . join ( "build_sysroot" )
281+ . join ( "sysroot_src" )
282+ . join ( "library" )
283+ . join ( "core" )
284+ . join ( "tests" ) ,
285+ |runner| {
286+ runner. run_cargo ( "clean" , [ ] ) ;
278287
279- if runner. host_triple == runner. target_triple {
280- runner. run_cargo ( "test" , [ ] ) ;
281- } else {
282- eprintln ! ( "Cross-Compiling: Not running tests" ) ;
283- runner. run_cargo ( "build" , [ "--tests" ] ) ;
284- }
285- } ) ;
288+ if runner. host_triple == runner. target_triple {
289+ runner. run_cargo ( "test" , [ ] ) ;
290+ } else {
291+ eprintln ! ( "Cross-Compiling: Not running tests" ) ;
292+ runner. run_cargo ( "build" , [ "--tests" ] ) ;
293+ }
294+ } ,
295+ ) ;
286296 } ) ,
287297 TestCase :: new ( "test.regex-shootout-regex-dna" , & |runner| {
288- runner. in_dir ( [ "regex" ] , |runner| {
298+ runner. in_dir ( prepare :: REGEX . source_dir ( ) , |runner| {
289299 runner. run_cargo ( "clean" , [ ] ) ;
290300
291301 // newer aho_corasick versions throw a deprecation warning
@@ -336,7 +346,7 @@ const EXTENDED_SYSROOT_SUITE: &[TestCase] = &[
336346 } ) ;
337347 } ) ,
338348 TestCase :: new ( "test.regex" , & |runner| {
339- runner. in_dir ( [ "regex" ] , |runner| {
349+ runner. in_dir ( prepare :: REGEX . source_dir ( ) , |runner| {
340350 runner. run_cargo ( "clean" , [ ] ) ;
341351
342352 // newer aho_corasick versions throw a deprecation warning
@@ -367,7 +377,7 @@ const EXTENDED_SYSROOT_SUITE: &[TestCase] = &[
367377 } ) ;
368378 } ) ,
369379 TestCase :: new ( "test.portable-simd" , & |runner| {
370- runner. in_dir ( [ "portable-simd" ] , |runner| {
380+ runner. in_dir ( prepare :: PORTABLE_SIMD . source_dir ( ) , |runner| {
371381 runner. run_cargo ( "clean" , [ ] ) ;
372382 runner. run_cargo ( "build" , [ "--all-targets" , "--target" , & runner. target_triple ] ) ;
373383
@@ -506,16 +516,8 @@ impl TestRunner {
506516 }
507517 }
508518
509- fn in_dir < ' a , I , F > ( & self , dir : I , callback : F )
510- where
511- I : IntoIterator < Item = & ' a str > ,
512- F : FnOnce ( & TestRunner ) ,
513- {
519+ fn in_dir ( & self , new : impl AsRef < Path > , callback : impl FnOnce ( & TestRunner ) ) {
514520 let current = env:: current_dir ( ) . unwrap ( ) ;
515- let mut new = current. clone ( ) ;
516- for d in dir {
517- new. push ( d) ;
518- }
519521
520522 env:: set_current_dir ( new) . unwrap ( ) ;
521523 callback ( self ) ;
0 commit comments