]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: skip tests if cgroup isn't mounted
authorDan Streetman <ddstreet@canonical.com>
Wed, 24 Feb 2021 12:29:15 +0000 (07:29 -0500)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 25 Feb 2021 07:32:04 +0000 (16:32 +0900)
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.

src/test/test-cgroup-util.c
src/test/test-cgroup.c
src/test/test-condition.c

index 41b1df117ee69dc11731676d037df488f1acc851..f95832acf61582b1b5234dfcef49444a3f997693 100644 (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);
index 722e11a0c0c2c92408040e045e02bbf69e4b2a99..3025a9a986219c2cb112550249c3f5b17a7c0fc6 100644 (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);
index 3fe961f60b5ce47dcaf83e6b7cc49538df49548e..db15fe3136ce64f45bcf49c7e3d53ff8181e8efa 100644 (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);