From 4ae4bec968439b78d80b468ad5ccfd7b3e36604b Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Wed, 22 Sep 2021 16:29:37 +0300 Subject: [PATCH] scripts/update-plugin-list: escape summary for special RST chars A new plugin has this summary: Continiously runs pytest on changes in *.py files The `*` is interpreted as a special character and fails the CI. Add some rudimentary escaping to hopefully prevent this. --- doc/en/reference/plugin_list.rst | 45 ++++++++++++++++---------------- scripts/update-plugin-list.py | 17 ++++++++++-- 2 files changed, 38 insertions(+), 24 deletions(-) diff --git a/doc/en/reference/plugin_list.rst b/doc/en/reference/plugin_list.rst index 478a70392..51b63a9a6 100644 --- a/doc/en/reference/plugin_list.rst +++ b/doc/en/reference/plugin_list.rst @@ -6,7 +6,7 @@ Plugin List PyPI projects that match "pytest-\*" are considered plugins and are listed automatically. Packages classified as inactive are excluded. -This list contains 928 plugins. +This list contains 929 plugins. ============================================================================================================== ======================================================================================================================================================================== ============== ===================== ================================================ name summary last release status requires @@ -17,10 +17,10 @@ name `pytest-adf `_ Pytest plugin for writing Azure Data Factory integration tests May 10, 2021 4 - Beta pytest (>=3.5.0) `pytest-adf-azure-identity `_ Pytest plugin for writing Azure Data Factory integration tests Mar 06, 2021 4 - Beta pytest (>=3.5.0) `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) -`pytest-aio `_ Pytest plugin for testing async python code Sep 10, 2021 4 - Beta pytest ; extra == 'tests' +`pytest-aio `_ Pytest plugin for testing async python code Sep 20, 2021 4 - Beta pytest ; extra == 'tests' `pytest-aiofiles `_ pytest fixtures for writing aiofiles tests with pyfakefs May 14, 2017 5 - Production/Stable N/A `pytest-aiohttp `_ pytest plugin for aiohttp support Dec 05, 2017 N/A pytest -`pytest-aiohttp-client `_ Pytest `client` fixture for the Aiohttp Nov 01, 2020 N/A pytest (>=6) +`pytest-aiohttp-client `_ Pytest \`client\` fixture for the Aiohttp Nov 01, 2020 N/A pytest (>=6) `pytest-aioresponses `_ py.test integration for aioresponses Jul 29, 2021 4 - Beta pytest (>=3.5.0) `pytest-aioworkers `_ A plugin to test aioworkers project with pytest Dec 04, 2019 4 - Beta pytest (>=3.5.0) `pytest-airflow `_ pytest support for airflow. Apr 03, 2019 3 - Alpha pytest (>=4.4.0) @@ -50,10 +50,10 @@ name `pytest-asgi-server `_ Convenient ASGI client/server fixtures for Pytest Dec 12, 2020 N/A pytest (>=5.4.1) `pytest-asptest `_ test Answer Set Programming programs Apr 28, 2018 4 - Beta N/A `pytest-assertutil `_ pytest-assertutil May 10, 2019 N/A N/A -`pytest-assert-utils `_ Useful assertion utilities for use with pytest Mar 28, 2021 3 - Alpha N/A +`pytest-assert-utils `_ Useful assertion utilities for use with pytest Sep 21, 2021 3 - Alpha N/A `pytest-assume `_ A pytest plugin that allows multiple failures per test Jun 24, 2021 N/A pytest (>=2.7) `pytest-ast-back-to-python `_ A plugin for pytest devs to view how assertion rewriting recodes the AST Sep 29, 2019 4 - Beta N/A -`pytest-astropy `_ Meta-package containing dependencies for testing Jan 16, 2020 5 - Production/Stable pytest (>=4.6) +`pytest-astropy `_ Meta-package containing dependencies for testing Sep 21, 2021 5 - Production/Stable pytest (>=4.6) `pytest-astropy-header `_ pytest plugin to add diagnostic information to the header of the test output Dec 18, 2019 3 - Alpha pytest (>=2.8) `pytest-ast-transformer `_ May 04, 2019 3 - Alpha pytest `pytest-asyncio `_ Pytest support for asyncio. Apr 21, 2021 4 - Beta pytest (>=5.4.0) @@ -83,7 +83,7 @@ name `pytest-beakerlib `_ A pytest plugin that reports test results to the BeakerLib framework Mar 17, 2017 5 - Production/Stable pytest `pytest-beds `_ Fixtures for testing Google Appengine (GAE) apps Jun 07, 2016 4 - Beta N/A `pytest-bench `_ Benchmark utility that plugs into pytest. Jul 21, 2014 3 - Alpha N/A -`pytest-benchmark `_ A ``pytest`` fixture for benchmarking code. It will group the tests into rounds that are calibrated to the chosen timer. Apr 17, 2021 5 - Production/Stable pytest (>=3.8) +`pytest-benchmark `_ A \`\`pytest\`\` fixture for benchmarking code. It will group the tests into rounds that are calibrated to the chosen timer. Apr 17, 2021 5 - Production/Stable pytest (>=3.8) `pytest-bg-process `_ Pytest plugin to initialize background process Aug 17, 2021 4 - Beta pytest (>=3.5.0) `pytest-bigchaindb `_ A BigchainDB plugin for pytest. Aug 17, 2021 4 - Beta N/A `pytest-bigquery-mock `_ Provides a mock fixture for python bigquery client Aug 05, 2021 N/A pytest (>=5.0) @@ -102,7 +102,7 @@ name `pytest-briefcase `_ A pytest plugin for running tests on a Briefcase project. Jun 14, 2020 4 - Beta pytest (>=3.5.0) `pytest-browser `_ A pytest plugin for console based browser test selection just after the collection phase Dec 10, 2016 3 - Alpha N/A `pytest-browsermob-proxy `_ BrowserMob proxy plugin for py.test. Jun 11, 2013 4 - Beta N/A -`pytest-browserstack-local `_ ``py.test`` plugin to run ``BrowserStackLocal`` in background. Feb 09, 2018 N/A N/A +`pytest-browserstack-local `_ \`\`py.test\`\` plugin to run \`\`BrowserStackLocal\`\` in background. Feb 09, 2018 N/A N/A `pytest-bug `_ Pytest plugin for marking tests as a bug Jun 02, 2020 5 - Production/Stable pytest (>=3.6.0) `pytest-bugtong-tag `_ pytest-bugtong-tag is a plugin for pytest Apr 23, 2021 N/A N/A `pytest-bugzilla `_ py.test bugzilla integration plugin May 05, 2010 4 - Beta N/A @@ -159,7 +159,7 @@ name `pytest-couchdbkit `_ py.test extension for per-test couchdb databases using couchdbkit Apr 17, 2012 N/A N/A `pytest-count `_ count erros and send email Jan 12, 2018 4 - Beta N/A `pytest-cov `_ Pytest plugin for measuring coverage. Jun 01, 2021 5 - Production/Stable pytest (>=4.6) -`pytest-cover `_ Pytest plugin for measuring coverage. Forked from `pytest-cov`. Aug 01, 2015 5 - Production/Stable N/A +`pytest-cover `_ Pytest plugin for measuring coverage. Forked from \`pytest-cov\`. Aug 01, 2015 5 - Production/Stable N/A `pytest-coverage `_ Jun 17, 2015 N/A N/A `pytest-coverage-context `_ Coverage dynamic context support for PyTest, including sub-processes Jan 04, 2021 4 - Beta pytest (>=6.1.0) `pytest-cov-exclude `_ Pytest plugin for excluding tests based on coverage data Apr 29, 2016 4 - Beta pytest (>=2.8.0,<2.9.0); extra == 'dev' @@ -249,7 +249,7 @@ name `pytest-doctest-custom `_ A py.test plugin for customizing string representations of doctest results. Jul 25, 2016 4 - Beta N/A `pytest-doctest-ellipsis-markers `_ Setup additional values for ELLIPSIS_MARKER for doctests Jan 12, 2018 4 - Beta N/A `pytest-doctest-import `_ A simple pytest plugin to import names and add them to the doctest namespace. Nov 13, 2018 4 - Beta pytest (>=3.3.0) -`pytest-doctestplus `_ Pytest plugin with advanced doctest features. Jul 20, 2021 3 - Alpha pytest (>=4.6) +`pytest-doctestplus `_ Pytest plugin with advanced doctest features. Sep 20, 2021 3 - Alpha pytest (>=4.6) `pytest-doctest-ufunc `_ A plugin to run doctests in docstrings of Numpy ufuncs Aug 02, 2020 4 - Beta pytest (>=3.5.0) `pytest-dolphin `_ Some extra stuff that we use ininternally Nov 30, 2016 4 - Beta pytest (==3.0.4) `pytest-doorstop `_ A pytest plugin for adding test results into doorstop items. Jun 09, 2020 4 - Beta pytest (>=3.5.0) @@ -314,7 +314,7 @@ name `pytest-failed-to-verify `_ A pytest plugin that helps better distinguishing real test failures from setup flakiness. Aug 08, 2019 5 - Production/Stable pytest (>=4.1.0) `pytest-faker `_ Faker integration with the pytest framework. Dec 19, 2016 6 - Mature N/A `pytest-falcon `_ Pytest helpers for Falcon. Sep 07, 2016 4 - Beta N/A -`pytest-falcon-client `_ Pytest `client` fixture for the Falcon Framework Mar 19, 2019 N/A N/A +`pytest-falcon-client `_ Pytest \`client\` fixture for the Falcon Framework Mar 19, 2019 N/A N/A `pytest-fantasy `_ Pytest plugin for Flask Fantasy Framework Mar 14, 2019 N/A N/A `pytest-fastapi `_ Dec 27, 2020 N/A N/A `pytest-fastest `_ Use SCM and coverage to run only needed tests Mar 05, 2020 N/A N/A @@ -331,6 +331,7 @@ name `pytest-finer-verdicts `_ A pytest plugin to treat non-assertion failures as test errors. Jun 18, 2020 N/A pytest (>=5.4.3) `pytest-firefox `_ pytest plugin to manipulate firefox Aug 08, 2017 3 - Alpha pytest (>=3.0.2) `pytest-fixture-config `_ Fixture configuration utils for py.test May 28, 2019 5 - Production/Stable pytest +`pytest-fixture-maker `_ Pytest plugin to load fixtures from YAML files Sep 21, 2021 N/A N/A `pytest-fixture-marker `_ A pytest plugin to add markers based on fixtures used. Oct 11, 2020 5 - Production/Stable N/A `pytest-fixture-order `_ pytest plugin to control fixture evaluation order Aug 25, 2020 N/A pytest (>=3.0) `pytest-fixtures `_ Common fixtures for pytest May 01, 2019 5 - Production/Stable N/A @@ -468,7 +469,7 @@ name `pytest-localftpserver `_ A PyTest plugin which provides an FTP fixture for your tests Aug 25, 2021 5 - Production/Stable pytest `pytest-localserver `_ py.test plugin to test server connections locally. Nov 14, 2018 4 - Beta N/A `pytest-localstack `_ Pytest plugin for AWS integration tests Aug 22, 2019 4 - Beta pytest (>=3.3.0) -`pytest-lockable `_ lockable resource plugin for pytest Aug 19, 2021 5 - Production/Stable pytest +`pytest-lockable `_ lockable resource plugin for pytest Sep 22, 2021 5 - Production/Stable pytest `pytest-locker `_ Used to lock object during testing. Essentially changing assertions from being hard coded to asserting that nothing changed Feb 25, 2021 N/A pytest (>=5.4) `pytest-log `_ print log Aug 15, 2021 N/A pytest (>=3.8) `pytest-logbook `_ py.test plugin to capture logbook log messages Nov 23, 2015 5 - Production/Stable pytest (>=2.8) @@ -508,7 +509,7 @@ name `pytest-mock-helper `_ Help you mock HTTP call and generate mock code Jan 24, 2018 N/A pytest `pytest-mockito `_ Base fixtures for mockito Jul 11, 2018 4 - Beta N/A `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 -`pytest-mock-resources `_ A pytest plugin for easily instantiating reproducible mock resources. Aug 24, 2021 N/A pytest (>=1.0) +`pytest-mock-resources `_ A pytest plugin for easily instantiating reproducible mock resources. Sep 20, 2021 N/A pytest (>=1.0) `pytest-mock-server `_ Mock server plugin for pytest Apr 06, 2020 4 - Beta N/A `pytest-mockservers `_ A set of fixtures to test your requests to HTTP/UDP servers Mar 31, 2020 N/A pytest (>=4.3.0) `pytest-modifyjunit `_ Utility for adding additional properties to junit xml for IDM QE Jan 10, 2019 N/A N/A @@ -539,7 +540,7 @@ name `pytest-needle `_ pytest plugin for visual testing websites using selenium Dec 10, 2018 4 - Beta pytest (<5.0.0,>=3.0.0) `pytest-neo `_ pytest-neo is a plugin for pytest that shows tests like screen of Matrix. Apr 23, 2019 3 - Alpha pytest (>=3.7.2) `pytest-network `_ A simple plugin to disable network on socket level. May 07, 2020 N/A N/A -`pytest-never-sleep `_ pytest plugin helps to avoid adding tests without mock `time.sleep` May 05, 2021 3 - Alpha pytest (>=3.5.1) +`pytest-never-sleep `_ pytest plugin helps to avoid adding tests without mock \`time.sleep\` May 05, 2021 3 - Alpha pytest (>=3.5.1) `pytest-nginx `_ nginx fixture for pytest Aug 12, 2017 5 - Production/Stable N/A `pytest-nginx-iplweb `_ nginx fixture for pytest - iplweb temporary fork Mar 01, 2019 5 - Production/Stable N/A `pytest-ngrok `_ Jan 22, 2020 3 - Alpha N/A @@ -674,7 +675,7 @@ name `pytest-recording `_ A pytest plugin that allows you recording of network interactions via VCR.py Jul 08, 2021 4 - Beta pytest (>=3.5.0) `pytest-recordings `_ Provides pytest plugins for reporting request/response traffic, screenshots, and more to ReportPortal Aug 13, 2020 N/A N/A `pytest-redis `_ Redis fixtures and fixture factories for Pytest. May 25, 2021 5 - Production/Stable pytest -`pytest-redislite `_ Pytest plugin for testing code using Redis Sep 13, 2021 4 - Beta pytest +`pytest-redislite `_ Pytest plugin for testing code using Redis Sep 19, 2021 4 - Beta pytest `pytest-redmine `_ Pytest plugin for redmine Mar 19, 2018 1 - Planning N/A `pytest-ref `_ A plugin to store reference files to ease regression testing Nov 23, 2019 4 - Beta pytest (>=3.5.0) `pytest-reference-formatter `_ Conveniently run pytest with a dot-formatted test reference. Oct 01, 2019 4 - Beta N/A @@ -718,7 +719,7 @@ name `pytest-rocketchat `_ Pytest to Rocket.Chat reporting plugin Apr 18, 2021 5 - Production/Stable N/A `pytest-rotest `_ Pytest integration with rotest Sep 08, 2019 N/A pytest (>=3.5.0) `pytest-rpc `_ Extend py.test for RPC OpenStack testing. Feb 22, 2019 4 - Beta pytest (~=3.6) -`pytest-rst `_ Test code from RST documents with pytest Sep 17, 2021 N/A pytest +`pytest-rst `_ Test code from RST documents with pytest Sep 21, 2021 N/A pytest `pytest-rt `_ pytest data collector plugin for Testgr Sep 04, 2021 N/A N/A `pytest-rts `_ Coverage-based regression test selection (RTS) plugin for pytest May 17, 2021 N/A pytest `pytest-run-changed `_ Pytest plugin that runs changed tests only Apr 02, 2021 3 - Alpha pytest @@ -733,13 +734,13 @@ name `pytest-sanic `_ a pytest plugin for Sanic Jul 27, 2021 N/A pytest (>=5.2) `pytest-sanity `_ Dec 07, 2020 N/A N/A `pytest-sa-pg `_ May 14, 2019 N/A N/A -`pytest-sbase `_ A complete web automation framework for end-to-end testing. Sep 07, 2021 5 - Production/Stable N/A +`pytest-sbase `_ A complete web automation framework for end-to-end testing. Sep 21, 2021 5 - Production/Stable N/A `pytest-scenario `_ pytest plugin for test scenarios Feb 06, 2017 3 - Alpha N/A `pytest-schema `_ 👍 Validate return values against a schema-like object in testing Aug 31, 2020 5 - Production/Stable pytest (>=3.5.0) `pytest-securestore `_ An encrypted password store for use within pytest cases Jun 19, 2019 4 - Beta N/A `pytest-select `_ A pytest plugin which allows to (de-)select tests from a file. Jan 18, 2019 3 - Alpha pytest (>=3.0) `pytest-selenium `_ pytest plugin for Selenium Sep 19, 2020 5 - Production/Stable pytest (>=5.0.0) -`pytest-seleniumbase `_ A complete web automation framework for end-to-end testing. Sep 07, 2021 5 - Production/Stable N/A +`pytest-seleniumbase `_ A complete web automation framework for end-to-end testing. Sep 21, 2021 5 - Production/Stable N/A `pytest-selenium-enhancer `_ pytest plugin for Selenium Nov 26, 2020 5 - Production/Stable N/A `pytest-selenium-pdiff `_ A pytest package implementing perceptualdiff for Selenium tests. Apr 06, 2017 2 - Pre-Alpha N/A `pytest-send-email `_ Send pytest execution result email Dec 04, 2019 N/A N/A @@ -801,7 +802,7 @@ name `pytest-stepwise `_ Run a test suite one failing test at a time. Dec 01, 2015 4 - Beta N/A `pytest-stoq `_ A plugin to pytest stoq Feb 09, 2021 4 - Beta N/A `pytest-stress `_ A Pytest plugin that allows you to loop tests for a user defined amount of time. Dec 07, 2019 4 - Beta pytest (>=3.6.0) -`pytest-structlog `_ Structured logging assertions Mar 26, 2021 N/A pytest +`pytest-structlog `_ Structured logging assertions Sep 21, 2021 N/A pytest `pytest-structmpd `_ provide structured temporary directory Oct 17, 2018 N/A N/A `pytest-stub `_ Stub packages, modules and attributes. Apr 28, 2020 5 - Production/Stable N/A `pytest-stubprocess `_ Provide stub implementations for subprocesses in Python tests Sep 17, 2018 3 - Alpha pytest (>=3.5.0) @@ -879,7 +880,7 @@ name `pytest-twisted `_ A twisted plugin for pytest. Aug 30, 2021 5 - Production/Stable pytest (>=2.3) `pytest-typhoon-xray `_ Typhoon HIL plugin for pytest Aug 27, 2021 4 - Beta N/A `pytest-tytest `_ Typhoon HIL plugin for pytest May 25, 2020 4 - Beta pytest (>=5.4.2) -`pytest-ubersmith `_ Easily mock calls to ubersmith at the `requests` level. Apr 13, 2015 N/A N/A +`pytest-ubersmith `_ Easily mock calls to ubersmith at the \`requests\` level. Apr 13, 2015 N/A N/A `pytest-ui `_ Text User Interface for running python tests Jul 05, 2021 4 - Beta pytest `pytest-unhandled-exception-exit-code `_ Plugin for py.test set a different exit code on uncaught exceptions Jun 22, 2020 5 - Production/Stable pytest (>=2.3) `pytest-unittest-filter `_ A pytest plugin for filtering unittest-based test classes Jan 12, 2019 4 - Beta pytest (>=3.1.0) @@ -906,7 +907,7 @@ name `pytest-vyper `_ Plugin for the vyper smart contract language. May 28, 2020 2 - Pre-Alpha N/A `pytest-wa-e2e-plugin `_ Pytest plugin for testing whatsapp bots with end to end tests Feb 18, 2020 4 - Beta pytest (>=3.5.0) `pytest-watch `_ Local continuous test runner with pytest and watchdog. May 20, 2018 N/A N/A -`pytest-watcher `_ Continiously runs pytest on changes in *.py files Sep 18, 2021 3 - Alpha N/A +`pytest-watcher `_ Continiously runs pytest on changes in \*.py files Sep 18, 2021 3 - Alpha N/A `pytest-wdl `_ Pytest plugin for testing WDL workflows. Nov 17, 2020 5 - Production/Stable N/A `pytest-webdriver `_ Selenium webdriver fixture for py.test May 28, 2019 5 - Production/Stable pytest `pytest-wetest `_ Welian API Automation test framework pytest plugin Nov 10, 2018 4 - Beta N/A @@ -915,7 +916,7 @@ name `pytest-win32consoletitle `_ Pytest progress in console title (Win32 only) Aug 08, 2021 N/A N/A `pytest-winnotify `_ Windows tray notifications for py.test results. Apr 22, 2016 N/A N/A `pytest-workflow `_ A pytest plugin for configuring workflow/pipeline tests using YAML files Dec 14, 2020 5 - Production/Stable pytest (>=5.4.0) -`pytest-xdist `_ pytest xdist plugin for distributed testing and loop-on-failing modes Jun 16, 2021 5 - Production/Stable pytest (>=6.0.0) +`pytest-xdist `_ pytest xdist plugin for distributed testing and loop-on-failing modes Sep 21, 2021 5 - Production/Stable pytest (>=6.0.0) `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) `pytest-xdist-forked `_ forked from pytest-xdist Feb 10, 2020 5 - Production/Stable pytest (>=4.4.0) `pytest-xdist-tracker `_ pytest plugin helps to reproduce failures for particular xdist node May 05, 2021 3 - Alpha pytest (>=3.5.1) @@ -933,7 +934,7 @@ name `pytest-yamlwsgi `_ Run tests against wsgi apps defined in yaml May 11, 2010 N/A N/A `pytest-yapf `_ Run yapf Jul 06, 2017 4 - Beta pytest (>=3.1.1) `pytest-yapf3 `_ Validate your Python file format with yapf Aug 03, 2020 5 - Production/Stable pytest (>=5.4) -`pytest-yield `_ PyTest plugin to run tests concurrently, each `yield` switch context to other one Jan 23, 2019 N/A N/A +`pytest-yield `_ PyTest plugin to run tests concurrently, each \`yield\` switch context to other one Jan 23, 2019 N/A N/A `pytest-yuk `_ Display tests you are uneasy with, using 🤢/🤮 for pass/fail of tests marked with yuk. Mar 26, 2021 N/A N/A `pytest-zafira `_ A Zafira plugin for pytest Sep 18, 2019 5 - Production/Stable pytest (==4.1.1) `pytest-zap `_ OWASP ZAP plugin for py.test. May 12, 2014 4 - Beta N/A diff --git a/scripts/update-plugin-list.py b/scripts/update-plugin-list.py index 4337e8f58..596952b20 100644 --- a/scripts/update-plugin-list.py +++ b/scripts/update-plugin-list.py @@ -26,6 +26,20 @@ DEVELOPMENT_STATUS_CLASSIFIERS = ( ) +def escape_rst(text: str) -> str: + """Rudimentary attempt to escape special RST characters to appear as + plain text.""" + text = ( + text + .replace("*", "\\*") + .replace("<", "\\<") + .replace(">", "\\>") + .replace("`", "\\`") + ) + text = re.sub(r"_\b", "", text) + return text + + def iter_plugins(): regex = r">([\d\w-]*)" response = requests.get("https://pypi.org/simple") @@ -63,8 +77,7 @@ def iter_plugins(): last_release = release_date.strftime("%b %d, %Y") break name = f'`{info["name"]} <{info["project_url"]}>`_' - summary = info["summary"].replace("\n", "") - summary = re.sub(r"_\b", "", summary) + summary = escape_rst(info["summary"].replace("\n", "")) yield { "name": name, "summary": summary,