1use rustix::process; 2 3#[test] 4fn test_getuid() { 5 assert_eq!(process::getuid(), process::getuid()); 6 unsafe { 7 assert_eq!(process::getuid().as_raw(), libc::getuid()); 8 assert_eq!(process::getuid().is_root(), libc::getuid() == 0); 9 } 10} 11 12#[test] 13fn test_getgid() { 14 assert_eq!(process::getgid(), process::getgid()); 15 unsafe { 16 assert_eq!(process::getgid().as_raw(), libc::getgid()); 17 assert_eq!(process::getgid().is_root(), libc::getgid() == 0); 18 } 19} 20 21#[test] 22fn test_geteuid() { 23 assert_eq!(process::geteuid(), process::geteuid()); 24 unsafe { 25 assert_eq!(process::geteuid().as_raw(), libc::geteuid()); 26 assert_eq!(process::geteuid().is_root(), libc::geteuid() == 0); 27 } 28} 29 30#[test] 31fn test_getegid() { 32 assert_eq!(process::getegid(), process::getegid()); 33 unsafe { 34 assert_eq!(process::getegid().as_raw(), libc::getegid()); 35 assert_eq!(process::getegid().is_root(), libc::getegid() == 0); 36 } 37} 38 39#[test] 40fn test_getpid() { 41 assert_eq!(process::getpid(), process::getpid()); 42 unsafe { 43 assert_eq!( 44 process::getpid().as_raw_nonzero().get() as libc::pid_t, 45 libc::getpid() 46 ); 47 assert_eq!(process::getpid().is_init(), libc::getpid() == 1); 48 } 49} 50 51#[test] 52fn test_getppid() { 53 assert_eq!(process::getppid(), process::getppid()); 54 unsafe { 55 assert_eq!( 56 process::Pid::as_raw(process::getppid()) as libc::pid_t, 57 libc::getppid() 58 ); 59 if let Some(ppid) = process::getppid() { 60 assert_eq!(ppid.is_init(), libc::getppid() == 1); 61 } else { 62 assert_eq!(libc::getppid(), 0); 63 } 64 } 65} 66 67#[test] 68fn test_getpgid() { 69 assert_eq!(process::getpgid(None), process::getpgid(None)); 70 assert_eq!( 71 process::getpgid(Some(process::getpid())), 72 process::getpgid(Some(process::getpid())) 73 ); 74 unsafe { 75 assert_eq!( 76 process::getpgid(None).unwrap().as_raw_nonzero().get() as libc::pid_t, 77 libc::getpgid(0) 78 ); 79 assert_eq!( 80 process::getpgid(None).unwrap().is_init(), 81 libc::getpgid(0) == 1 82 ); 83 assert_eq!( 84 process::getpgid(Some(process::getpid())) 85 .unwrap() 86 .as_raw_nonzero() 87 .get() as libc::pid_t, 88 libc::getpgid(libc::getpid()) 89 ); 90 } 91} 92 93#[test] 94fn test_getpgrp() { 95 assert_eq!(process::getpgrp(), process::getpgrp()); 96 unsafe { 97 assert_eq!( 98 process::getpgrp().as_raw_nonzero().get() as libc::pid_t, 99 libc::getpgrp() 100 ); 101 } 102} 103