Coder Social home page Coder Social logo

Comments (11)

Klavionik avatar Klavionik commented on September 26, 2024

The same error here, pytest 7.4.4 and pytest-asyncio 0.23.4. It was harassing me for hours yesterday and then suddenly gone (just as suddenly, as it started).

from pytest-asyncio.

halvomez avatar halvomez commented on September 26, 2024

pytest-asyncio 0.23.6 and pytest 8.2.0 same

gone with pytest==8.1.1

from pytest-asyncio.

seifertm avatar seifertm commented on September 26, 2024

Thanks for reporting this. The pytest-asyncio tests don't seem to be affected, so it's hard to find the cause of the error.

@muazhari @Klavionik @halvomez: Can any one provide a minimal code example that reproduces the issue?

from pytest-asyncio.

muazhari avatar muazhari commented on September 26, 2024

Fixed in pytest==8.2.1. However, I can't reproduce the error with minimal codes with pytest==8.2.0 and the same environment. I don't know why.

============================= test session starts ==============================
platform linux -- Python 3.10.12, pytest-8.2.1, pluggy-1.5.0
rootdir: /app
plugins: cov-5.0.0, asyncio-0.23.6, xdist-3.6.1, anyio-4.3.0
asyncio: mode=strict
1 worker [6 items] 
......       

from pytest-asyncio.

seifertm avatar seifertm commented on September 26, 2024

Since this issue seems to be fixed with more recent versions of pytest and I cannot reproduce it, I'll close the ticket until further evidence arrives.

from pytest-asyncio.

mike-oakley avatar mike-oakley commented on September 26, 2024

Also encountered this on the latest pytest (8.3.2). Causes the first test in the session to fail, but then all the subsequent ones succeed. Reverting to 0.21.2 resolves this 🤔

platform linux -- Python 3.9.6, pytest-8.3.2, pluggy-1.5.0

plugins: asyncio-0.23.8

asyncio: mode=auto

from pytest-asyncio.

seifertm avatar seifertm commented on September 26, 2024

@mike-oakley Any chance you can cook up a reproducer so we can get to the bottom of this?

from pytest-asyncio.

c137santos avatar c137santos commented on September 26, 2024

The same problem:

`$ poetry show pytest
 name         : pytest                                      
 version      : 8.3.2                                       
 description  : pytest: simple powerful testing with Python `

and

`$ poetry show pytest-asyncio
 name         : pytest-asyncio             
 version      : 0.23.8                     
 description  : Pytest support for asyncio `

from pytest-asyncio.

seifertm avatar seifertm commented on September 26, 2024

There's really not much I can do to help, unless someone can provide a minimal reproducer.

from pytest-asyncio.

devTarik avatar devTarik commented on September 26, 2024

There's really not much I can do to help, unless someone can provide a minimal reproducer.

Here is example fixture "event_loop" which we have a problem with

@pytest.fixture(scope='session')
def event_loop():
    try:
        loop = asyncio.get_running_loop()
    except RuntimeError:
        loop = asyncio.new_event_loop()
        asyncio.set_event_loop(loop)
    yield loop
    loop.close()

Try to run any tests, you might get error always in first test, because problem in moment initialization.

pytest==8.1.1 work good, 8.2.1 sometimes work, 8.2.2 doesn't work

You can try this and reproduce:
conftest.py

import asyncio
from httpx import AsyncClient

@pytest.fixture(scope='session')
def event_loop():
    try:
        loop = asyncio.get_running_loop()
    except RuntimeError:
        loop = asyncio.new_event_loop()
        asyncio.set_event_loop(loop)
    yield loop
    loop.close()

@pytest.fixture(scope='session')
async def http_client():
    async with AsyncClient(app=app, base_url='https://test.io/') as client:
        yield client

test_ping.py

from httpx import AsyncClient

async def test__ping(http_client: AsyncClient):
    response = await http_client.get('/ping')
    assert response.status_code == 200
    assert response.json() == {'msg': 'pong'}

Even this tiny test return this error

from pytest-asyncio.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.