* [igt-dev] [i-g-t V2 0/2] Add testplan support for kms tests
@ 2023-05-05 10:31 Bhanuprakash Modem
2023-05-05 10:31 ` [igt-dev] [i-g-t V2 1/2] tests/kms: Document kms subtests for XE BAT Bhanuprakash Modem
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Bhanuprakash Modem @ 2023-05-05 10:31 UTC (permalink / raw)
To: igt-dev, mchehab
Add documentation & testplan support for kms tests in
XE BAT list.
V2: - Cleanup
- Drop hax
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Bhanuprakash Modem (2):
tests/kms: Document kms subtests for XE BAT
testplan: Add testplan support for kms tests
docs/testplan/meson.build | 6 +-
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 | 138 +++++++++++++++++++++++++
tests/kms_cursor_legacy.c | 40 +++++++
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 | 36 +++++++
12 files changed, 463 insertions(+), 2 deletions(-)
create mode 100644 tests/kms_test_config.json
--
2.40.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [igt-dev] [i-g-t V2 1/2] tests/kms: Document kms subtests for XE BAT
2023-05-05 10:31 [igt-dev] [i-g-t V2 0/2] Add testplan support for kms tests Bhanuprakash Modem
@ 2023-05-05 10:31 ` Bhanuprakash Modem
2023-05-07 7:58 ` Mauro Carvalho Chehab
2023-05-05 10:31 ` [igt-dev] [i-g-t V2 2/2] testplan: Add testplan support for kms tests Bhanuprakash Modem
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Bhanuprakash Modem @ 2023-05-05 10:31 UTC (permalink / raw)
To: igt-dev, mchehab
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
V2: - Fine tune documentation (Mauro)
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 | 138 +++++++++++++++++++++++++
tests/kms_cursor_legacy.c | 40 +++++++
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, 423 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..e375f3ad2 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,30 @@ 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].values: 0, 32, 63, 128, 256, 999, 1024, 65536
+ */
static void pitch_tests(int fd)
{
struct drm_mode_fb_cmd2 f = {};
@@ -399,6 +457,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 +608,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 +809,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..f7a6202cf 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,41 @@ 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]
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: cursor
+ * Mega feature: General Display Features
+ *
+ * SUBTEST: basic-flip-before-cursor-%s
+ * Description: Cursor test with %arg[1]
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: cursor
+ * Mega feature: General Display Features
+ *
+ * arg[1]:
+ *
+ * @atomic: atomic mode
+ * @legacy: legacy mode
+ * @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..0adb356d6 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 to valide %arg[1]
+ * Test category: functionality test
+ * Run type: BAT
+ * Functionality: vblank
+ * Mega feature: General Display Features
+ *
+ * arg[1]:
+ *
+ * @dpms: dpms
+ * @modeset: modeset
+ * @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)
{
--
2.40.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [igt-dev] [i-g-t V2 2/2] testplan: Add testplan support for kms tests
2023-05-05 10:31 [igt-dev] [i-g-t V2 0/2] Add testplan support for kms tests Bhanuprakash Modem
2023-05-05 10:31 ` [igt-dev] [i-g-t V2 1/2] tests/kms: Document kms subtests for XE BAT Bhanuprakash Modem
@ 2023-05-05 10:31 ` Bhanuprakash Modem
2023-05-07 8:00 ` Mauro Carvalho Chehab
2023-05-05 13:08 ` [igt-dev] ✓ Fi.CI.BAT: success for Add testplan support for kms tests (rev2) Patchwork
2023-05-06 2:55 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
3 siblings, 1 reply; 7+ messages in thread
From: Bhanuprakash Modem @ 2023-05-05 10:31 UTC (permalink / raw)
To: igt-dev, mchehab
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
*/
V2: - Empty 'extra_args' to avoid failures for missing docs
- Use wildcards instead of adding full list of files
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
docs/testplan/meson.build | 6 ++++--
tests/kms_test_config.json | 36 ++++++++++++++++++++++++++++++++++++
2 files changed, 40 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..b65ee964d 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': [] }
}
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..d2d6357d1
--- /dev/null
+++ b/tests/kms_test_config.json
@@ -0,0 +1,36 @@
+{
+ "description": "JSON file to be used to parse KMS documentation",
+ "files": [ "chamelium/kms_*.c", "i915/kms_*.c", "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."
+ }
+ }
+ }
+}
--
2.40.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Add testplan support for kms tests (rev2)
2023-05-05 10:31 [igt-dev] [i-g-t V2 0/2] Add testplan support for kms tests Bhanuprakash Modem
2023-05-05 10:31 ` [igt-dev] [i-g-t V2 1/2] tests/kms: Document kms subtests for XE BAT Bhanuprakash Modem
2023-05-05 10:31 ` [igt-dev] [i-g-t V2 2/2] testplan: Add testplan support for kms tests Bhanuprakash Modem
@ 2023-05-05 13:08 ` Patchwork
2023-05-06 2:55 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2023-05-05 13:08 UTC (permalink / raw)
To: Bhanuprakash Modem; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 4349 bytes --]
== Series Details ==
Series: Add testplan support for kms tests (rev2)
URL : https://patchwork.freedesktop.org/series/117274/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13112 -> IGTPW_8921
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/index.html
Participating hosts (40 -> 39)
------------------------------
Missing (1): fi-snb-2520m
Known issues
------------
Here are the changes found in IGTPW_8921 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_suspend@basic-s3@smem:
- bat-rpls-1: [PASS][1] -> [ABORT][2] ([i915#6687] / [i915#7978] / [i915#8407])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/bat-rpls-1/igt@gem_exec_suspend@basic-s3@smem.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/bat-rpls-1/igt@gem_exec_suspend@basic-s3@smem.html
* igt@i915_suspend@basic-s3-without-i915:
- bat-atsm-1: NOTRUN -> [SKIP][3] ([i915#6645])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/bat-atsm-1/igt@i915_suspend@basic-s3-without-i915.html
* igt@kms_chamelium_hpd@common-hpd-after-suspend:
- bat-atsm-1: NOTRUN -> [SKIP][4] ([i915#6078])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/bat-atsm-1/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
* igt@kms_pipe_crc_basic@suspend-read-crc:
- bat-atsm-1: NOTRUN -> [SKIP][5] ([i915#1836])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/bat-atsm-1/igt@kms_pipe_crc_basic@suspend-read-crc.html
#### Possible fixes ####
* igt@gem_exec_fence@basic-await@bcs0:
- bat-rplp-1: [FAIL][6] -> [PASS][7]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/bat-rplp-1/igt@gem_exec_fence@basic-await@bcs0.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/bat-rplp-1/igt@gem_exec_fence@basic-await@bcs0.html
* igt@i915_selftest@live@gt_heartbeat:
- fi-kbl-soraka: [DMESG-FAIL][8] ([i915#5334] / [i915#7872]) -> [PASS][9]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
- fi-kbl-guc: [DMESG-FAIL][10] ([i915#5334] / [i915#7872]) -> [PASS][11]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/fi-kbl-guc/igt@i915_selftest@live@gt_heartbeat.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/fi-kbl-guc/igt@i915_selftest@live@gt_heartbeat.html
* igt@i915_selftest@live@hangcheck:
- fi-hsw-4770: [DMESG-WARN][12] -> [PASS][13]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#1836]: https://gitlab.freedesktop.org/drm/intel/issues/1836
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#6078]: https://gitlab.freedesktop.org/drm/intel/issues/6078
[i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
[i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687
[i915#7872]: https://gitlab.freedesktop.org/drm/intel/issues/7872
[i915#7920]: https://gitlab.freedesktop.org/drm/intel/issues/7920
[i915#7978]: https://gitlab.freedesktop.org/drm/intel/issues/7978
[i915#8407]: https://gitlab.freedesktop.org/drm/intel/issues/8407
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7279 -> IGTPW_8921
CI-20190529: 20190529
CI_DRM_13112: 90ecd907cd4b9c1fe1275a9da536e79e10ca85ec @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8921: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/index.html
IGT_7279: 3c22c8491f753d513892c479e9f4ab2f1336d5bb @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/index.html
[-- Attachment #2: Type: text/html, Size: 5140 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for Add testplan support for kms tests (rev2)
2023-05-05 10:31 [igt-dev] [i-g-t V2 0/2] Add testplan support for kms tests Bhanuprakash Modem
` (2 preceding siblings ...)
2023-05-05 13:08 ` [igt-dev] ✓ Fi.CI.BAT: success for Add testplan support for kms tests (rev2) Patchwork
@ 2023-05-06 2:55 ` Patchwork
3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2023-05-06 2:55 UTC (permalink / raw)
To: Bhanuprakash Modem; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 15139 bytes --]
== Series Details ==
Series: Add testplan support for kms tests (rev2)
URL : https://patchwork.freedesktop.org/series/117274/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_13112_full -> IGTPW_8921_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_8921_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_8921_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/index.html
Participating hosts (7 -> 7)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_8921_full:
### IGT changes ###
#### Possible regressions ####
* igt@gem_softpin@softpin:
- shard-apl: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-apl3/igt@gem_softpin@softpin.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-apl7/igt@gem_softpin@softpin.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@kms_dsc@dsc-with-output-formats:
- {shard-rkl}: NOTRUN -> [SKIP][3]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-rkl-2/igt@kms_dsc@dsc-with-output-formats.html
- {shard-tglu}: NOTRUN -> [SKIP][4]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-tglu-8/igt@kms_dsc@dsc-with-output-formats.html
Known issues
------------
Here are the changes found in IGTPW_8921_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_capture@capture-invisible@smem0:
- shard-apl: NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#6334])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-apl6/igt@gem_exec_capture@capture-invisible@smem0.html
* igt@gem_lmem_swapping@heavy-verify-multi-ccs:
- shard-apl: NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#4613])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-apl4/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html
* igt@gem_ppgtt@blt-vs-render-ctxn:
- shard-snb: [PASS][7] -> [INCOMPLETE][8] ([i915#8295])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-snb6/igt@gem_ppgtt@blt-vs-render-ctxn.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-snb1/igt@gem_ppgtt@blt-vs-render-ctxn.html
* igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc:
- shard-apl: NOTRUN -> [SKIP][9] ([fdo#109271] / [i915#3886]) +1 similar issue
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-apl7/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-b-random-ccs-data-4_tiled_dg2_rc_ccs:
- shard-apl: NOTRUN -> [SKIP][10] ([fdo#109271]) +28 similar issues
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-apl4/igt@kms_ccs@pipe-b-random-ccs-data-4_tiled_dg2_rc_ccs.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-apl: [PASS][11] -> [FAIL][12] ([i915#2346])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-apl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-vga-1:
- shard-snb: NOTRUN -> [SKIP][13] ([fdo#109271]) +90 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-snb5/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-vga-1.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-apl: NOTRUN -> [SKIP][14] ([fdo#109271] / [i915#658])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-apl3/igt@kms_psr2_su@page_flip-nv12.html
#### Possible fixes ####
* 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_13112/shard-dg1-16/igt@gem_ctx_freq@sysfs.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-dg1-15/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_13112/shard-glk2/igt@gem_exec_fair@basic-deadline.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-glk8/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-glk: [FAIL][19] ([i915#2842]) -> [PASS][20]
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-glk4/igt@gem_exec_fair@basic-pace-share@rcs0.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-glk7/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gen9_exec_parse@allowed-single:
- shard-apl: [ABORT][21] ([i915#5566]) -> [PASS][22]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-apl4/igt@gen9_exec_parse@allowed-single.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-apl7/igt@gen9_exec_parse@allowed-single.html
* igt@i915_pm_dc@dc9-dpms:
- shard-apl: [SKIP][23] ([fdo#109271]) -> [PASS][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-apl7/igt@i915_pm_dc@dc9-dpms.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-apl7/igt@i915_pm_dc@dc9-dpms.html
* igt@i915_pm_rc6_residency@rc6-idle@rcs0:
- {shard-dg1}: [FAIL][25] ([i915#3591]) -> [PASS][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-dg1-15/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-dg1-14/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
* igt@i915_pm_rpm@dpms-mode-unset-lpsp:
- {shard-rkl}: [SKIP][27] ([i915#1397]) -> [PASS][28] +4 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-rkl-2/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-rkl-7/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
* igt@i915_selftest@live@sanitycheck:
- shard-snb: [ABORT][29] ([i915#4528]) -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-snb2/igt@i915_selftest@live@sanitycheck.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-snb4/igt@i915_selftest@live@sanitycheck.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-glk: [FAIL][31] ([i915#2346]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-glk5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_fbcon_fbt@fbc-suspend:
- {shard-tglu}: [FAIL][33] ([i915#4767]) -> [PASS][34]
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-tglu-10/igt@kms_fbcon_fbt@fbc-suspend.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-tglu-7/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a1:
- shard-glk: [FAIL][35] ([i915#79]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-glk9/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a1.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-glk4/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a1.html
* igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1:
- shard-apl: [FAIL][37] ([i915#1188]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-apl1/igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-apl3/igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1.html
* igt@kms_plane@pixel-format-source-clamping@pipe-a-planes:
- shard-glk: [DMESG-FAIL][39] ([i915#118]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13112/shard-glk2/igt@kms_plane@pixel-format-source-clamping@pipe-a-planes.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/shard-glk9/igt@kms_plane@pixel-format-source-clamping@pipe-a-planes.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#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188
[i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433
[i915#2435]: https://gitlab.freedesktop.org/drm/intel/issues/2435
[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#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#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
[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#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[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#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
[i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
[i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
[i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3936]: https://gitlab.freedesktop.org/drm/intel/issues/3936
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[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#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
[i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
[i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
[i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958
[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#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
[i915#6786]: https://gitlab.freedesktop.org/drm/intel/issues/6786
[i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
[i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#8253]: https://gitlab.freedesktop.org/drm/intel/issues/8253
[i915#8295]: https://gitlab.freedesktop.org/drm/intel/issues/8295
[i915#8399]: https://gitlab.freedesktop.org/drm/intel/issues/8399
[i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_7279 -> IGTPW_8921
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_13112: 90ecd907cd4b9c1fe1275a9da536e79e10ca85ec @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_8921: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8921/index.html
IGT_7279: 3c22c8491f753d513892c479e9f4ab2f1336d5bb @ 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_8921/index.html
[-- Attachment #2: Type: text/html, Size: 12570 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [igt-dev] [i-g-t V2 1/2] tests/kms: Document kms subtests for XE BAT
2023-05-05 10:31 ` [igt-dev] [i-g-t V2 1/2] tests/kms: Document kms subtests for XE BAT Bhanuprakash Modem
@ 2023-05-07 7:58 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 7+ messages in thread
From: Mauro Carvalho Chehab @ 2023-05-07 7:58 UTC (permalink / raw)
To: Bhanuprakash Modem; +Cc: igt-dev
Em Fri, 5 May 2023 16:01:18 +0530
Bhanuprakash Modem <bhanuprakash.modem@intel.com> escreveu:
> 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
>
> V2: - Fine tune documentation (Mauro)
>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> ---
> 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 | 138 +++++++++++++++++++++++++
> tests/kms_cursor_legacy.c | 40 +++++++
> 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, 423 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..e375f3ad2 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,30 @@ 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].values: 0, 32, 63, 128, 256, 999, 1024, 65536
> + */
> static void pitch_tests(int fd)
> {
> struct drm_mode_fb_cmd2 f = {};
> @@ -399,6 +457,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 +608,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 +809,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..f7a6202cf 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,41 @@ 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]
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: cursor
> + * Mega feature: General Display Features
> + *
> + * SUBTEST: basic-flip-before-cursor-%s
> + * Description: Cursor test with %arg[1]
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: cursor
> + * Mega feature: General Display Features
> + *
> + * arg[1]:
> + *
> + * @atomic: atomic mode
> + * @legacy: legacy mode
> + * @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..0adb356d6 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 to valide %arg[1]
> + * Test category: functionality test
> + * Run type: BAT
> + * Functionality: vblank
> + * Mega feature: General Display Features
> + *
> + * arg[1]:
> + *
> + * @dpms: dpms
> + * @modeset: modeset
> + * @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] 7+ messages in thread
* Re: [igt-dev] [i-g-t V2 2/2] testplan: Add testplan support for kms tests
2023-05-05 10:31 ` [igt-dev] [i-g-t V2 2/2] testplan: Add testplan support for kms tests Bhanuprakash Modem
@ 2023-05-07 8:00 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 7+ messages in thread
From: Mauro Carvalho Chehab @ 2023-05-07 8:00 UTC (permalink / raw)
To: Bhanuprakash Modem; +Cc: igt-dev
Em Fri, 5 May 2023 16:01:19 +0530
Bhanuprakash Modem <bhanuprakash.modem@intel.com> escreveu:
> 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
> */
>
> V2: - Empty 'extra_args' to avoid failures for missing docs
> - Use wildcards instead of adding full list of files
>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> ---
> docs/testplan/meson.build | 6 ++++--
> tests/kms_test_config.json | 36 ++++++++++++++++++++++++++++++++++++
> 2 files changed, 40 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..b65ee964d 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': [] }
> }
>
> 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..d2d6357d1
> --- /dev/null
> +++ b/tests/kms_test_config.json
> @@ -0,0 +1,36 @@
> +{
> + "description": "JSON file to be used to parse KMS documentation",
> + "files": [ "chamelium/kms_*.c", "i915/kms_*.c", "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] 7+ messages in thread
end of thread, other threads:[~2023-05-07 8:00 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-05 10:31 [igt-dev] [i-g-t V2 0/2] Add testplan support for kms tests Bhanuprakash Modem
2023-05-05 10:31 ` [igt-dev] [i-g-t V2 1/2] tests/kms: Document kms subtests for XE BAT Bhanuprakash Modem
2023-05-07 7:58 ` Mauro Carvalho Chehab
2023-05-05 10:31 ` [igt-dev] [i-g-t V2 2/2] testplan: Add testplan support for kms tests Bhanuprakash Modem
2023-05-07 8:00 ` Mauro Carvalho Chehab
2023-05-05 13:08 ` [igt-dev] ✓ Fi.CI.BAT: success for Add testplan support for kms tests (rev2) Patchwork
2023-05-06 2:55 ` [igt-dev] ✗ Fi.CI.IGT: failure " 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.