From be617190c76796c6fd6e471e2c2f7576da5ea013 Mon Sep 17 00:00:00 2001 From: bin liu Date: Wed, 9 Sep 2020 17:09:12 +0800 Subject: [PATCH] hugetlb: update test to avoid depending on test env Signed-off-by: bin liu --- tests/hugetlb.rs | 24 ++++++++++++++---------- tests/memory.rs | 7 ++----- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/tests/hugetlb.rs b/tests/hugetlb.rs index c90c615..095243e 100644 --- a/tests/hugetlb.rs +++ b/tests/hugetlb.rs @@ -4,12 +4,13 @@ // //! Integration tests about the hugetlb subsystem -use cgroups::hugetlb::HugeTlbController; +use cgroups::hugetlb::{self, HugeTlbController}; use cgroups::Controller; use cgroups::{Cgroup, Hierarchy}; use cgroups::error::ErrorKind::*; use cgroups::error::*; +use std::fs; #[test] fn test_hugetlb_sizes() { @@ -25,16 +26,19 @@ fn 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()]); + // test sizes count + let sizes = hugetlb_controller.get_sizes(); + let sizes_count = fs::read_dir(hugetlb::HUGEPAGESIZE_DIR).unwrap().count(); + assert_eq!(sizes.len(), sizes_count); - 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)); + for size in sizes { + 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(); } diff --git a/tests/memory.rs b/tests/memory.rs index 47b7099..2d64906 100644 --- a/tests/memory.rs +++ b/tests/memory.rs @@ -6,10 +6,7 @@ //! Integration tests about the hugetlb subsystem use cgroups::memory::{MemController, SetMemory}; use cgroups::Controller; -use cgroups::{Cgroup, Hierarchy, MaxValue}; - -use cgroups::error::ErrorKind::*; -use cgroups::error::*; +use cgroups::{Cgroup, MaxValue}; #[test] fn test_disable_oom_killer() { @@ -23,7 +20,7 @@ fn test_disable_oom_killer() { let m = mem_controller.memory_stat(); assert_eq!(m.oom_control.oom_kill_disable, false); - // FIXME only v1 + // now only v1 if !mem_controller.v2() { // disable oom killer let r = mem_controller.disable_oom_killer();