Now, the process name and destination cgroup are allowed to have spaces
within quotes. Update the man page to reflect the allowed characters
for both fields and add an example demonstrating rule usage.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
TJH: small formatting changes
Tom Hromatka [Wed, 22 Jan 2025 12:12:59 +0000 (17:42 +0530)]
gunit: Add unit tests for get_next_rule_field()
[----------] 10 tests from GetNextRuleField
[ RUN ] GetNextRuleField.InvalidParameters
[ OK ] GetNextRuleField.InvalidParameters (0 ms)
[ RUN ] GetNextRuleField.FieldLenTooSmall
[ OK ] GetNextRuleField.FieldLenTooSmall (0 ms)
[ RUN ] GetNextRuleField.FieldLenTooSmallWithQuotes
[ OK ] GetNextRuleField.FieldLenTooSmallWithQuotes (0 ms)
[ RUN ] GetNextRuleField.FieldLenTooSmallWithQuotes2
[ OK ] GetNextRuleField.FieldLenTooSmallWithQuotes2 (0 ms)
[ RUN ] GetNextRuleField.UserAndProcess
[ OK ] GetNextRuleField.UserAndProcess (0 ms)
[ RUN ] GetNextRuleField.UserOnly
[ OK ] GetNextRuleField.UserOnly (0 ms)
[ RUN ] GetNextRuleField.KeyWithQuotesAndSpaces
[ OK ] GetNextRuleField.KeyWithQuotesAndSpaces (0 ms)
[ RUN ] GetNextRuleField.DestinationWithQuotes
[ OK ] GetNextRuleField.DestinationWithQuotes (0 ms)
[ RUN ] GetNextRuleField.TabsAsDelimiters
[ OK ] GetNextRuleField.TabsAsDelimiters (0 ms)
[ RUN ] GetNextRuleField.RuleWithOptions
[ OK ] GetNextRuleField.RuleWithOptions (0 ms)
[----------] 10 tests from GetNextRuleField (0 ms total)
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Kamalesh Babulal [Sun, 26 Jan 2025 06:01:25 +0000 (11:31 +0530)]
config: Fix data race reported in cgroup_config_insert_into_mount_table
Fix the following data race issue reported by Coverity:
CID 465888: (#1 of 1): Check of thread-shared field evades lock
acquisition (LOCK_EVASION):
"The data guarded by this critical section may be read while in an
inconsistent state or modified by multiple racing threads.
In cgroup_config_insert_into_mount_table: Checking the value of a
thread-shared field outside of a locked region to determine if a locked
operation involving that thread shared field has completed."
Fix it by moving the config_table_index value check too under the
config_table_lock.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Kamalesh Babulal [Sun, 19 Jan 2025 05:48:02 +0000 (11:18 +0530)]
src/config: Fix data race reported by Coverity
Fix the following data race issue reported by Coverity:
CID 465888:Check of thread-shared field evades lock acquisition
(LOCK_EVASION):
"The data guarded by this critical section may be read while in an
inconsistent state or modified by multiple racing threads.
In cgroup_config_insert_into_namespace_table: Checking the value of a
thread-shared field outside of a locked region to determine if a locked
operation involving that thread shared field has completed."
Fix it by moving the namespace_table_index value check too under the
namespace_table_lock
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Aaron Tomlin [Mon, 13 Jan 2025 18:18:05 +0000 (11:18 -0700)]
api: Add extra debugging when matching rule to a group
In the context of a group rule (i.e. indicated by '@' used to prefix the
actual group name), getgrnam(3) is used to provide a pointer to a group
file entry that may contain a NULL-terminated array of pointers to group
members. A user can belong to multiple groups. With this information, we
then check the username that corresponds to the specified UID against
each group member for a match. This patch makes it possible to see this
information if debug level logging is enabled.
Use the new cgroup_get_loglevel() API to optimize the rule loop to
minimize performance impacts.
Kamalesh Babulal [Tue, 17 Dec 2024 05:56:30 +0000 (11:26 +0530)]
ftests/consts.py: Add more cpu controller output (v2)
Upstream v6.13 kernel commit aefa398d93d5 ("cgroup/rstat: Tracking
cgroup-level niced CPU time") added "nice_usec" to the cgroup base stats
cputime, add it to the list of cpu controller (v2) expected output.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Tom Hromatka [Mon, 13 Jan 2025 17:31:41 +0000 (10:31 -0700)]
github: Ignore unused data errors in lcov
The "Unit Tests" job was throwing the following lcov error:
Summary coverage rate:
lines......: 20.5% (1073 of 5227 lines)
functions..: 29.0% (73 of 252 functions)
branches...: no data found
(use "lcov --ignore-errors unused ..." to bypass this error)
Add "--ignore errors unused" to the lcov command to work around this.
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Tom Hromatka [Mon, 13 Jan 2025 17:19:34 +0000 (10:19 -0700)]
github: Revert to Ubuntu 22.04 (from latest) for cgroup v2 testing
Cgroup v2 testing on Ubuntu 24.04 is throwing the following errors.
Revert to Ubuntu 22.04 until the issue is resolved in the distro.
/home/runner/work/libcgroup/libcgroup/src/.libs/libcgroup.so.0)
Test:
012-cgget-multiple_r_flags2.py - RunError:
command = ['sudo', 'lxc', 'exec', 'TestLibcg', '--',
'/home/runner/work/libcgroup/libcgroup/src/tools/cgcreate', '-g',
'memory:012cgget1']
ret = 1
stdout =
stderr =
/home/runner/work/libcgroup/libcgroup/src/tools/.libs/cgcreate:
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found
(required by
/home/runner/work/libcgroup/libcgroup/src/tools/.libs/cgcreate)
/home/runner/work/libcgroup/libcgroup/src/tools/.libs/cgcreate:
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found
(required by
/home/runner/work/libcgroup/libcgroup/src/.libs/libcgroup.so.0)
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
gcc -o cgrp_get_cgrp_name cgrp_get_cgrp_name.c -lcgroup
/usr/bin/ld: /tmp/ccIyBv5c.o: in function `main':
cgrp_get_cgrp_name.c:(.text+0xaa): undefined reference to `cgroup_get_cgroup_name'
collect2: error: ld returned 1 exit status
The API was introduced by commit ca32d88ef56b1 ("wrappers: Add a
cgroup_get_cgroup_name API") but missed adding it to libcgroup.map file,
causing the linkage issue. Fix the issue by adding the API at the
libcgroup.map under version it was introduced.
Fixes: https://github.com/libcgroup/libcgroup/issues/459 Reported-by: Ron Nazarov <ron@noisytoot.org> Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
With commit e475d7a545a2 ("github: Use default runners"), the dependency
on the self-hosted runners is removed. Also, remove the timeout logic to
synchronize jobs between self-hosted runners too.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Kamalesh Babulal [Tue, 15 Oct 2024 01:42:03 +0000 (07:12 +0530)]
tests/gunit: src: match naming with upstream Linux
Rename local variable 'cgroup' -> 'cgrp' to match upstream Linux Kernel,
across the files under tests/gunit bringing it closer to the Linux
kernel cgroup code.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Kamalesh Babulal [Mon, 14 Oct 2024 01:17:03 +0000 (06:47 +0530)]
samples/c: match naming with upstream Linux
Rename local variable 'cgroup' -> 'cgrp' to match upstream Linux Kernel,
across the files under samples/c/ bringing it closer to the Linux kernel
cgroup code.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Kamalesh Babulal [Sun, 13 Oct 2024 01:08:40 +0000 (06:38 +0530)]
include: match naming with upstream Linux
Rename local variable 'cgroup' -> 'cgrp' to match upstream Linux Kernel,
across the files under include/libcgroup/ bringing it closer to the
Linux kernel cgroup code.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Kamalesh Babulal [Sat, 12 Oct 2024 01:06:50 +0000 (06:36 +0530)]
tools: match naming with upstream Linux
Rename local variable 'cgroup' -> 'cgrp' to match upstream Linux Kernel,
across the files under src/tools/ bringing it closer to the Linux kernel
cgroup code.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Kamalesh Babulal [Wed, 16 Oct 2024 09:11:32 +0000 (14:41 +0530)]
ftests/cgroup: Fix typo in CgroupMount::__init__
Fix the typo of '==' (comparison) to '=' assignment in
CgroupMount::__init__.
Fixes: 52b196c2f4f3c ("ftests/cgroup: Add support for favordynmods") Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Felix Moessbauer [Wed, 16 Oct 2024 13:30:29 +0000 (15:30 +0200)]
api.c: fix memory leak on non-writable settings
When hitting the path st_mode check, we might already have allocated a
path. In this case, the continue re-enters the loop without freeing the
path:
653 bytes in 8 blocks are definitely lost in loss record
at 0x484582F: realloc (vg_replace_malloc.c:1437)
by 0x49023E1: __vasprintf_internal (vasprintf.c:79)
by 0x48D5BD5: asprintf (asprintf.c:31)
by 0x4B41722: cgroup_set_values_recursive (api.c:2414)
by 0x4B4688A: _cgroup_create_cgroup (api.c:2999)
by 0x4B47067: cgroup_create_cgroup (api.c:3062)
by 0x4B47067: cgroup_create_cgroup (api.c:3028)
Fixes: 0e50142a1fe0 ("api.c: Don't fail a recursive write if value isn't dirty") Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Introduce new ignore_rt option for cgrules, that would ignore rules
matching user:process, controller(s), destination cgroup with SCHED_RR
and SCHED_FF policies.
Suggested-by: Tom Hromatka <tom.hromatka@oracle.com> Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
tools/cgset: Fix -R switch indentation in help menu
Fix the indentation of '-R' switch description of cgset help menu.
Before:
-------
$ cgset --help
Usage: cgset [-r <name=value>] <cgroup_path> ...
or: cgset --copy-from <source_cgroup_path> <cgroup_path> ...
Set the parameters of given cgroup(s)
-r, --variable <name> Define parameter to set
--copy-from <source_cgroup_path> Control group whose parameters will be copied
-b Ignore default systemd delegate hierarchy
-R Recursively set variable(s) for cgroups under <cgroup_path>
After:
------
$ cgset --help
Usage: cgset [-r <name=value>] <cgroup_path> ...
or: cgset --copy-from <source_cgroup_path> <cgroup_path> ...
Set the parameters of given cgroup(s)
-r, --variable <name> Define parameter to set
--copy-from <source_cgroup_path> Control group whose parameters will be copied
-b Ignore default systemd delegate hierarchy
-R Recursively set variable(s) for cgroups under <cgroup_path>
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
api.c: add support to build procs path for cgroup.thread
In cgroup_build_tid_path(), add support for building path to write
tid into cgroup.thread instead of cgroup.procs, if the calling function
is cgroup_attach_thread_tid() or else build path to write into
cgroup.procs.
Add new parameter bool is_tid to cgroup_get_cg_type(), this parameter
gets set, when called from cgroup_attach_thread_tid() path. When set and
cgroup.type is 'domain threaded', it returns 'cgroup.threads' instead of
'cgroup.procs'.
Rename cgroup_v1_build_procs_path() to cgroup_build_tid_path(), this
function will be used to build a procs path on both cgroup v1/v2 to
which the tid/pid will be written based on the cgroup type. Change
the name to reflect the new functionality.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Starting v6.12 memory code is split into v1 and v2 code, where v1 code
is only compiled when CONFIG_MEMCG_V1 is set. Which defaults to
disabled, teach the test case to ignore such failure.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Starting v6.12 cpuset code is split into v1 and v2 code, where v1 code
is only compiled when CONFIG_CPUSET_V1 is set. Which defaults to
disabled, teach the test case to ignore such failure.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Kamalesh Babulal [Wed, 14 Aug 2024 05:35:59 +0000 (11:05 +0530)]
workflow/ci: Install flake8-quote under pylint job
In the Github workflow continuous integration::flake8-lint job, add
new checks for standardizing Python quotes usage. This will help
maintain the recommended quotes style in all new PR's.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
ftests/013: Refactor code to match outputs with same line
Refactor the code to match controller(s) output, with expected
controller(s) output, where more than one items in the expected output
list matches number of lines. Without this patch, the output is matched
only against the first item matching the line count in the expected
output.
-----------------------------------------------------------------
Test Results:
Run Date: Jun 24 11:17:11
Passed: 1 test(s)
Skipped: 0 test(s)
Failed: 0 test(s)
-----------------------------------------------------------------
Timing Results:
Test Time (sec)
--------------------------------------------
setup 0.00
013-cgget-multiple_g_flags.py 0.05
teardown 0.00
--------------------------------------------
Total Run Time 0.05
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
ftests/010: Refactor code to match outputs with same line
Refactor the code to match controller(s) output, with expected
controller(s) output, where more than one items in the expected output
list matches number of lines. Without this patch, the output is matched
only against the first item matching the line count in the expected
output.
-----------------------------------------------------------------
Test Results:
Run Date: Jun 23 10:58:49
Passed: 1 test(s)
Skipped: 0 test(s)
Failed: 0 test(s)
-----------------------------------------------------------------
Timing Results:
Test Time (sec)
--------------------------------------------------------
setup 0.00
010-cgget-g_flag_controller_and_cgroup.py 0.03
teardown 0.00
--------------------------------------------------------
Total Run Time 0.03
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
ftests/009: Refactor code to match outputs with same line
Refactor the code to match controller(s) output, with expected
controller(s) output, where more than one items in the expected output
list matches number of lines. Without this patch, the output is matched
only against the first item matching the line count in the expected
output.
-----------------------------------------------------------------
Test Results:
Run Date: Jun 22 10:18:38
Passed: 1 test(s)
Skipped: 0 test(s)
Failed: 0 test(s)
-----------------------------------------------------------------
Timing Results:
Test Time (sec)
--------------------------------------------------
setup 0.00
009-cgget-g_flag_controller_only.py 0.04
teardown 0.00
--------------------------------------------------
Total Run Time 0.04
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
ftests/utils: Add helper to check if output matches
Add a helper to check if the output from the controller(s), matches the
expected controller(s) output. It returns True/False and None in case
of matching output, a line that doesn't match in differing output.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Tom Hromatka [Wed, 17 Jul 2024 19:06:49 +0000 (13:06 -0600)]
ftests: Add more smarts when creating a container
If lxc returns 'Instance is busy running a "create" operation', the
container was successfully created but it's not yet fully running. Call
this a success as future operations will succeed once the container has
fully started.
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
ftests: add test to exercise cgxset recursive set option
Add a test to recursive set settings of the controller(s) in a cgroup
and its descendants using cgxset '-R' flag.
-----------------------------------------------------------------
Test Results:
Run Date: Jul 03 09:03:39
Passed: 1 test(s)
Skipped: 0 test(s)
Failed: 0 test(s)
-----------------------------------------------------------------
Timing Results:
Test Time (sec)
-------------------------------------------
setup 0.00
090-cgxset-recursive_flag.py 0.15
teardown 0.00
-------------------------------------------
Total Run Time 0.15
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
tools/cgxset: add support for cgroup.subtree_control
The cgroup.subtree_control settings are special, in comparison to other
controller settings. It can both enable and disable the controllers in
the single argument, depending on the argument the cgroup hierarchy walk
is either pre-order or post-order.
Kamalesh Babulal [Sun, 30 Jun 2024 02:21:02 +0000 (07:51 +0530)]
tools/cgxset: add -R option to recursively set variables
Add -R option to recursively set variable(s) passed to cgroups under
<cgroup_path>. This will help users to set a controller setting for
all the cgroups under a cgroup hierarchy, instead of passing the
cgroups multiple times on the command line.
Move the cgroup controller value setting logic to a helper function,
cgroup_set_cgroup_values() and also introduce program_name variable, to
be used instead of argv[0], when printing the info()/err() messages.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Vasil Kolev [Fri, 17 May 2024 10:58:38 +0000 (13:58 +0300)]
tools/tools-common.c: handle DT_UNKNOWN from readdir()
It's possible that readdir() would return DT_UNKNOWN in d_type for some
filesystems (observed on RHEL 8 with XFS and documented in readdir(3)),
thus the need to do an explicit stat() for such cases.
Kamalesh Babulal [Tue, 18 Jun 2024 06:56:28 +0000 (12:26 +0530)]
ftests/071: Introduce delay before killing cgroup
Fix the following issue:
071-sudo-set_default_systemd_cgroup.py - cgroup_delete_cgroup failed: 50016
Some older version of Kernel/Python combination, requires few jiffies to
sync the cgroup.procs list of process. Fix it by introducing 0.5 second
delay, before removing the cgroup.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Kamalesh Babulal [Wed, 12 Jun 2024 05:46:55 +0000 (11:16 +0530)]
ftests/consts: Add cpu controller throttled_usec (v2)
Add cpu controller (v2) stat output throttled_usec, introduced by 677ea015f231 ("sched: add throttled time stat for throttled children")
-----------------------------------------------------------------
Test Results:
Run Date: Jun 12 05:46:40
Passed: 1 test(s)
Skipped: 0 test(s)
Failed: 0 test(s)
-----------------------------------------------------------------
Timing Results:
Test Time (sec)
--------------------------------------------------
setup 0.00
009-cgget-g_flag_controller_only.py 0.09
teardown 0.00
--------------------------------------------------
Total Run Time 0.09
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Kamalesh Babulal [Tue, 11 Jun 2024 06:05:38 +0000 (11:35 +0530)]
ftests/consts: Add cpu controller throttled_usec (v1)
Add cpu controller (v1) stat output throttled_usec, introduced by 677ea015f231 ("sched: add throttled time stat for throttled children")
-----------------------------------------------------------------
Test Results:
Run Date: Jun 11 05:39:08
Passed: 1 test(s)
Skipped: 0 test(s)
Failed: 0 test(s)
-----------------------------------------------------------------
Timing Results:
Test Time (sec)
--------------------------------------------------
setup 0.00
009-cgget-g_flag_controller_only.py 0.07
teardown 0.00
--------------------------------------------------
Total Run Time 0.07
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Upstream Linux Kernel commit 81d3a5be05d3 ("cgroup: add
cgroup_favordynmods= command-line option") introduced
CONFIG_CGROUP_FAVOR_DYNMODS, that would append favordynmods to the mount
options on cgroup v1. This patch strips that option.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Add Python version >= 3.6, as minimum required for executing ftests.
It's required for multi-process/multi-threaded test cases to execute
without time outs.
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Append newer kernels cpuset controller output to the list of expected
output(s).
-----------------------------------------------------------------
Test Results:
Run Date: Jun 07 15:28:39
Passed: 1 test(s)
Skipped: 0 test(s)
Failed: 0 test(s)
-----------------------------------------------------------------
Timing Results:
Test Time (sec)
--------------------------------------------------
setup 0.00
005-cgsnapshot-basic_snapshot_v2.py 0.27
teardown 0.00
--------------------------------------------------
Total Run Time 0.27
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Use consts.EXPECTED_CPU_OUT_* lists, instead of local EXPECTED_OUT_*
lists. This removes maintaining of duplicate controller output lists.
-----------------------------------------------------------------
Test Results:
Run Date: Jun 04 15:25:17
Passed: 1 test(s)
Skipped: 0 test(s)
Failed: 0 test(s)
-----------------------------------------------------------------
Timing Results:
Test Time (sec)
--------------------------------------------
setup 0.00
013-cgget-multiple_g_flags.py 0.06
teardown 0.00
--------------------------------------------
Total Run Time 0.06
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Use consts.EXPECTED_CPU_OUT_* lists, instead of local EXPECTED_OUT_*
lists. This removes maintaining of duplicate controller output lists.
-----------------------------------------------------------------
Test Results:
Run Date: Jun 03 15:22:15
Passed: 1 test(s)
Skipped: 0 test(s)
Failed: 0 test(s)
-----------------------------------------------------------------
Timing Results:
Test Time (sec)
--------------------------------------------------------
setup 0.00
010-cgget-g_flag_controller_and_cgroup.py 0.04
teardown 0.00
--------------------------------------------------------
Total Run Time 0.04
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
Use consts.EXPECTED_CPU_OUT_* lists, instead of local EXPECTED_OUT_*
lists. This removes maintaining of duplicate controller output lists.
-----------------------------------------------------------------
Test Results:
Run Date: Jun 02 15:20:50
Passed: 1 test(s)
Skipped: 0 test(s)
Failed: 0 test(s)
-----------------------------------------------------------------
Timing Results:
Test Time (sec)
--------------------------------------------------
setup 0.00
009-cgget-g_flag_controller_only.py 0.04
teardown 0.00
--------------------------------------------------
Total Run Time 0.04
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>