summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2014-09-29 14:50:57 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-09-29 15:33:07 +0200
commit0eaa18061bee4b4b0c182d112db189019f01f49a (patch)
treef4ef028087ad16b766ec599db4800a564c4eb172 /tests
parente4753d2d96fbb88077e70820793137f45f02c9ba (diff)
tests/gem_wait: argument validation tests
Shockingly we don't check for 0 flags! Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/gem_wait.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/gem_wait.c b/tests/gem_wait.c
index 0a8ccf62..83ddb972 100644
--- a/tests/gem_wait.c
+++ b/tests/gem_wait.c
@@ -216,6 +216,37 @@ static void render_timeout(int fd)
close(fd);
}
+static void invalid_flags(int fd)
+{
+ struct drm_i915_gem_wait wait;
+ int ret;
+ uint32_t handle;
+
+ handle = gem_create(fd, 4096);
+
+ wait.bo_handle = handle;
+ wait.timeout_ns = 1;
+ wait.flags = 0xffffffff;
+ ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_WAIT, &wait);
+
+ igt_assert(ret != 0 && errno == EINVAL);
+
+ gem_close(fd, handle);
+}
+
+static void invalid_buf(int fd)
+{
+ struct drm_i915_gem_wait wait;
+ int ret;
+
+ wait.bo_handle = 0;
+ wait.timeout_ns = 1;
+ wait.flags = 0;
+ ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_WAIT, &wait);
+
+ igt_assert(ret != 0 && errno == ENOENT);
+}
+
int drm_fd;
igt_main
@@ -226,6 +257,11 @@ igt_main
igt_subtest("render_timeout")
render_timeout(drm_fd);
+ igt_subtest("invalid-flags")
+ invalid_flags(drm_fd);
+
+ igt_subtest("invalid-buf")
+ invalid_buf(drm_fd);
igt_fixture
close(drm_fd);