It access hardware, hence why the simple igt_only_list_subtests()
check from igt_fork/stop_signal_helper() isn't enough.

Signed-off-by: Daniel Vetter <[email protected]>
---
 lib/igt_aux.c                |  6 ------
 tests/gem_concurrent_all.c   |  6 ++++--
 tests/gem_ctx_create.c       | 10 +++++-----
 tests/gem_ctx_switch.c       |  7 +++----
 tests/gem_evict_everything.c |  4 ++--
 tests/gem_exec_basic.c       | 11 ++++++-----
 tests/gem_exec_create.c      | 10 ++++++----
 tests/gem_exec_flush.c       | 10 +++++-----
 tests/gem_exec_gttfill.c     |  6 ++----
 tests/gem_exec_nop.c         |  7 +++----
 tests/gem_exec_parallel.c    | 11 ++++++-----
 tests/gem_exec_store.c       | 11 ++++++-----
 tests/gem_exec_suspend.c     | 11 ++++++-----
 tests/gem_exec_whisper.c     | 11 ++++++-----
 tests/gem_sync.c             | 11 ++++++-----
 15 files changed, 66 insertions(+), 66 deletions(-)

diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index 27b74aec8461..e64b29cc090e 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -403,9 +403,6 @@ void igt_fork_hang_detector(int fd)
 {
        struct stat st;
 
-       if (igt_only_list_subtests())
-               return;
-
        igt_assert(fstat(fd, &st) == 0);
 
        signal(SIGRTMAX, sig_abort);
@@ -415,9 +412,6 @@ void igt_fork_hang_detector(int fd)
 
 void igt_stop_hang_detector(void)
 {
-       if (igt_only_list_subtests())
-               return;
-
        igt_stop_helper(&hang_detector);
 }
 #else
diff --git a/tests/gem_concurrent_all.c b/tests/gem_concurrent_all.c
index 019628eda1f8..9b19455bcfd8 100644
--- a/tests/gem_concurrent_all.c
+++ b/tests/gem_concurrent_all.c
@@ -1432,7 +1432,8 @@ run_mode(const char *prefix,
                        continue;
 
                if (!*h->suffix)
-                       igt_fork_hang_detector(fd);
+                       igt_fixture
+                               igt_fork_hang_detector(fd);
 
                for (p = all ? pipelines : pskip; p->prefix; p++) {
                        igt_fixture p->require();
@@ -1563,7 +1564,8 @@ run_mode(const char *prefix,
                }
 
                if (!*h->suffix)
-                       igt_stop_hang_detector();
+                       igt_fixture
+                               igt_stop_hang_detector();
        }
 
        igt_fixture
diff --git a/tests/gem_ctx_create.c b/tests/gem_ctx_create.c
index 0bdd4082d37e..021cfa24ff81 100644
--- a/tests/gem_ctx_create.c
+++ b/tests/gem_ctx_create.c
@@ -160,9 +160,9 @@ igt_main
                        }
                } else
                        ppgtt_engines[ppgtt_nengine++] = 0;
-       }
 
-       igt_fork_hang_detector(fd);
+               igt_fork_hang_detector(fd);
+       }
 
        igt_subtest("basic") {
                memset(&create, 0, sizeof(create));
@@ -193,8 +193,8 @@ igt_main
                        active(fd, e->exec_id | e->flags, 20, ncpus);
        }
 
-       igt_stop_hang_detector();
-
-       igt_fixture
+       igt_fixture {
+               igt_stop_hang_detector();
                close(fd);
+       }
 }
diff --git a/tests/gem_ctx_switch.c b/tests/gem_ctx_switch.c
index 7b273368faa8..aa48a1683457 100644
--- a/tests/gem_ctx_switch.c
+++ b/tests/gem_ctx_switch.c
@@ -152,9 +152,9 @@ igt_main
                fd = drm_open_driver(DRIVER_INTEL);
                handle = gem_create(fd, 4096);
                gem_write(fd, handle, 0, &bbe, sizeof(bbe));
-       }
 
-       igt_fork_hang_detector(fd);
+               igt_fork_hang_detector(fd);
+       }
 
        for (e = intel_execution_engines; e->name; e++) {
                igt_subtest_f("%s%s", e->exec_id == 0 ? "basic-" : "", e->name)
@@ -167,9 +167,8 @@ igt_main
                        single(fd, handle, e, INTERRUPTIBLE, ncpus);
        }
 
-       igt_stop_hang_detector();
-
        igt_fixture {
+               igt_stop_hang_detector();
                gem_close(fd, handle);
                close(fd);
        }
diff --git a/tests/gem_evict_everything.c b/tests/gem_evict_everything.c
index 61ee5479e246..51ed2931dfc5 100644
--- a/tests/gem_evict_everything.c
+++ b/tests/gem_evict_everything.c
@@ -266,10 +266,10 @@ igt_main
                test_major_evictions(fd, size, count);
        }
 
-       igt_stop_hang_helper();
+       igt_stop_signal_helper();
 
        igt_fixture {
-               igt_stop_signal_helper();
+               igt_stop_hang_helper();
                close(fd);
        }
 }
diff --git a/tests/gem_exec_basic.c b/tests/gem_exec_basic.c
index b0a4cda24e85..5f0f33b871a7 100644
--- a/tests/gem_exec_basic.c
+++ b/tests/gem_exec_basic.c
@@ -104,10 +104,11 @@ igt_main
        const struct intel_execution_engine *e;
        int fd = -1;
 
-       igt_fixture
+       igt_fixture {
                fd = drm_open_driver(DRIVER_INTEL);
 
-       igt_fork_hang_detector(fd);
+               igt_fork_hang_detector(fd);
+       }
 
        for (e = intel_execution_engines; e->name; e++) {
                igt_subtest_f("basic-%s", e->name)
@@ -118,8 +119,8 @@ igt_main
                        gtt(fd, e->exec_id | e->flags);
        }
 
-       igt_stop_hang_detector();
-
-       igt_fixture
+       igt_fixture {
+               igt_stop_hang_detector();
                close(fd);
+       }
 }
diff --git a/tests/gem_exec_create.c b/tests/gem_exec_create.c
index f5a61bacf91d..6e01947c57e9 100644
--- a/tests/gem_exec_create.c
+++ b/tests/gem_exec_create.c
@@ -150,10 +150,11 @@ igt_main
        const int ncpus = sysconf(_SC_NPROCESSORS_ONLN);
        int device = -1;
 
-       igt_fixture
+       igt_fixture {
                device = drm_open_driver(DRIVER_INTEL);
 
-       igt_fork_hang_detector(device);
+               igt_fork_hang_detector(device);
+       }
 
        igt_subtest("basic")
                all(device, 0, 20, 1);
@@ -163,8 +164,9 @@ igt_main
        igt_subtest("madvise")
                all(device, LEAK, 20, 1);
 
-       igt_stop_hang_detector();
 
-       igt_fixture
+       igt_fixture {
+               igt_stop_hang_detector();
                close(device);
+       }
 }
diff --git a/tests/gem_exec_flush.c b/tests/gem_exec_flush.c
index e42078955324..c16638b817d9 100644
--- a/tests/gem_exec_flush.c
+++ b/tests/gem_exec_flush.c
@@ -519,9 +519,9 @@ igt_main
                gem_require_mmap_wc(fd);
                gen = intel_gen(intel_get_drm_devid(fd));
                igt_info("Has LLC? %s\n", yesno(gem_has_llc(fd)));
-       }
 
-       igt_fork_hang_detector(fd);
+               igt_fork_hang_detector(fd);
+       }
 
        for (e = intel_execution_engines; e->name; e++) igt_subtest_group {
                unsigned ring = e->exec_id | e->flags;
@@ -593,8 +593,8 @@ igt_main
                }
        }
 
-       igt_stop_hang_detector();
-
-       igt_fixture
+       igt_fixture {
+               igt_stop_hang_detector();
                close(fd);
+       }
 }
diff --git a/tests/gem_exec_gttfill.c b/tests/gem_exec_gttfill.c
index 5966125c7e81..3ec43dcf11f2 100644
--- a/tests/gem_exec_gttfill.c
+++ b/tests/gem_exec_gttfill.c
@@ -196,10 +196,9 @@ igt_main
 
        igt_fixture {
                device = drm_open_driver(DRIVER_INTEL);
+               igt_fork_hang_detector(device);
        }
 
-       igt_fork_hang_detector(device);
-
        igt_subtest("basic")
                fillgtt(device, 0, 1); /* just enough to run a single pass */
 
@@ -210,9 +209,8 @@ igt_main
        igt_subtest("all")
                fillgtt(device, 0, 150);
 
-       igt_stop_hang_detector();
-
        igt_fixture {
+               igt_stop_hang_detector();
                close(device);
        }
 }
diff --git a/tests/gem_exec_nop.c b/tests/gem_exec_nop.c
index e90d5ebad023..9e5aab50f022 100644
--- a/tests/gem_exec_nop.c
+++ b/tests/gem_exec_nop.c
@@ -208,9 +208,9 @@ igt_main
                device = drm_open_driver(DRIVER_INTEL);
                handle = gem_create(device, 4096);
                gem_write(device, handle, 0, &bbe, sizeof(bbe));
-       }
 
-       igt_fork_hang_detector(device);
+               igt_fork_hang_detector(device);
+       }
 
        igt_subtest("basic")
                all(device, handle, 10);
@@ -222,9 +222,8 @@ igt_main
        igt_subtest("all")
                all(device, handle, 150);
 
-       igt_stop_hang_detector();
-
        igt_fixture {
+               igt_stop_hang_detector();
                gem_close(device, handle);
                close(device);
        }
diff --git a/tests/gem_exec_parallel.c b/tests/gem_exec_parallel.c
index 2c04ca16263a..6532797ad3f6 100644
--- a/tests/gem_exec_parallel.c
+++ b/tests/gem_exec_parallel.c
@@ -267,10 +267,11 @@ igt_main
        };
        int fd;
 
-       igt_fixture
+       igt_fixture {
                fd = drm_open_driver_master(DRIVER_INTEL);
 
-       igt_fork_hang_detector(fd);
+               igt_fork_hang_detector(fd);
+       }
 
        for (const struct mode *m = modes; m->name; m++)
                igt_subtest_f("%s", *m->name ? m->name : "basic")
@@ -286,8 +287,8 @@ igt_main
                                all(fd, e->exec_id | e->flags, m->flags);
        }
 
-       igt_stop_hang_detector();
-
-       igt_fixture
+       igt_fixture {
+               igt_stop_hang_detector();
                close(fd);
+       }
 }
diff --git a/tests/gem_exec_store.c b/tests/gem_exec_store.c
index ae7524258974..cd852e603329 100644
--- a/tests/gem_exec_store.c
+++ b/tests/gem_exec_store.c
@@ -213,10 +213,11 @@ igt_main
        const struct intel_execution_engine *e;
        int fd;
 
-       igt_fixture
+       igt_fixture {
                fd = drm_open_driver_master(DRIVER_INTEL);
 
-       igt_fork_hang_detector(fd);
+               igt_fork_hang_detector(fd);
+       }
 
        for (e = intel_execution_engines; e->name; e++)
                igt_subtest_f("basic-%s", e->name)
@@ -225,8 +226,8 @@ igt_main
        igt_subtest("basic-all")
                store_all(fd);
 
-       igt_stop_hang_detector();
-
-       igt_fixture
+       igt_fixture {
+               igt_stop_hang_detector();
                close(fd);
+       }
 }
diff --git a/tests/gem_exec_suspend.c b/tests/gem_exec_suspend.c
index cd133cc5e835..a45082ea2b6b 100644
--- a/tests/gem_exec_suspend.c
+++ b/tests/gem_exec_suspend.c
@@ -238,10 +238,11 @@ igt_main
        const struct intel_execution_engine *e;
        int fd;
 
-       igt_fixture
+       igt_fixture {
                fd = drm_open_driver_master(DRIVER_INTEL);
 
-       igt_fork_hang_detector(fd);
+               igt_fork_hang_detector(fd);
+       }
 
        igt_subtest("basic")
                run_test(fd, -1, NOSLEEP);
@@ -261,8 +262,8 @@ igt_main
                }
        }
 
-       igt_stop_hang_detector();
-
-       igt_fixture
+       igt_fixture {
+               igt_stop_hang_detector();
                close(fd);
+       }
 }
diff --git a/tests/gem_exec_whisper.c b/tests/gem_exec_whisper.c
index 0b309234c2b8..24c258f6181e 100644
--- a/tests/gem_exec_whisper.c
+++ b/tests/gem_exec_whisper.c
@@ -390,10 +390,11 @@ igt_main
        };
        int fd;
 
-       igt_fixture
+       igt_fixture {
                fd = drm_open_driver_master(DRIVER_INTEL);
 
-       igt_fork_hang_detector(fd);
+               igt_fork_hang_detector(fd);
+       }
 
        for (const struct mode *m = modes; m->name; m++)
                igt_subtest_f("%s", m->name)
@@ -410,8 +411,8 @@ igt_main
                }
        }
 
-       igt_stop_hang_detector();
-
-       igt_fixture
+       igt_fixture {
+               igt_stop_hang_detector();
                close(fd);
+       }
 }
diff --git a/tests/gem_sync.c b/tests/gem_sync.c
index 320bce3378e4..937c6eb2c7d6 100644
--- a/tests/gem_sync.c
+++ b/tests/gem_sync.c
@@ -209,10 +209,11 @@ igt_main
 
        igt_skip_on_simulation();
 
-       igt_fixture
+       igt_fixture {
                fd = drm_open_driver(DRIVER_INTEL);
 
-       igt_fork_hang_detector(fd);
+               igt_fork_hang_detector(fd);
+       }
 
        for (e = intel_execution_engines; e->name; e++) {
                igt_subtest_f("%s", e->name)
@@ -231,8 +232,8 @@ igt_main
        igt_subtest("forked-all")
                sync_all(fd, ncpus);
 
-       igt_stop_hang_detector();
-
-       igt_fixture
+       igt_fixture {
+               igt_stop_hang_detector();
                close(fd);
+       }
 }
-- 
2.8.1

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to