-
Notifications
You must be signed in to change notification settings - Fork 159
async method fixture is run with different self
than the test method
#197
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I was not aware of this. Could you look into it and submit a PR? Thanks. |
I'm afraid that's beyond my abilities. I went over the code, but 1) I don't understand a lot of it, since I'm completely unfamiliar with pytest internals, hooks, etc. and 2) none of it seems related to me - AFAIU none of your code concerns class-based tests, instantiation of the test classes and passing the instance btw fixture methods and test methods. |
@Incanus3 I understand that the plugin code might be hard to understand at first. But on second glance, it's not that hard :) The discovery of test cases is performed by pytest, not pytest-asyncio. Pytest's responsibilities include finding fixtures and test cases in class-based tests. That's why you cannot find anything concerning class-based tests in pytest-asyncio. Pytest's plugin system allows us to take action before or after a fixture or test case is executed. For example, the function pytest-asyncio/pytest_asyncio/plugin.py Lines 81 to 143 in 1bb7f30
It is called for each fixture and receives a Now let's have a look at pytest-asyncio/pytest_asyncio/plugin.py Line 84 in 1bb7f30
Then it checks if the fixture is any async generator: pytest-asyncio/pytest_asyncio/plugin.py Line 91 in 1bb7f30
However, this is not the case for your setup function, because it does not yield any value.
The last check is whether your fixture is a coroutine function. pytest-asyncio/pytest_asyncio/plugin.py Lines 127 to 143 in 1bb7f30
This check should be true, so the function replaces the fixture with a wrapper. The wrapper retrieves an event loop, awaits the fixture, and returns the result. The problem seems to be that the wrapper references a different Did that make things clearer? |
Hi and thanks @seifertm, this is pretty helpful, even though I understood most of this before, at least conceptually (I didn't know how exactly does When I looked at this before, I actually made a mistake that's not directly related to pytest, but rather stems from my apparently not-so-great knowledge of asyncio - I thought the The second thing I was struggling with still holds though - even though I can intercept the fixture initialization and replace it with a wrapper (or potentially a different function altogether), I don't see how I can influence the way the function is actually called later in the process. I went back to the code, added a small test and added a few debug prints to the |
I can reproduce that that the However, I currently have no idea why this should be the case. It seems not to be happening when using regular synchronous methods. |
@seifertm can I kindly ask you to check the |
Good question. I checked once with async test functions and once with non-async tests. It seems that The output of the async tests:
Output for the non-async tests:
|
I came here to report this same bug. Pytest resolves fixtures that are bound methods each time a test method is run, by using the Now, this re-wrapping fails for pytest-asyncio fixtures because the All this means there are two ways this can be fixed:
Here is a version that re-implements the utility function, inline, each time it is called; I dropped the def _wrap_async(func) -> None:
@functools.wraps(func, assigned=(*functools.WRAPPER_ASSIGNMENTS, "__self__"))
def _async_fixture_wrapper(
event_loop: asyncio.AbstractEventLoop, request: SubRequest, **kwargs: Any
) -> _R:
fixturefunc = func
if request.instance is not None:
# rebind bound fixture method to active instance
try:
unbound, self = fixturefunc.__func__, fixturefunc.__self__
except AttributeError:
pass
else:
fixturefunc = unbound.__get__(request.instance)
async def setup() -> _R:
res = await fixturefunc(**_add_kwargs(fixturefunc, kwargs, event_loop, request))
return res
return event_loop.run_until_complete(setup())
return _async_fixture_wrapper Using that version of I'll come up with a more complete implementation in a PR. |
Thank you for the great explanation of the root cause! |
Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.20.1 to 0.20.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p> <blockquote> <h2>pytest-asyncio 0.20.2</h2> <hr /> <h2>title: 'pytest-asyncio: pytest support for asyncio'</h2> <p><a href="https://pypi.python.org/pypi/pytest-asyncio"><img src="https://img.shields.io/pypi/v/pytest-asyncio.svg" alt="image" /></a></p> <p><a href="https://github.com/pytest-dev/pytest-asyncio/actions?workflow=CI"><img src="https://github.com/pytest-dev/pytest-asyncio/workflows/CI/badge.svg" alt="image" /></a></p> <p><a href="https://codecov.io/gh/pytest-dev/pytest-asyncio"><img src="https://codecov.io/gh/pytest-dev/pytest-asyncio/branch/master/graph/badge.svg" alt="image" /></a></p> <p><a href="https://github.com/pytest-dev/pytest-asyncio"><img src="https://img.shields.io/pypi/pyversions/pytest-asyncio.svg" alt="Supported Python versions" /></a></p> <p><a href="https://github.com/ambv/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="image" /></a></p> <p>pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest.</p> <p>asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio provides useful fixtures and markers to make testing easier.</p> <pre lang="{.sourceCode" data-meta=".python}"><code>@pytest.mark.asyncio async def test_some_asyncio_code(): res = await library.do_something() assert b"expected result" == res </code></pre> <p>pytest-asyncio has been strongly influenced by <a href="https://github.com/eugeniy/pytest-tornado">pytest-tornado</a>.</p> <h1>Features</h1> <ul> <li>fixtures for creating and injecting versions of the asyncio event loop</li> <li>fixtures for injecting unused tcp/udp ports</li> <li>pytest markers for treating tests as asyncio coroutines</li> <li>easy testing with non-default event loops</li> <li>support for [async def]{.title-ref} fixtures and async generator fixtures</li> <li>support <em>auto</em> mode to handle all async fixtures and tests automatically by asyncio; provide <em>strict</em> mode if a test suite should work with different async frameworks simultaneously, e.g. <code>asyncio</code> and <code>trio</code>.</li> </ul> <h1>Installation</h1> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/blob/master/CHANGELOG.rst">pytest-asyncio's changelog</a>.</em></p> <blockquote> <h1>0.20.2 (22-11-11)</h1> <ul> <li>Fixes an issue with async fixtures that are defined as methods on a test class not being rebound to the actual test instance. <code>[#197](pytest-dev/pytest-asyncio#197) <https://github.com/pytest-dev/pytest-asyncio/issues/197></code>_</li> <li>Replaced usage of deprecated <code>@pytest.mark.tryfirst</code> with <code>@pytest.hookimpl(tryfirst=True)</code> <code>[#438](pytest-dev/pytest-asyncio#438) <https://github.com/pytest-dev/pytest-asyncio/pull/438></code>_</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/07a1416c2fe15d85fc149b3caa35b057de0b3d6e"><code>07a1416</code></a> Prepare release of v0.20.2.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/dc3ad211d160006b4a30996c0a2a2c29754ef1fc"><code>dc3ad21</code></a> Build(deps): Bump pytest-trio in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/441">#441</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/d9faba85890334f0548732d35f1b1d54a850a69f"><code>d9faba8</code></a> Build(deps): Bump mypy from 0.982 to 0.990 in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/440">#440</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/fe63e346154b61bbfe767e585b0b3b55fb37463e"><code>fe63e34</code></a> Handle bound fixture methods correctly (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/439">#439</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/38fc0320c39e24a473240303fbc780213354e64d"><code>38fc032</code></a> Bump to pytest 7.2.0 (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/438">#438</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/28ba705a81d041bd3b5487eb53ded447676dad37"><code>28ba705</code></a> Build(deps): Bump hypothesis in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/437">#437</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/91e723a373952640e08d69adaff1957a8cbe8c8e"><code>91e723a</code></a> Build(deps): Bump zipp from 3.9.0 to 3.10.0 in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/434">#434</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/0ca201b09a8ce2ff3ddc912ad434d9db34ef5078"><code>0ca201b</code></a> Fix setuptools deprecation warning for license_file (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/432">#432</a>)</li> <li>See full diff in <a href="https://github.com/pytest-dev/pytest-asyncio/compare/v0.20.1...v0.20.2">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
4826: Update traitlets requirement from ~=5.5.0 to ~=5.6.0 r=jenshnielsen a=dependabot[bot] Updates the requirements on [traitlets](https://github.com/ipython/traitlets) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ipython/traitlets/releases">traitlets's releases</a>.</em></p> <blockquote> <h2>v5.6.0</h2> <h2>5.6.0</h2> <p>(<a href="https://github.com/ipython/traitlets/compare/5.5.0...2c5188a3562f03c0703315b21df41ca7ace23dd3">Full Changelog</a>)</p> <h3>Maintenance and upkeep improvements</h3> <ul> <li>Adopt jupyter releaser <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/806">#806</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>Use base setup dependency type <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/805">#805</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>More CI Cleanup <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/803">#803</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>More maintenance cleanup <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/802">#802</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>Add project description <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/801">#801</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>Bump actions/setup-python from 2 to 4 <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/798">#798</a> (<a href="https://github.com/dependabot"><code>`@dependabot</code></a>)</li>` <li>Bump actions/checkout from 2 to 3 <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/797">#797</a> (<a href="https://github.com/dependabot"><code>`@dependabot</code></a>)</li>` <li>Bump pre-commit/action from 2.0.0 to 3.0.0 <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/796">#796</a> (<a href="https://github.com/dependabot"><code>`@dependabot</code></a>)</li>` <li>Bump actions/upload-artifact from 2 to 3 <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/795">#795</a> (<a href="https://github.com/dependabot"><code>`@dependabot</code></a>)</li>` <li>Add dependabot <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/794">#794</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>Add more typings <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/791">#791</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>Format changelog <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/789">#789</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` </ul> <h3>Contributors to this release</h3> <p>(<a href="https://github.com/ipython/traitlets/graphs/contributors?from=2022-10-18&to=2022-11-29&type=c">GitHub contributors page for this release</a>)</p> <p><a href="https://github.com/search?q=repo%3Aipython%2Ftraitlets+involves%3Ablink1073+updated%3A2022-10-18..2022-11-29&type=Issues"><code>`@blink1073</code></a>` | <a href="https://github.com/search?q=repo%3Aipython%2Ftraitlets+involves%3Adependabot+updated%3A2022-10-18..2022-11-29&type=Issues"><code>`@dependabot</code></a>` | <a href="https://github.com/search?q=repo%3Aipython%2Ftraitlets+involves%3Amaartenbreddels+updated%3A2022-10-18..2022-11-29&type=Issues"><code>`@maartenbreddels</code></a>` | <a href="https://github.com/search?q=repo%3Aipython%2Ftraitlets+involves%3Apre-commit-ci+updated%3A2022-10-18..2022-11-29&type=Issues"><code>`@pre-commit-ci</code></a>` | <a href="https://github.com/search?q=repo%3Aipython%2Ftraitlets+involves%3Armorshea+updated%3A2022-10-18..2022-11-29&type=Issues"><code>`@rmorshea</code></a></p>` </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ipython/traitlets/blob/main/CHANGELOG.md">traitlets's changelog</a>.</em></p> <blockquote> <h2>5.6.0</h2> <p>(<a href="https://github.com/ipython/traitlets/compare/5.5.0...2c5188a3562f03c0703315b21df41ca7ace23dd3">Full Changelog</a>)</p> <h3>Maintenance and upkeep improvements</h3> <ul> <li>Adopt jupyter releaser <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/806">#806</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>Use base setup dependency type <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/805">#805</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>More CI Cleanup <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/803">#803</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>More maintenance cleanup <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/802">#802</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>Add project description <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/801">#801</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>Bump actions/setup-python from 2 to 4 <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/798">#798</a> (<a href="https://github.com/dependabot"><code>`@dependabot</code></a>)</li>` <li>Bump actions/checkout from 2 to 3 <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/797">#797</a> (<a href="https://github.com/dependabot"><code>`@dependabot</code></a>)</li>` <li>Bump pre-commit/action from 2.0.0 to 3.0.0 <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/796">#796</a> (<a href="https://github.com/dependabot"><code>`@dependabot</code></a>)</li>` <li>Bump actions/upload-artifact from 2 to 3 <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/795">#795</a> (<a href="https://github.com/dependabot"><code>`@dependabot</code></a>)</li>` <li>Add dependabot <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/794">#794</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>Add more typings <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/791">#791</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` <li>Format changelog <a href="https://github-redirect.dependabot.com/ipython/traitlets/pull/789">#789</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` </ul> <h3>Contributors to this release</h3> <p>(<a href="https://github.com/ipython/traitlets/graphs/contributors?from=2022-10-18&to=2022-11-29&type=c">GitHub contributors page for this release</a>)</p> <p><a href="https://github.com/search?q=repo%3Aipython%2Ftraitlets+involves%3Ablink1073+updated%3A2022-10-18..2022-11-29&type=Issues"><code>`@blink1073</code></a>` | <a href="https://github.com/search?q=repo%3Aipython%2Ftraitlets+involves%3Adependabot+updated%3A2022-10-18..2022-11-29&type=Issues"><code>`@dependabot</code></a>` | <a href="https://github.com/search?q=repo%3Aipython%2Ftraitlets+involves%3Amaartenbreddels+updated%3A2022-10-18..2022-11-29&type=Issues"><code>`@maartenbreddels</code></a>` | <a href="https://github.com/search?q=repo%3Aipython%2Ftraitlets+involves%3Apre-commit-ci+updated%3A2022-10-18..2022-11-29&type=Issues"><code>`@pre-commit-ci</code></a>` | <a href="https://github.com/search?q=repo%3Aipython%2Ftraitlets+involves%3Armorshea+updated%3A2022-10-18..2022-11-29&type=Issues"><code>`@rmorshea</code></a></p>` <!-- raw HTML omitted --> <h2>5.5.0</h2> <ul> <li>Clean up application typing</li> <li>Update tests and docs to use non-deprecated functions</li> <li>Clean up version handling</li> <li>Prep for jupyter releaser</li> <li>Format the changelog</li> </ul> <h2>5.4.0</h2> <ul> <li>Fix version_info</li> <li>Make generated config files more lintable</li> <li>Fix union trait from string</li> <li>Add security.md, and tidelift bage</li> </ul> <h2>5.3.0</h2> <ul> <li>Fix traitlet name in docstring</li> <li>Re-support multiple-alias key for ArgParseConfigLoader</li> </ul> <h2>5.2.2</h2> <ul> <li>Make <code>traitlets.__all__</code> explicit and validate in test.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ipython/traitlets/commit/0c3655cb80338833e515f25c3eb2c26ca37159bd"><code>0c3655c</code></a> Publish 5.6.0</li> <li><a href="https://github.com/ipython/traitlets/commit/2c5188a3562f03c0703315b21df41ca7ace23dd3"><code>2c5188a</code></a> Adopt jupyter releaser (<a href="https://github-redirect.dependabot.com/ipython/traitlets/issues/806">#806</a>)</li> <li><a href="https://github.com/ipython/traitlets/commit/21bdae98e578b06756dca53680434d3d23d0c3b7"><code>21bdae9</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github-redirect.dependabot.com/ipython/traitlets/issues/807">#807</a>)</li> <li><a href="https://github.com/ipython/traitlets/commit/d04d020d6406fb2c22faf55aa84977468d3eab7f"><code>d04d020</code></a> Use base setup dependency type (<a href="https://github-redirect.dependabot.com/ipython/traitlets/issues/805">#805</a>)</li> <li><a href="https://github.com/ipython/traitlets/commit/d2bc5799994f4d63b083be4af84ef9ec997fd160"><code>d2bc579</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github-redirect.dependabot.com/ipython/traitlets/issues/804">#804</a>)</li> <li><a href="https://github.com/ipython/traitlets/commit/d344d48f84e7f4db69479a602b06fc44ea4d3762"><code>d344d48</code></a> More CI Cleanup (<a href="https://github-redirect.dependabot.com/ipython/traitlets/issues/803">#803</a>)</li> <li><a href="https://github.com/ipython/traitlets/commit/65a4725a11c776054210583cf9da490e96bd2d23"><code>65a4725</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/ipython/traitlets/issues/802">#802</a> from blink1073/ci-cleanup</li> <li><a href="https://github.com/ipython/traitlets/commit/53d35038dc2a2d1bdf37f20d8d53396d22ddbfc9"><code>53d3503</code></a> add codecov file</li> <li><a href="https://github.com/ipython/traitlets/commit/98ee32848f34f100a5bb8087de3d491289610a94"><code>98ee328</code></a> more maintenance cleanup</li> <li><a href="https://github.com/ipython/traitlets/commit/1077cfb03ae20eb0a5df731d947db1736cadb46a"><code>1077cfb</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/ipython/traitlets/issues/801">#801</a> from blink1073/add-project-description</li> <li>Additional commits viewable in <a href="https://github.com/ipython/traitlets/compare/5.5.0...v5.6.0">compare view</a></li> </ul> </details> <br /> You can trigger a rebase of this PR by commenting ``@dependabot` rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - ``@dependabot` rebase` will rebase this PR - ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it - ``@dependabot` merge` will merge this PR after your CI passes on it - ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it - ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging - ``@dependabot` reopen` will reopen this PR if it is closed - ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> 4827: Update asttokens requirement from ~=2.1.0 to ~=2.2.0 r=jenshnielsen a=dependabot[bot] Updates the requirements on [asttokens](https://github.com/gristlabs/asttokens) to permit the latest version. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/gristlabs/asttokens/commit/ee35c90189554824e1e031012a4b020b7dd9fe81"><code>ee35c90</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/gristlabs/asttokens/issues/101">#101</a> from gristlabs/astroid</li> <li><a href="https://github.com/gristlabs/asttokens/commit/17fb607f8de7f9e487b3ad23c0ff9d8c1c5266fe"><code>17fb607</code></a> fix is_empty_astroid_slice</li> <li><a href="https://github.com/gristlabs/asttokens/commit/586ca787cc71a7483d78f9efb4ce50e2c97cb53b"><code>586ca78</code></a> coverage</li> <li><a href="https://github.com/gristlabs/asttokens/commit/8a01fbca4518582eb16c81cdf64424bba9a750a9"><code>8a01fbc</code></a> mypy</li> <li><a href="https://github.com/gristlabs/asttokens/commit/32b476b0f9f86c876b94dc53ffc319756705bcb8"><code>32b476b</code></a> comment on astroid_node_classes</li> <li><a href="https://github.com/gristlabs/asttokens/commit/5c7e360f93b55553b6898f14936d9873461eb3a9"><code>5c7e360</code></a> Specifically ignore empty slices</li> <li><a href="https://github.com/gristlabs/asttokens/commit/c30bd05009f74cbe6646571c2849cead29189290"><code>c30bd05</code></a> Fix tests for newest astroid</li> <li>See full diff in <a href="https://github.com/gristlabs/asttokens/compare/2.1.0...2.2.0">compare view</a></li> </ul> </details> <br /> You can trigger a rebase of this PR by commenting ``@dependabot` rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - ``@dependabot` rebase` will rebase this PR - ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it - ``@dependabot` merge` will merge this PR after your CI passes on it - ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it - ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging - ``@dependabot` reopen` will reopen this PR if it is closed - ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> 4831: Bump pytest-asyncio from 0.20.1 to 0.20.2 r=jenshnielsen a=dependabot[bot] Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.20.1 to 0.20.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p> <blockquote> <h2>pytest-asyncio 0.20.2</h2> <hr /> <h2>title: 'pytest-asyncio: pytest support for asyncio'</h2> <p><a href="https://pypi.python.org/pypi/pytest-asyncio"><img src="https://img.shields.io/pypi/v/pytest-asyncio.svg" alt="image" /></a></p> <p><a href="https://github.com/pytest-dev/pytest-asyncio/actions?workflow=CI"><img src="https://github.com/pytest-dev/pytest-asyncio/workflows/CI/badge.svg" alt="image" /></a></p> <p><a href="https://codecov.io/gh/pytest-dev/pytest-asyncio"><img src="https://codecov.io/gh/pytest-dev/pytest-asyncio/branch/master/graph/badge.svg" alt="image" /></a></p> <p><a href="https://github.com/pytest-dev/pytest-asyncio"><img src="https://img.shields.io/pypi/pyversions/pytest-asyncio.svg" alt="Supported Python versions" /></a></p> <p><a href="https://github.com/ambv/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="image" /></a></p> <p>pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest.</p> <p>asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio provides useful fixtures and markers to make testing easier.</p> <pre lang="{.sourceCode" data-meta=".python}"><code>`@pytest.mark.asyncio` async def test_some_asyncio_code(): res = await library.do_something() assert b"expected result" == res </code></pre> <p>pytest-asyncio has been strongly influenced by <a href="https://github.com/eugeniy/pytest-tornado">pytest-tornado</a>.</p> <h1>Features</h1> <ul> <li>fixtures for creating and injecting versions of the asyncio event loop</li> <li>fixtures for injecting unused tcp/udp ports</li> <li>pytest markers for treating tests as asyncio coroutines</li> <li>easy testing with non-default event loops</li> <li>support for [async def]{.title-ref} fixtures and async generator fixtures</li> <li>support <em>auto</em> mode to handle all async fixtures and tests automatically by asyncio; provide <em>strict</em> mode if a test suite should work with different async frameworks simultaneously, e.g. <code>asyncio</code> and <code>trio</code>.</li> </ul> <h1>Installation</h1> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/blob/master/CHANGELOG.rst">pytest-asyncio's changelog</a>.</em></p> <blockquote> <h1>0.20.2 (22-11-11)</h1> <ul> <li>Fixes an issue with async fixtures that are defined as methods on a test class not being rebound to the actual test instance. <code>[#197](pytest-dev/pytest-asyncio#197) <https://github.com/pytest-dev/pytest-asyncio/issues/197></code>_</li> <li>Replaced usage of deprecated <code>`@pytest.mark.tryfirst</code>` with <code>`@pytest.hookimpl(tryfirst=True)</code>` <code>[#438](pytest-dev/pytest-asyncio#438) <https://github.com/pytest-dev/pytest-asyncio/pull/438></code>_</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/07a1416c2fe15d85fc149b3caa35b057de0b3d6e"><code>07a1416</code></a> Prepare release of v0.20.2.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/dc3ad211d160006b4a30996c0a2a2c29754ef1fc"><code>dc3ad21</code></a> Build(deps): Bump pytest-trio in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/441">#441</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/d9faba85890334f0548732d35f1b1d54a850a69f"><code>d9faba8</code></a> Build(deps): Bump mypy from 0.982 to 0.990 in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/440">#440</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/fe63e346154b61bbfe767e585b0b3b55fb37463e"><code>fe63e34</code></a> Handle bound fixture methods correctly (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/439">#439</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/38fc0320c39e24a473240303fbc780213354e64d"><code>38fc032</code></a> Bump to pytest 7.2.0 (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/438">#438</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/28ba705a81d041bd3b5487eb53ded447676dad37"><code>28ba705</code></a> Build(deps): Bump hypothesis in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/437">#437</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/91e723a373952640e08d69adaff1957a8cbe8c8e"><code>91e723a</code></a> Build(deps): Bump zipp from 3.9.0 to 3.10.0 in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/434">#434</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/0ca201b09a8ce2ff3ddc912ad434d9db34ef5078"><code>0ca201b</code></a> Fix setuptools deprecation warning for license_file (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/432">#432</a>)</li> <li>See full diff in <a href="https://github.com/pytest-dev/pytest-asyncio/compare/v0.20.1...v0.20.2">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting ``@dependabot` rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - ``@dependabot` rebase` will rebase this PR - ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it - ``@dependabot` merge` will merge this PR after your CI passes on it - ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it - ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging - ``@dependabot` reopen` will reopen this PR if it is closed - ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> 4833: Bump pytest-rerunfailures from 10.2 to 10.3 r=jenshnielsen a=dependabot[bot] Bumps [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures) from 10.2 to 10.3. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst">pytest-rerunfailures's changelog</a>.</em></p> <blockquote> <h2>10.3 (unreleased)</h2> <p>Bug fixes +++++++++</p> <ul> <li> <p>Fix crash when pytest-xdist is installed but disabled. (Thanks to <code>`@mgorny` <https://github.com/mgorny></code>_ for the PR.)</p> </li> <li> <p>Fix crash when xfail(strict=True) mark is used with --rerun-only flag.</p> </li> </ul> <p>Features ++++++++</p> <ul> <li>Added option <code>--rerun-except</code> to rerun failed tests those are other than the mentioned Error.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/88496e913c4f7a85debff6a644b989fb5274715a"><code>88496e9</code></a> Preparing release 10.3</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/e80c12eb9456b7646c3c6610b2c08420e9247cd4"><code>e80c12e</code></a> replace pkg_resources with package+importlib.metadata</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/2731a8725967fb30db18c3c9301a80cf7954df5f"><code>2731a87</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/43538ddb4e0663c7007e995eba20f717a9e862e6"><code>43538dd</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/2b862b39ccd4e8fcce908d7f328285ee44632a1b"><code>2b862b3</code></a> Fix crash with strict xfail and --only-rerun flag</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/121ce30b17d89e2cde36804e8965ebc3199e19f2"><code>121ce30</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/fc6c352095829b5134e0d321ee335ba829f7720f"><code>fc6c352</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/e558b1b250a25ea0646404237cee13e27bab37fb"><code>e558b1b</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/719b78f80d43f698481769814e55f869123922c1"><code>719b78f</code></a> [pre-commit.ci] auto fixes from pre-commit.com hooks</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/bd040fc521e681df523be251cf0f408713ad8579"><code>bd040fc</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-rerunfailures/compare/10.2...10.3">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting ``@dependabot` rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - ``@dependabot` rebase` will rebase this PR - ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it - ``@dependabot` merge` will merge this PR after your CI passes on it - ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it - ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging - ``@dependabot` reopen` will reopen this PR if it is closed - ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> 4834: Bump nbclient from 0.7.0 to 0.7.1 r=jenshnielsen a=dependabot[bot] Bumps [nbclient](https://github.com/jupyter/nbclient) from 0.7.0 to 0.7.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/jupyter/nbclient/releases">nbclient's releases</a>.</em></p> <blockquote> <h2>v0.7.1</h2> <h2>0.7.1</h2> <p>(<a href="https://github.com/jupyter/nbclient/compare/v0.7.0...168340e8313e63fd9e037280f98ed22d47e2231b">Full Changelog</a>)</p> <h3>Maintenance and upkeep improvements</h3> <ul> <li>CI Refactor <a href="https://github-redirect.dependabot.com/jupyter/nbclient/pull/257">#257</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` </ul> <h3>Other merged PRs</h3> <ul> <li>Remove nest-asyncio <a href="https://github-redirect.dependabot.com/jupyter/nbclient/pull/259">#259</a> (<a href="https://github.com/davidbrochart"><code>`@davidbrochart</code></a>)</li>` <li>Add upper bound to dependencies <a href="https://github-redirect.dependabot.com/jupyter/nbclient/pull/258">#258</a> (<a href="https://github.com/davidbrochart"><code>`@davidbrochart</code></a>)</li>` </ul> <h3>Contributors to this release</h3> <p>(<a href="https://github.com/jupyter/nbclient/graphs/contributors?from=2022-10-06&to=2022-11-29&type=c">GitHub contributors page for this release</a>)</p> <p><a href="https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Ablink1073+updated%3A2022-10-06..2022-11-29&type=Issues"><code>`@blink1073</code></a>` | <a href="https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adavidbrochart+updated%3A2022-10-06..2022-11-29&type=Issues"><code>`@davidbrochart</code></a>` | <a href="https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Apre-commit-ci+updated%3A2022-10-06..2022-11-29&type=Issues"><code>`@pre-commit-ci</code></a></p>` </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/jupyter/nbclient/blob/main/CHANGELOG.md">nbclient's changelog</a>.</em></p> <blockquote> <h2>0.7.1</h2> <p>(<a href="https://github.com/jupyter/nbclient/compare/v0.7.0...168340e8313e63fd9e037280f98ed22d47e2231b">Full Changelog</a>)</p> <h3>Maintenance and upkeep improvements</h3> <ul> <li>CI Refactor <a href="https://github-redirect.dependabot.com/jupyter/nbclient/pull/257">#257</a> (<a href="https://github.com/blink1073"><code>`@blink1073</code></a>)</li>` </ul> <h3>Other merged PRs</h3> <ul> <li>Remove nest-asyncio <a href="https://github-redirect.dependabot.com/jupyter/nbclient/pull/259">#259</a> (<a href="https://github.com/davidbrochart"><code>`@davidbrochart</code></a>)</li>` <li>Add upper bound to dependencies <a href="https://github-redirect.dependabot.com/jupyter/nbclient/pull/258">#258</a> (<a href="https://github.com/davidbrochart"><code>`@davidbrochart</code></a>)</li>` </ul> <h3>Contributors to this release</h3> <p>(<a href="https://github.com/jupyter/nbclient/graphs/contributors?from=2022-10-06&to=2022-11-29&type=c">GitHub contributors page for this release</a>)</p> <p><a href="https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Ablink1073+updated%3A2022-10-06..2022-11-29&type=Issues"><code>`@blink1073</code></a>` | <a href="https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adavidbrochart+updated%3A2022-10-06..2022-11-29&type=Issues"><code>`@davidbrochart</code></a>` | <a href="https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Apre-commit-ci+updated%3A2022-10-06..2022-11-29&type=Issues"><code>`@pre-commit-ci</code></a></p>` <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/jupyter/nbclient/commit/beeb44a5c9334f53d96a54137aec50b3b053c7b9"><code>beeb44a</code></a> Publish 0.7.1</li> <li><a href="https://github.com/jupyter/nbclient/commit/168340e8313e63fd9e037280f98ed22d47e2231b"><code>168340e</code></a> Remove nest-asyncio (<a href="https://github-redirect.dependabot.com/jupyter/nbclient/issues/259">#259</a>)</li> <li><a href="https://github.com/jupyter/nbclient/commit/afc608c0d90c38107245095407163d1ecfa85c3b"><code>afc608c</code></a> CI Refactor (<a href="https://github-redirect.dependabot.com/jupyter/nbclient/issues/257">#257</a>)</li> <li><a href="https://github.com/jupyter/nbclient/commit/765d2293b2bbdd82ef643cf3015ad8fa2d96c926"><code>765d229</code></a> Add upper bound to dependencies (<a href="https://github-redirect.dependabot.com/jupyter/nbclient/issues/258">#258</a>)</li> <li><a href="https://github.com/jupyter/nbclient/commit/989cd568e0a1c300560034817ff7088c8aaa8cae"><code>989cd56</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github-redirect.dependabot.com/jupyter/nbclient/issues/256">#256</a>)</li> <li>See full diff in <a href="https://github.com/jupyter/nbclient/compare/v0.7.0...v0.7.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting ``@dependabot` rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - ``@dependabot` rebase` will rebase this PR - ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it - ``@dependabot` merge` will merge this PR after your CI passes on it - ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it - ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging - ``@dependabot` reopen` will reopen this PR if it is closed - ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
[//]: # (dependabot-start)⚠️ **Dependabot is rebasing this PR**⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) from 0.20.1 to 0.20.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p> <blockquote> <h2>pytest-asyncio 0.20.3</h2> <hr /> <h2>title: 'pytest-asyncio'</h2> <p><a href="https://pypi.python.org/pypi/pytest-asyncio"><img src="https://img.shields.io/pypi/v/pytest-asyncio.svg" alt="image" /></a></p> <p><a href="https://github.com/pytest-dev/pytest-asyncio/actions?workflow=CI"><img src="https://github.com/pytest-dev/pytest-asyncio/workflows/CI/badge.svg" alt="image" /></a></p> <p><a href="https://codecov.io/gh/pytest-dev/pytest-asyncio"><img src="https://codecov.io/gh/pytest-dev/pytest-asyncio/branch/master/graph/badge.svg" alt="image" /></a></p> <p><a href="https://github.com/pytest-dev/pytest-asyncio"><img src="https://img.shields.io/pypi/pyversions/pytest-asyncio.svg" alt="Supported Python versions" /></a></p> <p><a href="https://github.com/ambv/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="image" /></a></p> <p>pytest-asyncio is a <a href="https://docs.pytest.org/en/latest/contents.html">pytest</a> plugin. It facilitates testing of code that uses the <a href="https://docs.python.org/3/library/asyncio.html">asyncio</a> library.</p> <p>Specifically, pytest-asyncio provides support for coroutines as test functions. This allows users to <em>await</em> code inside their tests. For example, the following code is executed as a test item by pytest:</p> <pre lang="{.python}"><code>@pytest.mark.asyncio async def test_some_asyncio_code(): res = await library.do_something() assert b"expected result" == res </code></pre> <p>Note that test classes subclassing the standard <a href="https://docs.python.org/3/library/unittest.html">unittest</a> library are not supported. Users are advised to use <a href="https://docs.python.org/3/library/unittest.html#unittest.IsolatedAsyncioTestCase">unittest.IsolatedAsyncioTestCase</a> or an async framework such as <a href="https://asynctest.readthedocs.io/en/latest">asynctest</a>.</p> <p>pytest-asyncio is available under the <a href="https://github.com/pytest-dev/pytest-asyncio/blob/master/LICENSE">Apache License 2.0</a>.</p> <h1>Installation</h1> <p>To install pytest-asyncio, simply:</p> <pre lang="{.bash}"><code>$ pip install pytest-asyncio </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/blob/master/CHANGELOG.rst">pytest-asyncio's changelog</a>.</em></p> <blockquote> <h1>0.20.3 (22-12-08)</h1> <ul> <li>Prevent DeprecationWarning to bubble up on CPython 3.10.9 and 3.11.1. <code>[#460](pytest-dev/pytest-asyncio#460) <https://github.com/pytest-dev/pytest-asyncio/issues/460></code>_</li> </ul> <h1>0.20.2 (22-11-11)</h1> <ul> <li>Fixes an issue with async fixtures that are defined as methods on a test class not being rebound to the actual test instance. <code>[#197](pytest-dev/pytest-asyncio#197) <https://github.com/pytest-dev/pytest-asyncio/issues/197></code>_</li> <li>Replaced usage of deprecated <code>@pytest.mark.tryfirst</code> with <code>@pytest.hookimpl(tryfirst=True)</code> <code>[#438](pytest-dev/pytest-asyncio#438) <https://github.com/pytest-dev/pytest-asyncio/pull/438></code>_</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/007e8ec12662ffd896c6151239dc7ed1402dc710"><code>007e8ec</code></a> [fix] Prevent DeprecationWarning about existing event loops to bubble up into...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/44ca3da2ad68ea672d07a76ccc065922e13b5d5b"><code>44ca3da</code></a> Build(deps): Bump zipp from 3.10.0 to 3.11.0 in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/455">#455</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/c3c601cfd9a59e52b555cfd8313d16dbc15fb704"><code>c3c601c</code></a> Build(deps): Bump pypa/gh-action-pypi-publish from 1.5.1 to 1.5.2 (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/456">#456</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/a962e2bc89e1181de77e486b1d7cbd7815662350"><code>a962e2b</code></a> Build(deps): Bump importlib-metadata in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/454">#454</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/56a393abec9b60d4e061b053dfdf8ce6985c8b6b"><code>56a393a</code></a> Simplify README, move most content to a separate user documentation. (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/448">#448</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/3c78732497e02cfb4463fafd7c5b17bf1c88ce95"><code>3c78732</code></a> Build(deps): Bump hypothesis in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/453">#453</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/d6a9a72ef1749a864e64ac6222a8d0da99e67de5"><code>d6a9a72</code></a> Build(deps): Bump exceptiongroup in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/451">#451</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/42da7a0fea2b2bf0846dbbed5d1abcf56c7fa38b"><code>42da7a0</code></a> Build(deps): Bump hypothesis in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/450">#450</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/0b281b1b76b93c29894519e0750a4f8634786741"><code>0b281b1</code></a> Build(deps): Bump mypy from 0.990 to 0.991 in /dependencies/default (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/446">#446</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/d39589c0353657ee6d75d38db779cc4ecb2491c4"><code>d39589c</code></a> Update pre-commit hooks (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-asyncio/issues/449">#449</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-asyncio/compare/v0.20.1...v0.20.3">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Hi,
I just ran into this - if you make a fixture method
async
, it is run with a differentself
, so you can't set attributes onself
and read them in test methods. Here is a simple snippet to reproduce the problem:At first, I thought this only concerns
autouse
fixtures, but now I tried using it withoutautouse
and it has the same problem. Is this a known issue, or is it supposed to work?I'm using
Btw, thanks for this great library, I'm using it heavily and it's been of great help.
The text was updated successfully, but these errors were encountered: