summaryrefslogtreecommitdiffstats
path: root/src/libsystemd/sd-login/test-login.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsystemd/sd-login/test-login.c')
-rw-r--r--src/libsystemd/sd-login/test-login.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/libsystemd/sd-login/test-login.c b/src/libsystemd/sd-login/test-login.c
index 819f86f..66e4274 100644
--- a/src/libsystemd/sd-login/test-login.c
+++ b/src/libsystemd/sd-login/test-login.c
@@ -1,6 +1,9 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include <poll.h>
+#if HAVE_PIDFD_OPEN
+#include <sys/pidfd.h>
+#endif
#include "sd-login.h"
@@ -10,6 +13,7 @@
#include "format-util.h"
#include "log.h"
#include "missing_syscall.h"
+#include "mountpoint-util.h"
#include "process-util.h"
#include "string-util.h"
#include "strv.h"
@@ -103,7 +107,7 @@ TEST(login) {
assert_se(IN_SET(r, 0, -ENOMEDIUM));
}
- r = sd_uid_get_display(u2, &display_session);
+ r = ASSERT_RETURN_IS_CRITICAL(uid_is_valid(u2), sd_uid_get_display(u2, &display_session));
log_info("sd_uid_get_display("UID_FMT", …) → %s / \"%s\"", u2, e(r), strnull(display_session));
if (u2 == UID_INVALID)
assert_se(r == -EINVAL);
@@ -115,7 +119,7 @@ TEST(login) {
sd_peer_get_session(pair[1], &qq);
assert_se(streq_ptr(pp, qq));
- r = sd_uid_get_sessions(u2, false, &sessions);
+ r = ASSERT_RETURN_IS_CRITICAL(uid_is_valid(u2), sd_uid_get_sessions(u2, false, &sessions));
assert_se(t = strv_join(sessions, " "));
log_info("sd_uid_get_sessions("UID_FMT", …) → %s \"%s\"", u2, e(r), t);
if (u2 == UID_INVALID)
@@ -127,9 +131,9 @@ TEST(login) {
sessions = strv_free(sessions);
free(t);
- assert_se(r == sd_uid_get_sessions(u2, false, NULL));
+ assert_se(r == ASSERT_RETURN_IS_CRITICAL(uid_is_valid(u2), sd_uid_get_sessions(u2, false, NULL)));
- r = sd_uid_get_seats(u2, false, &seats);
+ r = ASSERT_RETURN_IS_CRITICAL(uid_is_valid(u2), sd_uid_get_seats(u2, false, &seats));
assert_se(t = strv_join(seats, " "));
log_info("sd_uid_get_seats("UID_FMT", …) → %s \"%s\"", u2, e(r), t);
if (u2 == UID_INVALID)
@@ -141,7 +145,7 @@ TEST(login) {
seats = strv_free(seats);
free(t);
- assert_se(r == sd_uid_get_seats(u2, false, NULL));
+ assert_se(r == ASSERT_RETURN_IS_CRITICAL(uid_is_valid(u2), sd_uid_get_seats(u2, false, NULL)));
if (session) {
r = sd_session_is_active(session);
@@ -327,6 +331,9 @@ TEST(monitor) {
}
static int intro(void) {
+ if (IN_SET(cg_unified(), -ENOENT, -ENOMEDIUM))
+ return log_tests_skipped("cgroupfs is not mounted");
+
log_info("/* Information printed is from the live system */");
return EXIT_SUCCESS;
}