Merge branch 'main' into 12290-Docs-Furo-Theme

This commit is contained in:
Sam Jirovec 2024-05-20 15:54:03 -05:00 committed by GitHub
commit 18d7a3da4e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
27 changed files with 202 additions and 112 deletions

View File

@ -55,6 +55,7 @@ jobs:
"windows-py310",
"windows-py311",
"windows-py312",
"windows-py313",
"ubuntu-py38",
"ubuntu-py38-pluggy",
@ -63,12 +64,14 @@ jobs:
"ubuntu-py310",
"ubuntu-py311",
"ubuntu-py312",
"ubuntu-py313",
"ubuntu-pypy3",
"macos-py38",
"macos-py39",
"macos-py310",
"macos-py312",
"macos-py313",
"doctesting",
"plugins",
@ -97,9 +100,13 @@ jobs:
os: windows-latest
tox_env: "py311"
- name: "windows-py312"
python: "3.12-dev"
python: "3.12"
os: windows-latest
tox_env: "py312"
- name: "windows-py313"
python: "3.13-dev"
os: windows-latest
tox_env: "py313"
- name: "ubuntu-py38"
python: "3.8"
@ -128,10 +135,15 @@ jobs:
tox_env: "py311"
use_coverage: true
- name: "ubuntu-py312"
python: "3.12-dev"
python: "3.12"
os: ubuntu-latest
tox_env: "py312"
use_coverage: true
- name: "ubuntu-py313"
python: "3.13-dev"
os: ubuntu-latest
tox_env: "py313"
use_coverage: true
- name: "ubuntu-pypy3"
python: "pypy-3.8"
os: ubuntu-latest
@ -151,9 +163,13 @@ jobs:
os: macos-latest
tox_env: "py310-xdist"
- name: "macos-py312"
python: "3.12-dev"
python: "3.12"
os: macos-latest
tox_env: "py312-xdist"
- name: "macos-py313"
python: "3.13-dev"
os: macos-latest
tox_env: "py313-xdist"
- name: "plugins"
python: "3.12"

View File

@ -1 +0,0 @@
Fix `PermissionError` crashes arising from directories which are not selected on the command-line.

View File

@ -1 +0,0 @@
Keyboard interrupts and system exits are now properly handled during the test collection.

View File

@ -1 +0,0 @@
Fixed handling of 'Function not implemented' error under squashfuse_ll, which is a different way to say that the mountpoint is read-only.

View File

@ -1 +0,0 @@
Fix a regression in pytest 8.2.0 where the permissions of automatically-created ``.pytest_cache`` directories became ``rwx------`` instead of the expected ``rwxr-xr-x``.

View File

@ -1 +0,0 @@
pytest releases are now attested using the recent `Artifact Attestation <https://github.blog/2024-05-02-introducing-artifact-attestations-now-in-public-beta/>` support from GitHub, allowing users to verify the provenance of pytest's sdist and wheel artifacts.

View File

@ -6,6 +6,7 @@ Release announcements
:maxdepth: 2
release-8.2.1
release-8.2.0
release-8.1.2
release-8.1.1

View File

@ -0,0 +1,19 @@
pytest-8.2.1
=======================================
pytest 8.2.1 has just been released to PyPI.
This is a bug-fix release, being a drop-in replacement. To upgrade::
pip install --upgrade pytest
The full changelog is available at https://docs.pytest.org/en/stable/changelog.html.
Thanks to all of the contributors to this release:
* Bruno Oliveira
* Ran Benita
Happy testing,
The pytest Development Team

View File

@ -22,7 +22,7 @@ For information about fixtures, see :ref:`fixtures`. To see a complete list of a
cachedir: .pytest_cache
rootdir: /home/sweet/project
collected 0 items
cache -- .../_pytest/cacheprovider.py:542
cache -- .../_pytest/cacheprovider.py:549
Return a cache object that can persist state between testing sessions.
cache.get(key, default)

View File

@ -28,6 +28,38 @@ with advance notice in the **Deprecations** section of releases.
.. towncrier release notes start
pytest 8.2.1 (2024-05-19)
=========================
Improvements
------------
- `#12334 <https://github.com/pytest-dev/pytest/issues/12334>`_: Support for Python 3.13 (beta1 at the time of writing).
Bug Fixes
---------
- `#12120 <https://github.com/pytest-dev/pytest/issues/12120>`_: Fix `PermissionError` crashes arising from directories which are not selected on the command-line.
- `#12191 <https://github.com/pytest-dev/pytest/issues/12191>`_: Keyboard interrupts and system exits are now properly handled during the test collection.
- `#12300 <https://github.com/pytest-dev/pytest/issues/12300>`_: Fixed handling of 'Function not implemented' error under squashfuse_ll, which is a different way to say that the mountpoint is read-only.
- `#12308 <https://github.com/pytest-dev/pytest/issues/12308>`_: Fix a regression in pytest 8.2.0 where the permissions of automatically-created ``.pytest_cache`` directories became ``rwx------`` instead of the expected ``rwxr-xr-x``.
Trivial/Internal Changes
------------------------
- `#12333 <https://github.com/pytest-dev/pytest/issues/12333>`_: pytest releases are now attested using the recent `Artifact Attestation <https://github.blog/2024-05-02-introducing-artifact-attestations-now-in-public-beta/>`_ support from GitHub, allowing users to verify the provenance of pytest's sdist and wheel artifacts.
pytest 8.2.0 (2024-04-27)
=========================

View File

@ -162,7 +162,7 @@ objects, they are still using the default pytest representation:
rootdir: /home/sweet/project
collected 8 items
<Dir parametrize.rst-198>
<Dir parametrize.rst-199>
<Module test_time.py>
<Function test_timedistance_v0[a0-b0-expected0]>
<Function test_timedistance_v0[a1-b1-expected1]>
@ -239,7 +239,7 @@ If you just collect tests you'll also nicely see 'advanced' and 'basic' as varia
rootdir: /home/sweet/project
collected 4 items
<Dir parametrize.rst-198>
<Dir parametrize.rst-199>
<Module test_scenarios.py>
<Class TestSampleWithScenarios>
<Function test_demo1[basic]>
@ -318,7 +318,7 @@ Let's first see how it looks like at collection time:
rootdir: /home/sweet/project
collected 2 items
<Dir parametrize.rst-198>
<Dir parametrize.rst-199>
<Module test_backends.py>
<Function test_db_initialized[d1]>
<Function test_db_initialized[d2]>

View File

@ -152,7 +152,7 @@ The test collection would look like this:
configfile: pytest.ini
collected 2 items
<Dir pythoncollection.rst-199>
<Dir pythoncollection.rst-200>
<Module check_myapp.py>
<Class CheckMyApp>
<Function simple_check>
@ -215,7 +215,7 @@ You can always peek at the collection tree without running tests like this:
configfile: pytest.ini
collected 3 items
<Dir pythoncollection.rst-199>
<Dir pythoncollection.rst-200>
<Dir CWD>
<Module pythoncollection.py>
<Function test_function>

View File

@ -22,7 +22,7 @@ Install ``pytest``
.. code-block:: bash
$ pytest --version
pytest 8.2.0
pytest 8.2.1
.. _`simpletest`:

View File

@ -1418,7 +1418,7 @@ Running the above tests results in the following test IDs being used:
rootdir: /home/sweet/project
collected 12 items
<Dir fixtures.rst-217>
<Dir fixtures.rst-218>
<Module test_anothersmtp.py>
<Function test_showhelo[smtp.gmail.com]>
<Function test_showhelo[mail.python.org]>

View File

@ -27,7 +27,7 @@ please refer to `the update script <https://github.com/pytest-dev/pytest/blob/ma
creating a PDF, because otherwise the table gets far too wide for the
page.
This list contains 1457 plugins.
This list contains 1461 plugins.
.. only:: not latex
@ -66,6 +66,7 @@ This list contains 1457 plugins.
:pypi:`pytest-allure-adaptor2` Plugin for py.test to generate allure xml reports Oct 14, 2020 N/A pytest (>=2.7.3)
:pypi:`pytest-allure-collection` pytest plugin to collect allure markers without running any tests Apr 13, 2023 N/A pytest
:pypi:`pytest-allure-dsl` pytest plugin to test case doc string dls instructions Oct 25, 2020 4 - Beta pytest
:pypi:`pytest-allure-id2history` Overwrite allure history id with testcase full name and testcase id if testcase has id, exclude parameters. May 14, 2024 4 - Beta pytest>=6.2.0
:pypi:`pytest-allure-intersection` Oct 27, 2022 N/A pytest (<5)
:pypi:`pytest-allure-spec-coverage` The pytest plugin aimed to display test coverage of the specs(requirements) in Allure Oct 26, 2021 N/A pytest
:pypi:`pytest-alphamoon` Static code checks used at Alphamoon Dec 30, 2021 5 - Production/Stable pytest (>=3.5.0)
@ -126,7 +127,7 @@ This list contains 1457 plugins.
:pypi:`pytest-aviator` Aviator's Flakybot pytest plugin that automatically reruns flaky tests. Nov 04, 2022 4 - Beta pytest
:pypi:`pytest-avoidance` Makes pytest skip tests that don not need rerunning May 23, 2019 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-aws` pytest plugin for testing AWS resource configurations Oct 04, 2017 4 - Beta N/A
:pypi:`pytest-aws-apigateway` pytest plugin for AWS ApiGateway May 10, 2024 4 - Beta pytest
:pypi:`pytest-aws-apigateway` pytest plugin for AWS ApiGateway May 18, 2024 4 - Beta pytest
:pypi:`pytest-aws-config` Protect your AWS credentials in unit tests May 28, 2021 N/A N/A
:pypi:`pytest-aws-fixtures` A series of fixtures to use in integration tests involving actual AWS services. Feb 02, 2024 N/A pytest (>=8.0.0,<9.0.0)
:pypi:`pytest-axe` pytest plugin for axe-selenium-python Nov 12, 2018 N/A pytest (>=3.0.0)
@ -147,7 +148,7 @@ This list contains 1457 plugins.
:pypi:`pytest-bdd-wrappers` Feb 11, 2020 2 - Pre-Alpha N/A
:pypi:`pytest-beakerlib` A pytest plugin that reports test results to the BeakerLib framework Mar 17, 2017 5 - Production/Stable pytest
:pypi:`pytest-beartype` Pytest plugin to run your tests with beartype checking enabled. Jan 25, 2024 N/A pytest
:pypi:`pytest-bec-e2e` BEC pytest plugin for end-to-end tests May 08, 2024 3 - Alpha pytest
:pypi:`pytest-bec-e2e` BEC pytest plugin for end-to-end tests May 17, 2024 3 - Alpha pytest
:pypi:`pytest-beds` Fixtures for testing Google Appengine (GAE) apps Jun 07, 2016 4 - Beta N/A
:pypi:`pytest-beeprint` use icdiff for better error messages in pytest assertions Jul 04, 2023 4 - Beta N/A
:pypi:`pytest-bench` Benchmark utility that plugs into pytest. Jul 21, 2014 3 - Alpha N/A
@ -232,6 +233,7 @@ This list contains 1457 plugins.
:pypi:`pytest-ckan` Backport of CKAN 2.9 pytest plugin and fixtures to CAKN 2.8 Apr 28, 2020 4 - Beta pytest
:pypi:`pytest-clarity` A plugin providing an alternative, colourful diff output for failing assertions. Jun 11, 2021 N/A N/A
:pypi:`pytest-cldf` Easy quality control for CLDF datasets using pytest Nov 07, 2022 N/A pytest (>=3.6)
:pypi:`pytest-cleanslate` Collects and executes pytest tests separately May 15, 2024 N/A pytest
:pypi:`pytest_cleanup` Automated, comprehensive and well-organised pytest test cases. Jan 28, 2020 N/A N/A
:pypi:`pytest-cleanuptotal` A cleanup plugin for pytest Mar 19, 2024 5 - Production/Stable N/A
:pypi:`pytest-clerk` A set of pytest fixtures to help with integration testing with Clerk. Apr 19, 2024 N/A pytest<9.0.0,>=8.0.0
@ -241,7 +243,7 @@ This list contains 1457 plugins.
:pypi:`pytest-cloud` Distributed tests planner plugin for pytest testing framework. Oct 05, 2020 6 - Mature N/A
:pypi:`pytest-cloudflare-worker` pytest plugin for testing cloudflare workers Mar 30, 2021 4 - Beta pytest (>=6.0.0)
:pypi:`pytest-cloudist` Distribute tests to cloud machines without fuss Sep 02, 2022 4 - Beta pytest (>=7.1.2,<8.0.0)
:pypi:`pytest-cmake` Provide CMake module for Pytest May 06, 2024 N/A pytest<9,>=4
:pypi:`pytest-cmake` Provide CMake module for Pytest May 12, 2024 N/A pytest<9,>=4
:pypi:`pytest-cmake-presets` Execute CMake Presets via pytest Dec 26, 2022 N/A pytest (>=7.2.0,<8.0.0)
:pypi:`pytest-cobra` PyTest plugin for testing Smart Contracts for Ethereum blockchain. Jun 29, 2019 3 - Alpha pytest (<4.0.0,>=3.7.1)
:pypi:`pytest_codeblocks` Test code blocks in your READMEs Sep 17, 2023 5 - Production/Stable pytest >= 7.0.0
@ -357,7 +359,7 @@ This list contains 1457 plugins.
:pypi:`pytest-dir-equal` pytest-dir-equals is a pytest plugin providing helpers to assert directories equality allowing golden testing Dec 11, 2023 4 - Beta pytest>=7.3.2
:pypi:`pytest-disable` pytest plugin to disable a test and skip it from testrun Sep 10, 2015 4 - Beta N/A
:pypi:`pytest-disable-plugin` Disable plugins per test Feb 28, 2019 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-discord` A pytest plugin to notify test results to a Discord channel. Oct 18, 2023 4 - Beta pytest !=6.0.0,<8,>=3.3.2
:pypi:`pytest-discord` A pytest plugin to notify test results to a Discord channel. May 11, 2024 4 - Beta pytest!=6.0.0,<9,>=3.3.2
:pypi:`pytest-discover` Pytest plugin to record discovered tests in a file Mar 26, 2024 N/A pytest
:pypi:`pytest-ditto` Snapshot testing pytest plugin with minimal ceremony and flexible persistence formats. May 07, 2024 4 - Beta pytest>=3.5.0
:pypi:`pytest-django` A Django plugin for pytest. Jan 30, 2024 5 - Production/Stable pytest >=7.0.0
@ -553,7 +555,7 @@ This list contains 1457 plugins.
:pypi:`pytest-flask-sqlalchemy` A pytest plugin for preserving test isolation in Flask-SQlAlchemy using database transactions. Apr 30, 2022 4 - Beta pytest (>=3.2.1)
:pypi:`pytest-flask-sqlalchemy-transactions` Run tests in transactions using pytest, Flask, and SQLalchemy. Aug 02, 2018 4 - Beta pytest (>=3.2.1)
:pypi:`pytest-flexreport` Apr 15, 2023 4 - Beta pytest
:pypi:`pytest-fluent` A pytest plugin in order to provide logs via fluentd Jun 26, 2023 4 - Beta pytest (>=7.0.0)
:pypi:`pytest-fluent` A pytest plugin in order to provide logs via fluentd May 15, 2024 4 - Beta pytest>=7.0.0
:pypi:`pytest-fluentbit` A pytest plugin in order to provide logs via fluentbit Jun 16, 2023 4 - Beta pytest (>=7.0.0)
:pypi:`pytest-fly` pytest observer Apr 14, 2024 3 - Alpha pytest
:pypi:`pytest-flyte` Pytest fixtures for simplifying Flyte integration testing May 03, 2021 N/A pytest
@ -621,13 +623,13 @@ This list contains 1457 plugins.
:pypi:`pytest-helpers-namespace` Pytest Helpers Namespace Plugin Dec 29, 2021 5 - Production/Stable pytest (>=6.0.0)
:pypi:`pytest-henry` Aug 29, 2023 N/A N/A
:pypi:`pytest-hidecaptured` Hide captured output May 04, 2018 4 - Beta pytest (>=2.8.5)
:pypi:`pytest-himark` This plugin aims to create markers automatically based on a json configuration. May 10, 2024 4 - Beta pytest>=6.2.0
:pypi:`pytest-himark` This plugin aims to create markers automatically based on a json configuration. May 15, 2024 4 - Beta pytest>=6.2.0
:pypi:`pytest-historic` Custom report to display pytest historical execution records Apr 08, 2020 N/A pytest
:pypi:`pytest-historic-hook` Custom listener to store execution results into MYSQL DB, which is used for pytest-historic report Apr 08, 2020 N/A pytest
:pypi:`pytest-history` Pytest plugin to keep a history of your pytest runs Jan 14, 2024 N/A pytest (>=7.4.3,<8.0.0)
:pypi:`pytest-home` Home directory fixtures Oct 09, 2023 5 - Production/Stable pytest
:pypi:`pytest-homeassistant` A pytest plugin for use with homeassistant custom components. Aug 12, 2020 4 - Beta N/A
:pypi:`pytest-homeassistant-custom-component` Experimental package to automatically extract test plugins for Home Assistant custom components May 11, 2024 3 - Alpha pytest==8.1.1
:pypi:`pytest-homeassistant-custom-component` Experimental package to automatically extract test plugins for Home Assistant custom components May 18, 2024 3 - Alpha pytest==8.1.1
:pypi:`pytest-honey` A simple plugin to use with pytest Jan 07, 2022 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-honors` Report on tests that honor constraints, and guard against regressions Mar 06, 2020 4 - Beta N/A
:pypi:`pytest-hot-reloading` Apr 18, 2024 N/A N/A
@ -708,7 +710,7 @@ This list contains 1457 plugins.
:pypi:`pytest-jest` A custom jest-pytest oriented Pytest reporter May 22, 2018 4 - Beta pytest (>=3.3.2)
:pypi:`pytest-jinja` A plugin to generate customizable jinja-based HTML reports in pytest Oct 04, 2022 3 - Alpha pytest (>=6.2.5,<7.0.0)
:pypi:`pytest-jira` py.test JIRA integration plugin, using markers Apr 30, 2024 3 - Alpha N/A
:pypi:`pytest-jira-xfail` Plugin skips (xfail) tests if unresolved Jira issue(s) linked Jun 19, 2023 N/A pytest (>=7.2.0)
:pypi:`pytest-jira-xfail` Plugin skips (xfail) tests if unresolved Jira issue(s) linked May 16, 2024 N/A pytest>=7.2.0
:pypi:`pytest-jira-xray` pytest plugin to integrate tests with JIRA XRAY Mar 27, 2024 4 - Beta pytest>=6.2.4
:pypi:`pytest-job-selection` A pytest plugin for load balancing test suites Jan 30, 2023 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-jobserver` Limit parallel tests with posix jobserver. May 15, 2019 5 - Production/Stable pytest
@ -732,7 +734,7 @@ This list contains 1457 plugins.
:pypi:`pytest-kivy` Kivy GUI tests fixtures using pytest Jul 06, 2021 4 - Beta pytest (>=3.6)
:pypi:`pytest-knows` A pytest plugin that can automaticly skip test case based on dependence info calculated by trace Aug 22, 2014 N/A N/A
:pypi:`pytest-konira` Run Konira DSL tests with py.test Oct 09, 2011 N/A N/A
:pypi:`pytest-kookit` Your simple but kooky integration testing with pytest May 06, 2024 N/A N/A
:pypi:`pytest-kookit` Your simple but kooky integration testing with pytest May 16, 2024 N/A N/A
:pypi:`pytest-koopmans` A plugin for testing the koopmans package Nov 21, 2022 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-krtech-common` pytest krtech common library Nov 28, 2016 4 - Beta N/A
:pypi:`pytest-kubernetes` Sep 14, 2023 N/A pytest (>=7.2.1,<8.0.0)
@ -764,7 +766,7 @@ This list contains 1457 plugins.
:pypi:`pytest-litter` Pytest plugin which verifies that tests do not modify file trees. Nov 23, 2023 4 - Beta pytest >=6.1
:pypi:`pytest-live` Live results for pytest Mar 08, 2020 N/A pytest
:pypi:`pytest-local-badge` Generate local badges (shields) reporting your test suite status. Jan 15, 2023 N/A pytest (>=6.1.0)
:pypi:`pytest-localftpserver` A PyTest plugin which provides an FTP fixture for your tests Oct 14, 2023 5 - Production/Stable pytest
:pypi:`pytest-localftpserver` A PyTest plugin which provides an FTP fixture for your tests May 17, 2024 5 - Production/Stable pytest
:pypi:`pytest-localserver` pytest plugin to test server connections locally. Oct 12, 2023 4 - Beta N/A
:pypi:`pytest-localstack` Pytest plugin for AWS integration tests Jun 07, 2023 4 - Beta pytest (>=6.0.0,<7.0.0)
:pypi:`pytest-lock` pytest-lock is a pytest plugin that allows you to "lock" the results of unit tests, storing them in a local cache. This is particularly useful for tests that are resource-intensive or don't need to be run every time. When the tests are run subsequently, pytest-lock will compare the current results with the locked results and issue a warning if there are any discrepancies. Feb 03, 2024 N/A pytest (>=7.4.3,<8.0.0)
@ -800,7 +802,7 @@ This list contains 1457 plugins.
:pypi:`pytest-maybe-raises` Pytest fixture for optional exception testing. May 27, 2022 N/A pytest ; extra == 'dev'
:pypi:`pytest-mccabe` pytest plugin to run the mccabe code complexity checker. Jul 22, 2020 3 - Alpha pytest (>=5.4.0)
:pypi:`pytest-md` Plugin for generating Markdown reports for pytest results Jul 11, 2019 3 - Alpha pytest (>=4.2.1)
:pypi:`pytest-md-report` A pytest plugin to generate test outcomes reports with markdown table format. May 03, 2024 4 - Beta pytest!=6.0.0,<9,>=3.3.2
:pypi:`pytest-md-report` A pytest plugin to generate test outcomes reports with markdown table format. May 18, 2024 4 - Beta pytest!=6.0.0,<9,>=3.3.2
:pypi:`pytest-meilisearch` Pytest helpers for testing projects using Meilisearch Feb 15, 2024 N/A pytest (>=7.4.3)
:pypi:`pytest-memlog` Log memory usage during tests May 03, 2023 N/A pytest (>=7.3.0,<8.0.0)
:pypi:`pytest-memprof` Estimates memory consumption of test functions Mar 29, 2019 4 - Beta N/A
@ -875,7 +877,7 @@ This list contains 1457 plugins.
:pypi:`pytest-nginx-iplweb` nginx fixture for pytest - iplweb temporary fork Mar 01, 2019 5 - Production/Stable N/A
:pypi:`pytest-ngrok` Jan 20, 2022 3 - Alpha pytest
:pypi:`pytest-ngsfixtures` pytest ngs fixtures Sep 06, 2019 2 - Pre-Alpha pytest (>=5.0.0)
:pypi:`pytest-nhsd-apim` Pytest plugin accessing NHSDigital's APIM proxies Feb 16, 2024 N/A pytest (>=6.2.5,<7.0.0)
:pypi:`pytest-nhsd-apim` Pytest plugin accessing NHSDigital's APIM proxies May 17, 2024 N/A pytest<9.0.0,>=8.2.0
:pypi:`pytest-nice` A pytest plugin that alerts user of failed test cases with screen notifications May 04, 2019 4 - Beta pytest
:pypi:`pytest-nice-parametrize` A small snippet for nicer PyTest's Parametrize Apr 17, 2021 5 - Production/Stable N/A
:pypi:`pytest_nlcov` Pytest plugin to get the coverage of the new lines (based on git diff) only Apr 11, 2024 N/A N/A
@ -975,7 +977,7 @@ This list contains 1457 plugins.
:pypi:`pytest-playwrights` A pytest wrapper with fixtures for Playwright to automate web browsers Dec 02, 2021 N/A N/A
:pypi:`pytest-playwright-snapshot` A pytest wrapper for snapshot testing with playwright Aug 19, 2021 N/A N/A
:pypi:`pytest-playwright-visual` A pytest fixture for visual testing with Playwright Apr 28, 2022 N/A N/A
:pypi:`pytest-plone` Pytest plugin to test Plone addons Jan 05, 2023 3 - Alpha pytest
:pypi:`pytest-plone` Pytest plugin to test Plone addons May 15, 2024 3 - Alpha pytest<8.0.0
:pypi:`pytest-plt` Fixtures for quickly making Matplotlib plots in tests Jan 17, 2024 5 - Production/Stable pytest
:pypi:`pytest-plugin-helpers` A plugin to help developing and testing other plugins Nov 23, 2019 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-plus` PyTest Plus Plugin :: extends pytest functionality Mar 26, 2024 5 - Production/Stable pytest>=7.4.2
@ -1013,6 +1015,7 @@ This list contains 1457 plugins.
:pypi:`pytest-prysk` Pytest plugin for prysk Mar 12, 2024 4 - Beta pytest (>=7.3.2)
:pypi:`pytest-pspec` A rspec format reporter for Python ptest Jun 02, 2020 4 - Beta pytest (>=3.0.0)
:pypi:`pytest-psqlgraph` pytest plugin for testing applications that use psqlgraph Oct 19, 2021 4 - Beta pytest (>=6.0)
:pypi:`pytest-pt` pytest plugin to use \*.pt files as tests May 15, 2024 4 - Beta pytest
:pypi:`pytest-ptera` Use ptera probes in tests Mar 01, 2022 N/A pytest (>=6.2.4,<7.0.0)
:pypi:`pytest-pudb` Pytest PuDB debugger integration Oct 25, 2018 3 - Alpha pytest (>=2.0)
:pypi:`pytest-pumpkin-spice` A pytest plugin that makes your test reporting pumpkin-spiced Sep 18, 2022 4 - Beta N/A
@ -1039,6 +1042,7 @@ This list contains 1457 plugins.
:pypi:`pytest-pytestrail` Pytest plugin for interaction with TestRail Aug 27, 2020 4 - Beta pytest (>=3.8.0)
:pypi:`pytest-pythonhashseed` Pytest plugin to set PYTHONHASHSEED env var. Feb 25, 2024 4 - Beta pytest>=3.0.0
:pypi:`pytest-pythonpath` pytest plugin for adding to the PYTHONPATH from command line or configs. Feb 10, 2022 5 - Production/Stable pytest (<7,>=2.5.2)
:pypi:`pytest-python-test-engineer-sort` Sort plugin for Pytest May 13, 2024 N/A pytest>=6.2.0
:pypi:`pytest-pytorch` pytest plugin for a better developer experience when working with the PyTorch test suite May 25, 2021 4 - Beta pytest
:pypi:`pytest-pyvenv` A package for create venv in tests Feb 27, 2024 N/A pytest ; extra == 'test'
:pypi:`pytest-pyvista` Pytest-pyvista package Sep 29, 2023 4 - Beta pytest>=3.5.0
@ -1066,7 +1070,7 @@ This list contains 1457 plugins.
:pypi:`pytest-randomness` Pytest plugin about random seed management May 30, 2019 3 - Alpha N/A
:pypi:`pytest-random-num` Randomise the order in which pytest tests are run with some control over the randomness Oct 19, 2020 5 - Production/Stable N/A
:pypi:`pytest-random-order` Randomise the order in which pytest tests are run with some control over the randomness Jan 20, 2024 5 - Production/Stable pytest >=3.0.0
:pypi:`pytest-ranking` A Pytest plugin for automatically prioritizing/ranking tests to speed up failure detection May 10, 2024 4 - Beta pytest>=7.4.3
:pypi:`pytest-ranking` A Pytest plugin for automatically prioritizing/ranking tests to speed up failure detection May 12, 2024 4 - Beta pytest>=7.4.3
:pypi:`pytest-readme` Test your README.md file Sep 02, 2022 5 - Production/Stable N/A
:pypi:`pytest-reana` Pytest fixtures for REANA. Mar 14, 2024 3 - Alpha N/A
:pypi:`pytest-recorder` Pytest plugin, meant to facilitate unit tests writing for tools consumming Web APIs. Nov 21, 2023 N/A N/A
@ -1116,7 +1120,7 @@ This list contains 1457 plugins.
:pypi:`pytest-rerunfailures` pytest plugin to re-run tests to eliminate flaky failures Mar 13, 2024 5 - Production/Stable pytest >=7.2
:pypi:`pytest-rerunfailures-all-logs` pytest plugin to re-run tests to eliminate flaky failures Mar 07, 2022 5 - Production/Stable N/A
:pypi:`pytest-reserial` Pytest fixture for recording and replaying serial port traffic. Feb 08, 2024 4 - Beta pytest
:pypi:`pytest-resilient-circuits` Resilient Circuits fixtures for PyTest Apr 03, 2024 N/A pytest~=4.6; python_version == "2.7"
:pypi:`pytest-resilient-circuits` Resilient Circuits fixtures for PyTest May 17, 2024 N/A pytest~=4.6; python_version == "2.7"
:pypi:`pytest-resource` Load resource fixture plugin to use with pytest Nov 14, 2018 4 - Beta N/A
:pypi:`pytest-resource-path` Provides path for uniform access to test resources in isolated directory May 01, 2021 5 - Production/Stable pytest (>=3.5.0)
:pypi:`pytest-resource-usage` Pytest plugin for reporting running time and peak memory usage Nov 06, 2022 5 - Production/Stable pytest>=7.0.0
@ -1128,7 +1132,7 @@ This list contains 1457 plugins.
:pypi:`pytest-result-sender` Apr 20, 2023 N/A pytest>=7.3.1
:pypi:`pytest-resume` A Pytest plugin to resuming from the last run test Apr 22, 2023 4 - Beta pytest (>=7.0)
:pypi:`pytest-rethinkdb` A RethinkDB plugin for pytest. Jul 24, 2016 4 - Beta N/A
:pypi:`pytest-retry` Adds the ability to retry flaky tests in CI environments Feb 04, 2024 N/A pytest >=7.0.0
:pypi:`pytest-retry` Adds the ability to retry flaky tests in CI environments May 14, 2024 N/A pytest>=7.0.0
:pypi:`pytest-retry-class` A pytest plugin to rerun entire class on failure Mar 25, 2023 N/A pytest (>=5.3)
:pypi:`pytest-reusable-testcases` Apr 28, 2023 N/A N/A
:pypi:`pytest-reverse` Pytest plugin to reverse test order. Jul 10, 2023 5 - Production/Stable pytest
@ -1140,7 +1144,7 @@ This list contains 1457 plugins.
:pypi:`pytest-rmsis` Sycronise pytest results to Jira RMsis Aug 10, 2022 N/A pytest (>=5.3.5)
:pypi:`pytest-rng` Fixtures for seeding tests and making randomness reproducible Aug 08, 2019 5 - Production/Stable pytest
:pypi:`pytest-roast` pytest plugin for ROAST configuration override and fixtures Nov 09, 2022 5 - Production/Stable pytest
:pypi:`pytest_robotframework` a pytest plugin that can run both python and robotframework tests while generating robot reports for them May 03, 2024 N/A pytest<9,>=7
:pypi:`pytest_robotframework` a pytest plugin that can run both python and robotframework tests while generating robot reports for them May 18, 2024 N/A pytest<9,>=7
:pypi:`pytest-rocketchat` Pytest to Rocket.Chat reporting plugin Apr 18, 2021 5 - Production/Stable N/A
:pypi:`pytest-rotest` Pytest integration with rotest Sep 08, 2019 N/A pytest (>=3.5.0)
:pypi:`pytest-rpc` Extend py.test for RPC OpenStack testing. Feb 22, 2019 4 - Beta pytest (~=3.6)
@ -1165,7 +1169,7 @@ This list contains 1457 plugins.
:pypi:`pytest-sanity` Dec 07, 2020 N/A N/A
:pypi:`pytest-sa-pg` May 14, 2019 N/A N/A
:pypi:`pytest_sauce` pytest_sauce provides sane and helpful methods worked out in clearcode to run py.test tests with selenium/saucelabs Jul 14, 2014 3 - Alpha N/A
:pypi:`pytest-sbase` A complete web automation framework for end-to-end testing. May 03, 2024 5 - Production/Stable N/A
:pypi:`pytest-sbase` A complete web automation framework for end-to-end testing. May 16, 2024 5 - Production/Stable N/A
:pypi:`pytest-scenario` pytest plugin for test scenarios Feb 06, 2017 3 - Alpha N/A
:pypi:`pytest-schedule` The job of test scheduling for humans. Jan 07, 2023 5 - Production/Stable N/A
:pypi:`pytest-schema` 👍 Validate return values against a schema-like object in testing Feb 16, 2024 5 - Production/Stable pytest >=3.5.0
@ -1174,7 +1178,7 @@ This list contains 1457 plugins.
:pypi:`pytest-select` A pytest plugin which allows to (de-)select tests from a file. Jan 18, 2019 3 - Alpha pytest (>=3.0)
:pypi:`pytest-selenium` pytest plugin for Selenium Feb 01, 2024 5 - Production/Stable pytest>=6.0.0
:pypi:`pytest-selenium-auto` pytest plugin to automatically capture screenshots upon selenium webdriver events Nov 07, 2023 N/A pytest >= 7.0.0
:pypi:`pytest-seleniumbase` A complete web automation framework for end-to-end testing. May 03, 2024 5 - Production/Stable N/A
:pypi:`pytest-seleniumbase` A complete web automation framework for end-to-end testing. May 16, 2024 5 - Production/Stable N/A
:pypi:`pytest-selenium-enhancer` pytest plugin for Selenium Apr 29, 2022 5 - Production/Stable N/A
:pypi:`pytest-selenium-pdiff` A pytest package implementing perceptualdiff for Selenium tests. Apr 06, 2017 2 - Pre-Alpha N/A
:pypi:`pytest-selfie` A pytest plugin for selfie snapshot testing. Apr 05, 2024 N/A pytest<9.0.0,>=8.0.0
@ -1184,6 +1188,7 @@ This list contains 1457 plugins.
:pypi:`pytest-server-fixtures` Extensible server fixures for py.test Dec 19, 2023 5 - Production/Stable pytest
:pypi:`pytest-serverless` Automatically mocks resources from serverless.yml in pytest using moto. May 09, 2022 4 - Beta N/A
:pypi:`pytest-servers` pytest servers May 09, 2024 3 - Alpha pytest>=6.2
:pypi:`pytest-service` May 11, 2024 5 - Production/Stable pytest>=6.0.0
:pypi:`pytest-services` Services plugin for pytest testing framework Oct 30, 2020 6 - Mature N/A
:pypi:`pytest-session2file` pytest-session2file (aka: pytest-session_to_file for v0.1.0 - v0.1.2) is a py.test plugin for capturing and saving to file the stdout of py.test. Jan 26, 2021 3 - Alpha pytest
:pypi:`pytest-session-fixture-globalize` py.test plugin to make session fixtures behave as if written in conftest, even if it is written in some modules May 15, 2018 4 - Beta N/A
@ -1250,7 +1255,7 @@ This list contains 1457 plugins.
:pypi:`pytest-splitio` Split.io SDK integration for e2e tests Sep 22, 2020 N/A pytest (<7,>=5.0)
:pypi:`pytest-split-tests` A Pytest plugin for running a subset of your tests by splitting them in to equally sized groups. Forked from Mark Adams' original project pytest-test-groups. Jul 30, 2021 5 - Production/Stable pytest (>=2.5)
:pypi:`pytest-split-tests-tresorit` Feb 22, 2021 1 - Planning N/A
:pypi:`pytest-splunk-addon` A Dynamic test tool for Splunk Apps and Add-ons Apr 19, 2024 N/A pytest (>5.4.0,<8)
:pypi:`pytest-splunk-addon` A Dynamic test tool for Splunk Apps and Add-ons May 16, 2024 N/A pytest<8,>5.4.0
:pypi:`pytest-splunk-addon-ui-smartx` Library to support testing Splunk Add-on UX May 10, 2024 N/A N/A
:pypi:`pytest-splunk-env` pytest fixtures for interaction with Splunk Enterprise and Splunk Cloud Oct 22, 2020 N/A pytest (>=6.1.1,<7.0.0)
:pypi:`pytest-sqitch` sqitch for pytest Apr 06, 2020 4 - Beta N/A
@ -1423,7 +1428,6 @@ This list contains 1457 plugins.
:pypi:`pytest-vcrpandas` Test from HTTP interactions to dataframe processed. Jan 12, 2019 4 - Beta pytest
:pypi:`pytest-vcs` Sep 22, 2022 4 - Beta N/A
:pypi:`pytest-venv` py.test fixture for creating a virtual environment Nov 23, 2023 4 - Beta pytest
:pypi:`pytest-ver` Pytest module with Verification Protocol, Verification Report and Trace Matrix Feb 07, 2024 4 - Beta pytest
:pypi:`pytest-verbose-parametrize` More descriptive output for parametrized py.test tests May 28, 2019 5 - Production/Stable pytest
:pypi:`pytest-vimqf` A simple pytest plugin that will shrink pytest output when specified, to fit vim quickfix window. Feb 08, 2021 4 - Beta pytest (>=6.2.2,<7.0.0)
:pypi:`pytest-virtualenv` Virtualenv fixture for py.test May 28, 2019 5 - Production/Stable pytest
@ -1463,7 +1467,7 @@ This list contains 1457 plugins.
:pypi:`pytest-xfiles` Pytest fixtures providing data read from function, module or package related (x)files. Feb 27, 2018 N/A N/A
:pypi:`pytest-xiuyu` This is a pytest plugin Jul 25, 2023 5 - Production/Stable N/A
:pypi:`pytest-xlog` Extended logging for test and decorators May 31, 2020 4 - Beta N/A
:pypi:`pytest-xlsx` pytest plugin for generating test cases by xlsx(excel) Apr 23, 2024 N/A N/A
:pypi:`pytest-xlsx` pytest plugin for generating test cases by xlsx(excel) Apr 23, 2024 N/A pytest~=7.0
:pypi:`pytest-xpara` An extended parametrizing plugin of pytest. Oct 30, 2017 3 - Alpha pytest
:pypi:`pytest-xprocess` A pytest plugin for managing processes across test runs. Mar 31, 2024 4 - Beta pytest>=2.8
:pypi:`pytest-xray` May 30, 2019 3 - Alpha N/A
@ -1720,6 +1724,13 @@ This list contains 1457 plugins.
pytest plugin to test case doc string dls instructions
:pypi:`pytest-allure-id2history`
*last release*: May 14, 2024,
*status*: 4 - Beta,
*requires*: pytest>=6.2.0
Overwrite allure history id with testcase full name and testcase id if testcase has id, exclude parameters.
:pypi:`pytest-allure-intersection`
*last release*: Oct 27, 2022,
*status*: N/A,
@ -2141,7 +2152,7 @@ This list contains 1457 plugins.
pytest plugin for testing AWS resource configurations
:pypi:`pytest-aws-apigateway`
*last release*: May 10, 2024,
*last release*: May 18, 2024,
*status*: 4 - Beta,
*requires*: pytest
@ -2288,7 +2299,7 @@ This list contains 1457 plugins.
Pytest plugin to run your tests with beartype checking enabled.
:pypi:`pytest-bec-e2e`
*last release*: May 08, 2024,
*last release*: May 17, 2024,
*status*: 3 - Alpha,
*requires*: pytest
@ -2882,6 +2893,13 @@ This list contains 1457 plugins.
Easy quality control for CLDF datasets using pytest
:pypi:`pytest-cleanslate`
*last release*: May 15, 2024,
*status*: N/A,
*requires*: pytest
Collects and executes pytest tests separately
:pypi:`pytest_cleanup`
*last release*: Jan 28, 2020,
*status*: N/A,
@ -2946,7 +2964,7 @@ This list contains 1457 plugins.
Distribute tests to cloud machines without fuss
:pypi:`pytest-cmake`
*last release*: May 06, 2024,
*last release*: May 12, 2024,
*status*: N/A,
*requires*: pytest<9,>=4
@ -3758,9 +3776,9 @@ This list contains 1457 plugins.
Disable plugins per test
:pypi:`pytest-discord`
*last release*: Oct 18, 2023,
*last release*: May 11, 2024,
*status*: 4 - Beta,
*requires*: pytest !=6.0.0,<8,>=3.3.2
*requires*: pytest!=6.0.0,<9,>=3.3.2
A pytest plugin to notify test results to a Discord channel.
@ -5130,9 +5148,9 @@ This list contains 1457 plugins.
:pypi:`pytest-fluent`
*last release*: Jun 26, 2023,
*last release*: May 15, 2024,
*status*: 4 - Beta,
*requires*: pytest (>=7.0.0)
*requires*: pytest>=7.0.0
A pytest plugin in order to provide logs via fluentd
@ -5606,7 +5624,7 @@ This list contains 1457 plugins.
Hide captured output
:pypi:`pytest-himark`
*last release*: May 10, 2024,
*last release*: May 15, 2024,
*status*: 4 - Beta,
*requires*: pytest>=6.2.0
@ -5648,7 +5666,7 @@ This list contains 1457 plugins.
A pytest plugin for use with homeassistant custom components.
:pypi:`pytest-homeassistant-custom-component`
*last release*: May 11, 2024,
*last release*: May 18, 2024,
*status*: 3 - Alpha,
*requires*: pytest==8.1.1
@ -6215,9 +6233,9 @@ This list contains 1457 plugins.
py.test JIRA integration plugin, using markers
:pypi:`pytest-jira-xfail`
*last release*: Jun 19, 2023,
*last release*: May 16, 2024,
*status*: N/A,
*requires*: pytest (>=7.2.0)
*requires*: pytest>=7.2.0
Plugin skips (xfail) tests if unresolved Jira issue(s) linked
@ -6383,7 +6401,7 @@ This list contains 1457 plugins.
Run Konira DSL tests with py.test
:pypi:`pytest-kookit`
*last release*: May 06, 2024,
*last release*: May 16, 2024,
*status*: N/A,
*requires*: N/A
@ -6607,7 +6625,7 @@ This list contains 1457 plugins.
Generate local badges (shields) reporting your test suite status.
:pypi:`pytest-localftpserver`
*last release*: Oct 14, 2023,
*last release*: May 17, 2024,
*status*: 5 - Production/Stable,
*requires*: pytest
@ -6859,7 +6877,7 @@ This list contains 1457 plugins.
Plugin for generating Markdown reports for pytest results
:pypi:`pytest-md-report`
*last release*: May 03, 2024,
*last release*: May 18, 2024,
*status*: 4 - Beta,
*requires*: pytest!=6.0.0,<9,>=3.3.2
@ -7384,9 +7402,9 @@ This list contains 1457 plugins.
pytest ngs fixtures
:pypi:`pytest-nhsd-apim`
*last release*: Feb 16, 2024,
*last release*: May 17, 2024,
*status*: N/A,
*requires*: pytest (>=6.2.5,<7.0.0)
*requires*: pytest<9.0.0,>=8.2.0
Pytest plugin accessing NHSDigital's APIM proxies
@ -8084,9 +8102,9 @@ This list contains 1457 plugins.
A pytest fixture for visual testing with Playwright
:pypi:`pytest-plone`
*last release*: Jan 05, 2023,
*last release*: May 15, 2024,
*status*: 3 - Alpha,
*requires*: pytest
*requires*: pytest<8.0.0
Pytest plugin to test Plone addons
@ -8349,6 +8367,13 @@ This list contains 1457 plugins.
pytest plugin for testing applications that use psqlgraph
:pypi:`pytest-pt`
*last release*: May 15, 2024,
*status*: 4 - Beta,
*requires*: pytest
pytest plugin to use \*.pt files as tests
:pypi:`pytest-ptera`
*last release*: Mar 01, 2022,
*status*: N/A,
@ -8531,6 +8556,13 @@ This list contains 1457 plugins.
pytest plugin for adding to the PYTHONPATH from command line or configs.
:pypi:`pytest-python-test-engineer-sort`
*last release*: May 13, 2024,
*status*: N/A,
*requires*: pytest>=6.2.0
Sort plugin for Pytest
:pypi:`pytest-pytorch`
*last release*: May 25, 2021,
*status*: 4 - Beta,
@ -8721,7 +8753,7 @@ This list contains 1457 plugins.
Randomise the order in which pytest tests are run with some control over the randomness
:pypi:`pytest-ranking`
*last release*: May 10, 2024,
*last release*: May 12, 2024,
*status*: 4 - Beta,
*requires*: pytest>=7.4.3
@ -9071,7 +9103,7 @@ This list contains 1457 plugins.
Pytest fixture for recording and replaying serial port traffic.
:pypi:`pytest-resilient-circuits`
*last release*: Apr 03, 2024,
*last release*: May 17, 2024,
*status*: N/A,
*requires*: pytest~=4.6; python_version == "2.7"
@ -9155,9 +9187,9 @@ This list contains 1457 plugins.
A RethinkDB plugin for pytest.
:pypi:`pytest-retry`
*last release*: Feb 04, 2024,
*last release*: May 14, 2024,
*status*: N/A,
*requires*: pytest >=7.0.0
*requires*: pytest>=7.0.0
Adds the ability to retry flaky tests in CI environments
@ -9239,7 +9271,7 @@ This list contains 1457 plugins.
pytest plugin for ROAST configuration override and fixtures
:pypi:`pytest_robotframework`
*last release*: May 03, 2024,
*last release*: May 18, 2024,
*status*: N/A,
*requires*: pytest<9,>=7
@ -9414,7 +9446,7 @@ This list contains 1457 plugins.
pytest_sauce provides sane and helpful methods worked out in clearcode to run py.test tests with selenium/saucelabs
:pypi:`pytest-sbase`
*last release*: May 03, 2024,
*last release*: May 16, 2024,
*status*: 5 - Production/Stable,
*requires*: N/A
@ -9477,7 +9509,7 @@ This list contains 1457 plugins.
pytest plugin to automatically capture screenshots upon selenium webdriver events
:pypi:`pytest-seleniumbase`
*last release*: May 03, 2024,
*last release*: May 16, 2024,
*status*: 5 - Production/Stable,
*requires*: N/A
@ -9546,6 +9578,13 @@ This list contains 1457 plugins.
pytest servers
:pypi:`pytest-service`
*last release*: May 11, 2024,
*status*: 5 - Production/Stable,
*requires*: pytest>=6.0.0
:pypi:`pytest-services`
*last release*: Oct 30, 2020,
*status*: 6 - Mature,
@ -10009,9 +10048,9 @@ This list contains 1457 plugins.
:pypi:`pytest-splunk-addon`
*last release*: Apr 19, 2024,
*last release*: May 16, 2024,
*status*: N/A,
*requires*: pytest (>5.4.0,<8)
*requires*: pytest<8,>5.4.0
A Dynamic test tool for Splunk Apps and Add-ons
@ -11219,13 +11258,6 @@ This list contains 1457 plugins.
py.test fixture for creating a virtual environment
:pypi:`pytest-ver`
*last release*: Feb 07, 2024,
*status*: 4 - Beta,
*requires*: pytest
Pytest module with Verification Protocol, Verification Report and Trace Matrix
:pypi:`pytest-verbose-parametrize`
*last release*: May 28, 2019,
*status*: 5 - Production/Stable,
@ -11502,7 +11534,7 @@ This list contains 1457 plugins.
:pypi:`pytest-xlsx`
*last release*: Apr 23, 2024,
*status*: N/A,
*requires*: N/A
*requires*: pytest~=7.0
pytest plugin for generating test cases by xlsx(excel)

View File

@ -31,6 +31,7 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Testing",
"Topic :: Utilities",

View File

@ -424,15 +424,14 @@ class Traceback(List[TracebackEntry]):
# which generates code objects that have hash/value equality
# XXX needs a test
key = entry.frame.code.path, id(entry.frame.code.raw), entry.lineno
# print "checking for recursion at", key
values = cache.setdefault(key, [])
# Since Python 3.13 f_locals is a proxy, freeze it.
loc = dict(entry.frame.f_locals)
if values:
f = entry.frame
loc = f.f_locals
for otherloc in values:
if otherloc == loc:
return i
values.append(entry.frame.f_locals)
values.append(loc)
return None

View File

@ -835,7 +835,7 @@ class AssertionRewriter(ast.NodeVisitor):
current = self.stack.pop()
if self.stack:
self.explanation_specifiers = self.stack[-1]
keys = [ast.Constant(key) for key in current.keys()]
keys: List[Optional[ast.expr]] = [ast.Constant(key) for key in current.keys()]
format_dict = ast.Dict(keys, list(current.values()))
form = ast.BinOp(expl_expr, ast.Mod(), format_dict)
name = "@py_format" + str(next(self.variable_counter))
@ -926,13 +926,13 @@ class AssertionRewriter(ast.NodeVisitor):
[*self.expl_stmts, hook_call_pass],
[],
)
statements_pass = [hook_impl_test]
statements_pass: List[ast.stmt] = [hook_impl_test]
# Test for assertion condition
main_test = ast.If(negation, statements_fail, statements_pass)
self.statements.append(main_test)
if self.format_variables:
variables = [
variables: List[ast.expr] = [
ast.Name(name, ast.Store()) for name in self.format_variables
]
clear_format = ast.Assign(variables, ast.Constant(None))
@ -1114,11 +1114,11 @@ class AssertionRewriter(ast.NodeVisitor):
if isinstance(comp.left, (ast.Compare, ast.BoolOp)):
left_expl = f"({left_expl})"
res_variables = [self.variable() for i in range(len(comp.ops))]
load_names = [ast.Name(v, ast.Load()) for v in res_variables]
load_names: List[ast.expr] = [ast.Name(v, ast.Load()) for v in res_variables]
store_names = [ast.Name(v, ast.Store()) for v in res_variables]
it = zip(range(len(comp.ops)), comp.ops, comp.comparators)
expls = []
syms = []
expls: List[ast.expr] = []
syms: List[ast.expr] = []
results = [left_res]
for i, op, next_operand in it:
if (

View File

@ -289,7 +289,8 @@ class HookRecorder:
__tracebackhide__ = True
i = 0
entries = list(entries)
backlocals = sys._getframe(1).f_locals
# Since Python 3.13, f_locals is not a dict, but eval requires a dict.
backlocals = dict(sys._getframe(1).f_locals)
while entries:
name, check = entries.pop(0)
for ind, call in enumerate(self.calls[i:]):
@ -760,6 +761,9 @@ class Pytester:
) -> Path:
items = list(files.items())
if ext is None:
raise TypeError("ext must not be None")
if ext and not ext.startswith("."):
raise ValueError(
f"pytester.makefile expects a file extension, try .{ext} instead of {ext}"

View File

@ -1,6 +1,7 @@
# mypy: allow-untyped-defs
from __future__ import annotations
import fnmatch
import importlib
import io
import operator
@ -237,7 +238,7 @@ class TestTraceback_f_g_h:
n += 1
f(n)
excinfo = pytest.raises(RuntimeError, f, 8)
excinfo = pytest.raises(RecursionError, f, 8)
traceback = excinfo.traceback
recindex = traceback.recursionindex()
assert recindex == 3
@ -373,7 +374,10 @@ def test_excinfo_no_sourcecode():
except ValueError:
excinfo = _pytest._code.ExceptionInfo.from_current()
s = str(excinfo.traceback[-1])
assert s == " File '<string>':1 in <module>\n ???\n"
# TODO: Since Python 3.13b1 under pytest-xdist, the * is `import
# sys;exec(eval(sys.stdin.readline()))` (execnet bootstrap code)
# instead of `???` like before. Is this OK?
fnmatch.fnmatch(s, " File '<string>':1 in <module>\n *\n")
def test_excinfo_no_python_sourcecode(tmp_path: Path) -> None:

View File

@ -370,6 +370,10 @@ def test_getfslineno() -> None:
pass
B.__name__ = B.__qualname__ = "B2"
# Since Python 3.13 this started working.
if sys.version_info >= (3, 13):
assert getfslineno(B)[1] != -1
else:
assert getfslineno(B)[1] == -1

View File

@ -1,6 +1,6 @@
anyio[curio,trio]==4.3.0
django==5.0.6
pytest-asyncio==0.23.6
pytest-asyncio==0.23.7
pytest-bdd==7.1.2
pytest-cov==5.0.0
pytest-django==4.8.0

View File

@ -130,6 +130,7 @@ class TestAssertionRewrite:
if isinstance(node, ast.Import):
continue
for n in [node, *ast.iter_child_nodes(node)]:
assert isinstance(n, (ast.stmt, ast.expr))
assert n.lineno == 3
assert n.col_offset == 0
assert n.end_lineno == 6

View File

@ -194,7 +194,7 @@ class TestNewAPI:
assert pytester.path.joinpath("custom_cache_dir").is_dir()
@pytest.mark.parametrize("env", ((), ("TOX_ENV_DIR", "/tox_env_dir")))
@pytest.mark.parametrize("env", ((), ("TOX_ENV_DIR", "mydir/tox-env")))
def test_cache_reportheader(
env: Sequence[str], pytester: Pytester, monkeypatch: MonkeyPatch
) -> None:

View File

@ -224,11 +224,7 @@ class TestDoctests:
"Traceback (most recent call last):",
' File "*/doctest.py", line *, in __run',
" *",
*(
(" *^^^^*",)
if (3, 11, 0, "beta", 4) > sys.version_info >= (3, 11)
else ()
),
*((" *^^^^*", " *", " *") if sys.version_info >= (3, 13) else ()),
' File "<doctest test_doctest_unexpected_exception.txt[1]>", line 1, in <module>',
"ZeroDivisionError: division by zero",
"*/test_doctest_unexpected_exception.txt:2: UnexpectedException",
@ -385,7 +381,7 @@ class TestDoctests:
"*= FAILURES =*",
"*_ [[]doctest[]] test_doctest_linedata_on_property.Sample.some_property _*",
"004 ",
"005 >>> Sample().some_property",
"005 *>>> Sample().some_property",
"Expected:",
" 'another thing'",
"Got:",

View File

@ -3,7 +3,6 @@ import argparse
import os
from pathlib import Path
import re
import sys
from typing import Optional
from _pytest.config import ExitCode
@ -45,32 +44,18 @@ def test_wrap_session_notify_exception(ret_exc, pytester: Pytester) -> None:
assert result.ret == ExitCode.INTERNAL_ERROR
assert result.stdout.lines[0] == "INTERNALERROR> Traceback (most recent call last):"
end_lines = (
result.stdout.lines[-4:]
if (3, 11, 0, "beta", 4) > sys.version_info >= (3, 11)
else result.stdout.lines[-3:]
)
end_lines = result.stdout.lines[-3:]
if exc == SystemExit:
assert end_lines == [
f'INTERNALERROR> File "{c1}", line 4, in pytest_sessionstart',
'INTERNALERROR> raise SystemExit("boom")',
*(
("INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^",)
if (3, 11, 0, "beta", 4) > sys.version_info >= (3, 11)
else ()
),
"INTERNALERROR> SystemExit: boom",
]
else:
assert end_lines == [
f'INTERNALERROR> File "{c1}", line 4, in pytest_sessionstart',
'INTERNALERROR> raise ValueError("boom")',
*(
("INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^",)
if (3, 11, 0, "beta", 4) > sys.version_info >= (3, 11)
else ()
),
"INTERNALERROR> ValueError: boom",
]
if returncode is False:

View File

@ -9,6 +9,7 @@ envlist =
py310
py311
py312
py313
pypy3
py38-{pexpect,xdist,unittestextras,numpy,pluggymain,pylib}
doctesting