[igt-dev] [PATCH i-g-t v4 08/11] tests: add documentation for dynamic subtests

Mauro Carvalho Chehab mauro.chehab at linux.intel.com
Thu May 25 09:05:32 UTC 2023


From: Mauro Carvalho Chehab <mchehab at kernel.org>

Dynamic subtests are a special case, as those can't be listed
by passing --list-subtests:

	$ ./build/tests/dmabuf --list-subtests
	all-tests

So, the import script requires a special logic to import
those.

Add documentation for such tests.

Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
---
 tests/dmabuf.c             |  12 +
 tests/drm_mm.c             | 120 +++++++++
 tests/i915/gem_busy.c      |   6 +
 tests/i915/gem_wait.c      |  12 +
 tests/i915/i915_selftest.c | 485 +++++++++++++++++++++++++++++++++++++
 5 files changed, 635 insertions(+)

diff --git a/tests/dmabuf.c b/tests/dmabuf.c
index 4bc9b35b619d..2ac10542312c 100644
--- a/tests/dmabuf.c
+++ b/tests/dmabuf.c
@@ -30,6 +30,18 @@
  * Run type: BAT
  *
  * SUBTEST: all-tests
+ *
+ * SUBTEST: all-tests at dma_fence
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at sanitycheck
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
  */
 
 IGT_TEST_DESCRIPTION("Kernel selftests for the dmabuf API");
diff --git a/tests/drm_mm.c b/tests/drm_mm.c
index 4cc2891ee129..0bce7139d4c8 100644
--- a/tests/drm_mm.c
+++ b/tests/drm_mm.c
@@ -30,6 +30,126 @@
  * Run type: FULL
  *
  * SUBTEST: all-tests
+ *
+ * SUBTEST: all-tests at align
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at align32
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at align64
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at bottomup
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at color
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at color_evict
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at color_evict_range
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at debug
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at evict
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at evict_range
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at frag
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at highest
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at init
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at insert
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at insert_range
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at lowest
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at replace
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at reserve
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at sanitycheck
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: all-tests at topdown
+ * Category: Infrastructure
+ * Description: drm_mm range manager SW validation
+ * Functionality: DRM memory mangemnt
+ * Test category: GEM_Legacy
  */
 
 IGT_TEST_DESCRIPTION("Basic sanity check of DRM's range manager (struct drm_mm)");
diff --git a/tests/i915/gem_busy.c b/tests/i915/gem_busy.c
index 0f48dbbfe75c..b796ebb2bb5c 100644
--- a/tests/i915/gem_busy.c
+++ b/tests/i915/gem_busy.c
@@ -43,6 +43,12 @@
  * Sub-category: i915
  * Test category: GEM_Legacy
  *
+ * SUBTEST: busy at all
+ * Functionality: Semaphore
+ *
+ * SUBTEST: busy at all-engines
+ * Run type: BAT
+ *
  * SUBTEST: close-race
  * Category: Desktop client
  * Description: Test to check race condition by randomly closing the handle using gem_close.
diff --git a/tests/i915/gem_wait.c b/tests/i915/gem_wait.c
index 5549d8927e2c..c1cd37e63c24 100644
--- a/tests/i915/gem_wait.c
+++ b/tests/i915/gem_wait.c
@@ -51,6 +51,12 @@
  * Sub-category: i915
  * Test category: GEM_Legacy
  *
+ * SUBTEST: busy at all
+ * Functionality: semaphore
+ *
+ * SUBTEST: busy at all-engines
+ * Run type: BAT
+ *
  * SUBTEST: hang-busy
  * Description: Verify GEM_WAIT functionality in busy mode, when hang is allowed.
  *
@@ -84,6 +90,12 @@
  * Sub-category: i915
  * Test category: GEM_Legacy
  *
+ * SUBTEST: wait at all
+ * Functionality: semaphore
+ *
+ * SUBTEST: wait at all-engines
+ * Run type: BAT
+ *
  * SUBTEST: write-busy
  * Category: Infrastructure
  * Description: Verify GEM_WAIT functionality in write-busy mode.
diff --git a/tests/i915/i915_selftest.c b/tests/i915/i915_selftest.c
index 8863274405ba..bb0e844e9ed9 100644
--- a/tests/i915/i915_selftest.c
+++ b/tests/i915/i915_selftest.c
@@ -31,13 +31,498 @@
  * Feature: gem_core
  * Run type: BAT
  *
+ * SUBTEST: live at active
+ * Category: Selftest
+ * Functionality: semaphore
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at blt
+ * Category: Selftest
+ * Description: Blitter validation
+ * Functionality: command streamer
+ * Sub-category: i915 / HW
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at client
+ * Category: Selftest
+ * Description: Internal API over blitter
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at coherency
+ * Category: Selftest
+ * Description: Cache management
+ * Functionality: memory management
+ * Sub-category: i915 / HW
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at debugger
+ * Category: Selftest
+ * Functionality: device management
+ * Sub-category: debugger
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at display
+ * Category: Selftest
+ * Functionality: display sanity
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at dmabuf
+ * Category: Selftest
+ * Functionality: buffer management
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at evict
+ * Category: Selftest
+ * Functionality: GTT eviction
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at execlists
+ * Category: Selftest
+ * Description: command submission backend
+ * Functionality: command submission
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gem
+ * Category: Selftest
+ * Functionality: command submission
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gem_contexts
+ * Category: Selftest
+ * Description: User isolation and execution at the context level
+ * Functionality: context management
+ * Sub-category: i915 / HW
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gem_execbuf
+ * Category: Selftest
+ * Description: command submission support
+ * Functionality: command submission
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gt_ccs_mode
+ * Category: Selftest
+ * Description: Multi-ccs internal validation
+ * Functionality: multii-ccs
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gt_contexts
+ * Category: Selftest
+ * Description: HW isolation and HW context validation
+ * Functionality: context management
+ * Sub-category: HW
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gt_engines
+ * Category: Selftest
+ * Description: command submission topology validation
+ * Functionality: command submission
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gt_gtt
+ * Category: Selftest
+ * Description: Validation of virtual address management and execution
+ * Functionality: memory management
+ * Sub-category: HW
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gt_heartbeat
+ * Category: Selftest
+ * Description: Stall detection interface validation
+ * Functionality: reset
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gt_lrc
+ * Category: Selftest
+ * Description: HW isolation and HW context validation
+ * Functionality: context management
+ * Sub-category: HW
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gt_mocs
+ * Category: Selftest
+ * Description: Verification of mocs registers
+ * Functionality: mocs
+ * Sub-category: i915 / HW
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gt_pm
+ * Category: Selftest
+ * Description: Basic i915 driver module selftests
+ * Feature: rps, rc6
+ * Test category: rps, rc6
+ *
+ * SUBTEST: live at gt_timelines
+ * Category: Selftest
+ * Description: semaphore tracking
+ * Functionality: semaphore
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gt_tlb
+ * Category: Selftest
+ * Test category: Memory Management
+ *
+ * SUBTEST: live at gtt
+ * Category: Selftest
+ * Description: Virtual address management interface validation
+ * Functionality: memory management
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at gtt_l4wa
+ * Category: Selftest
+ * Description: Check the L4WA is enabled when it was required
+ * Functionality: workarounds
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at guc
+ * Category: Selftest
+ * Feature: GuC
+ * Functionality: Guc specific selftests
+ * Test category: GuC
+ *
+ * SUBTEST: live at guc_doorbells
+ * Category: Selftest
+ * Feature: GuC
+ * Functionality: Guc specific selftests
+ * Test category: GuC
+ *
+ * SUBTEST: live at guc_hang
+ * Category: Selftest
+ * Feature: GuC
+ * Functionality: Guc specific selftests
+ * Test category: GuC
+ *
+ * SUBTEST: live at guc_multi_lrc
+ * Category: Selftest
+ * Feature: GuC
+ * Functionality: Guc specific selftests
+ * Test category: GuC
+ *
+ * SUBTEST: live at hangcheck
+ * Category: Selftest
+ * Description: reset handling after stall detection
+ * Functionality: reset
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at hugepages
+ * Category: Selftest
+ * Description: Large page support validation
+ * Functionality: memory management
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at late_gt_pm
+ * Category: Selftest
+ * Feature: rc6
+ * Functionality: Basic i915 driver module selftests
+ * Test category: rc6
+ *
+ * SUBTEST: live at lmem
+ * Category: Selftest
+ *
+ * SUBTEST: live at memory_region
+ * Category: Selftest
+ * Description: memory topology validation and migration checks
+ * Functionality: memory management
+ * Sub-category: i915 / HW
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at memory_region_cross_tile
+ * Category: Selftest
+ * Functionality: Multi-tile memory topology validation
+ * Test category: MultiTile
+ *
+ * SUBTEST: live at mman
+ * Category: Selftest
+ * Description: memory management validation
+ * Functionality: memory management
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at obj_lock
+ * Category: Selftest
+ * Description: Validation of per-object locking patterns
+ * Functionality: per-object lockling
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at objects
+ * Category: Selftest
+ * Description: User object allocation and isolation checks
+ * Functionality: buffer management
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at perf
+ * Category: Selftest
+ * Feature: i915 perf selftests
+ * Functionality: Basic i915 module perf unit selftests
+ * Test category: Perf
+ *
+ * SUBTEST: live at remote_tiles
+ * Category: Selftest
+ * Functionality: Tile meta data validation
+ * Test category: MultiTile
+ *
+ * SUBTEST: live at requests
+ * Category: Selftest
+ * Description: Validation of internal i915 command submission interface
+ * Functionality: command submission
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at reset
+ * Category: Selftest
+ * Description: engine/GT resets
+ * Functionality: reset
+ * Sub-category: HW
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at sanitycheck
+ * Category: Selftest
+ * Description: Checks the selftest infrastructure itself
+ * Functionality: selftests
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at scheduler
+ * Category: Selftest
+ * Test category: Cmd Submission
+ *
+ * SUBTEST: live at semaphores
+ * Category: Selftest
+ * Description: GuC semaphore management
+ * Functionality: semaphore
+ * Sub-category: HW
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at slpc
+ * Category: Selftest
+ * Feature: slpc / pm_rps
+ * Functionality: Basic i915 driver module selftests
+ * Test category: slpc / pm_rps
+ *
+ * SUBTEST: live at uncore
+ * Category: Selftest
+ * Description: Basic i915 driver module selftests
+ * Feature: forcewake
+ * Test category: forcewake
+ *
+ * SUBTEST: live at vma
+ * Category: Selftest
+ * Description: Per-object virtual address management
+ * Functionality: memory management
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at win_blt_copy
+ * Category: Selftest
+ * Description: Validation of migration interface
+ * Functionality: migration interface
+ * Sub-category: i915 / HW
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: live at workarounds
+ * Category: Selftest
+ * Description: Check workarounds persist or are reapplied after resets and other power management events
+ * Functionality: workarounds
+ * Sub-category: HW
+ * Test category: GEM_Legacy
+ *
  * SUBTEST: mock
  * Feature: gem_core
  * Run type: FULL
  *
+ * SUBTEST: mock at buddy
+ * Category: Selftest
+ * Description: Buddy allocation
+ * Functionality: memory management
+ * Sub-category: DRM
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at contexts
+ * Category: Selftest
+ * Description: GEM context internal API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at dmabuf
+ * Category: Selftest
+ * Description: dma-buf (buffer management) API checks
+ * Functionality: API checks
+ * Sub-category: DRM
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at engine
+ * Category: Selftest
+ * Description: Engine topology API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at evict
+ * Category: Selftest
+ * Description: GTT eviction API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at fence
+ * Category: Selftest
+ * Description: semaphore API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at gtt
+ * Category: Selftest
+ * Description: Virtual address management API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at hugepages
+ * Category: Selftest
+ * Description: Hugepage API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at memory_region
+ * Category: Selftest
+ * Description: Memory region API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at objects
+ * Category: Selftest
+ * Description: Buffer object API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at phys
+ * Category: Selftest
+ * Description: legacy physical object API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at requests
+ * Category: Selftest
+ * Description: Internal command submission API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at ring
+ * Category: Selftest
+ * Description: Ringbuffer management API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at sanitycheck
+ * Category: Selftest
+ * Description: Selftest for the selftest
+ * Functionality: selftests
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at scatterlist
+ * Category: Selftest
+ * Description: Scatterlist API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at shmem
+ * Category: Selftest
+ * Description: SHM utils API checks
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at syncmap
+ * Category: Selftest
+ * Description: API checks for the contracted radixtree
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at timelines
+ * Category: Selftest
+ * Description: API checks for semaphore tracking
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
+ * SUBTEST: mock at tlb
+ * Category: Selftest
+ * Test category: Memory Management
+ *
+ * SUBTEST: mock at uncore
+ * Category: Selftest
+ * Description: Basic i915 driver module selftests
+ * Feature: forcewake
+ * Test category: forcewake
+ *
+ * SUBTEST: mock at vma
+ * Category: Selftest
+ * Description: API checks for virtual address management
+ * Functionality: API checks
+ * Sub-category: i915
+ * Test category: GEM_Legacy
+ *
  * SUBTEST: perf
  * Feature: oa
  * Run type: FULL
+ *
+ * SUBTEST: perf at blt
+ * Category: Selftest
+ * Feature: i915 perf selftests
+ * Functionality: Basic i915 module perf unit selftests
+ * Test category: Perf
+ *
+ * SUBTEST: perf at engine_cs
+ * Category: Selftest
+ * Feature: i915 perf selftests
+ * Functionality: Basic i915 module perf unit selftests
+ * Test category: Perf
+ *
+ * SUBTEST: perf at region
+ * Category: Selftest
+ * Feature: i915 perf selftests
+ * Functionality: Basic i915 module perf unit selftests
+ * Test category: Perf
+ *
+ * SUBTEST: perf at request
+ * Category: Selftest
+ * Functionality: Basic i915 module perf unit selftests
+ * Test category: Perf
+ *
+ * SUBTEST: perf at scheduler
+ * Category: Selftest
+ * Functionality: Basic i915 module perf unit selftests
+ * Test category: Perf
  */
 
 IGT_TEST_DESCRIPTION("Basic unit tests for i915.ko");
-- 
2.40.1



More information about the igt-dev mailing list