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 | 31 +++++++++++++++++++---
 1 file changed, 28 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..0b6acdb5c7dd 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.uclamp.max: max
+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,21 @@ 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
+
     for line_num, line in enumerate(out.splitlines()):
-        if line.strip() != EXPECTED_OUT.splitlines()[line_num].strip():
+        if line.strip().startswith("cpu.pressure"):
+            continue
+
+        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.26.3



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

Reply via email to