git: f1c010d9f9cb - main - tests: Skip cap_fileargs if build without capsicum capabilities
Olivier Cochard
olivier at FreeBSD.org
Tue Jan 26 21:22:12 UTC 2021
The branch main has been updated by olivier (ports committer):
URL: https://cgit.FreeBSD.org/src/commit/?id=f1c010d9f9cbc28412d491689e7f594e56085bcb
commit f1c010d9f9cbc28412d491689e7f594e56085bcb
Author: Olivier Cochard <olivier at FreeBSD.org>
AuthorDate: 2021-01-26 21:19:36 +0000
Commit: Olivier Cochard <olivier at FreeBSD.org>
CommitDate: 2021-01-26 21:19:36 +0000
tests: Skip cap_fileargs if build without capsicum capabilities
Approved by: oshogbo
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D2834
---
lib/libcasper/services/cap_fileargs/tests/Makefile | 2 ++
.../services/cap_fileargs/tests/fileargs_test.c | 29 ++++++++++++++++++++++
2 files changed, 31 insertions(+)
diff --git a/lib/libcasper/services/cap_fileargs/tests/Makefile b/lib/libcasper/services/cap_fileargs/tests/Makefile
index 51674c5f778e..4d63605e794b 100644
--- a/lib/libcasper/services/cap_fileargs/tests/Makefile
+++ b/lib/libcasper/services/cap_fileargs/tests/Makefile
@@ -4,6 +4,8 @@
ATF_TESTS_C= fileargs_test
+CFLAGS+= -I${SRCTOP}/tests
+
.if ${MK_CASPER} != "no"
LIBADD+= casper
LIBADD+= cap_fileargs
diff --git a/lib/libcasper/services/cap_fileargs/tests/fileargs_test.c b/lib/libcasper/services/cap_fileargs/tests/fileargs_test.c
index 9a7f9dfcb9aa..a12afd734998 100644
--- a/lib/libcasper/services/cap_fileargs/tests/fileargs_test.c
+++ b/lib/libcasper/services/cap_fileargs/tests/fileargs_test.c
@@ -39,6 +39,8 @@ __FBSDID("$FreeBSD$");
#include <libcasper.h>
#include <casper/cap_fileargs.h>
+#include "freebsd_test_suite/macros.h"
+
#define MAX_FILES 200
static char *files[MAX_FILES];
@@ -46,6 +48,13 @@ static int fds[MAX_FILES];
#define TEST_FILE "/etc/passwd"
+static void
+check_capsicum(void)
+{
+ ATF_REQUIRE_FEATURE("security_capabilities");
+ ATF_REQUIRE_FEATURE("security_capability_mode");
+}
+
static void
prepare_files(size_t num, bool create)
{
@@ -281,6 +290,8 @@ ATF_TC_BODY(fileargs__open_read, tc)
size_t i;
int fd;
+ check_capsicum();
+
prepare_files(MAX_FILES, true);
cap_rights_init(&rights, CAP_READ | CAP_FCNTL);
@@ -326,6 +337,8 @@ ATF_TC_BODY(fileargs__open_write, tc)
size_t i;
int fd;
+ check_capsicum();
+
prepare_files(MAX_FILES, true);
cap_rights_init(&rights, CAP_WRITE | CAP_FCNTL);
@@ -371,6 +384,8 @@ ATF_TC_BODY(fileargs__open_create, tc)
size_t i;
int fd;
+ check_capsicum();
+
prepare_files(MAX_FILES, false);
cap_rights_init(&rights, CAP_WRITE | CAP_FCNTL | CAP_READ);
@@ -414,6 +429,8 @@ ATF_TC_BODY(fileargs__open_with_casper, tc)
size_t i;
int fd;
+ check_capsicum();
+
prepare_files(MAX_FILES, true);
capcas = cap_init();
@@ -448,6 +465,8 @@ ATF_TC_BODY(fileargs__fopen_read, tc)
FILE *pfile;
int fd;
+ check_capsicum();
+
prepare_files(MAX_FILES, true);
cap_rights_init(&rights, CAP_READ | CAP_FCNTL);
@@ -496,6 +515,8 @@ ATF_TC_BODY(fileargs__fopen_write, tc)
FILE *pfile;
int fd;
+ check_capsicum();
+
prepare_files(MAX_FILES, true);
cap_rights_init(&rights, CAP_WRITE | CAP_FCNTL);
@@ -544,6 +565,8 @@ ATF_TC_BODY(fileargs__fopen_create, tc)
FILE *pfile;
int fd;
+ check_capsicum();
+
prepare_files(MAX_FILES, false);
cap_rights_init(&rights, CAP_READ | CAP_WRITE | CAP_FCNTL);
@@ -585,6 +608,8 @@ ATF_TC_BODY(fileargs__lstat, tc)
size_t i;
int fd;
+ check_capsicum();
+
prepare_files(MAX_FILES, true);
fa = fileargs_init(MAX_FILES, files, 0, 0, NULL, FA_LSTAT);
@@ -646,6 +671,8 @@ ATF_TC_BODY(fileargs__open_lstat, tc)
size_t i;
int fd;
+ check_capsicum();
+
prepare_files(MAX_FILES, true);
cap_rights_init(&rights, CAP_READ | CAP_FCNTL);
@@ -692,6 +719,8 @@ ATF_TC_BODY(fileargs__open_realpath, tc)
size_t i;
int fd;
+ check_capsicum();
+
prepare_files(MAX_FILES, true);
cap_rights_init(&rights, CAP_READ | CAP_FCNTL);
More information about the dev-commits-src-main
mailing list