From 028f3a7f9c75161c0b38be4e690a5b45d4d7b1c1 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sun, 3 Dec 2017 14:27:32 +0900 Subject: [PATCH] test-execute: add test for that DynamicUser= migrate StateDirectory= Test for 949befd3f09e8c06a908ec99efd241666c21d944. --- src/test/test-execute.c | 7 ++++++ test/meson.build | 2 ++ ...dynamicuser-statedir-migrate-step1.service | 16 +++++++++++++ ...dynamicuser-statedir-migrate-step2.service | 24 +++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 test/test-execute/exec-dynamicuser-statedir-migrate-step1.service create mode 100644 test/test-execute/exec-dynamicuser-statedir-migrate-step2.service 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 -- 2.47.3