Auto merge of #72160 - slo1:libstd-setgroups, r=KodrAus
Add setgroups to std::os::unix::process::CommandExt Should fix #38527. I'm not sure groups is the greatest name though.
This commit is contained in:
commit
22ddcd1a13
4 changed files with 67 additions and 7 deletions
26
src/test/ui/command/command-setgroups.rs
Normal file
26
src/test/ui/command/command-setgroups.rs
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
// run-pass
|
||||
// ignore-windows - this is a unix-specific test
|
||||
// ignore-cloudabi
|
||||
// ignore-emscripten
|
||||
// ignore-sgx
|
||||
|
||||
#![feature(rustc_private)]
|
||||
#![feature(setgroups)]
|
||||
|
||||
extern crate libc;
|
||||
use std::process::Command;
|
||||
use std::os::unix::process::CommandExt;
|
||||
|
||||
fn main() {
|
||||
#[cfg(unix)]
|
||||
run()
|
||||
}
|
||||
|
||||
#[cfg(unix)]
|
||||
fn run() {
|
||||
let max_ngroups = unsafe { libc::sysconf(libc::_SC_NGROUPS_MAX) };
|
||||
let max_ngroups = max_ngroups as u32 + 1;
|
||||
let vec: Vec<u32> = (0..max_ngroups).collect();
|
||||
let p = Command::new("/bin/id").groups(&vec[..]).spawn();
|
||||
assert!(p.is_err());
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue