[igt-dev] [PATCH i-g-t] igt/drv_module_reload: Don't reload on exit
Chris Wilson
chris at chris-wilson.co.uk
Fri Jul 27 10:04:35 UTC 2018
The next test will happily load whatever module it requires.
v2: Unload at start, mandate tests cleanup after themselves.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Petri Latvala <petri.latvala at intel.com>
---
tests/drv_module_reload.c | 48 ++++++++++++++++-----------------------
1 file changed, 19 insertions(+), 29 deletions(-)
diff --git a/tests/drv_module_reload.c b/tests/drv_module_reload.c
index 34f55eab1..cf4aea80d 100644
--- a/tests/drv_module_reload.c
+++ b/tests/drv_module_reload.c
@@ -220,20 +220,6 @@ static void store_all(int fd)
igt_assert_eq(intel_detect_and_clear_missed_interrupts(fd), 0);
}
-static int
-reload(const char *opts_i915)
-{
- int err = IGT_EXIT_SUCCESS;
-
- if ((err = igt_i915_driver_unload()))
- return err;
-
- if ((err = igt_i915_driver_load(opts_i915)))
- return err;
-
- return err;
-}
-
static int open_parameters(const char *module_name)
{
char path[256];
@@ -340,21 +326,30 @@ hda_dynamic_debug(bool enable)
igt_main
{
- int err;
+ igt_subtest("basic-reload") {
+ int load_error;
+
+ igt_i915_driver_unload();
- igt_fixture
hda_dynamic_debug(true);
+ load_error = igt_i915_driver_load(NULL);
+ hda_dynamic_debug(false);
- igt_subtest("basic-reload") {
- if ((err = reload(NULL)))
- igt_fail(err);
+ igt_assert_eq(load_error, 0);
gem_sanitycheck();
gem_exec_store();
+
+ /* only default modparams, can leave module loaded */
}
- igt_subtest("basic-no-display")
- igt_assert_eq(reload("disable_display=1"), 0);
+ igt_subtest("basic-no-display") {
+ igt_i915_driver_unload();
+
+ igt_assert_eq(igt_i915_driver_load("disable_display=1"), 0);
+
+ igt_i915_driver_unload();
+ }
igt_subtest("basic-reload-inject") {
int i = 0;
@@ -366,14 +361,9 @@ igt_main
/* We expect to hit at least one fault! */
igt_assert(i > 1);
- }
-
- igt_fixture {
- if ((err = reload(NULL)))
- igt_fail(err);
- gem_sanitycheck();
- gem_exec_store();
- hda_dynamic_debug(false);
+ /* inject_fault() leaves the module unloaded */
}
+
+ /* Subtests should unload the module themselves if they use modparams */
}
--
2.18.0
More information about the igt-dev
mailing list