summaryrefslogtreecommitdiff
path: root/tests/i915/gem_exec_parallel.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2020-03-30 09:51:59 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2020-03-31 08:52:25 +0100
commitf074c26aea9681e52a5128e0da45e809dbacbea4 (patch)
tree5d9386d07333bccdcf6f5b5053a94c4848748ff5 /tests/i915/gem_exec_parallel.c
parent563caa5c6c2535064f96cade2471ce854e76e114 (diff)
i915/gem_exec_parallel: Dynamise per-engine tests
Convert the per-engine tests into a dynamic subtest. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Diffstat (limited to 'tests/i915/gem_exec_parallel.c')
-rw-r--r--tests/i915/gem_exec_parallel.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/tests/i915/gem_exec_parallel.c b/tests/i915/gem_exec_parallel.c
index 98316af4..66fe1853 100644
--- a/tests/i915/gem_exec_parallel.c
+++ b/tests/i915/gem_exec_parallel.c
@@ -196,7 +196,6 @@ static void all(int fd, struct intel_execution_engine2 *engine, unsigned flags)
engines[nengine++] = e->flags;
}
} else {
- igt_require(gem_class_can_store_dword(fd, engine->class));
engines[nengine++] = engine->flags;
}
igt_require(nengine);
@@ -254,7 +253,7 @@ igt_main
const char *name;
unsigned flags;
} modes[] = {
- { "", 0 },
+ { "basic", 0 },
{ "contexts", CONTEXTS },
{ "fds", FDS },
{ NULL }
@@ -268,18 +267,21 @@ igt_main
igt_fork_hang_detector(fd);
}
- for (const struct mode *m = modes; m->name; m++)
- igt_subtest_f("%s", *m->name ? m->name : "basic")
- /* NULL value means all engines */
- all(fd, NULL, m->flags);
-
- __for_each_physical_engine(fd, e) {
+ igt_subtest_with_dynamic("engines") {
for (const struct mode *m = modes; m->name; m++)
- igt_subtest_f("%s%s%s",
- e->name,
- *m->name ? "-" : "",
- m->name)
- all(fd, e, m->flags);
+ igt_dynamic(m->name)
+ /* NULL value means all engines */
+ all(fd, NULL, m->flags);
+ }
+
+ for (const struct mode *m = modes; m->name; m++) {
+ igt_subtest_with_dynamic(m->name) {
+ __for_each_physical_engine(fd, e) {
+ if (gem_class_can_store_dword(fd, e->class))
+ igt_dynamic(e->name)
+ all(fd, e, m->flags);
+ }
+ }
}
igt_fixture {