]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: add quick test to verify the PAM stack really ran in all run0 modes of operation 34880/head
authorLennart Poettering <lennart@poettering.net>
Thu, 24 Oct 2024 20:51:49 +0000 (22:51 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 24 Oct 2024 20:56:44 +0000 (22:56 +0200)
test/units/TEST-74-AUX-UTILS.run.sh

index 5b46e11409b814308e521e99d2b625d044c7ddb1..3ef9c88d7923c75f11ac6157dd58b1970e9a05ff 100755 (executable)
@@ -238,10 +238,13 @@ if [[ -e /usr/lib/pam.d/systemd-run0 ]] || [[ -e /etc/pam.d/systemd-run0 ]]; the
     run0 ls /
     assert_eq "$(run0 echo foo)" "foo"
     # Check if we set some expected environment variables
-    for arg in "" "--user=root" "--user=testuser"; do
+    for arg in "" "--user=root" "--user=0" "--user=testuser"; do
         assert_eq "$(run0 ${arg:+"$arg"} bash -c 'echo $SUDO_USER')" "$USER"
         assert_eq "$(run0 ${arg:+"$arg"} bash -c 'echo $SUDO_UID')" "$(id -u "$USER")"
         assert_eq "$(run0 ${arg:+"$arg"} bash -c 'echo $SUDO_GID')" "$(id -u "$USER")"
+
+        # Validate that we actually went properly through PAM (XDG_SESSION_TYPE is set by pam_systemd)
+        assert_eq "$(run0 ${arg:+"$arg"} bash -c 'echo $XDG_SESSION_TYPE')" "unspecified"
     done
     # Let's chain a couple of run0 calls together, for fun
     readarray -t cmdline < <(printf "%.0srun0\n" {0..31})