From 48f04ad6533f18e0f456e1cb85f4b2bdc23cf317 Mon Sep 17 00:00:00 2001 From: Tom Hromatka Date: Thu, 25 Mar 2021 16:33:38 +0000 Subject: [PATCH] cgroup.py: Add support for lscgroup Add support for lscgroup to the Cgroup class. Signed-off-by: Tom Hromatka --- ftests/cgroup.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/ftests/cgroup.py b/ftests/cgroup.py index 0e2dd3a2..31e06bd7 100644 --- a/ftests/cgroup.py +++ b/ftests/cgroup.py @@ -750,3 +750,36 @@ class Cgroup(object): mount_list.append(mount_copy) return mount_list + + @staticmethod + def lscgroup(config, cghelp=False, controller=None, path=None): + cmd = list() + + cmd.append(Cgroup.build_cmd_path('lscgroup')) + + if cghelp: + cmd.append('-h') + + if controller is not None and path is not None: + if isinstance(controller, list): + for idx, ctrl in enumerate(controller): + cmd.append('-g') + cmd.append('{}:{}'.format(ctrl, path[idx])) + elif isinstance(controller, str): + cmd.append('-g') + cmd.append('{}:{}'.format(controller, path)) + else: + raise ValueError('Unsupported controller value') + + if config.args.container: + ret = config.container.run(cmd) + else: + try: + ret = Run.run(cmd) + except RunError as re: + if "profiling" in re.stderr: + ret = re.stdout + else: + raise re + + return ret -- 2.47.2