]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: extend test for loginctl list-*
authorDavid Tardon <dtardon@redhat.com>
Fri, 19 May 2023 12:21:44 +0000 (14:21 +0200)
committerDavid Tardon <dtardon@redhat.com>
Tue, 23 May 2023 07:29:21 +0000 (09:29 +0200)
test/units/testsuite-35.sh

index e9d88e1c8370f5e88aca3bc93b5f97e33cf5ee93..cae25499ad26cafc2c1178f8eb1d4df06cb037dc 100755 (executable)
@@ -522,7 +522,9 @@ testcase_session_properties() {
     /usr/lib/systemd/tests/unit-tests/manual/test-session-properties "/org/freedesktop/login1/session/_3${s?}" /dev/tty2
 }
 
-testcase_list_users_sessions() {
+testcase_list_users_sessions_seats() {
+    local session seat
+
     if [[ ! -c /dev/tty2 ]]; then
         echo "/dev/tty2 does not exist, skipping test ${FUNCNAME[0]}."
         return
@@ -534,10 +536,19 @@ testcase_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