git: 3fb03fb35b20 - main - [tests] switch GoogleTest tests to `googletest` interface
Date: Thu, 29 Oct 2026 23:32:53 UTC
The branch main has been updated by ngie:
URL: https://cgit.FreeBSD.org/src/commit/?id=3fb03fb35b20d259e0a3a07fc48f2ecc3c5da6e8
commit 3fb03fb35b20d259e0a3a07fc48f2ecc3c5da6e8
Author: Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-10-07 18:53:15 +0000
Commit: Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-10-29 23:32:11 +0000
[tests] switch GoogleTest tests to `googletest` interface
The new `googletest` kyua test interface--added in 0.15.0 and fixed in
0.15.1--allows tests to be executed and handled in a more fine-grained
manner than the way it was prior to this commit.
This change deletes the `capsicum-test` ATF wrapper script,
`functional.sh`, and all supporting logic in `googletest.test.mk` as
well as this change makes that logic unnecessary.
MFC after: 1 month
MFC with: b68969979d6b ("contrib/kyua: update to 0.15.1")
---
share/mk/googletest.test.mk | 11 +-------
tests/sys/capsicum/Makefile | 1 -
tests/sys/capsicum/functional.sh | 60 ----------------------------------------
3 files changed, 1 insertion(+), 71 deletions(-)
diff --git a/share/mk/googletest.test.mk b/share/mk/googletest.test.mk
index 026f6dcacce3..b21576112a78 100644
--- a/share/mk/googletest.test.mk
+++ b/share/mk/googletest.test.mk
@@ -6,10 +6,6 @@
# GoogleTest is a C++ test framework, thus, it does not describe/articulate how
# to write tests in other languages, e.g., C or shell, unlike the ATF, plain,
# and TAP raw test interfaces.
-#
-# For now this is a thin wrapper around the `plain` test interface, but in the
-# future this will rely on a newer version of kyua which will integrate in
-# GoogleTest support.
.if !target(__<bsd.test.mk>__)
.error googletest.test.mk cannot be included directly.
@@ -34,13 +30,8 @@ BINDIR.${_T}= ${TESTSDIR}
CXXFLAGS.${_T}+= ${GTESTS_CXXFLAGS}
MAN.${_T}?= # empty
SRCS.${_T}?= ${_T}.cc
-.if !empty(GTESTS_WRAPPER_SH.${_T})
-# A stopgap/workaround to let kyua execute test case one by one
-ATF_TESTS_SH+= ${GTESTS_WRAPPER_SH.${_T}}
-.else
_TESTS+= ${_T}
-TEST_INTERFACE.${_T}= plain
-.endif
+TEST_INTERFACE.${_T}= googletest
.endfor
.endif
diff --git a/tests/sys/capsicum/Makefile b/tests/sys/capsicum/Makefile
index a8f72d399af9..788fa9f9394c 100644
--- a/tests/sys/capsicum/Makefile
+++ b/tests/sys/capsicum/Makefile
@@ -10,7 +10,6 @@ CFLAGS+= -I${SRCTOP}/tests
.if ${MK_GOOGLETEST} != no
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
# unprivileged user. Serialize them since some tests access global namespaces,
# e.g., mqueuefs, and can trample on each other.
diff --git a/tests/sys/capsicum/functional.sh b/tests/sys/capsicum/functional.sh
deleted file mode 100755
index 8d4a7eef2dec..000000000000
--- a/tests/sys/capsicum/functional.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#-
-# SPDX-License-Identifier: BSD-2-Clause
-#
-# Copyright (c) 2020 The FreeBSD Foundation
-#
-# This software was developed by Li-Wen Hsu <lwhsu@FreeBSD.org>
-# under sponsorship from the FreeBSD Foundation.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-#
-
-CAPSICUM_TEST_BIN=capsicum-test
-
-atf_test_case "test_root"
-test_root_head() {
-
- atf_set descr 'Run capsicum-test as root'
- atf_set require.user root
-}
-
-test_root_body() {
- atf_check -s exit:0 -o match:PASSED -e ignore \
- "$(atf_get_srcdir)/${CAPSICUM_TEST_BIN}" -u "$(id -u tests)"
-}
-
-atf_test_case "test_unprivileged"
-test_unprivileged_head() {
-
- atf_set descr 'Run capsicum-test as an unprivileged user'
- atf_set require.user unprivileged
-}
-
-test_unprivileged_body() {
- atf_check -s exit:0 -o match:PASSED -e ignore \
- "$(atf_get_srcdir)/${CAPSICUM_TEST_BIN}" -u "$(id -u)"
-}
-
-atf_init_test_cases() {
- atf_add_test_case test_root
- atf_add_test_case test_unprivileged
-}