From b6b5e4e036f805efd350d8716b15657d4506b752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Thu, 18 Jan 2024 09:31:01 +0100 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 python-pytest-xdist revision eb709d88d7594d8fd176db7b3d6be6e8 --- .gitattributes | 23 ++ pytest-xdist-3.5.0.tar.gz | 3 + python-pytest-xdist.changes | 521 ++++++++++++++++++++++++++++++++++++ python-pytest-xdist.spec | 88 ++++++ 4 files changed, 635 insertions(+) create mode 100644 .gitattributes create mode 100644 pytest-xdist-3.5.0.tar.gz create mode 100644 python-pytest-xdist.changes create mode 100644 python-pytest-xdist.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/pytest-xdist-3.5.0.tar.gz b/pytest-xdist-3.5.0.tar.gz new file mode 100644 index 0000000..5b3b929 --- /dev/null +++ b/pytest-xdist-3.5.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbb36f3d67e0c478baa57fa4edc8843887e0f6cfc42d677530a36d7472b32d8a +size 78977 diff --git a/python-pytest-xdist.changes b/python-pytest-xdist.changes new file mode 100644 index 0000000..2fec3ec --- /dev/null +++ b/python-pytest-xdist.changes @@ -0,0 +1,521 @@ +------------------------------------------------------------------- +Mon Nov 27 20:03:15 UTC 2023 - Dirk Müller + +- update to 3.5.0: + * ``--dist=loadscope`` now sorts scopes by number of tests to + assign largest scopes early -- in many cases this should + improve overall test session running time, as there is less + chance of a large scope being left to be processed near the + end of the session, leaving other workers idle. + +------------------------------------------------------------------- +Thu Nov 16 21:15:05 UTC 2023 - Benoît Monin + +- update to 3.4.0: + * #963: Wait for workers to finish reporting when test run stops + early. + * #965: Added support for Python 3.12. + +------------------------------------------------------------------- +Mon May 22 21:13:23 UTC 2023 - Dirk Müller + +- update to 3.3.1: + * Avoid remote calls during startup as execnet by default does + not ensure remote affinity with the main thread and might + accidentally schedule the pytest worker into a non-main + thread, which breaks numerous frameworks, for example + ``asyncio``, ``anyio``, ``PyQt/PySide``, etc. + A more safe correction will require thread affinity in + ``execnet`` + +------------------------------------------------------------------- +Sun May 14 09:36:49 UTC 2023 - Dirk Müller + +- update to 3.3.0: + * Improved progress output when collecting nodes to be less + verbose. + +------------------------------------------------------------------- +Fri Apr 21 12:32:07 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:44:12 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Mon Mar 27 07:25:48 UTC 2023 - Dirk Müller + +- update to 3.2.1: + * Fixed hang in ``worksteal`` scheduler. + * Improved Documentation + * Document limitations for debugging due + to standard I/O of workers not being forwarded. Also, mention + remote debugging as a possible workaround. + Features: + * Users can now configure ``load`` + scheduling precision using ``--maxschedchunk`` command + line option. + * New ``worksteal`` scheduler, based on + the idea of `work stealing + It's similar + to ``load`` scheduler, but it should handle tests with + significantly differing duration better, and, at the same + time, it should provide similar or better reuse of fixtures. + +------------------------------------------------------------------- +Wed Nov 30 08:01:07 UTC 2022 - Daniel Garcia + +- Remove python_module macro definition +- Use autosetup instead of setup + autopatch +- Remove reintroduce-slave-terminology.patch +- Remove 0001-Revert-Remove-compat-for-pytest-6.patch +- Update to 3.0.2: + # Bug Fixes + * #813: Cancel shutdown when a crashed worker is restarted. + + # Deprecations + * #825: The --rsyncdir command line argument and rsyncdirs config variable + are deprecated. + * The rsync feature will be removed in pytest-xdist 4.0. + * #826: The --looponfail command line argument and looponfailroots config + variable are deprecated. + * The loop-on-fail feature will be removed in pytest-xdist 4.0. + + # Improved Documentation + * #791: Document the pytest_xdist_auto_num_workers hook. + * #796: Added known limitations section to documentation. + * #829: Document the -n logical option. + + # Features + * #792: The environment variable PYTEST_XDIST_AUTO_NUM_WORKERS can now be + used to specify the default for -n auto and -n logical. + * #812: Partially restore old initial batch distribution algorithm in + LoadScheduling. + * pytest orders tests for optimal sequential execution - i. e. avoiding + unnecessary setup and teardown of fixtures. So executing tests in + consecutive chunks is important for optimal performance. + * In v1.14, initial test distribution in LoadScheduling was changed to + round-robin, optimized for the corner case, when the number of tests is + less than 2 * number of nodes. At the same time, it became worse for all + other cases. + * For example: if some tests use some "heavy" fixture, and these tests fit + into the initial batch, with round-robin distribution the fixture will be + created min(n_tests, n_workers) times, no matter how many other tests there + are. + * With the old algorithm (before v1.14), if there are enough tests not using + the fixture, the fixture was created only once. + * So restore the old behavior for typical cases where the number of tests is + much greater than the number of workers (or, strictly speaking, when there + are at least 2 tests for every node). + + # Removals + * #468: The --boxed command-line option has been removed. If you still need + this functionality, install pytest-forked separately. + + # Trivial Changes + + * #468: The py dependency has been dropped. + * #822: Replace internal usage of py.log with a custom solution (but with the + same interface). + * #823: Remove usage of py._pydir as an rsync candidate. + * #824: Replace internal usages of py.path.local by pathlib.Path. + +------------------------------------------------------------------- +Sat Jan 15 18:31:01 UTC 2022 - Matthias Fehring + +- Update to 2.5.0 + * Features + + Full compatibility with pytest 7 - no deprecation warnings or + use of legacy features. + + New --dist=loadgroup option, which ensures all tests marked + with @pytest.mark.xdist_group run in the same session/worker. + Other tests run distributed as in --dist=load. + * Trivial Changes + + Use @pytest.hookspec decorator to declare hook options in + newhooks.py to avoid warnings in pytest 7.0. + + Use up-to-date setup.cfg/pyproject.toml packaging setup. + + Started using type annotations and mypy checking internally. + The types are incomplete and not published. +- Changes from 2.4.0 + * Features + + On Linux, the process title now changes to indicate the current + worker state (running/idle). Depends on the setproctitle package, + which can be installed with pip install pytest-xdist[setproctitle]. + + Add support for Python 3.10. +- Changes from 2.3.0 + * Deprecations and Removals + + Python 3.5 is no longer supported. + * Features + + Add --numprocesses=logical flag, which automatically uses the + number of logical CPUs available, instead of physical CPUs + with auto. This is very useful for test suites which are not + CPU-bound. + + Added new pytest_handlecrashitem hook to allow handling and + rescheduling crashed items. + * Bug Fixes + + Copy the parent process sys.path into local workers, to work + around execnet's python -c adding the current directory to sys.path. + + Fix issue caused by changing the branch name of the pytest repository. + * Trivial Changes + + Replace master with controller where ever possible. + + Use 'main' to refer to pytest default branch in tox env names. +- Update patches + * reintroduce-slave-terminology.patch + * 0001-Revert-Remove-compat-for-pytest-6.patch +- Require setuptools_scm >= 6.0 for building + +------------------------------------------------------------------- +Tue Feb 2 09:53:19 UTC 2021 - Dirk Müller + +- update to 2.2.0: + * Internal errors in workers are now propagated to the master node. + +------------------------------------------------------------------- +Tue Oct 13 11:46:40 UTC 2020 - Marketa Calabkova + +- Skip test failing with the new pytest + +------------------------------------------------------------------- +Mon Aug 31 13:01:20 UTC 2020 - Marketa Calabkova + +- Update to 2.1.0 + * New ``pytest_xdist_auto_num_workers`` hook can be implemented by plugins + or ``conftest.py`` files to control the number of workers when + ``--numprocesses=auto`` is given in the command-line. + * ``psutil`` has proven to make ``pytest-xdist`` installation in certain + platforms and containers problematic, so to use it for automatic number + of CPUs detection users need to install the ``psutil`` extra +- Add patches to keep compatibility with older pytests: + * reintroduce-slave-terminology.patch + * 0001-Revert-Remove-compat-for-pytest-6.patch + +------------------------------------------------------------------- +Tue Aug 25 08:12:22 UTC 2020 - Marketa Calabkova + +- Update to 2.0.0 + * Drop backward-compatibility "slave" aliases related to worker nodes. We deliberately + moved away from this terminology years ago, and it seems like the right time to finish + the deprecation and removal process. + * ``pytest-xdist`` no longer supports Python 2.7. + * New functions ``xdist.is_xdist_worker``, ``xdist.is_xdist_master``, ``xdist.get_xdist_worker_id``, + to easily identify the current node. + * When using ``-n auto``, count the number of physical CPU cores instead of logical ones. + * ``pytest-xdist`` now requires ``pytest>=6.0``. + +------------------------------------------------------------------- +Wed May 13 09:10:04 UTC 2020 - Tomáš Chvátal + +- Do not do symlinks + +------------------------------------------------------------------- +Sun May 3 07:41:14 UTC 2020 - Tomáš Chvátal + +- 1.32.0: + * #524: Add testrun_uid fixture. This is a shared value that uniquely identifies a test run among all workers. This also adds a PYTEST_XDIST_TESTRUNUID environment variable that is accessible within a test as well as a command line option --testrunuid to manually set the value from outside. + +------------------------------------------------------------------- +Mon Jan 6 12:50:36 UTC 2020 - Tomáš Chvátal + +- Update to 1.31.0: + * #486: Add support for Python 3.8. + * #491: Fix regression that caused custom plugin command-line + arguments to be discarded when using --tx mode. + +------------------------------------------------------------------- +Mon Oct 7 13:00:36 UTC 2019 - Tomáš Chvátal + +- Update to 1.30.0: + * Fix crash issues related to running xdist with the terminal plugin disabled + * Initialization between workers and master nodes is now more consistent + +------------------------------------------------------------------- +Tue Jul 2 12:24:33 UTC 2019 - Tomáš Chvátal + +- Update to 1.29.0: + * #226: --max-worker-restart now assumes a more reasonable value (4 times the number of nodes) when not given explicitly. This prevents test suites from running forever when the suite crashes during collection. + * #435: When the test session is interrupted due to running out of workers, the reason is shown in the test summary for easier viewing. + * #442: Compatibility fix for upcoming pytest 5.0: session.exitstatus is now an IntEnum object. + * #435: No longer show an internal error when we run out of workers due to crashes. + +------------------------------------------------------------------- +Mon Jun 3 08:49:46 UTC 2019 - Tomáš Chvátal + +- Update to 1.28.0: + * #426: pytest-xdist now uses the new pytest_report_to_serializable and + pytest_report_from_serializable hooks from pytest 4.4 + +------------------------------------------------------------------- +Thu Mar 21 09:54:59 UTC 2019 - Tomáš Chvátal + +- Update to 1.27.0: + * #374: The new ``pytest_xdist_getremotemodule`` hook allows overriding the module run on remote nodes. + * #415: Improve behavior of ``--numprocesses=auto`` to work well with ``--pdb`` option. + +------------------------------------------------------------------- +Tue Feb 12 12:57:15 UTC 2019 - Tomáš Chvátal + +- Update to 1.26.1: + * #406: Do not implement deprecated pytest_logwarning hook in pytest versions where it is deprecated. + * #376: The current directory is no longer added sys.path for local workers, only for remote connections. + * #379: Warning attributes are checked to make sure they can be dumped prior to serializing the warning for submission to the master node. + * #372: Pytest versions older than 3.6 are no longer supported. + * #373: Node setup information is hidden when pytest is run in quiet mode to reduce noise on many-core machines. + * #388: mainargv is made available in workerinput from the host's sys.argv. + * #384: pytest 4.1 support: ExceptionInfo API changes. + * #390: pytest 4.1 support: pytest_logwarning hook removed. + +------------------------------------------------------------------- +Fri Oct 26 12:56:22 UTC 2018 - Ondřej Súkup + +- update to version 1.23.2 +- add python-six to runtime deps + * Fix issue where Warnings could cause pytest to fail if they + do not set the args attribute correctly. + * Fix warnings transfer between workers and master node with pytest >= 3.8 + * Improve collection performance by reducing the number of events + sent to master node + +------------------------------------------------------------------- +Sat Apr 7 21:29:41 UTC 2018 - arun@gmx.de + +- update to version 1.22.2: + * Add backward compatibility for slaveoutput attribute to + WorkerController instances. (#285) + +------------------------------------------------------------------- +Sat Feb 24 18:47:34 UTC 2018 - mimi.vx@gmail.com + +- cleanup Requires and spec + +------------------------------------------------------------------- +Sat Feb 24 18:29:53 UTC 2018 - arun@gmx.de + +- update to version 1.22.1: + * Bug Fixes + + Fix issue when using loadscope or loadfile where tests would + fail to start if the first scope had only one test. (#257) + * Trivial Changes + + Change terminology used by pytest-xdist to master and worker in + arguments and messages (for example --max-worker-reset). (#234) + +------------------------------------------------------------------- +Thu Jan 11 23:58:44 UTC 2018 - arun@gmx.de + +- update to version 1.22.0: + * Add support for the pytest_runtest_logfinish hook which will be + released in pytest 3.4. (#266) + +------------------------------------------------------------------- +Wed Jan 3 23:12:36 UTC 2018 - arun@gmx.de + +- update to version 1.21.0: + * Deprecations and Removals + + Drop support for EOL Python 2.6. (#259) + * Features + + New --dist=loadfile option which load-distributes test to + workers grouped by the file the tests live in. (#242) + * Bug Fixes + + Fix accidental mutation of test report during serialization + causing longrepr string-ification to break. (#241) + +------------------------------------------------------------------- +Wed Nov 15 11:45:36 UTC 2017 - mimi.vx@gmail.com + +- new pytest-xdist requires pytest-forked package + +------------------------------------------------------------------- +Sat Nov 11 17:25:50 UTC 2017 - arun@gmx.de + +- specfile: + * CHANGELOG->CHANGELOG.rst + * update pytest version requirement to 3.0.0 + +- update to version 1.20.1: + * Bug Fixes + + Fix hang when all worker nodes crash and restart limit is + reached (#45) + + Fix issue where the -n option would still run distributed tests + when pytest was run with the --collect-only option (#5) + +- changes from version 1.20.0: + * Features + + xdist now supports tests to log results multiple times, + improving integration with plugins which require it like + pytest-rerunfailures and flaky. (#206) + * Bug Fixes + + Fix issue where tests were being incorrectly identified if a + worker crashed during the teardown stage of the test. (#124) + +- changes from version 1.19.1: + * Bug Fixes + + Fix crash when transferring internal pytest warnings from + workers to the master node. (#214) + +- changes from version 1.19.0: + * Deprecations and Removals + + --boxed functionality has been moved to a separate plugin, + pytest-forked. This release now depends on " pytest-forked" + and provides --boxed as a backward compatibility option. (#1) + * Features + + New --dist=loadscope option: sends group of related tests to the + same worker. Tests are grouped by module for test functions and + by class for test methods. See README.rst for more + information. (#191) + + Warnings are now properly transferred from workers to the master + node. (#92) + * Bug Fixes + + Fix serialization of native tracebacks (--tb=native). (#196) + +- changes from version 1.18.2: + * Bug Fixes + + Removal of unnecessary dependency on incorrect version of + py. (#105) + + Fix bug in internal event-loop error handler in the master + node. This bug would shadow the original errors making extremely + hard/impossible for users to diagnose the problem + properly. (#175) + +- changes from version 1.18.1 : + * Bug Fixes + + Fixed serialization of longrepr.sections during error reporting + from workers. (#171) + + Fix ReprLocal not being unserialized breaking --showlocals + usages. (#176) + +- changes from version 1.18.0 : + * pytest-xdist now requires pytest>=3.0.0. + * Features + + Add long option --numprocesses as alternative for -n. (#168) + * Bug Fixes + + Fix serialization and deserialization dropping longrepr + details. (#133) + +- changes from version 1.17.1 : + * Bug Fixes + + Hot fix release reverting the change introduced by #124, + unfortunately it broke a number of test suites so we are + reversing this change while we investigate the problem. (#157) + * Improved Documentation + + Introduced towncrier for CHANGELOG management. (#154) + + Added HOWTORELEASE documentation. (#155) + +- changes from version 1.17.0: + * fix #124: xdist would mark test as complete after 'call' step. As + a result, xdist could identify the wrong test as failing when test + crashes at teardown. To address this issue, xdist now marks test + as complete at teardown. + +- changes from version 1.16.0: + * pytest-xdist now requires pytest 2.7 or later. + * Add worker_id attribute in the TestReport + * new hook: pytest_xdist_make_scheduler(config, log), can return + custom tests items distribution logic implementation. You can take + a look at built-in LoadScheduling and EachScheduling + implementations. Note that required scheduler class public API may + change in next pytest-xdist versions. + +------------------------------------------------------------------- +Sat Apr 22 08:59:30 UTC 2017 - aloisio@gmx.com + +- Converted to single-spec +- Fix source URL + +------------------------------------------------------------------- +Wed Jan 18 15:03:59 UTC 2017 - hpj@urpla.net + +- fix Source URL + +------------------------------------------------------------------- +Sun Jan 15 11:45:49 UTC 2017 - hpj@urpla.net + +- Update to 1.15.0 + - new ``worker_id`` fixture, returns the id of the worker in a test or + fixture. Thanks Jared Hellman for the PR. + + - display progress during collection only when in a terminal, similar to + pytest #1397 issue. Thanks Bruno Oliveira for the PR. + + - fix internal error message when ``--maxfail`` is used (#62, #65). + Thanks Collin RM Stocks and Bryan A. Jones for reports and Bruno + Oliveira for the PR. +- exclude two tests, that fail due to too narrow requirements + +------------------------------------------------------------------- +Fri May 27 15:59:32 UTC 2016 - toddrme2178@gmail.com + +- Update to 1.14 + - new hook: ``pytest_xdist_node_collection_finished(node, ids)``, called when + a worker has finished collection. Thanks Omer Katz for the request and + Bruno Oliveira for the PR. + - fix README display on pypi + - fix #22: xdist now works if the internal tmpdir plugin is disabled. + Thanks Bruno Oliveira for the PR. + - fix #32: xdist now works if looponfail or boxed are disabled. + Thanks Bruno Oliveira for the PR. + +------------------------------------------------------------------- +Wed Oct 21 09:31:58 UTC 2015 - hpj@urpla.net + +- Update to 1.13.1: + - fix a regression -n 0 now disables xdist again + +- Update to 1.13: + - extended the tox matrix with the supported py.test versions + + - split up the plugin into 3 plugin's + to prepare the departure of boxed and looponfail. + + looponfail will be a part of core + and forked boxed will be replaced + with a more reliable primitive based on xdist + + - conforming with new pytest-2.8 behavior of returning non-zero when all + tests were skipped or deselected. + + - new "--max-slave-restart" option that can be used to control maximum + number of times pytest-xdist can restart slaves due to crashes. Thanks to + Anatoly Bubenkov for the report and Bruno Oliveira for the PR. + + - release as wheel + + - "-n" option now can be set to "auto" for automatic detection of number + of cpus in the host system. Thanks Suloev Dmitry for the PR. + +- Update to 1.12: + - fix issue594: properly report errors when the test collection + is random. Thanks Bruno Oliveira. + + - some internal test suite adaptation (to become forward + compatible with the upcoming pytest-2.8) + +- Update to 1.11: + - fix pytest/xdist issue485 (also depends on py-1.4.22): + attach stdout/stderr on --boxed processes that die. + + - fix pytest/xdist issue503: make sure that a node has usually + two items to execute to avoid scoped fixtures to be torn down + pre-maturely (fixture teardown/setup is "nextitem" sensitive). + Thanks to Andreas Pelme for bug analysis and failing test. + + - restart crashed nodes by internally refactoring setup handling + of nodes. Also includes better code documentation. + Many thanks to Floris Bruynooghe for the complete PR. + +------------------------------------------------------------------- +Fri Jun 13 12:37:55 UTC 2014 - mvyskocil@opensuse.org + +- Needs py.test 2.4.2 or higher + +------------------------------------------------------------------- +Wed Jun 11 13:47:06 UTC 2014 - mvyskocil@opensuse.org + +- Update to 1.10 + +------------------------------------------------------------------- +Sun Jan 19 17:04:33 UTC 2014 - toms@opensuse.org + +- Initial version 1.9 + diff --git a/python-pytest-xdist.spec b/python-pytest-xdist.spec new file mode 100644 index 0000000..2b1d64e --- /dev/null +++ b/python-pytest-xdist.spec @@ -0,0 +1,88 @@ +# +# spec file for package python-pytest-xdist +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +Name: python-pytest-xdist +Version: 3.5.0 +Release: 0 +Summary: Distributed testing and loop-on-failing for py.test +License: MIT +URL: https://github.com/pytest-dev/pytest-xdist +Source0: https://files.pythonhosted.org/packages/source/p/pytest-xdist/pytest-xdist-%{version}.tar.gz +BuildRequires: %{python_module base >= 3.7} +BuildRequires: %{python_module execnet >= 1.1} +BuildRequires: %{python_module filelock} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module psutil >= 3.0.0} +BuildRequires: %{python_module pytest >= 6.2.0} +BuildRequires: %{python_module setuptools_scm >= 6.2.3} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-execnet >= 1.1 +Requires: python-pytest >= 6.2.0 +Suggests: python-psutil >= 3.0.0 +BuildArch: noarch +%python_subpackages + +%description +The `pytest-xdist`_ plugin extends py.test with some unique +test execution modes: + +* test run parallelization_: if you have multiple CPUs or hosts you can use + those for a combined test run. This allows to speed up + development or to use special resources of `remote machines`_. + +* ``--boxed``: (not available on Windows) run each test in a boxed_ + subprocess to survive ``SEGFAULTS`` or otherwise dying processes + +* ``--looponfail``: run your tests repeatedly in a subprocess. After each run + py.test waits until a file in your project changes and then re-runs + the previously failing tests. This is repeated until all tests pass + after which again a full run is performed. + +* `Multi-Platform`_ coverage: you can specify different Python interpreters + or different platforms and run tests in parallel on all of them. + +Before running tests remotely, ``py.test`` efficiently "rsyncs" your +program source code to the remote place. All test results +are reported back and displayed to your local terminal. +You may specify different Python versions and interpreters. + +%prep +%autosetup -p1 -n pytest-xdist-%{version} +sed -i 's/\r//' README.rst + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +%pytest + +%files %{python_files} +%doc CHANGELOG.rst README.rst +%license LICENSE +%{python_sitelib}/xdist +%{python_sitelib}/pytest_xdist-%{version}*-info + +%changelog