From 8b3c4b57573727124a065d6dafcfe0b862e08b94 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 24 Nov 2017 18:17:28 +0900 Subject: [PATCH] test-execute: test more % specifiers (#7450) --- src/test/test-execute.c | 1 + test/meson.build | 1 + test/test-execute/exec-specifier.service | 12 +++++++++--- test/test-execute/exec-specifier@.service | 21 +++++++++++++++++++++ 4 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 test/test-execute/exec-specifier@.service diff --git a/src/test/test-execute.c b/src/test/test-execute.c index 941c10a11e..14e23a32e9 100644 --- a/src/test/test-execute.c +++ b/src/test/test-execute.c @@ -477,6 +477,7 @@ static void test_exec_unset_environment(Manager *m) { static void test_exec_specifier(Manager *m) { test(m, "exec-specifier.service", 0, CLD_EXITED); + test(m, "exec-specifier@foo-bar.service", 0, CLD_EXITED); } static void test_exec_stdin_data(Manager *m) { diff --git a/test/meson.build b/test/meson.build index 28b5fcdbca..8f0c6ab909 100644 --- a/test/meson.build +++ b/test/meson.build @@ -111,6 +111,7 @@ test_data_files = ''' test-execute/exec-runtimedirectory.service test-execute/exec-spec-interpolation.service test-execute/exec-specifier.service + test-execute/exec-specifier@.service test-execute/exec-stdin-data.service test-execute/exec-stdio-file.service test-execute/exec-supplementarygroups-multiple-groups-default-group-user.service diff --git a/test/test-execute/exec-specifier.service b/test/test-execute/exec-specifier.service index 228d7837ad..aebdd7c4c2 100644 --- a/test/test-execute/exec-specifier.service +++ b/test/test-execute/exec-specifier.service @@ -4,12 +4,18 @@ ExecStart=/usr/bin/test %n = exec-specifier.service ExecStart=/usr/bin/test %N = exec-specifier ExecStart=/usr/bin/test %p = exec-specifier ExecStart=/usr/bin/test %P = exec/specifier +ExecStart=/usr/bin/test %i = "" +ExecStart=/usr/bin/test %I = "" ExecStart=/usr/bin/test %f = /exec/specifier ExecStart=/usr/bin/test %t = /run ExecStart=/usr/bin/test %S = /var/lib ExecStart=/usr/bin/test %C = /var/cache ExecStart=/usr/bin/test %L = /var/log +ExecStart=/bin/sh -c 'test %u = $$(id -un 0)' ExecStart=/usr/bin/test %U = 0 - -# We don't test the other specifiers here, since they migh resolve to different -# things in different test environments +ExecStart=/bin/sh -c 'test %h = $$(getent passwd 0 | cut -d: -f 6) +ExecStart=/bin/sh -c 'test %s = $$(getent passwd 0 | cut -d: -f 7) +ExecStart=/bin/sh -c 'test %m = $$(cat /etc/machine-id)' +ExecStart=/bin/sh -c 'test %b = $$(cat /proc/sys/kernel/random/boot_id | sed -e 's/-//g')' +ExecStart=/bin/sh -c 'test %H = $$(hostname)' +ExecStart=/bin/sh -c 'test %v = $$(uname -r)' diff --git a/test/test-execute/exec-specifier@.service b/test/test-execute/exec-specifier@.service new file mode 100644 index 0000000000..1038f05027 --- /dev/null +++ b/test/test-execute/exec-specifier@.service @@ -0,0 +1,21 @@ +[Service] +Type=oneshot +ExecStart=/usr/bin/test %n = exec-specifier@foo-bar.service +ExecStart=/usr/bin/test %N = exec-specifier@foo-bar +ExecStart=/usr/bin/test %p = exec-specifier +ExecStart=/usr/bin/test %P = exec/specifier +ExecStart=/usr/bin/test %i = foo-bar +ExecStart=/usr/bin/test %I = foo/bar +ExecStart=/usr/bin/test %f = /foo/bar +ExecStart=/usr/bin/test %t = /run +ExecStart=/usr/bin/test %S = /var/lib +ExecStart=/usr/bin/test %C = /var/cache +ExecStart=/usr/bin/test %L = /var/log +ExecStart=/bin/sh -c 'test %u = $$(id -un 0)' +ExecStart=/usr/bin/test %U = 0 +ExecStart=/bin/sh -c 'test %h = $$(getent passwd 0 | cut -d: -f 6) +ExecStart=/bin/sh -c 'test %s = $$(getent passwd 0 | cut -d: -f 7) +ExecStart=/bin/sh -c 'test %m = $$(cat /etc/machine-id)' +ExecStart=/bin/sh -c 'test %b = $$(cat /proc/sys/kernel/random/boot_id | sed -e 's/-//g')' +ExecStart=/bin/sh -c 'test %H = $$(hostname)' +ExecStart=/bin/sh -c 'test %v = $$(uname -r)'