Re: git: 3fb03fb35b20 - main - [tests] switch GoogleTest tests to `googletest` interface
Date: Fri, 30 Oct 2026 02:20:22 UTC
On Thu, Oct 29, 2026 at 11:32:53PM +0000, Enji Cooper wrote:
> 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
Please follow the guidelines for commit log messages:
https://docs.freebsd.org/en/articles/committers-guide/#_prefix_the_subject_line_with_a_component_if_applicable
> 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.
Below this there are some TEST_METADATA.functional configuration
variables still set.
After this commit I see a whole bunch of newly skipped tests, it looks
like a regression:
lib/googletest/gtest_main/googletest-printers-test:PrintStlContainerTest.StdSpan
sys/capsicum/capsicum-test:Capability.NoBypassDACIfRoot
sys/capsicum/capsicum-test:Capability.SyscallAtIfRoot
sys/capsicum/capsicum-test:ForkedWithFiles_AllowedSocketSyscallsIfRoot._
sys/capsicum/capsicum-test:Pdfork.OtherUserIfRootForked
sys/fs/fusefs/default_permissions:Access.eacces
sys/fs/fusefs/default_permissions:Access.eacces_no_cached_attrs
sys/fs/fusefs/default_permissions:Access.ok
sys/fs/fusefs/default_permissions:Chgrp.clear_suid
sys/fs/fusefs/default_permissions:Chgrp.eperm
sys/fs/fusefs/default_permissions:Chgrp.ok
sys/fs/fusefs/default_permissions:Chown.chown_to_self
sys/fs/fusefs/default_permissions:Chown.clear_suid
sys/fs/fusefs/default_permissions:Chown.eperm
sys/fs/fusefs/default_permissions:CopyFileRange.clear_sgid
sys/fs/fusefs/default_permissions:CopyFileRange.clear_suid
sys/fs/fusefs/default_permissions:Create.eacces
sys/fs/fusefs/default_permissions:Create.ok
sys/fs/fusefs/default_permissions:Deleteextattr.eacces
sys/fs/fusefs/default_permissions:Deleteextattr.ok
sys/fs/fusefs/default_permissions:Deleteextattr.system
sys/fs/fusefs/default_permissions:Deleteextattr.user
sys/fs/fusefs/default_permissions:Fspacectl.clear_sgid
sys/fs/fusefs/default_permissions:Fspacectl.clear_suid
sys/fs/fusefs/default_permissions:Fspacectl.posix_fallocate_of_newly_created_file
sys/fs/fusefs/default_permissions:Getextattr.eacces
sys/fs/fusefs/default_permissions:Getextattr.ok
sys/fs/fusefs/default_permissions:Getextattr.system
sys/fs/fusefs/default_permissions:Listextattr.eacces
sys/fs/fusefs/default_permissions:Listextattr.ok
sys/fs/fusefs/default_permissions:Listextattr.system
sys/fs/fusefs/default_permissions:Lookup.eacces
sys/fs/fusefs/default_permissions:Open.eacces
sys/fs/fusefs/default_permissions:Open.ok
sys/fs/fusefs/default_permissions:PosixFallocate.clear_sgid
sys/fs/fusefs/default_permissions:PosixFallocate.clear_suid
sys/fs/fusefs/default_permissions:PosixFallocate.posix_fallocate_of_newly_created_file
sys/fs/fusefs/default_permissions:Read.atime_during_close
sys/fs/fusefs/default_permissions:Rename.eacces_on_dstdir_for_creating
sys/fs/fusefs/default_permissions:Rename.eacces_on_dstdir_for_removing
sys/fs/fusefs/default_permissions:Rename.eacces_on_srcdir
sys/fs/fusefs/default_permissions:Rename.eperm_for_subdirectory
sys/fs/fusefs/default_permissions:Rename.eperm_on_sticky_dstdir
sys/fs/fusefs/default_permissions:Rename.eperm_on_sticky_srcdir
sys/fs/fusefs/default_permissions:Rename.ok
sys/fs/fusefs/default_permissions:Rename.ok_to_remove_src_because_of_stickiness
sys/fs/fusefs/default_permissions:Rename.subdirectory_to_same_dir
sys/fs/fusefs/default_permissions:Setattr.eacces
sys/fs/fusefs/default_permissions:Setattr.ftruncate_of_newly_created_file
sys/fs/fusefs/default_permissions:Setattr.ok
sys/fs/fusefs/default_permissions:Setattr.sgid_by_non_group_member
sys/fs/fusefs/default_permissions:Setattr.sticky_regular_file
sys/fs/fusefs/default_permissions:Setextattr.eacces
sys/fs/fusefs/default_permissions:Setextattr.ok
sys/fs/fusefs/default_permissions:Setextattr.system
sys/fs/fusefs/default_permissions:Setextattr.user
sys/fs/fusefs/default_permissions:Unlink.cached_unwritable_directory
sys/fs/fusefs/default_permissions:Unlink.ok
sys/fs/fusefs/default_permissions:Unlink.sticky_directory
sys/fs/fusefs/default_permissions:Unlink.sticky_directory_io_during_getattr
sys/fs/fusefs/default_permissions:Unlink.unwritable_directory
sys/fs/fusefs/default_permissions:Utimensat.utime_now
sys/fs/fusefs/default_permissions:Utimensat.utime_omit
sys/fs/fusefs/default_permissions:Write.clear_sgid
sys/fs/fusefs/default_permissions:Write.clear_suid
sys/fs/fusefs/default_permissions:Write.recursion_panic_while_clearing_suid
sys/fs/fusefs/locks:Flock.DISABLED_eagain
sys/fs/fusefs/locks:Flock.DISABLED_set
sys/fs/fusefs/mknod:Mknod.DISABLED_whiteout
sys/fs/fusefs/notify:N/Notify.DISABLED_store_nonexistent/0
sys/fs/fusefs/notify:N/Notify.DISABLED_store_nonexistent/1
sys/fs/fusefs/notify:N/Notify.DISABLED_store_with_blank_cache/0
sys/fs/fusefs/notify:N/Notify.DISABLED_store_with_blank_cache/1
sys/fs/fusefs/open:Open.DISABLED_o_append
sys/fs/fusefs/open:Open.DISABLED_o_direct
sys/fs/fusefs/open:Open.DISABLED_o_trunc
sys/fs/fusefs/release:Release.DISABLED_flags
sys/fs/fusefs/write:AioWrite.DISABLED_aio_write