DUT Configuration
Device under Test (DUT)
This configuration dut.yaml describes every aspect of a DUT. Below are the key components:
Branch scope: Each DUT belongs to a single branch of the project (see the Branches reference), alongside that branch’s workflows and storage.
Required Fields
| Attribute | Type | Description |
|---|---|---|
| name | string | Unique name of dut. |
| label | string | Label that identifies the devices group. |
| reservation-system | string | Reservation backend for this DUT. One of dutctl, virtual, mock. See below. |
Optional Fields
| Attribute | Type | Description |
|---|---|---|
| attributes | object | Attributes of the DUT. |
DUT Attributes
The attributes field accepts any key-value combination to describe properties of your DUT. Common attributes include host addresses, port numbers, hardware capabilities, or any device-specific configuration.
These attributes can be referenced in test files using the attributes templating syntax: [[attributes.KeyName]]. This allows tests to access DUT-specific configuration without hardcoding values.
For complete details on templating syntax, see Templating and Variables.
Reservation System
reservation-system selects the backend used to reserve the hardware before a
job runs and release it afterwards. The chosen backend determines which
attributes are required:
| reservation-system | Required attributes | Notes |
|---|---|---|
dutctl | Agent, Device | Reserves through a DUT-Control agent. Agent is the agent endpoint, Device the device name on that agent. |
virtual | — | Virtual DUT; no external reservation. |
mock | — | No-op reservation, for testing configuration. |
Example
Optional Files
Pre-Stage
This configuration pre.yaml describes the setup process of a DUT. Below are the key components:
Pre-Stage Required Fields
| Attribute | Type | Description |
|---|---|---|
| pre-stage | array | List of test step commands (see Commands) |
Pre-Stage Example
Post-Stage
This configuration post.yaml describes the teardown process of a DUT. Below are the key components:
Post-Stage Required Fields
| Attribute | Type | Description |
|---|---|---|
| post-stage | array | List of test step commands (see Commands) |