Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FreeBSD Jail execution environment support #224

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on May 27, 2024

  1. Add FreeBSD Jail execution environment support

    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".
    
    Signed-off-by: Igor Ostapenko <pm@igoro.pro>
    ihoro committed May 27, 2024
    Configuration menu
    Copy the full SHA
    d8212aa View commit details
    Browse the repository at this point in the history