]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: add a simple test for list-users
authorDavid Tardon <dtardon@redhat.com>
Sun, 17 Jul 2022 13:35:22 +0000 (15:35 +0200)
committerDavid Tardon <dtardon@redhat.com>
Sun, 17 Jul 2022 18:26:09 +0000 (20:26 +0200)
test/units/testsuite-35.sh

index fa90bc6d734fa687b9c74a04a23dbf4a7a21566f..e2b3f497f2f1cf5cf6acf7bd6db0d4c0a75fb86f 100755 (executable)
@@ -225,6 +225,8 @@ cleanup_session() (
     rm -rf /run/systemd/system/getty@tty2.service.d
     systemctl daemon-reload
 
+    loginctl disable-linger logind-test-user
+
     pkill -u "$(id -u logind-test-user)"
     sleep 1
     pkill -KILL -u "$(id -u logind-test-user)"
@@ -445,6 +447,23 @@ test_session_properties() {
     /usr/lib/systemd/tests/manual/test-session-properties "/org/freedesktop/login1/session/_3${s?}"
 }
 
+test_list_users() {
+    if [[ ! -c /dev/tty2 ]]; then
+        echo "/dev/tty2 does not exist, skipping test ${FUNCNAME[0]}."
+        return
+    fi
+
+    trap cleanup_session RETURN
+    create_session
+
+    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
+
+    loginctl enable-linger logind-test-user
+
+    assert_eq "$(loginctl list-users --no-legend | awk '$2 == "logind-test-user" { print $3 }')" yes
+}
+
 : >/failed
 
 setup_test_user
@@ -456,6 +475,7 @@ test_shutdown
 test_session
 test_lock_idle_action
 test_session_properties
+test_list_users
 
 touch /testok
 rm /failed