uapi 0.2.13

Wrappers for OS APIs on UNIX-like platform
Documentation
extern crate proc; // https://github.com/rust-lang/rust/issues/64450

use proc::*;
use uapi::*;

#[test_if(root)]
fn setpid() {
    setgid(2).unwrap();
    assert_eq!(getgid(), 2);

    seteuid(3).unwrap();
    assert_eq!(geteuid(), 3);

    seteuid(0).unwrap();
    assert_eq!(geteuid(), 0);

    setegid(4).unwrap();
    assert_eq!(getegid(), 4);

    setgroups(&[5, 6]).unwrap();
    let mut buf = [0; 128];
    assert_eq!(getgroups(&mut buf).unwrap(), &[5, 6]);

    setuid(1).unwrap();
    assert_eq!(getuid(), 1);
}