pytest-dev / pytest-dev/pytest-xdist
Allow other plugins to use xdist's channels for communication
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.9k
- Forks
- 287
- Avg merge
- 9h 30m
- Merged PRs (30d)
- 2
Description
rerunfailures plugin uses its own sockets for communication between master and worker nodes. Because of hardcoded localhost I assume it won't work in an actual distributed setup.
If I'm not mistaken, I've seen at least one more plugin doing something similar, but can't find it right now.
Could xdist provide some interface for other plugins to perform communication?
Currently my guess is that some form of "execute this function on the master node (and optionally get the result)" should cover most cases. At least, it will be enough for rerunfailures.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the communication code in pytest_rerunfailures.py around lines 433-505 and compare it with xdist's existing communication mechanisms. Determine what plugin-facing interface is needed for master-to-worker communication and whether it can return results. Done means the requested interface is defined clearly enough for plugins such as rerunfailures to avoid their own localhost sockets in distributed setups.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100