summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2015-01-18 20:07:51 +0100
committerDavid Herrmann <dh.herrmann@gmail.com>2015-01-18 20:07:51 +0100
commit607ff5f95aac387ef3fb79358e7416b7c8b2090d (patch)
tree1d78d316b1d8906c051a95ad432307309bd309d1
parent21fce57b26f50381d21a22be4d62a8f6067dc5c9 (diff)
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..).
-rw-r--r--src/test/test-execute.c26
1 files changed, 6 insertions, 20 deletions
diff --git a/src/test/test-execute.c b/src/test/test-execute.c
index 69368b177b..91ccaf72b8 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);