]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: add session class "none" login test 35171/head
authorRonan Pigott <ronan@rjp.ie>
Tue, 31 Dec 2024 04:17:38 +0000 (21:17 -0700)
committerRonan Pigott <ronan@rjp.ie>
Fri, 3 Jan 2025 03:18:15 +0000 (20:18 -0700)
test/units/TEST-35-LOGIN.sh

index 80320e32e175ed24cd986395e5b743a1863d675c..1fc49e75b433d3104d83c50bc4979f23eb20d9b6 100755 (executable)
@@ -701,13 +701,14 @@ background_at_return() {
 
 testcase_background() {
 
-    local uid TRANSIENTUNIT1 TRANSIENTUNIT2
+    local uid TRANSIENTUNIT0 TRANSIENTUNIT1 TRANSIENTUNIT2
 
     uid=$(id -u logind-test-user)
 
     systemctl stop user@"$uid".service
 
     PAMSERVICE="pamserv$RANDOM"
+    TRANSIENTUNIT0="none$RANDOM.service"
     TRANSIENTUNIT1="bg$RANDOM.service"
     TRANSIENTUNIT2="bgg$RANDOM.service"
 
@@ -722,6 +723,13 @@ session optional   pam_systemd.so debug
 session required   pam_unix.so
 EOF
 
+    systemd-run -u "$TRANSIENTUNIT0" -p PAMName="$PAMSERVICE" -p "Environment=XDG_SESSION_CLASS=none" -p Type=exec -p User=logind-test-user sleep infinity
+
+    # This was a 'none' service, so logind should take no action
+    (! systemctl is-active user@"$uid".service )
+
+    systemctl stop "$TRANSIENTUNIT0"
+
     systemd-run -u "$TRANSIENTUNIT1" -p PAMName="$PAMSERVICE" -p "Environment=XDG_SESSION_CLASS=background-light" -p Type=exec -p User=logind-test-user sleep infinity
 
     # This was a 'light' background service, hence the service manager should not be running