All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [i-g-t 0/3] Add testplan support for kms tests
@ 2023-05-04 10:24 Bhanuprakash Modem
  2023-05-04 10:24 ` [igt-dev] [i-g-t 1/3] tests/kms: Document kms subtests for XE BAT Bhanuprakash Modem
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Bhanuprakash Modem @ 2023-05-04 10:24 UTC (permalink / raw)
  To: igt-dev, mchehab, kamil.konieczny

Add documentation & testplan support for kms tests in
XE BAT list.

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

Bhanuprakash Modem (3):
  tests/kms: Document kms subtests for XE BAT
  testplan: Add testplan support for kms tests
  scripts/test_list: Ignore non-XE tests for missing documentation

 docs/testplan/meson.build              |   6 +-
 scripts/test_list.py                   |   7 +-
 tests/chamelium/kms_chamelium_edid.c   |  27 +++++
 tests/chamelium/kms_chamelium_frames.c |  22 ++++
 tests/chamelium/kms_chamelium_hpd.c    |  39 +++++++
 tests/i915/kms_psr.c                   |  31 ++++++
 tests/kms_addfb_basic.c                | 147 +++++++++++++++++++++++++
 tests/kms_cursor_legacy.c              |  44 ++++++++
 tests/kms_flip.c                       |  27 +++++
 tests/kms_force_connector_basic.c      |  29 +++++
 tests/kms_pipe_crc_basic.c             |  58 ++++++++++
 tests/kms_prop_blob.c                  |  12 ++
 tests/kms_test_config.json             |  41 +++++++
 13 files changed, 487 insertions(+), 3 deletions(-)
 create mode 100644 tests/kms_test_config.json

--
2.40.0



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [igt-dev] [i-g-t 1/3] tests/kms: Document kms subtests for XE BAT
  2023-05-04 10:24 [igt-dev] [i-g-t 0/3] Add testplan support for kms tests Bhanuprakash Modem
@ 2023-05-04 10:24 ` Bhanuprakash Modem
  2023-05-05  4:49   ` Mauro Carvalho Chehab
  2023-05-04 10:24 ` [igt-dev] [i-g-t 2/3] testplan: Add testplan support for kms tests Bhanuprakash Modem
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Bhanuprakash Modem @ 2023-05-04 10:24 UTC (permalink / raw)
  To: igt-dev, mchehab, kamil.konieczny

Add documentation for kms tests those are in XE BAT which is used
by IGT test plan documentation.

Tests included in this patch:
- tests/chamelium/kms_chamelium_edid.c
- tests/chamelium/kms_chamelium_frames.c
- tests/chamelium/kms_chamelium_hpd.c
- tests/i915/kms_psr.c
- tests/kms_addfb_basic.c
- tests/kms_cursor_legacy.c
- tests/kms_flip.c
- tests/kms_force_connector_basic.c
- tests/kms_pipe_crc_basic.c
- tests/kms_prop_blob.c

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/chamelium/kms_chamelium_edid.c   |  27 +++++
 tests/chamelium/kms_chamelium_frames.c |  22 ++++
 tests/chamelium/kms_chamelium_hpd.c    |  39 +++++++
 tests/i915/kms_psr.c                   |  31 ++++++
 tests/kms_addfb_basic.c                | 147 +++++++++++++++++++++++++
 tests/kms_cursor_legacy.c              |  44 ++++++++
 tests/kms_flip.c                       |  27 +++++
 tests/kms_force_connector_basic.c      |  29 +++++
 tests/kms_pipe_crc_basic.c             |  58 ++++++++++
 tests/kms_prop_blob.c                  |  12 ++
 10 files changed, 436 insertions(+)

diff --git a/tests/chamelium/kms_chamelium_edid.c b/tests/chamelium/kms_chamelium_edid.c
index 7e7262ed3..4a52e6922 100644
--- a/tests/chamelium/kms_chamelium_edid.c
+++ b/tests/chamelium/kms_chamelium_edid.c
@@ -24,6 +24,11 @@
  *    Lyude Paul <lyude@redhat.com>
  */
 
+/**
+ * TEST: Tests behaviour of edid & timings using chamelium
+ * Category: Display
+ */
+
 #include <fcntl.h>
 #include <stdint.h>
 #include <string.h>
@@ -139,6 +144,28 @@ static void check_mode(struct chamelium *chamelium, struct chamelium_port *port,
 	igt_assert(video_params.vsync_polarity == mode_vsync_polarity);
 }
 
+/**
+ * SUBTEST: dp-edid-read
+ * Description: Make sure the EDID exposed by KMS is the same as the screen's
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: dp
+ * Mega feature: DP
+ *
+ * SUBTEST: hdmi-edid-read
+ * Description: Make sure the EDID exposed by KMS is the same as the screen's
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: hdmi
+ * Mega feature: HDMI
+ *
+ * SUBTEST: vga-edid-read
+ * Description: Make sure the EDID exposed by KMS is the same as the screen's
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: vga
+ * Mega feature: VGA
+ */
 static const char igt_custom_edid_type_read_desc[] =
 	"Make sure the EDID exposed by KMS is the same as the screen's";
 static void igt_custom_edid_type_read(chamelium_data_t *data,
diff --git a/tests/chamelium/kms_chamelium_frames.c b/tests/chamelium/kms_chamelium_frames.c
index 008bc34b6..22a7ba936 100644
--- a/tests/chamelium/kms_chamelium_frames.c
+++ b/tests/chamelium/kms_chamelium_frames.c
@@ -24,6 +24,11 @@
  *    Lyude Paul <lyude@redhat.com>
  */
 
+/**
+ * TEST: Tests to capture frames using chamelium
+ * Category: Display
+ */
+
 #include "igt_eld.h"
 #include "igt_infoframe.h"
 #include "kms_chamelium_helper.h"
@@ -534,6 +539,23 @@ static void prepare_randomized_plane(chamelium_data_t *data,
 	igt_remove_fb(data->drm_fd, &pattern_fb);
 }
 
+/**
+ * SUBTEST: dp-crc-fast
+ * Description: Pick the first mode of the IGT base EDID, display and capture
+ * 		a few frames, then check captured frames are correct
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: dp
+ * Mega feature: DP
+ *
+ * SUBTEST: hdmi-crc-fast
+ * Description: Pick the first mode of the IGT base EDID, display and capture
+ * 		a few frames, then check captured frames are correct
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: hdmi
+ * Mega feature: HDMI
+ */
 static const char test_display_one_mode_desc[] =
 	"Pick the first mode of the IGT base EDID, display and capture a few "
 	"frames, then check captured frames are correct";
diff --git a/tests/chamelium/kms_chamelium_hpd.c b/tests/chamelium/kms_chamelium_hpd.c
index 2b17ce29d..efd40ba54 100644
--- a/tests/chamelium/kms_chamelium_hpd.c
+++ b/tests/chamelium/kms_chamelium_hpd.c
@@ -24,6 +24,11 @@
  *    Lyude Paul <lyude@redhat.com>
  */
 
+/**
+ * TEST: Tests behaviour of hpd using chamelium
+ * Category: Display
+ */
+
 #include "kms_chamelium_helper.h"
 
 #define HPD_STORM_PULSE_INTERVAL_DP 100 /* ms */
@@ -104,6 +109,31 @@ static void try_suspend_resume_hpd(chamelium_data_t *data,
 	}
 }
 
+/**
+ * SUBTEST: dp-hpd-fast
+ * Description: Check that we get uevents and updated connector status on
+ * 		hotplug and unplug
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: dp_hotplug
+ * Mega feature: DP
+ *
+ * SUBTEST: hdmi-hpd-fast
+ * Description: Check that we get uevents and updated connector status on
+ * 		hotplug and unplug
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: hdmi_hotplug
+ * Mega feature: HDMI
+ *
+ * SUBTEST: vga-hpd-fast
+ * Description: Check that we get uevents and updated connector status on
+ * 		hotplug and unplug
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: vga_hotplug
+ * Mega feature: VGA
+ */
 static const char test_basic_hotplug_desc[] =
 	"Check that we get uevents and updated connector status on "
 	"hotplug and unplug";
@@ -238,6 +268,15 @@ static void test_suspend_resume_hpd(chamelium_data_t *data,
 	igt_cleanup_uevents(mon);
 }
 
+/**
+ * SUBTEST: common-hpd-after-suspend
+ * Description: Toggle HPD during suspend on all connectors, check that uevents
+ * 		are sent and connector status is updated
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: hotplug
+ * Mega feature: General Display Features
+ */
 static const char test_suspend_resume_hpd_common_desc[] =
 	"Toggle HPD during suspend on all connectors, check that uevents are "
 	"sent and connector status is updated";
diff --git a/tests/i915/kms_psr.c b/tests/i915/kms_psr.c
index 0e8d7f4f0..6c89de45d 100644
--- a/tests/i915/kms_psr.c
+++ b/tests/i915/kms_psr.c
@@ -22,6 +22,11 @@
  *
  */
 
+/**
+ * TEST: Tests behaviour of PSR & PSR2
+ * Category: Display
+ */
+
 #include "igt.h"
 #include "igt_sysfs.h"
 #include "igt_psr.h"
@@ -300,6 +305,32 @@ static void fb_dirty_fb_ioctl(data_t *data, struct igt_fb *fb)
 	igt_assert(ret == 0 || ret == -ENOSYS);
 }
 
+/**
+ * SUBTEST: cursor_plane_move
+ * Description: Check if psr is detecting the plane operations performed on
+ *		cursor planes
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: psr
+ * Mega feature: PSR
+ *
+ * SUBTEST: primary_page_flip
+ * Description: Check if psr is detecting page-flipping operations performed
+ *		on primary planes
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: psr
+ * Mega feature: PSR
+ *
+ * SUBTEST: sprite_plane_onoff
+ * Description: Check if psr is detecting the plane operations performed on
+ *		sprite planes
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: psr
+ * Mega feature: PSR
+ */
+
 static void run_test(data_t *data)
 {
 	uint32_t handle = data->fb_white.gem_handle;
diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
index e4783624f..6f77c19de 100644
--- a/tests/kms_addfb_basic.c
+++ b/tests/kms_addfb_basic.c
@@ -25,6 +25,11 @@
  *
  */
 
+/**
+ * TEST: Sanity test for ioctls DRM_IOCTL_MODE_ADDFB2 & DRM_IOCTL_MODE_RMFB.
+ * Category: Display
+ */
+
 #include "igt.h"
 #include <unistd.h>
 #include <stdlib.h>
@@ -60,6 +65,35 @@ static int legacy_addfb(int fd, struct drm_mode_fb_cmd *arg)
 	return err;
 }
 
+/**
+ * SUBTEST: unused-handle
+ * Description: Test that addfb2 call fails correctly for unused handle
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: unused-pitches
+ * Description: Test that addfb2 call fails correctly for unused pitches
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: unused-offsets
+ * Description: Test that addfb2 call fails correctly for unused offset
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: unused-modifier
+ * Description: Test that addfb2 call fails correctly for unused modifier
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ */
 static void invalid_tests(int fd)
 {
 	struct drm_mode_fb_cmd2 f = {};
@@ -273,6 +307,39 @@ static void invalid_tests(int fd)
 	}
 }
 
+/**
+ * SUBTEST: no-handle
+ * Description: Test that addfb2 call fails correctly without handle
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: basic
+ * Description: Check if addfb2 call works with given handle
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: bad-pitch-%i
+ * Description: bad-pitch-%arg[1]: Test that addfb2 call fails correctly for bad-pitches
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * arg[1]:
+ *
+ * @0:          0
+ * @32:         32
+ * @63:         63
+ * @128:        128
+ * @256:        256
+ * @999:        999
+ * @1024:       1024
+ * @65536:      65536
+ */
 static void pitch_tests(int fd)
 {
 	struct drm_mode_fb_cmd2 f = {};
@@ -399,6 +466,42 @@ static void tiling_tests(int fd)
 	}
 }
 
+/**
+ * SUBTEST: size-max
+ * Description: Check if addfb2 call works with max size of buffer object
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: too-wide
+ * Description: Test that addfb2 call fails correctly with increased width of fb
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: too-high
+ * Description: Test that addfb2 call fails correctly with increased height of fb
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: bo-too-small
+ * Description: Test that addfb2 call fails correctly with small size of buffer object
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: small-bo
+ * Description: Check if addfb2 call works for given height
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ */
 static void size_tests(int fd)
 {
 	struct drm_mode_fb_cmd2 f = {};
@@ -514,6 +617,21 @@ static void size_tests(int fd)
 	}
 }
 
+/**
+ * SUBTEST: addfb25-modifier-no-flag
+ * Description: Test that addfb2 call fails correctly for x-tiling with given modifier
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: addfb25-bad-modifier
+ * Description: Test that addfb2 call fails correctly for irrelevant modifier
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ */
 static void addfb25_tests(int fd)
 {
 	struct drm_mode_fb_cmd2 f = {};
@@ -700,6 +818,35 @@ static void addfb25_4tile(int fd)
 		gem_close(fd, gem_bo);
 }
 
+/**
+ * SUBTEST: invalid-get-prop-any
+ * Description: Test that get-properties ioctl call fails correctly for invalid object type
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: invalid-get-prop
+ * Description: Test that get-properties ioctl call fails correctly for fb mode object
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: invalid-set-prop-any
+ * Description: Test that set-properties ioctl call fails correctly for invalid object type
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: invalid-set-prop
+ * Description: Test that get-properties ioctl call fails correctly for fb mode object
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_gem_interop
+ * Mega feature: General Display Features
+ */
 static void prop_tests(int fd)
 {
 	struct drm_mode_fb_cmd2 f = {};
diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index 7df6a6125..05085d607 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -22,6 +22,11 @@
  *
  */
 
+/**
+ * TEST: Stress legacy cursor ioctl
+ * Category: Display
+ */
+
 #include <sched.h>
 #include <sys/poll.h>
 
@@ -536,6 +541,45 @@ enum basic_flip_cursor {
 
 #define BASIC_BUSY 0x1
 
+/**
+ * SUBTEST: basic-busy-flip-before-cursor-%s
+ * Description: Cursor test with %arg[1] mode
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: cursor
+ * Mega feature: General Display Features
+ *
+ * arg[1]:
+ *
+ * @atomic:	atomic
+ * @legacy:	legacy
+ *
+ * SUBTEST: basic-flip-after-cursor-%s
+ * Description: Cursor test with %arg[1] mode
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: cursor
+ * Mega feature: General Display Features
+ *
+ * arg[1]:
+ *
+ * @atomic:        atomic
+ * @legacy:        legacy
+ * @varying-size:  varying-size
+ *
+ * SUBTEST: basic-flip-before-cursor-%s
+ * Description: Cursor test with %arg[1] mode
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: cursor
+ * Mega feature: General Display Features
+ *
+ * arg[1]:
+ *
+ * @atomic:        atomic
+ * @legacy:        legacy
+ * @varying-size:  varying-size
+ */
 static void basic_flip_cursor(igt_display_t *display,
 			      enum flip_test mode,
 			      enum basic_flip_cursor order,
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index e4c98b8ec..611d3fbe3 100755
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -21,6 +21,11 @@
  * IN THE SOFTWARE.
  */
 
+/**
+ * TEST: Tests for validating modeset, dpms and pageflips
+ * Category: Display
+ */
+
 #include "config.h"
 
 #include "igt.h"
@@ -1557,6 +1562,28 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs,
 		__run_test_on_crtc_set(o, crtc_idxs, crtc_count, duration_ms);
 }
 
+/**
+ * SUBTEST: basic-flip-vs-%s
+ * Description: Basic test for validating %arg[1]
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: vblank
+ * Mega feature: General Display Features
+ *
+ * arg[1]:
+ *
+ * @dpms:         dpms
+ * @modeset:      modeset
+ * @wf_vblank:    wf_vblank
+ *
+ * SUBTEST: basic-plain-flip
+ * Description: Basic test for validating page flip
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: vblank
+ * Mega feature: General Display Features
+ */
+
 static void run_test(int duration, int flags)
 {
 	struct test_output o;
diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c
index f1508efba..7e35693cf 100644
--- a/tests/kms_force_connector_basic.c
+++ b/tests/kms_force_connector_basic.c
@@ -22,6 +22,11 @@
  *
  */
 
+/**
+ * TEST: Check the debugfs force connector/edid features work correctly
+ * Category: Display
+ */
+
 #include "igt.h"
 
 IGT_TEST_DESCRIPTION("Check the debugfs force connector/edid features work"
@@ -151,6 +156,14 @@ static void force_load_detect(int drm_fd, drmModeConnectorPtr connector, drmMode
 	}
 }
 
+/**
+ * SUBTEST: force-connector-state
+ * Description: Test to check the forced connector state
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: force_connector
+ * Mega feature: General Display Features
+ */
 static void force_connector_state(int drm_fd, drmModeConnectorPtr connector)
 {
 	igt_display_t display;
@@ -190,6 +203,14 @@ static void force_connector_state(int drm_fd, drmModeConnectorPtr connector)
 	igt_display_fini(&display);
 }
 
+/**
+ * SUBTEST: force-edid
+ * Description: Test to check the values after forcing edid
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: force_connector
+ * Mega feature: General Display Features
+ */
 static void force_edid(int drm_fd, drmModeConnectorPtr connector)
 {
 	drmModeConnector *temp;
@@ -231,6 +252,14 @@ static void force_edid(int drm_fd, drmModeConnectorPtr connector)
 
 }
 
+/**
+ * SUBTEST: prune-stale-modes
+ * Description: Tests pruning of stale modes
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: force_connector
+ * Mega feature: General Display Features
+ */
 static void prune_stale_modes(int drm_fd, drmModeConnectorPtr connector)
 {
 	int i;
diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index 65afc9f60..84c73fd7f 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -22,6 +22,11 @@
  *
  */
 
+/**
+ * TEST: Tests behaviour of CRC
+ * Category: Display
+ */
+
 #include "igt.h"
 #include "igt_sysfs.h"
 #include <errno.h>
@@ -80,6 +85,50 @@ enum {
 	TEST_HANG = 1 << 3,
 };
 
+/**
+ * SUBTEST: read-crc
+ * Description: Test for pipe CRC reads
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: crc
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: read-crc-frame-sequence
+ * Description: Tests the pipe CRC read and ensure frame sequence
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: crc
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: nonblocking-crc
+ * Description: Test for O_NONBLOCK CRC reads
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: crc
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: nonblocking-crc-frame-sequence
+ * Description: Test for O_NONBLOCK CRC reads and ensure frame sequence
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: crc
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: suspend-read-crc
+ * Description: Suspend test for pipe CRC reads
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: crc
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: hang-read-crc
+ * Description: Hang test for pipe CRC read
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: crc
+ * Mega feature: General Display Features
+ */
+
 static void test_read_crc(data_t *data, enum pipe pipe,
 			  igt_output_t *output, unsigned flags)
 {
@@ -177,6 +226,15 @@ static void test_read_crc(data_t *data, enum pipe pipe,
 	igt_display_commit(display);
 }
 
+/**
+ * SUBTEST: compare-crc-sanitycheck
+ * Description: Basic sanity check for CRC mismatches
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: crc
+ * Mega feature: General Display Features
+ */
+
 /*
  * CRC-sanity test, to make sure there would be no CRC mismatches
  *
diff --git a/tests/kms_prop_blob.c b/tests/kms_prop_blob.c
index 96aa6d8d6..6a5a5f410 100644
--- a/tests/kms_prop_blob.c
+++ b/tests/kms_prop_blob.c
@@ -25,6 +25,10 @@
  *   Daniel Stone <daniels@collabora.com>
  */
 
+/**
+ * TEST: Tests behaviour of mass-data 'blob' properties
+ * Category: Display
+ */
 #include "igt.h"
 #include <errno.h>
 #include <stdbool.h>
@@ -238,6 +242,14 @@ test_core(int fd)
 	igt_assert_eq(validate_prop(fd, 0), ENOENT);
 }
 
+/**
+ * SUBTEST: basic
+ * Description: Test to ensure property support exists
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: kms_core
+ * Mega feature: General Display Features
+ */
 static void
 test_basic(int fd)
 {
-- 
2.40.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [igt-dev] [i-g-t 2/3] testplan: Add testplan support for kms tests
  2023-05-04 10:24 [igt-dev] [i-g-t 0/3] Add testplan support for kms tests Bhanuprakash Modem
  2023-05-04 10:24 ` [igt-dev] [i-g-t 1/3] tests/kms: Document kms subtests for XE BAT Bhanuprakash Modem
@ 2023-05-04 10:24 ` Bhanuprakash Modem
  2023-05-05  4:53   ` Mauro Carvalho Chehab
  2023-05-04 10:24 ` [igt-dev] [i-g-t 3/3] scripts/test_list: Ignore non-XE tests for missing documentation Bhanuprakash Modem
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Bhanuprakash Modem @ 2023-05-04 10:24 UTC (permalink / raw)
  To: igt-dev, mchehab, kamil.konieczny

Add testplan support for kms tests.
The documentation for kms tests will be like:

	/**
	 * TEST: Test foo.
	 * Category: Display
	 *
	 * SUBTEST: bar
	 * Description: bar description
	 * Test category: functionality test
	 * Run type: BAT
	 * Functionality: dp
	 * Mega feature: DP 2.0
	 */

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 docs/testplan/meson.build  |  6 ++++--
 tests/kms_test_config.json | 41 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+), 2 deletions(-)
 create mode 100644 tests/kms_test_config.json

diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
index e36713960..4e3565cf8 100644
--- a/docs/testplan/meson.build
+++ b/docs/testplan/meson.build
@@ -7,6 +7,7 @@ rst2pdf = find_program('rst2pdf', required: false)
 stylesheet = join_paths(meson.current_source_dir(), 'testplan.css')
 
 xe_test_config = join_paths(source_root, 'tests', 'xe', 'xe_test_config.json')
+kms_test_config = join_paths(source_root, 'tests', 'kms_test_config.json')
 
 check_testlist = []
 if build_tests
@@ -22,8 +23,9 @@ else
 	doc_dependencies = []
 endif
 
-test_dict = { 'xe_tests':
-		{ 'input': xe_test_config, 'extra_args': check_testlist }
+test_dict = {
+	      'xe_tests': { 'input': xe_test_config, 'extra_args': check_testlist },
+	      'kms_tests': { 'input': kms_test_config, 'extra_args': check_testlist }
 	    }
 
 foreach testplan, fields: test_dict
diff --git a/tests/kms_test_config.json b/tests/kms_test_config.json
new file mode 100644
index 000000000..4faecb7a7
--- /dev/null
+++ b/tests/kms_test_config.json
@@ -0,0 +1,41 @@
+{
+    "description": "JSON file to be used to parse KMS documentation",
+    "files": [ "chamelium/kms_chamelium_edid.c", "chamelium/kms_chamelium_frames.c",
+               "chamelium/kms_chamelium_hpd.c", "i915/kms_psr.c",
+               "kms_addfb_basic.c", "kms_cursor_legacy.c", "kms_flip.c",
+               "kms_force_connector_basic.c", "kms_pipe_crc_basic.c",
+               "kms_prop_blob.c", "kms_color.c"
+             ],
+    "fields": {
+        "Category": {
+            "_properties_": {
+                "description": "Contains the major group for the tested functionality 'Display'"
+            }
+        },
+        "Mega feature": {
+            "_properties_": {
+                "description": "Contains the mega feature for end to end use case, e.g. the 'PSR' feature."
+            },
+            "Functionality": {
+                "_properties_": {
+                    "description": "Groups tests on buckets containg more detailed functionality"
+                }
+            }
+        },
+        "Run type": {
+            "_properties_": {
+                "description": "Defines what category of testlist it belongs"
+            }
+        },
+        "Test category": {
+            "_properties_": {
+                "description": "Defines the test category. Usually used at subtest level."
+            }
+        },
+        "Description" : {
+            "_properties_": {
+                "description": "Provides a description for the test/subtest."
+            }
+        }
+    }
+}
-- 
2.40.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [igt-dev] [i-g-t 3/3] scripts/test_list: Ignore non-XE tests for missing documentation
  2023-05-04 10:24 [igt-dev] [i-g-t 0/3] Add testplan support for kms tests Bhanuprakash Modem
  2023-05-04 10:24 ` [igt-dev] [i-g-t 1/3] tests/kms: Document kms subtests for XE BAT Bhanuprakash Modem
  2023-05-04 10:24 ` [igt-dev] [i-g-t 2/3] testplan: Add testplan support for kms tests Bhanuprakash Modem
@ 2023-05-04 10:24 ` Bhanuprakash Modem
  2023-05-05  4:55   ` Mauro Carvalho Chehab
  2023-05-04 11:33 ` [igt-dev] ✓ Fi.CI.BAT: success for Add testplan support for kms tests Patchwork
  2023-05-04 13:57 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  4 siblings, 1 reply; 9+ messages in thread
From: Bhanuprakash Modem @ 2023-05-04 10:24 UTC (permalink / raw)
  To: igt-dev, mchehab, kamil.konieczny

To add the test file to tests_config.json, documentation is
mandatory for all the subtests, else we'll end up with the
compilation failure.

It's completely make sense to consider the documentation as
mandatory for newly created test files like xe_*.c. But for
existing files, it is very painful to add the documentation
for all the subtests in that file.

Example: tests/kms_flip.c
It has N number of subtests, but we are using 2-3 subtests
for BAT. Will slowly add the documentation for remaining
subtests.

So, for non-XE subtests, don't fail the compilation for
missing documentation. Once the documentation is done for
all the subtests we can revert this patch.

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 scripts/test_list.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/scripts/test_list.py b/scripts/test_list.py
index 1c5e195eb..3c959d6b9 100755
--- a/scripts/test_list.py
+++ b/scripts/test_list.py
@@ -876,11 +876,16 @@ class TestList:
             if not found:
                 doc_uneeded.append(doc_test)
 
+        xe_regex = r"^(igt@xe_.*@.*$)"
         for run_test in run_subtests:
             found = False
             if re.match(test_regex, run_test):
                 found = True
-            if not found:
+            #
+            # FIXME: Drop this XE specific check once documentation is done
+            # for all subtests.
+            #
+            if not found and re.match(xe_regex, run_test):
                 run_missing.append(run_test)
 
         if doc_uneeded:
-- 
2.40.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for Add testplan support for kms tests
  2023-05-04 10:24 [igt-dev] [i-g-t 0/3] Add testplan support for kms tests Bhanuprakash Modem
                   ` (2 preceding siblings ...)
  2023-05-04 10:24 ` [igt-dev] [i-g-t 3/3] scripts/test_list: Ignore non-XE tests for missing documentation Bhanuprakash Modem
@ 2023-05-04 11:33 ` Patchwork
  2023-05-04 13:57 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2023-05-04 11:33 UTC (permalink / raw)
  To: Bhanuprakash Modem; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 9167 bytes --]

== Series Details ==

Series: Add testplan support for kms tests
URL   : https://patchwork.freedesktop.org/series/117274/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13107 -> IGTPW_8907
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/index.html

Participating hosts (40 -> 39)
------------------------------

  Additional (1): bat-rpls-2 
  Missing    (2): fi-kbl-soraka fi-snb-2520m 

Known issues
------------

  Here are the changes found in IGTPW_8907 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-rpls-2:         NOTRUN -> [SKIP][1] ([i915#7456])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@debugfs_test@basic-hwmon.html

  * igt@fbdev@read:
    - bat-rpls-2:         NOTRUN -> [SKIP][2] ([i915#2582]) +4 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@fbdev@read.html

  * igt@gem_lmem_swapping@verify-random:
    - bat-rpls-2:         NOTRUN -> [SKIP][3] ([i915#4613]) +3 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_tiled_pread_basic:
    - bat-rpls-2:         NOTRUN -> [SKIP][4] ([i915#3282])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_backlight@basic-brightness:
    - bat-rpls-2:         NOTRUN -> [SKIP][5] ([i915#7561])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_pm_rps@basic-api:
    - bat-rpls-2:         NOTRUN -> [SKIP][6] ([i915#6621])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live@gt_pm:
    - bat-rpls-2:         NOTRUN -> [DMESG-FAIL][7] ([i915#4258] / [i915#7913])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@requests:
    - bat-rpls-1:         [PASS][8] -> [ABORT][9] ([i915#4983] / [i915#7911] / [i915#7920])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/bat-rpls-1/igt@i915_selftest@live@requests.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-1/igt@i915_selftest@live@requests.html
    - bat-rpls-2:         NOTRUN -> [ABORT][10] ([i915#7913])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@i915_selftest@live@requests.html

  * igt@i915_selftest@live@slpc:
    - bat-adlp-6:         [PASS][11] -> [DMESG-WARN][12] ([i915#6367])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/bat-adlp-6/igt@i915_selftest@live@slpc.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-adlp-6/igt@i915_selftest@live@slpc.html

  * igt@kms_busy@basic:
    - bat-rpls-2:         NOTRUN -> [SKIP][13] ([i915#1845]) +14 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@kms_busy@basic.html

  * igt@kms_chamelium_edid@hdmi-edid-read:
    - bat-rpls-2:         NOTRUN -> [SKIP][14] ([i915#7828]) +7 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@kms_chamelium_edid@hdmi-edid-read.html

  * igt@kms_flip@basic-flip-vs-dpms:
    - bat-rpls-2:         NOTRUN -> [SKIP][15] ([i915#3637]) +3 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@kms_flip@basic-flip-vs-dpms.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-rpls-2:         NOTRUN -> [SKIP][16] ([fdo#109285])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_frontbuffer_tracking@basic:
    - bat-rpls-2:         NOTRUN -> [SKIP][17] ([i915#1849])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
    - bat-dg2-11:         NOTRUN -> [SKIP][18] ([i915#1845] / [i915#5354])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html

  * igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-1:
    - bat-dg2-8:          [PASS][19] -> [FAIL][20] ([i915#7932])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-1.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-1.html

  * igt@kms_pipe_crc_basic@read-crc-frame-sequence:
    - bat-adlp-9:         NOTRUN -> [SKIP][21] ([i915#3546]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-adlp-9/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html

  * igt@kms_psr@sprite_plane_onoff:
    - bat-rpls-2:         NOTRUN -> [SKIP][22] ([i915#1072]) +3 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@kms_psr@sprite_plane_onoff.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-rpls-2:         NOTRUN -> [SKIP][23] ([i915#3555] / [i915#4579])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-rpls-2:         NOTRUN -> [SKIP][24] ([fdo#109295] / [i915#1845] / [i915#3708])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-write:
    - bat-rpls-2:         NOTRUN -> [SKIP][25] ([fdo#109295] / [i915#3708]) +3 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-rpls-2/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@migrate:
    - bat-dg2-11:         [DMESG-WARN][26] ([i915#7699]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/bat-dg2-11/igt@i915_selftest@live@migrate.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-dg2-11/igt@i915_selftest@live@migrate.html

  * igt@i915_selftest@live@requests:
    - {bat-mtlp-6}:       [ABORT][28] ([i915#4983] / [i915#7920]) -> [PASS][29]
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/bat-mtlp-6/igt@i915_selftest@live@requests.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/bat-mtlp-6/igt@i915_selftest@live@requests.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
  [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7911]: https://gitlab.freedesktop.org/drm/intel/issues/7911
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
  [i915#7920]: https://gitlab.freedesktop.org/drm/intel/issues/7920
  [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7277 -> IGTPW_8907

  CI-20190529: 20190529
  CI_DRM_13107: b0066bcea475bee331c53109688a0b3d19c3dcc0 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8907: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/index.html
  IGT_7277: 1cb3507f3ff28d11bd5cfabcde576fe78ddab571 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/index.html

[-- Attachment #2: Type: text/html, Size: 10696 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for Add testplan support for kms tests
  2023-05-04 10:24 [igt-dev] [i-g-t 0/3] Add testplan support for kms tests Bhanuprakash Modem
                   ` (3 preceding siblings ...)
  2023-05-04 11:33 ` [igt-dev] ✓ Fi.CI.BAT: success for Add testplan support for kms tests Patchwork
@ 2023-05-04 13:57 ` Patchwork
  4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2023-05-04 13:57 UTC (permalink / raw)
  To: Bhanuprakash Modem; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 15767 bytes --]

== Series Details ==

Series: Add testplan support for kms tests
URL   : https://patchwork.freedesktop.org/series/117274/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13107_full -> IGTPW_8907_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/index.html

Participating hosts (8 -> 7)
------------------------------

  Missing    (1): shard-rkl0 

Known issues
------------

  Here are the changes found in IGTPW_8907_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-apl:          [PASS][1] -> [FAIL][2] ([i915#2842])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-apl6/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-apl1/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-glk:          NOTRUN -> [FAIL][3] ([i915#2842])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-glk2/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_lmem_swapping@verify-random:
    - shard-glk:          NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#4613]) +1 similar issue
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-glk6/igt@gem_lmem_swapping@verify-random.html

  * igt@i915_pm_dc@dc9-dpms:
    - shard-apl:          [PASS][5] -> [SKIP][6] ([fdo#109271])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-apl3/igt@i915_pm_dc@dc9-dpms.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-apl1/igt@i915_pm_dc@dc9-dpms.html

  * igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_mc_ccs:
    - shard-glk:          NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#3886]) +1 similar issue
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-glk8/igt@kms_ccs@pipe-c-random-ccs-data-y_tiled_gen12_mc_ccs.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-vga-1:
    - shard-snb:          NOTRUN -> [SKIP][8] ([fdo#109271]) +85 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-snb4/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-vga-1.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf:
    - shard-glk:          NOTRUN -> [SKIP][9] ([fdo#109271] / [i915#658])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-glk4/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_setmode@basic@pipe-a-hdmi-a-1:
    - shard-snb:          NOTRUN -> [FAIL][10] ([i915#5465]) +1 similar issue
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-snb1/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html

  * igt@kms_vblank@pipe-d-wait-idle:
    - shard-glk:          NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#533])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-glk1/igt@kms_vblank@pipe-d-wait-idle.html

  * igt@vc4/vc4_lookup_fail@bad-color-write:
    - shard-glk:          NOTRUN -> [SKIP][12] ([fdo#109271]) +41 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-glk4/igt@vc4/vc4_lookup_fail@bad-color-write.html

  
#### Possible fixes ####

  * igt@gem_ctx_exec@basic-nohangcheck:
    - {shard-tglu}:       [FAIL][13] ([i915#6268]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-tglu-8/igt@gem_ctx_exec@basic-nohangcheck.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-tglu-3/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_ctx_freq@sysfs:
    - {shard-dg1}:        [FAIL][15] ([i915#6786]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-dg1-17/igt@gem_ctx_freq@sysfs.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-dg1-18/igt@gem_ctx_freq@sysfs.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-glk:          [FAIL][17] ([i915#2846]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-glk2/igt@gem_exec_fair@basic-deadline.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-glk4/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-apl:          [FAIL][19] ([i915#2842]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-apl7/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-apl7/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-none@vecs0:
    - {shard-rkl}:        [FAIL][21] ([i915#2842]) -> [PASS][22] +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-rkl-7/igt@gem_exec_fair@basic-none@vecs0.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-rkl-2/igt@gem_exec_fair@basic-none@vecs0.html

  * igt@gem_exec_suspend@basic-s4-devices@smem:
    - {shard-tglu}:       [ABORT][23] ([i915#7975] / [i915#8213]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-tglu-10/igt@gem_exec_suspend@basic-s4-devices@smem.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-tglu-7/igt@gem_exec_suspend@basic-s4-devices@smem.html

  * igt@gem_exec_whisper@basic-fds-forked-all:
    - {shard-tglu}:       [INCOMPLETE][25] ([i915#6755] / [i915#7392]) -> [PASS][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-tglu-9/igt@gem_exec_whisper@basic-fds-forked-all.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-tglu-10/igt@gem_exec_whisper@basic-fds-forked-all.html

  * igt@i915_module_load@reload-no-display:
    - shard-snb:          [ABORT][27] ([i915#4528] / [i915#8393]) -> [PASS][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-snb4/igt@i915_module_load@reload-no-display.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-snb7/igt@i915_module_load@reload-no-display.html

  * igt@i915_pm_dc@dc9-dpms:
    - {shard-tglu}:       [SKIP][29] ([i915#4281]) -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-tglu-7/igt@i915_pm_dc@dc9-dpms.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-tglu-9/igt@i915_pm_dc@dc9-dpms.html

  * igt@i915_pm_rpm@dpms-mode-unset-non-lpsp:
    - {shard-rkl}:        [SKIP][31] ([i915#1397]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-rkl-7/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-rkl-6/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-glk:          [FAIL][33] ([i915#2346]) -> [PASS][34] +1 similar issue
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  
#### Warnings ####

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-glk:          [FAIL][35] ([i915#2876]) -> [FAIL][36] ([i915#2842])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13107/shard-glk1/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/shard-glk9/igt@gem_exec_fair@basic-pace-share@rcs0.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
  [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
  [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2876]: https://gitlab.freedesktop.org/drm/intel/issues/2876
  [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
  [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
  [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5465]: https://gitlab.freedesktop.org/drm/intel/issues/5465
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6755]: https://gitlab.freedesktop.org/drm/intel/issues/6755
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6786]: https://gitlab.freedesktop.org/drm/intel/issues/6786
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7392]: https://gitlab.freedesktop.org/drm/intel/issues/7392
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
  [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
  [i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381
  [i915#8393]: https://gitlab.freedesktop.org/drm/intel/issues/8393
  [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7277 -> IGTPW_8907
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_13107: b0066bcea475bee331c53109688a0b3d19c3dcc0 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8907: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/index.html
  IGT_7277: 1cb3507f3ff28d11bd5cfabcde576fe78ddab571 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8907/index.html

[-- Attachment #2: Type: text/html, Size: 11543 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [igt-dev] [i-g-t 1/3] tests/kms: Document kms subtests for XE BAT
  2023-05-04 10:24 ` [igt-dev] [i-g-t 1/3] tests/kms: Document kms subtests for XE BAT Bhanuprakash Modem
@ 2023-05-05  4:49   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 9+ messages in thread
From: Mauro Carvalho Chehab @ 2023-05-05  4:49 UTC (permalink / raw)
  To: Bhanuprakash Modem; +Cc: igt-dev

On Thu,  4 May 2023 15:54:49 +0530
Bhanuprakash Modem <bhanuprakash.modem@intel.com> wrote:

> Add documentation for kms tests those are in XE BAT which is used
> by IGT test plan documentation.
> 
> Tests included in this patch:
> - tests/chamelium/kms_chamelium_edid.c
> - tests/chamelium/kms_chamelium_frames.c
> - tests/chamelium/kms_chamelium_hpd.c
> - tests/i915/kms_psr.c
> - tests/kms_addfb_basic.c
> - tests/kms_cursor_legacy.c
> - tests/kms_flip.c
> - tests/kms_force_connector_basic.c
> - tests/kms_pipe_crc_basic.c
> - tests/kms_prop_blob.c
> 
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>  tests/chamelium/kms_chamelium_edid.c   |  27 +++++
>  tests/chamelium/kms_chamelium_frames.c |  22 ++++
>  tests/chamelium/kms_chamelium_hpd.c    |  39 +++++++
>  tests/i915/kms_psr.c                   |  31 ++++++
>  tests/kms_addfb_basic.c                | 147 +++++++++++++++++++++++++
>  tests/kms_cursor_legacy.c              |  44 ++++++++
>  tests/kms_flip.c                       |  27 +++++
>  tests/kms_force_connector_basic.c      |  29 +++++
>  tests/kms_pipe_crc_basic.c             |  58 ++++++++++
>  tests/kms_prop_blob.c                  |  12 ++
>  10 files changed, 436 insertions(+)
> 
> diff --git a/tests/chamelium/kms_chamelium_edid.c b/tests/chamelium/kms_chamelium_edid.c
> index 7e7262ed3..4a52e6922 100644
> --- a/tests/chamelium/kms_chamelium_edid.c
> +++ b/tests/chamelium/kms_chamelium_edid.c
> @@ -24,6 +24,11 @@
>   *    Lyude Paul <lyude@redhat.com>
>   */
>  
> +/**
> + * TEST: Tests behaviour of edid & timings using chamelium
> + * Category: Display
> + */
> +
>  #include <fcntl.h>
>  #include <stdint.h>
>  #include <string.h>
> @@ -139,6 +144,28 @@ static void check_mode(struct chamelium *chamelium, struct chamelium_port *port,
>  	igt_assert(video_params.vsync_polarity == mode_vsync_polarity);
>  }
>  
> +/**
> + * SUBTEST: dp-edid-read
> + * Description: Make sure the EDID exposed by KMS is the same as the screen's
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: dp
> + * Mega feature: DP
> + *
> + * SUBTEST: hdmi-edid-read
> + * Description: Make sure the EDID exposed by KMS is the same as the screen's
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: hdmi
> + * Mega feature: HDMI
> + *
> + * SUBTEST: vga-edid-read
> + * Description: Make sure the EDID exposed by KMS is the same as the screen's
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: vga
> + * Mega feature: VGA
> + */
>  static const char igt_custom_edid_type_read_desc[] =
>  	"Make sure the EDID exposed by KMS is the same as the screen's";
>  static void igt_custom_edid_type_read(chamelium_data_t *data,
> diff --git a/tests/chamelium/kms_chamelium_frames.c b/tests/chamelium/kms_chamelium_frames.c
> index 008bc34b6..22a7ba936 100644
> --- a/tests/chamelium/kms_chamelium_frames.c
> +++ b/tests/chamelium/kms_chamelium_frames.c
> @@ -24,6 +24,11 @@
>   *    Lyude Paul <lyude@redhat.com>
>   */
>  
> +/**
> + * TEST: Tests to capture frames using chamelium
> + * Category: Display
> + */
> +
>  #include "igt_eld.h"
>  #include "igt_infoframe.h"
>  #include "kms_chamelium_helper.h"
> @@ -534,6 +539,23 @@ static void prepare_randomized_plane(chamelium_data_t *data,
>  	igt_remove_fb(data->drm_fd, &pattern_fb);
>  }
>  
> +/**
> + * SUBTEST: dp-crc-fast
> + * Description: Pick the first mode of the IGT base EDID, display and capture
> + * 		a few frames, then check captured frames are correct
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: dp
> + * Mega feature: DP
> + *
> + * SUBTEST: hdmi-crc-fast
> + * Description: Pick the first mode of the IGT base EDID, display and capture
> + * 		a few frames, then check captured frames are correct
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: hdmi
> + * Mega feature: HDMI
> + */
>  static const char test_display_one_mode_desc[] =
>  	"Pick the first mode of the IGT base EDID, display and capture a few "
>  	"frames, then check captured frames are correct";
> diff --git a/tests/chamelium/kms_chamelium_hpd.c b/tests/chamelium/kms_chamelium_hpd.c
> index 2b17ce29d..efd40ba54 100644
> --- a/tests/chamelium/kms_chamelium_hpd.c
> +++ b/tests/chamelium/kms_chamelium_hpd.c
> @@ -24,6 +24,11 @@
>   *    Lyude Paul <lyude@redhat.com>
>   */
>  
> +/**
> + * TEST: Tests behaviour of hpd using chamelium
> + * Category: Display
> + */
> +
>  #include "kms_chamelium_helper.h"
>  
>  #define HPD_STORM_PULSE_INTERVAL_DP 100 /* ms */
> @@ -104,6 +109,31 @@ static void try_suspend_resume_hpd(chamelium_data_t *data,
>  	}
>  }
>  
> +/**
> + * SUBTEST: dp-hpd-fast
> + * Description: Check that we get uevents and updated connector status on
> + * 		hotplug and unplug
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: dp_hotplug
> + * Mega feature: DP
> + *
> + * SUBTEST: hdmi-hpd-fast
> + * Description: Check that we get uevents and updated connector status on
> + * 		hotplug and unplug
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: hdmi_hotplug
> + * Mega feature: HDMI
> + *
> + * SUBTEST: vga-hpd-fast
> + * Description: Check that we get uevents and updated connector status on
> + * 		hotplug and unplug
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: vga_hotplug
> + * Mega feature: VGA
> + */
>  static const char test_basic_hotplug_desc[] =
>  	"Check that we get uevents and updated connector status on "
>  	"hotplug and unplug";
> @@ -238,6 +268,15 @@ static void test_suspend_resume_hpd(chamelium_data_t *data,
>  	igt_cleanup_uevents(mon);
>  }
>  
> +/**
> + * SUBTEST: common-hpd-after-suspend
> + * Description: Toggle HPD during suspend on all connectors, check that uevents
> + * 		are sent and connector status is updated
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: hotplug
> + * Mega feature: General Display Features
> + */
>  static const char test_suspend_resume_hpd_common_desc[] =
>  	"Toggle HPD during suspend on all connectors, check that uevents are "
>  	"sent and connector status is updated";
> diff --git a/tests/i915/kms_psr.c b/tests/i915/kms_psr.c
> index 0e8d7f4f0..6c89de45d 100644
> --- a/tests/i915/kms_psr.c
> +++ b/tests/i915/kms_psr.c
> @@ -22,6 +22,11 @@
>   *
>   */
>  
> +/**
> + * TEST: Tests behaviour of PSR & PSR2
> + * Category: Display
> + */
> +
>  #include "igt.h"
>  #include "igt_sysfs.h"
>  #include "igt_psr.h"
> @@ -300,6 +305,32 @@ static void fb_dirty_fb_ioctl(data_t *data, struct igt_fb *fb)
>  	igt_assert(ret == 0 || ret == -ENOSYS);
>  }
>  
> +/**
> + * SUBTEST: cursor_plane_move
> + * Description: Check if psr is detecting the plane operations performed on
> + *		cursor planes
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: psr
> + * Mega feature: PSR
> + *
> + * SUBTEST: primary_page_flip
> + * Description: Check if psr is detecting page-flipping operations performed
> + *		on primary planes
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: psr
> + * Mega feature: PSR
> + *
> + * SUBTEST: sprite_plane_onoff
> + * Description: Check if psr is detecting the plane operations performed on
> + *		sprite planes
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: psr
> + * Mega feature: PSR
> + */
> +
>  static void run_test(data_t *data)
>  {
>  	uint32_t handle = data->fb_white.gem_handle;
> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
> index e4783624f..6f77c19de 100644
> --- a/tests/kms_addfb_basic.c
> +++ b/tests/kms_addfb_basic.c
> @@ -25,6 +25,11 @@
>   *
>   */
>  
> +/**
> + * TEST: Sanity test for ioctls DRM_IOCTL_MODE_ADDFB2 & DRM_IOCTL_MODE_RMFB.
> + * Category: Display
> + */
> +
>  #include "igt.h"
>  #include <unistd.h>
>  #include <stdlib.h>
> @@ -60,6 +65,35 @@ static int legacy_addfb(int fd, struct drm_mode_fb_cmd *arg)
>  	return err;
>  }
>  
> +/**
> + * SUBTEST: unused-handle
> + * Description: Test that addfb2 call fails correctly for unused handle
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: unused-pitches
> + * Description: Test that addfb2 call fails correctly for unused pitches
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: unused-offsets
> + * Description: Test that addfb2 call fails correctly for unused offset
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: unused-modifier
> + * Description: Test that addfb2 call fails correctly for unused modifier
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + */
>  static void invalid_tests(int fd)
>  {
>  	struct drm_mode_fb_cmd2 f = {};
> @@ -273,6 +307,39 @@ static void invalid_tests(int fd)
>  	}
>  }
>  
> +/**
> + * SUBTEST: no-handle
> + * Description: Test that addfb2 call fails correctly without handle
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: basic
> + * Description: Check if addfb2 call works with given handle
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *

> + * SUBTEST: bad-pitch-%i
> + * Description: bad-pitch-%arg[1]: Test that addfb2 call fails correctly for bad-pitches
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * arg[1]:
> + *
> + * @0:          0
> + * @32:         32
> + * @63:         63
> + * @128:        128
> + * @256:        256
> + * @999:        999
> + * @1024:       1024
> + * @65536:      65536

There's an alternate syntax that IMO makes the comment cleaner in this 
specific case[1], and will produce exactly the same result of the
above block:

  * SUBTEST: bad-pitch-%i
  * Description: bad-pitch-%arg[1]: Test that addfb2 call fails correctly for bad-pitches
  * Test category: functionality test
  * Run type: BAT
  * Functionality: kms_gem_interop
  * Mega feature: General Display Features
  *
  * arg[1].values: 0, 32, 63, 128, 256, 999, 1024, 65536

Please use this for number arguments.

[1] See https://gfx-linux.intel.com/igt-doc.html#igt-test-documentation


> + */
>  static void pitch_tests(int fd)
>  {
>  	struct drm_mode_fb_cmd2 f = {};
> @@ -399,6 +466,42 @@ static void tiling_tests(int fd)
>  	}
>  }
>  
> +/**
> + * SUBTEST: size-max
> + * Description: Check if addfb2 call works with max size of buffer object
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: too-wide
> + * Description: Test that addfb2 call fails correctly with increased width of fb
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: too-high
> + * Description: Test that addfb2 call fails correctly with increased height of fb
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: bo-too-small
> + * Description: Test that addfb2 call fails correctly with small size of buffer object
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: small-bo
> + * Description: Check if addfb2 call works for given height
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + */
>  static void size_tests(int fd)
>  {
>  	struct drm_mode_fb_cmd2 f = {};
> @@ -514,6 +617,21 @@ static void size_tests(int fd)
>  	}
>  }
>  
> +/**
> + * SUBTEST: addfb25-modifier-no-flag
> + * Description: Test that addfb2 call fails correctly for x-tiling with given modifier
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: addfb25-bad-modifier
> + * Description: Test that addfb2 call fails correctly for irrelevant modifier
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + */
>  static void addfb25_tests(int fd)
>  {
>  	struct drm_mode_fb_cmd2 f = {};
> @@ -700,6 +818,35 @@ static void addfb25_4tile(int fd)
>  		gem_close(fd, gem_bo);
>  }
>  
> +/**
> + * SUBTEST: invalid-get-prop-any
> + * Description: Test that get-properties ioctl call fails correctly for invalid object type
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: invalid-get-prop
> + * Description: Test that get-properties ioctl call fails correctly for fb mode object
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: invalid-set-prop-any
> + * Description: Test that set-properties ioctl call fails correctly for invalid object type
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: invalid-set-prop
> + * Description: Test that get-properties ioctl call fails correctly for fb mode object
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_gem_interop
> + * Mega feature: General Display Features
> + */
>  static void prop_tests(int fd)
>  {
>  	struct drm_mode_fb_cmd2 f = {};
> diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
> index 7df6a6125..05085d607 100644
> --- a/tests/kms_cursor_legacy.c
> +++ b/tests/kms_cursor_legacy.c
> @@ -22,6 +22,11 @@
>   *
>   */
>  
> +/**
> + * TEST: Stress legacy cursor ioctl
> + * Category: Display
> + */
> +
>  #include <sched.h>
>  #include <sys/poll.h>
>  
> @@ -536,6 +541,45 @@ enum basic_flip_cursor {
>  
>  #define BASIC_BUSY 0x1
>  
> +/**
> + * SUBTEST: basic-busy-flip-before-cursor-%s
> + * Description: Cursor test with %arg[1] mode
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: cursor
> + * Mega feature: General Display Features
> + *
> + * arg[1]:
> + *
> + * @atomic:	atomic
> + * @legacy:	legacy
> + *
> + * SUBTEST: basic-flip-after-cursor-%s
> + * Description: Cursor test with %arg[1] mode
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: cursor
> + * Mega feature: General Display Features
> + *
> + * arg[1]:
> + *
> + * @atomic:        atomic
> + * @legacy:        legacy

> + * @varying-size:  varying-size

I would define this on a different way, like:

	* Description: Cursor test with %arg[1]
	*
	* arg[1]:
	*
	* @atomic:        atomic mode
	* @legacy:        legacy mode
	* @varying-size:  varying size on atomic mode

(I'm guessing that the last one is also on atomic mode)

> + *
> + * SUBTEST: basic-flip-before-cursor-%s
> + * Description: Cursor test with %arg[1] mode
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: cursor
> + * Mega feature: General Display Features
> + *
> + * arg[1]:
> + *
> + * @atomic:        atomic
> + * @legacy:        legacy
> + * @varying-size:  varying-size

As arg[1] definition is at the same comment block, you don't need to
repeat it here, as the argument definitions are valid for the entire
comment block.


> + */
>  static void basic_flip_cursor(igt_display_t *display,
>  			      enum flip_test mode,
>  			      enum basic_flip_cursor order,
> diff --git a/tests/kms_flip.c b/tests/kms_flip.c
> index e4c98b8ec..611d3fbe3 100755
> --- a/tests/kms_flip.c
> +++ b/tests/kms_flip.c
> @@ -21,6 +21,11 @@
>   * IN THE SOFTWARE.
>   */
>  
> +/**
> + * TEST: Tests for validating modeset, dpms and pageflips
> + * Category: Display
> + */
> +
>  #include "config.h"
>  
>  #include "igt.h"
> @@ -1557,6 +1562,28 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs,
>  		__run_test_on_crtc_set(o, crtc_idxs, crtc_count, duration_ms);
>  }
>  
> +/**
> + * SUBTEST: basic-flip-vs-%s
> + * Description: Basic test for validating %arg[1]
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: vblank
> + * Mega feature: General Display Features
> + *
> + * arg[1]:
> + *
> + * @dpms:         dpms
> + * @modeset:      modeset
> + * @wf_vblank:    wf_vblank

It probably makes sense tor replace wf_vblank with a more meaningful
string. Maybe:

	@wf_vblank:  wait for vertical blank 

or:

	@wf_vblank:  wait for vblank 


> + *
> + * SUBTEST: basic-plain-flip
> + * Description: Basic test for validating page flip
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: vblank
> + * Mega feature: General Display Features
> + */
> +
>  static void run_test(int duration, int flags)
>  {
>  	struct test_output o;
> diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c
> index f1508efba..7e35693cf 100644
> --- a/tests/kms_force_connector_basic.c
> +++ b/tests/kms_force_connector_basic.c
> @@ -22,6 +22,11 @@
>   *
>   */
>  
> +/**
> + * TEST: Check the debugfs force connector/edid features work correctly
> + * Category: Display
> + */
> +
>  #include "igt.h"
>  
>  IGT_TEST_DESCRIPTION("Check the debugfs force connector/edid features work"
> @@ -151,6 +156,14 @@ static void force_load_detect(int drm_fd, drmModeConnectorPtr connector, drmMode
>  	}
>  }
>  
> +/**
> + * SUBTEST: force-connector-state
> + * Description: Test to check the forced connector state
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: force_connector
> + * Mega feature: General Display Features
> + */
>  static void force_connector_state(int drm_fd, drmModeConnectorPtr connector)
>  {
>  	igt_display_t display;
> @@ -190,6 +203,14 @@ static void force_connector_state(int drm_fd, drmModeConnectorPtr connector)
>  	igt_display_fini(&display);
>  }
>  
> +/**
> + * SUBTEST: force-edid
> + * Description: Test to check the values after forcing edid
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: force_connector
> + * Mega feature: General Display Features
> + */
>  static void force_edid(int drm_fd, drmModeConnectorPtr connector)
>  {
>  	drmModeConnector *temp;
> @@ -231,6 +252,14 @@ static void force_edid(int drm_fd, drmModeConnectorPtr connector)
>  
>  }
>  
> +/**
> + * SUBTEST: prune-stale-modes
> + * Description: Tests pruning of stale modes
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: force_connector
> + * Mega feature: General Display Features
> + */
>  static void prune_stale_modes(int drm_fd, drmModeConnectorPtr connector)
>  {
>  	int i;
> diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
> index 65afc9f60..84c73fd7f 100644
> --- a/tests/kms_pipe_crc_basic.c
> +++ b/tests/kms_pipe_crc_basic.c
> @@ -22,6 +22,11 @@
>   *
>   */
>  
> +/**
> + * TEST: Tests behaviour of CRC
> + * Category: Display
> + */
> +
>  #include "igt.h"
>  #include "igt_sysfs.h"
>  #include <errno.h>
> @@ -80,6 +85,50 @@ enum {
>  	TEST_HANG = 1 << 3,
>  };
>  
> +/**
> + * SUBTEST: read-crc
> + * Description: Test for pipe CRC reads
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: crc
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: read-crc-frame-sequence
> + * Description: Tests the pipe CRC read and ensure frame sequence
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: crc
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: nonblocking-crc
> + * Description: Test for O_NONBLOCK CRC reads
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: crc
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: nonblocking-crc-frame-sequence
> + * Description: Test for O_NONBLOCK CRC reads and ensure frame sequence
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: crc
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: suspend-read-crc
> + * Description: Suspend test for pipe CRC reads
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: crc
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: hang-read-crc
> + * Description: Hang test for pipe CRC read
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: crc
> + * Mega feature: General Display Features
> + */
> +
>  static void test_read_crc(data_t *data, enum pipe pipe,
>  			  igt_output_t *output, unsigned flags)
>  {
> @@ -177,6 +226,15 @@ static void test_read_crc(data_t *data, enum pipe pipe,
>  	igt_display_commit(display);
>  }
>  
> +/**
> + * SUBTEST: compare-crc-sanitycheck
> + * Description: Basic sanity check for CRC mismatches
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: crc
> + * Mega feature: General Display Features
> + */
> +
>  /*
>   * CRC-sanity test, to make sure there would be no CRC mismatches
>   *
> diff --git a/tests/kms_prop_blob.c b/tests/kms_prop_blob.c
> index 96aa6d8d6..6a5a5f410 100644
> --- a/tests/kms_prop_blob.c
> +++ b/tests/kms_prop_blob.c
> @@ -25,6 +25,10 @@
>   *   Daniel Stone <daniels@collabora.com>
>   */
>  
> +/**
> + * TEST: Tests behaviour of mass-data 'blob' properties
> + * Category: Display
> + */
>  #include "igt.h"
>  #include <errno.h>
>  #include <stdbool.h>
> @@ -238,6 +242,14 @@ test_core(int fd)
>  	igt_assert_eq(validate_prop(fd, 0), ENOENT);
>  }
>  
> +/**
> + * SUBTEST: basic
> + * Description: Test to ensure property support exists
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: kms_core
> + * Mega feature: General Display Features
> + */
>  static void
>  test_basic(int fd)
>  {

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [igt-dev] [i-g-t 2/3] testplan: Add testplan support for kms tests
  2023-05-04 10:24 ` [igt-dev] [i-g-t 2/3] testplan: Add testplan support for kms tests Bhanuprakash Modem
@ 2023-05-05  4:53   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 9+ messages in thread
From: Mauro Carvalho Chehab @ 2023-05-05  4:53 UTC (permalink / raw)
  To: Bhanuprakash Modem; +Cc: igt-dev

On Thu,  4 May 2023 15:54:50 +0530
Bhanuprakash Modem <bhanuprakash.modem@intel.com> wrote:

> Add testplan support for kms tests.
> The documentation for kms tests will be like:
> 
> 	/**
> 	 * TEST: Test foo.
> 	 * Category: Display
> 	 *
> 	 * SUBTEST: bar
> 	 * Description: bar description
> 	 * Test category: functionality test
> 	 * Run type: BAT
> 	 * Functionality: dp
> 	 * Mega feature: DP 2.0
> 	 */
> 
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>  docs/testplan/meson.build  |  6 ++++--
>  tests/kms_test_config.json | 41 ++++++++++++++++++++++++++++++++++++++
>  2 files changed, 45 insertions(+), 2 deletions(-)
>  create mode 100644 tests/kms_test_config.json
> 
> diff --git a/docs/testplan/meson.build b/docs/testplan/meson.build
> index e36713960..4e3565cf8 100644
> --- a/docs/testplan/meson.build
> +++ b/docs/testplan/meson.build
> @@ -7,6 +7,7 @@ rst2pdf = find_program('rst2pdf', required: false)
>  stylesheet = join_paths(meson.current_source_dir(), 'testplan.css')
>  
>  xe_test_config = join_paths(source_root, 'tests', 'xe', 'xe_test_config.json')
> +kms_test_config = join_paths(source_root, 'tests', 'kms_test_config.json')
>  
>  check_testlist = []
>  if build_tests
> @@ -22,8 +23,9 @@ else
>  	doc_dependencies = []
>  endif
>  
> -test_dict = { 'xe_tests':
> -		{ 'input': xe_test_config, 'extra_args': check_testlist }
> +test_dict = {
> +	      'xe_tests': { 'input': xe_test_config, 'extra_args': check_testlist },
> +	      'kms_tests': { 'input': kms_test_config, 'extra_args': check_testlist }

As you're not planning to document all tests at once, please replace it
to:

      'kms_tests': { 'input': kms_test_config, 'extra_args': [] }

As otherwise the build will complain that the documentation is
incomplete.

>  	    }
>  
>  foreach testplan, fields: test_dict
> diff --git a/tests/kms_test_config.json b/tests/kms_test_config.json
> new file mode 100644
> index 000000000..4faecb7a7
> --- /dev/null
> +++ b/tests/kms_test_config.json
> @@ -0,0 +1,41 @@
> +{
> +    "description": "JSON file to be used to parse KMS documentation",
> +    "files": [ "chamelium/kms_chamelium_edid.c", "chamelium/kms_chamelium_frames.c",
> +               "chamelium/kms_chamelium_hpd.c", "i915/kms_psr.c",
> +               "kms_addfb_basic.c", "kms_cursor_legacy.c", "kms_flip.c",
> +               "kms_force_connector_basic.c", "kms_pipe_crc_basic.c",
> +               "kms_prop_blob.c", "kms_color.c"
> +             ],

It probably makes sense to use wildcards like "kms_*.c" and "i915/kms_*.c".

> +    "fields": {
> +        "Category": {
> +            "_properties_": {
> +                "description": "Contains the major group for the tested functionality 'Display'"
> +            }
> +        },
> +        "Mega feature": {
> +            "_properties_": {
> +                "description": "Contains the mega feature for end to end use case, e.g. the 'PSR' feature."
> +            },
> +            "Functionality": {
> +                "_properties_": {
> +                    "description": "Groups tests on buckets containg more detailed functionality"
> +                }
> +            }
> +        },
> +        "Run type": {
> +            "_properties_": {
> +                "description": "Defines what category of testlist it belongs"
> +            }
> +        },
> +        "Test category": {
> +            "_properties_": {
> +                "description": "Defines the test category. Usually used at subtest level."
> +            }
> +        },
> +        "Description" : {
> +            "_properties_": {
> +                "description": "Provides a description for the test/subtest."
> +            }
> +        }
> +    }
> +}

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [igt-dev] [i-g-t 3/3] scripts/test_list: Ignore non-XE tests for missing documentation
  2023-05-04 10:24 ` [igt-dev] [i-g-t 3/3] scripts/test_list: Ignore non-XE tests for missing documentation Bhanuprakash Modem
@ 2023-05-05  4:55   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 9+ messages in thread
From: Mauro Carvalho Chehab @ 2023-05-05  4:55 UTC (permalink / raw)
  To: Bhanuprakash Modem; +Cc: igt-dev

On Thu,  4 May 2023 15:54:51 +0530
Bhanuprakash Modem <bhanuprakash.modem@intel.com> wrote:

> To add the test file to tests_config.json, documentation is
> mandatory for all the subtests, else we'll end up with the
> compilation failure.

That's because you added a command on patch 2/3 to make it to check
for documentation gaps at build time. Just replace:

	'extra_args': check_testlist
to:
	'extra_args': []

To avoid that.

No need of hacking the source code.

> 
> It's completely make sense to consider the documentation as
> mandatory for newly created test files like xe_*.c. But for
> existing files, it is very painful to add the documentation
> for all the subtests in that file.
> 
> Example: tests/kms_flip.c
> It has N number of subtests, but we are using 2-3 subtests
> for BAT. Will slowly add the documentation for remaining
> subtests.
> 
> So, for non-XE subtests, don't fail the compilation for
> missing documentation. Once the documentation is done for
> all the subtests we can revert this patch.
> 
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>  scripts/test_list.py | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/test_list.py b/scripts/test_list.py
> index 1c5e195eb..3c959d6b9 100755
> --- a/scripts/test_list.py
> +++ b/scripts/test_list.py
> @@ -876,11 +876,16 @@ class TestList:
>              if not found:
>                  doc_uneeded.append(doc_test)
>  
> +        xe_regex = r"^(igt@xe_.*@.*$)"
>          for run_test in run_subtests:
>              found = False
>              if re.match(test_regex, run_test):
>                  found = True
> -            if not found:
> +            #
> +            # FIXME: Drop this XE specific check once documentation is done
> +            # for all subtests.
> +            #
> +            if not found and re.match(xe_regex, run_test):
>                  run_missing.append(run_test)

NACK.

>  
>          if doc_uneeded:

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-05-05  4:55 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-04 10:24 [igt-dev] [i-g-t 0/3] Add testplan support for kms tests Bhanuprakash Modem
2023-05-04 10:24 ` [igt-dev] [i-g-t 1/3] tests/kms: Document kms subtests for XE BAT Bhanuprakash Modem
2023-05-05  4:49   ` Mauro Carvalho Chehab
2023-05-04 10:24 ` [igt-dev] [i-g-t 2/3] testplan: Add testplan support for kms tests Bhanuprakash Modem
2023-05-05  4:53   ` Mauro Carvalho Chehab
2023-05-04 10:24 ` [igt-dev] [i-g-t 3/3] scripts/test_list: Ignore non-XE tests for missing documentation Bhanuprakash Modem
2023-05-05  4:55   ` Mauro Carvalho Chehab
2023-05-04 11:33 ` [igt-dev] ✓ Fi.CI.BAT: success for Add testplan support for kms tests Patchwork
2023-05-04 13:57 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.