Add cgroup v2 support to the 009-cgget-g_flag_controller_only.py
functional test.  It continues to support cgroup v1 as well.

Signed-off-by: Tom Hromatka <tom.hroma...@oracle.com>
---
 ftests/009-cgget-g_flag_controller_only.py | 34 ++++++++++++++++++++--
 1 file changed, 31 insertions(+), 3 deletions(-)

diff --git a/ftests/009-cgget-g_flag_controller_only.py 
b/ftests/009-cgget-g_flag_controller_only.py
index 155369ccc537..3055226b5869 100755
--- a/ftests/009-cgget-g_flag_controller_only.py
+++ b/ftests/009-cgget-g_flag_controller_only.py
@@ -29,7 +29,7 @@ import sys
 CONTROLLER = 'cpu'
 CGNAME = '009cgget'
 
-EXPECTED_OUT = '''009cgget:
+EXPECTED_OUT_V1 = '''009cgget:
 cpu.cfs_period_us: 100000
 cpu.stat: nr_periods 0
         nr_throttled 0
@@ -40,6 +40,21 @@ cpu.uclamp.min: 0.00
 cpu.uclamp.max: max
 '''
 
+EXPECTED_OUT_V2 = '''009cgget:
+cpu.weight: 100
+cpu.stat: usage_usec 0
+        user_usec 0
+        system_usec 0
+        nr_periods 0
+        nr_throttled 0
+        throttled_usec 0
+cpu.weight.nice: 0
+cpu.pressure: some avg10=0.00 avg60=0.00 avg300=0.00 total=0
+cpu.max: max 100000
+cpu.uclamp.min: 0.00
+cpu.uclamp.max: max
+'''
+
 def prereqs(config):
     result = consts.TEST_PASSED
     cause = None
@@ -55,11 +70,24 @@ def test(config):
 
     out = Cgroup.get(config, controller=CONTROLLER, cgname=CGNAME)
 
+    version = CgroupVersion.get_version(CONTROLLER)
+
+    if version == CgroupVersion.CGROUP_V1:
+        expected_out = EXPECTED_OUT_V1
+    elif version == CgroupVersion.CGROUP_V2:
+        expected_out = EXPECTED_OUT_V2
+
+    if len(out.splitlines()) != len(expected_out.splitlines()):
+        result = consts.TEST_FAILED
+        cause = "Expected {} lines but received {} lines".format(
+                len(expected_out.splitlines()), len(out.splitlines()))
+        return result, cause
+
     for line_num, line in enumerate(out.splitlines()):
-        if line.strip() != EXPECTED_OUT.splitlines()[line_num].strip():
+        if line.strip() != expected_out.splitlines()[line_num].strip():
             result = consts.TEST_FAILED
             cause = "Expected line:\n\t{}\nbut received line:\n\t{}".format(
-                    EXPECTED_OUT.splitlines()[line_num].strip(), line.strip())
+                    expected_out.splitlines()[line_num].strip(), line.strip())
             return result, cause
 
     return result, cause
-- 
2.31.1



_______________________________________________
Libcg-devel mailing list
Libcg-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to