From: Yu Watanabe Date: Sun, 3 Dec 2017 05:27:32 +0000 (+0900) Subject: test-execute: add test for that DynamicUser= migrate StateDirectory= X-Git-Tag: v236~63^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F7532%2Fhead;p=thirdparty%2Fsystemd.git test-execute: add test for that DynamicUser= migrate StateDirectory= Test for 949befd3f09e8c06a908ec99efd241666c21d944. --- diff --git a/src/test/test-execute.c b/src/test/test-execute.c index 92efc093719..1ef6bb4efaa 100644 --- a/src/test/test-execute.c +++ b/src/test/test-execute.c @@ -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) { diff --git a/test/meson.build b/test/meson.build index cd00186266e..c50757a46b2 100644 --- a/test/meson.build +++ b/test/meson.build @@ -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 index 00000000000..83bdfb311a3 --- /dev/null +++ b/test/test-execute/exec-dynamicuser-statedir-migrate-step1.service @@ -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 index 00000000000..8154922a2f1 --- /dev/null +++ b/test/test-execute/exec-dynamicuser-statedir-migrate-step2.service @@ -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