@@ -1191,14 +1191,9 @@ pub mod test {
11911191 related_information_support : true ,
11921192 } ;
11931193 let mut config = config:: Config :: default ( ) ;
1194- let cur_dir = env:: current_dir ( ) . unwrap ( ) ;
1195- let target_dir = env:: var ( "CARGO_TARGET_DIR" )
1196- . map ( |s| Path :: new ( & s) . to_owned ( ) )
1197- . unwrap_or_else ( |_| cur_dir. join ( "target" ) ) ;
11981194
1199- let working_dir = target_dir. join ( "tests" ) . join ( "hover" ) . join ( "working_dir" ) ;
1200-
1201- config. target_dir = config:: Inferrable :: Specified ( Some ( working_dir. clone ( ) ) ) ;
1195+ let temp_dir = tempfile:: tempdir ( ) . unwrap ( ) . into_path ( ) ;
1196+ config. target_dir = config:: Inferrable :: Specified ( Some ( temp_dir. clone ( ) ) ) ;
12021197
12031198 let config = Arc :: new ( Mutex :: new ( config) ) ;
12041199 let analysis = Arc :: new ( analysis:: AnalysisHost :: new ( analysis:: Target :: Debug ) ) ;
@@ -1220,7 +1215,7 @@ pub mod test {
12201215 TooltipTestHarness {
12211216 ctx,
12221217 project_dir,
1223- working_dir,
1218+ working_dir : temp_dir
12241219 }
12251220 }
12261221
@@ -2056,7 +2051,6 @@ pub mod test {
20562051 fn test_tooltip ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
20572052 let _ = env_logger:: try_init ( ) ;
20582053 use self :: test:: { LineOutput , Test , TooltipTestHarness } ;
2059- use std:: env;
20602054
20612055 let tests = vec ! [
20622056 Test :: new( "test_tooltip_01.rs" , 13 , 11 ) ,
@@ -2112,14 +2106,11 @@ pub mod test {
21122106 Test :: new( "test_tooltip_mod_use_external.rs" , 12 , 12 ) ,
21132107 ] ;
21142108
2115- let cwd = env:: current_dir ( ) ?;
21162109 let out = LineOutput :: default ( ) ;
21172110 let proj_dir = FIXTURES_DIR . join ( "hover" ) ;
2118- let save_dir = cwd
2119- . join ( "target" )
2120- . join ( "tests" )
2121- . join ( "hover" )
2122- . join ( "save_data" ) ;
2111+
2112+ let save_dir_guard = tempfile:: tempdir ( ) . unwrap ( ) ;
2113+ let save_dir = save_dir_guard. path ( ) . to_owned ( ) ;
21232114 let load_dir = proj_dir. join ( "save_data" ) ;
21242115
21252116 let harness = TooltipTestHarness :: new ( proj_dir, & out) ;
@@ -2145,7 +2136,6 @@ pub mod test {
21452136 fn test_tooltip_std ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
21462137 let _ = env_logger:: try_init ( ) ;
21472138 use self :: test:: { LineOutput , Test , TooltipTestHarness } ;
2148- use std:: env;
21492139
21502140 let tests = vec ! [
21512141 // these test std stuff
@@ -2167,14 +2157,11 @@ pub mod test {
21672157 Test :: new( "test_tooltip_std.rs" , 25 , 25 ) ,
21682158 ] ;
21692159
2170- let cwd = env:: current_dir ( ) ?;
21712160 let out = LineOutput :: default ( ) ;
21722161 let proj_dir = FIXTURES_DIR . join ( "hover" ) ;
2173- let save_dir = cwd
2174- . join ( "target" )
2175- . join ( "tests" )
2176- . join ( "hover" )
2177- . join ( "save_data" ) ;
2162+
2163+ let save_dir_guard = tempfile:: tempdir ( ) . unwrap ( ) ;
2164+ let save_dir = save_dir_guard. path ( ) . to_owned ( ) ;
21782165 let load_dir = proj_dir. join ( "save_data" ) ;
21792166
21802167 let harness = TooltipTestHarness :: new ( proj_dir, & out) ;
0 commit comments