@@ -14,7 +14,7 @@ use std::net::IpAddr;
1414use std:: { net:: SocketAddr , path:: PathBuf , time:: Duration } ;
1515
1616use anyhow:: { Context , Ok , Result } ;
17- use clap:: { Parser , builder:: PossibleValuesParser } ;
17+ use clap:: { builder:: PossibleValuesParser , Parser } ;
1818use config:: ConfigFile ;
1919use package:: TargetInfo ;
2020use tests:: { config:: TEST_CONFIG , get_filtered_tests} ;
@@ -280,7 +280,7 @@ async fn inner_main() -> Result<()> {
280280 container:: relaunch_with_rootlesskit ( vnc) . await ;
281281
282282 #[ cfg( target_os = "macos" ) ]
283- relaunch_with_sudo ( ) . await ;
283+ container :: relaunch_with_sudo ( ) . await ;
284284
285285 let mut config = config. clone ( ) ;
286286 config. runtime_opts . keep_changes = keep_changes;
@@ -316,7 +316,7 @@ async fn inner_main() -> Result<()> {
316316 container:: relaunch_with_rootlesskit ( vnc) . await ;
317317
318318 #[ cfg( target_os = "macos" ) ]
319- relaunch_with_sudo ( ) . await ;
319+ container :: relaunch_with_sudo ( ) . await ;
320320
321321 let mut config = config. clone ( ) ;
322322 config. runtime_opts . display = match ( display, vnc. is_some ( ) ) {
@@ -441,22 +441,3 @@ async fn inner_main() -> Result<()> {
441441 }
442442 }
443443}
444-
445- async fn relaunch_with_sudo ( ) {
446- // check if user is root (`man getuid`).
447- if nix:: unistd:: geteuid ( ) . is_root ( ) {
448- return ;
449- }
450- let mut cmd = tokio:: process:: Command :: new ( "sudo" ) ;
451- cmd. arg ( "--preserve-env" ) ;
452- cmd. args ( std:: env:: args ( ) ) ;
453-
454- log:: info!( "Root privileges required. Re-launching with sudo." ) ;
455- eprintln ! ( "{cmd:?}" ) ;
456-
457- let status = cmd. status ( ) . await . unwrap_or_else ( |e| {
458- panic ! ( "failed to execute [{cmd:?}]: {e}" ) ;
459- } ) ;
460-
461- std:: process:: exit ( status. code ( ) . unwrap_or ( 1 ) ) ;
462- }
0 commit comments