chiark / gitweb /
test-execute: add tests for UMask directive
authorRonny Chevalier <chevalier.ronny@gmail.com>
Thu, 11 Dec 2014 16:59:10 +0000 (17:59 +0100)
committerRonny Chevalier <chevalier.ronny@gmail.com>
Thu, 11 Dec 2014 17:32:57 +0000 (18:32 +0100)
Makefile.am
src/test/test-execute.c
test/exec-umask-0177.service [new file with mode: 0644]
test/exec-umask-default.service [new file with mode: 0644]

index 9255fcf22511250918d2d882af72f20985be26a4..15e4484dd14b4e9ede536f4573f3760b25cc0536 100644 (file)
@@ -1443,6 +1443,8 @@ EXTRA_DIST += \
        test/exec-systemcallfilter-not-failing.service \
        test/exec-user.service \
        test/exec-workingdirectory.service \
+       test/exec-umask-0177.service \
+       test/exec-umask-default.service \
        test/bus-policy/hello.conf \
        test/bus-policy/methods.conf \
        test/bus-policy/ownerships.conf \
index 60466f0d3ffaae68375d6098df2b6fa03e8af1d4..91ccaf72b849e57f70a635912619ad2da5fd4d3c 100644 (file)
@@ -132,6 +132,11 @@ static void test_exec_environment(Manager *m) {
         test(m, "exec-environment-empty.service", 0, CLD_EXITED);
 }
 
+static void test_exec_umask(Manager *m) {
+        test(m, "exec-umask-default.service", 0, CLD_EXITED);
+        test(m, "exec-umask-0177.service", 0, CLD_EXITED);
+}
+
 int main(int argc, char *argv[]) {
         test_function_t tests[] = {
                 test_exec_workingdirectory,
@@ -144,6 +149,7 @@ int main(int argc, char *argv[]) {
                 test_exec_user,
                 test_exec_group,
                 test_exec_environment,
+                test_exec_umask,
                 NULL,
         };
         test_function_t *test = NULL;
diff --git a/test/exec-umask-0177.service b/test/exec-umask-0177.service
new file mode 100644 (file)
index 0000000..af92958
--- /dev/null
@@ -0,0 +1,7 @@
+[Unit]
+Description=Test for UMask
+
+[Service]
+ExecStart=/bin/sh -c 'touch /tmp/test-exec-umask; s=$(stat -c %a /tmp/test-exec-umask); echo $s; exit $(test $s = "600")'
+UMask=0177
+PrivateTmp=yes
diff --git a/test/exec-umask-default.service b/test/exec-umask-default.service
new file mode 100644 (file)
index 0000000..41e20a6
--- /dev/null
@@ -0,0 +1,6 @@
+[Unit]
+Description=Test for UMask default
+
+[Service]
+ExecStart=/bin/sh -c 'touch /tmp/test-exec-umask; s=$(stat -c %a /tmp/test-exec-umask); echo $s; exit $(test $s = "644")'
+PrivateTmp=yes