tests/sys/kern: Skip capsicum procdesc tests when capability mode is unavailable

pdwait's capsicum/enotcap and procdesc's pdopenpid_capmode enter capability mode.
Require security_capability_mode (and security_capabilities for enotcap) so the
cases skip cleanly on kernels built without CAPABILITIES instead of failing.

Approved by:	asomers, gallatin
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D58545
This commit is contained in:
Olivier Cochard committed 2026-08-05 22:51:02 +02:00
1 parent 4dc196233e
commit 3c5c55beee
3 files changed
+13

No files matched your search

+2
View File
@@ -154,6 +154,8 @@ CFLAGS.subr_unit.c+= -Wno-missing-prototypes
SRCS.subr_unit_test+= subr_unit.c
CFLAGS.exterr_test+= -I${SRCTOP}/tests
CFLAGS.pdwait+= -I${SRCTOP}/tests
CFLAGS.procdesc+= -I${SRCTOP}/tests
WARNS?= 3
+7
View File
@@ -38,6 +38,8 @@
#include <signal.h>
#include <string.h>
#include "freebsd_test_suite/macros.h"
static void*
unmapped(void) {
void *unmapped;
@@ -85,6 +87,8 @@ ATF_TC_BODY(capsicum, tc)
pid_t pid;
int status, r;
ATF_REQUIRE_FEATURE("security_capability_mode");
pid = pdfork(&fdp, 0);
if (pid == 0)
_exit(42);
@@ -195,6 +199,9 @@ ATF_TC_BODY(enotcap, tc)
pid_t pid;
int status;
ATF_REQUIRE_FEATURE("security_capability_mode");
ATF_REQUIRE_FEATURE("security_capabilities");
/*cap_rights_init(&rights, CAP_RIGHTS_ALL);*/
CAP_ALL(&rights);
cap_rights_clear(&rights, CAP_PDWAIT);
+4
View File
@@ -49,6 +49,8 @@
#include <atf-c.h>
#include <kvm.h>
#include "freebsd_test_suite/macros.h"
/* Tests for procdesc(4) that aren't specific to any one syscall */
/*
@@ -348,6 +350,8 @@ ATF_TC_BODY(pdopenpid_capmode, tc)
{
pid_t child, parent;
ATF_REQUIRE_FEATURE("security_capability_mode");
parent = getpid();
child = fork();
ATF_REQUIRE_MSG(child >= 0, "fork: %s", strerror(errno));