tests/kms_lease: IGT test Cleanup
v7 cover tests/kms_lease: IGT test Cleanup
Convert all possible subtests to dynamic and sanitize the system state before starting/exiting the subtest.
Mohammed Thasleem (2):
tests/kms_lease: Create dynamic subtests
tests/kms_lease: Test Cleanup
tests/kms_lease.c | 233 +++++++++++++++++++++------------------------- 1 file changed, 104 insertions(+), 129 deletions(-)
Signature · 1 line
2.25.1
PATCH v7 1/2 tests/kms_lease: Create dynamic subtests
Modified tests/kms_lease to include dynamic test cases.
v2: Updated dynamic test cases to all test cases.
v3: Removed dynamic test for which it's not required.
v4: Moved content of for loop in to igt_dynamic.
v5: Minor changes.
v6: Removed run_test which is not required.
v7: Minor changes.
--- tests/kms_lease.c | 55 ++++++++++++++--------------------------------- 1 file changed, 16 insertions(+), 39 deletions(-)
tests/kms_lease.c +16 -39
@@ -808,42 +808,6 @@ static void lease_invalid_plane(data_t *data)assert_unleased (ret); } - -static void run_test (data_t *data,void (*testfunc)(data_t *)) -{ -lease_t *master = &data->master; -igt_display_t *display = &master->display; -igt_output_t *output; -enum pipe p; -unsigned int valid_tests =0 ; - -for_each_pipe_with_valid_output (display, p, output) { -igt_info ("Beginning %s on pipe %s, connector %s\n" , -igt_subtest_name (), -kmstest_pipe_name (p), -igt_output_name (output)); - - data->pipe = p; - data->crtc_id =pipe_to_crtc_id (display, p); - data->connector_id = output->id; - data->plane_id = -igt_pipe_get_plane_type (&data->master.display.pipes[data->pipe], -DRM_PLANE_TYPE_PRIMARY )->drm_plane->plane_id; - -testfunc (data); - -igt_info ("\n%s on pipe %s, connector %s: PASSED\n\n" , -igt_subtest_name (), -kmstest_pipe_name (p), -igt_output_name (output)); - - valid_tests++; - } - -igt_require_f (valid_tests, -"no valid crtc/connector combinations found\n" ); -} -#define assert_double_id_err (ret) \ igt_assert_f((ret) == -EBUSY || (ret) == -ENOSPC, \ "wrong return code %i, %s\n", ret, \
@@ -1218,6 +1182,9 @@ static void lease_uevent(data_t *data) igt_main {data_t data; +igt_output_t *output; +igt_display_t *display = &data.master.display; + const struct { const char *name; void (*func)(data_t *);
@@ -1249,14 +1216,24 @@ igt_main igt_fixture { data.master.fd =drm_open_driver_master (DRIVER_ANY );kmstest_set_vt_graphics_mode (); -igt_display_require (&data.master.display, data.master.fd); +igt_display_require (display, data.master.fd); }for (f = funcs; f->name; f++) {igt_describe (f->desc); - igt_subtest_f("%s", f->name) { -run_test (&data, f->func); + igt_subtest_with_dynamic_f("%s", f->name) { +for_each_pipe_with_valid_output (display, data.pipe, output) { +igt_dynamic_f ("pipe-%s-%s" ,kmstest_pipe_name (data.pipe), + igt_output_name(output)) { + data.crtc_id =pipe_to_crtc_id (display, data.pipe); + data.connector_id = output->id; + data.plane_id = +igt_pipe_get_plane_type (&data.master.display.pipes[data.pipe], +DRM_PLANE_TYPE_PRIMARY )->drm_plane->plane_id; + f->func (&data); + } + } } }
Signature · 1 line
2.25.1
PATCH v7 2/2 tests/kms_lease: Test Cleanup
In reply to Mohammed ThasleemSanitize the system state before starting the subtest.
v2: Minor changes.
v3: Moved display reset and commit in to igt_subtest_with_dynamic_f.
v4: Separated display and non-display subsets.
v5: Removed pipe_to_crtc_id and crtc_id_to_pipe.
--- tests/kms_lease.c | 200 +++++++++++++++++++++++----------------------- 1 file changed, 99 insertions(+), 101 deletions(-)
tests/kms_lease.c +99 -101
@@ -64,22 +64,6 @@ typedef struct {uint32_t plane_id; } data_t; -static uint32_t pipe_to_crtc_id (igt_display_t *display,enum pipe pipe) -{ -return display->pipes[pipe].crtc_id; -} - -static enum pipe crtc_id_to_pipe (igt_display_t *display,uint32_t crtc_id) -{ -enum pipe pipe; - -for_each_pipe (display, pipe) { -if (display->pipes[pipe].crtc_id == crtc_id) -return pipe; - } -return -1 ; -} -static igt_output_t *connector_id_to_output (igt_display_t *display,uint32_t connector_id) {drmModeConnector connector;
@@ -88,12 +72,12 @@ static igt_output_t *connector_id_to_output(igt_display_t *display, uint32_t conreturn igt_output_from_connector (display, &connector); } -static int prepare_crtc (lease_t *lease,uint32_t connector_id,uint32_t crtc_id) +static int prepare_crtc (lease_t *lease,data_t *data) {drmModeModeInfo *mode;igt_display_t *display = &lease->display; -igt_output_t *output =connector_id_to_output (display, connector_id); -enum pipe pipe =crtc_id_to_pipe (display, crtc_id); +igt_output_t *output =connector_id_to_output (display, data->connector_id); +enum pipe pipe = data->pipe;igt_plane_t *primary;int ret;
@@ -136,7 +120,7 @@ static void cleanup_crtc(lease_t *lease, igt_output_t *output) primary =igt_output_get_plane_type (output,DRM_PLANE_TYPE_PRIMARY );igt_plane_set_fb (primary,NULL ); -igt_output_set_pipe (output,PIPE_ANY ); +igt_output_set_pipe (output,PIPE_NONE );igt_display_commit (display); }
@@ -238,7 +222,7 @@ static void simple_lease(data_t *data)igt_display_require (&lease.display, lease.fd);/* Set a mode on the leased output */ -igt_assert_eq (0 ,prepare_crtc (&lease, data->connector_id, data->crtc_id)); +igt_assert_eq (0 ,prepare_crtc (&lease, data));/* Paint something attractive */ paint_fb(lease.fd, &lease.primary_fb, "simple_lease",
@@ -266,7 +250,6 @@ static void page_flip_implicit_plane(data_t *data)drmModePlaneRes *plane_resources;uint32_t wrong_plane_id =0 ;int i; -enum pipe pipe;igt_display_t *display;/* find a plane which isn't the primary one for us */
@@ -292,7 +275,7 @@ static void page_flip_implicit_plane(data_t *data)drmSetClientCap (data->master.fd,DRM_CLIENT_CAP_UNIVERSAL_PLANES ,1 );/* Set a mode on the leased output */ -igt_assert_eq (0 ,prepare_crtc (&data->master, data->connector_id, data->crtc_id)); +igt_assert_eq (0 ,prepare_crtc (&data->master, data));/* sanity check */ do_or_die(drmModePageFlip(data->master.fd, data->crtc_id,
@@ -300,10 +283,9 @@ static void page_flip_implicit_plane(data_t *data) 0, NULL)); display = &data->master.display; - pipe =crtc_id_to_pipe (display, data->crtc_id);igt_wait_for_vblank (data->master.fd, - display->pipes[pipe].crtc_offset); + display->pipes[data->pipe].crtc_offset); do_or_die(drmModePageFlip(mcl.fd, data->crtc_id, data->master.primary_fb.fb_id,
@@ -313,10 +295,8 @@ static void page_flip_implicit_plane(data_t *data) object_ids[mcl.object_count++] = wrong_plane_id;do_or_die (create_lease (data->master.fd, &mcl)); - pipe =crtc_id_to_pipe (display, data->crtc_id); -igt_wait_for_vblank (data->master.fd, - display->pipes[pipe].crtc_offset); + display->pipes[data->pipe].crtc_offset); igt_assert_eq(drmModePageFlip(mcl.fd, data->crtc_id, data->master.primary_fb.fb_id,
@@ -363,7 +343,7 @@ static void setcrtc_implicit_plane(data_t *data)drmSetClientCap (data->master.fd,DRM_CLIENT_CAP_UNIVERSAL_PLANES ,1 );/* Set a mode on the leased output */ -igt_assert_eq (0 ,prepare_crtc (&data->master, data->connector_id, data->crtc_id)); +igt_assert_eq (0 ,prepare_crtc (&data->master, data));/* sanity check */ do_or_die(drmModeSetCrtc(data->master.fd, data->crtc_id, -1,
@@ -404,7 +384,7 @@ static void cursor_implicit_plane(data_t *data)drmSetClientCap (data->master.fd,DRM_CLIENT_CAP_UNIVERSAL_PLANES ,1 );/* Set a mode on the leased output */ -igt_assert_eq (0 ,prepare_crtc (&data->master, data->connector_id, data->crtc_id)); +igt_assert_eq (0 ,prepare_crtc (&data->master, data));/* sanity check */ do_or_die (drmModeSetCursor (data->master.fd, data->crtc_id,0 ,0 ,0 ));
@@ -642,8 +622,8 @@ static void lease_unleased_crtc(data_t *data)for_each_pipe (&data->master.display, p) {if (bad_crtc_id !=0 )break ; -if (pipe_to_crtc_id (&data->master.display, p) != data->crtc_id) - bad_crtc_id =pipe_to_crtc_id (&data->master.display, p); +if (data->master.display.pipes[p].crtc_id != data->crtc_id) + bad_crtc_id = data->master.display.pipes[p].crtc_id; }/* Give up if there isn't another crtc */
@@ -729,7 +709,7 @@ static void lease_revoke(data_t *data)igt_assert_eq (revoke_lease (data->master.fd, &mrl),0 );/* Try to use the leased objects */ - ret =prepare_crtc (&lease, data->connector_id, data->crtc_id); + ret =prepare_crtc (&lease, data);/* Ensure that the expected error is returned */ igt_assert_eq (ret, -ENOENT );
@@ -1185,83 +1165,101 @@ igt_mainigt_output_t *output;igt_display_t *display = &data.master.display; -const struct { -const char *name; -void (*func)(data_t *); -const char *desc; - } funcs[] = { - {"simple_lease" , simple_lease,"Check if create lease ioctl call works" }, - {"empty_lease" , empty_lease,"Check that creating an empty lease works" }, - {"lessee_list" , lessee_list,"Check if listed lease is same as created one" }, - {"lease_get" , lease_get,"Tests getting the required contents of a lease" }, - {"lease_unleased_connector" , lease_unleased_connector,"Negative test by trying to" -" use an unleased connector " }, - {"lease_unleased_crtc" , lease_unleased_crtc,"Negative test by trying to use an unleased crtc" }, - {"lease_revoke" , lease_revoke,"Tests revocation of lease" }, - {"lease_again" , lease_again,"Tests leasing objects more than once" }, - {"lease_invalid_connector" , lease_invalid_connector,"Tests leasing an invalid connector" }, - {"lease_invalid_crtc" , lease_invalid_crtc,"Tests leasing an invalid crtc" }, - {"lease_invalid_plane" , lease_invalid_plane,"Tests leasing an invalid plane" }, - {"page_flip_implicit_plane" , page_flip_implicit_plane,"Negative test by using a " -"non-primary plane with the page flip ioctl" }, - {"setcrtc_implicit_plane" , setcrtc_implicit_plane,"Negative test by using a " -"non-primary plane with the setcrtc ioctl" }, - {"cursor_implicit_plane" , cursor_implicit_plane,"Negative test by using a non-primary" -" plane with setcursor ioctl" }, - {"atomic_implicit_crtc" , atomic_implicit_crtc,"Negative test by using a different" -" crtc with atomic ioctl" }, - { } - }, *f; - igt_fixture { data.master.fd =drm_open_driver_master (DRIVER_ANY );kmstest_set_vt_graphics_mode ();igt_display_require (display, data.master.fd); } -for (f = funcs; f->name; f++) { - -igt_describe (f->desc); - igt_subtest_with_dynamic_f("%s", f->name) { -for_each_pipe_with_valid_output (display, data.pipe, output) { -igt_dynamic_f ("pipe-%s-%s" ,kmstest_pipe_name (data.pipe), - igt_output_name(output)) { - data.crtc_id =pipe_to_crtc_id (display, data.pipe); - data.connector_id = output->id; - data.plane_id = -igt_pipe_get_plane_type (&data.master.display.pipes[data.pipe], -DRM_PLANE_TYPE_PRIMARY )->drm_plane->plane_id; - f->func (&data); +/*Display dependent subtests*/ + igt_subtest_group { + +const struct { +const char *name; +void (*func)(data_t *); +const char *desc; + } funcs[] = { + {"simple_lease" , simple_lease,"Check if create lease ioctl call works" }, + {"empty_lease" , empty_lease,"Check that creating an empty lease works" }, + {"lessee_list" , lessee_list,"Check if listed lease is same as created one" }, + {"lease_get" , lease_get,"Tests getting the required contents of a lease" }, + {"lease_unleased_connector" , lease_unleased_connector,"Negative test by trying to" +" use an unleased connector " }, + {"lease_unleased_crtc" , lease_unleased_crtc,"Negative test by trying to use an unleased crtc" }, + {"lease_revoke" , lease_revoke,"Tests revocation of lease" }, + {"lease_again" , lease_again,"Tests leasing objects more than once" }, + {"lease_invalid_connector" , lease_invalid_connector,"Tests leasing an invalid connector" }, + {"lease_invalid_crtc" , lease_invalid_crtc,"Tests leasing an invalid crtc" }, + {"lease_invalid_plane" , lease_invalid_plane,"Tests leasing an invalid plane" }, + {"page_flip_implicit_plane" , page_flip_implicit_plane,"Negative test by using a " +"non-primary plane with the page flip ioctl" }, + {"setcrtc_implicit_plane" , setcrtc_implicit_plane,"Negative test by using a " +"non-primary plane with the setcrtc ioctl" }, + {"cursor_implicit_plane" , cursor_implicit_plane,"Negative test by using a non-primary" +" plane with setcursor ioctl" }, + {"atomic_implicit_crtc" , atomic_implicit_crtc,"Negative test by using a different" +" crtc with atomic ioctl" }, + { } + }, *f; + +igt_fixture +igt_display_require_output (display ); + +for (f = funcs; f->name; f++) { + +igt_describe (f->desc); + igt_subtest_with_dynamic_f("%s", f->name) { +for_each_pipe_with_valid_output (display, data.pipe, output) { +igt_dynamic_f ("pipe-%s-%s" ,kmstest_pipe_name (data.pipe), + igt_output_name(output)) { +igt_display_reset (display); +igt_display_commit (display); + data.crtc_id = display->pipes[data.pipe].crtc_id; + data.connector_id = output->id; + data.plane_id = +igt_pipe_get_plane_type (&data.master.display.pipes[data.pipe], +DRM_PLANE_TYPE_PRIMARY )->drm_plane->plane_id; + f->func (&data); + } } } } } -igt_describe ("Tests error handling while creating invalid corner-cases for " -"create-lease ioctl" ); - igt_subtest("invalid-create-leases") -invalid_create_leases (&data); - -igt_describe ("Tests that possible_crtcs logically match between master and " -"lease, and that the values are correctly renumbered on the lease side." ); - igt_subtest("possible-crtcs-filtering") -possible_crtcs_filtering (&data); - -igt_describe ("Tests the drop/set_master interactions." ); - igt_subtest("master-vs-lease") -master_vs_lease (&data); - -igt_describe ("Tests that the 2nd master can only create leases while being active " -"master, and that leases on the first master don't prevent lease creation " -"for the 2nd master." ); - igt_subtest("multimaster-lease") -multimaster_lease (&data); - -igt_describe ("Tests the implicitly added planes." ); - igt_subtest("implicit-plane-lease") -implicit_plane_lease (&data); - -igt_describe ("Tests all the uevent cases" ); - igt_subtest("lease-uevent") -lease_uevent (&data); +/*Non-Display dependent subtests*/ + igt_subtest_group { + +igt_describe ("Tests error handling while creating invalid corner-cases for " +"create-lease ioctl" ); + igt_subtest("invalid-create-leases") +invalid_create_leases (&data); + +igt_describe ("Tests that possible_crtcs logically match between master and " +"lease, and that the values are correctly renumbered on the lease side." ); + igt_subtest("possible-crtcs-filtering") +possible_crtcs_filtering (&data); + +igt_describe ("Tests the drop/set_master interactions." ); + igt_subtest("master-vs-lease") +master_vs_lease (&data); + +igt_describe ("Tests that the 2nd master can only create leases while being active " +"master, and that leases on the first master don't prevent lease creation " +"for the 2nd master." ); + igt_subtest("multimaster-lease") +multimaster_lease (&data); + +igt_describe ("Tests the implicitly added planes." ); + igt_subtest("implicit-plane-lease") +implicit_plane_lease (&data); + +igt_describe ("Tests all the uevent cases" ); + igt_subtest("lease-uevent") +lease_uevent (&data); + } + + igt_fixture { +igt_display_fini (display); +close (data.master.fd); + } }
Signature · 1 line
2.25.1
Re: [igt-dev] [PATCH v7 2/2] tests/kms_lease: Test Cleanup
Quoted 27 lines · Mohammed Thasleem
Sanitize the system state before starting the subtest.
v2: Minor changes.
v3: Moved display reset and commit in toigt_subtest_with_dynamic_f.
v4: Separated display and non-display subsets.
v5: Removedpipe_to_crtc_idandcrtc_id_to_pipe.Signed-off-by Mohammed Thasleem <[email protected]>--- tests/kms_lease.c | 200 +++++++++++++++++++++++----------------------- 1 file changed, 99 insertions(+), 101 deletions(-)tests/kms_lease.c +0
-7@@ -64,22 +64,6 @@ typedef struct {uint32_t plane_id; } data_t; -static uint32_t pipe_to_crtc_id (igt_display_t *display,enum pipe pipe) -{ -return display->pipes[pipe].crtc_id; -} - -static enum pipe crtc_id_to_pipe (igt_display_t *display,uint32_t crtc_id) -{
tests/kms_lease.c typedef struct { · line 67
Quoted 10 lines
tests/kms_lease.c +0
-9-enum pipe pipe; - -for_each_pipe (display, pipe) { -if (display->pipes[pipe].crtc_id == crtc_id) -return pipe; - } -return -1 ; -} -static igt_output_t *connector_id_to_output (igt_display_t *display,uint32_t connector_id)
As mentioned in earlier revisions, you can drop this function & have the output in data (data->output)
Quoted 37 lines
tests/kms_lease.c +5
-5{drmModeConnector connector;@@ -88,12 +72,12 @@ static igt_output_t *connector_id_to_output(igt_display_t *display, uint32_t conreturn igt_output_from_connector (display, &connector); } -static int prepare_crtc (lease_t *lease,uint32_t connector_id,uint32_t crtc_id) +static int prepare_crtc (lease_t *lease,data_t *data) {drmModeModeInfo *mode;igt_display_t *display = &lease->display; -igt_output_t *output =connector_id_to_output (display, connector_id); -enum pipe pipe =crtc_id_to_pipe (display, crtc_id); +igt_output_t *output =connector_id_to_output (display, data->connector_id); +enum pipe pipe = data->pipe;igt_plane_t *primary;int ret;@@ -136,7 +120,7 @@ static void cleanup_crtc(lease_t *lease, igt_output_t *output) primary =igt_output_get_plane_type (output,DRM_PLANE_TYPE_PRIMARY );igt_plane_set_fb (primary,NULL ); -igt_output_set_pipe (output,PIPE_ANY ); +igt_output_set_pipe (output,PIPE_NONE );igt_display_commit (display); }@@ -238,7 +222,7 @@ static void simple_lease(data_t *data)igt_display_require (&lease.display, lease.fd);/* Set a mode on the leased output */ -igt_assert_eq (0 ,prepare_crtc (&lease, data->connector_id, data->crtc_id)); +igt_assert_eq (0 ,prepare_crtc (&lease, data));/* Paint something attractive */ paint_fb(lease.fd, &lease.primary_fb, "simple_lease",
tests/kms_lease.c static void page_flip_implicit_plane(data_t *data) · line 269
Quoted 4 lines
tests/kms_lease.c +0
-1@@ -266,7 +250,6 @@ static void page_flip_implicit_plane(data_t *data)drmModePlaneRes *plane_resources;uint32_t wrong_plane_id =0 ;int i; -enum pipe pipe;
As done in prepare_crtc(), use enum pipe pipe = data->pipe; to avoid code churn.
Quoted 13 lines
tests/kms_lease.c +1
-1igt_display_t *display;/* find a plane which isn't the primary one for us */ @@ -292,7 +275,7 @@ static void page_flip_implicit_plane(data_t *data)drmSetClientCap (data->master.fd,DRM_CLIENT_CAP_UNIVERSAL_PLANES ,1 );/* Set a mode on the leased output */ -igt_assert_eq (0 ,prepare_crtc (&data->master, data->connector_id, data->crtc_id)); +igt_assert_eq (0 ,prepare_crtc (&data->master, data));/* sanity check */ do_or_die(drmModePageFlip(data->master.fd, data->crtc_id,
tests/kms_lease.c static void page_flip_implicit_plane(data_t *data) · line 288
Quoted 8 lines
tests/kms_lease.c +1
-2@@ -300,10 +283,9 @@ static void page_flip_implicit_plane(data_t *data) 0, NULL)); display = &data->master.display; - pipe =crtc_id_to_pipe (display, data->crtc_id);igt_wait_for_vblank (data->master.fd, - display->pipes[pipe].crtc_offset); + display->pipes[data->pipe].crtc_offset);
Please check the above comment.
Quoted 95 lines
tests/kms_lease.c +6
-40do_or_die(drmModePageFlip(mcl.fd, data->crtc_id, data->master.primary_fb.fb_id,@@ -313,10 +295,8 @@ static void page_flip_implicit_plane(data_t *data) object_ids[mcl.object_count++] = wrong_plane_id;do_or_die (create_lease (data->master.fd, &mcl)); - pipe =crtc_id_to_pipe (display, data->crtc_id); -igt_wait_for_vblank (data->master.fd, - display->pipes[pipe].crtc_offset); + display->pipes[data->pipe].crtc_offset); igt_assert_eq(drmModePageFlip(mcl.fd, data->crtc_id, data->master.primary_fb.fb_id,@@ -363,7 +343,7 @@ static void setcrtc_implicit_plane(data_t *data)drmSetClientCap (data->master.fd,DRM_CLIENT_CAP_UNIVERSAL_PLANES ,1 );/* Set a mode on the leased output */ -igt_assert_eq (0 ,prepare_crtc (&data->master, data->connector_id, data->crtc_id)); +igt_assert_eq (0 ,prepare_crtc (&data->master, data));/* sanity check */ do_or_die(drmModeSetCrtc(data->master.fd, data->crtc_id, -1,@@ -404,7 +384,7 @@ static void cursor_implicit_plane(data_t *data)drmSetClientCap (data->master.fd,DRM_CLIENT_CAP_UNIVERSAL_PLANES ,1 );/* Set a mode on the leased output */ -igt_assert_eq (0 ,prepare_crtc (&data->master, data->connector_id, data->crtc_id)); +igt_assert_eq (0 ,prepare_crtc (&data->master, data));/* sanity check */ do_or_die (drmModeSetCursor (data->master.fd, data->crtc_id,0 ,0 ,0 ));@@ -642,8 +622,8 @@ static void lease_unleased_crtc(data_t *data)for_each_pipe (&data->master.display, p) {if (bad_crtc_id !=0 )break ; -if (pipe_to_crtc_id (&data->master.display, p) != data->crtc_id) - bad_crtc_id =pipe_to_crtc_id (&data->master.display, p); +if (data->master.display.pipes[p].crtc_id != data->crtc_id) + bad_crtc_id = data->master.display.pipes[p].crtc_id; }/* Give up if there isn't another crtc */ @@ -729,7 +709,7 @@ static void lease_revoke(data_t *data)igt_assert_eq (revoke_lease (data->master.fd, &mrl),0 );/* Try to use the leased objects */ - ret =prepare_crtc (&lease, data->connector_id, data->crtc_id); + ret =prepare_crtc (&lease, data);/* Ensure that the expected error is returned */ igt_assert_eq (ret, -ENOENT );@@ -1185,83 +1165,101 @@ igt_mainigt_output_t *output;igt_display_t *display = &data.master.display; -const struct { -const char *name; -void (*func)(data_t *); -const char *desc; - } funcs[] = { - {"simple_lease" , simple_lease,"Check if create lease ioctl call works" }, - {"empty_lease" , empty_lease,"Check that creating an empty lease works" }, - {"lessee_list" , lessee_list,"Check if listed lease is same as created one" }, - {"lease_get" , lease_get,"Tests getting the required contents of a lease" }, - {"lease_unleased_connector" , lease_unleased_connector,"Negative test by trying to" -" use an unleased connector " }, - {"lease_unleased_crtc" , lease_unleased_crtc,"Negative test by trying to use an unleased crtc" }, - {"lease_revoke" , lease_revoke,"Tests revocation of lease" }, - {"lease_again" , lease_again,"Tests leasing objects more than once" }, - {"lease_invalid_connector" , lease_invalid_connector,"Tests leasing an invalid connector" }, - {"lease_invalid_crtc" , lease_invalid_crtc,"Tests leasing an invalid crtc" }, - {"lease_invalid_plane" , lease_invalid_plane,"Tests leasing an invalid plane" }, - {"page_flip_implicit_plane" , page_flip_implicit_plane,"Negative test by using a " -"non-primary plane with the page flip ioctl" }, - {"setcrtc_implicit_plane" , setcrtc_implicit_plane,"Negative test by using a " -"non-primary plane with the setcrtc ioctl" }, - {"cursor_implicit_plane" , cursor_implicit_plane,"Negative test by using a non-primary" -" plane with setcursor ioctl" }, - {"atomic_implicit_crtc" , atomic_implicit_crtc,"Negative test by using a different" -" crtc with atomic ioctl" }, - { } - }, *f; - igt_fixture { data.master.fd =drm_open_driver_master (DRIVER_ANY );kmstest_set_vt_graphics_mode ();igt_display_require (display, data.master.fd); } -for (f = funcs; f->name; f++) { - -igt_describe (f->desc); - igt_subtest_with_dynamic_f("%s", f->name) {
tests/kms_lease.c igt_main · line 1174
Quoted 10 lines
tests/kms_lease.c +1
-9-for_each_pipe_with_valid_output (display, data.pipe, output) { -igt_dynamic_f ("pipe-%s-%s" ,kmstest_pipe_name (data.pipe), - igt_output_name(output)) { - data.crtc_id =pipe_to_crtc_id (display, data.pipe); - data.connector_id = output->id; - data.plane_id = -igt_pipe_get_plane_type (&data.master.display.pipes[data.pipe], -DRM_PLANE_TYPE_PRIMARY )->drm_plane->plane_id; - f->func (&data); +/*Display dependent subtests*/
---------^
Fix the single line comment style.
Quoted 38 lines
tests/kms_lease.c +38
-0+ igt_subtest_group { + +const struct { +const char *name; +void (*func)(data_t *); +const char *desc; + } funcs[] = { + {"simple_lease" , simple_lease,"Check if create lease ioctl call works" }, + {"empty_lease" , empty_lease,"Check that creating an empty lease works" }, + {"lessee_list" , lessee_list,"Check if listed lease is same as created one" }, + {"lease_get" , lease_get,"Tests getting the required contents of a lease" }, + {"lease_unleased_connector" , lease_unleased_connector,"Negative test by trying to" +" use an unleased connector " }, + {"lease_unleased_crtc" , lease_unleased_crtc,"Negative test by trying to use an unleased crtc" }, + {"lease_revoke" , lease_revoke,"Tests revocation of lease" }, + {"lease_again" , lease_again,"Tests leasing objects more than once" }, + {"lease_invalid_connector" , lease_invalid_connector,"Tests leasing an invalid connector" }, + {"lease_invalid_crtc" , lease_invalid_crtc,"Tests leasing an invalid crtc" }, + {"lease_invalid_plane" , lease_invalid_plane,"Tests leasing an invalid plane" }, + {"page_flip_implicit_plane" , page_flip_implicit_plane,"Negative test by using a " +"non-primary plane with the page flip ioctl" }, + {"setcrtc_implicit_plane" , setcrtc_implicit_plane,"Negative test by using a " +"non-primary plane with the setcrtc ioctl" }, + {"cursor_implicit_plane" , cursor_implicit_plane,"Negative test by using a non-primary" +" plane with setcursor ioctl" }, + {"atomic_implicit_crtc" , atomic_implicit_crtc,"Negative test by using a different" +" crtc with atomic ioctl" }, + { } + }, *f; + +igt_fixture +igt_display_require_output (display ); + +for (f = funcs; f->name; f++) { + +igt_describe (f->desc); + igt_subtest_with_dynamic_f("%s", f->name) { +for_each_pipe_with_valid_output (display, data.pipe, output) {
tests/kms_lease.c igt_main · line 1222
Quoted 10 lines
tests/kms_lease.c +10
-0+igt_dynamic_f ("pipe-%s-%s" ,kmstest_pipe_name (data.pipe), + igt_output_name(output)) { +igt_display_reset (display); +igt_display_commit (display); + data.crtc_id = display->pipes[data.pipe].crtc_id; + data.connector_id = output->id; + data.plane_id = +igt_pipe_get_plane_type (&data.master.display.pipes[data.pipe], +DRM_PLANE_TYPE_PRIMARY )->drm_plane->plane_id; + f->func (&data);
Also, having igt_*require() & igt_*skip*() inside the dynamic subtest is not recommended.
Instead, move these checks to before calling the igt_dynamic*();
Quoted 24 lines
tests/kms_lease.c +1
-18+ } } } } } -igt_describe ("Tests error handling while creating invalid corner-cases for " -"create-lease ioctl" ); - igt_subtest("invalid-create-leases") -invalid_create_leases (&data); - -igt_describe ("Tests that possible_crtcs logically match between master and " -"lease, and that the values are correctly renumbered on the lease side." ); - igt_subtest("possible-crtcs-filtering") -possible_crtcs_filtering (&data); - -igt_describe ("Tests the drop/set_master interactions." ); - igt_subtest("master-vs-lease") -master_vs_lease (&data); - -igt_describe ("Tests that the 2nd master can only create leases while being active " -"master, and that leases on the first master don't prevent lease creation " -"for the 2nd master." ); -igt_subtest ("multimaster-lease" )
tests/kms_lease.c igt_main · line 1229
Quoted 10 lines
tests/kms_lease.c +1
-9-multimaster_lease (&data); - -igt_describe ("Tests the implicitly added planes." ); - igt_subtest("implicit-plane-lease") -implicit_plane_lease (&data); - -igt_describe ("Tests all the uevent cases" ); - igt_subtest("lease-uevent") -lease_uevent (&data); +/*Non-Display dependent subtests*/
Display independent?
- Bhanu
Quoted 36 lines
tests/kms_lease.c +35
-0+ igt_subtest_group { + +igt_describe ("Tests error handling while creating invalid corner-cases for " +"create-lease ioctl" ); + igt_subtest("invalid-create-leases") +invalid_create_leases (&data); + +igt_describe ("Tests that possible_crtcs logically match between master and " +"lease, and that the values are correctly renumbered on the lease side." ); + igt_subtest("possible-crtcs-filtering") +possible_crtcs_filtering (&data); + +igt_describe ("Tests the drop/set_master interactions." ); + igt_subtest("master-vs-lease") +master_vs_lease (&data); + +igt_describe ("Tests that the 2nd master can only create leases while being active " +"master, and that leases on the first master don't prevent lease creation " +"for the 2nd master." ); + igt_subtest("multimaster-lease") +multimaster_lease (&data); + +igt_describe ("Tests the implicitly added planes." ); + igt_subtest("implicit-plane-lease") +implicit_plane_lease (&data); + +igt_describe ("Tests all the uevent cases" ); + igt_subtest("lease-uevent") +lease_uevent (&data); + } + + igt_fixture { +igt_display_fini (display); +close (data.master.fd); + } }
Patchwork
CI[igt-dev] ✓ Fi.CI.BAT: success for tests/kms_lease: IGT test Cleanup
In reply to Mohammed Thasleem== Series Details ==
== Series Details ==
Series: tests/kms_lease: IGT test Cleanup
URL : https://patchwork.freedesktop.org/series/107910/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12044 -> IGTPW_7701
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/index.html
Participating hosts (40 -> 33)
------------------------------
Missing (7): fi-rkl-11600 fi-hsw-4200u fi-ctg-p8600 fi-hsw-4770 bat-jsl-3 bat-dg2-10 fi-bdw-samus
Known issues
------------
Here are the changes found in IGTPW_7701 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@requests:
- fi-pnv-d510: [PASS][1] -> [DMESG-FAIL][2] ([i915#4528])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/fi-pnv-d510/igt@i915_selftest@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/fi-pnv-d510/igt@i915_selftest@[email protected]
* igt@kms_chamelium@common-hpd-after-suspend:
- fi-bdw-5557u: NOTRUN -> [SKIP][3] ([fdo#109271] / [fdo#111827])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/fi-bdw-5557u/igt@[email protected]
#### Possible fixes ####
* igt@gem_exec_suspend@basic-s3@smem:
- {bat-rplp-1}: [DMESG-WARN][4] ([i915#2867]) -> [PASS][5]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/bat-rplp-1/igt@gem_exec_suspend@[email protected]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/bat-rplp-1/igt@gem_exec_suspend@[email protected]
* igt@i915_selftest@live@gt_pm:
- bat-adlp-4: [DMESG-FAIL][6] ([i915#3987]) -> [PASS][7]
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/bat-adlp-4/igt@i915_selftest@live@gt_pm.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/bat-adlp-4/igt@i915_selftest@live@gt_pm.html
* igt@i915_suspend@basic-s3-without-i915:
- fi-bdw-5557u: [INCOMPLETE][8] ([i915#146] / [i915#6598]) -> [PASS][9]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/fi-bdw-5557u/igt@[email protected]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/fi-bdw-5557u/igt@[email protected]
#### Warnings ####
* igt@i915_selftest@live@hangcheck:
- bat-dg1-5: [DMESG-FAIL][10] ([i915#4957]) -> [DMESG-FAIL][11] ([i915#4494] / [i915#4957])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/bat-dg1-5/igt@i915_selftest@[email protected]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/bat-dg1-5/igt@i915_selftest@[email protected]
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#146]: https://gitlab.freedesktop.org/drm/intel/issues/146
[i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
[i915#3987]: https://gitlab.freedesktop.org/drm/intel/issues/3987
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4494]: https://gitlab.freedesktop.org/drm/intel/issues/4494
[i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
[i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957
[i915#6257]: https://gitlab.freedesktop.org/drm/intel/issues/6257
[i915#6380]: https://gitlab.freedesktop.org/drm/intel/issues/6380
[i915#6598]: https://gitlab.freedesktop.org/drm/intel/issues/6598
[i915#6670]: https://gitlab.freedesktop.org/drm/intel/issues/6670
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_6637 -> IGTPW_7701
CI-20190529: 20190529
CI_DRM_12044: 287ad23d60ce7aa8befbe8dd1fea6fb705bd08ac @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_7701: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/index.html
IGT_6637: a23e8aed0b54018339647d0817267431bd2b7075 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/index.html
Patchwork
CI[igt-dev] ✓ Fi.CI.IGT: success for tests/kms_lease: IGT test Cleanup
In reply to Mohammed Thasleem== Series Details ==
== Series Details ==
Series: tests/kms_lease: IGT test Cleanup
URL : https://patchwork.freedesktop.org/series/107910/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12044_full -> IGTPW_7701_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/index.html
Participating hosts (12 -> 8)
------------------------------
Missing (4): pig-skl-6260u pig-kbl-iris shard-rkl pig-glk-j5005
New tests
---------
New tests have been introduced between CI_DRM_12044_full and IGTPW_7701_full:
### New IGT tests (148) ###
* igt@kms_lease@atomic_implicit_crtc@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.13] s
* igt@kms_lease@atomic_implicit_crtc@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.40] s
* igt@kms_lease@atomic_implicit_crtc@pipe-a-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.07] s
* igt@kms_lease@atomic_implicit_crtc@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.07] s
* igt@kms_lease@atomic_implicit_crtc@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@atomic_implicit_crtc@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@atomic_implicit_crtc@pipe-b-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@atomic_implicit_crtc@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.00] s
* igt@kms_lease@atomic_implicit_crtc@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@atomic_implicit_crtc@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@atomic_implicit_crtc@pipe-c-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@atomic_implicit_crtc@pipe-d-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@cursor_implicit_plane@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.39] s
* igt@kms_lease@cursor_implicit_plane@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.60] s
* igt@kms_lease@cursor_implicit_plane@pipe-a-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.15] s
* igt@kms_lease@cursor_implicit_plane@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.21] s
* igt@kms_lease@cursor_implicit_plane@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.35] s
* igt@kms_lease@cursor_implicit_plane@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.19] s
* igt@kms_lease@cursor_implicit_plane@pipe-b-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.10] s
* igt@kms_lease@cursor_implicit_plane@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.14] s
* igt@kms_lease@cursor_implicit_plane@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.33] s
* igt@kms_lease@cursor_implicit_plane@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.22] s
* igt@kms_lease@cursor_implicit_plane@pipe-c-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.08] s
* igt@kms_lease@cursor_implicit_plane@pipe-d-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.08] s
* igt@kms_lease@empty_lease@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.12] s
* igt@kms_lease@empty_lease@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.39] s
* igt@kms_lease@empty_lease@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.07] s
* igt@kms_lease@empty_lease@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@empty_lease@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@empty_lease@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.00] s
* igt@kms_lease@empty_lease@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@empty_lease@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_again@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.13] s
* igt@kms_lease@lease_again@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.39] s
* igt@kms_lease@lease_again@pipe-a-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.08] s
* igt@kms_lease@lease_again@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.06] s
* igt@kms_lease@lease_again@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_again@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_again@pipe-b-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_again@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.00] s
* igt@kms_lease@lease_again@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_again@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_again@pipe-c-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_again@pipe-d-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_get@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.11] s
* igt@kms_lease@lease_get@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.39] s
* igt@kms_lease@lease_get@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_get@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_get@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_get@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_invalid_connector@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.41] s
* igt@kms_lease@lease_invalid_connector@pipe-a-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.14] s
* igt@kms_lease@lease_invalid_connector@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.07] s
* igt@kms_lease@lease_invalid_connector@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_invalid_connector@pipe-b-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_invalid_connector@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.00] s
* igt@kms_lease@lease_invalid_connector@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_invalid_connector@pipe-c-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_invalid_connector@pipe-d-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_invalid_crtc@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.12] s
* igt@kms_lease@lease_invalid_crtc@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.85] s
* igt@kms_lease@lease_invalid_crtc@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.07] s
* igt@kms_lease@lease_invalid_crtc@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_invalid_crtc@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_invalid_crtc@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.00] s
* igt@kms_lease@lease_invalid_crtc@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_invalid_crtc@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_invalid_plane@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.12] s
* igt@kms_lease@lease_invalid_plane@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.40] s
* igt@kms_lease@lease_invalid_plane@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.07] s
* igt@kms_lease@lease_invalid_plane@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_invalid_plane@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_invalid_plane@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.00] s
* igt@kms_lease@lease_invalid_plane@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_invalid_plane@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_revoke@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.20] s
* igt@kms_lease@lease_revoke@pipe-a-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.11] s
* igt@kms_lease@lease_revoke@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.08] s
* igt@kms_lease@lease_revoke@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_revoke@pipe-b-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.05] s
* igt@kms_lease@lease_revoke@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_revoke@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_revoke@pipe-c-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.05] s
* igt@kms_lease@lease_revoke@pipe-d-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.05] s
* igt@kms_lease@lease_unleased_connector@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.27] s
* igt@kms_lease@lease_unleased_connector@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.23] s
* igt@kms_lease@lease_unleased_connector@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.08] s
* igt@kms_lease@lease_unleased_connector@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.17] s
* igt@kms_lease@lease_unleased_connector@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_unleased_connector@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_unleased_connector@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.17] s
* igt@kms_lease@lease_unleased_connector@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_unleased_crtc@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.20] s
* igt@kms_lease@lease_unleased_crtc@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.19] s
* igt@kms_lease@lease_unleased_crtc@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.06] s
* igt@kms_lease@lease_unleased_crtc@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.10] s
* igt@kms_lease@lease_unleased_crtc@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lease_unleased_crtc@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lease_unleased_crtc@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.11] s
* igt@kms_lease@lease_unleased_crtc@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lessee_list@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.12] s
* igt@kms_lease@lessee_list@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.39] s
* igt@kms_lease@lessee_list@pipe-a-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.09] s
* igt@kms_lease@lessee_list@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.06] s
* igt@kms_lease@lessee_list@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lessee_list@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lessee_list@pipe-b-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lessee_list@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lessee_list@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.02] s
* igt@kms_lease@lessee_list@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lessee_list@pipe-c-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@lessee_list@pipe-d-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.01] s
* igt@kms_lease@page_flip_implicit_plane@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.42] s
* igt@kms_lease@page_flip_implicit_plane@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.58] s
* igt@kms_lease@page_flip_implicit_plane@pipe-a-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.17] s
* igt@kms_lease@page_flip_implicit_plane@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.25] s
* igt@kms_lease@page_flip_implicit_plane@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.34] s
* igt@kms_lease@page_flip_implicit_plane@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.20] s
* igt@kms_lease@page_flip_implicit_plane@pipe-b-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.11] s
* igt@kms_lease@page_flip_implicit_plane@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.18] s
* igt@kms_lease@page_flip_implicit_plane@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.33] s
* igt@kms_lease@page_flip_implicit_plane@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.24] s
* igt@kms_lease@page_flip_implicit_plane@pipe-c-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.11] s
* igt@kms_lease@page_flip_implicit_plane@pipe-d-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.10] s
* igt@kms_lease@setcrtc_implicit_plane@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.42] s
* igt@kms_lease@setcrtc_implicit_plane@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.64] s
* igt@kms_lease@setcrtc_implicit_plane@pipe-a-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.19] s
* igt@kms_lease@setcrtc_implicit_plane@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.22] s
* igt@kms_lease@setcrtc_implicit_plane@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.31] s
* igt@kms_lease@setcrtc_implicit_plane@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.21] s
* igt@kms_lease@setcrtc_implicit_plane@pipe-b-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.13] s
* igt@kms_lease@setcrtc_implicit_plane@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.16] s
* igt@kms_lease@setcrtc_implicit_plane@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.32] s
* igt@kms_lease@setcrtc_implicit_plane@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.20] s
* igt@kms_lease@setcrtc_implicit_plane@pipe-c-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.11] s
* igt@kms_lease@setcrtc_implicit_plane@pipe-d-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.12] s
* igt@kms_lease@simple_lease@pipe-a-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.70] s
* igt@kms_lease@simple_lease@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.92] s
* igt@kms_lease@simple_lease@pipe-a-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.27] s
* igt@kms_lease@simple_lease@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.24] s
* igt@kms_lease@simple_lease@pipe-b-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.50] s
* igt@kms_lease@simple_lease@pipe-b-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.50] s
* igt@kms_lease@simple_lease@pipe-b-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.16] s
* igt@kms_lease@simple_lease@pipe-b-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.15] s
* igt@kms_lease@simple_lease@pipe-c-dp-1:
- Statuses : 1 pass(s)
- Exec time: [0.49] s
* igt@kms_lease@simple_lease@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.47] s
* igt@kms_lease@simple_lease@pipe-c-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.17] s
* igt@kms_lease@simple_lease@pipe-d-hdmi-a-1:
- Statuses : 1 pass(s)
- Exec time: [0.16] s
Known issues
------------
Here are the changes found in IGTPW_7701_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_busy@close-race:
- shard-snb: [PASS][1] -> [TIMEOUT][2] ([i915#5748])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-snb4/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-snb6/igt@[email protected]
* igt@gem_exec_balancer@parallel:
- shard-iclb: [PASS][3] -> [SKIP][4] ([i915#4525])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb2/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb8/igt@[email protected]
* igt@gem_exec_balancer@parallel-ordering:
- shard-iclb: NOTRUN -> [SKIP][5] ([i915#4525])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb6/igt@[email protected]
* igt@gem_exec_fair@basic-deadline:
- shard-apl: NOTRUN -> [FAIL][6] ([i915#2846])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl6/igt@[email protected]
* igt@gem_lmem_swapping@parallel-random-verify:
- shard-apl: NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#4613]) +3 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl2/igt@[email protected]
* igt@gem_lmem_swapping@verify:
- shard-iclb: NOTRUN -> [SKIP][8] ([i915#4613]) +1 similar issue
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb7/igt@[email protected]
* igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled:
- shard-iclb: NOTRUN -> [SKIP][9] ([i915#768])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb5/igt@[email protected]
* igt@gem_workarounds@suspend-resume-context:
- shard-apl: NOTRUN -> [DMESG-WARN][10] ([i915#180])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl1/igt@[email protected]
* igt@gen3_render_mixed_blits:
- shard-iclb: NOTRUN -> [SKIP][11] ([fdo#109289]) +1 similar issue
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb7/igt@gen3_render_mixed_blits.html
* igt@i915_pm_dc@dc6-psr:
- shard-iclb: [PASS][12] -> [FAIL][13] ([i915#454])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb6/igt@[email protected]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb2/igt@[email protected]
* igt@i915_pm_dc@dc9-dpms:
- shard-iclb: [PASS][14] -> [SKIP][15] ([i915#4281])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb1/igt@[email protected]
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb3/igt@[email protected]
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-iclb: NOTRUN -> [SKIP][16] ([fdo#110723])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb1/igt@[email protected]
* igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_rc_ccs_cc:
- shard-iclb: NOTRUN -> [SKIP][17] ([fdo#109278]) +2 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb3/igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_rc_ccs_cc.html
* igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs:
- shard-apl: NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#3886]) +9 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl2/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-d-crc-primary-basic-y_tiled_gen12_rc_ccs_cc:
- shard-snb: NOTRUN -> [SKIP][19] ([fdo#109271]) +34 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-snb6/igt@kms_ccs@pipe-d-crc-primary-basic-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_chamelium@vga-frame-dump:
- shard-apl: NOTRUN -> [SKIP][20] ([fdo#109271] / [fdo#111827]) +3 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl6/igt@[email protected]
* igt@kms_color_chamelium@ctm-0-25:
- shard-iclb: NOTRUN -> [SKIP][21] ([fdo#109284] / [fdo#111827])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb3/igt@[email protected]
- shard-snb: NOTRUN -> [SKIP][22] ([fdo#109271] / [fdo#111827])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-snb5/igt@[email protected]
* igt@kms_content_protection@dp-mst-type-1:
- shard-iclb: NOTRUN -> [SKIP][23] ([i915#3116])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb7/igt@[email protected]
* igt@kms_cursor_crc@cursor-suspend@pipe-c-dp-1:
- shard-apl: [PASS][24] -> [DMESG-WARN][25] ([i915#180]) +1 similar issue
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-apl2/igt@kms_cursor_crc@[email protected]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl8/igt@kms_cursor_crc@[email protected]
* igt@kms_cursor_legacy@cursorb-vs-flipa@legacy:
- shard-iclb: NOTRUN -> [SKIP][26] ([fdo#109274]) +6 similar issues
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb3/igt@kms_cursor_legacy@[email protected]
* igt@kms_cursor_legacy@flip-vs-cursor@toggle:
- shard-iclb: [PASS][27] -> [FAIL][28] ([i915#2346]) +3 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb2/igt@kms_cursor_legacy@[email protected]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb7/igt@kms_cursor_legacy@[email protected]
* igt@kms_flip@flip-vs-suspend-interruptible@b-vga1:
- shard-snb: [PASS][29] -> [DMESG-WARN][30] ([i915#5090])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-snb5/igt@kms_flip@[email protected]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-snb5/igt@kms_flip@[email protected]
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode:
- shard-iclb: NOTRUN -> [SKIP][31] ([i915#2672]) +8 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb3/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-default-mode:
- shard-iclb: NOTRUN -> [SKIP][32] ([i915#6375])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-default-mode:
- shard-iclb: NOTRUN -> [SKIP][33] ([i915#2672] / [i915#3555]) +1 similar issue
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-default-mode.html
* igt@kms_frontbuffer_tracking@psr-2p-pri-indfb-multidraw:
- shard-iclb: NOTRUN -> [SKIP][34] ([fdo#109280]) +5 similar issues
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb8/igt@[email protected]
* igt@kms_hdr@bpc-switch-suspend:
- shard-iclb: NOTRUN -> [SKIP][35] ([i915#3555]) +1 similar issue
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb1/igt@[email protected]
* igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb:
- shard-apl: NOTRUN -> [FAIL][36] ([i915#265])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl6/igt@[email protected]
* igt@kms_plane_alpha_blend@pipe-b-alpha-basic:
- shard-apl: NOTRUN -> [FAIL][37] ([fdo#108145] / [i915#265]) +1 similar issue
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl8/igt@[email protected]
* igt@kms_plane_scaling@plane-upscale-with-rotation-factor-0-25@pipe-a-dp-1:
- shard-apl: NOTRUN -> [SKIP][38] ([fdo#109271]) +109 similar issues
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl3/igt@kms_plane_scaling@[email protected]
* igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf:
- shard-iclb: NOTRUN -> [SKIP][39] ([i915#658])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb1/igt@[email protected]
* igt@kms_psr2_sf@plane-move-sf-dmg-area:
- shard-apl: NOTRUN -> [SKIP][40] ([fdo#109271] / [i915#658]) +1 similar issue
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl2/igt@[email protected]
* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: NOTRUN -> [SKIP][41] ([fdo#109441]) +1 similar issue
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb7/igt@kms_psr@psr2_primary_mmap_cpu.html
* igt@kms_psr@psr2_sprite_mmap_cpu:
- shard-iclb: [PASS][42] -> [SKIP][43] ([fdo#109441]) +2 similar issues
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_cpu.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb7/igt@kms_psr@psr2_sprite_mmap_cpu.html
* igt@kms_writeback@writeback-pixel-formats:
- shard-apl: NOTRUN -> [SKIP][44] ([fdo#109271] / [i915#2437])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl3/igt@[email protected]
* igt@sysfs_clients@busy:
- shard-apl: NOTRUN -> [SKIP][45] ([fdo#109271] / [i915#2994])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl6/igt@[email protected]
#### Possible fixes ####
* igt@feature_discovery@psr2:
- shard-iclb: [SKIP][46] ([i915#658]) -> [PASS][47]
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb3/igt@[email protected]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb2/igt@[email protected]
* igt@gem_ctx_exec@basic-nohangcheck:
- {shard-tglu}: [FAIL][48] ([i915#6268]) -> [PASS][49]
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-tglu-6/igt@[email protected]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-tglu-2/igt@[email protected]
* igt@gem_ctx_isolation@preservation-s3@rcs0:
- shard-apl: [DMESG-WARN][50] ([i915#180]) -> [PASS][51]
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-apl7/igt@gem_ctx_isolation@[email protected]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl8/igt@gem_ctx_isolation@[email protected]
* igt@gem_eio@in-flight-contexts-10ms:
- shard-iclb: [TIMEOUT][52] ([i915#3070]) -> [PASS][53]
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb8/igt@[email protected]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb3/igt@[email protected]
* igt@gem_exec_balancer@parallel-out-fence:
- shard-iclb: [SKIP][54] ([i915#4525]) -> [PASS][55]
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb6/igt@[email protected]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb2/igt@[email protected]
* igt@gen9_exec_parse@allowed-single:
- shard-apl: [DMESG-WARN][56] ([i915#5566] / [i915#716]) -> [PASS][57]
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-apl2/igt@[email protected]
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-apl7/igt@[email protected]
* igt@kms_psr2_su@page_flip-xrgb8888:
- shard-iclb: [SKIP][58] ([fdo#109642] / [fdo#111068] / [i915#658]) -> [PASS][59]
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb3/igt@kms_psr2_su@page_flip-xrgb8888.html
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb2/igt@kms_psr2_su@page_flip-xrgb8888.html
* igt@kms_psr@psr2_sprite_plane_onoff:
- shard-iclb: [SKIP][60] ([fdo#109441]) -> [PASS][61] +1 similar issue
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb5/igt@kms_psr@psr2_sprite_plane_onoff.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb2/igt@kms_psr@psr2_sprite_plane_onoff.html
#### Warnings ####
* igt@i915_pm_dc@dc3co-vpb-simulation:
- shard-iclb: [SKIP][62] ([i915#588]) -> [SKIP][63] ([i915#658])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb2/igt@[email protected]
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb6/igt@[email protected]
* igt@i915_pm_rc6_residency@rc6-idle@vcs0:
- shard-iclb: [WARN][64] ([i915#2684]) -> [FAIL][65] ([i915#2684])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb1/igt@i915_pm_rc6_residency@[email protected]
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb5/igt@i915_pm_rc6_residency@[email protected]
* igt@kms_psr2_sf@overlay-plane-move-continuous-sf:
- shard-iclb: [SKIP][66] ([i915#2920]) -> [SKIP][67] ([i915#658])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12044/shard-iclb2/igt@[email protected]
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/shard-iclb8/igt@[email protected]
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110542]: https://bugs.freedesktop.org/show_bug.cgi?id=110542
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
[fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
[i915#1063]: https://gitlab.freedesktop.org/drm/intel/issues/1063
[i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
[i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684
[i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
[i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
[i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
[i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
[i915#3070]: https://gitlab.freedesktop.org/drm/intel/issues/3070
[i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
[i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
[i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
[i915#3828]: https://gitlab.freedesktop.org/drm/intel/issues/3828
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3966]: https://gitlab.freedesktop.org/drm/intel/issues/3966
[i915#3987]: https://gitlab.freedesktop.org/drm/intel/issues/3987
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4941]: https://gitlab.freedesktop.org/drm/intel/issues/4941
[i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991
[i915#5090]: https://gitlab.freedesktop.org/drm/intel/issues/5090
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5287]: https://gitlab.freedesktop.org/drm/intel/issues/5287
[i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
[i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5748]: https://gitlab.freedesktop.org/drm/intel/issues/5748
[i915#588]: https://gitlab.freedesktop.org/drm/intel/issues/588
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
[i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
[i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
[i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
[i915#6335]: https://gitlab.freedesktop.org/drm/intel/issues/6335
[i915#6375]: https://gitlab.freedesktop.org/drm/intel/issues/6375
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
[i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
[i915#768]: https://gitlab.freedesktop.org/drm/intel/issues/768
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_6637 -> IGTPW_7701
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_12044: 287ad23d60ce7aa8befbe8dd1fea6fb705bd08ac @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_7701: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/index.html
IGT_6637: a23e8aed0b54018339647d0817267431bd2b7075 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7701/index.html
v8 cover tests/kms_lease: IGT test Cleanup
In reply to Mohammed ThasleemConvert all possible subtests to dynamic and sanitize the system state before starting/exiting the subtest.
Mohammed Thasleem (2):
tests/kms_lease: Create dynamic subtests
tests/kms_lease: Test Cleanup
tests/kms_lease.c | 234 +++++++++++++++++++++------------------------- 1 file changed, 106 insertions(+), 128 deletions(-)
Signature · 1 line
2.25.1
PATCH v8 1/2 tests/kms_lease: Create dynamic subtests
Modified tests/kms_lease to include dynamic test cases.
v2: Updated dynamic test cases to all test cases.
v3: Removed dynamic test for which it's not required.
v4: Moved content of for loop in to igt_dynamic.
v5: Minor changes.
v6: Removed run_test which is not required.
v7: Minor changes.
--- tests/kms_lease.c | 55 ++++++++++++++--------------------------------- 1 file changed, 16 insertions(+), 39 deletions(-)
tests/kms_lease.c +16 -39
@@ -808,42 +808,6 @@ static void lease_invalid_plane(data_t *data)assert_unleased (ret); } - -static void run_test (data_t *data,void (*testfunc)(data_t *)) -{ -lease_t *master = &data->master; -igt_display_t *display = &master->display; -igt_output_t *output; -enum pipe p; -unsigned int valid_tests =0 ; - -for_each_pipe_with_valid_output (display, p, output) { -igt_info ("Beginning %s on pipe %s, connector %s\n" , -igt_subtest_name (), -kmstest_pipe_name (p), -igt_output_name (output)); - - data->pipe = p; - data->crtc_id =pipe_to_crtc_id (display, p); - data->connector_id = output->id; - data->plane_id = -igt_pipe_get_plane_type (&data->master.display.pipes[data->pipe], -DRM_PLANE_TYPE_PRIMARY )->drm_plane->plane_id; - -testfunc (data); - -igt_info ("\n%s on pipe %s, connector %s: PASSED\n\n" , -igt_subtest_name (), -kmstest_pipe_name (p), -igt_output_name (output)); - - valid_tests++; - } - -igt_require_f (valid_tests, -"no valid crtc/connector combinations found\n" ); -} -#define assert_double_id_err (ret) \ igt_assert_f((ret) == -EBUSY || (ret) == -ENOSPC, \ "wrong return code %i, %s\n", ret, \
@@ -1218,6 +1182,9 @@ static void lease_uevent(data_t *data) igt_main {data_t data; +igt_output_t *output; +igt_display_t *display = &data.master.display; + const struct { const char *name; void (*func)(data_t *);
@@ -1249,14 +1216,24 @@ igt_main igt_fixture { data.master.fd =drm_open_driver_master (DRIVER_ANY );kmstest_set_vt_graphics_mode (); -igt_display_require (&data.master.display, data.master.fd); +igt_display_require (display, data.master.fd); }for (f = funcs; f->name; f++) {igt_describe (f->desc); - igt_subtest_f("%s", f->name) { -run_test (&data, f->func); + igt_subtest_with_dynamic_f("%s", f->name) { +for_each_pipe_with_valid_output (display, data.pipe, output) { +igt_dynamic_f ("pipe-%s-%s" ,kmstest_pipe_name (data.pipe), + igt_output_name(output)) { + data.crtc_id =pipe_to_crtc_id (display, data.pipe); + data.connector_id = output->id; + data.plane_id = +igt_pipe_get_plane_type (&data.master.display.pipes[data.pipe], +DRM_PLANE_TYPE_PRIMARY )->drm_plane->plane_id; + f->func (&data); + } + } } }
Signature · 1 line
2.25.1
PATCH v8 2/2 tests/kms_lease: Test Cleanup
In reply to Mohammed ThasleemSanitize the system state before starting the subtest.
v2: Minor changes.
v3: Moved display reset and commit in to igt_subtest_with_dynamic_f.
v4: Separated display and non-display subsets.
v5: Removed pipe_to_crtc_id and crtc_id_to_pipe.
v6: Minor changes.
--- tests/kms_lease.c | 201 +++++++++++++++++++++++----------------------- 1 file changed, 101 insertions(+), 100 deletions(-)
tests/kms_lease.c +101 -100
@@ -64,22 +64,6 @@ typedef struct {uint32_t plane_id; } data_t; -static uint32_t pipe_to_crtc_id (igt_display_t *display,enum pipe pipe) -{ -return display->pipes[pipe].crtc_id; -} - -static enum pipe crtc_id_to_pipe (igt_display_t *display,uint32_t crtc_id) -{ -enum pipe pipe; - -for_each_pipe (display, pipe) { -if (display->pipes[pipe].crtc_id == crtc_id) -return pipe; - } -return -1 ; -} -static igt_output_t *connector_id_to_output (igt_display_t *display,uint32_t connector_id) {drmModeConnector connector;
@@ -88,12 +72,12 @@ static igt_output_t *connector_id_to_output(igt_display_t *display, uint32_t conreturn igt_output_from_connector (display, &connector); } -static int prepare_crtc (lease_t *lease,uint32_t connector_id,uint32_t crtc_id) +static int prepare_crtc (lease_t *lease,data_t *data) {drmModeModeInfo *mode;igt_display_t *display = &lease->display; -igt_output_t *output =connector_id_to_output (display, connector_id); -enum pipe pipe =crtc_id_to_pipe (display, crtc_id); +igt_output_t *output =connector_id_to_output (display, data->connector_id); +enum pipe pipe = data->pipe;igt_plane_t *primary;int ret;
@@ -136,7 +120,7 @@ static void cleanup_crtc(lease_t *lease, igt_output_t *output) primary =igt_output_get_plane_type (output,DRM_PLANE_TYPE_PRIMARY );igt_plane_set_fb (primary,NULL ); -igt_output_set_pipe (output,PIPE_ANY ); +igt_output_set_pipe (output,PIPE_NONE );igt_display_commit (display); }
@@ -230,6 +214,8 @@ static int paint_fb(int drm_fd, struct igt_fb *fb, const char *test_name,static void simple_lease (data_t *data) { +enum pipe pipe = data->pipe; +lease_t lease;/* Create a valid lease */
@@ -238,11 +224,11 @@ static void simple_lease(data_t *data)igt_display_require (&lease.display, lease.fd);/* Set a mode on the leased output */ -igt_assert_eq (0 ,prepare_crtc (&lease, data->connector_id, data->crtc_id)); +igt_assert_eq (0 ,prepare_crtc (&lease, data));/* Paint something attractive */ paint_fb (lease.fd, &lease.primary_fb,"simple_lease" , - lease.mode->name,igt_output_name (lease.output),kmstest_pipe_name (data->pipe)); + lease.mode->name,igt_output_name (lease.output),kmstest_pipe_name (pipe));igt_debug_wait_for_keypress ("lease" );cleanup_crtc (&lease,connector_id_to_output (&lease.display, data->connector_id));
@@ -266,8 +252,8 @@ static void page_flip_implicit_plane(data_t *data)drmModePlaneRes *plane_resources;uint32_t wrong_plane_id =0 ;int i; -enum pipe pipe;igt_display_t *display; +enum pipe pipe = data->pipe;/* find a plane which isn't the primary one for us */ plane_resources =drmModeGetPlaneResources (data->master.fd);
@@ -292,7 +278,7 @@ static void page_flip_implicit_plane(data_t *data)drmSetClientCap (data->master.fd,DRM_CLIENT_CAP_UNIVERSAL_PLANES ,1 );/* Set a mode on the leased output */ -igt_assert_eq (0 ,prepare_crtc (&data->master, data->connector_id, data->crtc_id)); +igt_assert_eq (0 ,prepare_crtc (&data->master, data));/* sanity check */ do_or_die(drmModePageFlip(data->master.fd, data->crtc_id,
@@ -300,7 +286,6 @@ static void page_flip_implicit_plane(data_t *data) 0, NULL)); display = &data->master.display; - pipe =crtc_id_to_pipe (display, data->crtc_id);igt_wait_for_vblank (data->master.fd, display->pipes[pipe].crtc_offset);
@@ -313,8 +298,6 @@ static void page_flip_implicit_plane(data_t *data) object_ids[mcl.object_count++] = wrong_plane_id;do_or_die (create_lease (data->master.fd, &mcl)); - pipe =crtc_id_to_pipe (display, data->crtc_id); -igt_wait_for_vblank (data->master.fd, display->pipes[pipe].crtc_offset);
@@ -363,7 +346,7 @@ static void setcrtc_implicit_plane(data_t *data)drmSetClientCap (data->master.fd,DRM_CLIENT_CAP_UNIVERSAL_PLANES ,1 );/* Set a mode on the leased output */ -igt_assert_eq (0 ,prepare_crtc (&data->master, data->connector_id, data->crtc_id)); +igt_assert_eq (0 ,prepare_crtc (&data->master, data));/* sanity check */ do_or_die(drmModeSetCrtc(data->master.fd, data->crtc_id, -1,
@@ -404,7 +387,7 @@ static void cursor_implicit_plane(data_t *data)drmSetClientCap (data->master.fd,DRM_CLIENT_CAP_UNIVERSAL_PLANES ,1 );/* Set a mode on the leased output */ -igt_assert_eq (0 ,prepare_crtc (&data->master, data->connector_id, data->crtc_id)); +igt_assert_eq (0 ,prepare_crtc (&data->master, data));/* sanity check */ do_or_die (drmModeSetCursor (data->master.fd, data->crtc_id,0 ,0 ,0 ));
@@ -642,8 +625,8 @@ static void lease_unleased_crtc(data_t *data)for_each_pipe (&data->master.display, p) {if (bad_crtc_id !=0 )break ; -if (pipe_to_crtc_id (&data->master.display, p) != data->crtc_id) - bad_crtc_id =pipe_to_crtc_id (&data->master.display, p); +if (data->master.display.pipes[p].crtc_id != data->crtc_id) + bad_crtc_id = data->master.display.pipes[p].crtc_id; }/* Give up if there isn't another crtc */
@@ -729,7 +712,7 @@ static void lease_revoke(data_t *data)igt_assert_eq (revoke_lease (data->master.fd, &mrl),0 );/* Try to use the leased objects */ - ret =prepare_crtc (&lease, data->connector_id, data->crtc_id); + ret =prepare_crtc (&lease, data);/* Ensure that the expected error is returned */ igt_assert_eq (ret, -ENOENT );
@@ -1185,83 +1168,101 @@ igt_mainigt_output_t *output;igt_display_t *display = &data.master.display; -const struct { -const char *name; -void (*func)(data_t *); -const char *desc; - } funcs[] = { - {"simple_lease" , simple_lease,"Check if create lease ioctl call works" }, - {"empty_lease" , empty_lease,"Check that creating an empty lease works" }, - {"lessee_list" , lessee_list,"Check if listed lease is same as created one" }, - {"lease_get" , lease_get,"Tests getting the required contents of a lease" }, - {"lease_unleased_connector" , lease_unleased_connector,"Negative test by trying to" -" use an unleased connector " }, - {"lease_unleased_crtc" , lease_unleased_crtc,"Negative test by trying to use an unleased crtc" }, - {"lease_revoke" , lease_revoke,"Tests revocation of lease" }, - {"lease_again" , lease_again,"Tests leasing objects more than once" }, - {"lease_invalid_connector" , lease_invalid_connector,"Tests leasing an invalid connector" }, - {"lease_invalid_crtc" , lease_invalid_crtc,"Tests leasing an invalid crtc" }, - {"lease_invalid_plane" , lease_invalid_plane,"Tests leasing an invalid plane" }, - {"page_flip_implicit_plane" , page_flip_implicit_plane,"Negative test by using a " -"non-primary plane with the page flip ioctl" }, - {"setcrtc_implicit_plane" , setcrtc_implicit_plane,"Negative test by using a " -"non-primary plane with the setcrtc ioctl" }, - {"cursor_implicit_plane" , cursor_implicit_plane,"Negative test by using a non-primary" -" plane with setcursor ioctl" }, - {"atomic_implicit_crtc" , atomic_implicit_crtc,"Negative test by using a different" -" crtc with atomic ioctl" }, - { } - }, *f; - igt_fixture { data.master.fd =drm_open_driver_master (DRIVER_ANY );kmstest_set_vt_graphics_mode ();igt_display_require (display, data.master.fd); } -for (f = funcs; f->name; f++) { - -igt_describe (f->desc); - igt_subtest_with_dynamic_f("%s", f->name) { -for_each_pipe_with_valid_output (display, data.pipe, output) { -igt_dynamic_f ("pipe-%s-%s" ,kmstest_pipe_name (data.pipe), - igt_output_name(output)) { - data.crtc_id =pipe_to_crtc_id (display, data.pipe); - data.connector_id = output->id; - data.plane_id = -igt_pipe_get_plane_type (&data.master.display.pipes[data.pipe], -DRM_PLANE_TYPE_PRIMARY )->drm_plane->plane_id; - f->func (&data); +//Display dependent subtests + igt_subtest_group { + +const struct { +const char *name; +void (*func)(data_t *); +const char *desc; + } funcs[] = { + {"simple_lease" , simple_lease,"Check if create lease ioctl call works" }, + {"empty_lease" , empty_lease,"Check that creating an empty lease works" }, + {"lessee_list" , lessee_list,"Check if listed lease is same as created one" }, + {"lease_get" , lease_get,"Tests getting the required contents of a lease" }, + {"lease_unleased_connector" , lease_unleased_connector,"Negative test by trying to" +" use an unleased connector " }, + {"lease_unleased_crtc" , lease_unleased_crtc,"Negative test by trying to use an unleased crtc" }, + {"lease_revoke" , lease_revoke,"Tests revocation of lease" }, + {"lease_again" , lease_again,"Tests leasing objects more than once" }, + {"lease_invalid_connector" , lease_invalid_connector,"Tests leasing an invalid connector" }, + {"lease_invalid_crtc" , lease_invalid_crtc,"Tests leasing an invalid crtc" }, + {"lease_invalid_plane" , lease_invalid_plane,"Tests leasing an invalid plane" }, + {"page_flip_implicit_plane" , page_flip_implicit_plane,"Negative test by using a " +"non-primary plane with the page flip ioctl" }, + {"setcrtc_implicit_plane" , setcrtc_implicit_plane,"Negative test by using a " +"non-primary plane with the setcrtc ioctl" }, + {"cursor_implicit_plane" , cursor_implicit_plane,"Negative test by using a non-primary" +" plane with setcursor ioctl" }, + {"atomic_implicit_crtc" , atomic_implicit_crtc,"Negative test by using a different" +" crtc with atomic ioctl" }, + { } + }, *f; + +igt_fixture +igt_display_require_output (display ); + +for (f = funcs; f->name; f++) { + +igt_describe (f->desc); + igt_subtest_with_dynamic_f("%s", f->name) { +for_each_pipe_with_valid_output (display, data.pipe, output) { +igt_dynamic_f ("pipe-%s-%s" ,kmstest_pipe_name (data.pipe), + igt_output_name(output)) { +igt_display_reset (display); +igt_display_commit (display); + data.crtc_id = display->pipes[data.pipe].crtc_id; + data.connector_id = output->id; + data.plane_id = +igt_pipe_get_plane_type (&data.master.display.pipes[data.pipe], +DRM_PLANE_TYPE_PRIMARY )->drm_plane->plane_id; + f->func (&data); + } } } } } -igt_describe ("Tests error handling while creating invalid corner-cases for " -"create-lease ioctl" ); - igt_subtest("invalid-create-leases") -invalid_create_leases (&data); - -igt_describe ("Tests that possible_crtcs logically match between master and " -"lease, and that the values are correctly renumbered on the lease side." ); - igt_subtest("possible-crtcs-filtering") -possible_crtcs_filtering (&data); - -igt_describe ("Tests the drop/set_master interactions." ); - igt_subtest("master-vs-lease") -master_vs_lease (&data); - -igt_describe ("Tests that the 2nd master can only create leases while being active " -"master, and that leases on the first master don't prevent lease creation " -"for the 2nd master." ); - igt_subtest("multimaster-lease") -multimaster_lease (&data); - -igt_describe ("Tests the implicitly added planes." ); - igt_subtest("implicit-plane-lease") -implicit_plane_lease (&data); - -igt_describe ("Tests all the uevent cases" ); - igt_subtest("lease-uevent") -lease_uevent (&data); +//Display independent subtests + igt_subtest_group { + +igt_describe ("Tests error handling while creating invalid corner-cases for " +"create-lease ioctl" ); + igt_subtest("invalid-create-leases") +invalid_create_leases (&data); + +igt_describe ("Tests that possible_crtcs logically match between master and " +"lease, and that the values are correctly renumbered on the lease side." ); + igt_subtest("possible-crtcs-filtering") +possible_crtcs_filtering (&data); + +igt_describe ("Tests the drop/set_master interactions." ); + igt_subtest("master-vs-lease") +master_vs_lease (&data); + +igt_describe ("Tests that the 2nd master can only create leases while being active " +"master, and that leases on the first master don't prevent lease creation " +"for the 2nd master." ); + igt_subtest("multimaster-lease") +multimaster_lease (&data); + +igt_describe ("Tests the implicitly added planes." ); + igt_subtest("implicit-plane-lease") +implicit_plane_lease (&data); + +igt_describe ("Tests all the uevent cases" ); + igt_subtest("lease-uevent") +lease_uevent (&data); + } + + igt_fixture { +igt_display_fini (display); +close (data.master.fd); + } }
Signature · 1 line
2.25.1