# Test Programs

Common Features

Features available in all test programs

### Command Line Options

All tests support the following command line options:

`--list-subtests`

- list the available subtests and exit

`--run-subtest `subtest``

- run the specified subtest

`--debug[=log-domain]`

- print extra debugging information when running tests and optionally only show the messages from the specified log domain (use "application" to specify the default application domain)

`--device filter`

- select device using filter (see "Device selection" for details)

`--help-description`

- print a short description of the test and exit

`--help`

- print help and exit

### Exit Status

The following exit status codes are defined:

Name | Value | Description
#IGT_EXIT_SUCCESS | 0 | The test was successful
#IGT_EXIT_SKIP | 77 | The test was skipped
#IGT_EXIT_INVALID | 79 | An invalid option or subtest was specified

Any other exit status indicates a test failure.

AMDGPU Tests

Tests for amdgpu driver behaviour

Core Tests

Tests for core drm ioctls and behaviour

Debugfs Tests

Tests for debugfs behaviour

DRM Tests

Tests for libdrm behaviour

GEM Tests

Tests for the graphics execution manager

Gen 3 Tests

Tests specific to gen 3

Gen 7 Tests

Tests specific to gen 7

i915 Tests

Tests for overall i915 driver behaviour

KMS Tests

Tests for kernel mode setting

Meta Tests

Tests for the CI system itself

Perf Tests

Tests for the performance metrics

PM Tests

Tests for power management features

Prime Tests

Tests for buffer sharing

SW Sync Tests

Tests for software sync (fencing)

Display Tests

Tests for display validation

Tools Tests

Tests for IGT tools behaviour

vGEM Tests

Tests for the vitual graphics execution manager

## Glossary

The following terms are commonly used in test names to describe various features of the test and can be used to filter and select particular tests.

invalid

Negative tests to validate kernel interface input validation.

hang

Tests that provoke gpu hangs.

swap

Tests that force their full working sets through swap.

thrash

Tests that tend to have really slow forward progress due to gtt/memory/.. thrashing.

crc

Tests that use the display CRC infrastructure to check the results.

tiled

Tests that exercise behaviour on tiled buffers.

tiling

Tests that exercise behaviour on tiled buffers.

rte

Runtime environment checks.

ctx

Tests that exercise the hardware context support.

render

Tests which apply to the render ring.

blt

Tests which apply to the blt ring.

bsd

Tests which apply to the bsd ring.

vebox

Tests which apply to the vebox ring.

exec

Tests that exercise the execbuf code in various ways.

rpm

Runtime power management tests.