@@ -275,22 +275,28 @@ async fn main() -> Result<ExitCode> {
275
275
// Otherwise, run the tests in a subprocess with a fresh environment.
276
276
let executable_path = env:: current_exe ( ) . into_diagnostic ( ) ?;
277
277
let executable_dir = executable_path. parent ( ) . unwrap ( ) ;
278
- let path = format ! (
279
- "{}:{}" ,
280
- executable_dir. display( ) ,
281
- env:: var( "PATH" ) . unwrap_or_default( )
282
- ) ;
278
+ let env = [
279
+ ( "DEVENV_RUN_TESTS" , "1" ) ,
280
+ ( "DEVENV_NIX" , & env:: var ( "DEVENV_NIX" ) . unwrap_or_default ( ) ) ,
281
+ (
282
+ "PATH" ,
283
+ & format ! (
284
+ "{}:{}" ,
285
+ executable_dir. display( ) ,
286
+ env:: var( "PATH" ) . unwrap_or_default( )
287
+ ) ,
288
+ ) ,
289
+ ( "HOME" , & env:: var ( "HOME" ) . unwrap_or_default ( ) ) ,
290
+ ( "TZDIR" , & env:: var ( "TZDIR" ) . unwrap_or_default ( ) ) ,
291
+ ] ;
283
292
284
293
let mut cmd = Command :: new ( & executable_path) ;
285
294
cmd. stdin ( Stdio :: inherit ( ) )
286
295
. stdout ( Stdio :: inherit ( ) )
287
296
. stderr ( Stdio :: inherit ( ) )
288
- . args ( env:: args ( ) . skip ( 1 ) ) ;
289
- cmd. env_clear ( )
290
- . env ( "DEVENV_RUN_TESTS" , "1" )
291
- . env ( "DEVENV_NIX" , env:: var ( "DEVENV_NIX" ) . unwrap_or_default ( ) )
292
- . env ( "PATH" , path)
293
- . env ( "HOME" , env:: var ( "HOME" ) . unwrap_or_default ( ) ) ;
297
+ . args ( env:: args ( ) . skip ( 1 ) )
298
+ . env_clear ( )
299
+ . envs ( env) ;
294
300
295
301
let output = cmd. output ( ) . into_diagnostic ( ) ?;
296
302
if output. status . success ( ) {
0 commit comments