summaryrefslogtreecommitdiff
path: root/tests/prime_nv_pcopy.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/prime_nv_pcopy.c')
-rw-r--r--tests/prime_nv_pcopy.c62
1 files changed, 28 insertions, 34 deletions
diff --git a/tests/prime_nv_pcopy.c b/tests/prime_nv_pcopy.c
index 6b870c6c..c6347dd9 100644
--- a/tests/prime_nv_pcopy.c
+++ b/tests/prime_nv_pcopy.c
@@ -1265,35 +1265,27 @@ out:
int main(int argc, char **argv)
{
- int ret;
-
igt_subtest_init(argc, argv);
- ret = find_and_open_devices();
- if (ret < 0)
- return ret;
+ igt_fixture {
+ igt_assert(find_and_open_devices() == 0);
- if (nouveau_fd == -1 || intel_fd == -1) {
- fprintf(stderr,"failed to find intel and nouveau GPU\n");
- if (!igt_only_list_subtests())
- return 77;
- }
+ igt_require(nouveau_fd != -1);
+ igt_require(intel_fd != -1);
- /* set up intel bufmgr */
- bufmgr = drm_intel_bufmgr_gem_init(intel_fd, 4096);
- if (!bufmgr)
- return -1;
- /* Do not enable reuse, we share (almost) all buffers. */
- //drm_intel_bufmgr_gem_enable_reuse(bufmgr);
+ /* set up intel bufmgr */
+ bufmgr = drm_intel_bufmgr_gem_init(intel_fd, 4096);
+ igt_assert(bufmgr);
+ /* Do not enable reuse, we share (almost) all buffers. */
+ //drm_intel_bufmgr_gem_enable_reuse(bufmgr);
- /* set up nouveau bufmgr */
- ret = init_nouveau();
- if (ret < 0)
- return 77;
+ /* set up nouveau bufmgr */
+ igt_require(init_nouveau() >= 0);
- /* set up an intel batch buffer */
- devid = intel_get_drm_devid(intel_fd);
- batch = intel_batchbuffer_alloc(bufmgr, devid);
+ /* set up an intel batch buffer */
+ devid = intel_get_drm_devid(intel_fd);
+ batch = intel_batchbuffer_alloc(bufmgr, devid);
+ }
#define xtest(x, args...) \
igt_subtest( #x ) \
@@ -1310,20 +1302,22 @@ int main(int argc, char **argv)
xtest(test3_5);
xtest(test_semaphore);
- nouveau_bo_ref(NULL, &query_bo);
- nouveau_object_del(&pcopy);
- nouveau_bufctx_del(&nbufctx);
- nouveau_pushbuf_del(&npush);
- nouveau_object_del(&nchannel);
+ igt_fixture {
+ nouveau_bo_ref(NULL, &query_bo);
+ nouveau_object_del(&pcopy);
+ nouveau_bufctx_del(&nbufctx);
+ nouveau_pushbuf_del(&npush);
+ nouveau_object_del(&nchannel);
- intel_batchbuffer_free(batch);
+ intel_batchbuffer_free(batch);
- nouveau_client_del(&nclient);
- nouveau_device_del(&ndev);
- drm_intel_bufmgr_destroy(bufmgr);
+ nouveau_client_del(&nclient);
+ nouveau_device_del(&ndev);
+ drm_intel_bufmgr_destroy(bufmgr);
- close(intel_fd);
- close(nouveau_fd);
+ close(intel_fd);
+ close(nouveau_fd);
+ }
igt_exit();
}