Merge branch 'main' into config.getini_returns_none

This commit is contained in:
Tanya Agarwal 2023-10-11 11:44:40 +05:30 committed by GitHub
commit d1e9b60efe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 138 additions and 65 deletions

View File

@ -10,7 +10,7 @@ repos:
- id: blacken-docs
additional_dependencies: [black==23.7.0]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v4.5.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
@ -42,7 +42,7 @@ repos:
- id: reorder-python-imports
args: ['--application-directories=.:src', --py38-plus]
- repo: https://github.com/asottile/pyupgrade
rev: v3.14.0
rev: v3.15.0
hooks:
- id: pyupgrade
args: [--py38-plus]

View File

@ -330,6 +330,7 @@ Ronny Pfannschmidt
Ross Lawley
Ruaridh Williamson
Russel Winder
Ryan Puddephatt
Ryan Wooden
Sadra Barikbin
Saiprasad Kale

View File

@ -197,6 +197,7 @@ Short version
~~~~~~~~~~~~~
#. Fork the repository.
#. Fetch tags from upstream if necessary (if you cloned only main `git fetch --tags https://github.com/pytest-dev/pytest`).
#. Enable and install `pre-commit <https://pre-commit.com>`_ to ensure style-guides and code checks are followed.
#. Follow **PEP-8** for naming and `black <https://github.com/psf/black>`_ for formatting.
#. Tests are run using ``tox``::
@ -236,6 +237,7 @@ Here is a simple overview, with pytest-specific bits:
$ git clone git@github.com:YOUR_GITHUB_USERNAME/pytest.git
$ cd pytest
$ git fetch --tags https://github.com/pytest-dev/pytest
# now, create your own branch off "main":
$ git checkout -b your-bugfix-branch-name main

1
changelog/11091.doc.rst Normal file
View File

@ -0,0 +1 @@
Updated documentation and tests to refer to hyphonated options: replaced ``--junitxml`` with ``--junit-xml`` and ``--collectonly`` with ``--collect-only``.

View File

@ -0,0 +1,4 @@
Parametrized tests now *really do* ensure that the ids given to each input are unique - for
example, ``a, a, a0`` now results in ``a1, a2, a0`` instead of the previous (buggy) ``a0, a1, a0``.
This necessarily means changing nodeids where these were previously colliding, and for
readability adds an underscore when non-unique ids end in a number.

View File

@ -14,7 +14,7 @@ Each file should be named like ``<ISSUE>.<TYPE>.rst``, where
``<ISSUE>`` is an issue number, and ``<TYPE>`` is one of:
* ``feature``: new user facing features, like new command-line options and new behavior.
* ``improvement``: improvement of existing functionality, usually without requiring user intervention (for example, new fields being written in ``--junitxml``, improved colors in terminal, etc).
* ``improvement``: improvement of existing functionality, usually without requiring user intervention (for example, new fields being written in ``--junit-xml``, improved colors in terminal, etc).
* ``bugfix``: fixes a bug.
* ``doc``: documentation improvement, like rewording an entire session or adding missing docs.
* ``deprecation``: feature deprecation.

View File

@ -645,7 +645,7 @@ By using ``legacy`` you will keep using the legacy/xunit1 format when upgrading
pytest 6.0, where the default format will be ``xunit2``.
In order to let users know about the transition, pytest will issue a warning in case
the ``--junitxml`` option is given in the command line but ``junit_family`` is not explicitly
the ``--junit-xml`` option is given in the command line but ``junit_family`` is not explicitly
configured in ``pytest.ini``.
Services known to support the ``xunit2`` format:

View File

@ -136,7 +136,7 @@ Or select multiple nodes:
Node IDs for failing tests are displayed in the test summary info
when running pytest with the ``-rf`` option. You can also
construct Node IDs from the output of ``pytest --collectonly``.
construct Node IDs from the output of ``pytest --collect-only``.
Using ``-k expr`` to select tests based on their name
-------------------------------------------------------

View File

@ -1090,4 +1090,4 @@ application with standard ``pytest`` command-line options:
.. code-block:: bash
./app_main --pytest --verbose --tb=long --junitxml=results.xml test-suite/
./app_main --pytest --verbose --tb=long --junit=xml=results.xml test-suite/

View File

@ -478,7 +478,7 @@ integration servers, use this invocation:
.. code-block:: bash
pytest --junitxml=path
pytest --junit-xml=path
to create an XML file at ``path``.

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 1327 plugins.
This list contains 1329 plugins.
.. only:: not latex
@ -45,6 +45,7 @@ This list contains 1327 plugins.
:pypi:`pytest-adf` Pytest plugin for writing Azure Data Factory integration tests May 10, 2021 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-adf-azure-identity` Pytest plugin for writing Azure Data Factory integration tests Mar 06, 2021 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-ads-testplan` Azure DevOps Test Case reporting for pytest tests Sep 15, 2022 N/A N/A
:pypi:`pytest-affected` Oct 05, 2023 N/A N/A
:pypi:`pytest-agent` Service that exposes a REST API that can be used to interract remotely with Pytest. It is shipped with a dashboard that enables running tests in a more convenient way. Nov 25, 2021 N/A N/A
: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
@ -126,7 +127,7 @@ This list contains 1327 plugins.
:pypi:`pytest-axe-playwright-snapshot` A pytest plugin that runs Axe-core on Playwright pages and takes snapshots of the results. Jul 25, 2023 N/A pytest
:pypi:`pytest-azure` Pytest utilities and mocks for Azure Jan 18, 2023 3 - Alpha pytest
:pypi:`pytest-azure-devops` Simplifies using azure devops parallel strategy (https://docs.microsoft.com/en-us/azure/devops/pipelines/test/parallel-testing-any-test-runner) with pytest. Jun 20, 2022 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-azurepipelines` Formatting PyTest output for Azure Pipelines UI Oct 20, 2022 5 - Production/Stable pytest (>=5.0.0)
:pypi:`pytest-azurepipelines` Formatting PyTest output for Azure Pipelines UI Oct 06, 2023 5 - Production/Stable pytest (>=5.0.0)
:pypi:`pytest-bandit` A bandit plugin for pytest Feb 23, 2021 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-bandit-xayon` A bandit plugin for pytest Oct 17, 2022 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-base-url` pytest plugin for URL based testing Mar 27, 2022 5 - Production/Stable pytest (>=3.0.0,<8.0.0)
@ -282,7 +283,7 @@ This list contains 1327 plugins.
:pypi:`pytest-dash` pytest fixtures to run dash applications. Mar 18, 2019 N/A N/A
:pypi:`pytest-data` Useful functions for managing data for pytest fixtures Nov 01, 2016 5 - Production/Stable N/A
:pypi:`pytest-databricks` Pytest plugin for remote Databricks notebooks testing Jul 29, 2020 N/A pytest
:pypi:`pytest-datadir` pytest plugin for test data directories and files Oct 25, 2022 5 - Production/Stable pytest (>=5.0)
:pypi:`pytest-datadir` pytest plugin for test data directories and files Oct 03, 2023 5 - Production/Stable pytest >=5.0
:pypi:`pytest-datadir-mgr` Manager for test data: downloads, artifact caching, and a tmpdir context. Apr 06, 2023 5 - Production/Stable pytest (>=7.1)
:pypi:`pytest-datadir-ng` Fixtures for pytest allowing test functions/methods to easily retrieve test resources from the local filesystem. Dec 25, 2019 5 - Production/Stable pytest
:pypi:`pytest-datadir-nng` Fixtures for pytest allowing test functions/methods to easily retrieve test resources from the local filesystem. Nov 09, 2022 5 - Production/Stable pytest (>=7.0.0,<8.0.0)
@ -378,7 +379,7 @@ This list contains 1327 plugins.
:pypi:`pytest-dogu-report` pytest plugin for dogu report Jul 07, 2023 N/A N/A
:pypi:`pytest-dogu-sdk` pytest plugin for the Dogu Aug 04, 2023 N/A N/A
:pypi:`pytest-dolphin` Some extra stuff that we use ininternally Nov 30, 2016 4 - Beta pytest (==3.0.4)
:pypi:`pytest-donde` record pytest session characteristics per test item (coverage and duration) into a persistent file and use them in your own plugin or script. Sep 28, 2023 4 - Beta pytest >=7.3.1
:pypi:`pytest-donde` record pytest session characteristics per test item (coverage and duration) into a persistent file and use them in your own plugin or script. Oct 01, 2023 4 - Beta pytest >=7.3.1
:pypi:`pytest-doorstop` A pytest plugin for adding test results into doorstop items. Jun 09, 2020 4 - Beta pytest (>=3.5.0)
:pypi:`pytest-dotenv` A py.test plugin that parses environment files before running tests Jun 16, 2020 4 - Beta pytest (>=5.0.0)
:pypi:`pytest-draw` Pytest plugin for randomly selecting a specific number of tests Mar 21, 2023 3 - Alpha pytest
@ -469,7 +470,7 @@ This list contains 1327 plugins.
:pypi:`pytest-fantasy` Pytest plugin for Flask Fantasy Framework Mar 14, 2019 N/A N/A
:pypi:`pytest-fastapi` Dec 27, 2020 N/A N/A
:pypi:`pytest-fastapi-deps` A fixture which allows easy replacement of fastapi dependencies for testing Jul 20, 2022 5 - Production/Stable pytest
:pypi:`pytest-fastest` Use SCM and coverage to run only needed tests Jun 15, 2023 4 - Beta pytest (>=4.4)
:pypi:`pytest-fastest` Use SCM and coverage to run only needed tests Oct 04, 2023 4 - Beta pytest (>=4.4)
:pypi:`pytest-fast-first` Pytest plugin that runs fast tests first Jan 19, 2023 3 - Alpha pytest
:pypi:`pytest-faulthandler` py.test plugin that activates the fault handler module for tests (dummy package) Jul 04, 2019 6 - Mature pytest (>=5.0)
:pypi:`pytest-fauxfactory` Integration of fauxfactory into pytest. Dec 06, 2017 5 - Production/Stable pytest (>=3.2)
@ -529,7 +530,7 @@ This list contains 1327 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. Sep 28, 2023 N/A N/A
:pypi:`pytest-girder` A set of pytest fixtures for testing Girder applications. Oct 04, 2023 N/A N/A
:pypi:`pytest-git` Git repository fixture for py.test May 28, 2019 5 - Production/Stable pytest
:pypi:`pytest-gitconfig` Provide a gitconfig sandbox for testing Jun 22, 2023 4 - Beta pytest>=7.1.2
:pypi:`pytest-gitcov` Pytest plugin for reporting on coverage of the last git commit. Jan 11, 2020 2 - Pre-Alpha N/A
@ -564,8 +565,9 @@ This list contains 1327 plugins.
:pypi:`pytest-hidecaptured` Hide captured output May 04, 2018 4 - Beta pytest (>=2.8.5)
: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-home` Home directory fixtures Oct 05, 2023 5 - Production/Stable pytest >=6 ; extra == 'testing'
: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 Sep 29, 2023 3 - Alpha pytest ==7.3.1
:pypi:`pytest-homeassistant-custom-component` Experimental package to automatically extract test plugins for Home Assistant custom components Oct 07, 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` Jun 23, 2023 N/A N/A
@ -625,7 +627,7 @@ This list contains 1327 plugins.
: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. Sep 14, 2023 4 - Beta pytest
:pypi:`pytest-invenio` Pytest fixtures for Invenio. Jun 02, 2023 5 - Production/Stable pytest (<7.2.0,>=6)
:pypi:`pytest-invenio` Pytest fixtures for Invenio. Oct 02, 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
:pypi:`pytest-ipynb` THIS PROJECT IS ABANDONED Jan 29, 2019 3 - Alpha N/A
@ -657,7 +659,7 @@ This list contains 1327 plugins.
:pypi:`pytest-kasima` Display horizontal lines above and below the captured standard output for easy viewing. Jan 26, 2023 5 - Production/Stable pytest (>=7.2.1,<8.0.0)
:pypi:`pytest-keep-together` Pytest plugin to customize test ordering by running all 'related' tests together Dec 07, 2022 5 - Production/Stable pytest
:pypi:`pytest-kexi` Apr 29, 2022 N/A pytest (>=7.1.2,<8.0.0)
:pypi:`pytest-keyring` A Pytest plugin to access the system's keyring to provide credentials for tests Sep 14, 2023 N/A pytest (>=7.1)
:pypi:`pytest-keyring` A Pytest plugin to access the system's keyring to provide credentials for tests Oct 01, 2023 N/A pytest (>=7.1)
:pypi:`pytest-kind` Kubernetes test support with KIND for pytest Nov 30, 2022 5 - Production/Stable N/A
: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
@ -704,9 +706,9 @@ This list contains 1327 plugins.
: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 Jul 17, 2023 5 - Production/Stable pytest (==7.4.0)
: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-loguru` Pytest Loguru Oct 04, 2023 5 - Production/Stable pytest
:pypi:`pytest-loop` pytest plugin for looping tests Jul 22, 2022 5 - Production/Stable pytest (>=6)
:pypi:`pytest-lsp` pytest plugin for end-to-end testing of language servers May 19, 2023 3 - Alpha pytest
:pypi:`pytest-lsp` pytest plugin for end-to-end testing of language servers Oct 06, 2023 3 - Alpha pytest
:pypi:`pytest-manual-marker` pytest marker for marking manual tests Aug 04, 2022 3 - Alpha pytest>=7
:pypi:`pytest-markdoctest` A pytest plugin to doctest your markdown files Jul 22, 2022 4 - Beta pytest (>=6)
:pypi:`pytest-markdown` Test your markdown docs with pytest Jan 15, 2021 4 - Beta pytest (>=6.0.1,<7.0.0)
@ -820,7 +822,7 @@ This list contains 1327 plugins.
:pypi:`pytest-only` Use @pytest.mark.only to run a single test Jun 14, 2022 5 - Production/Stable pytest (<7.1); python_version <= "3.6"
:pypi:`pytest-oot` Run object-oriented tests in a simple format Sep 18, 2016 4 - Beta N/A
:pypi:`pytest-openfiles` Pytest plugin for detecting inadvertent open file handles Apr 16, 2020 3 - Alpha pytest (>=4.6)
:pypi:`pytest-opentelemetry` A pytest plugin for instrumenting test runs via OpenTelemetry Sep 23, 2023 N/A pytest
:pypi:`pytest-opentelemetry` A pytest plugin for instrumenting test runs via OpenTelemetry Oct 01, 2023 N/A pytest
:pypi:`pytest-opentmi` pytest plugin for publish results to opentmi Jun 02, 2022 5 - Production/Stable pytest (>=5.0)
:pypi:`pytest-operator` Fixtures for Operators Sep 28, 2022 N/A pytest
:pypi:`pytest-optional` include/exclude values of fixtures in pytest Oct 07, 2015 N/A N/A
@ -894,7 +896,7 @@ This list contains 1327 plugins.
: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 May 09, 2023 5 - Production/Stable pytest
:pypi:`pytest-porringer` Aug 26, 2023 N/A pytest>=7.4.0
:pypi:`pytest-porringer` Oct 03, 2023 N/A pytest>=7.4.0
: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. May 20, 2023 5 - Production/Stable pytest (>=6.2)
@ -924,7 +926,7 @@ This list contains 1327 plugins.
:pypi:`pytest-pycodestyle` pytest plugin to run pycodestyle Oct 28, 2022 3 - Alpha N/A
:pypi:`pytest-pydev` py.test plugin to connect to a remote debug server with PyDev or PyCharm. Nov 15, 2017 3 - Alpha N/A
: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-pylint` pytest plugin to check source code with pylint Oct 06, 2023 5 - Production/Stable pytest >=7.0
: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 Aug 29, 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
@ -985,7 +987,7 @@ This list contains 1327 plugins.
:pypi:`pytest-remote-response` Pytest plugin for capturing and mocking connection requests. Apr 26, 2023 5 - Production/Stable pytest (>=4.6)
:pypi:`pytest-remove-stale-bytecode` py.test plugin to remove stale byte code files. Jul 07, 2023 4 - Beta pytest
:pypi:`pytest-reorder` Reorder tests depending on their paths and names. May 31, 2018 4 - Beta pytest
:pypi:`pytest-repeat` pytest plugin for repeating tests Oct 31, 2020 5 - Production/Stable pytest (>=3.6)
:pypi:`pytest-repeat` pytest plugin for repeating tests Oct 02, 2023 5 - Production/Stable pytest >=3.6
:pypi:`pytest-replay` Saves previous test runs and allow re-execute previous pytest runs to reproduce crashes or flaky tests Jun 09, 2021 4 - Beta pytest (>=3.0.0)
:pypi:`pytest-repo-health` A pytest plugin to report on repository standards conformance Apr 17, 2023 3 - Alpha pytest
:pypi:`pytest-report` Creates json report that is compatible with atom.io's linter message format May 11, 2016 4 - Beta N/A
@ -1009,7 +1011,7 @@ This list contains 1327 plugins.
:pypi:`pytest-rerunfailures` pytest plugin to re-run tests to eliminate flaky failures Jul 05, 2023 5 - Production/Stable pytest (>=6.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. Aug 31, 2023 4 - Beta pytest
:pypi:`pytest-resilient-circuits` Resilient Circuits fixtures for PyTest Aug 31, 2023 N/A pytest ~=4.6 ; python_version == "2.7"
:pypi:`pytest-resilient-circuits` Resilient Circuits fixtures for PyTest Oct 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
@ -1021,7 +1023,7 @@ This list contains 1327 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 Aug 23, 2023 N/A pytest >=7.0.0
:pypi:`pytest-retry` Adds the ability to retry flaky tests in CI environments Oct 04, 2023 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
@ -1055,7 +1057,7 @@ This list contains 1327 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. Sep 27, 2023 5 - Production/Stable N/A
:pypi:`pytest-sbase` A complete web automation framework for end-to-end testing. Oct 06, 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)
@ -1063,8 +1065,8 @@ This list contains 1327 plugins.
: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 May 28, 2023 5 - Production/Stable pytest>=6.0.0
:pypi:`pytest-selenium-auto` pytest plugin to automatically capture screenshots upon selenium webdriver events Sep 06, 2023 N/A pytest >= 7.0.0
:pypi:`pytest-seleniumbase` A complete web automation framework for end-to-end testing. Sep 27, 2023 5 - Production/Stable N/A
:pypi:`pytest-selenium-auto` pytest plugin to automatically capture screenshots upon selenium webdriver events Oct 03, 2023 N/A pytest >= 7.0.0
:pypi:`pytest-seleniumbase` A complete web automation framework for end-to-end testing. Oct 06, 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-selenium-screenshot` pytest plugin to automatically capture screenshots upon selenium webdriver events Aug 22, 2023 N/A pytest >= 7.0.0
@ -1118,7 +1120,7 @@ This list contains 1327 plugins.
:pypi:`pytest-soft-assertions` May 05, 2020 3 - Alpha pytest
:pypi:`pytest-solidity` A PyTest library plugin for Solidity language. Jan 15, 2022 1 - Planning pytest (<7,>=6.0.1) ; extra == 'tests'
:pypi:`pytest-solr` Solr process and client fixtures for py.test. May 11, 2020 3 - Alpha pytest (>=3.0.0)
:pypi:`pytest-sort` Tools for sorting test cases Sep 30, 2023 N/A pytest >=7.4.0
:pypi:`pytest-sort` Tools for sorting test cases Oct 06, 2023 N/A pytest >=7.4.0
:pypi:`pytest-sorter` A simple plugin to first execute tests that historically failed more Apr 20, 2021 4 - Beta pytest (>=3.1.1)
:pypi:`pytest-sosu` Unofficial PyTest plugin for Sauce Labs Aug 04, 2023 2 - Pre-Alpha pytest
:pypi:`pytest-sourceorder` Test-ordering plugin for pytest Sep 01, 2021 4 - Beta pytest
@ -1137,7 +1139,7 @@ This list contains 1327 plugins.
: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 Sep 06, 2023 N/A pytest (>5.4.0,<8)
:pypi:`pytest-splunk-addon-ui-smartx` Library to support testing Splunk Add-on UX Sep 15, 2023 N/A N/A
:pypi:`pytest-splunk-addon-ui-smartx` Library to support testing Splunk Add-on UX Oct 02, 2023 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
:pypi:`pytest-sqlalchemy` pytest plugin with sqlalchemy related fixtures Mar 13, 2018 3 - Alpha N/A
@ -1317,7 +1319,7 @@ This list contains 1327 plugins.
:pypi:`pytest-watch` Local continuous test runner with pytest and watchdog. May 20, 2018 N/A N/A
:pypi:`pytest-watcher` Automatically rerun your tests on file modifications Jun 24, 2023 4 - Beta N/A
:pypi:`pytest-wdl` Pytest plugin for testing WDL workflows. Nov 17, 2020 5 - Production/Stable N/A
:pypi:`pytest-web3-data` Sep 15, 2022 4 - Beta pytest
:pypi:`pytest-web3-data` A pytest plugin to fetch test data from IPFS HTTP gateways during pytest execution. Oct 04, 2023 4 - Beta pytest
:pypi:`pytest-webdriver` Selenium webdriver fixture for py.test May 28, 2019 5 - Production/Stable pytest
:pypi:`pytest-wetest` Welian API Automation test framework pytest plugin Nov 10, 2018 4 - Beta N/A
:pypi:`pytest-whirlwind` Testing Tornado. Jun 12, 2020 N/A N/A
@ -1344,7 +1346,7 @@ This list contains 1327 plugins.
:pypi:`pytest-xray-server` May 03, 2022 3 - Alpha pytest (>=5.3.1)
:pypi:`pytest-xskynet` A package to prevent Dependency Confusion attacks against Yandex. Feb 10, 2023 N/A N/A
:pypi:`pytest-xvfb` A pytest plugin to run Xvfb (or Xephyr/Xvnc) for tests. May 29, 2023 4 - Beta pytest (>=2.8.1)
:pypi:`pytest-xvirt` A pytest plugin to virtualize test. For example to transparently running them on a remote box. Aug 27, 2023 4 - Beta pytest >=7.1.0
:pypi:`pytest-xvirt` A pytest plugin to virtualize test. For example to transparently running them on a remote box. Oct 01, 2023 4 - Beta pytest >=7.1.0
:pypi:`pytest-yaml` This plugin is used to load yaml output to your test using pytest framework. Oct 05, 2018 N/A pytest
:pypi:`pytest-yaml-sanmu` pytest plugin for generating test cases by yaml Jul 03, 2023 N/A pytest>=7.4.0
:pypi:`pytest-yamltree` Create or check file/directory trees described by YAML Mar 02, 2020 4 - Beta pytest (>=3.1.1)
@ -1443,6 +1445,13 @@ This list contains 1327 plugins.
Azure DevOps Test Case reporting for pytest tests
:pypi:`pytest-affected`
*last release*: Oct 05, 2023,
*status*: N/A,
*requires*: N/A
:pypi:`pytest-agent`
*last release*: Nov 25, 2021,
*status*: N/A,
@ -2011,7 +2020,7 @@ This list contains 1327 plugins.
Simplifies using azure devops parallel strategy (https://docs.microsoft.com/en-us/azure/devops/pipelines/test/parallel-testing-any-test-runner) with pytest.
:pypi:`pytest-azurepipelines`
*last release*: Oct 20, 2022,
*last release*: Oct 06, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest (>=5.0.0)
@ -3103,9 +3112,9 @@ This list contains 1327 plugins.
Pytest plugin for remote Databricks notebooks testing
:pypi:`pytest-datadir`
*last release*: Oct 25, 2022,
*last release*: Oct 03, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest (>=5.0)
*requires*: pytest >=5.0
pytest plugin for test data directories and files
@ -3775,7 +3784,7 @@ This list contains 1327 plugins.
Some extra stuff that we use ininternally
:pypi:`pytest-donde`
*last release*: Sep 28, 2023,
*last release*: Oct 01, 2023,
*status*: 4 - Beta,
*requires*: pytest >=7.3.1
@ -4412,7 +4421,7 @@ This list contains 1327 plugins.
A fixture which allows easy replacement of fastapi dependencies for testing
:pypi:`pytest-fastest`
*last release*: Jun 15, 2023,
*last release*: Oct 04, 2023,
*status*: 4 - Beta,
*requires*: pytest (>=4.4)
@ -4832,7 +4841,7 @@ This list contains 1327 plugins.
For finding/executing Ghost Inspector tests
:pypi:`pytest-girder`
*last release*: Sep 28, 2023,
*last release*: Oct 04, 2023,
*status*: N/A,
*requires*: N/A
@ -5076,6 +5085,13 @@ This list contains 1327 plugins.
Custom listener to store execution results into MYSQL DB, which is used for pytest-historic report
:pypi:`pytest-home`
*last release*: Oct 05, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest >=6 ; extra == 'testing'
Home directory fixtures
:pypi:`pytest-homeassistant`
*last release*: Aug 12, 2020,
*status*: 4 - Beta,
@ -5084,7 +5100,7 @@ This list contains 1327 plugins.
A pytest plugin for use with homeassistant custom components.
:pypi:`pytest-homeassistant-custom-component`
*last release*: Sep 29, 2023,
*last release*: Oct 07, 2023,
*status*: 3 - Alpha,
*requires*: pytest ==7.3.1
@ -5504,9 +5520,9 @@ This list contains 1327 plugins.
Pytest plugin for checking charm relation interface protocol compliance.
:pypi:`pytest-invenio`
*last release*: Jun 02, 2023,
*last release*: Oct 02, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest (<7.2.0,>=6)
*requires*: pytest <7.2.0,>=6
Pytest fixtures for Invenio.
@ -5728,7 +5744,7 @@ This list contains 1327 plugins.
:pypi:`pytest-keyring`
*last release*: Sep 14, 2023,
*last release*: Oct 01, 2023,
*status*: N/A,
*requires*: pytest (>=7.1)
@ -6057,9 +6073,9 @@ This list contains 1327 plugins.
Package for creating a pytest test run reprot
:pypi:`pytest-loguru`
*last release*: Apr 12, 2022,
*last release*: Oct 04, 2023,
*status*: 5 - Production/Stable,
*requires*: N/A
*requires*: pytest
Pytest Loguru
@ -6071,7 +6087,7 @@ This list contains 1327 plugins.
pytest plugin for looping tests
:pypi:`pytest-lsp`
*last release*: May 19, 2023,
*last release*: Oct 06, 2023,
*status*: 3 - Alpha,
*requires*: pytest
@ -6869,7 +6885,7 @@ This list contains 1327 plugins.
Pytest plugin for detecting inadvertent open file handles
:pypi:`pytest-opentelemetry`
*last release*: Sep 23, 2023,
*last release*: Oct 01, 2023,
*status*: N/A,
*requires*: pytest
@ -7387,7 +7403,7 @@ This list contains 1327 plugins.
A pytest plugin to help with testing pop projects
:pypi:`pytest-porringer`
*last release*: Aug 26, 2023,
*last release*: Oct 03, 2023,
*status*: N/A,
*requires*: pytest>=7.4.0
@ -7597,9 +7613,9 @@ This list contains 1327 plugins.
pytest plugin to run pydocstyle
:pypi:`pytest-pylint`
*last release*: Sep 10, 2022,
*last release*: Oct 06, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest (>=5.4)
*requires*: pytest >=7.0
pytest plugin to check source code with pylint
@ -8024,9 +8040,9 @@ This list contains 1327 plugins.
Reorder tests depending on their paths and names.
:pypi:`pytest-repeat`
*last release*: Oct 31, 2020,
*last release*: Oct 02, 2023,
*status*: 5 - Production/Stable,
*requires*: pytest (>=3.6)
*requires*: pytest >=3.6
pytest plugin for repeating tests
@ -8192,7 +8208,7 @@ This list contains 1327 plugins.
Pytest fixture for recording and replaying serial port traffic.
:pypi:`pytest-resilient-circuits`
*last release*: Aug 31, 2023,
*last release*: Oct 05, 2023,
*status*: N/A,
*requires*: pytest ~=4.6 ; python_version == "2.7"
@ -8276,7 +8292,7 @@ This list contains 1327 plugins.
A RethinkDB plugin for pytest.
:pypi:`pytest-retry`
*last release*: Aug 23, 2023,
*last release*: Oct 04, 2023,
*status*: N/A,
*requires*: pytest >=7.0.0
@ -8514,7 +8530,7 @@ This list contains 1327 plugins.
:pypi:`pytest-sbase`
*last release*: Sep 27, 2023,
*last release*: Oct 06, 2023,
*status*: 5 - Production/Stable,
*requires*: N/A
@ -8570,14 +8586,14 @@ This list contains 1327 plugins.
pytest plugin for Selenium
:pypi:`pytest-selenium-auto`
*last release*: Sep 06, 2023,
*last release*: Oct 03, 2023,
*status*: N/A,
*requires*: pytest >= 7.0.0
pytest plugin to automatically capture screenshots upon selenium webdriver events
:pypi:`pytest-seleniumbase`
*last release*: Sep 27, 2023,
*last release*: Oct 06, 2023,
*status*: 5 - Production/Stable,
*requires*: N/A
@ -8955,7 +8971,7 @@ This list contains 1327 plugins.
Solr process and client fixtures for py.test.
:pypi:`pytest-sort`
*last release*: Sep 30, 2023,
*last release*: Oct 06, 2023,
*status*: N/A,
*requires*: pytest >=7.4.0
@ -9088,7 +9104,7 @@ This list contains 1327 plugins.
A Dynamic test tool for Splunk Apps and Add-ons
:pypi:`pytest-splunk-addon-ui-smartx`
*last release*: Sep 15, 2023,
*last release*: Oct 02, 2023,
*status*: N/A,
*requires*: N/A
@ -10348,11 +10364,11 @@ This list contains 1327 plugins.
Pytest plugin for testing WDL workflows.
:pypi:`pytest-web3-data`
*last release*: Sep 15, 2022,
*last release*: Oct 04, 2023,
*status*: 4 - Beta,
*requires*: pytest
A pytest plugin to fetch test data from IPFS HTTP gateways during pytest execution.
:pypi:`pytest-webdriver`
*last release*: May 28, 2019,
@ -10537,7 +10553,7 @@ This list contains 1327 plugins.
A pytest plugin to run Xvfb (or Xephyr/Xvnc) for tests.
:pypi:`pytest-xvirt`
*last release*: Aug 27, 2023,
*last release*: Oct 01, 2023,
*status*: 4 - Beta,
*requires*: pytest >=7.1.0

View File

@ -369,7 +369,7 @@ def record_testsuite_property(request: FixtureRequest) -> Callable[[str, object]
__tracebackhide__ = True
def record_func(name: str, value: object) -> None:
"""No-op function in case --junitxml was not passed in the command-line."""
"""No-op function in case --junit-xml was not passed in the command-line."""
__tracebackhide__ = True
_check_record_param_type("name", name)

View File

@ -1063,7 +1063,7 @@ class Pytester:
return self.inline_run(*values)
def inline_genitems(self, *args) -> Tuple[List[Item], HookRecorder]:
"""Run ``pytest.main(['--collectonly'])`` in-process.
"""Run ``pytest.main(['--collect-only'])`` in-process.
Runs the :py:func:`pytest.main` function to run all of pytest inside
the test process itself like :py:meth:`inline_run`, but returns a

View File

@ -1002,8 +1002,18 @@ class IdMaker:
# Suffix non-unique IDs to make them unique.
for index, id in enumerate(resolved_ids):
if id_counts[id] > 1:
resolved_ids[index] = f"{id}{id_suffixes[id]}"
suffix = ""
if id[-1].isdigit():
suffix = "_"
new_id = f"{id}{suffix}{id_suffixes[id]}"
while new_id in set(resolved_ids):
id_suffixes[id] += 1
new_id = f"{id}{suffix}{id_suffixes[id]}"
resolved_ids[index] = new_id
id_suffixes[id] += 1
assert len(resolved_ids) == len(
set(resolved_ids)
), f"Internal error: {resolved_ids=}"
return resolved_ids
def _resolve_ids(self) -> Iterable[str]:

View File

@ -341,6 +341,45 @@ class TestGeneralUsage:
assert res.ret == 0
res.stdout.fnmatch_lines(["*1 passed*"])
def test_direct_addressing_selects_duplicates(self, pytester: Pytester) -> None:
p = pytester.makepyfile(
"""
import pytest
@pytest.mark.parametrize("a", [1, 2, 10, 11, 2, 1, 12, 11])
def test_func(a):
pass
"""
)
result = pytester.runpytest(p)
result.assert_outcomes(failed=0, passed=8)
def test_direct_addressing_selects_duplicates_1(self, pytester: Pytester) -> None:
p = pytester.makepyfile(
"""
import pytest
@pytest.mark.parametrize("a", [1, 2, 10, 11, 2, 1, 12, 1_1,2_1])
def test_func(a):
pass
"""
)
result = pytester.runpytest(p)
result.assert_outcomes(failed=0, passed=9)
def test_direct_addressing_selects_duplicates_2(self, pytester: Pytester) -> None:
p = pytester.makepyfile(
"""
import pytest
@pytest.mark.parametrize("a", ["a","b","c","a","a1"])
def test_func(a):
pass
"""
)
result = pytester.runpytest(p)
result.assert_outcomes(failed=0, passed=5)
def test_direct_addressing_notfound(self, pytester: Pytester) -> None:
p = pytester.makepyfile(
"""

View File

@ -1,5 +1,5 @@
anyio[curio,trio]==4.0.0
django==4.2.5
django==4.2.6
pytest-asyncio==0.21.1
pytest-bdd==6.1.1
pytest-cov==4.1.0

View File

@ -1518,7 +1518,7 @@ class TestMetafuncFunctional:
pass
"""
)
result = pytester.runpytest("--collectonly")
result = pytester.runpytest("--collect-only")
result.stdout.fnmatch_lines(
[
"collected 0 items / 1 error",