From 607ff5f95aac387ef3fb79358e7416b7c8b2090d Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Sun, 18 Jan 2015 20:07:51 +0100 Subject: [PATCH 1/1] Revert "test-exec: do not skip all the tests" This reverts commit 68e68ca8106e7cd874682ae425843b48579c6539. We *need* root access to create cgroups. The only exception is if it is run from within a cgroup with "Delegate=yes". However, this is not always true and we really shouldn't rely on this. If your terminal runs from within a systemd --user instance, you're fine. Everyone else is not (like running from ssh, VTs, and so on..). --- src/test/test-execute.c | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/src/test/test-execute.c b/src/test/test-execute.c index 69368b177..91ccaf72b 100644 --- a/src/test/test-execute.c +++ b/src/test/test-execute.c @@ -90,10 +90,6 @@ static void test_exec_ignoresigpipe(Manager *m) { } static void test_exec_privatetmp(Manager *m) { - if (getuid() != 0) { - printf("Skipping test_exec_privatetmp: not root\n"); - return; - } assert_se(touch("/tmp/test-exec_privatetmp") >= 0); test(m, "exec-privatetmp-yes.service", 0, CLD_EXITED); @@ -103,10 +99,6 @@ static void test_exec_privatetmp(Manager *m) { } static void test_exec_privatedevices(Manager *m) { - if (getuid() != 0) { - printf("Skipping test_exec_privatedevices: not root\n"); - return; - } test(m, "exec-privatedevices-yes.service", 0, CLD_EXITED); test(m, "exec-privatedevices-no.service", 0, CLD_EXITED); } @@ -127,18 +119,10 @@ static void test_exec_systemcallerrornumber(Manager *m) { } static void test_exec_user(Manager *m) { - if (getuid() != 0) { - printf("Skipping test_exec_user: not root\n"); - return; - } test(m, "exec-user.service", 0, CLD_EXITED); } static void test_exec_group(Manager *m) { - if (getuid() != 0) { - printf("Skipping test_exec_group: not root\n"); - return; - } test(m, "exec-group.service", 0, CLD_EXITED); } @@ -149,10 +133,6 @@ static void test_exec_environment(Manager *m) { } static void test_exec_umask(Manager *m) { - if (getuid() != 0) { - printf("Skipping test_exec_umask: not root\n"); - return; - } test(m, "exec-umask-default.service", 0, CLD_EXITED); test(m, "exec-umask-0177.service", 0, CLD_EXITED); } @@ -179,6 +159,12 @@ int main(int argc, char *argv[]) { log_parse_environment(); log_open(); + /* It is needed otherwise cgroup creation fails */ + if (getuid() != 0) { + printf("Skipping test: not root\n"); + return EXIT_TEST_SKIP; + } + assert_se(set_unit_path(TEST_DIR ":") >= 0); r = manager_new(SYSTEMD_USER, true, &m); -- 2.30.2