Go to file
Aleksandr Mezin 9788f12e9e
Make 'steal' command atomic (#1144)
Either unschedule all requested tests, or none if it's not possible -
if some of the requested tests have already been processed by the time
the request arrives. It may happen if the worker runs tests faster than
the controller receives and processes status updates. But in this case
maybe it's just better to let the worker keep running.

This is a prerequisite for group/scope support in worksteal scheduler -
so they won't be broken up incorrectly.

This change could break schedulers that use "steal" command. However:

1) worksteal scheduler doesn't need any adjustments.

2) I'm not aware of any external schedulers relying on this command yet.

So I think it's better to keep the protocol simple, not complicate it for
imaginary compatibility with some unknown and likely non-existent
schedulers.

Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com>
2024-10-30 14:00:10 -03:00
.github Added support for Python 3.13 2024-10-19 08:56:01 -06:00
changelog Make 'steal' command atomic (#1144) 2024-10-30 14:00:10 -03:00
docs Fix '-n logical' inconsistencies and review --help formatting (#1022) 2024-02-25 11:49:41 -03:00
example Deprecate --boxed 2021-11-02 09:38:56 +02:00
src/xdist Make 'steal' command atomic (#1144) 2024-10-30 14:00:10 -03:00
testing Make 'steal' command atomic (#1144) 2024-10-30 14:00:10 -03:00
.gitignore Adopt 'src' layout and add 'testing' extras 2019-06-06 19:35:13 -03:00
.pre-commit-config.yaml [pre-commit.ci] pre-commit autoupdate (#1147) 2024-10-28 22:46:37 -03:00
.readthedocs.yaml Install requirements.txt while building docs 2023-10-10 08:14:19 -03:00
CHANGELOG.rst Release 3.6.1 2024-04-28 22:20:45 +03:00
LICENSE Update LICENSE formatting (#996) 2024-02-12 12:04:26 -03:00
README.rst Split workflows into test and deploy 2022-11-05 12:24:00 -03:00
RELEASING.rst Add deploy instructions using the command-line (#967) 2023-12-01 11:28:21 -03:00
pyproject.toml Added support for Python 3.13 2024-10-19 08:56:01 -06:00
tox.ini Added support for Python 3.13 2024-10-19 08:56:01 -06:00

README.rst

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

============
pytest-xdist
============

.. image:: http://img.shields.io/pypi/v/pytest-xdist.svg
    :alt: PyPI version
    :target: https://pypi.python.org/pypi/pytest-xdist

.. image:: https://img.shields.io/conda/vn/conda-forge/pytest-xdist.svg
    :target: https://anaconda.org/conda-forge/pytest-xdist

.. image:: https://img.shields.io/pypi/pyversions/pytest-xdist.svg
    :alt: Python versions
    :target: https://pypi.python.org/pypi/pytest-xdist

.. image:: https://github.com/pytest-dev/pytest-xdist/workflows/test/badge.svg
    :target: https://github.com/pytest-dev/pytest-xdist/actions

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/ambv/black

The `pytest-xdist`_ plugin extends pytest with new test execution modes, the most used being distributing
tests across multiple CPUs to speed up test execution::

    pytest -n auto

With this call, pytest will spawn a number of workers processes equal to the number of available CPUs, and distribute
the tests randomly across them.

Documentation
=============

Documentation is available at `Read The Docs <https://pytest-xdist.readthedocs.io>`__.