git: b68969979d6b - main - contrib/kyua: update to 0.15.1

From: Enji Cooper <ngie_at_FreeBSD.org>
Date: Wed, 28 Oct 2026 22:03:36 UTC
The branch main has been updated by ngie:

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

commit b68969979d6b590247290b4fe26212d201c3ad96
Merge: 8fa55fdcae4e 3e05143b80d1
Author:     Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-10-28 22:02:27 +0000
Commit:     Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-10-28 22:02:27 +0000

    contrib/kyua: update to 0.15.1
    
    This new release contains multiple bugfixes. Please see the release
    notes mentioned in the merge commit for more details.
    
    MFC after:      2 weeks
    Merge commit '3e05143b80d1537cdd51a5dcf742da31f400507e'

 contrib/kyua/NEWS                              |  19 +++
 contrib/kyua/README.md                         |   4 +-
 contrib/kyua/config.h                          |   6 +-
 contrib/kyua/doc/kyua-about.1                  |   2 +-
 contrib/kyua/drivers/debug_test.cpp            |   3 +
 contrib/kyua/drivers/run_tests.cpp             |   3 +
 contrib/kyua/engine/atf_test.cpp               |   1 +
 contrib/kyua/engine/googletest.cpp             |  27 +---
 contrib/kyua/engine/googletest_helpers.cpp     |  27 +---
 contrib/kyua/engine/googletest_list.cpp        |  27 +---
 contrib/kyua/engine/googletest_list_test.cpp   |  27 +---
 contrib/kyua/engine/googletest_result.cpp      | 195 +++++++++++++++++--------
 contrib/kyua/engine/googletest_result.hpp      |  31 +---
 contrib/kyua/engine/googletest_result_test.cpp | 141 ++++++++++++++----
 contrib/kyua/engine/googletest_test.cpp        |  28 +---
 contrib/kyua/engine/plain_test.cpp             |   1 +
 contrib/kyua/engine/scanner_test.cpp           |   1 +
 contrib/kyua/engine/scheduler_test.cpp         |  11 ++
 contrib/kyua/engine/tap_test.cpp               |   1 +
 contrib/kyua/utils/config/nodes.cpp            |   6 +-
 contrib/kyua/utils/config/tree.cpp             |  11 +-
 contrib/kyua/utils/sqlite/test_utils.hpp       |   4 +-
 22 files changed, 316 insertions(+), 260 deletions(-)

diff --cc contrib/kyua/README.md
index e42d6da35377,000000000000..b8b54d0413de
mode 100644,000000..100644
--- a/contrib/kyua/README.md
+++ b/contrib/kyua/README.md
@@@ -1,79 -1,0 +1,79 @@@
 +# Welcome to the Kyua project!
 +
 +Kyua is a **testing framework** for infrastructure software, originally
 +designed to equip BSD-based operating systems with a test suite.  This
 +means that Kyua is lightweight and simple, and that Kyua integrates well
 +with various build systems and continuous integration frameworks.
 +
 +Kyua features an **expressive test suite definition language**, a **safe
 +runtime engine** for test suites and a **powerful report generation
 +engine**.
 +
 +Kyua is for **both developers *and* users**, from the developer applying a
 +simple fix to a library to the system administrator deploying a new release
 +on a production machine.
 +
 +Kyua is **able to execute test programs written with a plethora of testing
 +libraries and languages**.  The library of choice is
 +[ATF](https://github.com/freebsd/atf/), for which Kyua was originally
 +designed, but simple, framework-less test programs and TAP-compliant test
 +programs can also be executed through Kyua.
 +
 +Kyua is licensed under a **[liberal BSD 3-clause license](LICENSE)**.
 +This is not an official Google product.
 +
 +[Read more about Kyua in the About wiki page.](../../wiki/About)
 +
 +
 +## Download
 +
- The latest version of Kyua is 0.14.1 and was released on March 29th, 2025.
++The latest version of Kyua is 0.15.0 and was released on October 7th, 2026.
 +
- Download: [kyua-0.14.1](../../releases/tag/kyua-0.14.1).
++Download: [kyua-0.15.0](../../releases/tag/kyua-0.15.0).
 +
 +See the [release notes](NEWS) for information about the changes in this
 +and all previous releases.
 +
 +
 +## Installation
 +
 +You are encouraged to install binary packages for your operating system
 +wherever available:
 +
 +* Fedora 20 and above: install the `kyua` package with `dnf install
 +  kyua`.
 +
 +* FreeBSD 10.0 and above: install the `kyua` package with `pkg install kyua`.
 +
 +* NetBSD with pkgsrc: install the `pkgsrc/devel/kyua` package.
 +
 +* OpenBSD with packages: install the `kyua` package with `pkg_add kyua`.
 +
 +* macOS (with Homebrew): install the `kyua` package with `brew install kyua`.
 +
 +Should you want to build and install Kyua from the source tree provided
 +here, follow the instructions in the
 +[INSTALL.md file](INSTALL.md).
 +
 +You should also install the ATF libraries to assist in the development of
 +test programs.  To that end, see the
 +[ATF project page](https://github.com/freebsd/atf/).
 +
 +
 +## Contributing
 +
 +Want to contribute?  Great!  But please first read the guidelines provided
 +in [CONTRIBUTING.md](CONTRIBUTING.md).
 +
 +If you are curious about who made this project possible, you can check out
 +the [list of copyright holders](AUTHORS) and the [list of
 +individuals](CONTRIBUTORS).
 +
 +
 +## Support
 +
 +Please use the [kyua-discuss mailing
 +list](https://groups.google.com/forum/#!forum/kyua-discuss) for any support
 +inquiries.
 +
 +*Homepage:* https://github.com/freebsd/kyua/
diff --cc contrib/kyua/config.h
index d2e8728dde38,000000000000..eba9c9cb1448
mode 100644,000000..100644
--- a/contrib/kyua/config.h
+++ b/contrib/kyua/config.h
@@@ -1,139 -1,0 +1,139 @@@
 +/* config.h.  Generated from config.h.in by configure.  */
 +/* config.h.in.  Generated from configure.ac by autoheader.  */
 +
 +/* Define to the optind value to reset getopt processing */
 +#define GETOPT_OPTIND_RESET_VALUE 1
 +
 +/* define if the compiler supports basic C++20 syntax */
 +#define HAVE_CXX20 1
 +
 +/* Define to 1 if you have the <dlfcn.h> header file. */
 +#define HAVE_DLFCN_H 1
 +
 +/* Define to 1 if getcwd(NULL, 0) works */
 +#define HAVE_GETCWD_DYN 1
 +
 +/* Define to 1 if getopt allows a + sign for POSIX behavior */
 +/* #undef HAVE_GETOPT_GNU */
 +
 +/* Define to 1 if getopt has optreset */
 +#define HAVE_GETOPT_WITH_OPTRESET 1
 +
 +/* Define to 1 if you have the <inttypes.h> header file. */
 +#define HAVE_INTTYPES_H 1
 +
 +/* Define to 1 if you have the 'putenv' function. */
 +#define HAVE_PUTENV 1
 +
 +/* Define to 1 if you have the 'setenv' function. */
 +#define HAVE_SETENV 1
 +
 +/* Define to 1 if you have the 'statfs' function. */
 +#define HAVE_STATFS 1
 +
 +/* Define to 1 if you have the 'statvfs' function. */
 +#define HAVE_STATVFS 1
 +
 +/* Define to 1 if you have the <stdint.h> header file. */
 +#define HAVE_STDINT_H 1
 +
 +/* Define to 1 if you have the <stdio.h> header file. */
 +#define HAVE_STDIO_H 1
 +
 +/* Define to 1 if you have the <stdlib.h> header file. */
 +#define HAVE_STDLIB_H 1
 +
 +/* Define to 1 if you have the <strings.h> header file. */
 +#define HAVE_STRINGS_H 1
 +
 +/* Define to 1 if you have the <string.h> header file. */
 +#define HAVE_STRING_H 1
 +
 +/* Define to 1 if you have the 'sysctlbyname' function. */
 +#define HAVE_SYSCTLBYNAME 1
 +
 +/* Define to 1 if you have the <sys/mount.h> header file. */
 +#define HAVE_SYS_MOUNT_H 1
 +
 +/* Define to 1 if you have the <sys/param.h> header file. */
 +#define HAVE_SYS_PARAM_H 1
 +
 +/* Define to 1 if you have the <sys/statvfs.h> header file. */
 +#define HAVE_SYS_STATVFS_H 1
 +
 +/* Define to 1 if you have the <sys/stat.h> header file. */
 +#define HAVE_SYS_STAT_H 1
 +
 +/* Define to 1 if you have the <sys/sysctl.h> header file. */
 +#define HAVE_SYS_SYSCTL_H 1
 +
 +/* Define to 1 if you have the <sys/types.h> header file. */
 +#define HAVE_SYS_TYPES_H 1
 +
 +/* Define to 1 if you have the <sys/vfs.h> header file. */
 +/* #undef HAVE_SYS_VFS_H */
 +
 +/* Define to 1 if you have the <termios.h> header file. */
 +#define HAVE_TERMIOS_H 1
 +
 +/* Define to 1 if you have the 'umount' function. */
 +/* #undef HAVE_UMOUNT */
 +
 +/* Define to 1 if you have the <unistd.h> header file. */
 +#define HAVE_UNISTD_H 1
 +
 +/* Define to 1 if you have the 'unmount' function. */
 +#define HAVE_UNMOUNT 1
 +
 +/* Define to 1 if you have the 'unsetenv' function. */
 +#define HAVE_UNSETENV 1
 +
 +/* Define to 1 if your lchmod works */
 +#define HAVE_WORKING_LCHMOD 1
 +
 +/* Name of the system architecture (aka processor type) */
 +/* #undef KYUA_ARCHITECTURE */
 +
 +/* Name of the system platform (aka machine name) */
 +/* #undef KYUA_PLATFORM */
 +
 +/* Define to the last valid signal number */
 +#define LAST_SIGNO 128
 +
 +/* Define to the sub-directory where libtool stores uninstalled libraries. */
 +#define LT_OBJDIR ".libs/"
 +
 +/* Define to the name of the sysctl MIB */
 +#define MEMORY_QUERY_SYSCTL_MIB "hw.usermem"
 +
 +/* Define to the memory query type */
 +#define MEMORY_QUERY_TYPE "sysctlbyname"
 +
 +/* Name of package */
 +#define PACKAGE "kyua"
 +
 +/* Define to the address where bug reports for this package should be sent. */
 +#define PACKAGE_BUGREPORT "freebsd-testing@FreeBSD.org"
 +
 +/* Define to the full name of this package. */
 +#define PACKAGE_NAME "Kyua"
 +
 +/* Define to the full name and version of this package. */
- #define PACKAGE_STRING "Kyua 0.15.0"
++#define PACKAGE_STRING "Kyua 0.15.1"
 +
 +/* Define to the one symbol short name of this package. */
 +#define PACKAGE_TARNAME "kyua"
 +
 +/* Define to the home page for this package. */
 +#define PACKAGE_URL "https://github.com/freebsd/kyua/"
 +
 +/* Define to the version of this package. */
- #define PACKAGE_VERSION "0.15.0"
++#define PACKAGE_VERSION "0.15.1"
 +
 +/* Define to 1 if all of the C89 standard headers exist (not just the ones
 +   required in a freestanding environment). This macro is provided for
 +   backward compatibility; new code need not use it. */
 +#define STDC_HEADERS 1
 +
 +/* Version number of package */
- #define VERSION "0.15.0"
++#define VERSION "0.15.1"
diff --cc contrib/kyua/doc/kyua-about.1
index ba3041f14447,000000000000..c914fa33374e
mode 100644,000000..100644
--- a/contrib/kyua/doc/kyua-about.1
+++ b/contrib/kyua/doc/kyua-about.1
@@@ -1,95 -1,0 +1,95 @@@
 +.\" Copyright 2012 The Kyua Authors.
 +.\" All rights reserved.
 +.\"
 +.\" Redistribution and use in source and binary forms, with or without
 +.\" modification, are permitted provided that the following conditions are
 +.\" met:
 +.\"
 +.\" * Redistributions of source code must retain the above copyright
 +.\"   notice, this list of conditions and the following disclaimer.
 +.\" * 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.
 +.\" * Neither the name of Google Inc. nor the names of its contributors
 +.\"   may be used to endorse or promote products derived from this software
 +.\"   without specific prior written permission.
 +.\"
 +.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT
 +.\" OWNER 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.
 +.Dd May 20, 2015
 +.Dt KYUA-ABOUT 1
 +.Os
 +.Sh NAME
 +.Nm "kyua about"
 +.Nd show detailed authors, license, and version information
 +.Sh SYNOPSIS
 +.Nm
 +.Op Ar authors | license | version
 +.Sh DESCRIPTION
 +The
 +.Sq about
 +command provides generic information about the
 +.Xr kyua 1
 +tool.
 +In the default synopsis form (no arguments), the information printed
 +includes:
 +.Bl -enum
 +.It
 +The name of the package, which is
 +.Sq kyua .
 +.It
 +The version number, which is
- .Sq 0.15.0 .
++.Sq 0.15.1 .
 +.It
 +License information.
 +.It
 +Authors information.
 +.It
 +A link to the project web site.
 +.El
 +.Pp
 +You can customize the information printed by this command by specifying
 +the desired topic as the single argument to the command.
 +This can be one of:
 +.Bl -tag -width authorsXX
 +.It Ar authors
 +Displays the list of authors and contributors only.
 +.It Ar license
 +Displays the license information and the list of copyrights.
 +.It Ar version
 +Displays the package name and the version number in a format that is
 +compatible with the output of GNU tools that support a
 +.Fl -version
 +flag.
 +Use this whenever you have to query the version number of the package.
 +.El
 +.Sh FILES
 +The following files are read by the
 +.Nm
 +command:
 +.Bl -tag -width XX
 +.It Pa /usr/share/doc/kyua/AUTHORS
 +List of authors (aka copyright holders).
 +.It Pa /usr/share/doc/kyua/CONTRIBUTORS
 +List of contributors (aka individuals that have contributed to the project).
 +.It Pa /usr/share/doc/kyua/LICENSE
 +License information.
 +.El
 +.Sh EXIT STATUS
 +The
 +.Nm
 +command always returns 0.
 +.Pp
 +Additional exit codes may be returned as described in
 +.Xr kyua 1 .
 +.Sh SEE ALSO
 +.Xr kyua 1