]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tests: add test case for UMask=+BindPaths= combination 21320/head
authorLennart Poettering <lennart@poettering.net>
Fri, 12 Nov 2021 12:41:59 +0000 (13:41 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 12 Nov 2021 15:02:26 +0000 (16:02 +0100)
Inspired by the test case described in #19899

src/test/test-execute.c
test/test-execute/exec-umask-namespace.service [new file with mode: 0644]

index c81842a0d0187db638a69c3d177db0658885440a..5818adbb5520087e5e83a0c57fb51dbcbdf4af24 100644 (file)
@@ -1109,6 +1109,10 @@ static void test_exec_condition(Manager *m) {
         test_service(m, "exec-condition-skip.service", SERVICE_SKIP_CONDITION);
 }
 
+static void test_exec_umask_namespace(Manager *m) {
+        test(m, "exec-umask-namespace.service", can_unshare ? 0 : EXIT_NAMESPACE, CLD_EXITED);
+}
+
 typedef struct test_entry {
         test_function_t f;
         const char *name;
@@ -1191,6 +1195,7 @@ int main(int argc, char *argv[]) {
                 entry(test_exec_specifier),
                 entry(test_exec_execsearchpath_specifier),
                 entry(test_exec_systemcallfilter_system),
+                entry(test_exec_umask_namespace),
                 {},
         };
         int r;
diff --git a/test/test-execute/exec-umask-namespace.service b/test/test-execute/exec-umask-namespace.service
new file mode 100644 (file)
index 0000000..8419c86
--- /dev/null
@@ -0,0 +1,12 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+[Unit]
+Description=Test for UMask= + namespacing
+
+[Service]
+ExecStart=/bin/ls -lahd /tmp/subdir
+Type=oneshot
+User=65534
+Group=65534
+TemporaryFileSystem=/tmp:ro
+BindPaths=/etc:/tmp/subdir/subsub
+UMask=0007