summaryrefslogtreecommitdiff
path: root/tests/gem_pwrite_pread.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-08-14 18:02:46 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-08-14 18:02:46 +0200
commitb3880d3a969656b78fe246e5ca4dd5a4a2c70ef5 (patch)
tree471f1d9f81ec5299615cf59cb1787afac09a5367 /tests/gem_pwrite_pread.c
parentc3dd8a8c85b3e1a4329282cbe82fd7f387cd2643 (diff)
tests: roll out igt_fixture
Also sprinkle igt_assert and igt_require over the setup code to clean up code while at it. To avoid gcc getting upset about unitialized variables just move them out of main as global data (where they always get initialized to 0) - gcc can't see through our igt_fixture and igt_subtest maze properly. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'tests/gem_pwrite_pread.c')
-rw-r--r--tests/gem_pwrite_pread.c42
1 files changed, 26 insertions, 16 deletions
diff --git a/tests/gem_pwrite_pread.c b/tests/gem_pwrite_pread.c
index 7dc88957..852b16c6 100644
--- a/tests/gem_pwrite_pread.c
+++ b/tests/gem_pwrite_pread.c
@@ -375,12 +375,14 @@ static const char *bytes_per_sec(char *buf, double v)
return buf;
}
+uint32_t *tmp, src, dst;
+int fd;
+
int main(int argc, char **argv)
{
int object_size = 0;
uint32_t buf[20];
- uint32_t *tmp, src, dst;
- int fd, count;
+ int count;
igt_subtest_init(argc, argv);
igt_skip_on_simulation();
@@ -391,14 +393,16 @@ int main(int argc, char **argv)
object_size = OBJECT_SIZE;
object_size = (object_size + 3) & -4;
- fd = drm_open_any();
+ igt_fixture {
+ fd = drm_open_any();
- dst = gem_create(fd, object_size);
- src = gem_create(fd, object_size);
- tmp = malloc(object_size);
+ dst = gem_create(fd, object_size);
+ src = gem_create(fd, object_size);
+ tmp = malloc(object_size);
- gem_set_caching(fd, src, 0);
- gem_set_caching(fd, dst, 0);
+ gem_set_caching(fd, src, 0);
+ gem_set_caching(fd, dst, 0);
+ }
igt_subtest("uncached-copy-correctness")
test_copy(fd, src, dst, tmp, object_size);
@@ -434,8 +438,10 @@ int main(int argc, char **argv)
}
}
- gem_set_caching(fd, src, 1);
- gem_set_caching(fd, dst, 1);
+ igt_fixture {
+ gem_set_caching(fd, src, 1);
+ gem_set_caching(fd, dst, 1);
+ }
igt_subtest("snooped-copy-correctness")
test_copy(fd, src, dst, tmp, object_size);
@@ -471,8 +477,10 @@ int main(int argc, char **argv)
}
}
- gem_set_caching(fd, src, 2);
- gem_set_caching(fd, dst, 2);
+ igt_fixture {
+ gem_set_caching(fd, src, 2);
+ gem_set_caching(fd, dst, 2);
+ }
igt_subtest("display-copy-correctness")
test_copy(fd, src, dst, tmp, object_size);
@@ -508,11 +516,13 @@ int main(int argc, char **argv)
}
}
- free(tmp);
- gem_close(fd, src);
- gem_close(fd, dst);
+ igt_fixture {
+ free(tmp);
+ gem_close(fd, src);
+ gem_close(fd, dst);
- close(fd);
+ close(fd);
+ }
igt_exit();
}