Add cgroup v2 support to the 010-cgget-g_flag_controller_and_cgroup.py functional test. It continues to support cgroup v1 as well.
Signed-off-by: Tom Hromatka <tom.hroma...@oracle.com> --- .../010-cgget-g_flag_controller_and_cgroup.py | 39 +++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/ftests/010-cgget-g_flag_controller_and_cgroup.py b/ftests/010-cgget-g_flag_controller_and_cgroup.py index 246490edf5a5..6c4f03b16758 100755 --- a/ftests/010-cgget-g_flag_controller_and_cgroup.py +++ b/ftests/010-cgget-g_flag_controller_and_cgroup.py @@ -29,7 +29,7 @@ import sys CONTROLLER = 'cpu' CGNAME = '010cgget' -EXPECTED_OUT = '''cpu.cfs_period_us: 100000 +EXPECTED_OUT_V1 = '''cpu.cfs_period_us: 100000 cpu.stat: nr_periods 0 nr_throttled 0 throttled_time 0 @@ -39,6 +39,20 @@ cpu.uclamp.min: 0.00 cpu.uclamp.max: max ''' +EXPECTED_OUT_V2 = '''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 +69,30 @@ def test(config): out = Cgroup.get(config, controller="{}:{}".format(CONTROLLER, CGNAME), print_headers=False) + 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 line count: {}, but received line count: {}".format( + len(expected_out.splitlines()), len(out.splitlines())) + return result, cause + + 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