The test command-setgroups.rs is adjusted to skip on musl, where `sysconf(_SC_NGROUPS_MAX)` always returns a dummy value of 32, even though the actual value is 65536. I'm not sure why this becomes relevant only now though, as this was apparently the case since kernel 2.6.4.
27 lines
636 B
Rust
27 lines
636 B
Rust
// run-pass
|
|
// ignore-windows - this is a unix-specific test
|
|
// ignore-cloudabi
|
|
// ignore-emscripten
|
|
// ignore-sgx
|
|
// ignore-musl - returns dummy result for _SC_NGROUPS_MAX
|
|
|
|
#![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());
|
|
}
|