1010use platform:: { self , OsIpcChannel , OsIpcReceiverSet } ;
1111use platform:: { OsIpcSharedMemory } ;
1212use std:: collections:: HashMap ;
13- #[ cfg( not( any( feature = "force-inprocess" , target_os = "windows" , target_os = "android" ) ) ) ]
14- use std:: process:: { Command , Stdio } ;
1513use std:: sync:: Arc ;
1614use std:: time:: { Duration , Instant } ;
1715use std:: thread;
18- #[ cfg( not( any( feature = "force-inprocess" , target_os = "windows" , target_os = "android" ) ) ) ]
19- use std:: env;
2016
2117#[ cfg( not( any( feature = "force-inprocess" , target_os = "windows" , target_os = "android" ) ) ) ]
2218use libc;
@@ -26,7 +22,7 @@ use libc::{kill, SIGSTOP, SIGCONT};
2622#[ cfg( not( any( feature = "force-inprocess" , target_os = "windows" , target_os = "android" ) ) ) ]
2723use test:: { fork, Wait } ;
2824#[ cfg( not( any( feature = "force-inprocess" , target_os = "windows" , target_os = "android" ) ) ) ]
29- use test:: get_channel_name_arg;
25+ use test:: { get_channel_name_arg, spawn_server } ;
3026
3127#[ test]
3228fn simple ( ) {
@@ -676,15 +672,7 @@ fn cross_process_spawn() {
676672 let ( server, name) = OsIpcOneShotServer :: new ( ) . unwrap ( ) ;
677673 let data: & [ u8 ] = b"1234567" ;
678674
679- let mut child_pid = Command :: new ( env:: current_exe ( ) . unwrap ( ) )
680- . arg ( "--ignored" )
681- . arg ( "cross_process_server" )
682- . arg ( format ! ( "channel_name-server:{}" , name) )
683- . stdin ( Stdio :: null ( ) )
684- . stdout ( Stdio :: null ( ) )
685- . stderr ( Stdio :: null ( ) )
686- . spawn ( )
687- . expect ( "failed to execute server process" ) ;
675+ let mut child_pid = spawn_server ( "cross_process_server" , & [ ( "server" , & * name) ] ) ;
688676
689677 let ( _, received_data, received_channels, received_shared_memory_regions) =
690678 server. accept ( ) . unwrap ( ) ;
@@ -738,15 +726,8 @@ fn cross_process_sender_transfer_server()
738726fn cross_process_sender_transfer_spawn ( ) {
739727 let ( server, name) = OsIpcOneShotServer :: new ( ) . unwrap ( ) ;
740728
741- let mut child_pid = Command :: new ( env:: current_exe ( ) . unwrap ( ) )
742- . arg ( "--ignored" )
743- . arg ( "cross_process_sender_transfer_server" )
744- . arg ( format ! ( "channel_name-server:{}" , name) )
745- . stdin ( Stdio :: null ( ) )
746- . stdout ( Stdio :: null ( ) )
747- . stderr ( Stdio :: null ( ) )
748- . spawn ( )
749- . expect ( "failed to execute server process" ) ;
729+ let mut child_pid = spawn_server ( "cross_process_sender_transfer_server" ,
730+ & [ ( "server" , & * name) ] ) ;
750731
751732 let ( super_rx, _, mut received_channels, _) = server. accept ( ) . unwrap ( ) ;
752733 assert_eq ! ( received_channels. len( ) , 1 ) ;
@@ -1018,15 +999,8 @@ fn cross_process_two_step_transfer_spawn() {
1018999
10191000 // create a one-shot server, and spawn another process
10201001 let ( server, name) = OsIpcOneShotServer :: new ( ) . unwrap ( ) ;
1021- let mut child_pid = Command :: new ( env:: current_exe ( ) . unwrap ( ) )
1022- . arg ( "--ignored" )
1023- . arg ( "cross_process_two_step_transfer_server" )
1024- . arg ( format ! ( "channel_name-server:{}" , name) )
1025- . stdin ( Stdio :: null ( ) )
1026- . stdout ( Stdio :: null ( ) )
1027- . stderr ( Stdio :: null ( ) )
1028- . spawn ( )
1029- . expect ( "failed to execute server process" ) ;
1002+ let mut child_pid = spawn_server ( "cross_process_two_step_transfer_server" ,
1003+ & [ ( "server" , & * name) ] ) ;
10301004
10311005 // The other process will have sent us a transmit channel in received channels
10321006 let ( super_rx, _, mut received_channels, _) = server. accept ( ) . unwrap ( ) ;
0 commit comments