mirror of
https://github.com/kata-containers/cgroups-rs.git
synced 2026-08-05 02:13:23 +00:00
54 lines
1.4 KiB
Rust
54 lines
1.4 KiB
Rust
use cgroups::cpuset::CpuSetController;
|
|
use cgroups::error::ErrorKind;
|
|
use cgroups::{Cgroup, CpuResources, Hierarchy, Resources};
|
|
|
|
#[test]
|
|
fn test_cpuset_memory_pressure_root_cg() {
|
|
let h = cgroups::hierarchies::auto();
|
|
let h = Box::new(&*h);
|
|
let cg = Cgroup::new(h, String::from("test_cpuset_memory_pressure_root_cg"));
|
|
{
|
|
let cpuset: &CpuSetController = cg.controller_of().unwrap();
|
|
|
|
// This is not a root control group, so it should fail via InvalidOperation.
|
|
let res = cpuset.set_enable_memory_pressure(true);
|
|
assert_eq!(res.unwrap_err().kind(), &ErrorKind::InvalidOperation);
|
|
}
|
|
cg.delete();
|
|
}
|
|
|
|
|
|
#[test]
|
|
fn test_cpuset_set_cpus() {
|
|
let h = cgroups::hierarchies::auto();
|
|
let h = Box::new(&*h);
|
|
let cg = Cgroup::new(h, String::from("test_cpuset_set_cpus"));
|
|
{
|
|
let cpuset: &CpuSetController = cg.controller_of().unwrap();
|
|
|
|
let set = cpuset.cpuset();
|
|
assert_eq!(0, set.cpus.len());
|
|
|
|
// 0
|
|
let r = cpuset.set_cpus("0");
|
|
assert_eq!(true, r.is_ok());
|
|
|
|
let set = cpuset.cpuset();
|
|
assert_eq!(1, set.cpus.len());
|
|
assert_eq!((0,0), set.cpus[0]);
|
|
|
|
|
|
// 0-1
|
|
// FIXME need two cores
|
|
let r = cpuset.set_cpus("0-1");
|
|
assert_eq!(true, r.is_ok());
|
|
|
|
let set = cpuset.cpuset();
|
|
assert_eq!(1, set.cpus.len());
|
|
assert_eq!((0,1), set.cpus[0]);
|
|
|
|
|
|
|
|
}
|
|
cg.delete();
|
|
} |