GUI Tests
@poperigby: A few minor things I noticed regarding the GUI tests. If you want to fix them, feel free, otherwise I'll get to them sometime prior to releasing 2.6 (sometime in the next few days, I think I mostly just need to finish cleaning up !551 (merged)). I'm grouping these into one issue because they're related and fairly small.
Since the GUI is optional, the GUI tests should also be optional, mostly so that they can be run when packaging (E.g. the Gentoo and Arch source-based packages run tests during installation, and at the moment they would fail if PySide6 isn't installed. This is a particular issue on Gentoo where Qt6 stuff is under construction). pytest.mark.skipif
can be used to skip tests based on arbitrary conditions (not sure if it's possible for an entire module, it may be necessary to mark each test individually).
The Appveyor CI is also failing due to the GUI tests (e.g.), and while making them optional would fix this, we probably want to test the GUI on Windows/MacOS too.
I also noticed this comment, and that the GUI tests are a little slow. You can use fixtures to run stuff once per module, which is done in a bunch of the other tests.
As a side note, the only real advantage of a module-scope fixture for these at the moment is that it's a simple way of avoiding running stuff for each function, while still working when running tests individually. We could do more with fixtures though (#419).