From e920d719b20f3b79e2c70dc59ae3f9858b65a639 Mon Sep 17 00:00:00 2001 From: Jesse Barnes Date: Thu, 13 Aug 2015 12:57:22 -0700 Subject: tests/gem_flink, prime_self_import: mark flink and prime tests as basic v2 They're testing basic functionality and don't involve stress or race induction. v2: use gem_flink and prime_self_import tests instead (Daniel) add to .gitignore Reviewed-by: Daniel Vetter Signed-off-by: Jesse Barnes --- tests/.gitignore | 2 +- tests/Makefile.sources | 2 +- tests/gem_flink.c | 169 ---------------------------------------------- tests/gem_flink_basic.c | 169 ++++++++++++++++++++++++++++++++++++++++++++++ tests/prime_self_import.c | 12 ++-- 5 files changed, 177 insertions(+), 177 deletions(-) delete mode 100644 tests/gem_flink.c create mode 100644 tests/gem_flink_basic.c diff --git a/tests/.gitignore b/tests/.gitignore index 87d4607d..fe547dbd 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -52,7 +52,7 @@ gem_fd_exhaustion gem_fence_thrash gem_fence_upload gem_fenced_exec_thrash -gem_flink +gem_flink_basic gem_flink_race gem_gpgpu_fill gem_gtt_cpu_tlb diff --git a/tests/Makefile.sources b/tests/Makefile.sources index 4fe7d4c8..3b15b86b 100644 --- a/tests/Makefile.sources +++ b/tests/Makefile.sources @@ -32,7 +32,7 @@ TESTS_progs_M = \ gem_fenced_exec_thrash \ gem_fence_thrash \ gem_fence_upload \ - gem_flink \ + gem_flink_basic \ gem_flink_race \ gem_linear_blits \ gem_madvise \ diff --git a/tests/gem_flink.c b/tests/gem_flink.c deleted file mode 100644 index 91444e8d..00000000 --- a/tests/gem_flink.c +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Copyright © 2008 Intel Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - * - * Authors: - * Eric Anholt - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include "drm.h" -#include "ioctl_wrappers.h" -#include "drmtest.h" - -static void -test_flink(int fd) -{ - struct drm_i915_gem_create create; - struct drm_gem_flink flink; - struct drm_gem_open open_struct; - int ret; - - igt_info("Testing flink and open.\n"); - - memset(&create, 0, sizeof(create)); - create.size = 16 * 1024; - ret = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create); - igt_assert_eq(ret, 0); - - flink.handle = create.handle; - ret = ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink); - igt_assert_eq(ret, 0); - - open_struct.name = flink.name; - ret = ioctl(fd, DRM_IOCTL_GEM_OPEN, &open_struct); - igt_assert_eq(ret, 0); - igt_assert(open_struct.handle != 0); -} - -static void -test_double_flink(int fd) -{ - struct drm_i915_gem_create create; - struct drm_gem_flink flink; - struct drm_gem_flink flink2; - int ret; - - igt_info("Testing repeated flink.\n"); - - memset(&create, 0, sizeof(create)); - create.size = 16 * 1024; - ret = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create); - igt_assert_eq(ret, 0); - - flink.handle = create.handle; - ret = ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink); - igt_assert_eq(ret, 0); - - flink2.handle = create.handle; - ret = ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink2); - igt_assert_eq(ret, 0); - igt_assert(flink2.name == flink.name); -} - -static void -test_bad_flink(int fd) -{ - struct drm_gem_flink flink; - int ret; - - igt_info("Testing error return on bad flink ioctl.\n"); - - flink.handle = 0x10101010; - ret = ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink); - igt_assert(ret == -1 && errno == ENOENT); -} - -static void -test_bad_open(int fd) -{ - struct drm_gem_open open_struct; - int ret; - - igt_info("Testing error return on bad open ioctl.\n"); - - open_struct.name = 0x10101010; - ret = ioctl(fd, DRM_IOCTL_GEM_OPEN, &open_struct); - - igt_assert(ret == -1 && errno == ENOENT); -} - -static void -test_flink_lifetime(int fd) -{ - struct drm_i915_gem_create create; - struct drm_gem_flink flink; - struct drm_gem_open open_struct; - int ret, fd2; - - igt_info("Testing flink lifetime.\n"); - - fd2 = drm_open_any(); - - memset(&create, 0, sizeof(create)); - create.size = 16 * 1024; - ret = ioctl(fd2, DRM_IOCTL_I915_GEM_CREATE, &create); - igt_assert_eq(ret, 0); - - flink.handle = create.handle; - ret = ioctl(fd2, DRM_IOCTL_GEM_FLINK, &flink); - igt_assert_eq(ret, 0); - - open_struct.name = flink.name; - ret = ioctl(fd, DRM_IOCTL_GEM_OPEN, &open_struct); - igt_assert_eq(ret, 0); - igt_assert(open_struct.handle != 0); - - close(fd2); - fd2 = drm_open_any(); - - open_struct.name = flink.name; - ret = ioctl(fd2, DRM_IOCTL_GEM_OPEN, &open_struct); - igt_assert_eq(ret, 0); - igt_assert(open_struct.handle != 0); -} - -int fd; - -igt_main -{ - igt_fixture - fd = drm_open_any(); - - igt_subtest("basic") - test_flink(fd); - igt_subtest("double-flink") - test_double_flink(fd); - igt_subtest("bad-flink") - test_bad_flink(fd); - igt_subtest("bad-open") - test_bad_open(fd); - igt_subtest("flink-lifetime") - test_flink_lifetime(fd); -} diff --git a/tests/gem_flink_basic.c b/tests/gem_flink_basic.c new file mode 100644 index 00000000..91444e8d --- /dev/null +++ b/tests/gem_flink_basic.c @@ -0,0 +1,169 @@ +/* + * Copyright © 2008 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Authors: + * Eric Anholt + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "drm.h" +#include "ioctl_wrappers.h" +#include "drmtest.h" + +static void +test_flink(int fd) +{ + struct drm_i915_gem_create create; + struct drm_gem_flink flink; + struct drm_gem_open open_struct; + int ret; + + igt_info("Testing flink and open.\n"); + + memset(&create, 0, sizeof(create)); + create.size = 16 * 1024; + ret = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create); + igt_assert_eq(ret, 0); + + flink.handle = create.handle; + ret = ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink); + igt_assert_eq(ret, 0); + + open_struct.name = flink.name; + ret = ioctl(fd, DRM_IOCTL_GEM_OPEN, &open_struct); + igt_assert_eq(ret, 0); + igt_assert(open_struct.handle != 0); +} + +static void +test_double_flink(int fd) +{ + struct drm_i915_gem_create create; + struct drm_gem_flink flink; + struct drm_gem_flink flink2; + int ret; + + igt_info("Testing repeated flink.\n"); + + memset(&create, 0, sizeof(create)); + create.size = 16 * 1024; + ret = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create); + igt_assert_eq(ret, 0); + + flink.handle = create.handle; + ret = ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink); + igt_assert_eq(ret, 0); + + flink2.handle = create.handle; + ret = ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink2); + igt_assert_eq(ret, 0); + igt_assert(flink2.name == flink.name); +} + +static void +test_bad_flink(int fd) +{ + struct drm_gem_flink flink; + int ret; + + igt_info("Testing error return on bad flink ioctl.\n"); + + flink.handle = 0x10101010; + ret = ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink); + igt_assert(ret == -1 && errno == ENOENT); +} + +static void +test_bad_open(int fd) +{ + struct drm_gem_open open_struct; + int ret; + + igt_info("Testing error return on bad open ioctl.\n"); + + open_struct.name = 0x10101010; + ret = ioctl(fd, DRM_IOCTL_GEM_OPEN, &open_struct); + + igt_assert(ret == -1 && errno == ENOENT); +} + +static void +test_flink_lifetime(int fd) +{ + struct drm_i915_gem_create create; + struct drm_gem_flink flink; + struct drm_gem_open open_struct; + int ret, fd2; + + igt_info("Testing flink lifetime.\n"); + + fd2 = drm_open_any(); + + memset(&create, 0, sizeof(create)); + create.size = 16 * 1024; + ret = ioctl(fd2, DRM_IOCTL_I915_GEM_CREATE, &create); + igt_assert_eq(ret, 0); + + flink.handle = create.handle; + ret = ioctl(fd2, DRM_IOCTL_GEM_FLINK, &flink); + igt_assert_eq(ret, 0); + + open_struct.name = flink.name; + ret = ioctl(fd, DRM_IOCTL_GEM_OPEN, &open_struct); + igt_assert_eq(ret, 0); + igt_assert(open_struct.handle != 0); + + close(fd2); + fd2 = drm_open_any(); + + open_struct.name = flink.name; + ret = ioctl(fd2, DRM_IOCTL_GEM_OPEN, &open_struct); + igt_assert_eq(ret, 0); + igt_assert(open_struct.handle != 0); +} + +int fd; + +igt_main +{ + igt_fixture + fd = drm_open_any(); + + igt_subtest("basic") + test_flink(fd); + igt_subtest("double-flink") + test_double_flink(fd); + igt_subtest("bad-flink") + test_bad_flink(fd); + igt_subtest("bad-open") + test_bad_open(fd); + igt_subtest("flink-lifetime") + test_flink_lifetime(fd); +} diff --git a/tests/prime_self_import.c b/tests/prime_self_import.c index 4fd372d9..f114ad09 100644 --- a/tests/prime_self_import.c +++ b/tests/prime_self_import.c @@ -449,14 +449,14 @@ igt_main const char *name; void (*fn)(void); } tests[] = { - { "with_one_bo", test_with_one_bo }, - { "with_one_bo_two_files", test_with_one_bo_two_files }, - { "with_two_bos", test_with_two_bos }, - { "with_fd_dup", test_with_fd_dup }, + { "basic-with_one_bo", test_with_one_bo }, + { "basic-with_one_bo_two_files", test_with_one_bo_two_files }, + { "basic-with_two_bos", test_with_two_bos }, + { "basic-with_fd_dup", test_with_fd_dup }, { "export-vs-gem_close-race", test_export_close_race }, { "reimport-vs-gem_close-race", test_reimport_close_race }, - { "llseek-size", test_llseek_size }, - { "llseek-bad", test_llseek_bad }, + { "basic-llseek-size", test_llseek_size }, + { "basic-llseek-bad", test_llseek_bad }, }; int i; -- cgit v1.2.3