From 4ba2d5ec4ec62fc72cfe4819137707d127af9875 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 28 Aug 2017 14:10:13 -0700 Subject: tests/syncobj: Convert the basic test over to the helpers Signed-off-by: Jason Ekstrand Reviewed-by: Dave Airlie --- tests/syncobj_basic.c | 77 +++++++++++++-------------------------------------- 1 file changed, 19 insertions(+), 58 deletions(-) diff --git a/tests/syncobj_basic.c b/tests/syncobj_basic.c index a7a6742f..0a304f1f 100644 --- a/tests/syncobj_basic.c +++ b/tests/syncobj_basic.c @@ -22,6 +22,7 @@ */ #include "igt.h" +#include "igt_syncobj.h" #include #include #include "drm.h" @@ -48,14 +49,11 @@ static void test_bad_handle_to_fd(int fd) { struct drm_syncobj_handle handle; - int ret; handle.handle = 0xdeadbeef; handle.flags = 0; - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD, &handle); - - igt_assert(ret == -1 && errno == EINVAL); + igt_assert_eq(__syncobj_handle_to_fd(fd, &handle), -EINVAL); } /* fd to handle a bad fd */ @@ -63,14 +61,11 @@ static void test_bad_fd_to_handle(int fd) { struct drm_syncobj_handle handle; - int ret; handle.fd = -1; handle.flags = 0; - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE, &handle); - - igt_assert(ret == -1 && errno == EINVAL); + igt_assert_eq(__syncobj_fd_to_handle(fd, &handle), -EINVAL); } /* fd to handle an fd but not a sync file one */ @@ -78,58 +73,47 @@ static void test_illegal_fd_to_handle(int fd) { struct drm_syncobj_handle handle; - int ret; handle.fd = fd; handle.flags = 0; - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE, &handle); - - igt_assert(ret == -1 && errno == EINVAL); + igt_assert_eq(__syncobj_fd_to_handle(fd, &handle), -EINVAL); } static void test_bad_flags_fd_to_handle(int fd) { struct drm_syncobj_handle handle = { 0 }; - int ret; handle.flags = 0xdeadbeef; - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE, &handle); - igt_assert(ret == -1 && errno == EINVAL); + igt_assert_eq(__syncobj_fd_to_handle(fd, &handle), -EINVAL); } static void test_bad_flags_handle_to_fd(int fd) { struct drm_syncobj_handle handle = { 0 }; - int ret; handle.flags = 0xdeadbeef; - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD, &handle); - igt_assert(ret == -1 && errno == EINVAL); + igt_assert_eq(__syncobj_handle_to_fd(fd, &handle), -EINVAL); } static void test_bad_pad_handle_to_fd(int fd) { struct drm_syncobj_handle handle = { 0 }; - int ret; handle.pad = 0xdeadbeef; - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD, &handle); - igt_assert(ret == -1 && errno == EINVAL); + igt_assert_eq(__syncobj_handle_to_fd(fd, &handle), -EINVAL); } static void test_bad_pad_fd_to_handle(int fd) { struct drm_syncobj_handle handle = { 0 }; - int ret; handle.pad = 0xdeadbeef; - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE, &handle); - igt_assert(ret == -1 && errno == EINVAL); + igt_assert_eq(__syncobj_fd_to_handle(fd, &handle), -EINVAL); } @@ -138,24 +122,17 @@ test_bad_pad_fd_to_handle(int fd) static void test_bad_destroy_pad(int fd) { - struct drm_syncobj_create create = { 0 }; struct drm_syncobj_destroy destroy; int ret; - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_CREATE, &create); - - destroy.handle = create.handle; + destroy.handle = syncobj_create(fd, 0); destroy.pad = 0xdeadbeef; ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_DESTROY, &destroy); igt_assert(ret == -1 && errno == EINVAL); - destroy.handle = create.handle; - destroy.pad = 0; - - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_DESTROY, &destroy); - igt_assert(ret == 0); + syncobj_destroy(fd, destroy.handle); } static void @@ -176,34 +153,18 @@ test_bad_create_flags(int fd) static void test_valid_cycle(int fd) { - int ret; - struct drm_syncobj_create create = { 0 }; - struct drm_syncobj_handle handle = { 0 }; - struct drm_syncobj_destroy destroy = { 0 }; - uint32_t first_handle; - - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_CREATE, &create); - igt_assert(ret == 0); + uint32_t first_handle, second_handle; + int syncobj_fd; - first_handle = create.handle; + first_handle = syncobj_create(fd, 0); + syncobj_fd = syncobj_handle_to_fd(fd, first_handle, 0); + second_handle = syncobj_fd_to_handle(fd, syncobj_fd, 0); + close(syncobj_fd); - handle.handle = create.handle; - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD, &handle); - igt_assert(ret == 0); - handle.handle = 0; - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE, &handle); - close(handle.fd); - igt_assert(ret == 0); + igt_assert(first_handle != second_handle); - igt_assert(handle.handle != first_handle); - - destroy.handle = handle.handle; - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_DESTROY, &destroy); - igt_assert(ret == 0); - - destroy.handle = first_handle; - ret = ioctl(fd, DRM_IOCTL_SYNCOBJ_DESTROY, &destroy); - igt_assert(ret == 0); + syncobj_destroy(fd, first_handle); + syncobj_destroy(fd, second_handle); } static bool has_syncobj(int fd) -- cgit v1.2.3