aboutsummaryrefslogtreecommitdiff
path: root/contrib/kyua/utils
Commit message (Collapse)AuthorAgeFilesLines
* kyua: Stop using readdir_r()Dag-Erling Smørgrav2025-08-011-12/+6
| | | | | | | | | It cannot be used safely, and Kyua doesn't even pretend to try. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: igoro Differential Revision: https://reviews.freebsd.org/D51680
* kyua: Try harder to delete directories.Dag-Erling Smørgrav2025-07-092-0/+16
| | | | | | | | | | | | When recursing into a directory to delete it, start by chmod'ing it to 0700. This fixes an issue where kyua is able to run, but not debug, a test case that creates unwriteable directories, because when debugging it tries (and fails) to delete the directory after the test completes. MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: igoro Differential Revision: https://reviews.freebsd.org/D51229
* kyua: Don't pass NULL to std::unique_ptr<>::reset()John Baldwin2025-05-036-15/+15
| | | | | | | No functional change, this is simply more idiomatic. Reviewed by: olce, emaste Differential Revision: https://reviews.freebsd.org/D50091
* kyua: Don't pass NULL to unique_ptr constructorsJohn Baldwin2025-05-031-2/+2
| | | | | | | | | This is ambiguous when NULL is defined to an integral constant. Instead, use the more iodiomatic pattern of {} to construct a default pointer. Reviewed by: olce Differential Revision: https://reviews.freebsd.org/D50090
* kyua: Switch from std::auto_ptr<> to std::unique_ptr<>John Baldwin2025-04-2830-106/+106
| | | | | | | | | A few places were assigning auto_ptr<>s depending on the ownership handoff. These now use an explicit std::move() as required by unique_ptr<>. Reviewed by: ngie, emaste Differential Revision: https://reviews.freebsd.org/D49790
* kyua: Add FreeBSD Jail execution environment supportIgor Ostapenko2024-07-183-2/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new Kyua concept is added -- "execution environment". A test can be configured to be run within a specific environment. The test case lifecycle is extended respectively: - execenv init (creates a jail or does nothing for default execenv="host") - test exec - cleanup exec (optional) - execenv cleanup (removes a jail or does nothing for default execenv="host") The following new functionality is provided, from bottom to top: 1 ATF based tests - The new "execenv" metadata property can be set to explicitly ask for an execution environment: "host" or "jail". If it's not defined, as all existing tests do, then it implicitly means "host". - The new "execenv.jail.params" metadata property can be optionally defined to ask Kyua to use specific jail(8) parameters during creation of a temporary jail. An example is "vnet allow.raw_sockets". Kyua implicitly adds "children.max" to "execenv_jail_params" parameters with the maximum possible value. A test case can override it. 2 Kyuafile - The same new metadata properties can be defined on Kyuafile level: "execenv" and "execenv_jail_params". - Note that historically ATF uses dotted style of metadata naming, while Kyua uses underscore style. Hence "execenv.jail.params" vs. "execenv_jail_params". 3 kyua.conf, kyua CLI - The new "execenvs" engine configuration variable can be set to a list of execution environments to run only tests designed for. Tests of not listed environments are skipped. - By default, this variable lists all execution environments supported by a Kyua binary, e.g. execenvs="host jail". - This variable can be changed via "kyua.conf" or via kyua CLI's "-v" parameter. For example, "kyua -v execenvs=host test" will run only host-based tests and skip jail-based ones. - Current value of this variable can be examined with "kyua config". [markj] This feature has not landed upstream yet. See the discussion in https://github.com/freebsd/kyua/pull/224 . Having the ability to automatically jail tests allows many network tests to run in parallel, giving a drastic speedup. So, let's import the feature and start using it in main. Signed-off-by: Igor Ostapenko <pm@igoro.pro> Reviewed by: markj, kp Tested by: markj, kp MFC after: 3 months Differential Revision: https://reviews.freebsd.org/D45865
* contrib/kyua: Merge vendor importMuhammad Moinur Rahman2024-01-186-26/+267
| | | | | | | | * commit '5f174897f67783925f4ec69122673f9bad6ee6fe': vendor/kyua: Update to snapshot 84c8ec8 Vendor import of freebsd/kyua@a0d44bb356e0c816 Approved by: markj Differential Revision: https://reviews.freebsd.org/D43475
* Import the kyua test framework.Brooks Davis2020-03-23252-0/+45147
Having kyua in the base system will simplify automated testing in CI and eliminates bootstrapping issues on new platforms. The build of kyua is controlled by WITH(OUT)_TESTS_SUPPORT. Reviewed by: emaste Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24103 Notes: svn path=/head/; revision=359260