X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Ftest-login.c;h=d78cea46af9a8a5efd0090025070b71a8957086b;hb=90e633a7901060063e62bf53948c4c239a9f55d1;hp=945cb38be9276c1d48f19cb9f99e48e93b4ad0ed;hpb=a20affe2f0fb4c8d488155a0b860549e9389f32a;p=elogind.git diff --git a/src/login/test-login.c b/src/login/test-login.c index 945cb38be..d78cea46a 100644 --- a/src/login/test-login.c +++ b/src/login/test-login.c @@ -27,10 +27,10 @@ #include "util.h" #include "strv.h" -int main(int argc, char* argv[]) { +static void test_login(void) { int r, k; uid_t u, u2; - char *seat, *type, *class, *display; + char *seat, *type, *class, *display, *remote_user, *remote_host; char *session; char *state; char *session2; @@ -39,7 +39,7 @@ int main(int argc, char* argv[]) { uid_t *uids; unsigned n; struct pollfd pollfd; - sd_login_monitor *m; + sd_login_monitor *m = NULL; assert_se(sd_pid_get_session(0, &session) == 0); printf("session = %s\n", session); @@ -71,6 +71,10 @@ int main(int argc, char* argv[]) { assert_se(r >= 0); printf("active = %s\n", yes_no(r)); + r = sd_session_is_remote(session); + assert_se(r >= 0); + printf("remote = %s\n", yes_no(r)); + r = sd_session_get_state(session, &state); assert_se(r >= 0); printf("state = %s\n", state); @@ -92,6 +96,14 @@ int main(int argc, char* argv[]) { printf("display = %s\n", display); free(display); + assert_se(sd_session_get_remote_user(session, &remote_user) >= 0); + printf("remote_user = %s\n", remote_user); + free(remote_user); + + assert_se(sd_session_get_remote_host(session, &remote_host) >= 0); + printf("remote_host = %s\n", remote_host); + free(remote_host); + assert_se(sd_session_get_seat(session, &seat) >= 0); printf("seat = %s\n", seat); @@ -215,6 +227,13 @@ int main(int argc, char* argv[]) { } sd_login_monitor_unref(m); +} + +int main(int argc, char* argv[]) { + log_parse_environment(); + log_open(); + + test_login(); return 0; }