There was a regression caused by #12431 that excluded the patch on
broken CPython patch version ranges 3.11.0–3.11.8 and 3.12.0–3.12.2.
This change fixes that by adjusting the patching conditional clause
to include said versions.
Closes#12430.
Co-authored-by: Florian Bruhin <me@the-compiler.org>
* 🚑 Explicitly set encoding @ `subprocess.run()`
This invocation is present in the `test_issue_9765` regression test
that is always skipped unconditionally, resulting in the
`EncodingWarning` never manifesting itself in CI or development
environments of the contributors.
* Change `setup.py` call w/ `pip install` @ tests
Using this CLI interface has been deprecated in `setuptools` [[1]].
[1]: https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html
* Change Contribution doc title to match sidebar
* Rearrange sentence for clarity
* Update backwards-compatibility.rst
some minor grammar changes
* Update pythonpath.rst
fixed some gramatical errors
* Update AUTHORS
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update doc/en/explanation/pythonpath.rst
From a quick overview it looks like lowercase is more consistent, although some pages do use `pytest` in code blocks
Co-authored-by: Bruno Oliveira <bruno@soliv.dev>
---------
Co-authored-by: Mackerello <82668740+Mackerello@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bruno Oliveira <bruno@soliv.dev>
This fixes unittest test reruns when using plugins like
pytest-rerunfailures.
The `instance` property uses AttributeError to check if the instance
needs to be initialized, so `del` is the correct way to clear it, not
setting to `None`.
Regressed in 8.2.2.
* Only rely on _find_lineno on Python 3.10 and earlier.
* Update docstring to reflect current expectation.
* Only rely on _find on Python 3.9 and earlier.
* Mark line as uncovered.
* Remove empty else block (implicit is better than explicit).
Closes#12430Closes#12432
Launchable with ``pre-commit run --hook-stage manual pyupgrade -a``
---------
Signed-off-by: Tomasz Kłoczko <kloczek@github.com>
Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
Fix#12355.
In the issue, it was reported that the `reorder_items` has quadratic (or
worse...) behavior with certain simple parametrizations. After some
debugging I found that the problem happens because the "Fix
items_by_argkey order" loop keeps adding the same item to the deque,
and it reaches epic sizes which causes the slowdown.
I don't claim to understand how the `reorder_items` algorithm works, but
if as far as I understand, if an item already exists in the deque, the
correct thing to do is to move it to the front. Since a deque doesn't
have such an (efficient) operation, this switches to `OrderedDict` which
can efficiently append from both sides, deduplicate and move to front.
Fix#12381
Test plan:
It's possible to write a deterministic test case for this, but somewhat
of a hassle so I tested it manually. I reproduced by removing existing
`.pytest_cache`, adding a sleep before the rename and running two
pytests. I verified that it doesn't reproduce after the fix.
* [pylint 'use-maxsplit-arg'] Do not split more than necessary when using the first element
* [pylint 'consider-using-enumerate'] Use zip when iterating on two iterators
* [pylint] 'cell-var-from-loop' and 'disallowed-name' permanent disable
* [pylint] Disable 'possibly-used-before-assignment' following 3.2.0 release
This is used to set the <link rel="canonical" href="X"> tag that points to the canonical version of the webpage. Including this indicates to search engines which version to include in their indexes, and should prevent older versions showing up.
Fixes#12363