lib/igt_kms: Unify pipe name helpers
[platform/upstream/intel-gpu-tools.git] / tests / NAMING-CONVENTION
1 Naming Convention of i-g-t Tests and Subtests
2 =============================================
3
4 To facilitate easy test selection with piglit we need a somewhat consistent
5 naming scheme for tests and subtests.
6
7 Test Prefixes
8 -------------
9
10 core_: Test for core drm ioctls and behaviour.
11
12 kms_: Used for modesetting tests.
13
14 drm_: Tests for libdrm behaviour, currently just testing the buffer cache
15 reaping.
16
17 gem_: Used for all kinds of GEM tests.
18
19 prime_: Used for buffer sharing tests, both for self-importing (used by
20 dri3/wayland) and actual multi-gpu tests.
21
22 drv_: Tests for overall driver behaviour like module reload, s/r, debugfs files.
23
24 pm_: Tests for power management features like runtime PM, tuning knobs in sysfs
25 and also performance tuning features.
26
27 gen3_: Used by Chris' gen3 specific tiling/fencing tests. Generally tests that
28 only run on some platforms don't have a specific prefix but just skip on
29 platforms where the test doesn't apply.
30
31 debugfs_/sysfs_: Mostly for tests that use sysfs/debugfs but tend to tests all
32 sorts of things. Please consider using a more appropriate prefix from above if
33 the main point isn't to test sysfs/debugfs, but a driver subsystem/feature.
34
35 igt_: Testcase which test the i-g-t infrastructure itself and which are all run
36 through "make check" while building i-g-t.
37
38 (Sub-)Test patterns
39 -------------------
40
41 Much more powerful for filtering sets of tests are patterns anywhere in either
42 the test or subtest name.
43
44 hang: Tests that provoke gpu hangs
45
46 swap: Tests that force their full working sets through swap. Dreadfully slow on
47 machines with spinning rust and tons of memory.
48
49 thrash: Tests that tend to have really slow forward progress due to
50 gtt/memory/.. thrashing. Mostly used to stress-test error-handling corner-cases.
51
52 crc: Tests that use the display CRC infrastructure to check the results.
53
54 tiled/tiling: Tests that exercise behaviour on tiled buffers.
55
56 normal/uncached/snoop: Usual 3 variants for tests that use different coherency
57 modes for the buffer objects they're using.
58
59 rte: _R_un_t_ime _e_nviroment checks. For testcases which will fail if the
60 machine isn't configured properly there should be a first subtest to just check
61 for that.
62
63 ctx: Tests that exercise the hw context support.
64
65 render/blt/bsd/vebox: Tests which apply to individual rings should use these
66 suffixes. They're a bit inconsistent and historically grown, but they new Bspec
67 names (RCS, BCS, VCS and VECS) aren't really clearer.
68
69 exec: Tests that exercise the execbuf code in various ways.
70
71 rpm: Runtime PM tests.