tests: use gem_create and gem_close more

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Daniel Vetter 2012-03-24 19:30:29 +01:00
parent ff93f35151
commit 9dbce0991f
3 changed files with 8 additions and 30 deletions

View File

@ -56,31 +56,22 @@ test_bad_close(int fd)
static void static void
test_create_close(int fd) test_create_close(int fd)
{ {
struct drm_i915_gem_create create; uint32_t handle;
int ret;
printf("Testing creating and closing an object.\n"); printf("Testing creating and closing an object.\n");
memset(&create, 0, sizeof(create)); handle = gem_create(fd, 16*1024);
create.size = 16 * 1024;
ret = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create);
assert(ret == 0);
gem_close(fd, create.handle); gem_close(fd, handle);
} }
static void static void
test_create_fd_close(int fd) test_create_fd_close(int fd)
{ {
struct drm_i915_gem_create create;
int ret;
printf("Testing closing with an object allocated.\n"); printf("Testing closing with an object allocated.\n");
memset(&create, 0, sizeof(create)); gem_create(fd, 16*1024);
create.size = 16 * 1024; /* leak it */
ret = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create);
assert(ret == 0);
close(fd); close(fd);
} }

View File

@ -45,9 +45,7 @@
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int fd; int fd;
struct drm_i915_gem_create create;
struct drm_i915_gem_mmap gem_mmap; struct drm_i915_gem_mmap gem_mmap;
struct drm_gem_close unref;
uint8_t expected[OBJECT_SIZE]; uint8_t expected[OBJECT_SIZE];
uint8_t buf[OBJECT_SIZE]; uint8_t buf[OBJECT_SIZE];
uint8_t *addr; uint8_t *addr;
@ -64,11 +62,7 @@ int main(int argc, char **argv)
ret = ioctl(fd, DRM_IOCTL_I915_GEM_MMAP, &gem_mmap); ret = ioctl(fd, DRM_IOCTL_I915_GEM_MMAP, &gem_mmap);
assert(ret == -1 && errno == ENOENT); assert(ret == -1 && errno == ENOENT);
memset(&create, 0, sizeof(create)); handle = gem_create(fd, OBJECT_SIZE);
create.size = OBJECT_SIZE;
ret = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create);
assert(ret == 0);
handle = create.handle;
printf("Testing mmaping of newly created object.\n"); printf("Testing mmaping of newly created object.\n");
gem_mmap.handle = handle; gem_mmap.handle = handle;
@ -90,9 +84,7 @@ int main(int argc, char **argv)
assert(memcmp(buf, addr, sizeof(buf)) == 0); assert(memcmp(buf, addr, sizeof(buf)) == 0);
printf("Testing that mapping stays after close\n"); printf("Testing that mapping stays after close\n");
unref.handle = handle; gem_close(fd, handle);
ret = ioctl(fd, DRM_IOCTL_GEM_CLOSE, &unref);
assert(ret == 0);
assert(memcmp(buf, addr, sizeof(buf)) == 0); assert(memcmp(buf, addr, sizeof(buf)) == 0);
printf("Testing unmapping\n"); printf("Testing unmapping\n");

View File

@ -77,7 +77,6 @@ do_write(int fd, int handle, void *buf, int offset, int size)
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int fd; int fd;
struct drm_i915_gem_create create;
uint8_t expected[OBJECT_SIZE]; uint8_t expected[OBJECT_SIZE];
uint8_t buf[OBJECT_SIZE]; uint8_t buf[OBJECT_SIZE];
int ret; int ret;
@ -85,11 +84,7 @@ int main(int argc, char **argv)
fd = drm_open_any(); fd = drm_open_any();
memset(&create, 0, sizeof(create)); handle = gem_create(fd, OBJECT_SIZE);
create.size = OBJECT_SIZE;
ret = ioctl(fd, DRM_IOCTL_I915_GEM_CREATE, &create);
assert(ret == 0);
handle = create.handle;
printf("Testing contents of newly created object.\n"); printf("Testing contents of newly created object.\n");
ret = do_read(fd, handle, buf, 0, OBJECT_SIZE); ret = do_read(fd, handle, buf, 0, OBJECT_SIZE);