kyua: Pass unprivileged user config prop to ATF using all known namesKyua and ATF speak different naming styles. In this case, theunprivileged user property can be named with underscore on the Kyu
kyua: Pass unprivileged user config prop to ATF using all known namesKyua and ATF speak different naming styles. In this case, theunprivileged user property can be named with underscore on the Kyuaside, and with a hyphen on the ATF side. Sometimes it is not obviouswhich style should be used in which situation. For instance, a test casemay require this configuration property being set using require.config.Also, a test case may want to read the property using something likeatf_tc_get_config_var(). Which names should be used in these cases?From the perspective of the original code, it is expected to be this: require.config unprivileged-user atf_tc_get_config_var(tc, "unprivileged-user")But, as long as Kyua is the main interface, its users expect to workwith kyua.conf(5), which says that it must be named as unprivileged_user(with underscore). As a result, test authors tend to do this instead: require.config unprivileged_user atf_tc_get_config_var(tc, "unprivileged_user")Kyua already has hacks to understand both unprivileged_user andunprivileged-user coming from require.config. And this patch covers themissing second part -- make Kyua pass both names back to ATF as twoidentical configuration properties named different ways.Reviewed by: ngie, asomersMFC after: 2 weeksDifferential Revision: https://reviews.freebsd.org/D49039
show more ...
kyua: Support require.diskspace ATF metadataReviewed by: ngieMFC after: 1 monthDifferential Revision: https://reviews.freebsd.org/D48333
kyua: Support is_exclusive metadata coming from an ATF test caseOn ATF side it is named "is.exclusive".Reviewed by: ngie, markjMFC after: 1 monthDifferential Revision: https://reviews.freebsd.o
kyua: Support is_exclusive metadata coming from an ATF test caseOn ATF side it is named "is.exclusive".Reviewed by: ngie, markjMFC after: 1 monthDifferential Revision: https://reviews.freebsd.org/D47671
kyua: fix gcc buildsFor some reason execenv::exec() isn't successfully marked noreturn(rlibby reports that virtual functions can't be noreturn), but callingmethods are so gcc rightly complains.
kyua: fix gcc buildsFor some reason execenv::exec() isn't successfully marked noreturn(rlibby reports that virtual functions can't be noreturn), but callingmethods are so gcc rightly complains. Work around this by addingexplicit __builtin_unreachable() calls.Reviewed by: imp, markjFixes: 257e70f1d5ee kyua: Add FreeBSD Jail execution environment supportDifferential Revision: https://reviews.freebsd.org/D46041
kyua: Add FreeBSD Jail execution environment supportA new Kyua concept is added -- "execution environment". A test can beconfigured to be run within a specific environment. The test caselifecycle
kyua: Add FreeBSD Jail execution environment supportA new Kyua concept is added -- "execution environment". A test can beconfigured to be run within a specific environment. The test caselifecycle 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 teststo run in parallel, giving a drastic speedup. So, let's import thefeature and start using it in main.Signed-off-by: Igor Ostapenko <pm@igoro.pro>Reviewed by: markj, kpTested by: markj, kpMFC after: 3 monthsDifferential Revision: https://reviews.freebsd.org/D45865
Import the kyua test framework.Having kyua in the base system will simplify automated testing in CI andeliminates bootstrapping issues on new platforms.The build of kyua is controlled by WITH(OU
Import the kyua test framework.Having kyua in the base system will simplify automated testing in CI andeliminates bootstrapping issues on new platforms.The build of kyua is controlled by WITH(OUT)_TESTS_SUPPORT.Reviewed by: emasteObtained from: CheriBSDSponsored by: DARPADifferential Revision: https://reviews.freebsd.org/D24103