summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/i915/gem_workarounds.c29
1 files changed, 26 insertions, 3 deletions
diff --git a/tests/i915/gem_workarounds.c b/tests/i915/gem_workarounds.c
index 78478ad2..44e3dce8 100644
--- a/tests/i915/gem_workarounds.c
+++ b/tests/i915/gem_workarounds.c
@@ -282,9 +282,32 @@ igt_main
}
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);
+ igt_subtest_group {
+ igt_hang_t hang = {};
+
+ igt_fixture {
+ switch (op->op) {
+ case GPU_RESET:
+ hang = igt_allow_hang(device, 0, 0);
+ break;
+ default:
+ break;
+ }
+ }
+
+ for (m = modes; m->name; m++)
+ igt_subtest_f("%s%s", op->name, m->name)
+ check_workarounds(device, op->op, m->flags);
+
+ igt_fixture {
+ switch (op->op) {
+ case GPU_RESET:
+ igt_disallow_hang(device, hang);
+ break;
+ default:
+ break;
+ }
+ }
}
}
}