[igt-dev] [PATCH i-g-t v3] ts/core_setmaster: new test for drop/set master semantics

Emil Velikov emil.l.velikov at gmail.com
Mon Mar 9 13:53:39 UTC 2020


On Mon, 9 Mar 2020 at 11:01, Petri Latvala <petri.latvala at intel.com> wrote:
>
> On Fri, Mar 06, 2020 at 04:32:19PM +0000, Emil Velikov wrote:
> > On Fri, 6 Mar 2020 at 14:28, Petri Latvala <petri.latvala at intel.com> wrote:
> >
> > > It is _extremely_ likely that we (i915 CI) could sometimes run
> > > igt at i915_module_load@reload right before this test. Or
> > > igt at i915_selftest@live. When we do, there's no /dev/dri/card0 at the
> > > time of chmodding but is at the time of __drm_open_driver().
> > >
> > If I understand you correctly, if a test which does rmmod/modprobe
> > fails, the CI will still continue to run other tests.
>
> It's worse than that. All subtests of i915_module_load except @reload
> leave the module unloaded also on _success_. i915_selftest likewise
> leaves the module unloaded. If they loaded the module back on success,
> running module loading tests back-to-back would do an additional
> module reload roundtrip.
>
Ouch, this sounds pretty nasty....

Pretty much all other tests ensure the state is restored as original upon exit.
So it would make sense to fix these by adding modprobe as a closing fixture.

Regardless, v4 [1] has the close(open(...)) workaround which should
cater for this.

Thanks again for the time in explaining these IGT subtleties.
-Emil

[1] https://lists.freedesktop.org/archives/igt-dev/2020-March/021081.html


More information about the igt-dev mailing list