pytest-dev / pytest-dev/pytest-qt

RFC: Running both modeltester implementations in parallel

Open
#422 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
455
Forks
72
Avg merge
12h 26m
Merged PRs (30d)
1

Description

In #239, I added support for the C++ Qt modeltester, so that the Python implementation is only used when the C++ one from Qt is not available. Nowadays, the C++ implementation is available for all backends, so the Python one is... rather useless. Of course I only realized after already porting the newest changes 😅

With #420, we now have some additional checks which only landed in Qt 6 (but already work and are useful for e.g. Qt 5.15 too), and with #421, we get checks which aren't even in a Qt release yet (they will be in 6.4.0 in around 5-6 months).

We've been favoring the C++ checker because it can check some stuff we can't (better access to internals), but with that, this now isn't as true anymore (especially since people might want to check older Qt releases, thus also getting an older C++ checker). We also get much nicer output due to pytest's assertion handling.

I'm wondering: Should we deprecate force_py and always run both checkers in parallel? The obvious drawback is somewhat verbose/redundant output (both Python and C++ checker, though in different sections).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review issues #239, #420, and #421 first, then trace how the force_py option selects the Python and C++ modeltesters. The issue does not name files or tests; done would require a maintainer decision on parallel execution and deprecation before implementation can be scoped.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
testing
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.