]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: move TEST-43-* setup to static files
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 20 Mar 2020 18:05:36 +0000 (19:05 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 28 Mar 2020 10:46:48 +0000 (11:46 +0100)
Setup of lingering is dropped. I don't think it's necessary for anything,
because the unit is still pulled in from the testsuite service.

test/TEST-43-PRIVATEUSER-UNPRIV/test.sh
test/test-functions
test/units/testsuite-43.service [new file with mode: 0644]
test/units/testsuite-43.sh [moved from test/TEST-43-PRIVATEUSER-UNPRIV/testsuite.sh with 100% similarity]

index 3b40bf7d8bb5b4445fb33d311e6a22199ec9cebc..4eed8242fd84e53e298be5ebc5ab68ba3f579770 100755 (executable)
@@ -11,39 +11,11 @@ test_setup() {
         eval $(udevadm info --export --query=env --name=${LOOPDEV}p2)
 
         setup_basic_environment
-        inst_binary stat
-
         mask_supporting_services
-
-        # Allocate user for running test case under
-        mkdir -p $initdir/etc/sysusers.d
-        cat >$initdir/etc/sysusers.d/testuser.conf <<EOF
-u testuser    4711     "Test User" /home/testuser
-EOF
-
-        mkdir -p $initdir/home/testuser -m 0700
-        chown 4711:4711 $initdir/home/testuser
-
-        enable_user_manager testuser
-
-        # setup the testsuite service
-        cat >$initdir/etc/systemd/system/testsuite.service <<EOF
-[Unit]
-Description=Testsuite service
-After=systemd-logind.service user@4711.service
-Wants=user@4711.service
-
-[Service]
-ExecStart=/testsuite.sh
-Type=oneshot
-EOF
-        cp testsuite.sh $initdir/
-
-        setup_testsuite
     )
     setup_nspawn_root
 }
 
 has_user_dbus_socket || exit 0
 
-do_test "$@"
+do_test "$@" 43
index eed3c3b9cdfe8432945d75c046f64dfaf6bffc45..6043192a01f3b921da0401d7766972b1353fdc52 100644 (file)
@@ -89,6 +89,7 @@ BASICTOOLS=(
     sleep
     socat
     stat
+    su
     sulogin
     sysctl
     tail
@@ -417,6 +418,8 @@ setup_basic_environment() {
     install_plymouth
     install_debug_tools
     install_ld_so_conf
+    install_testuser
+    has_user_dbus_socket && install_user_dbus
     setup_selinux
     strip_binaries
     install_depmod_files
@@ -825,6 +828,17 @@ install_ld_so_conf() {
     ldconfig -r "$initdir"
 }
 
+install_testuser() {
+    # create unprivileged user for user manager tests
+    mkdir -p $initdir/etc/sysusers.d
+    cat >$initdir/etc/sysusers.d/testuser.conf <<EOF
+u testuser    4711     "Test User" /home/testuser
+EOF
+
+    mkdir -p $initdir/home/testuser -m 0700
+    chown 4711:4711 $initdir/home/testuser
+}
+
 install_config_files() {
     inst /etc/sysconfig/init || :
     inst /etc/passwd
@@ -1034,19 +1048,6 @@ has_user_dbus_socket() {
     fi
 }
 
-enable_user_manager() {
-    has_user_dbus_socket || return 0
-
-    local _userid
-    [[ $# -gt 0 ]] || set -- nobody
-    mkdir -p "$initdir/var/lib/systemd/linger"
-    for _userid; do
-        touch "$initdir/var/lib/systemd/linger/$_userid"
-    done
-    dracut_install su
-    install_user_dbus
-}
-
 setup_nspawn_root() {
     rm -fr $TESTDIR/nspawn-root
     ddebug "cp -ar $initdir $TESTDIR/nspawn-root"
diff --git a/test/units/testsuite-43.service b/test/units/testsuite-43.service
new file mode 100644 (file)
index 0000000..6badedc
--- /dev/null
@@ -0,0 +1,8 @@
+[Unit]
+Description=TEST-43-PRIVATEUSER-UNPRIV
+After=systemd-logind.service user@4711.service
+Wants=user@4711.service
+
+[Service]
+ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
+Type=oneshot