From 610630622b4f5f9570f6faf136a0273535728536 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Thu, 15 Aug 2013 13:47:15 +0200 Subject: [PATCH] tests/gem_ctx_basic: Use igt_require ... instead of threading the 77 return value through threads. Even better would be to check for requirements in the single-threaded setup part of the test, since now it's done by multiple threads in parallel and will result in interleaved and multiplied output on stdout. Whatever. Signed-off-by: Daniel Vetter --- tests/gem_ctx_basic.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/tests/gem_ctx_basic.c b/tests/gem_ctx_basic.c index 72178a9..8b8bc20 100644 --- a/tests/gem_ctx_basic.c +++ b/tests/gem_ctx_basic.c @@ -40,7 +40,6 @@ int iter = 10000; /* globals */ pthread_t *threads; -int *returns; int devid; int fd; @@ -75,11 +74,7 @@ static void *work(void *arg) bufmgr = drm_intel_bufmgr_gem_init(td_fd, 4096); batch = intel_batchbuffer_alloc(bufmgr, devid); context = drm_intel_gem_context_create(bufmgr); - - if (!context) { - returns[thread_id] = 77; - goto out; - } + igt_require(context); for (i = 0; i < iter; i++) { struct scratch_buf src, dst; @@ -107,7 +102,7 @@ out: if (multiple_fds) close(td_fd); - pthread_exit(&returns[thread_id]); + pthread_exit(NULL); } static void parse(int argc, char *argv[]) @@ -151,7 +146,6 @@ int main(int argc, char *argv[]) parse(argc, argv); threads = calloc(num_contexts, sizeof(*threads)); - returns = calloc(num_contexts, sizeof(*returns)); for (i = 0; i < num_contexts; i++) pthread_create(&threads[i], NULL, work, &i); @@ -159,13 +153,9 @@ int main(int argc, char *argv[]) for (i = 0; i < num_contexts; i++) { int thread_status, ret; void *retval; - ret = pthread_join(threads[i], &retval); - thread_status = *(int *)retval; - if (!ret && thread_status) - igt_fail(thread_status); + igt_assert(pthread_join(threads[i], &retval) == 0); } - free(returns); free(threads); close(fd); -- 2.7.4