@@ -3785,10 +3785,13 @@ impl<'test> TestCx<'test> {
3785
3785
debug ! ( ?support_lib_deps) ;
3786
3786
debug ! ( ?support_lib_deps_deps) ;
3787
3787
3788
- let mut host_dylib_env_paths = String :: new ( ) ;
3789
- host_dylib_env_paths. push_str ( & cwd. join ( & self . config . compile_lib_path ) . to_string_lossy ( ) ) ;
3790
- host_dylib_env_paths. push ( ':' ) ;
3791
- host_dylib_env_paths. push_str ( & env:: var ( dylib_env_var ( ) ) . unwrap ( ) ) ;
3788
+ let orig_dylib_env_paths =
3789
+ Vec :: from_iter ( env:: split_paths ( & env:: var ( dylib_env_var ( ) ) . unwrap ( ) ) ) ;
3790
+
3791
+ let mut host_dylib_env_paths = Vec :: new ( ) ;
3792
+ host_dylib_env_paths. push ( cwd. join ( & self . config . compile_lib_path ) ) ;
3793
+ host_dylib_env_paths. extend ( orig_dylib_env_paths. iter ( ) . cloned ( ) ) ;
3794
+ let host_dylib_env_paths = env:: join_paths ( host_dylib_env_paths) . unwrap ( ) ;
3792
3795
3793
3796
let mut cmd = Command :: new ( & self . config . rustc_path ) ;
3794
3797
cmd. arg ( "-o" )
@@ -3834,19 +3837,15 @@ impl<'test> TestCx<'test> {
3834
3837
// Finally, we need to run the recipe binary to build and run the actual tests.
3835
3838
debug ! ( ?recipe_bin) ;
3836
3839
3837
- let mut dylib_env_paths = String :: new ( ) ;
3838
- dylib_env_paths. push_str ( & env:: var ( dylib_env_var ( ) ) . unwrap ( ) ) ;
3839
- dylib_env_paths. push ( ':' ) ;
3840
- dylib_env_paths. push_str ( & support_lib_path. parent ( ) . unwrap ( ) . to_string_lossy ( ) ) ;
3841
- dylib_env_paths. push ( ':' ) ;
3842
- dylib_env_paths. push_str (
3843
- & stage_std_path. join ( "rustlib" ) . join ( & self . config . host ) . join ( "lib" ) . to_string_lossy ( ) ,
3844
- ) ;
3840
+ let mut dylib_env_paths = orig_dylib_env_paths. clone ( ) ;
3841
+ dylib_env_paths. push ( support_lib_path. parent ( ) . unwrap ( ) . to_path_buf ( ) ) ;
3842
+ dylib_env_paths. push ( stage_std_path. join ( "rustlib" ) . join ( & self . config . host ) . join ( "lib" ) ) ;
3843
+ let dylib_env_paths = env:: join_paths ( dylib_env_paths) . unwrap ( ) ;
3845
3844
3846
- let mut target_rpath_env_path = String :: new ( ) ;
3847
- target_rpath_env_path. push_str ( & tmpdir. to_string_lossy ( ) ) ;
3848
- target_rpath_env_path. push ( ':' ) ;
3849
- target_rpath_env_path. push_str ( & dylib_env_paths ) ;
3845
+ let mut target_rpath_env_path = Vec :: new ( ) ;
3846
+ target_rpath_env_path. push ( & tmpdir) ;
3847
+ target_rpath_env_path. extend ( & orig_dylib_env_paths ) ;
3848
+ let target_rpath_env_path = env :: join_paths ( target_rpath_env_path ) . unwrap ( ) ;
3850
3849
3851
3850
let mut cmd = Command :: new ( & recipe_bin) ;
3852
3851
cmd. current_dir ( & self . testpaths . file )
0 commit comments