[igt-dev] [PATCH i-g-t] tests/i915_module_load: Add the "load" test
Petri Latvala
petri.latvala at intel.com
Wed May 25 15:09:45 UTC 2022
On Wed, May 25, 2022 at 05:40:52PM +0300, Knop, Ryszard wrote:
> On Wed, 2022-05-25 at 17:29 +0300, Petri Latvala wrote:
> > On Wed, May 25, 2022 at 04:21:34PM +0200, Ryszard Knop wrote:
> > > Add a fake test that:
> > > - Asserts i915 and associated drivers are not yet loaded;
> > > - Loads the i915 driver if that's not the case yet;
> > > - Performs a small set of sanity tests to make sure the GPU is
> > > there.
> > >
> > > The reload test now also performs the same checks.
> > >
> > > Signed-off-by: Ryszard Knop <ryszard.knop at intel.com>
> > > ---
> > > tests/i915/i915_module_load.c | 52 +++++++++++++++++++++++++++++--
> > > ----
> > > 1 file changed, 43 insertions(+), 9 deletions(-)
> > >
> > > diff --git a/tests/i915/i915_module_load.c
> > > b/tests/i915/i915_module_load.c
> > > index f5f98acc..46608aa8 100644
> > > --- a/tests/i915/i915_module_load.c
> > > +++ b/tests/i915/i915_module_load.c
> > > @@ -30,6 +30,7 @@
> > > #include <sys/ioctl.h>
> > > #include <fcntl.h>
> > >
> > > +#include "i915/gem.h"
> > > #include "i915/gem_create.h"
> > > #include "igt_debugfs.h"
> > > #include "igt_aux.h"
> > > @@ -236,21 +237,54 @@ hda_dynamic_debug(bool enable)
> > > fclose(fp);
> > > }
> > >
> > > +static void load_and_check_i915(void)
> > > +{
> > > + int error;
> > > + int drm_fd;
> > > +
> > > + hda_dynamic_debug(true);
> > > + error = igt_i915_driver_load(NULL);
> > > + hda_dynamic_debug(false);
> > > +
> > > + igt_assert_eq(error, 0);
> > > +
> > > + /* driver is ready, check if it's bound */
> > > + drm_fd = __drm_open_driver(DRIVER_INTEL);
> > > + igt_fail_on_f(drm_fd < 0, "Cannot open the i915 DRM driver
> > > after modprobing i915.\n");
> > > +
> > > + /* make sure the GPU is idle */
> > > + gem_quiescent_gpu(drm_fd);
> > > + close(drm_fd);
> > > +
> > > + /* make sure we can do basic memory ops */
> > > + gem_sanitycheck();
> > > +}
> > > +
> > > igt_main
> > > {
> > > + igt_describe("Assert that i915 and friends are not yet
> > > loaded, then load them.");
> > > + igt_subtest("load") {
> > > + const char * unwanted_drivers[] = {
> > > + "i915",
> > > + "intel-gtt",
> > > + "snd_hda_intel",
> > > + "snd_hdmi_lpe_audio",
> > > + NULL
> > > + };
> > > +
> > > + for (int i = 0; unwanted_drivers[i] != NULL; i++) {
> > > + igt_abort_on_f(igt_kmod_is_loaded(unwanted_
> > > drivers[i]),
> > > + "%s is already loaded!\n",
> > > unwanted_drivers[i]);
> > > + }
> >
> > Don't abort here, a skip is enough.
>
> Tomi mentioned he would prefer this to be a hard failure if the module
> is already loaded - @reload test does not fail if it's loaded already.
> Should I swap it to a skip anyways?
For the record, discussed offline: Skip is the correct result for this
if i915 is already loaded.
--
Petri Latvala
More information about the igt-dev
mailing list