All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions
@ 2019-09-05 13:36 Simon Ser
  2019-09-05 14:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Simon Ser @ 2019-09-05 13:36 UTC (permalink / raw)
  To: igt-dev

Add test descriptions to all subtest groups and subtests.

Each connector type has its own group, with a different set of subtests.
To avoid duplication, descriptions are defined at the test function level.

Signed-off-by: Simon Ser <simon.ser@intel.com>
---
 tests/kms_chamelium.c | 121 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 121 insertions(+)

diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
index 6b6292497cd7..fe3cbe57daf3 100644
--- a/tests/kms_chamelium.c
+++ b/tests/kms_chamelium.c
@@ -242,6 +242,9 @@ reset_state(data_t *data, struct chamelium_port *port)
 	}
 }

+static const char test_basic_hotplug_desc[] =
+	"Check that we get uevents and updated connector status on "
+	"hotplug and unplug";
 static void
 test_basic_hotplug(data_t *data, struct chamelium_port *port, int toggle_count)
 {
@@ -290,6 +293,8 @@ static void set_edid(data_t *data, struct chamelium_port *port,
 	chamelium_port_set_edid(data->chamelium, port, data->edids[edid]);
 }

+static const char test_edid_read_desc[] = "Make sure reading a simple EDID "
+					  "gives the correct blob";
 static void
 test_edid_read(data_t *data, struct chamelium_port *port, enum test_edid edid)
 {
@@ -400,6 +405,9 @@ try_suspend_resume_hpd(data_t *data, struct chamelium_port *port,
 	}
 }

+static const char test_suspend_resume_hpd_desc[] =
+	"Toggle HPD during suspend, check that uevents are sent and connector "
+	"status is updated";
 static void
 test_suspend_resume_hpd(data_t *data, struct chamelium_port *port,
 			enum igt_suspend_state state,
@@ -418,6 +426,9 @@ test_suspend_resume_hpd(data_t *data, struct chamelium_port *port,
 	igt_cleanup_hotplug(mon);
 }

+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";
 static void
 test_suspend_resume_hpd_common(data_t *data, enum igt_suspend_state state,
 			       enum igt_suspend_test test)
@@ -442,6 +453,10 @@ test_suspend_resume_hpd_common(data_t *data, enum igt_suspend_state state,
 	igt_cleanup_hotplug(mon);
 }

+static const char test_suspend_resume_edid_change_desc[] =
+	"Simulate a screen being unplugged and another screen being plugged "
+	"during suspend, check that a uevent is sent and connector status is "
+	"updated";
 static void
 test_suspend_resume_edid_change(data_t *data, struct chamelium_port *port,
 				enum igt_suspend_state state,
@@ -600,6 +615,10 @@ static bool are_fallback_modes(const drmModeModeInfo *modes, size_t modes_len)
 	return modes[0].hdisplay <= 1024 && modes[0].vdisplay <= 768;
 }

+static const char test_link_status_desc[] =
+	"Simulate a series of link failures, check we get a uevent each time "
+	"with the link-status property set to BAD and the list of modes "
+	"shrinks (or stays the same), until we reach fallback modes";
 static void
 test_link_status(data_t *data, struct chamelium_port *port)
 {
@@ -812,6 +831,9 @@ static void do_test_display(data_t *data, struct chamelium_port *port,
 	igt_remove_fb(data->drm_fd, &fb);
 }

+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";
 static void test_display_one_mode(data_t *data, struct chamelium_port *port,
 				  uint32_t fourcc, enum chamelium_check check,
 				  int count)
@@ -842,6 +864,9 @@ static void test_display_one_mode(data_t *data, struct chamelium_port *port,
 	drmModeFreeConnector(connector);
 }

+static const char test_display_all_modes_desc[] =
+	"For each mode of the IGT base EDID, display and capture a few "
+	"frames, then check captured frames are correct";
 static void test_display_all_modes(data_t *data, struct chamelium_port *port,
 				   uint32_t fourcc, enum chamelium_check check,
 				   int count)
@@ -876,6 +901,10 @@ static void test_display_all_modes(data_t *data, struct chamelium_port *port,
 	drmModeFreeConnector(connector);
 }

+static const char test_display_frame_dump_desc[] =
+	"For each mode of the IGT base EDID, display and capture a few "
+	"frames, then check captured frames are pixel-by-pixel equal to "
+	"sent frames";
 static void
 test_display_frame_dump(data_t *data, struct chamelium_port *port)
 {
@@ -983,6 +1012,9 @@ static void check_mode(struct chamelium *chamelium, struct chamelium_port *port,
 	igt_assert(video_params.vsync_polarity == mode_vsync_polarity);
 }

+static const char test_mode_timings_desc[] =
+	"For each mode of the IGT base EDID, perform a modeset and check the "
+	"mode detected by the Chamelium receiver matches the mode we set";
 static void test_mode_timings(data_t *data, struct chamelium_port *port)
 {
 	igt_output_t *output;
@@ -1113,6 +1145,10 @@ static const struct edid *get_aspect_ratio_edid(void)
 	return edid;
 }

+static const char test_display_aspect_ratio_desc[] =
+	"Pick a mode with a picture aspect-ratio, capture AVI InfoFrames and "
+	"check the InfoFrame correctly includes the aspect-ratio and VIC we "
+	"requested";
 static void test_display_aspect_ratio(data_t *data, struct chamelium_port *port)
 {
 	igt_output_t *output;
@@ -1825,6 +1861,9 @@ static bool check_audio_configuration(struct alsa *alsa, snd_pcm_format_t format
 	return true;
 }

+static const char test_display_audio_desc[] =
+	"Playback various audio signals with various audio formats/rates, "
+	"capture them and check they are correct";
 static void
 test_display_audio(data_t *data, struct chamelium_port *port,
 		   const char *audio_device, enum test_edid edid)
@@ -1914,6 +1953,9 @@ test_display_audio(data_t *data, struct chamelium_port *port,
 	free(alsa);
 }

+static const char test_display_audio_edid_desc[] =
+	"Plug a connector with an EDID suitable for audio, check ALSA's "
+	"EDID-Like Data reports the correct audio parameters";
 static void
 test_display_audio_edid(data_t *data, struct chamelium_port *port,
 			enum test_edid edid)
@@ -2327,6 +2369,9 @@ static void prepare_randomized_plane(data_t *data,
 	igt_remove_fb(data->drm_fd, &pattern_fb);
 }

+static const char test_display_planes_random_desc[] =
+	"Setup a few overlay planes with random parameters, capture the frame "
+	"and check it's correct";
 static void test_display_planes_random(data_t *data,
 				       struct chamelium_port *port,
 				       enum chamelium_check check)
@@ -2460,6 +2505,8 @@ static void test_display_planes_random(data_t *data,
 	igt_remove_fb(data->drm_fd, &result_fb);
 }

+static const char test_hpd_without_ddc_desc[] =
+	"Disable DDC on a VGA connector, check we still get a uevent on hotplug";
 static void
 test_hpd_without_ddc(data_t *data, struct chamelium_port *port)
 {
@@ -2480,6 +2527,9 @@ test_hpd_without_ddc(data_t *data, struct chamelium_port *port)
 	igt_cleanup_hotplug(mon);
 }

+static const char test_hpd_storm_detect_desc[] =
+	"Trigger a series of hotplugs in a very small timeframe to simulate a"
+	"bad cable, check the kernel falls back to polling";
 static void
 test_hpd_storm_detect(data_t *data, struct chamelium_port *port, int width)
 {
@@ -2508,6 +2558,9 @@ test_hpd_storm_detect(data_t *data, struct chamelium_port *port, int width)
 	igt_hpd_storm_reset(data->drm_fd);
 }

+static const char test_hpd_storm_disable_desc[] =
+	"Disable HPD storm detection, trigger a storm and check the kernel "
+	"doesn't detect one";
 static void
 test_hpd_storm_disable(data_t *data, struct chamelium_port *port, int width)
 {
@@ -2552,6 +2605,7 @@ static const struct edid *get_edid(enum test_edid edid)

 static data_t data;

+IGT_TEST_DESCRIPTION("Tests requiring a Chamelium board");
 igt_main
 {
 	struct chamelium_port *port;
@@ -2580,46 +2634,56 @@ igt_main
 		igt_require(data.display.is_atomic);
 	}

+	igt_describe("DisplayPort tests");
 	igt_subtest_group {
 		igt_fixture {
 			require_connector_present(
 			    &data, DRM_MODE_CONNECTOR_DisplayPort);
 		}

+		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("dp-hpd", DisplayPort)
 			test_basic_hotplug(&data, port,
 					   HPD_TOGGLE_COUNT_DP_HDMI);

+		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("dp-hpd-fast", DisplayPort)
 			test_basic_hotplug(&data, port,
 					   HPD_TOGGLE_COUNT_FAST);

+		igt_describe(test_edid_read_desc);
 		connector_subtest("dp-edid-read", DisplayPort) {
 			test_edid_read(&data, port, TEST_EDID_BASE);
 			test_edid_read(&data, port, TEST_EDID_ALT);
 		}

+		igt_describe(test_suspend_resume_hpd_desc);
 		connector_subtest("dp-hpd-after-suspend", DisplayPort)
 			test_suspend_resume_hpd(&data, port,
 						SUSPEND_STATE_MEM,
 						SUSPEND_TEST_NONE);

+		igt_describe(test_suspend_resume_hpd_desc);
 		connector_subtest("dp-hpd-after-hibernate", DisplayPort)
 			test_suspend_resume_hpd(&data, port,
 						SUSPEND_STATE_DISK,
 						SUSPEND_TEST_DEVICES);

+		igt_describe(test_hpd_storm_detect_desc);
 		connector_subtest("dp-hpd-storm", DisplayPort)
 			test_hpd_storm_detect(&data, port,
 					      HPD_STORM_PULSE_INTERVAL_DP);

+		igt_describe(test_hpd_storm_disable_desc);
 		connector_subtest("dp-hpd-storm-disable", DisplayPort)
 			test_hpd_storm_disable(&data, port,
 					       HPD_STORM_PULSE_INTERVAL_DP);

+		igt_describe(test_link_status_desc);
 		connector_subtest("dp-link-status", DisplayPort)
 			test_link_status(&data, port);

+		igt_describe(test_suspend_resume_edid_change_desc);
 		connector_subtest("dp-edid-change-during-suspend", DisplayPort)
 			test_suspend_resume_edid_change(&data, port,
 							SUSPEND_STATE_MEM,
@@ -2627,6 +2691,7 @@ igt_main
 							TEST_EDID_BASE,
 							TEST_EDID_ALT);

+		igt_describe(test_suspend_resume_edid_change_desc);
 		connector_subtest("dp-edid-change-during-hibernate", DisplayPort)
 			test_suspend_resume_edid_change(&data, port,
 							SUSPEND_STATE_DISK,
@@ -2634,70 +2699,86 @@ igt_main
 							TEST_EDID_BASE,
 							TEST_EDID_ALT);

+		igt_describe(test_display_all_modes_desc);
 		connector_subtest("dp-crc-single", DisplayPort)
 			test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
 					       CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("dp-crc-fast", DisplayPort)
 			test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888,
 					      CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_all_modes_desc);
 		connector_subtest("dp-crc-multiple", DisplayPort)
 			test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
 					       CHAMELIUM_CHECK_CRC, 3);

+		igt_describe(test_display_frame_dump_desc);
 		connector_subtest("dp-frame-dump", DisplayPort)
 			test_display_frame_dump(&data, port);

+		igt_describe(test_mode_timings_desc);
 		connector_subtest("dp-mode-timings", DisplayPort)
 			test_mode_timings(&data, port);

+		igt_describe(test_display_audio_desc);
 		connector_subtest("dp-audio", DisplayPort)
 			test_display_audio(&data, port, "HDMI",
 					   TEST_EDID_DP_AUDIO);

+		igt_describe(test_display_audio_edid_desc);
 		connector_subtest("dp-audio-edid", DisplayPort)
 			test_display_audio_edid(&data, port,
 						TEST_EDID_DP_AUDIO);
 	}

+	igt_describe("HDMI tests");
 	igt_subtest_group {
 		igt_fixture {
 			require_connector_present(
 			    &data, DRM_MODE_CONNECTOR_HDMIA);
 		}

+		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("hdmi-hpd", HDMIA)
 			test_basic_hotplug(&data, port,
 					   HPD_TOGGLE_COUNT_DP_HDMI);

+		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("hdmi-hpd-fast", HDMIA)
 			test_basic_hotplug(&data, port,
 					   HPD_TOGGLE_COUNT_FAST);

+		igt_describe(test_edid_read_desc);
 		connector_subtest("hdmi-edid-read", HDMIA) {
 			test_edid_read(&data, port, TEST_EDID_BASE);
 			test_edid_read(&data, port, TEST_EDID_ALT);
 		}

+		igt_describe(test_suspend_resume_hpd_desc);
 		connector_subtest("hdmi-hpd-after-suspend", HDMIA)
 			test_suspend_resume_hpd(&data, port,
 						SUSPEND_STATE_MEM,
 						SUSPEND_TEST_NONE);

+		igt_describe(test_suspend_resume_hpd_desc);
 		connector_subtest("hdmi-hpd-after-hibernate", HDMIA)
 			test_suspend_resume_hpd(&data, port,
 						SUSPEND_STATE_DISK,
 						SUSPEND_TEST_DEVICES);

+		igt_describe(test_hpd_storm_detect_desc);
 		connector_subtest("hdmi-hpd-storm", HDMIA)
 			test_hpd_storm_detect(&data, port,
 					      HPD_STORM_PULSE_INTERVAL_HDMI);

+		igt_describe(test_hpd_storm_disable_desc);
 		connector_subtest("hdmi-hpd-storm-disable", HDMIA)
 			test_hpd_storm_disable(&data, port,
 					       HPD_STORM_PULSE_INTERVAL_HDMI);

+		igt_describe(test_suspend_resume_edid_change_desc);
 		connector_subtest("hdmi-edid-change-during-suspend", HDMIA)
 			test_suspend_resume_edid_change(&data, port,
 							SUSPEND_STATE_MEM,
@@ -2705,6 +2786,7 @@ igt_main
 							TEST_EDID_BASE,
 							TEST_EDID_ALT);

+		igt_describe(test_suspend_resume_edid_change_desc);
 		connector_subtest("hdmi-edid-change-during-hibernate", HDMIA)
 			test_suspend_resume_edid_change(&data, port,
 							SUSPEND_STATE_DISK,
@@ -2712,157 +2794,196 @@ igt_main
 							TEST_EDID_BASE,
 							TEST_EDID_ALT);

+		igt_describe(test_display_all_modes_desc);
 		connector_subtest("hdmi-crc-single", HDMIA)
 			test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
 					       CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-crc-fast", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888,
 					      CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_all_modes_desc);
 		connector_subtest("hdmi-crc-multiple", HDMIA)
 			test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
 					       CHAMELIUM_CHECK_CRC, 3);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-crc-argb8888", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_ARGB8888,
 					      CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-crc-abgr8888", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_ABGR8888,
 					      CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-crc-xrgb8888", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888,
 					      CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-crc-xbgr8888", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_XBGR8888,
 					      CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-crc-rgb888", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_RGB888,
 					      CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-crc-bgr888", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_BGR888,
 					      CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-crc-rgb565", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_RGB565,
 					      CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-crc-bgr565", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_BGR565,
 					      CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-crc-argb1555", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_ARGB1555,
 					      CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-crc-xrgb1555", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_XRGB1555,
 					      CHAMELIUM_CHECK_CRC, 1);

+		igt_describe(test_display_planes_random_desc);
 		connector_subtest("hdmi-crc-planes-random", HDMIA)
 			test_display_planes_random(&data, port,
 						   CHAMELIUM_CHECK_CRC);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-cmp-nv12", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_NV12,
 					      CHAMELIUM_CHECK_CHECKERBOARD, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-cmp-nv16", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_NV16,
 					      CHAMELIUM_CHECK_CHECKERBOARD, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-cmp-nv21", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_NV21,
 					      CHAMELIUM_CHECK_CHECKERBOARD, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-cmp-nv61", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_NV61,
 					      CHAMELIUM_CHECK_CHECKERBOARD, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-cmp-yu12", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_YUV420,
 					      CHAMELIUM_CHECK_CHECKERBOARD, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-cmp-yu16", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_YUV422,
 					      CHAMELIUM_CHECK_CHECKERBOARD, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-cmp-yv12", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_YVU420,
 					      CHAMELIUM_CHECK_CHECKERBOARD, 1);

+		igt_describe(test_display_one_mode_desc);
 		connector_subtest("hdmi-cmp-yv16", HDMIA)
 			test_display_one_mode(&data, port, DRM_FORMAT_YVU422,
 					      CHAMELIUM_CHECK_CHECKERBOARD, 1);

+		igt_describe(test_display_planes_random_desc);
 		connector_subtest("hdmi-cmp-planes-random", HDMIA)
 			test_display_planes_random(&data, port,
 						   CHAMELIUM_CHECK_CHECKERBOARD);

+		igt_describe(test_display_frame_dump_desc);
 		connector_subtest("hdmi-frame-dump", HDMIA)
 			test_display_frame_dump(&data, port);

+		igt_describe(test_mode_timings_desc);
 		connector_subtest("hdmi-mode-timings", HDMIA)
 			test_mode_timings(&data, port);

+		igt_describe(test_display_audio_desc);
 		connector_subtest("hdmi-audio", HDMIA)
 			test_display_audio(&data, port, "HDMI",
 					   TEST_EDID_HDMI_AUDIO);

+		igt_describe(test_display_audio_edid_desc);
 		connector_subtest("hdmi-audio-edid", HDMIA)
 			test_display_audio_edid(&data, port,
 						TEST_EDID_HDMI_AUDIO);

+		igt_describe(test_display_aspect_ratio_desc);
 		connector_subtest("hdmi-aspect-ratio", HDMIA)
 			test_display_aspect_ratio(&data, port);
 	}

+	igt_describe("VGA tests");
 	igt_subtest_group {
 		igt_fixture {
 			require_connector_present(
 			    &data, DRM_MODE_CONNECTOR_VGA);
 		}

+		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("vga-hpd", VGA)
 			test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_VGA);

+		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("vga-hpd-fast", VGA)
 			test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST);

+		igt_describe(test_edid_read_desc);
 		connector_subtest("vga-edid-read", VGA) {
 			test_edid_read(&data, port, TEST_EDID_BASE);
 			test_edid_read(&data, port, TEST_EDID_ALT);
 		}

+		igt_describe(test_suspend_resume_hpd_desc);
 		connector_subtest("vga-hpd-after-suspend", VGA)
 			test_suspend_resume_hpd(&data, port,
 						SUSPEND_STATE_MEM,
 						SUSPEND_TEST_NONE);

+		igt_describe(test_suspend_resume_hpd_desc);
 		connector_subtest("vga-hpd-after-hibernate", VGA)
 			test_suspend_resume_hpd(&data, port,
 						SUSPEND_STATE_DISK,
 						SUSPEND_TEST_DEVICES);

+		igt_describe(test_hpd_without_ddc_desc);
 		connector_subtest("vga-hpd-without-ddc", VGA)
 			test_hpd_without_ddc(&data, port);

+		igt_describe(test_display_all_modes_desc);
 		connector_subtest("vga-frame-dump", VGA)
 			test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
 					       CHAMELIUM_CHECK_ANALOG, 1);
 	}

+	igt_describe("Tests that operate on all connectors");
 	igt_subtest_group {
+		igt_describe(test_suspend_resume_hpd_common_desc);
 		igt_subtest("common-hpd-after-suspend")
 			test_suspend_resume_hpd_common(&data,
 						       SUSPEND_STATE_MEM,
 						       SUSPEND_TEST_NONE);

+		igt_describe(test_suspend_resume_hpd_common_desc);
 		igt_subtest("common-hpd-after-hibernate")
 			test_suspend_resume_hpd_common(&data,
 						       SUSPEND_STATE_DISK,
--
2.23.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_chamelium: add test descriptions
  2019-09-05 13:36 [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions Simon Ser
@ 2019-09-05 14:09 ` Patchwork
  2019-09-05 18:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2019-09-06 14:23 ` [igt-dev] [PATCH i-g-t] " Martin Peres
  2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2019-09-05 14:09 UTC (permalink / raw)
  To: Simon Ser; +Cc: igt-dev

== Series Details ==

Series: tests/kms_chamelium: add test descriptions
URL   : https://patchwork.freedesktop.org/series/66284/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6838 -> IGTPW_3421
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/66284/revisions/1/mbox/

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][1] -> [FAIL][2] ([fdo#111407])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  
#### Possible fixes ####

  * igt@gem_mmap_gtt@basic:
    - fi-glk-dsi:         [INCOMPLETE][3] ([fdo#103359] / [k.org#198133]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-glk-dsi/igt@gem_mmap_gtt@basic.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-glk-dsi/igt@gem_mmap_gtt@basic.html

  * igt@kms_busy@basic-flip-c:
    - fi-skl-6770hq:      [SKIP][5] ([fdo#109271] / [fdo#109278]) -> [PASS][6] +2 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-skl-6770hq/igt@kms_busy@basic-flip-c.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-skl-6770hq/igt@kms_busy@basic-flip-c.html

  * igt@kms_chamelium@dp-edid-read:
    - fi-kbl-7500u:       [WARN][7] ([fdo#109483]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-kbl-7500u/igt@kms_chamelium@dp-edid-read.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-kbl-7500u/igt@kms_chamelium@dp-edid-read.html

  * igt@kms_flip@basic-flip-vs-dpms:
    - fi-skl-6770hq:      [SKIP][9] ([fdo#109271]) -> [PASS][10] +23 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-skl-6770hq/igt@kms_flip@basic-flip-vs-dpms.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-skl-6770hq/igt@kms_flip@basic-flip-vs-dpms.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-hsw-peppy:       [DMESG-WARN][11] ([fdo#102614]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-hsw-peppy/igt@kms_frontbuffer_tracking@basic.html
    - fi-icl-u2:          [FAIL][13] ([fdo#103167]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-icl-u2/igt@kms_frontbuffer_tracking@basic.html

  * igt@vgem_basic@debugfs:
    - fi-icl-u3:          [DMESG-WARN][15] ([fdo#107724]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/fi-icl-u3/igt@vgem_basic@debugfs.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-icl-u3/igt@vgem_basic@debugfs.html

  
  [fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (53 -> 47)
------------------------------

  Additional (1): fi-pnv-d510 
  Missing    (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-icl-y fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5171 -> IGTPW_3421

  CI-20190529: 20190529
  CI_DRM_6838: 8e907b7591b620dba402c7ada493a31ca0320c99 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3421: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/
  IGT_5171: 1911564805fe454919e8a5846534a0c1ef376a33 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.IGT: success for tests/kms_chamelium: add test descriptions
  2019-09-05 13:36 [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions Simon Ser
  2019-09-05 14:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2019-09-05 18:14 ` Patchwork
  2019-09-06 14:23 ` [igt-dev] [PATCH i-g-t] " Martin Peres
  2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2019-09-05 18:14 UTC (permalink / raw)
  To: Simon Ser; +Cc: igt-dev

== Series Details ==

Series: tests/kms_chamelium: add test descriptions
URL   : https://patchwork.freedesktop.org/series/66284/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6838_full -> IGTPW_3421_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/66284/revisions/1/mbox/

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_shared@q-in-order-bsd2:
    - shard-iclb:         [PASS][1] -> [SKIP][2] ([fdo#109276]) +14 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb1/igt@gem_ctx_shared@q-in-order-bsd2.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb6/igt@gem_ctx_shared@q-in-order-bsd2.html

  * igt@gem_exec_schedule@independent-bsd:
    - shard-iclb:         [PASS][3] -> [SKIP][4] ([fdo#111325]) +1 similar issue
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb6/igt@gem_exec_schedule@independent-bsd.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb2/igt@gem_exec_schedule@independent-bsd.html

  * igt@gem_workarounds@suspend-resume:
    - shard-apl:          [PASS][5] -> [DMESG-WARN][6] ([fdo#108566]) +10 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-apl8/igt@gem_workarounds@suspend-resume.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl7/igt@gem_workarounds@suspend-resume.html

  * igt@i915_pm_backlight@fade_with_suspend:
    - shard-iclb:         [PASS][7] -> [FAIL][8] ([fdo#103375])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb8/igt@i915_pm_backlight@fade_with_suspend.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb4/igt@i915_pm_backlight@fade_with_suspend.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-hsw:          [PASS][9] -> [FAIL][10] ([fdo#111548])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-hsw6/igt@i915_pm_rpm@system-suspend-execbuf.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw7/igt@i915_pm_rpm@system-suspend-execbuf.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-blt:
    - shard-iclb:         [PASS][11] -> [FAIL][12] ([fdo#103167]) +4 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-blt.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_psr@psr2_primary_mmap_cpu:
    - shard-iclb:         [PASS][13] -> [SKIP][14] ([fdo#109441]) +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb4/igt@kms_psr@psr2_primary_mmap_cpu.html

  * igt@kms_setmode@basic:
    - shard-hsw:          [PASS][15] -> [FAIL][16] ([fdo#99912])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-hsw7/igt@kms_setmode@basic.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw4/igt@kms_setmode@basic.html

  
#### Possible fixes ####

  * igt@gem_exec_schedule@deep-bsd:
    - shard-iclb:         [SKIP][17] ([fdo#111325]) -> [PASS][18] +3 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb2/igt@gem_exec_schedule@deep-bsd.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb3/igt@gem_exec_schedule@deep-bsd.html

  * igt@gem_exec_schedule@independent-bsd1:
    - shard-iclb:         [SKIP][19] ([fdo#109276]) -> [PASS][20] +12 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb8/igt@gem_exec_schedule@independent-bsd1.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb4/igt@gem_exec_schedule@independent-bsd1.html

  * igt@i915_pm_rc6_residency@rc6-accuracy:
    - shard-snb:          [SKIP][21] ([fdo#109271]) -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-snb4/igt@i915_pm_rc6_residency@rc6-accuracy.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-snb6/igt@i915_pm_rc6_residency@rc6-accuracy.html

  * igt@i915_pm_rpm@modeset-stress-extra-wait:
    - shard-hsw:          [FAIL][23] ([fdo#111548]) -> [PASS][24] +3 similar issues
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-hsw2/igt@i915_pm_rpm@modeset-stress-extra-wait.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw4/igt@i915_pm_rpm@modeset-stress-extra-wait.html

  * igt@kms_big_fb@x-tiled-16bpp-rotate-180:
    - shard-apl:          [INCOMPLETE][25] ([fdo#103927]) -> [PASS][26] +3 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-apl7/igt@kms_big_fb@x-tiled-16bpp-rotate-180.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl6/igt@kms_big_fb@x-tiled-16bpp-rotate-180.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
    - shard-iclb:         [FAIL][27] ([fdo#103167]) -> [PASS][28] +5 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-apl:          [DMESG-WARN][29] ([fdo#108566]) -> [PASS][30] +2 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-apl5/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl1/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - shard-snb:          [FAIL][31] ([fdo#103375]) -> [PASS][32] +2 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-snb7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-snb4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
    - shard-hsw:          [FAIL][33] ([fdo#103375]) -> [PASS][34] +5 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-hsw2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html

  * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
    - shard-kbl:          [INCOMPLETE][35] ([fdo#103665]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-kbl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-kbl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-iclb:         [INCOMPLETE][37] ([fdo#107713]) -> [PASS][38] +1 similar issue
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb7/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb6/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [SKIP][39] ([fdo#109642] / [fdo#111068]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb3/igt@kms_psr2_su@page_flip.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb2/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_sprite_mmap_gtt:
    - shard-iclb:         [SKIP][41] ([fdo#109441]) -> [PASS][42] +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb7/igt@kms_psr@psr2_sprite_mmap_gtt.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html

  * igt@kms_setmode@basic:
    - shard-apl:          [FAIL][43] ([fdo#99912]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-apl8/igt@kms_setmode@basic.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl7/igt@kms_setmode@basic.html

  * igt@perf_pmu@busy-idle-vcs0:
    - shard-apl:          [FAIL][45] ([fdo#111545]) -> [PASS][46] +1 similar issue
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-apl3/igt@perf_pmu@busy-idle-vcs0.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl8/igt@perf_pmu@busy-idle-vcs0.html

  
#### Warnings ####

  * igt@gem_ctx_isolation@vcs1-nonpriv:
    - shard-iclb:         [FAIL][47] ([fdo#111329]) -> [SKIP][48] ([fdo#109276])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb2/igt@gem_ctx_isolation@vcs1-nonpriv.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb3/igt@gem_ctx_isolation@vcs1-nonpriv.html

  * igt@gem_mocs_settings@mocs-settings-bsd2:
    - shard-iclb:         [SKIP][49] ([fdo#109276]) -> [FAIL][50] ([fdo#111330]) +2 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-iclb6/igt@gem_mocs_settings@mocs-settings-bsd2.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb4/igt@gem_mocs_settings@mocs-settings-bsd2.html

  * igt@i915_pm_rpm@modeset-lpsp:
    - shard-hsw:          [FAIL][51] ([fdo#111548]) -> [SKIP][52] ([fdo#109271])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6838/shard-hsw2/igt@i915_pm_rpm@modeset-lpsp.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw7/igt@i915_pm_rpm@modeset-lpsp.html

  
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
  [fdo#111329]: https://bugs.freedesktop.org/show_bug.cgi?id=111329
  [fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
  [fdo#111545]: https://bugs.freedesktop.org/show_bug.cgi?id=111545
  [fdo#111548]: https://bugs.freedesktop.org/show_bug.cgi?id=111548
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (10 -> 6)
------------------------------

  Missing    (4): pig-skl-6260u shard-skl pig-hsw-4770r pig-glk-j5005 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5171 -> IGTPW_3421
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_6838: 8e907b7591b620dba402c7ada493a31ca0320c99 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_3421: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/
  IGT_5171: 1911564805fe454919e8a5846534a0c1ef376a33 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions
  2019-09-05 13:36 [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions Simon Ser
  2019-09-05 14:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
  2019-09-05 18:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2019-09-06 14:23 ` Martin Peres
  2019-09-10 12:27   ` Ser, Simon
  2 siblings, 1 reply; 7+ messages in thread
From: Martin Peres @ 2019-09-06 14:23 UTC (permalink / raw)
  To: Simon Ser, igt-dev



On 05/09/2019 16:36, Simon Ser wrote:
> Add test descriptions to all subtest groups and subtests.
> 
> Each connector type has its own group, with a different set of subtests.
> To avoid duplication, descriptions are defined at the test function level.
> 
> Signed-off-by: Simon Ser <simon.ser@intel.com>
> ---
>  tests/kms_chamelium.c | 121 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 121 insertions(+)
> 
> diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
> index 6b6292497cd7..fe3cbe57daf3 100644
> --- a/tests/kms_chamelium.c
> +++ b/tests/kms_chamelium.c
> @@ -242,6 +242,9 @@ reset_state(data_t *data, struct chamelium_port *port)
>  	}
>  }
> 
> +static const char test_basic_hotplug_desc[] =
> +	"Check that we get uevents and updated connector status on "
> +	"hotplug and unplug";
>  static void
>  test_basic_hotplug(data_t *data, struct chamelium_port *port, int toggle_count)
>  {
> @@ -290,6 +293,8 @@ static void set_edid(data_t *data, struct chamelium_port *port,
>  	chamelium_port_set_edid(data->chamelium, port, data->edids[edid]);
>  }
> 
> +static const char test_edid_read_desc[] = "Make sure reading a simple EDID "
> +					  "gives the correct blob";

Whitespace problem?

Not sure if the description is clear-enough. How about "Make sure the
reported EDID is the same as the screen's".
>  static void
>  test_edid_read(data_t *data, struct chamelium_port *port, enum test_edid edid)
>  {
> @@ -400,6 +405,9 @@ try_suspend_resume_hpd(data_t *data, struct chamelium_port *port,
>  	}
>  }
> 
> +static const char test_suspend_resume_hpd_desc[] =
> +	"Toggle HPD during suspend, check that uevents are sent and connector "
> +	"status is updated";
>  static void
>  test_suspend_resume_hpd(data_t *data, struct chamelium_port *port,
>  			enum igt_suspend_state state,
> @@ -418,6 +426,9 @@ test_suspend_resume_hpd(data_t *data, struct chamelium_port *port,
>  	igt_cleanup_hotplug(mon);
>  }
> 
> +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";
>  static void
>  test_suspend_resume_hpd_common(data_t *data, enum igt_suspend_state state,
>  			       enum igt_suspend_test test)
> @@ -442,6 +453,10 @@ test_suspend_resume_hpd_common(data_t *data, enum igt_suspend_state state,
>  	igt_cleanup_hotplug(mon);
>  }
> 
> +static const char test_suspend_resume_edid_change_desc[] =
> +	"Simulate a screen being unplugged and another screen being plugged "
> +	"during suspend, check that a uevent is sent and connector status is "
> +	"updated";
>  static void
>  test_suspend_resume_edid_change(data_t *data, struct chamelium_port *port,
>  				enum igt_suspend_state state,
> @@ -600,6 +615,10 @@ static bool are_fallback_modes(const drmModeModeInfo *modes, size_t modes_len)
>  	return modes[0].hdisplay <= 1024 && modes[0].vdisplay <= 768;
>  }
> 
> +static const char test_link_status_desc[] =
> +	"Simulate a series of link failures, check we get a uevent each time "
> +	"with the link-status property set to BAD and the list of modes "
> +	"shrinks (or stays the same), until we reach fallback modes";
>  static void
>  test_link_status(data_t *data, struct chamelium_port *port)
>  {
> @@ -812,6 +831,9 @@ static void do_test_display(data_t *data, struct chamelium_port *port,
>  	igt_remove_fb(data->drm_fd, &fb);
>  }
> 
> +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";

s/correct/have the expected CRC/.

>  static void test_display_one_mode(data_t *data, struct chamelium_port *port,
>  				  uint32_t fourcc, enum chamelium_check check,
>  				  int count)
> @@ -842,6 +864,9 @@ static void test_display_one_mode(data_t *data, struct chamelium_port *port,
>  	drmModeFreeConnector(connector);
>  }
> 
> +static const char test_display_all_modes_desc[] =
> +	"For each mode of the IGT base EDID, display and capture a few "
> +	"frames, then check captured frames are correct";

Ditto.

>  static void test_display_all_modes(data_t *data, struct chamelium_port *port,
>  				   uint32_t fourcc, enum chamelium_check check,
>  				   int count)
> @@ -876,6 +901,10 @@ static void test_display_all_modes(data_t *data, struct chamelium_port *port,
>  	drmModeFreeConnector(connector);
>  }
> 
> +static const char test_display_frame_dump_desc[] =
> +	"For each mode of the IGT base EDID, display and capture a few "
> +	"frames, then check captured frames are pixel-by-pixel equal to "
> +	"sent frames";

"then download the frame and compare them bit-by-bit to the sent frames."

>  static void
>  test_display_frame_dump(data_t *data, struct chamelium_port *port)
>  {
> @@ -983,6 +1012,9 @@ static void check_mode(struct chamelium *chamelium, struct chamelium_port *port,
>  	igt_assert(video_params.vsync_polarity == mode_vsync_polarity);
>  }
> 
> +static const char test_mode_timings_desc[] =
> +	"For each mode of the IGT base EDID, perform a modeset and check the "
> +	"mode detected by the Chamelium receiver matches the mode we set";
>  static void test_mode_timings(data_t *data, struct chamelium_port *port)
>  {
>  	igt_output_t *output;
> @@ -1113,6 +1145,10 @@ static const struct edid *get_aspect_ratio_edid(void)
>  	return edid;
>  }
> 
> +static const char test_display_aspect_ratio_desc[] =
> +	"Pick a mode with a picture aspect-ratio, capture AVI InfoFrames and "
> +	"check the InfoFrame correctly includes the aspect-ratio and VIC we "
> +	"requested";

That might be a bit too much of details. How about "includes the
relevant fields"?
>  static void test_display_aspect_ratio(data_t *data, struct chamelium_port *port)
>  {
>  	igt_output_t *output;
> @@ -1825,6 +1861,9 @@ static bool check_audio_configuration(struct alsa *alsa, snd_pcm_format_t format
>  	return true;
>  }
> 
> +static const char test_display_audio_desc[] =
> +	"Playback various audio signals with various audio formats/rates, "
> +	"capture them and check they are correct";
>  static void
>  test_display_audio(data_t *data, struct chamelium_port *port,
>  		   const char *audio_device, enum test_edid edid)
> @@ -1914,6 +1953,9 @@ test_display_audio(data_t *data, struct chamelium_port *port,
>  	free(alsa);
>  }
> 
> +static const char test_display_audio_edid_desc[] =
> +	"Plug a connector with an EDID suitable for audio, check ALSA's "
> +	"EDID-Like Data reports the correct audio parameters";
>  static void
>  test_display_audio_edid(data_t *data, struct chamelium_port *port,
>  			enum test_edid edid)
> @@ -2327,6 +2369,9 @@ static void prepare_randomized_plane(data_t *data,
>  	igt_remove_fb(data->drm_fd, &pattern_fb);
>  }
> 
> +static const char test_display_planes_random_desc[] =
> +	"Setup a few overlay planes with random parameters, capture the frame "
> +	"and check it's correct";

"and check it matches the expected output."?

>  static void test_display_planes_random(data_t *data,
>  				       struct chamelium_port *port,
>  				       enum chamelium_check check)
> @@ -2460,6 +2505,8 @@ static void test_display_planes_random(data_t *data,
>  	igt_remove_fb(data->drm_fd, &result_fb);
>  }
> 
> +static const char test_hpd_without_ddc_desc[] =
> +	"Disable DDC on a VGA connector, check we still get a uevent on hotplug";
>  static void
>  test_hpd_without_ddc(data_t *data, struct chamelium_port *port)
>  {
> @@ -2480,6 +2527,9 @@ test_hpd_without_ddc(data_t *data, struct chamelium_port *port)
>  	igt_cleanup_hotplug(mon);
>  }
> 
> +static const char test_hpd_storm_detect_desc[] =
> +	"Trigger a series of hotplugs in a very small timeframe to simulate a"
> +	"bad cable, check the kernel falls back to polling";

"falls back to polling to avoid an irq storm"

Thanks a lot for doing this! My comments are merely proposals for
improvements, so feel free to land put my R-b even without changing
anything.

Martin

>  static void
>  test_hpd_storm_detect(data_t *data, struct chamelium_port *port, int width)
>  {
> @@ -2508,6 +2558,9 @@ test_hpd_storm_detect(data_t *data, struct chamelium_port *port, int width)
>  	igt_hpd_storm_reset(data->drm_fd);
>  }
> 
> +static const char test_hpd_storm_disable_desc[] =
> +	"Disable HPD storm detection, trigger a storm and check the kernel "
> +	"doesn't detect one";
>  static void
>  test_hpd_storm_disable(data_t *data, struct chamelium_port *port, int width)
>  {
> @@ -2552,6 +2605,7 @@ static const struct edid *get_edid(enum test_edid edid)
> 
>  static data_t data;
> 
> +IGT_TEST_DESCRIPTION("Tests requiring a Chamelium board");
>  igt_main
>  {
>  	struct chamelium_port *port;
> @@ -2580,46 +2634,56 @@ igt_main
>  		igt_require(data.display.is_atomic);
>  	}
> 
> +	igt_describe("DisplayPort tests");
>  	igt_subtest_group {
>  		igt_fixture {
>  			require_connector_present(
>  			    &data, DRM_MODE_CONNECTOR_DisplayPort);
>  		}
> 
> +		igt_describe(test_basic_hotplug_desc);
>  		connector_subtest("dp-hpd", DisplayPort)
>  			test_basic_hotplug(&data, port,
>  					   HPD_TOGGLE_COUNT_DP_HDMI);
> 
> +		igt_describe(test_basic_hotplug_desc);
>  		connector_subtest("dp-hpd-fast", DisplayPort)
>  			test_basic_hotplug(&data, port,
>  					   HPD_TOGGLE_COUNT_FAST);
> 
> +		igt_describe(test_edid_read_desc);
>  		connector_subtest("dp-edid-read", DisplayPort) {
>  			test_edid_read(&data, port, TEST_EDID_BASE);
>  			test_edid_read(&data, port, TEST_EDID_ALT);
>  		}
> 
> +		igt_describe(test_suspend_resume_hpd_desc);
>  		connector_subtest("dp-hpd-after-suspend", DisplayPort)
>  			test_suspend_resume_hpd(&data, port,
>  						SUSPEND_STATE_MEM,
>  						SUSPEND_TEST_NONE);
> 
> +		igt_describe(test_suspend_resume_hpd_desc);
>  		connector_subtest("dp-hpd-after-hibernate", DisplayPort)
>  			test_suspend_resume_hpd(&data, port,
>  						SUSPEND_STATE_DISK,
>  						SUSPEND_TEST_DEVICES);
> 
> +		igt_describe(test_hpd_storm_detect_desc);
>  		connector_subtest("dp-hpd-storm", DisplayPort)
>  			test_hpd_storm_detect(&data, port,
>  					      HPD_STORM_PULSE_INTERVAL_DP);
> 
> +		igt_describe(test_hpd_storm_disable_desc);
>  		connector_subtest("dp-hpd-storm-disable", DisplayPort)
>  			test_hpd_storm_disable(&data, port,
>  					       HPD_STORM_PULSE_INTERVAL_DP);
> 
> +		igt_describe(test_link_status_desc);
>  		connector_subtest("dp-link-status", DisplayPort)
>  			test_link_status(&data, port);
> 
> +		igt_describe(test_suspend_resume_edid_change_desc);
>  		connector_subtest("dp-edid-change-during-suspend", DisplayPort)
>  			test_suspend_resume_edid_change(&data, port,
>  							SUSPEND_STATE_MEM,
> @@ -2627,6 +2691,7 @@ igt_main
>  							TEST_EDID_BASE,
>  							TEST_EDID_ALT);
> 
> +		igt_describe(test_suspend_resume_edid_change_desc);
>  		connector_subtest("dp-edid-change-during-hibernate", DisplayPort)
>  			test_suspend_resume_edid_change(&data, port,
>  							SUSPEND_STATE_DISK,
> @@ -2634,70 +2699,86 @@ igt_main
>  							TEST_EDID_BASE,
>  							TEST_EDID_ALT);
> 
> +		igt_describe(test_display_all_modes_desc);
>  		connector_subtest("dp-crc-single", DisplayPort)
>  			test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
>  					       CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("dp-crc-fast", DisplayPort)
>  			test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888,
>  					      CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_all_modes_desc);
>  		connector_subtest("dp-crc-multiple", DisplayPort)
>  			test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
>  					       CHAMELIUM_CHECK_CRC, 3);
> 
> +		igt_describe(test_display_frame_dump_desc);
>  		connector_subtest("dp-frame-dump", DisplayPort)
>  			test_display_frame_dump(&data, port);
> 
> +		igt_describe(test_mode_timings_desc);
>  		connector_subtest("dp-mode-timings", DisplayPort)
>  			test_mode_timings(&data, port);
> 
> +		igt_describe(test_display_audio_desc);
>  		connector_subtest("dp-audio", DisplayPort)
>  			test_display_audio(&data, port, "HDMI",
>  					   TEST_EDID_DP_AUDIO);
> 
> +		igt_describe(test_display_audio_edid_desc);
>  		connector_subtest("dp-audio-edid", DisplayPort)
>  			test_display_audio_edid(&data, port,
>  						TEST_EDID_DP_AUDIO);
>  	}
> 
> +	igt_describe("HDMI tests");
>  	igt_subtest_group {
>  		igt_fixture {
>  			require_connector_present(
>  			    &data, DRM_MODE_CONNECTOR_HDMIA);
>  		}
> 
> +		igt_describe(test_basic_hotplug_desc);
>  		connector_subtest("hdmi-hpd", HDMIA)
>  			test_basic_hotplug(&data, port,
>  					   HPD_TOGGLE_COUNT_DP_HDMI);
> 
> +		igt_describe(test_basic_hotplug_desc);
>  		connector_subtest("hdmi-hpd-fast", HDMIA)
>  			test_basic_hotplug(&data, port,
>  					   HPD_TOGGLE_COUNT_FAST);
> 
> +		igt_describe(test_edid_read_desc);
>  		connector_subtest("hdmi-edid-read", HDMIA) {
>  			test_edid_read(&data, port, TEST_EDID_BASE);
>  			test_edid_read(&data, port, TEST_EDID_ALT);
>  		}
> 
> +		igt_describe(test_suspend_resume_hpd_desc);
>  		connector_subtest("hdmi-hpd-after-suspend", HDMIA)
>  			test_suspend_resume_hpd(&data, port,
>  						SUSPEND_STATE_MEM,
>  						SUSPEND_TEST_NONE);
> 
> +		igt_describe(test_suspend_resume_hpd_desc);
>  		connector_subtest("hdmi-hpd-after-hibernate", HDMIA)
>  			test_suspend_resume_hpd(&data, port,
>  						SUSPEND_STATE_DISK,
>  						SUSPEND_TEST_DEVICES);
> 
> +		igt_describe(test_hpd_storm_detect_desc);
>  		connector_subtest("hdmi-hpd-storm", HDMIA)
>  			test_hpd_storm_detect(&data, port,
>  					      HPD_STORM_PULSE_INTERVAL_HDMI);
> 
> +		igt_describe(test_hpd_storm_disable_desc);
>  		connector_subtest("hdmi-hpd-storm-disable", HDMIA)
>  			test_hpd_storm_disable(&data, port,
>  					       HPD_STORM_PULSE_INTERVAL_HDMI);
> 
> +		igt_describe(test_suspend_resume_edid_change_desc);
>  		connector_subtest("hdmi-edid-change-during-suspend", HDMIA)
>  			test_suspend_resume_edid_change(&data, port,
>  							SUSPEND_STATE_MEM,
> @@ -2705,6 +2786,7 @@ igt_main
>  							TEST_EDID_BASE,
>  							TEST_EDID_ALT);
> 
> +		igt_describe(test_suspend_resume_edid_change_desc);
>  		connector_subtest("hdmi-edid-change-during-hibernate", HDMIA)
>  			test_suspend_resume_edid_change(&data, port,
>  							SUSPEND_STATE_DISK,
> @@ -2712,157 +2794,196 @@ igt_main
>  							TEST_EDID_BASE,
>  							TEST_EDID_ALT);
> 
> +		igt_describe(test_display_all_modes_desc);
>  		connector_subtest("hdmi-crc-single", HDMIA)
>  			test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
>  					       CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-crc-fast", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888,
>  					      CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_all_modes_desc);
>  		connector_subtest("hdmi-crc-multiple", HDMIA)
>  			test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
>  					       CHAMELIUM_CHECK_CRC, 3);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-crc-argb8888", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_ARGB8888,
>  					      CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-crc-abgr8888", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_ABGR8888,
>  					      CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-crc-xrgb8888", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_XRGB8888,
>  					      CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-crc-xbgr8888", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_XBGR8888,
>  					      CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-crc-rgb888", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_RGB888,
>  					      CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-crc-bgr888", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_BGR888,
>  					      CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-crc-rgb565", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_RGB565,
>  					      CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-crc-bgr565", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_BGR565,
>  					      CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-crc-argb1555", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_ARGB1555,
>  					      CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-crc-xrgb1555", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_XRGB1555,
>  					      CHAMELIUM_CHECK_CRC, 1);
> 
> +		igt_describe(test_display_planes_random_desc);
>  		connector_subtest("hdmi-crc-planes-random", HDMIA)
>  			test_display_planes_random(&data, port,
>  						   CHAMELIUM_CHECK_CRC);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-cmp-nv12", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_NV12,
>  					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-cmp-nv16", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_NV16,
>  					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-cmp-nv21", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_NV21,
>  					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-cmp-nv61", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_NV61,
>  					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-cmp-yu12", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_YUV420,
>  					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-cmp-yu16", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_YUV422,
>  					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-cmp-yv12", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_YVU420,
>  					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
> 
> +		igt_describe(test_display_one_mode_desc);
>  		connector_subtest("hdmi-cmp-yv16", HDMIA)
>  			test_display_one_mode(&data, port, DRM_FORMAT_YVU422,
>  					      CHAMELIUM_CHECK_CHECKERBOARD, 1);
> 
> +		igt_describe(test_display_planes_random_desc);
>  		connector_subtest("hdmi-cmp-planes-random", HDMIA)
>  			test_display_planes_random(&data, port,
>  						   CHAMELIUM_CHECK_CHECKERBOARD);
> 
> +		igt_describe(test_display_frame_dump_desc);
>  		connector_subtest("hdmi-frame-dump", HDMIA)
>  			test_display_frame_dump(&data, port);
> 
> +		igt_describe(test_mode_timings_desc);
>  		connector_subtest("hdmi-mode-timings", HDMIA)
>  			test_mode_timings(&data, port);
> 
> +		igt_describe(test_display_audio_desc);
>  		connector_subtest("hdmi-audio", HDMIA)
>  			test_display_audio(&data, port, "HDMI",
>  					   TEST_EDID_HDMI_AUDIO);
> 
> +		igt_describe(test_display_audio_edid_desc);
>  		connector_subtest("hdmi-audio-edid", HDMIA)
>  			test_display_audio_edid(&data, port,
>  						TEST_EDID_HDMI_AUDIO);
> 
> +		igt_describe(test_display_aspect_ratio_desc);
>  		connector_subtest("hdmi-aspect-ratio", HDMIA)
>  			test_display_aspect_ratio(&data, port);
>  	}
> 
> +	igt_describe("VGA tests");
>  	igt_subtest_group {
>  		igt_fixture {
>  			require_connector_present(
>  			    &data, DRM_MODE_CONNECTOR_VGA);
>  		}
> 
> +		igt_describe(test_basic_hotplug_desc);
>  		connector_subtest("vga-hpd", VGA)
>  			test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_VGA);
> 
> +		igt_describe(test_basic_hotplug_desc);
>  		connector_subtest("vga-hpd-fast", VGA)
>  			test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST);
> 
> +		igt_describe(test_edid_read_desc);
>  		connector_subtest("vga-edid-read", VGA) {
>  			test_edid_read(&data, port, TEST_EDID_BASE);
>  			test_edid_read(&data, port, TEST_EDID_ALT);
>  		}
> 
> +		igt_describe(test_suspend_resume_hpd_desc);
>  		connector_subtest("vga-hpd-after-suspend", VGA)
>  			test_suspend_resume_hpd(&data, port,
>  						SUSPEND_STATE_MEM,
>  						SUSPEND_TEST_NONE);
> 
> +		igt_describe(test_suspend_resume_hpd_desc);
>  		connector_subtest("vga-hpd-after-hibernate", VGA)
>  			test_suspend_resume_hpd(&data, port,
>  						SUSPEND_STATE_DISK,
>  						SUSPEND_TEST_DEVICES);
> 
> +		igt_describe(test_hpd_without_ddc_desc);
>  		connector_subtest("vga-hpd-without-ddc", VGA)
>  			test_hpd_without_ddc(&data, port);
> 
> +		igt_describe(test_display_all_modes_desc);
>  		connector_subtest("vga-frame-dump", VGA)
>  			test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
>  					       CHAMELIUM_CHECK_ANALOG, 1);
>  	}
> 
> +	igt_describe("Tests that operate on all connectors");
>  	igt_subtest_group {
> +		igt_describe(test_suspend_resume_hpd_common_desc);
>  		igt_subtest("common-hpd-after-suspend")
>  			test_suspend_resume_hpd_common(&data,
>  						       SUSPEND_STATE_MEM,
>  						       SUSPEND_TEST_NONE);
> 
> +		igt_describe(test_suspend_resume_hpd_common_desc);
>  		igt_subtest("common-hpd-after-hibernate")
>  			test_suspend_resume_hpd_common(&data,
>  						       SUSPEND_STATE_DISK,
> --
> 2.23.0
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions
  2019-09-06 14:23 ` [igt-dev] [PATCH i-g-t] " Martin Peres
@ 2019-09-10 12:27   ` Ser, Simon
  2019-09-11  6:45     ` Martin Peres
  0 siblings, 1 reply; 7+ messages in thread
From: Ser, Simon @ 2019-09-10 12:27 UTC (permalink / raw)
  To: igt-dev, martin.peres

On Fri, 2019-09-06 at 17:23 +0300, Martin Peres wrote:
> 
> On 05/09/2019 16:36, Simon Ser wrote:
> > Add test descriptions to all subtest groups and subtests.
> > 
> > Each connector type has its own group, with a different set of
> > subtests.
> > To avoid duplication, descriptions are defined at the test function
> > level.
> > 
> > Signed-off-by: Simon Ser <simon.ser@intel.com>
> > ---
> >  tests/kms_chamelium.c | 121
> > ++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 121 insertions(+)
> > 
> > diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
> > index 6b6292497cd7..fe3cbe57daf3 100644
> > --- a/tests/kms_chamelium.c
> > +++ b/tests/kms_chamelium.c
> > @@ -242,6 +242,9 @@ reset_state(data_t *data, struct chamelium_port
> > *port)
> >  	}
> >  }
> > 
> > +static const char test_basic_hotplug_desc[] =
> > +	"Check that we get uevents and updated connector status on "
> > +	"hotplug and unplug";
> >  static void
> >  test_basic_hotplug(data_t *data, struct chamelium_port *port, int
> > toggle_count)
> >  {
> > @@ -290,6 +293,8 @@ static void set_edid(data_t *data, struct
> > chamelium_port *port,
> >  	chamelium_port_set_edid(data->chamelium, port, data-
> > >edids[edid]);
> >  }
> > 
> > +static const char test_edid_read_desc[] = "Make sure reading a
> > simple EDID "
> > +					  "gives the correct blob";
> 
> Whitespace problem?

https://sr.ht/kd7t.png

I never understood why. My guess is that the "+" added by git-format-
patch and the "> " added when replying break the tabbed alignment.

Anyway, I find aligning things very annoying so this is a good excuse
to just format it like other descriptions with a single tab.

> Not sure if the description is clear-enough. How about "Make sure the
> reported EDID is the same as the screen's".

Good point. Changed to:

    "Make sure the EDID exposed by KMS is the same as the screen's"

> >  static void
> >  test_edid_read(data_t *data, struct chamelium_port *port, enum
> > test_edid edid)
> >  {
> > @@ -400,6 +405,9 @@ try_suspend_resume_hpd(data_t *data, struct
> > chamelium_port *port,
> >  	}
> >  }
> > 
> > +static const char test_suspend_resume_hpd_desc[] =
> > +	"Toggle HPD during suspend, check that uevents are sent and
> > connector "
> > +	"status is updated";
> >  static void
> >  test_suspend_resume_hpd(data_t *data, struct chamelium_port *port,
> >  			enum igt_suspend_state state,
> > @@ -418,6 +426,9 @@ test_suspend_resume_hpd(data_t *data, struct
> > chamelium_port *port,
> >  	igt_cleanup_hotplug(mon);
> >  }
> > 
> > +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";
> >  static void
> >  test_suspend_resume_hpd_common(data_t *data, enum
> > igt_suspend_state state,
> >  			       enum igt_suspend_test test)
> > @@ -442,6 +453,10 @@ test_suspend_resume_hpd_common(data_t *data,
> > enum igt_suspend_state state,
> >  	igt_cleanup_hotplug(mon);
> >  }
> > 
> > +static const char test_suspend_resume_edid_change_desc[] =
> > +	"Simulate a screen being unplugged and another screen being
> > plugged "
> > +	"during suspend, check that a uevent is sent and connector
> > status is "
> > +	"updated";
> >  static void
> >  test_suspend_resume_edid_change(data_t *data, struct
> > chamelium_port *port,
> >  				enum igt_suspend_state state,
> > @@ -600,6 +615,10 @@ static bool are_fallback_modes(const
> > drmModeModeInfo *modes, size_t modes_len)
> >  	return modes[0].hdisplay <= 1024 && modes[0].vdisplay <= 768;
> >  }
> > 
> > +static const char test_link_status_desc[] =
> > +	"Simulate a series of link failures, check we get a uevent each
> > time "
> > +	"with the link-status property set to BAD and the list of modes
> > "
> > +	"shrinks (or stays the same), until we reach fallback modes";
> >  static void
> >  test_link_status(data_t *data, struct chamelium_port *port)
> >  {
> > @@ -812,6 +831,9 @@ static void do_test_display(data_t *data,
> > struct chamelium_port *port,
> >  	igt_remove_fb(data->drm_fd, &fb);
> >  }
> > 
> > +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";
> 
> s/correct/have the expected CRC/.

Well, that's not quite right. Some tests check the CRC, some tests
download the frame to check it via CHAMELIUM_CHECK_CHECKERBOARD (e.g.
hdmi-cmp-nv12).

I didn't want to do more fine-grained descriptions, so I just went with
something vague enough.

> >  static void test_display_one_mode(data_t *data, struct
> > chamelium_port *port,
> >  				  uint32_t fourcc, enum chamelium_check
> > check,
> >  				  int count)
> > @@ -842,6 +864,9 @@ static void test_display_one_mode(data_t *data,
> > struct chamelium_port *port,
> >  	drmModeFreeConnector(connector);
> >  }
> > 
> > +static const char test_display_all_modes_desc[] =
> > +	"For each mode of the IGT base EDID, display and capture a few
> > "
> > +	"frames, then check captured frames are correct";
> 
> Ditto.
> 
> >  static void test_display_all_modes(data_t *data, struct
> > chamelium_port *port,
> >  				   uint32_t fourcc, enum
> > chamelium_check check,
> >  				   int count)
> > @@ -876,6 +901,10 @@ static void test_display_all_modes(data_t
> > *data, struct chamelium_port *port,
> >  	drmModeFreeConnector(connector);
> >  }
> > 
> > +static const char test_display_frame_dump_desc[] =
> > +	"For each mode of the IGT base EDID, display and capture a few
> > "
> > +	"frames, then check captured frames are pixel-by-pixel equal to
> > "
> > +	"sent frames";
> 
> "then download the frame and compare them bit-by-bit to the sent
> frames."

Ack

> >  static void
> >  test_display_frame_dump(data_t *data, struct chamelium_port *port)
> >  {
> > @@ -983,6 +1012,9 @@ static void check_mode(struct chamelium
> > *chamelium, struct chamelium_port *port,
> >  	igt_assert(video_params.vsync_polarity == mode_vsync_polarity);
> >  }
> > 
> > +static const char test_mode_timings_desc[] =
> > +	"For each mode of the IGT base EDID, perform a modeset and
> > check the "
> > +	"mode detected by the Chamelium receiver matches the mode we
> > set";
> >  static void test_mode_timings(data_t *data, struct chamelium_port
> > *port)
> >  {
> >  	igt_output_t *output;
> > @@ -1113,6 +1145,10 @@ static const struct edid
> > *get_aspect_ratio_edid(void)
> >  	return edid;
> >  }
> > 
> > +static const char test_display_aspect_ratio_desc[] =
> > +	"Pick a mode with a picture aspect-ratio, capture AVI
> > InfoFrames and "
> > +	"check the InfoFrame correctly includes the aspect-ratio and
> > VIC we "
> > +	"requested";
> 
> That might be a bit too much of details. How about "includes the
> relevant fields"?

Good point

> >  static void test_display_aspect_ratio(data_t *data, struct
> > chamelium_port *port)
> >  {
> >  	igt_output_t *output;
> > @@ -1825,6 +1861,9 @@ static bool check_audio_configuration(struct
> > alsa *alsa, snd_pcm_format_t format
> >  	return true;
> >  }
> > 
> > +static const char test_display_audio_desc[] =
> > +	"Playback various audio signals with various audio
> > formats/rates, "
> > +	"capture them and check they are correct";
> >  static void
> >  test_display_audio(data_t *data, struct chamelium_port *port,
> >  		   const char *audio_device, enum test_edid edid)
> > @@ -1914,6 +1953,9 @@ test_display_audio(data_t *data, struct
> > chamelium_port *port,
> >  	free(alsa);
> >  }
> > 
> > +static const char test_display_audio_edid_desc[] =
> > +	"Plug a connector with an EDID suitable for audio, check ALSA's
> > "
> > +	"EDID-Like Data reports the correct audio parameters";
> >  static void
> >  test_display_audio_edid(data_t *data, struct chamelium_port *port,
> >  			enum test_edid edid)
> > @@ -2327,6 +2369,9 @@ static void prepare_randomized_plane(data_t
> > *data,
> >  	igt_remove_fb(data->drm_fd, &pattern_fb);
> >  }
> > 
> > +static const char test_display_planes_random_desc[] =
> > +	"Setup a few overlay planes with random parameters, capture the
> > frame "
> > +	"and check it's correct";
> 
> "and check it matches the expected output."?

Ack

> >  static void test_display_planes_random(data_t *data,
> >  				       struct chamelium_port *port,
> >  				       enum chamelium_check check)
> > @@ -2460,6 +2505,8 @@ static void test_display_planes_random(data_t
> > *data,
> >  	igt_remove_fb(data->drm_fd, &result_fb);
> >  }
> > 
> > +static const char test_hpd_without_ddc_desc[] =
> > +	"Disable DDC on a VGA connector, check we still get a uevent on
> > hotplug";
> >  static void
> >  test_hpd_without_ddc(data_t *data, struct chamelium_port *port)
> >  {
> > @@ -2480,6 +2527,9 @@ test_hpd_without_ddc(data_t *data, struct
> > chamelium_port *port)
> >  	igt_cleanup_hotplug(mon);
> >  }
> > 
> > +static const char test_hpd_storm_detect_desc[] =
> > +	"Trigger a series of hotplugs in a very small timeframe to
> > simulate a"
> > +	"bad cable, check the kernel falls back to polling";
> 
> "falls back to polling to avoid an irq storm"

irq → hotplug

But yes, ack :)

> Thanks a lot for doing this! My comments are merely proposals for
> improvements, so feel free to land put my R-b even without changing
> anything.

Thanks for the suggestions!

> Martin
> 
> >  static void
> >  test_hpd_storm_detect(data_t *data, struct chamelium_port *port,
> > int width)
> >  {
> > @@ -2508,6 +2558,9 @@ test_hpd_storm_detect(data_t *data, struct
> > chamelium_port *port, int width)
> >  	igt_hpd_storm_reset(data->drm_fd);
> >  }
> > 
> > +static const char test_hpd_storm_disable_desc[] =
> > +	"Disable HPD storm detection, trigger a storm and check the
> > kernel "
> > +	"doesn't detect one";
> >  static void
> >  test_hpd_storm_disable(data_t *data, struct chamelium_port *port,
> > int width)
> >  {
> > @@ -2552,6 +2605,7 @@ static const struct edid *get_edid(enum
> > test_edid edid)
> > 
> >  static data_t data;
> > 
> > +IGT_TEST_DESCRIPTION("Tests requiring a Chamelium board");
> >  igt_main
> >  {
> >  	struct chamelium_port *port;
> > @@ -2580,46 +2634,56 @@ igt_main
> >  		igt_require(data.display.is_atomic);
> >  	}
> > 
> > +	igt_describe("DisplayPort tests");
> >  	igt_subtest_group {
> >  		igt_fixture {
> >  			require_connector_present(
> >  			    &data, DRM_MODE_CONNECTOR_DisplayPort);
> >  		}
> > 
> > +		igt_describe(test_basic_hotplug_desc);
> >  		connector_subtest("dp-hpd", DisplayPort)
> >  			test_basic_hotplug(&data, port,
> >  					   HPD_TOGGLE_COUNT_DP_HDMI);
> > 
> > +		igt_describe(test_basic_hotplug_desc);
> >  		connector_subtest("dp-hpd-fast", DisplayPort)
> >  			test_basic_hotplug(&data, port,
> >  					   HPD_TOGGLE_COUNT_FAST);
> > 
> > +		igt_describe(test_edid_read_desc);
> >  		connector_subtest("dp-edid-read", DisplayPort) {
> >  			test_edid_read(&data, port, TEST_EDID_BASE);
> >  			test_edid_read(&data, port, TEST_EDID_ALT);
> >  		}
> > 
> > +		igt_describe(test_suspend_resume_hpd_desc);
> >  		connector_subtest("dp-hpd-after-suspend", DisplayPort)
> >  			test_suspend_resume_hpd(&data, port,
> >  						SUSPEND_STATE_MEM,
> >  						SUSPEND_TEST_NONE);
> > 
> > +		igt_describe(test_suspend_resume_hpd_desc);
> >  		connector_subtest("dp-hpd-after-hibernate",
> > DisplayPort)
> >  			test_suspend_resume_hpd(&data, port,
> >  						SUSPEND_STATE_DISK,
> >  						SUSPEND_TEST_DEVICES);
> > 
> > +		igt_describe(test_hpd_storm_detect_desc);
> >  		connector_subtest("dp-hpd-storm", DisplayPort)
> >  			test_hpd_storm_detect(&data, port,
> >  					      HPD_STORM_PULSE_INTERVAL_
> > DP);
> > 
> > +		igt_describe(test_hpd_storm_disable_desc);
> >  		connector_subtest("dp-hpd-storm-disable", DisplayPort)
> >  			test_hpd_storm_disable(&data, port,
> >  					       HPD_STORM_PULSE_INTERVAL
> > _DP);
> > 
> > +		igt_describe(test_link_status_desc);
> >  		connector_subtest("dp-link-status", DisplayPort)
> >  			test_link_status(&data, port);
> > 
> > +		igt_describe(test_suspend_resume_edid_change_desc);
> >  		connector_subtest("dp-edid-change-during-suspend",
> > DisplayPort)
> >  			test_suspend_resume_edid_change(&data, port,
> >  							SUSPEND_STATE_M
> > EM,
> > @@ -2627,6 +2691,7 @@ igt_main
> >  							TEST_EDID_BASE,
> >  							TEST_EDID_ALT);
> > 
> > +		igt_describe(test_suspend_resume_edid_change_desc);
> >  		connector_subtest("dp-edid-change-during-hibernate",
> > DisplayPort)
> >  			test_suspend_resume_edid_change(&data, port,
> >  							SUSPEND_STATE_D
> > ISK,
> > @@ -2634,70 +2699,86 @@ igt_main
> >  							TEST_EDID_BASE,
> >  							TEST_EDID_ALT);
> > 
> > +		igt_describe(test_display_all_modes_desc);
> >  		connector_subtest("dp-crc-single", DisplayPort)
> >  			test_display_all_modes(&data, port,
> > DRM_FORMAT_XRGB8888,
> >  					       CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("dp-crc-fast", DisplayPort)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_XRGB8888,
> >  					      CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_all_modes_desc);
> >  		connector_subtest("dp-crc-multiple", DisplayPort)
> >  			test_display_all_modes(&data, port,
> > DRM_FORMAT_XRGB8888,
> >  					       CHAMELIUM_CHECK_CRC, 3);
> > 
> > +		igt_describe(test_display_frame_dump_desc);
> >  		connector_subtest("dp-frame-dump", DisplayPort)
> >  			test_display_frame_dump(&data, port);
> > 
> > +		igt_describe(test_mode_timings_desc);
> >  		connector_subtest("dp-mode-timings", DisplayPort)
> >  			test_mode_timings(&data, port);
> > 
> > +		igt_describe(test_display_audio_desc);
> >  		connector_subtest("dp-audio", DisplayPort)
> >  			test_display_audio(&data, port, "HDMI",
> >  					   TEST_EDID_DP_AUDIO);
> > 
> > +		igt_describe(test_display_audio_edid_desc);
> >  		connector_subtest("dp-audio-edid", DisplayPort)
> >  			test_display_audio_edid(&data, port,
> >  						TEST_EDID_DP_AUDIO);
> >  	}
> > 
> > +	igt_describe("HDMI tests");
> >  	igt_subtest_group {
> >  		igt_fixture {
> >  			require_connector_present(
> >  			    &data, DRM_MODE_CONNECTOR_HDMIA);
> >  		}
> > 
> > +		igt_describe(test_basic_hotplug_desc);
> >  		connector_subtest("hdmi-hpd", HDMIA)
> >  			test_basic_hotplug(&data, port,
> >  					   HPD_TOGGLE_COUNT_DP_HDMI);
> > 
> > +		igt_describe(test_basic_hotplug_desc);
> >  		connector_subtest("hdmi-hpd-fast", HDMIA)
> >  			test_basic_hotplug(&data, port,
> >  					   HPD_TOGGLE_COUNT_FAST);
> > 
> > +		igt_describe(test_edid_read_desc);
> >  		connector_subtest("hdmi-edid-read", HDMIA) {
> >  			test_edid_read(&data, port, TEST_EDID_BASE);
> >  			test_edid_read(&data, port, TEST_EDID_ALT);
> >  		}
> > 
> > +		igt_describe(test_suspend_resume_hpd_desc);
> >  		connector_subtest("hdmi-hpd-after-suspend", HDMIA)
> >  			test_suspend_resume_hpd(&data, port,
> >  						SUSPEND_STATE_MEM,
> >  						SUSPEND_TEST_NONE);
> > 
> > +		igt_describe(test_suspend_resume_hpd_desc);
> >  		connector_subtest("hdmi-hpd-after-hibernate", HDMIA)
> >  			test_suspend_resume_hpd(&data, port,
> >  						SUSPEND_STATE_DISK,
> >  						SUSPEND_TEST_DEVICES);
> > 
> > +		igt_describe(test_hpd_storm_detect_desc);
> >  		connector_subtest("hdmi-hpd-storm", HDMIA)
> >  			test_hpd_storm_detect(&data, port,
> >  					      HPD_STORM_PULSE_INTERVAL_
> > HDMI);
> > 
> > +		igt_describe(test_hpd_storm_disable_desc);
> >  		connector_subtest("hdmi-hpd-storm-disable", HDMIA)
> >  			test_hpd_storm_disable(&data, port,
> >  					       HPD_STORM_PULSE_INTERVAL
> > _HDMI);
> > 
> > +		igt_describe(test_suspend_resume_edid_change_desc);
> >  		connector_subtest("hdmi-edid-change-during-suspend",
> > HDMIA)
> >  			test_suspend_resume_edid_change(&data, port,
> >  							SUSPEND_STATE_M
> > EM,
> > @@ -2705,6 +2786,7 @@ igt_main
> >  							TEST_EDID_BASE,
> >  							TEST_EDID_ALT);
> > 
> > +		igt_describe(test_suspend_resume_edid_change_desc);
> >  		connector_subtest("hdmi-edid-change-during-hibernate",
> > HDMIA)
> >  			test_suspend_resume_edid_change(&data, port,
> >  							SUSPEND_STATE_D
> > ISK,
> > @@ -2712,157 +2794,196 @@ igt_main
> >  							TEST_EDID_BASE,
> >  							TEST_EDID_ALT);
> > 
> > +		igt_describe(test_display_all_modes_desc);
> >  		connector_subtest("hdmi-crc-single", HDMIA)
> >  			test_display_all_modes(&data, port,
> > DRM_FORMAT_XRGB8888,
> >  					       CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-crc-fast", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_XRGB8888,
> >  					      CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_all_modes_desc);
> >  		connector_subtest("hdmi-crc-multiple", HDMIA)
> >  			test_display_all_modes(&data, port,
> > DRM_FORMAT_XRGB8888,
> >  					       CHAMELIUM_CHECK_CRC, 3);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-crc-argb8888", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_ARGB8888,
> >  					      CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-crc-abgr8888", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_ABGR8888,
> >  					      CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-crc-xrgb8888", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_XRGB8888,
> >  					      CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-crc-xbgr8888", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_XBGR8888,
> >  					      CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-crc-rgb888", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_RGB888,
> >  					      CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-crc-bgr888", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_BGR888,
> >  					      CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-crc-rgb565", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_RGB565,
> >  					      CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-crc-bgr565", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_BGR565,
> >  					      CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-crc-argb1555", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_ARGB1555,
> >  					      CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-crc-xrgb1555", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_XRGB1555,
> >  					      CHAMELIUM_CHECK_CRC, 1);
> > 
> > +		igt_describe(test_display_planes_random_desc);
> >  		connector_subtest("hdmi-crc-planes-random", HDMIA)
> >  			test_display_planes_random(&data, port,
> >  						   CHAMELIUM_CHECK_CRC)
> > ;
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-cmp-nv12", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_NV12,
> >  					      CHAMELIUM_CHECK_CHECKERBO
> > ARD, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-cmp-nv16", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_NV16,
> >  					      CHAMELIUM_CHECK_CHECKERBO
> > ARD, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-cmp-nv21", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_NV21,
> >  					      CHAMELIUM_CHECK_CHECKERBO
> > ARD, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-cmp-nv61", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_NV61,
> >  					      CHAMELIUM_CHECK_CHECKERBO
> > ARD, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-cmp-yu12", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_YUV420,
> >  					      CHAMELIUM_CHECK_CHECKERBO
> > ARD, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-cmp-yu16", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_YUV422,
> >  					      CHAMELIUM_CHECK_CHECKERBO
> > ARD, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-cmp-yv12", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_YVU420,
> >  					      CHAMELIUM_CHECK_CHECKERBO
> > ARD, 1);
> > 
> > +		igt_describe(test_display_one_mode_desc);
> >  		connector_subtest("hdmi-cmp-yv16", HDMIA)
> >  			test_display_one_mode(&data, port,
> > DRM_FORMAT_YVU422,
> >  					      CHAMELIUM_CHECK_CHECKERBO
> > ARD, 1);
> > 
> > +		igt_describe(test_display_planes_random_desc);
> >  		connector_subtest("hdmi-cmp-planes-random", HDMIA)
> >  			test_display_planes_random(&data, port,
> >  						   CHAMELIUM_CHECK_CHEC
> > KERBOARD);
> > 
> > +		igt_describe(test_display_frame_dump_desc);
> >  		connector_subtest("hdmi-frame-dump", HDMIA)
> >  			test_display_frame_dump(&data, port);
> > 
> > +		igt_describe(test_mode_timings_desc);
> >  		connector_subtest("hdmi-mode-timings", HDMIA)
> >  			test_mode_timings(&data, port);
> > 
> > +		igt_describe(test_display_audio_desc);
> >  		connector_subtest("hdmi-audio", HDMIA)
> >  			test_display_audio(&data, port, "HDMI",
> >  					   TEST_EDID_HDMI_AUDIO);
> > 
> > +		igt_describe(test_display_audio_edid_desc);
> >  		connector_subtest("hdmi-audio-edid", HDMIA)
> >  			test_display_audio_edid(&data, port,
> >  						TEST_EDID_HDMI_AUDIO);
> > 
> > +		igt_describe(test_display_aspect_ratio_desc);
> >  		connector_subtest("hdmi-aspect-ratio", HDMIA)
> >  			test_display_aspect_ratio(&data, port);
> >  	}
> > 
> > +	igt_describe("VGA tests");
> >  	igt_subtest_group {
> >  		igt_fixture {
> >  			require_connector_present(
> >  			    &data, DRM_MODE_CONNECTOR_VGA);
> >  		}
> > 
> > +		igt_describe(test_basic_hotplug_desc);
> >  		connector_subtest("vga-hpd", VGA)
> >  			test_basic_hotplug(&data, port,
> > HPD_TOGGLE_COUNT_VGA);
> > 
> > +		igt_describe(test_basic_hotplug_desc);
> >  		connector_subtest("vga-hpd-fast", VGA)
> >  			test_basic_hotplug(&data, port,
> > HPD_TOGGLE_COUNT_FAST);
> > 
> > +		igt_describe(test_edid_read_desc);
> >  		connector_subtest("vga-edid-read", VGA) {
> >  			test_edid_read(&data, port, TEST_EDID_BASE);
> >  			test_edid_read(&data, port, TEST_EDID_ALT);
> >  		}
> > 
> > +		igt_describe(test_suspend_resume_hpd_desc);
> >  		connector_subtest("vga-hpd-after-suspend", VGA)
> >  			test_suspend_resume_hpd(&data, port,
> >  						SUSPEND_STATE_MEM,
> >  						SUSPEND_TEST_NONE);
> > 
> > +		igt_describe(test_suspend_resume_hpd_desc);
> >  		connector_subtest("vga-hpd-after-hibernate", VGA)
> >  			test_suspend_resume_hpd(&data, port,
> >  						SUSPEND_STATE_DISK,
> >  						SUSPEND_TEST_DEVICES);
> > 
> > +		igt_describe(test_hpd_without_ddc_desc);
> >  		connector_subtest("vga-hpd-without-ddc", VGA)
> >  			test_hpd_without_ddc(&data, port);
> > 
> > +		igt_describe(test_display_all_modes_desc);
> >  		connector_subtest("vga-frame-dump", VGA)
> >  			test_display_all_modes(&data, port,
> > DRM_FORMAT_XRGB8888,
> >  					       CHAMELIUM_CHECK_ANALOG,
> > 1);
> >  	}
> > 
> > +	igt_describe("Tests that operate on all connectors");
> >  	igt_subtest_group {
> > +		igt_describe(test_suspend_resume_hpd_common_desc);
> >  		igt_subtest("common-hpd-after-suspend")
> >  			test_suspend_resume_hpd_common(&data,
> >  						       SUSPEND_STATE_ME
> > M,
> >  						       SUSPEND_TEST_NON
> > E);
> > 
> > +		igt_describe(test_suspend_resume_hpd_common_desc);
> >  		igt_subtest("common-hpd-after-hibernate")
> >  			test_suspend_resume_hpd_common(&data,
> >  						       SUSPEND_STATE_DI
> > SK,
> > --
> > 2.23.0
> > 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions
  2019-09-10 12:27   ` Ser, Simon
@ 2019-09-11  6:45     ` Martin Peres
  2019-09-11 10:02       ` Ser, Simon
  0 siblings, 1 reply; 7+ messages in thread
From: Martin Peres @ 2019-09-11  6:45 UTC (permalink / raw)
  To: Ser, Simon, igt-dev

On 10/09/2019 15:27, Ser, Simon wrote:
> On Fri, 2019-09-06 at 17:23 +0300, Martin Peres wrote:
>>
>> On 05/09/2019 16:36, Simon Ser wrote:
>>>
>>> +static const char test_hpd_storm_detect_desc[] =
>>> +	"Trigger a series of hotplugs in a very small timeframe to
>>> simulate a"
>>> +	"bad cable, check the kernel falls back to polling";
>>
>> "falls back to polling to avoid an irq storm"
> 
> irq → hotplug

I really meant IRQ storm. That was the bug we got (a machine was slow as
heck because the connector was lose and the HW was sending thousands of
hotplug IRQs per second).

If you want to say hotplug IRQ storm, that can work too :)

Martin
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions
  2019-09-11  6:45     ` Martin Peres
@ 2019-09-11 10:02       ` Ser, Simon
  0 siblings, 0 replies; 7+ messages in thread
From: Ser, Simon @ 2019-09-11 10:02 UTC (permalink / raw)
  To: igt-dev, martin.peres

On Wed, 2019-09-11 at 09:45 +0300, Martin Peres wrote:
> On 10/09/2019 15:27, Ser, Simon wrote:
> > On Fri, 2019-09-06 at 17:23 +0300, Martin Peres wrote:
> > > On 05/09/2019 16:36, Simon Ser wrote:
> > > > +static const char test_hpd_storm_detect_desc[] =
> > > > +	"Trigger a series of hotplugs in a very small timeframe to
> > > > simulate a"
> > > > +	"bad cable, check the kernel falls back to polling";
> > > 
> > > "falls back to polling to avoid an irq storm"
> > 
> > irq → hotplug
> 
> I really meant IRQ storm. That was the bug we got (a machine was slow as
> heck because the connector was lose and the HW was sending thousands of
> hotplug IRQs per second).
> 
> If you want to say hotplug IRQ storm, that can work too :)

Userspace doesn't see IRQs. The IRQ storm won't be avoided, it will
really happen. What we want to avoid though is a storm of hotplug
uevents. Hence I still think "to avoid a hotplug uevent storm" is a
better wording :)

> Martin
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2019-09-11 10:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-05 13:36 [igt-dev] [PATCH i-g-t] tests/kms_chamelium: add test descriptions Simon Ser
2019-09-05 14:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-09-05 18:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-09-06 14:23 ` [igt-dev] [PATCH i-g-t] " Martin Peres
2019-09-10 12:27   ` Ser, Simon
2019-09-11  6:45     ` Martin Peres
2019-09-11 10:02       ` Ser, Simon

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.