]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
ftests: Modify functional test 012 to support cgroup v2
authorTom Hromatka <tom.hromatka@oracle.com>
Wed, 2 Jun 2021 13:48:51 +0000 (13:48 +0000)
committerTom Hromatka <tom.hromatka@oracle.com>
Tue, 8 Jun 2021 17:31:35 +0000 (17:31 +0000)
Add cgroup v2 support to the 012-cgget-multiple_r_flags2.py
functional test.  It continues to support cgroup v1 as well.

Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
ftests/012-cgget-multiple_r_flags2.py

index 2ae35dabb26204559ce71360124ccdc052e3704c..5a12b79ef66bf4f79f684d55a14078852e55f54e 100755 (executable)
@@ -30,10 +30,12 @@ CONTROLLER = 'memory'
 CGNAME1 = '012cgget1'
 CGNAME2 = '012cgget2'
 
-SETTING1 = 'memory.limit_in_bytes'
+SETTING1_V1 = 'memory.limit_in_bytes'
+SETTING1_V2 = 'memory.max'
 VALUE1 = '4194304'
 
-SETTING2 = 'memory.soft_limit_in_bytes'
+SETTING2_V1 = 'memory.soft_limit_in_bytes'
+SETTING2_V2 = 'memory.high'
 VALUE2 = '4096000'
 
 EXPECTED_OUT = '''{}:
@@ -54,17 +56,33 @@ def prereqs(config):
 def setup(config):
     Cgroup.create(config, CONTROLLER, CGNAME1)
     Cgroup.create(config, CONTROLLER, CGNAME2)
-    Cgroup.set(config, CGNAME1, SETTING1, VALUE1)
-    Cgroup.set(config, CGNAME1, SETTING2, VALUE2)
-    Cgroup.set(config, CGNAME2, SETTING1, VALUE1)
-    Cgroup.set(config, CGNAME2, SETTING2, VALUE2)
+
+    version = CgroupVersion.get_version(CONTROLLER)
+
+    if version == CgroupVersion.CGROUP_V1:
+        Cgroup.set(config, CGNAME1, SETTING1_V1, VALUE1)
+        Cgroup.set(config, CGNAME1, SETTING2_V1, VALUE2)
+        Cgroup.set(config, CGNAME2, SETTING1_V1, VALUE1)
+        Cgroup.set(config, CGNAME2, SETTING2_V1, VALUE2)
+    elif version == CgroupVersion.CGROUP_V2:
+        Cgroup.set(config, CGNAME1, SETTING1_V2, VALUE1)
+        Cgroup.set(config, CGNAME1, SETTING2_V2, VALUE2)
+        Cgroup.set(config, CGNAME2, SETTING1_V2, VALUE1)
+        Cgroup.set(config, CGNAME2, SETTING2_V2, VALUE2)
 
 def test(config):
     result = consts.TEST_PASSED
     cause = None
 
+    version = CgroupVersion.get_version(CONTROLLER)
+
+    if version == CgroupVersion.CGROUP_V1:
+        settings = [SETTING1_V1, SETTING2_V1]
+    elif version == CgroupVersion.CGROUP_V2:
+        settings = [SETTING1_V2, SETTING2_V2]
+
     out = Cgroup.get(config, controller=None, cgname=[CGNAME1, CGNAME2],
-                     setting=[SETTING1, SETTING2], values_only=True)
+                     setting=settings, values_only=True)
 
     for line_num, line in enumerate(out.splitlines()):
         if line.strip() != EXPECTED_OUT.splitlines()[line_num].strip():