test: skip tests if cgroup isn't mounted

Debian builds in a chroot without cgroup mounted, so tests expecting
to access cgroup will fail with ENOMEDIUM, so skip the tests in that
situation.
This commit is contained in:
Dan Streetman 2021-02-24 07:29:15 -05:00 committed by Yu Watanabe
parent a437c5e4da
commit b66789a9b5
3 changed files with 12 additions and 5 deletions

View file

@ -338,7 +338,7 @@ static void test_cg_tests(void) {
r = cg_unified();
if (r == -ENOMEDIUM) {
log_notice_errno(r, "Skipping cg hierarchy tests: %m");
log_tests_skipped("cgroup not mounted");
return;
}
assert_se(r >= 0);

View file

@ -47,10 +47,11 @@ static void test_cg_create(void) {
int r;
r = cg_unified_cached(false);
if (r < 0) {
log_info_errno(r, "Skipping %s: %m", __func__);
if (r == -ENOMEDIUM) {
log_tests_skipped("cgroup not mounted");
return;
}
assert_se(r >= 0);
_cleanup_free_ char *here = NULL;
assert_se(cg_pid_get_path_shifted(0, NULL, &here) >= 0);

View file

@ -129,6 +129,11 @@ static void test_condition_test_control_group_hierarchy(void) {
int r;
r = cg_unified();
if (r == -ENOMEDIUM) {
log_tests_skipped("cgroup not mounted");
return;
}
assert_se(r >= 0);
condition = condition_new(CONDITION_CONTROL_GROUP_CONTROLLER, "v1", false, false);
assert_se(condition);
@ -148,10 +153,11 @@ static void test_condition_test_control_group_controller(void) {
int r;
r = cg_unified();
if (r < 0) {
log_notice_errno(r, "Skipping ConditionControlGroupController tests: %m");
if (r == -ENOMEDIUM) {
log_tests_skipped("cgroup not mounted");
return;
}
assert_se(r >= 0);
/* Invalid controllers are ignored */
condition = condition_new(CONDITION_CONTROL_GROUP_CONTROLLER, "thisisnotarealcontroller", false, false);