git: b68969979d6b - main - contrib/kyua: update to 0.15.1
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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