From: Tom Hromatka Date: Thu, 25 Mar 2021 16:33:38 +0000 (+0000) Subject: cgroup.py: Add support for lscgroup X-Git-Tag: v2.0.3~11^2^2~18^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=48f04ad6533f18e0f456e1cb85f4b2bdc23cf317;p=thirdparty%2Flibcgroup.git cgroup.py: Add support for lscgroup Add support for lscgroup to the Cgroup class. Signed-off-by: Tom Hromatka --- 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