diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
new file mode 100644
index 000000000..3f8ca186f
--- /dev/null
+++ b/.github/workflows/stale.yml
@@ -0,0 +1,23 @@
+name: close needs-information issues
+on:
+ schedule:
+ - cron: "30 1 * * *"
+ workflow_dispatch:
+
+jobs:
+ close-issues:
+ runs-on: ubuntu-latest
+ permissions:
+ issues: write
+ steps:
+ - uses: actions/stale@v8
+ with:
+ debug-only: false
+ days-before-issue-stale: 14
+ days-before-issue-close: 7
+ only-labels: "status: needs information"
+ stale-issue-label: "stale"
+ stale-issue-message: "This issue is stale because it has been open for 14 days with no activity."
+ close-issue-message: "This issue was closed because it has been inactive for 7 days since being marked as stale."
+ days-before-pr-stale: -1
+ days-before-pr-close: -1
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index e3fdbd58a..af6cd2623 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,5 +1,3 @@
-default_language_version:
- python: "3.10"
repos:
- repo: https://github.com/psf/black
rev: 23.3.0
@@ -38,13 +36,13 @@ repos:
additional_dependencies:
- flake8-typing-imports==1.12.0
- flake8-docstrings==1.5.0
-- repo: https://github.com/asottile/reorder_python_imports
+- repo: https://github.com/asottile/reorder-python-imports
rev: v3.9.0
hooks:
- id: reorder-python-imports
args: ['--application-directories=.:src', --py37-plus]
- repo: https://github.com/asottile/pyupgrade
- rev: v3.3.2
+ rev: v3.4.0
hooks:
- id: pyupgrade
args: [--py37-plus]
@@ -58,7 +56,7 @@ repos:
hooks:
- id: python-use-type-annotations
- repo: https://github.com/pre-commit/mirrors-mypy
- rev: v1.2.0
+ rev: v1.3.0
hooks:
- id: mypy
files: ^(src/|testing/)
diff --git a/AUTHORS b/AUTHORS
index 656754e49..14476aefb 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -8,6 +8,7 @@ Abdeali JK
Abdelrahman Elbehery
Abhijeet Kasurde
Adam Johnson
+Adam Stewart
Adam Uhlir
Ahn Ki-Wook
Akiomi Kamakura
diff --git a/changelog/10169.bugfix.rst b/changelog/10169.bugfix.rst
new file mode 100644
index 000000000..cbf3516a9
--- /dev/null
+++ b/changelog/10169.bugfix.rst
@@ -0,0 +1 @@
+Fix bug where very long option names could cause pytest to break with ``OSError: [Errno 36] File name too long`` on some systems.
diff --git a/changelog/10987.bugfix.rst b/changelog/10987.bugfix.rst
new file mode 100644
index 000000000..2aafff5f5
--- /dev/null
+++ b/changelog/10987.bugfix.rst
@@ -0,0 +1 @@
+:confval:`testpaths` is now honored to load root ``conftests``.
diff --git a/changelog/10999.bugfix.rst b/changelog/10999.bugfix.rst
new file mode 100644
index 000000000..08c68da01
--- /dev/null
+++ b/changelog/10999.bugfix.rst
@@ -0,0 +1 @@
+The `monkeypatch` `setitem`/`delitem` type annotations now allow `TypedDict` arguments.
diff --git a/doc/en/backwards-compatibility.rst b/doc/en/backwards-compatibility.rst
index 64bcbf5bd..ea0c6a71a 100644
--- a/doc/en/backwards-compatibility.rst
+++ b/doc/en/backwards-compatibility.rst
@@ -92,3 +92,5 @@ pytest version min. Python version
5.0 - 6.1 3.5+
3.3 - 4.6 2.7, 3.4+
============== ===================
+
+`Status of Python Versions `__.
diff --git a/doc/en/how-to/usage.rst b/doc/en/how-to/usage.rst
index c56bef4a6..8e2dd8673 100644
--- a/doc/en/how-to/usage.rst
+++ b/doc/en/how-to/usage.rst
@@ -35,11 +35,12 @@ Pytest supports several ways to run and select tests from the command-line.
.. code-block:: bash
- pytest -k "MyClass and not method"
+ pytest -k 'MyClass and not method'
This will run tests which contain names that match the given *string expression* (case-insensitive),
which can include Python operators that use filenames, class names and function names as variables.
The example above will run ``TestMyClass.test_something`` but not ``TestMyClass.test_method_simple``.
+Use ``""`` instead of ``''`` in expression when running this on Windows
.. _nodeids:
diff --git a/doc/en/reference/plugin_list.rst b/doc/en/reference/plugin_list.rst
index db43f0723..2cb886ed4 100644
--- a/doc/en/reference/plugin_list.rst
+++ b/doc/en/reference/plugin_list.rst
@@ -11,7 +11,7 @@ automatically. Packages classified as inactive are excluded.
creating a PDF, because otherwise the table gets far too wide for the
page.
-This list contains 1247 plugins.
+This list contains 1255 plugins.
.. only:: not latex
@@ -30,11 +30,12 @@ This list contains 1247 plugins.
:pypi:`pytest-aggreport` pytest plugin for pytest-repeat that generate aggregate report of the same test cases with additional statistics details. Mar 07, 2021 4 - Beta pytest (>=6.2.2)
:pypi:`pytest-aio` Pytest plugin for testing async python code Feb 03, 2023 4 - Beta pytest
:pypi:`pytest-aiofiles` pytest fixtures for writing aiofiles tests with pyfakefs May 14, 2017 5 - Production/Stable N/A
+ :pypi:`pytest-aiogram` May 06, 2023 N/A N/A
:pypi:`pytest-aiohttp` Pytest plugin for aiohttp support Feb 12, 2022 4 - Beta pytest (>=6.1.0)
:pypi:`pytest-aiohttp-client` Pytest \`client\` fixture for the Aiohttp Jan 10, 2023 N/A pytest (>=7.2.0,<8.0.0)
:pypi:`pytest-aiomoto` pytest-aiomoto Nov 09, 2022 N/A pytest (>=7.0,<8.0)
:pypi:`pytest-aioresponses` py.test integration for aioresponses Jul 29, 2021 4 - Beta pytest (>=3.5.0)
- :pypi:`pytest-aioworkers` A plugin to test aioworkers project with pytest Dec 04, 2019 4 - Beta pytest (>=3.5.0)
+ :pypi:`pytest-aioworkers` A plugin to test aioworkers project with pytest May 01, 2023 5 - Production/Stable pytest>=6.1.0
:pypi:`pytest-airflow` pytest support for airflow. Apr 03, 2019 3 - Alpha pytest (>=4.4.0)
:pypi:`pytest-airflow-utils` Nov 15, 2021 N/A N/A
:pypi:`pytest-alembic` A pytest plugin for verifying alembic migrations. Apr 18, 2023 N/A pytest (>=6.0)
@@ -49,7 +50,7 @@ This list contains 1247 plugins.
:pypi:`pytest-android` This fixture provides a configured "driver" for Android Automated Testing, using uiautomator2. Feb 21, 2019 3 - Alpha pytest
:pypi:`pytest-anki` A pytest plugin for testing Anki add-ons Jul 31, 2022 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-annotate` pytest-annotate: Generate PyAnnotate annotations from your pytest tests. Jun 07, 2022 3 - Alpha pytest (<8.0.0,>=3.2.0)
- :pypi:`pytest-ansible` Plugin for py.test to simplify calling ansible modules from tests or fixtures Apr 14, 2023 5 - Production/Stable pytest (<8.0.0,>=6)
+ :pypi:`pytest-ansible` Plugin for pytest to simplify calling ansible modules from tests or fixtures May 11, 2023 5 - Production/Stable pytest (<8.0.0,>=6)
:pypi:`pytest-ansible-playbook` Pytest fixture which runs given ansible playbook file. Mar 08, 2019 4 - Beta N/A
:pypi:`pytest-ansible-playbook-runner` Pytest fixture which runs given ansible playbook file. Dec 02, 2020 4 - Beta pytest (>=3.1.0)
:pypi:`pytest-ansible-units` A pytest plugin for running unit tests within an ansible collection Apr 14, 2022 N/A N/A
@@ -140,7 +141,7 @@ This list contains 1247 plugins.
:pypi:`pytest-browser` A pytest plugin for console based browser test selection just after the collection phase Dec 10, 2016 3 - Alpha N/A
:pypi:`pytest-browsermob-proxy` BrowserMob proxy plugin for py.test. Jun 11, 2013 4 - Beta N/A
:pypi:`pytest-browserstack-local` \`\`py.test\`\` plugin to run \`\`BrowserStackLocal\`\` in background. Feb 09, 2018 N/A N/A
- :pypi:`pytest-budosystems` Budo Systems is a martial arts school management system. This module is the Budo Systems Pytest Plugin. Feb 14, 2023 3 - Alpha pytest
+ :pypi:`pytest-budosystems` Budo Systems is a martial arts school management system. This module is the Budo Systems Pytest Plugin. May 07, 2023 3 - Alpha pytest
:pypi:`pytest-bug` Pytest plugin for marking tests as a bug Jan 29, 2023 5 - Production/Stable pytest (>=6.2.0)
:pypi:`pytest-bugtong-tag` pytest-bugtong-tag is a plugin for pytest Jan 16, 2022 N/A N/A
:pypi:`pytest-bugzilla` py.test bugzilla integration plugin May 05, 2010 4 - Beta N/A
@@ -261,7 +262,7 @@ This list contains 1247 plugins.
:pypi:`pytest-data-from-files` pytest plugin to provide data from files loaded automatically Oct 13, 2021 4 - Beta pytest
:pypi:`pytest-dataplugin` A pytest plugin for managing an archive of test data. Sep 16, 2017 1 - Planning N/A
:pypi:`pytest-datarecorder` A py.test plugin recording and comparing test output. Jan 08, 2023 5 - Production/Stable pytest
- :pypi:`pytest-dataset` Plugin for loading different datasets for pytest by prefix from json or yaml files Oct 10, 2022 5 - Production/Stable N/A
+ :pypi:`pytest-dataset` Plugin for loading different datasets for pytest by prefix from json or yaml files May 01, 2023 5 - Production/Stable N/A
:pypi:`pytest-data-suites` Class-based pytest parametrization Jul 24, 2022 N/A pytest (>=6.0,<8.0)
:pypi:`pytest-datatest` A pytest plugin for test driven data-wrangling (this is the development version of datatest's pytest integration). Oct 15, 2020 4 - Beta pytest (>=3.3)
:pypi:`pytest-db` Session scope fixture "db" for mysql query or change Dec 04, 2019 N/A N/A
@@ -269,7 +270,7 @@ This list contains 1247 plugins.
:pypi:`pytest-db-plugin` Nov 27, 2021 N/A pytest (>=5.0)
:pypi:`pytest-dbt-adapter` A pytest plugin for testing dbt adapter plugins Nov 24, 2021 N/A pytest (<7,>=6)
:pypi:`pytest-dbt-conventions` A pytest plugin for linting a dbt project's conventions Mar 02, 2022 N/A pytest (>=6.2.5,<7.0.0)
- :pypi:`pytest-dbt-core` Pytest extension for dbt. Mar 01, 2023 N/A pytest (>=6.2.5) ; extra == 'test'
+ :pypi:`pytest-dbt-core` Pytest extension for dbt. May 03, 2023 N/A pytest (>=6.2.5) ; extra == 'test'
:pypi:`pytest-dbus-notification` D-BUS notifications for pytest results. Mar 05, 2014 5 - Production/Stable N/A
:pypi:`pytest-dbx` Pytest plugin to run unit tests for dbx (Databricks CLI extensions) related code Nov 29, 2022 N/A pytest (>=7.1.3,<8.0.0)
:pypi:`pytest-deadfixtures` A simple plugin to list unused fixtures in pytest Jul 23, 2020 5 - Production/Stable N/A
@@ -322,7 +323,7 @@ This list contains 1247 plugins.
:pypi:`pytest-dockerc` Run, manage and stop Docker Compose project from Docker API Oct 09, 2020 5 - Production/Stable pytest (>=3.0)
:pypi:`pytest-docker-compose` Manages Docker containers during your integration tests Jan 26, 2021 5 - Production/Stable pytest (>=3.3)
:pypi:`pytest-docker-db` A plugin to use docker databases for pytests Mar 20, 2021 5 - Production/Stable pytest (>=3.1.1)
- :pypi:`pytest-docker-fixtures` pytest docker fixtures Mar 24, 2023 3 - Alpha pytest
+ :pypi:`pytest-docker-fixtures` pytest docker fixtures May 02, 2023 3 - Alpha pytest
:pypi:`pytest-docker-git-fixtures` Pytest fixtures for testing with git scm. Feb 09, 2022 4 - Beta pytest
:pypi:`pytest-docker-haproxy-fixtures` Pytest fixtures for testing with haproxy. Feb 09, 2022 4 - Beta pytest
:pypi:`pytest-docker-pexpect` pytest plugin for writing functional tests with pexpect and docker Jan 14, 2019 N/A pytest
@@ -375,7 +376,7 @@ This list contains 1247 plugins.
:pypi:`pytest-embrace` 💝 Dataclasses-as-tests. Describe the runtime once and multiply coverage with no boilerplate. Mar 25, 2023 N/A pytest (>=7.0,<8.0)
:pypi:`pytest-emoji` A pytest plugin that adds emojis to your test result report Feb 19, 2019 4 - Beta pytest (>=4.2.1)
:pypi:`pytest-emoji-output` Pytest plugin to represent test output with emoji support Apr 09, 2023 4 - Beta pytest (==7.0.1)
- :pypi:`pytest-enabler` Enable installed pytest plugins Jan 27, 2023 5 - Production/Stable pytest (>=6) ; extra == 'testing'
+ :pypi:`pytest-enabler` Enable installed pytest plugins May 12, 2023 5 - Production/Stable pytest (>=6) ; extra == 'testing'
:pypi:`pytest-encode` set your encoding and logger Nov 06, 2021 N/A N/A
:pypi:`pytest-encode-kane` set your encoding and logger Nov 16, 2021 N/A pytest
:pypi:`pytest-enhanced-reports` Enhanced test reports for pytest Dec 15, 2022 N/A N/A
@@ -392,7 +393,7 @@ This list contains 1247 plugins.
:pypi:`pytest-ethereum` pytest-ethereum: Pytest library for ethereum projects. Jun 24, 2019 3 - Alpha pytest (==3.3.2); extra == 'dev'
:pypi:`pytest-eucalyptus` Pytest Plugin for BDD Jun 28, 2022 N/A pytest (>=4.2.0)
:pypi:`pytest-eventlet` Applies eventlet monkey-patch as a pytest plugin. Oct 04, 2021 N/A pytest ; extra == 'dev'
- :pypi:`pytest-examples` Pytest plugin for testing examples in docstrings and markdown files. Mar 26, 2023 4 - Beta pytest>=7
+ :pypi:`pytest-examples` Pytest plugin for testing examples in docstrings and markdown files. May 05, 2023 4 - Beta pytest>=7
:pypi:`pytest-excel` pytest plugin for generating excel reports Jan 31, 2022 5 - Production/Stable N/A
:pypi:`pytest-exceptional` Better exceptions Mar 16, 2017 4 - Beta N/A
:pypi:`pytest-exception-script` Walk your code through exception script to check it's resiliency to failures. Aug 04, 2020 3 - Alpha pytest
@@ -468,7 +469,7 @@ This list contains 1247 plugins.
:pypi:`pytest-forcefail` py.test plugin to make the test failing regardless of pytest.mark.xfail May 15, 2018 4 - Beta N/A
:pypi:`pytest-forward-compatability` A name to avoid typosquating pytest-foward-compatibility Sep 06, 2020 N/A N/A
:pypi:`pytest-forward-compatibility` A pytest plugin to shim pytest commandline options for fowards compatibility Sep 29, 2020 N/A N/A
- :pypi:`pytest-frappe` Pytest Frappe Plugin - A set of pytest fixtures to test Frappe applications Apr 17, 2023 4 - Beta pytest>=7.0.0
+ :pypi:`pytest-frappe` Pytest Frappe Plugin - A set of pytest fixtures to test Frappe applications May 03, 2023 4 - Beta pytest>=7.0.0
:pypi:`pytest-freezegun` Wrap tests with fixtures in freeze_time Jul 19, 2020 4 - Beta pytest (>=3.0.0)
:pypi:`pytest-freezer` Pytest plugin providing a fixture interface for spulec/freezegun Oct 20, 2022 N/A pytest>=3.6
:pypi:`pytest-freeze-reqs` Check if requirement files are frozen Apr 29, 2021 N/A N/A
@@ -485,12 +486,12 @@ This list contains 1247 plugins.
:pypi:`pytest-gherkin` A flexible framework for executing BDD gherkin tests Jul 27, 2019 3 - Alpha pytest (>=5.0.0)
:pypi:`pytest-gh-log-group` pytest plugin for gh actions Jan 11, 2022 3 - Alpha pytest
:pypi:`pytest-ghostinspector` For finding/executing Ghost Inspector tests May 17, 2016 3 - Alpha N/A
- :pypi:`pytest-girder` A set of pytest fixtures for testing Girder applications. Mar 15, 2023 N/A N/A
+ :pypi:`pytest-girder` A set of pytest fixtures for testing Girder applications. May 11, 2023 N/A N/A
:pypi:`pytest-git` Git repository fixture for py.test May 28, 2019 5 - Production/Stable pytest
:pypi:`pytest-gitcov` Pytest plugin for reporting on coverage of the last git commit. Jan 11, 2020 2 - Pre-Alpha N/A
:pypi:`pytest-git-fixtures` Pytest fixtures for testing with git. Mar 11, 2021 4 - Beta pytest
:pypi:`pytest-github` Plugin for py.test that associates tests with github issues using a marker. Mar 07, 2019 5 - Production/Stable N/A
- :pypi:`pytest-github-actions-annotate-failures` pytest plugin to annotate failed tests with a workflow command for GitHub Actions Dec 19, 2022 N/A pytest (>=4.0.0)
+ :pypi:`pytest-github-actions-annotate-failures` pytest plugin to annotate failed tests with a workflow command for GitHub Actions May 04, 2023 5 - Production/Stable pytest (>=4.0.0)
:pypi:`pytest-github-report` Generate a GitHub report using pytest in GitHub Workflows Jun 03, 2022 4 - Beta N/A
:pypi:`pytest-gitignore` py.test plugin to ignore the same files as git Jul 17, 2015 4 - Beta N/A
:pypi:`pytest-gitlabci-parallelized` Parallelize pytest across GitLab CI workers. Mar 08, 2023 N/A N/A
@@ -517,7 +518,7 @@ This list contains 1247 plugins.
: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-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 Apr 22, 2023 3 - Alpha pytest (==7.2.2)
+ :pypi:`pytest-homeassistant-custom-component` Experimental package to automatically extract test plugins for Home Assistant custom components May 06, 2023 3 - Alpha pytest (==7.3.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` A pytest plugin to enable a hot reloading daemon. Apr 23, 2023 N/A N/A
@@ -534,7 +535,8 @@ This list contains 1247 plugins.
:pypi:`pytest-html-report-merger` Aug 31, 2022 N/A N/A
:pypi:`pytest-html-thread` pytest plugin for generating HTML reports Dec 29, 2020 5 - Production/Stable N/A
:pypi:`pytest-http` Fixture "http" for http requests Dec 05, 2019 N/A N/A
- :pypi:`pytest-httpbin` Easily test your HTTP library against a local copy of httpbin Mar 16, 2022 5 - Production/Stable pytest ; extra == 'test'
+ :pypi:`pytest-httpbin` Easily test your HTTP library against a local copy of httpbin May 08, 2023 5 - Production/Stable pytest ; extra == 'test'
+ :pypi:`pytest-httpdbg` A pytest plugin to record HTTP(S) requests with stack trace May 09, 2023 3 - Alpha pytest (>=7.0.0)
:pypi:`pytest-http-mocker` Pytest plugin for http mocking (via https://github.com/vilus/mocker) Oct 20, 2019 N/A N/A
:pypi:`pytest-httpretty` A thin wrapper of HTTPretty for pytest Feb 16, 2014 3 - Alpha N/A
:pypi:`pytest-httpserver` pytest-httpserver is a httpserver for pytest Sep 12, 2022 3 - Alpha N/A
@@ -570,6 +572,7 @@ This list contains 1247 plugins.
:pypi:`pytest-integration-mark` Automatic integration test marking and excluding plugin for pytest Jul 19, 2021 N/A pytest (>=5.2,<7.0)
:pypi:`pytest-interactive` A pytest plugin for console based interactive test selection just after the collection phase Nov 30, 2017 3 - Alpha N/A
:pypi:`pytest-intercept-remote` Pytest plugin for intercepting outgoing connection requests during pytest run. May 24, 2021 4 - Beta pytest (>=4.6)
+ :pypi:`pytest-interface-tester` Pytest plugin for checking charm relation interface protocol compliance. May 09, 2023 4 - Beta pytest
:pypi:`pytest-invenio` Pytest fixtures for Invenio. Apr 13, 2023 5 - Production/Stable pytest (<7.2.0,>=6)
:pypi:`pytest-involve` Run tests covering a specific file or changeset Feb 02, 2020 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-ipdb` A py.test plug-in to enable drop to ipdb debugger on test failure. Mar 20, 2013 2 - Pre-Alpha N/A
@@ -646,7 +649,7 @@ This list contains 1247 plugins.
:pypi:`pytest-logger` Plugin configuring handlers for loggers from Python logging module. Jul 25, 2019 4 - Beta pytest (>=3.2)
:pypi:`pytest-logging` Configures logging and allows tweaking the log level with a py.test flag Nov 04, 2015 4 - Beta N/A
:pypi:`pytest-logging-end-to-end-test-tool` Sep 23, 2022 N/A pytest (>=7.1.2,<8.0.0)
- :pypi:`pytest-logikal` Common testing environment Mar 09, 2023 5 - Production/Stable pytest (==7.2.1)
+ :pypi:`pytest-logikal` Common testing environment May 08, 2023 5 - Production/Stable pytest (==7.3.1)
:pypi:`pytest-log-report` Package for creating a pytest test run reprot Dec 26, 2019 N/A N/A
:pypi:`pytest-loguru` Pytest Loguru Apr 12, 2022 5 - Production/Stable N/A
:pypi:`pytest-loop` pytest plugin for looping tests Jul 22, 2022 5 - Production/Stable pytest (>=6)
@@ -669,6 +672,7 @@ This list contains 1247 plugins.
: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 make a test results report with Markdown table format. Aug 06, 2022 4 - Beta pytest (!=6.0.0,<8,>=3.3.2)
+ :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
:pypi:`pytest-memray` A simple plugin to use with pytest Dec 02, 2022 N/A pytest>=7.2
:pypi:`pytest-menu` A pytest plugin for console based interactive test selection just after the collection phase Oct 04, 2017 3 - Alpha pytest (>=2.4.2)
@@ -678,7 +682,7 @@ This list contains 1247 plugins.
:pypi:`pytest-messenger` Pytest to Slack reporting plugin Nov 24, 2022 5 - Production/Stable N/A
:pypi:`pytest-metadata` pytest plugin for test session metadata Oct 30, 2022 5 - Production/Stable pytest (>=3.0.0,<8.0.0)
:pypi:`pytest-metrics` Custom metrics report for pytest Apr 04, 2020 N/A pytest
- :pypi:`pytest-mh` Pytest multihost plugin Apr 19, 2023 N/A pytest
+ :pypi:`pytest-mh` Pytest multihost plugin May 04, 2023 N/A pytest
:pypi:`pytest-mimesis` Mimesis integration with the pytest test runner Mar 21, 2020 5 - Production/Stable pytest (>=4.2)
:pypi:`pytest-minecraft` A pytest plugin for running tests against Minecraft releases Apr 06, 2022 N/A pytest (>=6.0.1)
:pypi:`pytest-mini` A plugin to test mp Feb 06, 2023 N/A pytest (>=7.2.0,<8.0.0)
@@ -691,7 +695,7 @@ This list contains 1247 plugins.
:pypi:`pytest-mock-helper` Help you mock HTTP call and generate mock code Jan 24, 2018 N/A pytest
:pypi:`pytest-mockito` Base fixtures for mockito Jul 11, 2018 4 - Beta N/A
:pypi:`pytest-mockredis` An in-memory mock of a Redis server that runs in a separate thread. This is to be used for unit-tests that require a Redis database. Jan 02, 2018 2 - Pre-Alpha N/A
- :pypi:`pytest-mock-resources` A pytest plugin for easily instantiating reproducible mock resources. Mar 03, 2023 N/A pytest (>=1.0)
+ :pypi:`pytest-mock-resources` A pytest plugin for easily instantiating reproducible mock resources. May 03, 2023 N/A pytest (>=1.0)
:pypi:`pytest-mock-server` Mock server plugin for pytest Jan 09, 2022 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-mockservers` A set of fixtures to test your requests to HTTP/UDP servers Mar 31, 2020 N/A pytest (>=4.3.0)
:pypi:`pytest-mocktcp` A pytest plugin for testing TCP clients Oct 11, 2022 N/A pytest
@@ -719,7 +723,7 @@ This list contains 1247 plugins.
:pypi:`pytest-mutagen` Add the mutation testing feature to pytest Jul 24, 2020 N/A pytest (>=5.4)
:pypi:`pytest-mypy` Mypy static type checker plugin for Pytest Dec 18, 2022 4 - Beta pytest (>=6.2) ; python_version >= "3.10"
:pypi:`pytest-mypyd` Mypy static type checker plugin for Pytest Aug 20, 2019 4 - Beta pytest (<4.7,>=2.8) ; python_version < "3.5"
- :pypi:`pytest-mypy-plugins` pytest plugin for writing tests for mypy plugins Oct 26, 2022 4 - Beta pytest (>=6.0.0)
+ :pypi:`pytest-mypy-plugins` pytest plugin for writing tests for mypy plugins May 05, 2023 4 - Beta pytest (>=6.2.0)
:pypi:`pytest-mypy-plugins-shim` Substitute for "pytest-mypy-plugins" for Python implementations which aren't supported by mypy. Apr 12, 2021 N/A pytest>=6.0.0
:pypi:`pytest-mypy-testing` Pytest plugin to check mypy output. Feb 25, 2023 N/A pytest>=7,<8
:pypi:`pytest-mysql` MySQL process and client fixtures for pytest Mar 27, 2023 5 - Production/Stable pytest (>=6.2)
@@ -746,7 +750,7 @@ This list contains 1247 plugins.
:pypi:`pytest-notimplemented` Pytest markers for not implemented features and tests. Aug 27, 2019 N/A pytest (>=5.1,<6.0)
:pypi:`pytest-notion` A PyTest Reporter to send test runs to Notion.so Aug 07, 2019 N/A N/A
:pypi:`pytest-nunit` A pytest plugin for generating NUnit3 test result XML output Oct 20, 2022 5 - Production/Stable pytest (>=4.6.0)
- :pypi:`pytest-oar` PyTest plugin for the OAR testing framework Apr 04, 2023 N/A pytest>=6.0.1
+ :pypi:`pytest-oar` PyTest plugin for the OAR testing framework May 02, 2023 N/A pytest>=6.0.1
:pypi:`pytest-object-getter` Import any object from a 3rd party module while mocking its namespace on demand. Jul 31, 2022 5 - Production/Stable pytest
:pypi:`pytest-ochrus` pytest results data-base and HTML reporter Feb 21, 2018 4 - Beta N/A
:pypi:`pytest-odoo` py.test plugin to run Odoo tests Nov 17, 2022 4 - Beta pytest (>=7.2.0)
@@ -796,7 +800,7 @@ This list contains 1247 plugins.
:pypi:`pytest-perf` pytest-perf Jun 23, 2022 5 - Production/Stable pytest (>=6) ; extra == 'testing'
:pypi:`pytest-performance` A simple plugin to ensure the execution of critical sections of code has not been impacted Sep 11, 2020 5 - Production/Stable pytest (>=3.7.0)
:pypi:`pytest-persistence` Pytest tool for persistent objects Mar 28, 2023 N/A N/A
- :pypi:`pytest-pg` A tiny plugin for pytest which runs PostgreSQL in Docker Sep 19, 2022 5 - Production/Stable pytest (>=6.0.0)
+ :pypi:`pytest-pg` A tiny plugin for pytest which runs PostgreSQL in Docker May 04, 2023 5 - Production/Stable pytest (>=6.0.0)
:pypi:`pytest-pgsql` Pytest plugins and helpers for tests using a Postgres database. May 13, 2020 5 - Production/Stable pytest (>=3.0.0)
:pypi:`pytest-phmdoctest` pytest plugin to test Python examples in Markdown using phmdoctest. Apr 15, 2022 4 - Beta pytest (>=5.4.3)
:pypi:`pytest-picked` Run the tests related to the changed files Dec 23, 2020 N/A pytest (>=3.5.0)
@@ -827,7 +831,7 @@ This list contains 1247 plugins.
:pypi:`pytest-ponyorm` PonyORM in Pytest Oct 31, 2018 N/A pytest (>=3.1.1)
:pypi:`pytest-poo` Visualize your crappy tests Mar 25, 2021 5 - Production/Stable pytest (>=2.3.4)
:pypi:`pytest-poo-fail` Visualize your failed tests with poo Feb 12, 2015 5 - Production/Stable N/A
- :pypi:`pytest-pop` A pytest plugin to help with testing pop projects Mar 16, 2023 5 - Production/Stable pytest
+ :pypi:`pytest-pop` A pytest plugin to help with testing pop projects May 09, 2023 5 - Production/Stable pytest
:pypi:`pytest-portion` Select a portion of the collected tests Jan 28, 2021 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-postgres` Run PostgreSQL in Docker container in Pytest. Mar 22, 2020 N/A pytest
:pypi:`pytest-postgresql` Postgresql fixtures and fixture factories for Pytest. Mar 11, 2022 5 - Production/Stable pytest (>=6.2.0)
@@ -858,20 +862,22 @@ This list contains 1247 plugins.
:pypi:`pytest-pydocstyle` pytest plugin to run pydocstyle Jan 05, 2023 3 - Alpha N/A
:pypi:`pytest-pylint` pytest plugin to check source code with pylint Sep 10, 2022 5 - Production/Stable pytest (>=5.4)
:pypi:`pytest-pymysql-autorecord` Record PyMySQL queries and mock with the stored data. Sep 02, 2022 N/A N/A
- :pypi:`pytest-pyodide` "Pytest plugin for testing applications that use Pyodide" Jan 05, 2023 N/A pytest
+ :pypi:`pytest-pyodide` "Pytest plugin for testing applications that use Pyodide" May 10, 2023 N/A pytest
:pypi:`pytest-pypi` Easily test your HTTP library against a local copy of pypi Mar 04, 2018 3 - Alpha N/A
:pypi:`pytest-pypom-navigation` Core engine for cookiecutter-qa and pytest-play packages Feb 18, 2019 4 - Beta pytest (>=3.0.7)
:pypi:`pytest-pyppeteer` A plugin to run pyppeteer in pytest Apr 28, 2022 N/A pytest (>=6.2.5,<7.0.0)
:pypi:`pytest-pyq` Pytest fixture "q" for pyq Mar 10, 2020 5 - Production/Stable N/A
:pypi:`pytest-pyramid` pytest_pyramid - provides fixtures for testing pyramid applications with pytest test suite Dec 13, 2022 5 - Production/Stable pytest
:pypi:`pytest-pyramid-server` Pyramid server fixture for py.test May 28, 2019 5 - Production/Stable pytest
+ :pypi:`pytest-pyreport` PyReport is a lightweight reporting plugin for Pytest that provides concise HTML report May 08, 2023 N/A pytest (>=7.3.1)
:pypi:`pytest-pyright` Pytest plugin for type checking code with Pyright Nov 20, 2022 4 - Beta pytest (>=7.0.0)
:pypi:`pytest-pyspec` A plugin that transforms the pytest output into a result similar to the RSpec. It enables the use of docstrings to display results and also enables the use of the prefixes "describe", "with" and "it". Mar 12, 2023 5 - Production/Stable pytest (>=7.2.1,<8.0.0)
+ :pypi:`pytest-pystack` Plugin to run pystack after a timeout for a test suite. May 07, 2023 N/A pytest (>=3.5.0)
:pypi:`pytest-pytestrail` Pytest plugin for interaction with TestRail Aug 27, 2020 4 - Beta pytest (>=3.8.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-pytorch` pytest plugin for a better developer experience when working with the PyTorch test suite May 25, 2021 4 - Beta pytest
:pypi:`pytest-pyvista` Pytest-pyvista package Mar 19, 2023 4 - Beta pytest>=3.5.0
- :pypi:`pytest-qaseio` Pytest plugin for Qase.io integration Apr 07, 2023 4 - Beta pytest (>=7.2.2,<8.0.0)
+ :pypi:`pytest-qaseio` Pytest plugin for Qase.io integration May 11, 2023 4 - Beta pytest (>=7.2.2,<8.0.0)
:pypi:`pytest-qasync` Pytest support for qasync. Jul 12, 2021 4 - Beta pytest (>=5.4.0)
:pypi:`pytest-qatouch` Pytest plugin for uploading test results to your QA Touch Testrun. Feb 14, 2023 4 - Beta pytest (>=6.2.0)
:pypi:`pytest-qgis` A pytest plugin for testing QGIS python plugins Jun 26, 2022 5 - Production/Stable pytest (>=6.2.3)
@@ -937,7 +943,7 @@ This list contains 1247 plugins.
:pypi:`pytest-rerunfailures` pytest plugin to re-run tests to eliminate flaky failures Mar 09, 2023 5 - Production/Stable pytest (>=5.3)
: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. Apr 26, 2023 4 - Beta pytest
- :pypi:`pytest-resilient-circuits` Resilient Circuits fixtures for PyTest Apr 20, 2023 N/A pytest (~=4.6) ; python_version == "2.7"
+ :pypi:`pytest-resilient-circuits` Resilient Circuits fixtures for PyTest May 05, 2023 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
@@ -983,14 +989,14 @@ This list contains 1247 plugins.
:pypi:`pytest-sanic` a pytest plugin for Sanic Oct 25, 2021 N/A pytest (>=5.2)
:pypi:`pytest-sanity` Dec 07, 2020 N/A N/A
:pypi:`pytest-sa-pg` May 14, 2019 N/A N/A
- :pypi:`pytest-sbase` A complete web automation framework for end-to-end testing. Apr 29, 2023 5 - Production/Stable N/A
+ :pypi:`pytest-sbase` A complete web automation framework for end-to-end testing. May 12, 2023 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 Mar 14, 2022 5 - Production/Stable pytest (>=3.5.0)
:pypi:`pytest-securestore` An encrypted password store for use within pytest cases Nov 08, 2021 4 - Beta N/A
: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 Sep 21, 2022 5 - Production/Stable pytest (>=6.0.0,<7.0.0)
- :pypi:`pytest-seleniumbase` A complete web automation framework for end-to-end testing. Apr 29, 2023 5 - Production/Stable N/A
+ :pypi:`pytest-seleniumbase` A complete web automation framework for end-to-end testing. May 12, 2023 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-send-email` Send pytest execution result email Dec 04, 2019 N/A N/A
@@ -1029,6 +1035,7 @@ This list contains 1247 plugins.
:pypi:`pytest-smartcov` Smart coverage plugin for pytest. Sep 30, 2017 3 - Alpha N/A
:pypi:`pytest-smell` Automated bad smell detection tool for Pytest Jun 26, 2022 N/A N/A
:pypi:`pytest-smtp` Send email with pytest execution result Feb 20, 2021 N/A pytest
+ :pypi:`pytest-smtpd` package_description May 05, 2023 N/A pytest
:pypi:`pytest-snail` Plugin for adding a marker to slow running tests. 🐌 Nov 04, 2019 3 - Alpha pytest (>=5.0.1)
:pypi:`pytest-snapci` py.test plugin for Snap-CI Nov 12, 2015 N/A N/A
:pypi:`pytest-snapshot` A plugin for snapshot testing with pytest. Apr 23, 2022 4 - Beta pytest (>=3.0.0)
@@ -1061,7 +1068,7 @@ This list contains 1247 plugins.
:pypi:`pytest-sqitch` sqitch for pytest Apr 06, 2020 4 - Beta N/A
:pypi:`pytest-sqlalchemy` pytest plugin with sqlalchemy related fixtures Mar 13, 2018 3 - Alpha N/A
:pypi:`pytest-sqlalchemy-mock` pytest sqlalchemy plugin for mock Mar 15, 2023 3 - Alpha pytest (>=2.0)
- :pypi:`pytest-sqlalchemy-session` A pytest plugin for preserving test isolation that use SQLAlchemy. Apr 29, 2023 4 - Beta pytest (>=7.0)
+ :pypi:`pytest-sqlalchemy-session` A pytest plugin for preserving test isolation that use SQLAlchemy. May 05, 2023 4 - Beta pytest (>=7.0)
:pypi:`pytest-sql-bigquery` Yet another SQL-testing framework for BigQuery provided by pytest plugin Dec 19, 2019 N/A pytest
:pypi:`pytest-sqlfluff` A pytest plugin to use sqlfluff to enable format checking of sql files. Dec 21, 2022 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-squadcast` Pytest report plugin for Squadcast Feb 22, 2022 5 - Production/Stable pytest
@@ -1069,6 +1076,7 @@ This list contains 1247 plugins.
:pypi:`pytest-ssh` pytest plugin for ssh command run May 27, 2019 N/A pytest
:pypi:`pytest-start-from` Start pytest run from a given point Apr 11, 2016 N/A N/A
:pypi:`pytest-star-track-issue` A package to prevent Dependency Confusion attacks against Yandex. Feb 10, 2023 N/A N/A
+ :pypi:`pytest-static` pytest-static May 07, 2023 1 - Planning N/A
:pypi:`pytest-statsd` pytest plugin for reporting to graphite Nov 30, 2018 5 - Production/Stable pytest (>=3.0.0)
:pypi:`pytest-stepfunctions` A small description May 08, 2021 4 - Beta pytest
:pypi:`pytest-steps` Create step-wise / incremental tests in pytest. Sep 23, 2021 5 - Production/Stable N/A
@@ -1109,13 +1117,13 @@ This list contains 1247 plugins.
:pypi:`pytest-terraform-fixture` generate terraform resources to use with pytest Nov 14, 2018 4 - Beta N/A
:pypi:`pytest-testbook` A plugin to run tests written in Jupyter notebook Dec 11, 2016 3 - Alpha N/A
:pypi:`pytest-testconfig` Test configuration plugin for pytest. Jan 11, 2020 4 - Beta pytest (>=3.5.0)
- :pypi:`pytest-testdirectory` A py.test plugin providing temporary directories in unit tests. Feb 21, 2022 5 - Production/Stable pytest
+ :pypi:`pytest-testdirectory` A py.test plugin providing temporary directories in unit tests. May 02, 2023 5 - Production/Stable pytest
:pypi:`pytest-testdox` A testdox format reporter for pytest Apr 19, 2022 5 - Production/Stable pytest (>=4.6.0)
:pypi:`pytest-test-grouping` A Pytest plugin for running a subset of your tests by splitting them in to equally sized groups. Feb 01, 2023 5 - Production/Stable pytest (>=2.5)
:pypi:`pytest-test-groups` A Pytest plugin for running a subset of your tests by splitting them in to equally sized groups. Oct 25, 2016 5 - Production/Stable N/A
:pypi:`pytest-testinfra` Test infrastructures Dec 01, 2022 5 - Production/Stable pytest (!=3.0.2)
:pypi:`pytest-testlink-adaptor` pytest reporting plugin for testlink Dec 20, 2018 4 - Beta pytest (>=2.6)
- :pypi:`pytest-testmon` selects tests affected by changed files and methods Apr 06, 2023 4 - Beta pytest (<8,>=5)
+ :pypi:`pytest-testmon` selects tests affected by changed files and methods May 12, 2023 4 - Beta pytest (<8,>=5)
:pypi:`pytest-testmon-dev` selects tests affected by changed files and methods Mar 30, 2023 4 - Beta pytest (<8,>=5)
:pypi:`pytest-testmon-oc` nOly selects tests affected by changed files and methods Jun 01, 2022 4 - Beta pytest (<8,>=5)
:pypi:`pytest-testmon-skip-libraries` selects tests affected by changed files and methods Mar 03, 2023 4 - Beta pytest (<8,>=5)
@@ -1220,7 +1228,7 @@ This list contains 1247 plugins.
:pypi:`pytest-vw` pytest-vw makes your failing test cases succeed under CI tools scrutiny Oct 07, 2015 4 - Beta N/A
:pypi:`pytest-vyper` Plugin for the vyper smart contract language. May 28, 2020 2 - Pre-Alpha N/A
:pypi:`pytest-wa-e2e-plugin` Pytest plugin for testing whatsapp bots with end to end tests Feb 18, 2020 4 - Beta pytest (>=3.5.0)
- :pypi:`pytest-wake` Feb 27, 2023 N/A pytest
+ :pypi:`pytest-wake` May 11, 2023 N/A pytest
:pypi:`pytest-watch` Local continuous test runner with pytest and watchdog. May 20, 2018 N/A N/A
:pypi:`pytest-watcher` Continiously runs pytest on changes in \*.py files Dec 11, 2022 3 - Alpha N/A
:pypi:`pytest-wdl` Pytest plugin for testing WDL workflows. Nov 17, 2020 5 - Production/Stable N/A
@@ -1234,7 +1242,7 @@ This list contains 1247 plugins.
:pypi:`pytest-wiremock` A pytest plugin for programmatically using wiremock in integration tests Mar 27, 2022 N/A pytest (>=7.1.1,<8.0.0)
:pypi:`pytest-with-docker` pytest with docker helpers. Nov 09, 2021 N/A pytest
:pypi:`pytest-workflow` A pytest plugin for configuring workflow/pipeline tests using YAML files Jan 13, 2023 5 - Production/Stable pytest (>=7.0.0)
- :pypi:`pytest-xdist` pytest xdist plugin for distributed testing, most importantly across multiple CPUs Mar 12, 2023 5 - Production/Stable pytest (>=6.2.0)
+ :pypi:`pytest-xdist` pytest xdist plugin for distributed testing, most importantly across multiple CPUs May 12, 2023 5 - Production/Stable pytest (>=6.2.0)
:pypi:`pytest-xdist-debug-for-graingert` pytest xdist plugin for distributed testing and loop-on-failing modes Jul 24, 2019 5 - Production/Stable pytest (>=4.4.0)
:pypi:`pytest-xdist-forked` forked from pytest-xdist Feb 10, 2020 5 - Production/Stable pytest (>=4.4.0)
:pypi:`pytest-xdist-tracker` pytest plugin helps to reproduce failures for particular xdist node Nov 18, 2021 3 - Alpha pytest (>=3.5.1)
@@ -1253,7 +1261,7 @@ This list contains 1247 plugins.
:pypi:`pytest-yaml-sanmu` pytest plugin for generating test cases by yaml Mar 17, 2023 N/A pytest>=7.2.0
:pypi:`pytest-yamltree` Create or check file/directory trees described by YAML Mar 02, 2020 4 - Beta pytest (>=3.1.1)
:pypi:`pytest-yamlwsgi` Run tests against wsgi apps defined in yaml May 11, 2010 N/A N/A
- :pypi:`pytest-yaml-yoyo` http/https API run by yaml Mar 21, 2023 N/A pytest (>=7.2.0)
+ :pypi:`pytest-yaml-yoyo` http/https API run by yaml May 08, 2023 N/A pytest (>=7.2.0)
:pypi:`pytest-yapf` Run yapf Jul 06, 2017 4 - Beta pytest (>=3.1.1)
:pypi:`pytest-yapf3` Validate your Python file format with yapf Mar 29, 2023 5 - Production/Stable pytest (>=7)
:pypi:`pytest-yield` PyTest plugin to run tests concurrently, each \`yield\` switch context to other one Jan 23, 2019 N/A N/A
@@ -1354,6 +1362,13 @@ This list contains 1247 plugins.
pytest fixtures for writing aiofiles tests with pyfakefs
+ :pypi:`pytest-aiogram`
+ *last release*: May 06, 2023,
+ *status*: N/A,
+ *requires*: N/A
+
+
+
:pypi:`pytest-aiohttp`
*last release*: Feb 12, 2022,
*status*: 4 - Beta,
@@ -1383,9 +1398,9 @@ This list contains 1247 plugins.
py.test integration for aioresponses
:pypi:`pytest-aioworkers`
- *last release*: Dec 04, 2019,
- *status*: 4 - Beta,
- *requires*: pytest (>=3.5.0)
+ *last release*: May 01, 2023,
+ *status*: 5 - Production/Stable,
+ *requires*: pytest>=6.1.0
A plugin to test aioworkers project with pytest
@@ -1488,11 +1503,11 @@ This list contains 1247 plugins.
pytest-annotate: Generate PyAnnotate annotations from your pytest tests.
:pypi:`pytest-ansible`
- *last release*: Apr 14, 2023,
+ *last release*: May 11, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest (<8.0.0,>=6)
- Plugin for py.test to simplify calling ansible modules from tests or fixtures
+ Plugin for pytest to simplify calling ansible modules from tests or fixtures
:pypi:`pytest-ansible-playbook`
*last release*: Mar 08, 2019,
@@ -2125,7 +2140,7 @@ This list contains 1247 plugins.
\`\`py.test\`\` plugin to run \`\`BrowserStackLocal\`\` in background.
:pypi:`pytest-budosystems`
- *last release*: Feb 14, 2023,
+ *last release*: May 07, 2023,
*status*: 3 - Alpha,
*requires*: pytest
@@ -2972,7 +2987,7 @@ This list contains 1247 plugins.
A py.test plugin recording and comparing test output.
:pypi:`pytest-dataset`
- *last release*: Oct 10, 2022,
+ *last release*: May 01, 2023,
*status*: 5 - Production/Stable,
*requires*: N/A
@@ -3028,7 +3043,7 @@ This list contains 1247 plugins.
A pytest plugin for linting a dbt project's conventions
:pypi:`pytest-dbt-core`
- *last release*: Mar 01, 2023,
+ *last release*: May 03, 2023,
*status*: N/A,
*requires*: pytest (>=6.2.5) ; extra == 'test'
@@ -3399,7 +3414,7 @@ This list contains 1247 plugins.
A plugin to use docker databases for pytests
:pypi:`pytest-docker-fixtures`
- *last release*: Mar 24, 2023,
+ *last release*: May 02, 2023,
*status*: 3 - Alpha,
*requires*: pytest
@@ -3770,7 +3785,7 @@ This list contains 1247 plugins.
Pytest plugin to represent test output with emoji support
:pypi:`pytest-enabler`
- *last release*: Jan 27, 2023,
+ *last release*: May 12, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest (>=6) ; extra == 'testing'
@@ -3889,7 +3904,7 @@ This list contains 1247 plugins.
Applies eventlet monkey-patch as a pytest plugin.
:pypi:`pytest-examples`
- *last release*: Mar 26, 2023,
+ *last release*: May 05, 2023,
*status*: 4 - Beta,
*requires*: pytest>=7
@@ -4421,7 +4436,7 @@ This list contains 1247 plugins.
A pytest plugin to shim pytest commandline options for fowards compatibility
:pypi:`pytest-frappe`
- *last release*: Apr 17, 2023,
+ *last release*: May 03, 2023,
*status*: 4 - Beta,
*requires*: pytest>=7.0.0
@@ -4540,7 +4555,7 @@ This list contains 1247 plugins.
For finding/executing Ghost Inspector tests
:pypi:`pytest-girder`
- *last release*: Mar 15, 2023,
+ *last release*: May 11, 2023,
*status*: N/A,
*requires*: N/A
@@ -4575,8 +4590,8 @@ This list contains 1247 plugins.
Plugin for py.test that associates tests with github issues using a marker.
:pypi:`pytest-github-actions-annotate-failures`
- *last release*: Dec 19, 2022,
- *status*: N/A,
+ *last release*: May 04, 2023,
+ *status*: 5 - Production/Stable,
*requires*: pytest (>=4.0.0)
pytest plugin to annotate failed tests with a workflow command for GitHub Actions
@@ -4764,9 +4779,9 @@ This list contains 1247 plugins.
A pytest plugin for use with homeassistant custom components.
:pypi:`pytest-homeassistant-custom-component`
- *last release*: Apr 22, 2023,
+ *last release*: May 06, 2023,
*status*: 3 - Alpha,
- *requires*: pytest (==7.2.2)
+ *requires*: pytest (==7.3.1)
Experimental package to automatically extract test plugins for Home Assistant custom components
@@ -4883,12 +4898,19 @@ This list contains 1247 plugins.
Fixture "http" for http requests
:pypi:`pytest-httpbin`
- *last release*: Mar 16, 2022,
+ *last release*: May 08, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest ; extra == 'test'
Easily test your HTTP library against a local copy of httpbin
+ :pypi:`pytest-httpdbg`
+ *last release*: May 09, 2023,
+ *status*: 3 - Alpha,
+ *requires*: pytest (>=7.0.0)
+
+ A pytest plugin to record HTTP(S) requests with stack trace
+
:pypi:`pytest-http-mocker`
*last release*: Oct 20, 2019,
*status*: N/A,
@@ -5134,6 +5156,13 @@ This list contains 1247 plugins.
Pytest plugin for intercepting outgoing connection requests during pytest run.
+ :pypi:`pytest-interface-tester`
+ *last release*: May 09, 2023,
+ *status*: 4 - Beta,
+ *requires*: pytest
+
+ Pytest plugin for checking charm relation interface protocol compliance.
+
:pypi:`pytest-invenio`
*last release*: Apr 13, 2023,
*status*: 5 - Production/Stable,
@@ -5667,9 +5696,9 @@ This list contains 1247 plugins.
:pypi:`pytest-logikal`
- *last release*: Mar 09, 2023,
+ *last release*: May 08, 2023,
*status*: 5 - Production/Stable,
- *requires*: pytest (==7.2.1)
+ *requires*: pytest (==7.3.1)
Common testing environment
@@ -5827,6 +5856,13 @@ This list contains 1247 plugins.
A pytest plugin to make a test results report with Markdown table format.
+ :pypi:`pytest-memlog`
+ *last release*: May 03, 2023,
+ *status*: N/A,
+ *requires*: pytest (>=7.3.0,<8.0.0)
+
+ Log memory usage during tests
+
:pypi:`pytest-memprof`
*last release*: Mar 29, 2019,
*status*: 4 - Beta,
@@ -5891,7 +5927,7 @@ This list contains 1247 plugins.
Custom metrics report for pytest
:pypi:`pytest-mh`
- *last release*: Apr 19, 2023,
+ *last release*: May 04, 2023,
*status*: N/A,
*requires*: pytest
@@ -5982,7 +6018,7 @@ This list contains 1247 plugins.
An in-memory mock of a Redis server that runs in a separate thread. This is to be used for unit-tests that require a Redis database.
:pypi:`pytest-mock-resources`
- *last release*: Mar 03, 2023,
+ *last release*: May 03, 2023,
*status*: N/A,
*requires*: pytest (>=1.0)
@@ -6178,9 +6214,9 @@ This list contains 1247 plugins.
Mypy static type checker plugin for Pytest
:pypi:`pytest-mypy-plugins`
- *last release*: Oct 26, 2022,
+ *last release*: May 05, 2023,
*status*: 4 - Beta,
- *requires*: pytest (>=6.0.0)
+ *requires*: pytest (>=6.2.0)
pytest plugin for writing tests for mypy plugins
@@ -6367,7 +6403,7 @@ This list contains 1247 plugins.
A pytest plugin for generating NUnit3 test result XML output
:pypi:`pytest-oar`
- *last release*: Apr 04, 2023,
+ *last release*: May 02, 2023,
*status*: N/A,
*requires*: pytest>=6.0.1
@@ -6717,7 +6753,7 @@ This list contains 1247 plugins.
Pytest tool for persistent objects
:pypi:`pytest-pg`
- *last release*: Sep 19, 2022,
+ *last release*: May 04, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest (>=6.0.0)
@@ -6934,7 +6970,7 @@ This list contains 1247 plugins.
Visualize your failed tests with poo
:pypi:`pytest-pop`
- *last release*: Mar 16, 2023,
+ *last release*: May 09, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest
@@ -7151,7 +7187,7 @@ This list contains 1247 plugins.
Record PyMySQL queries and mock with the stored data.
:pypi:`pytest-pyodide`
- *last release*: Jan 05, 2023,
+ *last release*: May 10, 2023,
*status*: N/A,
*requires*: pytest
@@ -7199,6 +7235,13 @@ This list contains 1247 plugins.
Pyramid server fixture for py.test
+ :pypi:`pytest-pyreport`
+ *last release*: May 08, 2023,
+ *status*: N/A,
+ *requires*: pytest (>=7.3.1)
+
+ PyReport is a lightweight reporting plugin for Pytest that provides concise HTML report
+
:pypi:`pytest-pyright`
*last release*: Nov 20, 2022,
*status*: 4 - Beta,
@@ -7213,6 +7256,13 @@ This list contains 1247 plugins.
A plugin that transforms the pytest output into a result similar to the RSpec. It enables the use of docstrings to display results and also enables the use of the prefixes "describe", "with" and "it".
+ :pypi:`pytest-pystack`
+ *last release*: May 07, 2023,
+ *status*: N/A,
+ *requires*: pytest (>=3.5.0)
+
+ Plugin to run pystack after a timeout for a test suite.
+
:pypi:`pytest-pytestrail`
*last release*: Aug 27, 2020,
*status*: 4 - Beta,
@@ -7242,7 +7292,7 @@ This list contains 1247 plugins.
Pytest-pyvista package
:pypi:`pytest-qaseio`
- *last release*: Apr 07, 2023,
+ *last release*: May 11, 2023,
*status*: 4 - Beta,
*requires*: pytest (>=7.2.2,<8.0.0)
@@ -7704,7 +7754,7 @@ This list contains 1247 plugins.
Pytest fixture for recording and replaying serial port traffic.
:pypi:`pytest-resilient-circuits`
- *last release*: Apr 20, 2023,
+ *last release*: May 05, 2023,
*status*: N/A,
*requires*: pytest (~=4.6) ; python_version == "2.7"
@@ -8026,7 +8076,7 @@ This list contains 1247 plugins.
:pypi:`pytest-sbase`
- *last release*: Apr 29, 2023,
+ *last release*: May 12, 2023,
*status*: 5 - Production/Stable,
*requires*: N/A
@@ -8075,7 +8125,7 @@ This list contains 1247 plugins.
pytest plugin for Selenium
:pypi:`pytest-seleniumbase`
- *last release*: Apr 29, 2023,
+ *last release*: May 12, 2023,
*status*: 5 - Production/Stable,
*requires*: N/A
@@ -8347,6 +8397,13 @@ This list contains 1247 plugins.
Send email with pytest execution result
+ :pypi:`pytest-smtpd`
+ *last release*: May 05, 2023,
+ *status*: N/A,
+ *requires*: pytest
+
+ package_description
+
:pypi:`pytest-snail`
*last release*: Nov 04, 2019,
*status*: 3 - Alpha,
@@ -8572,7 +8629,7 @@ This list contains 1247 plugins.
pytest sqlalchemy plugin for mock
:pypi:`pytest-sqlalchemy-session`
- *last release*: Apr 29, 2023,
+ *last release*: May 05, 2023,
*status*: 4 - Beta,
*requires*: pytest (>=7.0)
@@ -8627,6 +8684,13 @@ This list contains 1247 plugins.
A package to prevent Dependency Confusion attacks against Yandex.
+ :pypi:`pytest-static`
+ *last release*: May 07, 2023,
+ *status*: 1 - Planning,
+ *requires*: N/A
+
+ pytest-static
+
:pypi:`pytest-statsd`
*last release*: Nov 30, 2018,
*status*: 5 - Production/Stable,
@@ -8908,7 +8972,7 @@ This list contains 1247 plugins.
Test configuration plugin for pytest.
:pypi:`pytest-testdirectory`
- *last release*: Feb 21, 2022,
+ *last release*: May 02, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest
@@ -8950,7 +9014,7 @@ This list contains 1247 plugins.
pytest reporting plugin for testlink
:pypi:`pytest-testmon`
- *last release*: Apr 06, 2023,
+ *last release*: May 12, 2023,
*status*: 4 - Beta,
*requires*: pytest (<8,>=5)
@@ -9685,7 +9749,7 @@ This list contains 1247 plugins.
Pytest plugin for testing whatsapp bots with end to end tests
:pypi:`pytest-wake`
- *last release*: Feb 27, 2023,
+ *last release*: May 11, 2023,
*status*: N/A,
*requires*: pytest
@@ -9783,7 +9847,7 @@ This list contains 1247 plugins.
A pytest plugin for configuring workflow/pipeline tests using YAML files
:pypi:`pytest-xdist`
- *last release*: Mar 12, 2023,
+ *last release*: May 12, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest (>=6.2.0)
@@ -9916,7 +9980,7 @@ This list contains 1247 plugins.
Run tests against wsgi apps defined in yaml
:pypi:`pytest-yaml-yoyo`
- *last release*: Mar 21, 2023,
+ *last release*: May 08, 2023,
*status*: N/A,
*requires*: pytest (>=7.2.0)
diff --git a/doc/en/reference/reference.rst b/doc/en/reference/reference.rst
index c85b5471d..5d9c6bc31 100644
--- a/doc/en/reference/reference.rst
+++ b/doc/en/reference/reference.rst
@@ -1719,13 +1719,12 @@ passed multiple times. The expected format is ``name=value``. For example::
.. confval:: testpaths
-
-
Sets list of directories that should be searched for tests when
no specific directories, files or test ids are given in the command line when
executing pytest from the :ref:`rootdir ` directory.
File system paths may use shell-style wildcards, including the recursive
``**`` pattern.
+
Useful when all project tests are in a known location to speed up
test collection and to avoid picking up undesired tests by accident.
@@ -1734,8 +1733,17 @@ passed multiple times. The expected format is ``name=value``. For example::
[pytest]
testpaths = testing doc
- This tells pytest to only look for tests in ``testing`` and ``doc``
- directories when executing from the root directory.
+ This configuration means that executing:
+
+ .. code-block:: console
+
+ pytest
+
+ has the same practical effects as executing:
+
+ .. code-block:: console
+
+ pytest testing doc
.. confval:: tmp_path_retention_count
@@ -1750,7 +1758,7 @@ passed multiple times. The expected format is ``name=value``. For example::
[pytest]
tmp_path_retention_count = 3
- Default: 3
+ Default: ``3``
.. confval:: tmp_path_retention_policy
@@ -1769,7 +1777,7 @@ passed multiple times. The expected format is ``name=value``. For example::
[pytest]
tmp_path_retention_policy = "all"
- Default: all
+ Default: ``all``
.. confval:: usefixtures
diff --git a/src/_pytest/config/__init__.py b/src/_pytest/config/__init__.py
index 720f39531..74905ff4c 100644
--- a/src/_pytest/config/__init__.py
+++ b/src/_pytest/config/__init__.py
@@ -526,7 +526,10 @@ class PytestPluginManager(PluginManager):
# Internal API for local conftest plugin handling.
#
def _set_initial_conftests(
- self, namespace: argparse.Namespace, rootpath: Path
+ self,
+ namespace: argparse.Namespace,
+ rootpath: Path,
+ testpaths_ini: Sequence[str],
) -> None:
"""Load initial conftest files given a preparsed "namespace".
@@ -543,7 +546,7 @@ class PytestPluginManager(PluginManager):
)
self._noconftest = namespace.noconftest
self._using_pyargs = namespace.pyargs
- testpaths = namespace.file_or_dir
+ testpaths = namespace.file_or_dir + testpaths_ini
foundanchor = False
for testpath in testpaths:
path = str(testpath)
@@ -552,7 +555,14 @@ class PytestPluginManager(PluginManager):
if i != -1:
path = path[:i]
anchor = absolutepath(current / path)
- if anchor.exists(): # we found some file object
+
+ # Ensure we do not break if what appears to be an anchor
+ # is in fact a very long option (#10169).
+ try:
+ anchor_exists = anchor.exists()
+ except OSError: # pragma: no cover
+ anchor_exists = False
+ if anchor_exists:
self._try_load_conftest(anchor, namespace.importmode, rootpath)
foundanchor = True
if not foundanchor:
@@ -1131,7 +1141,9 @@ class Config:
@hookimpl(trylast=True)
def pytest_load_initial_conftests(self, early_config: "Config") -> None:
self.pluginmanager._set_initial_conftests(
- early_config.known_args_namespace, rootpath=early_config.rootpath
+ early_config.known_args_namespace,
+ rootpath=early_config.rootpath,
+ testpaths_ini=self.getini("testpaths"),
)
def _initini(self, args: Sequence[str]) -> None:
diff --git a/src/_pytest/faulthandler.py b/src/_pytest/faulthandler.py
index ed29346ba..af879aa44 100644
--- a/src/_pytest/faulthandler.py
+++ b/src/_pytest/faulthandler.py
@@ -2,7 +2,6 @@ import io
import os
import sys
from typing import Generator
-from typing import TextIO
import pytest
from _pytest.config import Config
@@ -11,7 +10,7 @@ from _pytest.nodes import Item
from _pytest.stash import StashKey
-fault_handler_stderr_key = StashKey[TextIO]()
+fault_handler_stderr_fd_key = StashKey[int]()
fault_handler_originally_enabled_key = StashKey[bool]()
@@ -26,12 +25,9 @@ def pytest_addoption(parser: Parser) -> None:
def pytest_configure(config: Config) -> None:
import faulthandler
- stderr_fd_copy = os.dup(get_stderr_fileno())
- config.stash[fault_handler_stderr_key] = open(
- stderr_fd_copy, "w", encoding=sys.stderr.encoding
- )
+ config.stash[fault_handler_stderr_fd_key] = os.dup(get_stderr_fileno())
config.stash[fault_handler_originally_enabled_key] = faulthandler.is_enabled()
- faulthandler.enable(file=config.stash[fault_handler_stderr_key])
+ faulthandler.enable(file=config.stash[fault_handler_stderr_fd_key])
def pytest_unconfigure(config: Config) -> None:
@@ -39,9 +35,9 @@ def pytest_unconfigure(config: Config) -> None:
faulthandler.disable()
# Close the dup file installed during pytest_configure.
- if fault_handler_stderr_key in config.stash:
- config.stash[fault_handler_stderr_key].close()
- del config.stash[fault_handler_stderr_key]
+ if fault_handler_stderr_fd_key in config.stash:
+ os.close(config.stash[fault_handler_stderr_fd_key])
+ del config.stash[fault_handler_stderr_fd_key]
if config.stash.get(fault_handler_originally_enabled_key, False):
# Re-enable the faulthandler if it was originally enabled.
faulthandler.enable(file=get_stderr_fileno())
@@ -69,10 +65,10 @@ def get_timeout_config_value(config: Config) -> float:
@pytest.hookimpl(hookwrapper=True, trylast=True)
def pytest_runtest_protocol(item: Item) -> Generator[None, None, None]:
timeout = get_timeout_config_value(item.config)
- stderr = item.config.stash[fault_handler_stderr_key]
- if timeout > 0 and stderr is not None:
+ if timeout > 0:
import faulthandler
+ stderr = item.config.stash[fault_handler_stderr_fd_key]
faulthandler.dump_traceback_later(timeout, file=stderr)
try:
yield
diff --git a/src/_pytest/hookspec.py b/src/_pytest/hookspec.py
index bc2e66870..1f7c368f7 100644
--- a/src/_pytest/hookspec.py
+++ b/src/_pytest/hookspec.py
@@ -21,7 +21,7 @@ if TYPE_CHECKING:
from typing_extensions import Literal
from _pytest._code.code import ExceptionRepr
- from _pytest.code import ExceptionInfo
+ from _pytest._code.code import ExceptionInfo
from _pytest.config import Config
from _pytest.config import ExitCode
from _pytest.config import PytestPluginManager
diff --git a/src/_pytest/monkeypatch.py b/src/_pytest/monkeypatch.py
index c6e29ac76..9e51ff335 100644
--- a/src/_pytest/monkeypatch.py
+++ b/src/_pytest/monkeypatch.py
@@ -7,6 +7,7 @@ from contextlib import contextmanager
from typing import Any
from typing import Generator
from typing import List
+from typing import Mapping
from typing import MutableMapping
from typing import Optional
from typing import overload
@@ -129,7 +130,7 @@ class MonkeyPatch:
def __init__(self) -> None:
self._setattr: List[Tuple[object, str, object]] = []
- self._setitem: List[Tuple[MutableMapping[Any, Any], object, object]] = []
+ self._setitem: List[Tuple[Mapping[Any, Any], object, object]] = []
self._cwd: Optional[str] = None
self._savesyspath: Optional[List[str]] = None
@@ -290,12 +291,13 @@ class MonkeyPatch:
self._setattr.append((target, name, oldval))
delattr(target, name)
- def setitem(self, dic: MutableMapping[K, V], name: K, value: V) -> None:
+ def setitem(self, dic: Mapping[K, V], name: K, value: V) -> None:
"""Set dictionary entry ``name`` to value."""
self._setitem.append((dic, name, dic.get(name, notset)))
- dic[name] = value
+ # Not all Mapping types support indexing, but MutableMapping doesn't support TypedDict
+ dic[name] = value # type: ignore[index]
- def delitem(self, dic: MutableMapping[K, V], name: K, raising: bool = True) -> None:
+ def delitem(self, dic: Mapping[K, V], name: K, raising: bool = True) -> None:
"""Delete ``name`` from dict.
Raises ``KeyError`` if it doesn't exist, unless ``raising`` is set to
@@ -306,7 +308,8 @@ class MonkeyPatch:
raise KeyError(name)
else:
self._setitem.append((dic, name, dic.get(name, notset)))
- del dic[name]
+ # Not all Mapping types support indexing, but MutableMapping doesn't support TypedDict
+ del dic[name] # type: ignore[attr-defined]
def setenv(self, name: str, value: str, prepend: Optional[str] = None) -> None:
"""Set environment variable ``name`` to ``value``.
@@ -401,11 +404,13 @@ class MonkeyPatch:
for dictionary, key, value in reversed(self._setitem):
if value is notset:
try:
- del dictionary[key]
+ # Not all Mapping types support indexing, but MutableMapping doesn't support TypedDict
+ del dictionary[key] # type: ignore[attr-defined]
except KeyError:
pass # Was already deleted, so we have the desired state.
else:
- dictionary[key] = value
+ # Not all Mapping types support indexing, but MutableMapping doesn't support TypedDict
+ dictionary[key] = value # type: ignore[index]
self._setitem[:] = []
if self._savesyspath is not None:
sys.path[:] = self._savesyspath
diff --git a/testing/plugins_integration/requirements.txt b/testing/plugins_integration/requirements.txt
index c3746cba5..bcc3ad987 100644
--- a/testing/plugins_integration/requirements.txt
+++ b/testing/plugins_integration/requirements.txt
@@ -1,5 +1,5 @@
anyio[curio,trio]==3.6.2
-django==4.2
+django==4.2.1
pytest-asyncio==0.21.0
pytest-bdd==6.1.1
pytest-cov==4.0.0
diff --git a/testing/test_collection.py b/testing/test_collection.py
index d907244d5..bbcb358b6 100644
--- a/testing/test_collection.py
+++ b/testing/test_collection.py
@@ -1247,6 +1247,48 @@ def test_collect_pyargs_with_testpaths(
result.stdout.fnmatch_lines(["*1 passed in*"])
+def test_initial_conftests_with_testpaths(pytester: Pytester) -> None:
+ """The testpaths ini option should load conftests in those paths as 'initial' (#10987)."""
+ p = pytester.mkdir("some_path")
+ p.joinpath("conftest.py").write_text(
+ textwrap.dedent(
+ """
+ def pytest_sessionstart(session):
+ raise Exception("pytest_sessionstart hook successfully run")
+ """
+ )
+ )
+ pytester.makeini(
+ """
+ [pytest]
+ testpaths = some_path
+ """
+ )
+ result = pytester.runpytest()
+ result.stdout.fnmatch_lines(
+ "INTERNALERROR* Exception: pytest_sessionstart hook successfully run"
+ )
+
+
+def test_large_option_breaks_initial_conftests(pytester: Pytester) -> None:
+ """Long option values do not break initial conftests handling (#10169)."""
+ option_value = "x" * 1024 * 1000
+ pytester.makeconftest(
+ """
+ def pytest_addoption(parser):
+ parser.addoption("--xx", default=None)
+ """
+ )
+ pytester.makepyfile(
+ f"""
+ def test_foo(request):
+ assert request.config.getoption("xx") == {option_value!r}
+ """
+ )
+ result = pytester.runpytest(f"--xx={option_value}")
+ assert result.ret == 0
+
+
def test_collect_symlink_file_arg(pytester: Pytester) -> None:
"""Collect a direct symlink works even if it does not match python_files (#4325)."""
real = pytester.makepyfile(
diff --git a/testing/test_conftest.py b/testing/test_conftest.py
index d2bf860c6..d6abca536 100644
--- a/testing/test_conftest.py
+++ b/testing/test_conftest.py
@@ -35,7 +35,7 @@ def conftest_setinitial(
self.importmode = "prepend"
namespace = cast(argparse.Namespace, Namespace())
- conftest._set_initial_conftests(namespace, rootpath=Path(args[0]))
+ conftest._set_initial_conftests(namespace, rootpath=Path(args[0]), testpaths_ini=[])
@pytest.mark.usefixtures("_sys_snapshot")
diff --git a/testing/typing_checks.py b/testing/typing_checks.py
index d15b3988b..57f2bae47 100644
--- a/testing/typing_checks.py
+++ b/testing/typing_checks.py
@@ -9,6 +9,7 @@ from typing import Optional
from typing_extensions import assert_type
import pytest
+from pytest import MonkeyPatch
# Issue #7488.
@@ -29,6 +30,19 @@ def check_parametrize_ids_callable(func) -> None:
pass
+# Issue #10999.
+def check_monkeypatch_typeddict(monkeypatch: MonkeyPatch) -> None:
+ from typing import TypedDict
+
+ class Foo(TypedDict):
+ x: int
+ y: float
+
+ a: Foo = {"x": 1, "y": 3.14}
+ monkeypatch.setitem(a, "x", 2)
+ monkeypatch.delitem(a, "y")
+
+
def check_raises_is_a_context_manager(val: bool) -> None:
with pytest.raises(RuntimeError) if val else contextlib.nullcontext() as excinfo:
pass