Commit Graph
41 Commits
Author SHA1 Message Date
Abdullah AhmedandClaude Sonnet 5.5 3f7e8adddc Honor return annotations of async pytest fixtures
Async fixtures skipped the annotation branch, so a `-> T` annotation was
ignored and only the body was inferred. Infer the annotation directly:
the awaited value for coroutines, and the yielded value for annotated
async generators. Add cases where the body is not inferable.

Also drop the tooling note from the AUTHORS entry.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-12 04:52:32 -04:00
Abdullah Ahmed d8efff8e30 Recognize asynchronous pytest fixtures 2026-10-12 04:05:48 -04:00
Dave Halter aa72381ed1 Implement Self, fixes #2023, fixes #2068 2026-04-29 17:51:01 +02:00
Dave Halter a662298e2f Remove a bit more python3.8/3.9 specific code 2026-04-27 00:42:07 +02:00
Dave Halter 30ef824abd Introduce some stricter typing 2026-02-04 01:19:14 +01:00
Dave Halter 3ac1632a5c Avoid the need to import search_ancestor 2026-01-19 20:30:03 +01:00
Martin Vielsmaier 950ce70239 Prioritize conftest over plugins for pytest fixtures 2024-01-26 10:39:15 +01:00
Martin Vielsmaier 6982a49977 Fix codestyle 2024-01-24 13:11:26 +01:00
Martin Vielsmaier 9b8cece7ef Improve pytest plugin loading 2024-01-23 20:54:21 +01:00
Martin Vielsmaier 162034b387 Fix line length. 2024-01-23 20:54:21 +01:00
Martin Vielsmaier 7d77f61040 Add support for pytest fixtures from local pytest plugins. 2024-01-23 20:54:21 +01:00
Peter Law 54cb64292c Support importlib.metadata entry points for newer python
pkg_resources is deprecated and liable to be dropped at some point.
2023-05-28 11:48:19 +01:00
Marcio Mazza e25750ecef Make code compatible with python < 3.8 2022-09-05 17:05:11 -03:00
Marcio Mazza 1a306fddbf Fix check pytest fixture from import on the right context 2022-09-04 13:12:13 -03:00
Marcio Mazza fa1e9ce9a7 Simplify entry points enumeration 2022-09-03 17:16:32 -03:00
Marcio Mazza 8447d7f3e4 Discard imports of modules as pytest fixtures 2022-09-03 17:16:32 -03:00
Marcio Mazza 27e13e4072 Allow for multiple returns from goto_import 2022-09-03 17:16:32 -03:00
Marcio Mazza 9fd4aab5da Find pytest fixtures from external plugins registered via setuptools entry points
Using setuptools entry points is probably the main pytest mechanism of
plugin discovery.

See https://docs.pytest.org/en/stable/how-to/writing_plugins.html#setuptools-entry-points

This extends the functionality of #791
and maybe eliminates the need for #1786.
2022-09-03 17:16:32 -03:00
Dave Halter 42508d9309 Fix fixture annotations for pytest
This means mostly these:

@fixture
def foo() -> Generator[int, None, None]: ...
2021-11-16 22:57:25 +01:00
boerde 3cf98f6ba1 paramters with annotation do not need special pytest handling 2021-08-29 09:17:04 +02:00
Samuele FAVAZZA 613cb08325 BUGFIX: prevent an infinite loop seeking for a "conftest.py" file 2021-01-30 16:31:26 +01:00
Dave Halter 85ec94cf65 Fix pytest issues, fixes #1699 2020-12-26 03:32:17 +01:00
Peter Law 35c2d660cb Fix most import related mypy errors 2020-07-24 16:10:34 +01:00
Dave Halter 480a464179 Implement all remaining Path issues and use it instead of strings 2020-07-12 01:14:00 +02:00
Dave Halter 24a1bbb3ca Even more super deletions 2020-07-02 12:29:10 +02:00
Dave Halter f9a35ae42a Remove FileNotFoundError compatibility 2020-07-02 01:05:13 +02:00
Dave Halter d8deceb4b1 Make sure fixture resolving works in conftest.py, see #791 2020-01-06 23:27:25 +01:00
Dave Halter 4243d01560 Make sure inheritance works for fixtures, fixes #791 2020-01-05 19:13:56 +01:00
Dave Halter 2d31e2e760 Fix a small pytest fixture bug 2020-01-03 00:03:32 +01:00
Dave Halter dfd7910dd3 Make sure test prefixed functions are checked for pytest fixtures, see #791 2019-12-31 21:31:58 +01:00
Dave Halter 1da0a7bd58 Make sure pytester is also used for fixtures, see #791 2019-12-31 21:30:56 +01:00
Dave Halter 35fb8a942c Make sure pytest stdlib fixtures are completable 2019-12-27 16:28:07 +01:00
Dave Halter e86487cb96 Make sure the monkeypatch fixture completion works 2019-12-27 16:13:20 +01:00
Dave Halter 0931c5492d Fix tests 2019-12-27 13:30:53 +01:00
Dave Halter 7715655c96 Fix selection of what is a pytest fixture and what isn't 2019-12-27 13:26:31 +01:00
Dave Halter 4c22f4dbb1 Fix completion for non-pytest params 2019-12-27 13:02:16 +01:00
Dave Halter 31936776a5 Make completion of pytest fixtures possible 2019-12-27 12:29:18 +01:00
Dave Halter 8c737ba17e Make goto work for pytest fixtures 2019-12-27 10:51:49 +01:00
Dave Halter 02320f832d Check better for when something is a picture 2019-12-27 02:12:02 +01:00
Dave Halter 148fffae28 Make yield pytest fixtures work 2019-12-27 01:50:17 +01:00
Dave Halter c45c8ec8ef Get some pytest fixtures working with some side effects 2019-12-27 01:04:01 +01:00