From nobody Sun Oct 18 17:24:26 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4j75Bz2dPwz6w59t for ; Sun, 18 Oct 2026 17:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4j75Bz0cL1z4Rql for ; Sun, 18 Oct 2026 17:24:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792344267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HwN9kvWGJWfjZdS1xpkrOF3F7DNREGNCORghccfxXCQ=; b=JTUH3GBMBb8ebBu6b62MLjU86ZsYSo1au2okrAnmvVmw4uCxEbjyWB/z0A2zPj2yXgQzON 19hBAl3R3Jd7JFufc/RgLLlBlVD8afiaX5s2lzxi//rHmP465ChzKGtFGrSLcoiBiEbv9C PwPhLgx00xp5tijuazcORE/Mh7NhUIkopllJ+dPj42EsayG2jgA9hZ3oaq0PlCCRYUWN7B 7uVopqguspmb6eNaTrdaL/p3JWdOX/1TiAsqmh2ROCbj3to05xoTfWFJbcyZzPhEhz6A5H q+gkeaeCU2criptj/T5dKZes9nzSZeZSDBrcA/I6zmaRgcQ68eJzrvp7aQ1nug== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1792344267; b=Xgas5sRPtTN6ChHYzAp0tGU/xsS2sU2th3YavSg7kzkzohNgxSWFTnL57KFYqvpE0tpAPf wDM0Mh8qFrjbL8KxRwH7ffjBrLAMsaFm+TJ5fqIzSejveq2uTXPhnLbEUiFssMikE481pk VYGxGBYgy/c+HI+D5pey9JIWoefC9tLY4NZEThptNLNrE/XuJzXH3qsAMT8sRBJb7WDiob JCEwRNcLzjddCBv+Ck9Stzfedc+0mHZg+5pzx9xoAl+AG/6pWQoV3iqbJg5WR3N2QNWmQW OtNRAf48XtHnh18PmUUKFymm5zZvoE9LMF+jVZ7yg7VbrizALKKgUNMVg+7b3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792344267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HwN9kvWGJWfjZdS1xpkrOF3F7DNREGNCORghccfxXCQ=; b=vjLSbNKWw6Pn7pDpu0tP0TC2c18DTUJSHhXgxDCQSxviQyAKpeBvy8IY9kAbEXktqD8DaL iteKASek9svfuuLcOVuoKS2Al2SuuhTtFjJ/bmzG3n8Fk5UTe3VXaarl/4+ooL/ijvETzj sR0NmSccYl4qcRH0TATa/OJi5s+yNF2yni630PN8a15NVjvT70frkMwo6duVuiqH5p1r3E 1s5wwpz+unxNLbbvjS3YzVABxC5IzYdM6821B4r2HLDON3vICJnTdHkRrc2XkH0/7VSzUW a19oDD5WntuW6OiP1N24RZ5u1ZjkeJ3/N88Rp+AGUnjl1v/iGHUfRvWTVPr3lg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j75By6v8CzyxR for ; Sun, 18 Oct 2026 17:24:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e2bd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 18 Oct 2026 17:24:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Igor Ostapenko Subject: git: af238d55d313 - main - kyua: Fixes after vendor merge List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: Commit messages for the main branch of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: igoro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: af238d55d313a4a99fe9a3492755eb152b17bca0 Auto-Submitted: auto-generated Date: Sun, 18 Oct 2026 17:24:26 +0000 Message-Id: <6ad500ca.1e2bd.23d0d28a@gitrepo.freebsd.org> The branch main has been updated by igoro: URL: https://cgit.FreeBSD.org/src/commit/?id=af238d55d313a4a99fe9a3492755eb152b17bca0 commit af238d55d313a4a99fe9a3492755eb152b17bca0 Author: Igor Ostapenko AuthorDate: 2026-10-18 17:22:55 +0000 Commit: Igor Ostapenko CommitDate: 2026-10-18 17:22:55 +0000 kyua: Fixes after vendor merge Reviewed by: ngie MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D60446 --- contrib/kyua/cli/cmd_debug.cpp | 4 ++-- contrib/kyua/doc/kyuafile.5 | 1 + contrib/kyua/doc/kyuafile.5.in | 1 + contrib/kyua/engine/scheduler.cpp | 4 ++-- contrib/kyua/model/metadata.cpp | 47 ++++++++++++++++++++++++++------------- contrib/kyua/os/freebsd/main.cpp | 16 ++++++++----- 6 files changed, 47 insertions(+), 26 deletions(-) diff --git a/contrib/kyua/cli/cmd_debug.cpp b/contrib/kyua/cli/cmd_debug.cpp index f5e48572407e..f43be8fe85f2 100644 --- a/contrib/kyua/cli/cmd_debug.cpp +++ b/contrib/kyua/cli/cmd_debug.cpp @@ -155,14 +155,14 @@ public: _ui->out("The test failed and paused right before its cleanup " "routine."); _ui->out(F("Test work dir: %s") % eh.work_directory().str()); - _ui->out("Press any key to continue..."); + _ui->out("Press to continue..."); (void) std::cin.get(); } } else if (_cmdline.has_option(pause_before_cleanup_option .long_name())) { _ui->out("The test paused right before its cleanup routine."); _ui->out(F("Test work dir: %s") % eh.work_directory().str()); - _ui->out("Press any key to continue..."); + _ui->out("Press to continue..."); (void) std::cin.get(); } }; diff --git a/contrib/kyua/doc/kyuafile.5 b/contrib/kyua/doc/kyuafile.5 index 1990e7bba3a3..d26312dd0d18 100644 --- a/contrib/kyua/doc/kyuafile.5 +++ b/contrib/kyua/doc/kyuafile.5 @@ -311,6 +311,7 @@ Supported platforms: .Pp ATF: .Va require.kmods +(appends to the list declared at the Kyuafile level instead of overwriting it) .It Va required_memory Amount of physical memory that the test needs to run successfully. .Pp diff --git a/contrib/kyua/doc/kyuafile.5.in b/contrib/kyua/doc/kyuafile.5.in index ae4b8ebfa3fe..9485ed187814 100644 --- a/contrib/kyua/doc/kyuafile.5.in +++ b/contrib/kyua/doc/kyuafile.5.in @@ -311,6 +311,7 @@ Supported platforms: .Pp ATF: .Va require.kmods +(appends to the list declared at the Kyuafile level instead of overwriting it) .It Va required_memory Amount of physical memory that the test needs to run successfully. .Pp diff --git a/contrib/kyua/engine/scheduler.cpp b/contrib/kyua/engine/scheduler.cpp index 6e19a1598f8c..d04fc1dfbd3d 100644 --- a/contrib/kyua/engine/scheduler.cpp +++ b/contrib/kyua/engine/scheduler.cpp @@ -1653,8 +1653,8 @@ scheduler::generate_config(const config::tree& user_config, if (user_config.is_set("unprivileged_user")) { const passwd::user& user = user_config.lookup< engine::user_node >("unprivileged_user"); - // The property is duplicated using both ATF and Kyua naming styles - // for better UX. + // The property is duplicated using both ATF and Kyua naming styles + // for better UX. props["unprivileged-user"] = user.name; props["unprivileged_user"] = user.name; } diff --git a/contrib/kyua/model/metadata.cpp b/contrib/kyua/model/metadata.cpp index 8bb071163c10..51a7b03e4599 100644 --- a/contrib/kyua/model/metadata.cpp +++ b/contrib/kyua/model/metadata.cpp @@ -255,8 +255,8 @@ init_tree(config::tree& tree) tree.define< config::strings_set_node >("required_configs"); tree.define< bytes_node >("required_disk_space"); tree.define< paths_set_node >("required_files"); - tree.define< bytes_node >("required_memory"); tree.define< config::strings_set_node >("required_kmods"); + tree.define< bytes_node >("required_memory"); tree.define< paths_set_node >("required_programs"); tree.define< user_node >("required_user"); tree.define< delta_node >("timeout"); @@ -282,8 +282,8 @@ set_defaults(config::tree& tree) model::strings_set()); tree.set< bytes_node >("required_disk_space", units::bytes(0)); tree.set< paths_set_node >("required_files", model::paths_set()); - tree.set< bytes_node >("required_memory", units::bytes(0)); tree.set< config::strings_set_node >("required_kmods", model::strings_set()); + tree.set< bytes_node >("required_memory", units::bytes(0)); tree.set< paths_set_node >("required_programs", model::paths_set()); tree.set< user_node >("required_user", ""); // TODO(jmmv): We shouldn't be setting a default timeout like this. See @@ -585,20 +585,6 @@ model::metadata::required_files(void) const } -/// Returns the amount of memory required by the test. -/// -/// \return Number of bytes, or 0 if this does not apply. -const units::bytes& -model::metadata::required_memory(void) const -{ - if (_pimpl->props.is_set("required_memory")) { - return _pimpl->props.lookup< bytes_node >("required_memory"); - } else { - return get_defaults().lookup< bytes_node >("required_memory"); - } -} - - /// Returns the list of kernel modules needed by the test. /// /// \return Set of kernel module names. @@ -615,6 +601,20 @@ model::metadata::required_kmods(void) const } +/// Returns the amount of memory required by the test. +/// +/// \return Number of bytes, or 0 if this does not apply. +const units::bytes& +model::metadata::required_memory(void) const +{ + if (_pimpl->props.is_set("required_memory")) { + return _pimpl->props.lookup< bytes_node >("required_memory"); + } else { + return get_defaults().lookup< bytes_node >("required_memory"); + } +} + + /// Returns the list of programs needed by the test. /// /// \return Set of paths. @@ -1059,6 +1059,21 @@ model::metadata_builder::set_required_files(const model::paths_set& files) } +/// Sets the list of required kernel modules. +/// +/// \param vars Set of kernel module names. +/// +/// \return A reference to this builder. +/// +/// \throw model::error If the value is invalid. +model::metadata_builder& +model::metadata_builder::set_required_kmods(const model::strings_set& kmods) +{ + set< config::strings_set_node >(_pimpl->props, "required_kmods", kmods); + return *this; +} + + /// Sets the amount of memory required by the test. /// /// \param bytes Number of bytes. diff --git a/contrib/kyua/os/freebsd/main.cpp b/contrib/kyua/os/freebsd/main.cpp index 700284b64b78..1fe4fca8cae4 100644 --- a/contrib/kyua/os/freebsd/main.cpp +++ b/contrib/kyua/os/freebsd/main.cpp @@ -34,7 +34,12 @@ #include "engine/requirements.hpp" #include "os/freebsd/reqs_checker_kmods.hpp" +#include "engine/prepare/prepare.hpp" +#include "os/freebsd/prepare_kmods.hpp" + namespace execenv = engine::execenv; +namespace prepare = engine::prepare; + /// FreeBSD related features initialization. /// @@ -50,15 +55,14 @@ int freebsd::main(const int, const char* const* const) { execenv::register_execenv( - std::shared_ptr< execenv::manager >(new freebsd::execenv_jail_manager()) - ); + std::make_shared()); #ifdef __FreeBSD__ engine::register_reqs_checker( - std::shared_ptr< engine::reqs_checker >( - new freebsd::reqs_checker_kmods() - ) - ); + std::make_shared()); + + prepare::register_handler( + std::make_shared()); #endif return 0;