summaryrefslogtreecommitdiffstats
path: root/src/oom
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-09-11 13:37:50 +0200
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-09-12 03:29:25 +0200
commit8b2e22579a6549ab8423858819703fc142862bcb (patch)
treec79fd9a0e0dfc39ff679ec23375ad73e767fb6ac /src/oom
parentoomd: refuse to start if cgroup memory controller is not available (diff)
downloadsystemd-8b2e22579a6549ab8423858819703fc142862bcb.tar.xz
systemd-8b2e22579a6549ab8423858819703fc142862bcb.zip
test-oomd-util: skip tests if cgroup memory controller is not available
Fixes #20593 and #20655.
Diffstat (limited to 'src/oom')
-rw-r--r--src/oom/test-oomd-util.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/oom/test-oomd-util.c b/src/oom/test-oomd-util.c
index 776c65820e..29f2c54ab1 100644
--- a/src/oom/test-oomd-util.c
+++ b/src/oom/test-oomd-util.c
@@ -90,6 +90,7 @@ static void test_oomd_cgroup_context_acquire_and_insert(void) {
_cleanup_free_ char *cgroup = NULL;
ManagedOOMPreference root_pref;
OomdCGroupContext *c1, *c2;
+ CGroupMask mask;
bool test_xattrs;
int root_xattrs, r;
@@ -102,6 +103,11 @@ static void test_oomd_cgroup_context_acquire_and_insert(void) {
if (cg_all_unified() <= 0)
return (void) log_tests_skipped("cgroups are not running in unified mode");
+ assert_se(cg_mask_supported(&mask) >= 0);
+
+ if (!FLAGS_SET(mask, CGROUP_MASK_MEMORY))
+ return (void) log_tests_skipped("cgroup memory controller is not available");
+
assert_se(cg_pid_get_path(NULL, 0, &cgroup) >= 0);
/* If we don't have permissions to set xattrs we're likely in a userns or missing capabilities