pytest-django icon indicating copy to clipboard operation
pytest-django copied to clipboard

Pytest django crashing with pyest 8.0.0

Open jacobowitz opened this issue 1 year ago • 3 comments
trafficstars

We seem to have an issue in our test setup with pytest-django and the new 8.0.0 release of pytest. Just pinning pytest to the last 7.x version is a working workaround for us.

Our database setup fixture is crashing since the new pytest version was released. I am not sure which component is ultimately responsible for this bug, but I figured I could try pinging you first as it might be very well in pytest-django.

error_message This is the error we are getting. It looks like it is trying to setup the db to often and thus generates too long database names as a side effect.

begin_stack Begin of the stack trace

loop pytest_django/fixtures.py:305: in handle shows up 293 times in total. Looks like some kind of recursive loop

pytest 8.0.0 Django 4.2.9 pytest-django 4.7.0 Python 3.10.13 Debian Postgres

jacobowitz avatar Jan 29 '24 11:01 jacobowitz

Can you show your pytest configuration and how you invoke pytest?

bluetech avatar Jan 29 '24 12:01 bluetech

Also, does it still happen if you disable parallelism (i.e. run without using -n auto or such)?

bluetech avatar Jan 29 '24 12:01 bluetech

We also see this sometimes after upgrading to pytest 8.0.0.

Debugged a bit and noticed after running tests for some time at a certain time in pytest-django in method django_db_modify_db_settings_xdist_suffix the value of the test database name seems wrong.

I see these values:

suffix = 'gw2'
test_name = 'test_gw2'

This means after the method returns the database name will be test_gw2_gw2.

I will try to reproduce with pytest 8.0.2 also.

wrvdklooster avatar Mar 06 '24 15:03 wrvdklooster