summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonny Chevalier <chevalier.ronny@gmail.com>2014-12-11 17:59:10 +0100
committerRonny Chevalier <chevalier.ronny@gmail.com>2014-12-11 18:32:57 +0100
commit27c5347c8c38bafedb1b48a5d8587d13eadcb90b (patch)
treebe8d9043b6c712b0920d5f76afe5466716481694
parent14b0295f916a7ce5262b0b5b8a3418ce474b9c69 (diff)
test-execute: add tests for UMask directive
-rw-r--r--Makefile.am2
-rw-r--r--src/test/test-execute.c6
-rw-r--r--test/exec-umask-0177.service7
-rw-r--r--test/exec-umask-default.service6
4 files changed, 21 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 9255fcf225..15e4484dd1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -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 \
diff --git a/src/test/test-execute.c b/src/test/test-execute.c
index 60466f0d3f..91ccaf72b8 100644
--- a/src/test/test-execute.c
+++ b/src/test/test-execute.c
@@ -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
index 0000000000..af9295888e
--- /dev/null
+++ b/test/exec-umask-0177.service
@@ -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
index 0000000000..41e20a60a1
--- /dev/null
+++ b/test/exec-umask-default.service
@@ -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