mirror of
https://github.com/kata-containers/cgroups-rs.git
synced 2026-08-05 02:13:23 +00:00
35 lines
1.0 KiB
Rust
35 lines
1.0 KiB
Rust
//! Integration tests about the hugetlb subsystem
|
|
use cgroups::hugetlb::HugeTlbController;
|
|
use cgroups::{Cgroup, Hierarchy};
|
|
use cgroups::Controller;
|
|
|
|
use cgroups::error::ErrorKind::*;
|
|
use cgroups::error::*;
|
|
|
|
#[test]
|
|
fn test_hugetlb_sizes() {
|
|
let h = cgroups::hierarchies::auto();
|
|
let h = Box::new(&*h);
|
|
let cg = Cgroup::new(h, String::from("test_hugetlb_sizes"));
|
|
{
|
|
let hugetlb_controller: &HugeTlbController = cg.controller_of().unwrap();
|
|
let sizes = hugetlb_controller.get_sizes();
|
|
|
|
let size = "2MB";
|
|
assert_eq!(sizes, vec![size.to_string()]);
|
|
|
|
let supported = hugetlb_controller.size_supported(size);
|
|
assert_eq!(supported, true);
|
|
|
|
assert_no_error(hugetlb_controller.failcnt(size));
|
|
assert_no_error(hugetlb_controller.limit_in_bytes(size));
|
|
assert_no_error(hugetlb_controller.usage_in_bytes(size));
|
|
assert_no_error(hugetlb_controller.max_usage_in_bytes(size));
|
|
}
|
|
cg.delete();
|
|
}
|
|
|
|
fn assert_no_error(r: Result<u64>) {
|
|
assert_eq!(!r.is_err(), true)
|
|
}
|