summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-08-15 13:47:15 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-08-15 13:47:15 +0200
commit610630622b4f5f9570f6faf136a0273535728536 (patch)
tree53d4ee884606de415e86b42063d3d3e65a18add2 /tests
parent176011eea776566ca73f98c48b0476db7f8b1e4d (diff)
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 <daniel.vetter@ffwll.ch>
Diffstat (limited to 'tests')
-rw-r--r--tests/gem_ctx_basic.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/tests/gem_ctx_basic.c b/tests/gem_ctx_basic.c
index 72178a9f..8b8bc200 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);