diff options
| author | Ed Maste <emaste@FreeBSD.org> | 2026-01-27 13:28:23 +0000 |
|---|---|---|
| committer | Ed Maste <emaste@FreeBSD.org> | 2026-01-28 21:23:26 +0000 |
| commit | 670b568ec1c36464c6d55e400382c290b0391ccf (patch) | |
| tree | c0fda620c3cb194073802a18e74c1070ab562694 | |
| parent | 59bbb62b6078afffd1c182b63d43934248289675 (diff) | |
capsicum-test: Move out of contrib
Google developed the Capsicum unit test suite[1] as part of the
Capsicum-Linux[2] project, based on unit tests that existed in FreeBSD
and unit tests developed as part of the initial Capsicum-Linux port.
Capsicum-Linux was archived as of October 31, 2022 and is no longer
being maintained. FreeBSD is currently the only consumer of and
contributor to the test suite. Move the src into tests/sys/capsicum to
simplify ongoing maintenance.
The makefiles were deleted as we (continue to) use the existing bespoke
FreeBSD Makefile, and CONTRIBUTING.md was removed as the Google CLA is
no longer applicable.
[1] https://github.com/google/capsicum-test
[2] https://github.com/google/capsicum-linux
Reviewed by: asomers, oshogbo
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54917
| -rw-r--r-- | .github/CODEOWNERS | 2 | ||||
| -rw-r--r-- | contrib/capsicum-test/.gitignore | 19 | ||||
| -rw-r--r-- | contrib/capsicum-test/CONTRIBUTING.md | 20 | ||||
| -rw-r--r-- | contrib/capsicum-test/GNUmakefile | 82 | ||||
| -rw-r--r-- | contrib/capsicum-test/makefile | 36 | ||||
| -rw-r--r-- | tests/sys/capsicum/LICENSE (renamed from contrib/capsicum-test/LICENSE) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/Makefile | 2 | ||||
| -rw-r--r-- | tests/sys/capsicum/README.md (renamed from contrib/capsicum-test/README.md) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/capability-fd-pair.cc (renamed from contrib/capsicum-test/capability-fd-pair.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/capability-fd.cc (renamed from contrib/capsicum-test/capability-fd.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/capmode.cc (renamed from contrib/capsicum-test/capmode.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/capsicum-freebsd.h (renamed from contrib/capsicum-test/capsicum-freebsd.h) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/capsicum-linux.h (renamed from contrib/capsicum-test/capsicum-linux.h) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/capsicum-rights.h (renamed from contrib/capsicum-test/capsicum-rights.h) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/capsicum-test-main.cc (renamed from contrib/capsicum-test/capsicum-test-main.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/capsicum-test.cc (renamed from contrib/capsicum-test/capsicum-test.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/capsicum-test.h (renamed from contrib/capsicum-test/capsicum-test.h) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/capsicum.h (renamed from contrib/capsicum-test/capsicum.h) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/copy_file_range.cc (renamed from contrib/capsicum-test/copy_file_range.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/fcntl.cc (renamed from contrib/capsicum-test/fcntl.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/fexecve.cc (renamed from contrib/capsicum-test/fexecve.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/ioctl.cc (renamed from contrib/capsicum-test/ioctl.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/linux.cc (renamed from contrib/capsicum-test/linux.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/mini-me.c (renamed from contrib/capsicum-test/mini-me.c) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/mqueue.cc (renamed from contrib/capsicum-test/mqueue.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/openat.cc (renamed from contrib/capsicum-test/openat.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/overhead.cc (renamed from contrib/capsicum-test/overhead.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/procdesc.cc (renamed from contrib/capsicum-test/procdesc.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/rename.cc (renamed from contrib/capsicum-test/rename.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/sctp.cc (renamed from contrib/capsicum-test/sctp.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/select.cc (renamed from contrib/capsicum-test/select.cc) | 0 | ||||
| -rwxr-xr-x | tests/sys/capsicum/showrights (renamed from contrib/capsicum-test/showrights) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/smoketest.c (renamed from contrib/capsicum-test/smoketest.c) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/socket.cc (renamed from contrib/capsicum-test/socket.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/syscalls.h (renamed from contrib/capsicum-test/syscalls.h) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/sysctl.cc (renamed from contrib/capsicum-test/sysctl.cc) | 0 | ||||
| -rw-r--r-- | tests/sys/capsicum/waittest.c (renamed from contrib/capsicum-test/waittest.c) | 0 |
37 files changed, 1 insertions, 160 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 172a2eee5263..6d55fcfe2003 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -34,7 +34,6 @@ /bin/sh @jillest /contrib/atf @ngie-eign /contrib/blocklist @jlduran -/contrib/capsicum-test @ngie-eign @emaste /contrib/googletest @ngie-eign /contrib/libcxxrt @DimitryAndric @emaste /contrib/llvm-project @DimitryAndric @@ -118,6 +117,7 @@ /sys/x86/pci @bsdimp @bsdjhb /tests @ngie-eign /tests/sys/aio/ @asomers +/tests/sys/capsicum-test @ngie-eign @emaste /tests/sys/fs/fusefs/ @asomers /tests/sys/kqueue/ @jmgurney /tests/sys/opencrypto/ @jmgurney diff --git a/contrib/capsicum-test/.gitignore b/contrib/capsicum-test/.gitignore deleted file mode 100644 index bc8f8f5ce265..000000000000 --- a/contrib/capsicum-test/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -capsicum-test -mini-me -mini-me.noexec -mini-me.setuid -mini-me.32 -mini-me.x32 -mini-me.64 -libgtest.a -smoketest -*.o -libcap*.deb -libcap*.dsc -libcap*.tar.gz -libcap*.changes -casper*.deb -casper*.dsc -casper*.tar.gz -casper*.changes -libcaprights.a
\ No newline at end of file diff --git a/contrib/capsicum-test/CONTRIBUTING.md b/contrib/capsicum-test/CONTRIBUTING.md deleted file mode 100644 index 1a054b840c0b..000000000000 --- a/contrib/capsicum-test/CONTRIBUTING.md +++ /dev/null @@ -1,20 +0,0 @@ -## Contributor License Agreement ## - -Contributions to any Google project must be accompanied by a Contributor -License Agreement. This is not a copyright **assignment**, it simply gives -Google permission to use and redistribute your contributions as part of the -project. - - * If you are an individual writing original source code and you're sure you - own the intellectual property, then you'll need to sign an [individual - CLA][]. - - * If you work for a company that wants to allow you to contribute your work, - then you'll need to sign a [corporate CLA][]. - -You generally only need to submit a CLA once, so if you've already submitted -one (even if it was for a different project), you probably don't need to do it -again. - -[individual CLA]: https://developers.google.com/open-source/cla/individual -[corporate CLA]: https://developers.google.com/open-source/cla/corporate diff --git a/contrib/capsicum-test/GNUmakefile b/contrib/capsicum-test/GNUmakefile deleted file mode 100644 index 426eb49cdfa1..000000000000 --- a/contrib/capsicum-test/GNUmakefile +++ /dev/null @@ -1,82 +0,0 @@ -OS:=$(shell uname) - -# Set ARCH to 32 or x32 for i386/x32 ABIs -ARCH?=64 -ARCHFLAG=-m$(ARCH) - -ifeq ($(OS),FreeBSD) -EXTRA_LIBS=-lprocstat -endif - -ifeq ($(OS),Linux) -PROCESSOR:=$(shell uname -p) - -ifneq ($(wildcard /usr/lib/$(PROCESSOR)-linux-gnu),) -# Can use standard Debian location for static libraries. -PLATFORM_LIBDIR=/usr/lib/$(PROCESSOR)-linux-gnu -else -# Attempt to determine library location from gcc configuration. -PLATFORM_LIBDIR=$(shell gcc -v 2>&1 | grep "Configured with:" | sed 's/.*--libdir=\(\/usr\/[^ ]*\).*/\1/g') -endif - -# Override for explicitly specified ARCHFLAG. -# Use locally compiled libcaprights in this case, on the -# assumption that any installed version is 64-bit. -ifeq ($(ARCHFLAG),-m32) -PROCESSOR=i386 -PLATFORM_LIBDIR=/usr/lib32 -LIBCAPRIGHTS=./libcaprights.a -endif -ifeq ($(ARCHFLAG),-mx32) -PROCESSOR=x32 -PLATFORM_LIBDIR=/usr/libx32 -LIBCAPRIGHTS=./libcaprights.a -endif - -# Detect presence of libsctp in normal Debian location -ifneq ($(wildcard $(PLATFORM_LIBDIR)/libsctp.a),) -LIBSCTP=-lsctp -CXXFLAGS=-DHAVE_SCTP -endif - -ifneq ($(LIBCAPRIGHTS),) -# Build local libcaprights.a (assuming ./configure -# has already been done in libcaprights/) -LOCAL_LIBS=$(LIBCAPRIGHTS) -LIBCAPRIGHTS_OBJS=libcaprights/capsicum.o libcaprights/linux-bpf-capmode.o libcaprights/procdesc.o libcaprights/signal.o -LOCAL_CLEAN=$(LOCAL_LIBS) $(LIBCAPRIGHTS_OBJS) -else -# Detect installed libcaprights static library. -ifneq ($(wildcard $(PLATFORM_LIBDIR)/libcaprights.a),) -LIBCAPRIGHTS=$(PLATFORM_LIBDIR)/libcaprights.a -else -ifneq ($(wildcard /usr/lib/libcaprights.a),) -LIBCAPRIGHTS=/usr/lib/libcaprights.a -endif -endif -endif - -endif - -# Extra test programs for arch-transition tests -EXTRA_PROGS = mini-me.32 mini-me.64 -ifneq ($(wildcard /usr/include/gnu/stubs-x32.h),) -EXTRA_PROGS += mini-me.x32 -endif - -# Chain on to the master makefile -include makefile - -./libcaprights.a: $(LIBCAPRIGHTS_OBJS) - ar cr $@ $^ - -# Small static programs of known architectures -# These may require additional packages to be installed; for example, for Debian: -# - libc6-dev-i386 provides 32-bit headers for a 64-bit system -# - libc6-dev-x32 provides headers for the x32 ABI. -mini-me.32: mini-me.c - $(CC) $(CFLAGS) -m32 -static -o $@ $< -mini-me.x32: mini-me.c - $(CC) $(CFLAGS) -mx32 -static -o $@ $< -mini-me.64: mini-me.c - $(CC) $(CFLAGS) -m64 -static -o $@ $< diff --git a/contrib/capsicum-test/makefile b/contrib/capsicum-test/makefile deleted file mode 100644 index e55393bbf131..000000000000 --- a/contrib/capsicum-test/makefile +++ /dev/null @@ -1,36 +0,0 @@ -all: capsicum-test smoketest mini-me mini-me.noexec mini-me.setuid $(EXTRA_PROGS) -OBJECTS=capsicum-test-main.o capsicum-test.o capability-fd.o copy_file_range.o fexecve.o procdesc.o capmode.o fcntl.o ioctl.o openat.o sysctl.o select.o mqueue.o socket.o sctp.o capability-fd-pair.o linux.o overhead.o rename.o - -GTEST_DIR=gtest-1.10.0 -GTEST_INCS=-I$(GTEST_DIR)/include -I$(GTEST_DIR) -GTEST_FLAGS=-DGTEST_USE_OWN_TR1_TUPLE=1 -DGTEST_HAS_TR1_TUPLE=1 -CXXFLAGS+=$(ARCHFLAG) -Wall -g $(GTEST_INCS) $(GTEST_FLAGS) --std=c++11 -CFLAGS+=$(ARCHFLAG) -Wall -g - -capsicum-test: $(OBJECTS) libgtest.a $(LOCAL_LIBS) - $(CXX) $(CXXFLAGS) -g -o $@ $(OBJECTS) libgtest.a -lpthread -lrt $(LIBSCTP) $(LIBCAPRIGHTS) $(EXTRA_LIBS) - -# Small statically-linked program for fexecve tests -# (needs to be statically linked so that execve()ing it -# doesn't involve ld.so traversing the filesystem). -mini-me: mini-me.c - $(CC) $(CFLAGS) -static -o $@ $< -mini-me.noexec: mini-me - cp mini-me $@ && chmod -x $@ -mini-me.setuid: mini-me - rm -f $@ && cp mini-me $@&& sudo chown root $@ && sudo chmod u+s $@ - -# Simple C test of Capsicum syscalls -SMOKETEST_OBJECTS=smoketest.o -smoketest: $(SMOKETEST_OBJECTS) $(LOCAL_LIBS) - $(CC) $(CFLAGS) -o $@ $(SMOKETEST_OBJECTS) $(LIBCAPRIGHTS) - -test: capsicum-test mini-me mini-me.noexec mini-me.setuid $(EXTRA_PROGS) - ./capsicum-test -gtest-all.o: - $(CXX) $(CXXFLAGS) $(ARCHFLAG) -I$(GTEST_DIR)/include -I$(GTEST_DIR) $(GTEST_FLAGS) -c ${GTEST_DIR}/src/gtest-all.cc -libgtest.a: gtest-all.o - $(AR) -rv libgtest.a gtest-all.o - -clean: - rm -rf gtest-all.o libgtest.a capsicum-test mini-me mini-me.noexec smoketest $(SMOKETEST_OBJECTS) $(OBJECTS) $(LOCAL_CLEAN) $(EXTRA_PROGS) diff --git a/contrib/capsicum-test/LICENSE b/tests/sys/capsicum/LICENSE index 446189ec3cd0..446189ec3cd0 100644 --- a/contrib/capsicum-test/LICENSE +++ b/tests/sys/capsicum/LICENSE diff --git a/tests/sys/capsicum/Makefile b/tests/sys/capsicum/Makefile index fd8dcb29d65c..38c1f8285910 100644 --- a/tests/sys/capsicum/Makefile +++ b/tests/sys/capsicum/Makefile @@ -9,8 +9,6 @@ CFLAGS+= -I${SRCTOP}/tests .if ${MK_GOOGLETEST} != no -.PATH: ${SRCTOP}/contrib/capsicum-test - GTESTS+= capsicum-test GTESTS_WRAPPER_SH.capsicum-test= functional # This test script runs the same test suite twice, once as root and once as an diff --git a/contrib/capsicum-test/README.md b/tests/sys/capsicum/README.md index a8c8c6686759..a8c8c6686759 100644 --- a/contrib/capsicum-test/README.md +++ b/tests/sys/capsicum/README.md diff --git a/contrib/capsicum-test/capability-fd-pair.cc b/tests/sys/capsicum/capability-fd-pair.cc index d56dac049805..d56dac049805 100644 --- a/contrib/capsicum-test/capability-fd-pair.cc +++ b/tests/sys/capsicum/capability-fd-pair.cc diff --git a/contrib/capsicum-test/capability-fd.cc b/tests/sys/capsicum/capability-fd.cc index 0551d9bd81ef..0551d9bd81ef 100644 --- a/contrib/capsicum-test/capability-fd.cc +++ b/tests/sys/capsicum/capability-fd.cc diff --git a/contrib/capsicum-test/capmode.cc b/tests/sys/capsicum/capmode.cc index 5ff025290211..5ff025290211 100644 --- a/contrib/capsicum-test/capmode.cc +++ b/tests/sys/capsicum/capmode.cc diff --git a/contrib/capsicum-test/capsicum-freebsd.h b/tests/sys/capsicum/capsicum-freebsd.h index 13fa24a0f722..13fa24a0f722 100644 --- a/contrib/capsicum-test/capsicum-freebsd.h +++ b/tests/sys/capsicum/capsicum-freebsd.h diff --git a/contrib/capsicum-test/capsicum-linux.h b/tests/sys/capsicum/capsicum-linux.h index 5bea418a2bc7..5bea418a2bc7 100644 --- a/contrib/capsicum-test/capsicum-linux.h +++ b/tests/sys/capsicum/capsicum-linux.h diff --git a/contrib/capsicum-test/capsicum-rights.h b/tests/sys/capsicum/capsicum-rights.h index 73c445434404..73c445434404 100644 --- a/contrib/capsicum-test/capsicum-rights.h +++ b/tests/sys/capsicum/capsicum-rights.h diff --git a/contrib/capsicum-test/capsicum-test-main.cc b/tests/sys/capsicum/capsicum-test-main.cc index d0f955270fd4..d0f955270fd4 100644 --- a/contrib/capsicum-test/capsicum-test-main.cc +++ b/tests/sys/capsicum/capsicum-test-main.cc diff --git a/contrib/capsicum-test/capsicum-test.cc b/tests/sys/capsicum/capsicum-test.cc index 1e722089761f..1e722089761f 100644 --- a/contrib/capsicum-test/capsicum-test.cc +++ b/tests/sys/capsicum/capsicum-test.cc diff --git a/contrib/capsicum-test/capsicum-test.h b/tests/sys/capsicum/capsicum-test.h index 7433814b31c8..7433814b31c8 100644 --- a/contrib/capsicum-test/capsicum-test.h +++ b/tests/sys/capsicum/capsicum-test.h diff --git a/contrib/capsicum-test/capsicum.h b/tests/sys/capsicum/capsicum.h index 0005e7884673..0005e7884673 100644 --- a/contrib/capsicum-test/capsicum.h +++ b/tests/sys/capsicum/capsicum.h diff --git a/contrib/capsicum-test/copy_file_range.cc b/tests/sys/capsicum/copy_file_range.cc index b785eb7f1e97..b785eb7f1e97 100644 --- a/contrib/capsicum-test/copy_file_range.cc +++ b/tests/sys/capsicum/copy_file_range.cc diff --git a/contrib/capsicum-test/fcntl.cc b/tests/sys/capsicum/fcntl.cc index 8e3d0e14c44c..8e3d0e14c44c 100644 --- a/contrib/capsicum-test/fcntl.cc +++ b/tests/sys/capsicum/fcntl.cc diff --git a/contrib/capsicum-test/fexecve.cc b/tests/sys/capsicum/fexecve.cc index 86df2af06388..86df2af06388 100644 --- a/contrib/capsicum-test/fexecve.cc +++ b/tests/sys/capsicum/fexecve.cc diff --git a/contrib/capsicum-test/ioctl.cc b/tests/sys/capsicum/ioctl.cc index 0570e6f514da..0570e6f514da 100644 --- a/contrib/capsicum-test/ioctl.cc +++ b/tests/sys/capsicum/ioctl.cc diff --git a/contrib/capsicum-test/linux.cc b/tests/sys/capsicum/linux.cc index 81ba06c5e588..81ba06c5e588 100644 --- a/contrib/capsicum-test/linux.cc +++ b/tests/sys/capsicum/linux.cc diff --git a/contrib/capsicum-test/mini-me.c b/tests/sys/capsicum/mini-me.c index be909cad4709..be909cad4709 100644 --- a/contrib/capsicum-test/mini-me.c +++ b/tests/sys/capsicum/mini-me.c diff --git a/contrib/capsicum-test/mqueue.cc b/tests/sys/capsicum/mqueue.cc index f2f3daeb1db8..f2f3daeb1db8 100644 --- a/contrib/capsicum-test/mqueue.cc +++ b/tests/sys/capsicum/mqueue.cc diff --git a/contrib/capsicum-test/openat.cc b/tests/sys/capsicum/openat.cc index e3f0c2a731f8..e3f0c2a731f8 100644 --- a/contrib/capsicum-test/openat.cc +++ b/tests/sys/capsicum/openat.cc diff --git a/contrib/capsicum-test/overhead.cc b/tests/sys/capsicum/overhead.cc index 90d98895b04a..90d98895b04a 100644 --- a/contrib/capsicum-test/overhead.cc +++ b/tests/sys/capsicum/overhead.cc diff --git a/contrib/capsicum-test/procdesc.cc b/tests/sys/capsicum/procdesc.cc index 105546cabfb2..105546cabfb2 100644 --- a/contrib/capsicum-test/procdesc.cc +++ b/tests/sys/capsicum/procdesc.cc diff --git a/contrib/capsicum-test/rename.cc b/tests/sys/capsicum/rename.cc index 080db66756b8..080db66756b8 100644 --- a/contrib/capsicum-test/rename.cc +++ b/tests/sys/capsicum/rename.cc diff --git a/contrib/capsicum-test/sctp.cc b/tests/sys/capsicum/sctp.cc index c8c642454a80..c8c642454a80 100644 --- a/contrib/capsicum-test/sctp.cc +++ b/tests/sys/capsicum/sctp.cc diff --git a/contrib/capsicum-test/select.cc b/tests/sys/capsicum/select.cc index 3fa02c639f03..3fa02c639f03 100644 --- a/contrib/capsicum-test/select.cc +++ b/tests/sys/capsicum/select.cc diff --git a/contrib/capsicum-test/showrights b/tests/sys/capsicum/showrights index 5af5441d297d..5af5441d297d 100755 --- a/contrib/capsicum-test/showrights +++ b/tests/sys/capsicum/showrights diff --git a/contrib/capsicum-test/smoketest.c b/tests/sys/capsicum/smoketest.c index 86d15fe10510..86d15fe10510 100644 --- a/contrib/capsicum-test/smoketest.c +++ b/tests/sys/capsicum/smoketest.c diff --git a/contrib/capsicum-test/socket.cc b/tests/sys/capsicum/socket.cc index b68af49f85e6..b68af49f85e6 100644 --- a/contrib/capsicum-test/socket.cc +++ b/tests/sys/capsicum/socket.cc diff --git a/contrib/capsicum-test/syscalls.h b/tests/sys/capsicum/syscalls.h index 3ea8803c2f64..3ea8803c2f64 100644 --- a/contrib/capsicum-test/syscalls.h +++ b/tests/sys/capsicum/syscalls.h diff --git a/contrib/capsicum-test/sysctl.cc b/tests/sys/capsicum/sysctl.cc index 7cbd3e8cbbf8..7cbd3e8cbbf8 100644 --- a/contrib/capsicum-test/sysctl.cc +++ b/tests/sys/capsicum/sysctl.cc diff --git a/contrib/capsicum-test/waittest.c b/tests/sys/capsicum/waittest.c index b9bce92527fd..b9bce92527fd 100644 --- a/contrib/capsicum-test/waittest.c +++ b/tests/sys/capsicum/waittest.c |
