From patchwork Thu Aug 10 23:34:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Ekstrand X-Patchwork-Id: 9894719 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 927E1603B4 for ; Thu, 10 Aug 2017 23:35:11 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 823D628BA3 for ; Thu, 10 Aug 2017 23:35:11 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 772DF28BB7; Thu, 10 Aug 2017 23:35:11 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1114E28BA3 for ; Thu, 10 Aug 2017 23:35:10 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6EE596E637; Thu, 10 Aug 2017 23:35:10 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-pg0-x243.google.com (mail-pg0-x243.google.com [IPv6:2607:f8b0:400e:c05::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3EC516E635 for ; Thu, 10 Aug 2017 23:35:09 +0000 (UTC) Received: by mail-pg0-x243.google.com with SMTP id 123so1717369pga.5 for ; Thu, 10 Aug 2017 16:35:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jlekstrand-net.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=d8ATJWwNDktEKJ8ZwK+TodF3TuaWThjs70RKI8KKRTI=; b=b3FQLduM4rJhWYrc7RcjGoOJVGsz4flUsjoCQohYWFIPl+xlZ2ieNWr9ktiNu9AZbk /9NjUaOKfWzuiflovDX/hbh9CxB6s9n45hy8WWJ7qu/K5LPX2kTr0Iyf8IphOTpwp/cS VZfX1IChoxkk8SwsVZklrvCyetUVZGaXf0AWOhUbLP5QfYL6Zdg21A+nv2X7aDJribip 3lQWQ6ZuXaJu85dKcfW4wBwZcJwOqXFXoydaln3hL9dxWA1byCKB/PzSGuw91ttR3DNo 0FJYW8FJOjIPR6VNML47No1VctHeqfln2aOjsT9BVZIIVVsxdHsYlbkJ9oIl6twEAkhI /QFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=d8ATJWwNDktEKJ8ZwK+TodF3TuaWThjs70RKI8KKRTI=; b=TDP929BywQPKZBYq+7rCYRcmAUoC4lWctzzcJjXEVabrSHFHUjmfr7K72Eo7cgVwuq FdCDFybd8/9OkAFCRiJSbgzK6kmWiHhi3QPlcf3I0z4VubeFow6qApAQjXTmQRFk0w1i /yUqDQT+c+c+XdVu9gfi3GsYpW61JjjBGJfjn9fdEk+/zMt1I/OJ9FTV+9BLTghgmVvT 6KRIzxD9QSP3rrSVFuHJIV15KNdy6WrOEGC8IOr3ALN910HZzzFyqAaxJE3D8VundTL3 FcVsq1kjcJGlfHX3VNTZGwg6T34qc2QeHJ9Iw1Lj1QrQIYzhJ30aBepOYo1ftQBBWnce 1Gfw== X-Gm-Message-State: AHYfb5iHrGJVToNmrZ6uNFL36qOHpXezPlj61VcsCFzi4ZzNINEmffjW +JV9st+lHe7HLAsjs9+Uxw== X-Received: by 10.98.149.88 with SMTP id p85mr14326762pfd.287.1502408108436; Thu, 10 Aug 2017 16:35:08 -0700 (PDT) Received: from omlet.ak.intel.com (fmdmzpr03-ext.fm.intel.com. [192.55.54.38]) by smtp.gmail.com with ESMTPSA id i90sm14409074pfi.106.2017.08.10.16.35.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 10 Aug 2017 16:35:07 -0700 (PDT) From: Jason Ekstrand X-Google-Original-From: Jason Ekstrand To: intel-gfx@lists.freedesktop.org Date: Thu, 10 Aug 2017 16:34:58 -0700 Message-Id: <1502408100-7660-2-git-send-email-jason.ekstrand@intel.com> X-Mailer: git-send-email 2.5.0.400.gff86faf In-Reply-To: <1502408100-7660-1-git-send-email-jason.ekstrand@intel.com> References: <1502408100-7660-1-git-send-email-jason.ekstrand@intel.com> Cc: Jason Ekstrand Subject: [Intel-gfx] [PATCH i-g-t 2/4] tests/syncobj: Convert the basic test over to the helpers X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Jason Ekstrand --- 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 a7a6742..b08dd2d 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); 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); + 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)