From f515f2a2182e98a93b669ea744b3809be883d7fa Mon Sep 17 00:00:00 2001 From: David Tardon Date: Fri, 19 May 2023 14:21:44 +0200 Subject: [PATCH] test: extend test for loginctl list-* (cherry picked from commit 98a155962d384ad2dd1cd11449a0143b5cfae8ef) Related: #2209912 --- test/units/testsuite-35.sh | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/test/units/testsuite-35.sh b/test/units/testsuite-35.sh index 09009fc257..c817bc82bb 100755 --- a/test/units/testsuite-35.sh +++ b/test/units/testsuite-35.sh @@ -520,7 +520,9 @@ test_session_properties() { /usr/lib/systemd/tests/manual/test-session-properties "/org/freedesktop/login1/session/_3${s?}" } -test_list_users_sessions() { +test_list_users_sessions_seats() { + local session seat + if [[ ! -c /dev/tty2 ]]; then echo "/dev/tty2 does not exist, skipping test ${FUNCNAME[0]}." return @@ -532,10 +534,19 @@ test_list_users_sessions() { # Activate the session loginctl activate "$(loginctl --no-legend | awk '$3 == "logind-test-user" { print $1 }')" + session=$(loginctl list-sessions --no-legend | awk '$3 == "logind-test-user" { print $1 }') + : check that we got a valid session id + busctl get-property org.freedesktop.login1 "/org/freedesktop/login1/session/_3${session?}" org.freedesktop.login1.Session Id + assert_eq "$(loginctl list-sessions --no-legend | awk '$3 == "logind-test-user" { print $2 }')" "$(id -ru logind-test-user)" + seat=$(loginctl list-sessions --no-legend | awk '$3 == "logind-test-user" { print $4 }') + assert_eq "$(loginctl list-sessions --no-legend | awk '$3 == "logind-test-user" { print $5 }')" tty2 + assert_eq "$(loginctl list-sessions --no-legend | awk '$3 == "logind-test-user" { print $6 }')" active + + loginctl list-seats --no-legend | grep -Fwq "${seat?}" + assert_eq "$(loginctl list-users --no-legend | awk '$2 == "logind-test-user" { print $1 }')" "$(id -ru logind-test-user)" assert_eq "$(loginctl list-users --no-legend | awk '$2 == "logind-test-user" { print $3 }')" no assert_eq "$(loginctl list-users --no-legend | awk '$2 == "logind-test-user" { print $4 }')" active - assert_eq "$(loginctl list-sessions --no-legend | awk '$3 == "logind-test-user" { print $6 }')" active loginctl enable-linger logind-test-user assert_eq "$(loginctl list-users --no-legend | awk '$2 == "logind-test-user" { print $3 }')" yes @@ -589,7 +600,7 @@ EOF : >/failed setup_test_user -test_list_users_sessions +test_list_users_sessions_seats test_enable_debug test_properties test_started