diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2017-09-29 10:00:19 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2017-10-05 13:06:16 +0100 |
commit | 0af43d5e5932aaa3b65df17de723d4770677144e (patch) | |
tree | 5e0599b491cccab9ae7ea5d2900b235d38ec5aa4 | |
parent | c5b4eaa82b2f4bdd37a1ebbff0236a157209f412 (diff) |
igt/gem_workarounds: Reduce manual list to combinatorial loops
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
-rw-r--r-- | tests/gem_workarounds.c | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/tests/gem_workarounds.c b/tests/gem_workarounds.c index 99ae1782..41b58d5b 100644 --- a/tests/gem_workarounds.c +++ b/tests/gem_workarounds.c @@ -219,6 +219,24 @@ static void check_workarounds(int fd, enum operation op, unsigned int flags) igt_main { int device = -1; + const struct { + const char *name; + enum operation op; + } ops[] = { + { "basic-read", SIMPLE_READ }, + { "reset", GPU_RESET }, + { "suspend-resume", SUSPEND_RESUME }, + { } + }, *op; + const struct { + const char *name; + unsigned int flags; + } modes[] = { + { "", 0 }, + { "-context", CONTEXT }, + { "-fd", FD }, + { } + }, *m; igt_fixture { FILE *file; @@ -258,30 +276,10 @@ igt_main close(fd); } - igt_subtest("basic-read") - check_workarounds(device, SIMPLE_READ, 0); - - igt_subtest("basic-read-context") - check_workarounds(device, SIMPLE_READ, CONTEXT); - - igt_subtest("basic-read-fd") - check_workarounds(device, SIMPLE_READ, FD); - - igt_subtest("reset") - check_workarounds(device, GPU_RESET, 0); - - igt_subtest("reset-context") - check_workarounds(device, GPU_RESET, CONTEXT); - - igt_subtest("reset-fd") - check_workarounds(device, GPU_RESET, FD); - - igt_subtest("suspend-resume") - check_workarounds(device, SUSPEND_RESUME, 0); - - igt_subtest("suspend-resume-context") - check_workarounds(device, SUSPEND_RESUME, CONTEXT); - - igt_subtest("suspend-resume-fd") - check_workarounds(device, SUSPEND_RESUME, FD); + for (op = ops; op->name; op++) { + for (m = modes; m->name; m++) { + igt_subtest_f("%s%s", op->name, m->name) + check_workarounds(device, op->op, m->flags); + } + } } |