test-execute: add test case for PrivateTmp=disconnected
This commit is contained in:
@@ -491,6 +491,20 @@ static void test_exec_privatetmp(Manager *m) {
|
||||
if (MANAGER_IS_SYSTEM(m) || have_userns_privileges()) {
|
||||
test(m, "exec-privatetmp-yes.service", can_unshare ? 0 : MANAGER_IS_SYSTEM(m) ? EXIT_FAILURE : EXIT_NAMESPACE, CLD_EXITED);
|
||||
test(m, "exec-privatetmp-disabled-by-prefix.service", can_unshare ? 0 : MANAGER_IS_SYSTEM(m) ? EXIT_FAILURE : EXIT_NAMESPACE, CLD_EXITED);
|
||||
|
||||
FOREACH_STRING(s,
|
||||
"exec-privatetmp-disconnected.service",
|
||||
"exec-privatetmp-disconnected-defaultdependencies-no.service",
|
||||
"exec-privatetmp-disconnected-requires-mounts-for-var.service",
|
||||
"exec-privatetmp-disconnected-wants-mounts-for-var.service",
|
||||
"exec-privatetmp-disconnected-after-and-requires-for-var.service",
|
||||
"exec-privatetmp-disconnected-after-and-wants-for-var.service") {
|
||||
(void) unlink("/tmp/test-exec_privatetmp_disconnected");
|
||||
(void) unlink("/var/tmp/test-exec_privatetmp_disconnected");
|
||||
test(m, s, can_unshare ? 0 : MANAGER_IS_SYSTEM(m) ? EXIT_FAILURE : EXIT_NAMESPACE, CLD_EXITED);
|
||||
ASSERT_FAIL(access("/tmp/test-exec_privatetmp_disconnected", F_OK));
|
||||
ASSERT_FAIL(access("/var/tmp/test-exec_privatetmp_disconnected", F_OK));
|
||||
}
|
||||
}
|
||||
|
||||
test(m, "exec-privatetmp-no.service", 0, CLD_EXITED);
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
Description=Test for PrivateTmp=disconnected with After=/Requires=var.mount
|
||||
DefaultDependencies=no
|
||||
After=var.mount
|
||||
Requires=var.mount
|
||||
|
||||
[Service]
|
||||
ExecStart=sh -x -c 'test ! -f /tmp/test-exec_privatetmp'
|
||||
ExecStart=touch /tmp/test-exec_privatetmp_disconnected
|
||||
ExecStart=touch /var/tmp/test-exec_privatetmp_disconnected
|
||||
ExecStart=sh -x -c 'test x$$TMPDIR = x'
|
||||
Type=oneshot
|
||||
ProtectSystem=strict
|
||||
PrivateTmp=disconnected
|
||||
@@ -0,0 +1,15 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
Description=Test for PrivateTmp=disconnected with After=/Wants=var.mount
|
||||
DefaultDependencies=no
|
||||
After=var.mount
|
||||
Wants=var.mount
|
||||
|
||||
[Service]
|
||||
ExecStart=sh -x -c 'test ! -f /tmp/test-exec_privatetmp'
|
||||
ExecStart=touch /tmp/test-exec_privatetmp_disconnected
|
||||
ExecStart=touch /var/tmp/test-exec_privatetmp_disconnected
|
||||
ExecStart=sh -x -c 'test x$$TMPDIR = x'
|
||||
Type=oneshot
|
||||
ProtectSystem=strict
|
||||
PrivateTmp=disconnected
|
||||
@@ -0,0 +1,13 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
Description=Test for PrivateTmp=disconnected with DefaultDependencies=no
|
||||
DefaultDependencies=no
|
||||
|
||||
[Service]
|
||||
ExecStart=sh -x -c 'test ! -f /tmp/test-exec_privatetmp'
|
||||
ExecStart=touch /tmp/test-exec_privatetmp_disconnected
|
||||
ExecStart=sh -x -c '(! touch /var/tmp/test-exec_privatetmp_disconnected)'
|
||||
ExecStart=sh -x -c 'test $$TMPDIR = /tmp'
|
||||
Type=oneshot
|
||||
ProtectSystem=strict
|
||||
PrivateTmp=disconnected
|
||||
@@ -0,0 +1,14 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
Description=Test for PrivateTmp=disconnected with RequiresMountsFor=/var/
|
||||
DefaultDependencies=no
|
||||
RequiresMountsFor=/var/
|
||||
|
||||
[Service]
|
||||
ExecStart=sh -x -c 'test ! -f /tmp/test-exec_privatetmp'
|
||||
ExecStart=touch /tmp/test-exec_privatetmp_disconnected
|
||||
ExecStart=touch /var/tmp/test-exec_privatetmp_disconnected
|
||||
ExecStart=sh -x -c 'test x$$TMPDIR = x'
|
||||
Type=oneshot
|
||||
ProtectSystem=strict
|
||||
PrivateTmp=disconnected
|
||||
@@ -0,0 +1,14 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
Description=Test for PrivateTmp=disconnected with WantsMountsFor=/var/
|
||||
DefaultDependencies=no
|
||||
WantsMountsFor=/var/
|
||||
|
||||
[Service]
|
||||
ExecStart=sh -x -c 'test ! -f /tmp/test-exec_privatetmp'
|
||||
ExecStart=touch /tmp/test-exec_privatetmp_disconnected
|
||||
ExecStart=touch /var/tmp/test-exec_privatetmp_disconnected
|
||||
ExecStart=sh -x -c 'test x$$TMPDIR = x'
|
||||
Type=oneshot
|
||||
ProtectSystem=strict
|
||||
PrivateTmp=disconnected
|
||||
@@ -0,0 +1,12 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
Description=Test for PrivateTmp=disconnected
|
||||
|
||||
[Service]
|
||||
ExecStart=sh -x -c 'test ! -f /tmp/test-exec_privatetmp'
|
||||
ExecStart=touch /tmp/test-exec_privatetmp_disconnected
|
||||
ExecStart=touch /var/tmp/test-exec_privatetmp_disconnected
|
||||
ExecStart=sh -x -c 'test x$$TMPDIR = x'
|
||||
Type=oneshot
|
||||
ProtectSystem=strict
|
||||
PrivateTmp=disconnected
|
||||
Reference in New Issue
Block a user