]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-execute: add test for that DynamicUser= migrate StateDirectory= 7532/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 3 Dec 2017 05:27:32 +0000 (14:27 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 5 Dec 2017 15:37:09 +0000 (00:37 +0900)
Test for 949befd3f09e8c06a908ec99efd241666c21d944.

src/test/test-execute.c
test/meson.build
test/test-execute/exec-dynamicuser-statedir-migrate-step1.service [new file with mode: 0644]
test/test-execute/exec-dynamicuser-statedir-migrate-step2.service [new file with mode: 0644]

index 92efc0937192d1edf996b6c282164724cace16ad..1ef6bb4efaa584a1c237d799e58273bb4dba1acf 100644 (file)
@@ -341,6 +341,13 @@ static void test_exec_dynamicuser(Manager *m) {
         test(m, "exec-dynamicuser-fixeduser-one-supplementarygroup.service", 0, CLD_EXITED);
         test(m, "exec-dynamicuser-supplementarygroups.service", 0, CLD_EXITED);
         test(m, "exec-dynamicuser-statedir.service", 0, CLD_EXITED);
+
+        test(m, "exec-dynamicuser-statedir-migrate-step1.service", 0, CLD_EXITED);
+        test(m, "exec-dynamicuser-statedir-migrate-step2.service", 0, CLD_EXITED);
+        (void) rm_rf("/var/lib/test-dynamicuser-migrate", REMOVE_ROOT|REMOVE_PHYSICAL);
+        (void) rm_rf("/var/lib/test-dynamicuser-migrate2", REMOVE_ROOT|REMOVE_PHYSICAL);
+        (void) rm_rf("/var/lib/private/test-dynamicuser-migrate", REMOVE_ROOT|REMOVE_PHYSICAL);
+        (void) rm_rf("/var/lib/private/test-dynamicuser-migrate2", REMOVE_ROOT|REMOVE_PHYSICAL);
 }
 
 static void test_exec_environment(Manager *m) {
index cd00186266e49df6158bbd344075035ea7e502b3..c50757a46b242734527c77e1f37efeb87c901c21 100644 (file)
@@ -56,6 +56,8 @@ test_data_files = '''
         test-execute/exec-capabilityboundingset-simple.service
         test-execute/exec-dynamicuser-fixeduser-one-supplementarygroup.service
         test-execute/exec-dynamicuser-fixeduser.service
+        test-execute/exec-dynamicuser-statedir-migrate-step1.service
+        test-execute/exec-dynamicuser-statedir-migrate-step2.service
         test-execute/exec-dynamicuser-statedir.service
         test-execute/exec-dynamicuser-supplementarygroups.service
         test-execute/exec-environment-empty.service
diff --git a/test/test-execute/exec-dynamicuser-statedir-migrate-step1.service b/test/test-execute/exec-dynamicuser-statedir-migrate-step1.service
new file mode 100644 (file)
index 0000000..83bdfb3
--- /dev/null
@@ -0,0 +1,16 @@
+[Unit]
+Description=Test DynamicUser= migrate StateDirectory= (preparation)
+
+[Service]
+ExecStart=/bin/sh -c 'test -w /var/lib/test-dynamicuser-migrate'
+ExecStart=/bin/sh -c 'test -w /var/lib/test-dynamicuser-migrate2/hoge'
+ExecStart=/bin/sh -c 'test ! -L /var/lib/test-dynamicuser-migrate'
+ExecStart=/bin/sh -c 'test ! -L /var/lib/test-dynamicuser-migrate2/hoge'
+ExecStart=/bin/sh -c 'test -d /var/lib/test-dynamicuser-migrate'
+ExecStart=/bin/sh -c 'test -d /var/lib/test-dynamicuser-migrate2/hoge'
+ExecStart=/bin/sh -c 'touch /var/lib/test-dynamicuser-migrate/yay'
+ExecStart=/bin/sh -c 'touch /var/lib/test-dynamicuser-migrate2/hoge/yayyay'
+
+Type=oneshot
+DynamicUser=no
+StateDirectory=test-dynamicuser-migrate test-dynamicuser-migrate2/hoge
diff --git a/test/test-execute/exec-dynamicuser-statedir-migrate-step2.service b/test/test-execute/exec-dynamicuser-statedir-migrate-step2.service
new file mode 100644 (file)
index 0000000..8154922
--- /dev/null
@@ -0,0 +1,24 @@
+[Unit]
+Description=Test DynamicUser= migrate StateDirectory= (preparation)
+
+[Service]
+ExecStart=/bin/sh -c 'test -w /var/lib/test-dynamicuser-migrate'
+ExecStart=/bin/sh -c 'test -w /var/lib/test-dynamicuser-migrate2/hoge'
+ExecStart=/bin/sh -c 'test -L /var/lib/test-dynamicuser-migrate'
+ExecStart=/bin/sh -c 'test -L /var/lib/test-dynamicuser-migrate2/hoge'
+ExecStart=/bin/sh -c 'test -d /var/lib/test-dynamicuser-migrate'
+ExecStart=/bin/sh -c 'test -d /var/lib/test-dynamicuser-migrate2/hoge'
+ExecStart=/bin/sh -c 'test -f /var/lib/test-dynamicuser-migrate/yay'
+ExecStart=/bin/sh -c 'test -f /var/lib/test-dynamicuser-migrate2/hoge/yayyay'
+ExecStart=/bin/sh -c 'test -d /var/lib/private/test-dynamicuser-migrate'
+ExecStart=/bin/sh -c 'test -d /var/lib/private/test-dynamicuser-migrate2/hoge'
+ExecStart=/bin/sh -c 'test -f /var/lib/private/test-dynamicuser-migrate/yay'
+ExecStart=/bin/sh -c 'test -f /var/lib/private/test-dynamicuser-migrate2/hoge/yayyay'
+ExecStart=/bin/sh -c 'touch /var/lib/test-dynamicuser-migrate/yay'
+ExecStart=/bin/sh -c 'touch /var/lib/test-dynamicuser-migrate2/hoge/yayyay'
+ExecStart=/bin/sh -c 'touch /var/lib/private/test-dynamicuser-migrate/yay'
+ExecStart=/bin/sh -c 'touch /var/lib/private/test-dynamicuser-migrate2/hoge/yayyay'
+
+Type=oneshot
+DynamicUser=yes
+StateDirectory=test-dynamicuser-migrate test-dynamicuser-migrate2/hoge