[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:	b68969979d ("contrib/kyua: update to 0.15.1")
This commit is contained in:
Enji Cooper committed 2026-10-29 16:32:11 -07:00
1 parent 010e53f7c6
commit 3fb03fb35b
3 files changed
+1 -71

No files matched your search

+1 -10
View File
@@ -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
-1
View File
@@ -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.
-60
View File
@@ -1,60 +0,0 @@
#-
# SPDX-License-Identifier: BSD-2-Clause
#
# Copyright (c) 2020 The FreeBSD Foundation
#
# This software was developed by Li-Wen Hsu <[email protected]>
# 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
}