Ronny Pfannschmidt
bae7edc7c4
Merge 77d991c65c
into f74e947c1f
2024-06-26 18:21:35 +02:00
lovetheguitar
3d07791c36
chore: remove obsolete `TODO`s
2024-06-25 09:18:18 +02:00
lovetheguitar
dd57196953
perf(expression): define `TokenType.STRING` as "string literal" for clearer errors
2024-06-25 09:18:18 +02:00
Ronny Pfannschmidt
77d991c65c
fixup: have fake config .getini use correct types
2024-06-22 15:31:14 +02:00
Ronny Pfannschmidt
ccf057fb60
fixup: junitxml logging test - restore validation for expected output nodes
2024-06-22 15:29:43 +02:00
Ronny Pfannschmidt
5c4a9c54dc
fixup: undo accidential name-mangling in the junitxml test helpers
2024-06-22 15:28:59 +02:00
Ronny Pfannschmidt
31ccb8ad47
test junitxml: split the DomNode type to express the Document/Element difference
2024-06-22 15:05:30 +02:00
lovetheguitar
7c7c36d7e0
test(test_mark.py): add sad case that `-k` doesn't support keyword expressions
2024-06-21 20:51:01 +02:00
lovetheguitar
3921d94316
test: use new `MarkMatcher.from_markers` method & register test markers
2024-06-21 20:51:01 +02:00
lovetheguitar
1e7eb20347
perf(expression): improve string lexing & error messages
2024-06-21 20:51:01 +02:00
lovetheguitar
1cc35ecc3f
test: add empty string keyword argument marker test cases
2024-06-21 20:51:01 +02:00
lovetheguitar
15c33fbaa3
feat: support keyword arguments in marker expressions
...
Fixes #12281
2024-06-21 20:51:01 +02:00
Farbod Ahmadian
34e28295a7
refactor: simplify bound method representation ( #12492 )
...
Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
Co-authored-by: Farbod Ahmadian <farbod@datachef.com>
2024-06-21 18:20:44 +02:00
Ronny Pfannschmidt
71a2add68d
chore: junitxml tests: introduce more typesafe helpers
2024-06-21 12:09:24 +02:00
Ronny Pfannschmidt
e133932b7b
chore: junitxml tests: add more type annotations
2024-06-21 12:09:24 +02:00
Ronny Pfannschmidt
812ce76298
chore: skipping tests: migrate to f-strings
2024-06-21 12:09:24 +02:00
Ronny Pfannschmidt
a6513d62c9
chore: fixture tests: migrate to f-strings
2024-06-21 12:09:24 +02:00
Ronny Pfannschmidt
96b786b63b
chore: MockTiming - move impl to _pytest.timing
2024-06-21 12:09:24 +02:00
Ronny Pfannschmidt
bbe6b4a218
Merge pull request #12467 from RonnyPfannschmidt/ronny/new-annotations-try-2
...
from __future__ import annotations + migrate
2024-06-21 10:24:56 +02:00
Ronny Pfannschmidt
9295f9ffff
RFC: from __future__ import annotations + migrate
2024-06-20 11:03:03 +02:00
Sviatoslav Sydorenko
39b548e6ea
📝 Make "setuptools entrypoint" term generic
...
This feature grew out of `setuptools` but the modern interface for
extracting this information from the distribution package metadata
is `importlib.metadata`. So the patch attempts to reflect this in
the documentation messaging.
Refs:
* https://docs.python.org/3/library/importlib.metadata.html#entry-points
* https://packaging.python.org/en/latest/guides/creating-and-discovering-plugins/#using-package-metadata
* https://packaging.python.org/en/latest/specifications/entry-points/#entry-points
2024-06-20 11:01:10 +02:00
Ronny Pfannschmidt
76f3f3da00
fix #11797 : be more lenient on SequenceLike approx
...
this needs a validation as it allows partially implemented sequences
2024-06-18 17:01:24 +02:00
Sviatoslav Sydorenko (Святослав Сидоренко)
fe4961afae
Modernize the skipped `test_issue_9765` regression test ( #12468 )
...
* 🚑 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
2024-06-17 15:44:14 +00:00
Ran Benita
7ef9da1f02
terminalwriter: improve `PYTEST_THEME`, `PYTEST_THEME_MODE` usage errors
2024-06-10 11:50:08 +03:00
dependabot[bot]
3d91e42229
build(deps): Bump pytest-bdd in /testing/plugins_integration ( #12442 )
...
Bumps [pytest-bdd](https://github.com/pytest-dev/pytest-bdd ) from 7.1.2 to 7.2.0.
- [Release notes](https://github.com/pytest-dev/pytest-bdd/releases )
- [Changelog](https://github.com/pytest-dev/pytest-bdd/blob/master/CHANGES.rst )
- [Commits](https://github.com/pytest-dev/pytest-bdd/compare/7.1.2...7.2.0 )
---
updated-dependencies:
- dependency-name: pytest-bdd
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 08:28:57 +02:00
Ran Benita
f85289ba87
Merge pull request #12436 from bluetech/unittest-rerun-assertion
...
unittest: fix assertion errors on unittest reruns
2024-06-08 02:11:20 +03:00
Ran Benita
18f15a38fc
Merge pull request #12435 from bluetech/avoid-type-checking
...
Avoid some `TYPE_CHECKING`
2024-06-08 02:11:06 +03:00
Ran Benita
de47b73520
unittest: fix assertion errors on unittest reruns
...
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.
2024-06-07 10:21:15 +03:00
dependabot[bot]
13f97632c6
build(deps): Bump pytest-trio in /testing/plugins_integration
...
Bumps [pytest-trio](https://github.com/python-trio/pytest-trio ) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/python-trio/pytest-trio/releases )
- [Commits](https://github.com/python-trio/pytest-trio/compare/v0.7.0...v0.8.0 )
---
updated-dependencies:
- dependency-name: pytest-trio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-06-07 07:03:09 +00:00
Ran Benita
c07bbdfa5b
Avoid some TYPE_CHECKING
...
It's better not to use it when possible.
2024-06-07 09:36:55 +03:00
Tomasz Kłoczko
6b2daaa2e9
[pre-commit] Add pyupgrade back as a manual stage ( #12418 )
...
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>
2024-06-06 23:52:29 +02:00
Ran Benita
d4dbe771f0
Merge pull request #12409 from bluetech/reorder-items-perf
...
fixtures: fix catastrophic performance problem in `reorder_items`
2024-06-04 10:16:19 +03:00
Ran Benita
e89d23b247
fixtures: fix catastrophic performance problem in `reorder_items`
...
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.
2024-06-04 10:15:50 +03:00
Michael Vogt
7be95f9b30
code: do not truncate args when running with -vvv ( #12241 )
...
Related to #2871 .
2024-06-03 12:11:41 +00:00
Pierre Sassoulas
908e112999
[pylint 'implicit-str-concat'] fix existing unwanted implicit str concat
2024-05-29 14:36:01 +02:00
Pierre Sassoulas
88fae23bdd
[pylint] Fixes all ``use-maxplit-args``, ``consider-using-enumerate`` ( #12172 )
...
* [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
2024-05-27 12:18:03 -07:00
dependabot[bot]
24abe4eb03
build(deps): Bump anyio[curio,trio] in /testing/plugins_integration ( #12374 )
...
Bumps [anyio[curio,trio]](https://github.com/agronholm/anyio ) from 4.3.0 to 4.4.0.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst )
- [Commits](https://github.com/agronholm/anyio/compare/4.3.0...4.4.0 )
---
updated-dependencies:
- dependency-name: anyio[curio,trio]
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-27 06:43:30 +02:00
Ran Benita
c3c51037f0
unittest: fix class instances no longer released on test teardown since pytest 8.2.0
...
Fix #12367 .
2024-05-26 10:18:42 +03:00
dependabot[bot]
00be7c0739
build(deps): Bump pytest-asyncio in /testing/plugins_integration ( #12345 )
...
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio ) from 0.23.6 to 0.23.7.
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases )
- [Commits](https://github.com/pytest-dev/pytest-asyncio/compare/v0.23.6...v0.23.7 )
---
updated-dependencies:
- dependency-name: pytest-asyncio
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-20 07:11:04 +02:00
Ran Benita
1cb704ff2c
Add Python 3.13 (beta1) support
2024-05-19 09:25:13 +03:00
Ran Benita
dbee3fa34a
testing: remove conditionals for Python 3.11 beta releases
...
No need to support beta releases of an older version anymore.
Ref: 09b2c95320
2024-05-18 19:53:50 +03:00
Jelle Zijlstra
ee9ea703f9
Fix new typing issues in AST code ( #12337 )
...
python/typeshed#11880 adds more precise types for AST nodes. I'm submitting some changes to adapt pytest to these changes.
2024-05-18 19:07:06 +03:00
Ran Benita
fdf3aa3fc3
Merge pull request #12329 from pytest-dev/fix-package-scope-reorder
...
fixtures: fix non-working package-scope parametrization reordering
2024-05-16 10:30:34 +03:00
Josh Soref
8d00811822
Spelling and minor changes ( #12122 )
2024-05-15 13:49:34 -03:00
Ran Benita
1acf56d033
fixtures: fix non-working package-scope parametrization reordering
...
The `.parent` was incorrectly removed in
a21fb87a90
, but it was actually correct
(well, it assumes that Module.path.parent == Package.path, which I'm not
sure is always correct, but that's a different matter). Restore it.
Fix #12328 .
2024-05-15 17:29:43 +03:00
Ran Benita
3a64c47f1f
cacheprovider: fix `.pytest_cache` not being world-readable
...
Fix #12308 .
2024-05-14 23:47:12 +03:00
Ran Benita
704792ecbd
Merge pull request #12311 from bluetech/pkg-collect-perm-error
...
python: add workaround for permission error crashes from non-selected directories
2024-05-13 20:32:23 +03:00
Ran Benita
37489d3c6c
python,unittest: don't collect abstract classes
...
Fix #12275 .
2024-05-13 13:00:47 +03:00
dependabot[bot]
eea04c2891
build(deps): Bump django in /testing/plugins_integration ( #12314 )
...
Bumps [django](https://github.com/django/django ) from 5.0.4 to 5.0.6.
- [Commits](https://github.com/django/django/compare/5.0.4...5.0.6 )
---
updated-dependencies:
- dependency-name: django
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 05:56:16 +02:00
Ran Benita
90a3ef2f36
python: add workaround for permission error crashes from non-selected directories
...
Fix #12120 .
2024-05-12 22:38:49 +03:00