summaryrefslogtreecommitdiff
path: root/src/test/test-execute.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2016-01-12 15:16:24 +0100
committerLennart Poettering <lennart@poettering.net>2016-01-12 15:16:24 +0100
commit1f52a79d4eb0216bf1f2d96539609f02d8bb9e71 (patch)
treed175e992048df607a2e851d51ca738e4f0e53d38 /src/test/test-execute.c
parent4a6a24be180337f405591c7fa4fa112a765c53bb (diff)
parentece87975a97509b48a01b1e3da2e99c1c7dfd77a (diff)
Merge pull request #2265 from ipuustin/ambient
capabilities: added support for ambient capabilities.
Diffstat (limited to 'src/test/test-execute.c')
-rw-r--r--src/test/test-execute.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/test-execute.c b/src/test/test-execute.c
index 753afadb0a..92857cb5e2 100644
--- a/src/test/test-execute.c
+++ b/src/test/test-execute.c
@@ -20,6 +20,7 @@
#include <grp.h>
#include <pwd.h>
#include <stdio.h>
+#include <sys/prctl.h>
#include <sys/types.h>
#include "fileio.h"
@@ -224,6 +225,20 @@ static void test_exec_capabilityboundingset(Manager *m) {
test(m, "exec-capabilityboundingset-invert.service", 0, CLD_EXITED);
}
+static void test_exec_capabilityambientset(Manager *m) {
+ int r;
+
+ /* Check if the kernel has support for ambient capabilities. Run
+ * the tests only if that's the case. Clearing all ambient
+ * capabilities is fine, since we are expecting them to be unset
+ * in the first place for the tests. */
+ r = prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_CLEAR_ALL, 0, 0, 0);
+ if (r >= 0 || errno != EINVAL) {
+ test(m, "exec-capabilityambientset.service", 0, CLD_EXITED);
+ test(m, "exec-capabilityambientset-merge.service", 0, CLD_EXITED);
+ }
+}
+
static void test_exec_privatenetwork(Manager *m) {
int r;
@@ -266,6 +281,7 @@ int main(int argc, char *argv[]) {
test_exec_umask,
test_exec_runtimedirectory,
test_exec_capabilityboundingset,
+ test_exec_capabilityambientset,
test_exec_oomscoreadjust,
test_exec_ioschedulingclass,
NULL,