_cleanup_(pidref_done) PidRef pid = PIDREF_NULL;
uid_t uid = UID_INVALID;
- r = proc_dir_read_pidref(d, &pid);
- assert_se(r >= 0);
-
+ ASSERT_OK(r = proc_dir_read_pidref(d, &pid));
if (r == 0)
break;
if (pidref_is_kernel_thread(&pid) != 0)
continue;
- ASSERT_OK_ZERO(cg_pidref_get_path(SYSTEMD_CGROUP_CONTROLLER, &pid, &path));
+ r = cg_pidref_get_path(SYSTEMD_CGROUP_CONTROLLER, &pid, &path);
+ if (r == -ESRCH)
+ continue;
+ ASSERT_OK(r);
+
/* Test may run in a container with supervising/monitor processes that don't belong to our
* cgroup tree (slices/leaves) */
if (hidden_cgroup(path))
continue;
- ASSERT_OK_ZERO(cg_pid_get_path_shifted(pid.pid, NULL, &path_shifted));
- ASSERT_OK_ZERO(cg_pidref_get_unit(&pid, &unit));
- ASSERT_OK_ZERO(cg_pid_get_slice(pid.pid, &slice));
+
+ r = cg_pid_get_path_shifted(pid.pid, NULL, &path_shifted);
+ if (r != -ESRCH)
+ ASSERT_OK(r);
+ r = cg_pidref_get_unit(&pid, &unit);
+ if (r != -ESRCH)
+ ASSERT_OK(r);
+ r = cg_pid_get_slice(pid.pid, &slice);
+ if (r != -ESRCH)
+ ASSERT_OK(r);
/* Not all processes belong to a specific user or a machine */
r = cg_pidref_get_owner_uid(&pid, &uid);
- ASSERT_TRUE(r == 0 || r == -ENXIO);
+ if (!IN_SET(r, -ESRCH, -ENXIO))
+ ASSERT_OK(r);
r = cg_pidref_get_session(&pid, &session);
- ASSERT_TRUE(r == 0 || r == -ENXIO);
+ if (!IN_SET(r, -ESRCH, -ENXIO))
+ ASSERT_OK(r);
r = cg_pid_get_user_unit(pid.pid, &user_unit);
- ASSERT_TRUE(r == 0 || r == -ENXIO);
+ if (!IN_SET(r, -ESRCH, -ENXIO))
+ ASSERT_OK(r);
r = cg_pid_get_machine_name(pid.pid, &machine);
- ASSERT_TRUE(r == 0 || r == -ENOENT);
-
- printf(PID_FMT"\t%s\t%s\t"UID_FMT"\t%s\t%s\t%s\t%s\t%s\n",
- pid.pid,
- path,
- path_shifted,
- uid,
- session,
- unit,
- user_unit,
- machine,
- slice);
+ if (!IN_SET(r, -ESRCH, -ENOENT))
+ ASSERT_OK(r);
+
+ log_debug(PID_FMT": %s, %s, "UID_FMT", %s, %s, %s, %s, %s",
+ pid.pid,
+ path,
+ strna(path_shifted),
+ uid,
+ strna(session),
+ strna(unit),
+ strna(user_unit),
+ strna(machine),
+ strna(slice));
}
}