summaryrefslogtreecommitdiff
path: root/tests/kms_lease.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2019-02-20 17:25:25 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2019-02-22 16:17:38 +0100
commitc5f722564db74a14c6e1cdea37efdf9b7e81847e (patch)
treec3f66a3bf935a422faafee07dc8365f9f09c9fc4 /tests/kms_lease.c
parent9f0e3a5d089d3db20a94fe60fa061f642325b5c8 (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.c12
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 */