The branch main has been updated by olivier (ports committer):

URL: 
https://cgit.FreeBSD.org/src/commit/?id=f1c010d9f9cbc28412d491689e7f594e56085bcb

commit f1c010d9f9cbc28412d491689e7f594e56085bcb
Author:     Olivier Cochard <[email protected]>
AuthorDate: 2021-01-26 21:19:36 +0000
Commit:     Olivier Cochard <[email protected]>
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);
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main
To unsubscribe, send any mail to "[email protected]"

Reply via email to