tests/kms_chamelium: add test descriptions
PATCH 1/1 tests/kms_chamelium: add test descriptions
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.
--- tests/kms_chamelium.c | 121 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+)
tests/kms_chamelium.c +121 -0
@@ -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 formatreturn 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_mainigt_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_mainTEST_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_mainTEST_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_mainTEST_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_mainTEST_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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.BAT: success for tests/kms_chamelium: add test descriptions
== Series Details ==
== 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@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-kbl-7500u/igt@[email protected]
#### 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@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-glk-dsi/igt@[email protected]
* 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@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-skl-6770hq/igt@[email protected]
* 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@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-kbl-7500u/igt@[email protected]
* 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@[email protected]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-skl-6770hq/igt@[email protected]
* 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@[email protected]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-hsw-peppy/igt@[email protected]
- 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@[email protected]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-icl-u2/igt@[email protected]
* 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@[email protected]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/fi-icl-u3/igt@[email protected]
[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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.IGT: success for tests/kms_chamelium: add test descriptions
In reply to Simon Ser== Series Details ==
== 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@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb6/igt@[email protected]
* 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@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb2/igt@[email protected]
* 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@[email protected]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl7/igt@[email protected]
* 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@[email protected]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw7/igt@[email protected]
* 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@[email protected]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw4/igt@[email protected]
#### 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@[email protected]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb3/igt@[email protected]
* 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@[email protected]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb4/igt@[email protected]
* 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@[email protected]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-snb6/igt@[email protected]
* 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@[email protected]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw4/igt@[email protected]
* 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@[email protected]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl6/igt@[email protected]
* 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@[email protected]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb6/igt@[email protected]
* 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@[email protected]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl1/igt@[email protected]
* 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@[email protected]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-snb4/igt@[email protected]
* 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@[email protected]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw4/igt@[email protected]
* 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@[email protected]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-kbl3/igt@[email protected]
* 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@[email protected]
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb6/igt@[email protected]
* 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@[email protected]
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl7/igt@[email protected]
* 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@[email protected]
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-apl8/igt@[email protected]
#### 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@[email protected]
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb3/igt@[email protected]
* 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@[email protected]
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-iclb4/igt@[email protected]
* 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@[email protected]
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3421/shard-hsw7/igt@[email protected]
[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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Quoted 25 lines · Simon Ser
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 <[email protected]>--- tests/kms_chamelium.c | 121 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+)tests/kms_chamelium.c +3
-0@@ -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) {
tests/kms_chamelium.c static void set_edid(data_t *data, struct chamelium_port *port, · line 297
Quoted 5 lines
tests/kms_chamelium.c +2
-0@@ -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".
Quoted 46 lines
tests/kms_chamelium.c +14
-0static 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) {
tests/kms_chamelium.c static void do_test_display(data_t *data, struct chamelium_port *port, · line 836
Quoted 6 lines
tests/kms_chamelium.c +3
-0@@ -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/.
tests/kms_chamelium.c static void test_display_one_mode(data_t *data, struct chamelium_port *port, · line 869
Quoted 10 lines
tests/kms_chamelium.c +3
-0static 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.
tests/kms_chamelium.c static void test_display_all_modes(data_t *data, struct chamelium_port *port, · line 907
Quoted 11 lines
tests/kms_chamelium.c +4
-0static 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."
Quoted 14 lines
tests/kms_chamelium.c +3
-0static 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;
tests/kms_chamelium.c static const struct edid *get_aspect_ratio_edid(void) · line 1151
Quoted 7 lines
tests/kms_chamelium.c +4
-0@@ -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"?
Quoted 24 lines
tests/kms_chamelium.c +6
-0static 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 formatreturn 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)
tests/kms_chamelium.c static void prepare_randomized_plane(data_t *data, · line 2374
Quoted 6 lines
tests/kms_chamelium.c +3
-0@@ -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."?
Quoted 13 lines
tests/kms_chamelium.c +2
-0static 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) {
tests/kms_chamelium.c test_hpd_without_ddc(data_t *data, struct chamelium_port *port) · line 2532
Quoted 6 lines
tests/kms_chamelium.c +3
-0@@ -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
Quoted 379 lines
tests/kms_chamelium.c +71
-1static 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_mainigt_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_mainTEST_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_mainTEST_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_mainTEST_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_mainTEST_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, --
Quoted 2 lines
2.23.0
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Quoted 34 lines · Martin Peres
Quoted 32 lines · Simon Ser
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 <[email protected]>--- tests/kms_chamelium.c | 121 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+)tests/kms_chamelium.c +3
-0@@ -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)
{tests/kms_chamelium.c +0
-0@@ -290,6 +293,8 @@ static void set_edid(data_t *data, struct chamelium_port *port, chamelium_port_set_edid(data->chamelium, port, data-
Quoted 8 lines
tests/kms_chamelium.c static void set_edid(data_t *data, struct chamelium_port *port, · line 297
Quoted 6 lines
tests/kms_chamelium.c +1
-0>edids[edid]); } +static const char test_edid_read_desc[] = "Make sure reading asimple EDID "
tests/kms_chamelium.c +1
-0+"gives the correct blob" ;Whitespace problem?
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.
Quoted 2 lines
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"
Quoted 63 lines
Quoted 63 lines
static void
test_edid_read(data_t *data, structchamelium_port*port, enumtest_edidedid)
{tests/kms_chamelium.c +2
-0@@ -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 andconnector "
tests/kms_chamelium.c +3
-0+"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, structchamelium_port *port,igt_cleanup_hotplug (mon ); } +static const char test_suspend_resume_hpd_common_desc[] = + "Toggle HPD during suspend on all connectors, check thatuevents are "
tests/kms_chamelium.c +1
-0+"sent and connector status is updated" ; static void test_suspend_resume_hpd_common(data_t *data, enum
igt_suspend_statestate,tests/kms_chamelium.c +2
-0enum 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 beingplugged "
tests/kms_chamelium.c +1
-0+ "during suspend, check that a uevent is sent and connectorstatus is "
tests/kms_chamelium.c +1
-0+"updated" ; static void test_suspend_resume_edid_change(data_t *data, struct
chamelium_port*port,tests/kms_chamelium.c +2
-0enum 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 eachtime "
tests/kms_chamelium.c +1
-0+ "with the link-status property set to BAD and the list of modes"
tests/kms_chamelium.c +1
-0+"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); }
Quoted 6 lines
tests/kms_chamelium.c
Quoted 4 lines
tests/kms_chamelium.c +2
-0+static const char test_display_one_mode_desc[] = + "Pick the first mode of the IGT base EDID, display and capturea few "
tests/kms_chamelium.c +1
-0+"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.
Quoted 27 lines
Quoted 13 lines
static void test_display_one_mode(data_t *data, struct
chamelium_port*port,
uint32_tfourcc, enumchamelium_check
check,tests/kms_chamelium.c +2
-0int 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"
tests/kms_chamelium.c
Quoted 1 line
tests/kms_chamelium.c +1
-0+"frames, then check captured frames are correct" ;Ditto.
Quoted 10 lines
static void test_display_all_modes(data_t *data, struct
chamelium_port*port,
uint32_tfourcc, enumchamelium_checkcheck,tests/kms_chamelium.c +0
-0int count)@@ -876,6 +901,10 @@ static void test_display_all_modes(data_t *data, struct chamelium_port *port,drmModeFreeConnector (connector); }
Quoted 9 lines
tests/kms_chamelium.c static void test_display_all_modes(data_t *data, struct chamelium_port *port, · line 907
Quoted 6 lines
tests/kms_chamelium.c +2
-0+static const char test_display_frame_dump_desc[] = + "For each mode of the IGT base EDID, display and capture a few"
tests/kms_chamelium.c +1
-0+ "frames, then check captured frames are pixel-by-pixel equal to"
tests/kms_chamelium.c +1
-0+"sent frames" ;"then download the frame and compare them bit-by-bit to the sent frames."
Ack
Quoted 22 lines
Quoted 22 lines
static void
test_display_frame_dump(data_t *data, struct chamelium_port *port){tests/kms_chamelium.c +2
-0@@ -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 andcheck the "
tests/kms_chamelium.c +1
-0+ "mode detected by the Chamelium receiver matches the mode weset";
static void test_mode_timings(data_t *data, structchamelium_port
*port)
{tests/kms_chamelium.c +0
-0igt_output_t *output;@@ -1113,6 +1145,10 @@ static const struct edid *get_aspect_ratio_edid(void)return edid; }
Quoted 9 lines
tests/kms_chamelium.c static const struct edid *get_aspect_ratio_edid(void) · line 1151
Quoted 6 lines
tests/kms_chamelium.c +2
-0+static const char test_display_aspect_ratio_desc[] = + "Pick a mode with a picture aspect-ratio, capture AVIInfoFrames and "
tests/kms_chamelium.c +1
-0+ "check the InfoFrame correctly includes the aspect-ratio andVIC we "
tests/kms_chamelium.c +1
-0+"requested" ;That might be a bit too much of details. How about "includes the relevant fields"?
Good point
Quoted 33 lines
Quoted 33 lines
static void test_display_aspect_ratio(data_t *data, struct
chamelium_port*port)
{tests/kms_chamelium.c +0
-0igt_output_t *output;@@ -1825,6 +1861,9 @@ static bool check_audio_configuration(structalsa *alsa,
snd_pcm_format_tformattests/kms_chamelium.c +2
-0return true; } +static const char test_display_audio_desc[] = + "Playback various audio signals with various audioformats/rates, "
tests/kms_chamelium.c +3
-0+"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, structchamelium_port *port,free (alsa ); } +static const char test_display_audio_edid_desc[] = + "Plug a connector with an EDID suitable for audio, check ALSA's"
tests/kms_chamelium.c +1
-0+"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); }
Quoted 6 lines
tests/kms_chamelium.c static void prepare_randomized_plane(data_t *data, · line 2374
Quoted 4 lines
tests/kms_chamelium.c +2
-0+static const char test_display_planes_random_desc[] = + "Setup a few overlay planes with random parameters, capture theframe "
tests/kms_chamelium.c +1
-0+"and check it's correct" ;"and check it matches the expected output."?
Ack
Quoted 19 lines
Quoted 19 lines
static void test_display_planes_random(data_t *data,
tests/kms_chamelium.c +2
-0struct 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){tests/kms_chamelium.c +0
-0@@ -2480,6 +2527,9 @@ test_hpd_without_ddc(data_t *data, struct chamelium_port *port)igt_cleanup_hotplug (mon ); }
Quoted 6 lines
tests/kms_chamelium.c test_hpd_without_ddc(data_t *data, struct chamelium_port *port) · line 2532
Quoted 4 lines
tests/kms_chamelium.c +2
-0+static const char test_hpd_storm_detect_desc[] = + "Trigger a series of hotplugs in a very small timeframe tosimulate a"
tests/kms_chamelium.c +1
-0+"bad cable, check the kernel falls back to polling" ;"falls back to polling to avoid an irq storm"
irq → hotplug
But yes, ack :)
Quoted 3 lines
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!
Quoted 434 lines
Martin
Quoted 432 lines
static void
test_hpd_storm_detect(data_t *data, structchamelium_port*port,
int width)
{tests/kms_chamelium.c +2
-0@@ -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 thekernel "
tests/kms_chamelium.c +1
-0+"doesn't detect one" ; static void test_hpd_storm_disable(data_t *data, struct chamelium_port *port,int width)
{tests/kms_chamelium.c +1
-0@@ -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 {tests/kms_chamelium.c +10
-0struct chamelium_port *port;@@ -2580,46 +2634,56 @@ igt_mainigt_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)tests/kms_chamelium.c +0
-0test_suspend_resume_edid_change (&data, port, SUSPEND_STATE_MEM,
tests/kms_chamelium.c +1
-0@@ -2627,6 +2691,7 @@ igt_mainTEST_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,tests/kms_chamelium.c +15
-0@@ -2634,70 +2699,86 @@ igt_mainTEST_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);tests/kms_chamelium.c +1
-0+igt_describe (test_suspend_resume_edid_change_desc); connector_subtest("hdmi-edid-change-during-suspend",HDMIA)
tests/kms_chamelium.c +0
-0test_suspend_resume_edid_change (&data, port, SUSPEND_STATE_MEM,
tests/kms_chamelium.c +1
-0@@ -2705,6 +2786,7 @@ igt_mainTEST_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,tests/kms_chamelium.c +36
-0@@ -2712,157 +2794,196 @@ igt_mainTEST_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);tests/kms_chamelium.c +2
-0} +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_NON
E);
Quoted 8 lines
Quoted 8 lines
tests/kms_chamelium.c +1
-0+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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Quoted 4 lines · Simon
Quoted 3 lines · Martin Peres
Quoted 1 line · Simon Ser
Quoted 8 lines
Quoted 6 lines
tests/kms_chamelium.c test_hpd_without_ddc(data_t *data, struct chamelium_port *port) · line 2532
Quoted 4 lines
(quoted diff) +2
-0+static const char test_hpd_storm_detect_desc[] = + "Trigger a series of hotplugs in a very small timeframe tosimulate a"
tests/kms_chamelium.c +1
-0+"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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Quoted 10 lines · Martin Peres
Quoted 9 lines · Simon
Quoted 7 lines · Martin Peres
tests/kms_chamelium.c test_hpd_without_ddc(data_t *data, struct chamelium_port *port) · line 2532
Quoted 4 lines · Simon Ser
(quoted diff) +2
-0+static const char test_hpd_storm_detect_desc[] = + "Trigger a series of hotplugs in a very small timeframe tosimulate a"
tests/kms_chamelium.c +1
-0+"bad cable, check the kernel falls back to polling" ;"falls back to polling to avoid an irq storm"
Quoted 7 lines
Quoted 1 line
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 :)
Quoted 1 line
Martin
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev