diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2019-02-20 17:25:25 +0100 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2019-02-22 16:17:38 +0100 |
commit | c5f722564db74a14c6e1cdea37efdf9b7e81847e (patch) | |
tree | c3f66a3bf935a422faafee07dc8365f9f09c9fc4 /tests/kms_lease.c | |
parent | 9f0e3a5d089d3db20a94fe60fa061f642325b5c8 (diff) |
tests/kms_release: invalid checks for revoke-lease ioctl
Found a few corner cases to validate. Put them into the existing
testcase.
Cc: Keith Packard <keithp@keithp.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'tests/kms_lease.c')
-rw-r--r-- | tests/kms_lease.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/kms_lease.c b/tests/kms_lease.c index 3fa0aace..345fba7f 100644 --- a/tests/kms_lease.c +++ b/tests/kms_lease.c @@ -511,6 +511,14 @@ static void lease_revoke(data_t *data) igt_display_require(&lease.display, lease.fd); + /* try to revoke an invalid lease */ + mrl.lessee_id = 0; + igt_assert_eq(revoke_lease(data->master.fd, &mrl), -ENOENT); + + /* try to revoke with the wrong fd */ + mrl.lessee_id = lease.lessee_id; + igt_assert_eq(revoke_lease(lease.fd, &mrl), -EACCES); + /* Revoke the lease using the master fd */ mrl.lessee_id = lease.lessee_id; igt_assert_eq(revoke_lease(data->master.fd, &mrl), 0); @@ -522,6 +530,10 @@ static void lease_revoke(data_t *data) igt_assert_eq(ret, -ENOENT); terminate_lease(&lease); + + /* make sure the lease is gone */ + mrl.lessee_id = lease.lessee_id; + igt_assert_eq(revoke_lease(data->master.fd, &mrl), -ENOENT); } /* Test leasing objects more than once */ |