---
name: "kyua.conf"
section: "5"
platform: "linux"
package: "kyua"
version: "0.13+git20240311+0a43bb8d89e3-3"
release: "Debian 13 (Trixie)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/kyua.conf"
---

# kyua.conf(5)

Configuration file for the kyua tool

## NAME

**kyua.conf** – Configuration file for the kyua tool

## SYNOPSIS

**syntax**(*int version*);

Variables: *architecture*, *platform*, *test\_suites*, *unprivileged\_user*.

## DESCRIPTION

The configuration of Kyua is a simple collection of key/value pairs called configuration variables. There are configuration variables that have a special meaning to the runtime engine implemented by [kyua(1)](/kyua/1.md), and there are variables that only have meaning in the context of particular test suites.

Configuration files are Lua scripts. In their most basic form, their whole purpose is to assign values to variables, but the user has the freedom to implement any logic he desires to compute such values.

### File versioning

Every **kyua.conf** file starts with a call to **syntax**(*int version*). This call determines the specific schema used by the file so that future backwards-incompatible modifications to the file can be introduced.

Any new **kyua.conf** file should set *version* to ‘2’.

### Runtime configuration variables

The following variables are internally recognized by [kyua(1)](/kyua/1.md):

- *architecture*

  Name of the system architecture (aka processor type).

- *parallelism*

  Maximum number of test cases to execute concurrently.

- *platform*

  Name of the system platform (aka machine type).

- *unprivileged\_user*

  Name or UID of the unprivileged user.

  If set, the given user must exist in the system and his privileges will be used to run test cases that need regular privileges when [kyua(1)](/kyua/1.md) is executed as root.

### Test-suite configuration variables

Each test suite is able to recognize arbitrary configuration variables, and their type and meaning is specific to the test suite. Because the existence and naming of these variables depends on every test suite, this manual page cannot detail them; please refer to the documentation of the test suite you are working with for more details on this topic.

Test-suite specific configuration variables are defined inside the *test\_suites* dictionary. The general syntax is:

```
test_suites.<test_suite_name>.<variable_name> = <value>
```

where *test\_suite\_name* is the name of the test suite, *variable\_name* is the name of the variable to set, and *value* is a value. The value can be a string, an integer or a boolean.

## FILES

- /usr/share/kyua/examples/kyua.conf

  Sample configuration file.

## EXAMPLES

The following **kyua.conf** shows a simple configuration file that overrides a bunch of the built-in [kyua(1)](/kyua/1.md) configuration variables:

```
syntax(2)
architecture = 'x86_64'
platform = 'amd64'
```

The following is a more complex example that introduces the definition of per-test suite configuration variables:

```
syntax(2)
-- Assign built-in variables.
unprivileged_user = '_tests'
-- Assign test-suite variables.  All of these must be strings.
test_suites.NetBSD.file_systems = 'ffs ext2fs'
test_suites.X11.graphics_driver = 'vesa'
```

## SEE ALSO

[kyua(1)](/kyua/1.md)
