]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: add capability tests for ProtectKernelModules=
authorDjalal Harouni <tixxdz@opendz.org>
Fri, 7 Oct 2016 17:17:34 +0000 (19:17 +0200)
committerDjalal Harouni <tixxdz@opendz.org>
Wed, 12 Oct 2016 11:36:27 +0000 (13:36 +0200)
This just adds capabilities test.

Makefile.am
src/test/test-execute.c
test/test-execute/exec-protectkernelmodules-no-capabilities.service [new file with mode: 0644]
test/test-execute/exec-protectkernelmodules-yes-capabilities.service [new file with mode: 0644]

index b09b0cf1671c9674ca75ee4a3396dbd4f99c93e9..1ea25bb688cebd2bcd13e2d5b4d169d63a7182c7 100644 (file)
@@ -1639,6 +1639,8 @@ EXTRA_DIST += \
        test/test-execute/exec-privatedevices-yes.service \
        test/test-execute/exec-privatedevices-no-capability-mknod.service \
        test/test-execute/exec-privatedevices-yes-capability-mknod.service \
+       test/test-execute/exec-protectkernelmodules-no-capabilities.service \
+       test/test-execute/exec-protectkernelmodules-yes-capabilities.service \
        test/test-execute/exec-privatetmp-no.service \
        test/test-execute/exec-privatetmp-yes.service \
        test/test-execute/exec-readonlypaths.service \
index 8b4ff22495b1cde83d8064881687093dfc252e72..f7d38fb0f3369a1e550f5573ee4a7f0d0b2dac56 100644 (file)
@@ -142,6 +142,16 @@ static void test_exec_privatedevices_capabilities(Manager *m) {
         test(m, "exec-privatedevices-no-capability-mknod.service", 0, CLD_EXITED);
 }
 
+static void test_exec_protectkernelmodules_capabilities(Manager *m) {
+        if (detect_container() > 0) {
+                log_notice("testing in container, skipping protectkernelmodules tests");
+                return;
+        }
+
+        test(m, "exec-protectkernelmodules-no-capabilities.service", 0, CLD_EXITED);
+        test(m, "exec-protectkernelmodules-yes-capabilities.service", 0, CLD_EXITED);
+}
+
 static void test_exec_readonlypaths(Manager *m) {
         test(m, "exec-readonlypaths.service", 0, CLD_EXITED);
         test(m, "exec-readonlypaths-mount-propagation.service", 0, CLD_EXITED);
@@ -368,6 +378,7 @@ int main(int argc, char *argv[]) {
                 test_exec_privatetmp,
                 test_exec_privatedevices,
                 test_exec_privatedevices_capabilities,
+                test_exec_protectkernelmodules_capabilities,
                 test_exec_readonlypaths,
                 test_exec_readwritepaths,
                 test_exec_inaccessiblepaths,
diff --git a/test/test-execute/exec-protectkernelmodules-no-capabilities.service b/test/test-execute/exec-protectkernelmodules-no-capabilities.service
new file mode 100644 (file)
index 0000000..b2f2cd6
--- /dev/null
@@ -0,0 +1,7 @@
+[Unit]
+Description=Test CAP_SYS_MODULE ProtectKernelModules=no
+
+[Service]
+ProtectKernelModules=no
+ExecStart=/bin/sh -x -c 'capsh --print | grep cap_sys_module'
+Type=oneshot
diff --git a/test/test-execute/exec-protectkernelmodules-yes-capabilities.service b/test/test-execute/exec-protectkernelmodules-yes-capabilities.service
new file mode 100644 (file)
index 0000000..84bf39b
--- /dev/null
@@ -0,0 +1,7 @@
+[Unit]
+Description=Test CAP_SYS_MODULE for ProtectKernelModules=yes
+
+[Service]
+ProtectKernelModules=yes
+ExecStart=/bin/sh -x -c '! capsh --print | grep cap_sys_module'
+Type=oneshot