#30171: Fix Python warning during LiveServerPort
-------------------------------------+-------------------------------------
Reporter: Jon | Owner: nobody
Dufresne |
Type: | Status: new
Cleanup/optimization |
Component: Database | Version: master
layer (models, ORM) |
Severity: Normal | Keywords:
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
When running tests with Python warnings enabled, `LiveServerPort` produces
a warning of the form:
{{{
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib64/python3.7/threading.py", line 917, in _bootstrap_inner
self.run()
File "django/test/testcases.py", line 1399, in run
connections.close_all()
File "django/db/utils.py", line 224, in close_all
connection.close()
File "django/db/backends/sqlite3/base.py", line 244, in close
self.validate_thread_sharing()
File "django/db/backends/base/base.py", line 531, in
validate_thread_sharing
% (self.alias, self._thread_ident, _thread.get_ident())
django.db.utils.DatabaseError: DatabaseWrapper objects created in a thread
can only be used in that same thread. The object with alias 'default' was
created in thread id 139685002331648 and this is thread id
139684747486976.
}}}
This occurs because multiple classes set
`DatabaseWrapper.allow_thread_sharing` to false upon test tear down. The
base test class and the temporarily created test class. In other words,
nesting the setup/teardown of `DatabaseWrapper.allow_thread_sharing` isn't
always handled cleanly.
--
Ticket URL: <https://code.djangoproject.com/ticket/30171>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/052.c14122fbe1c6c1e9d19cf0e2ab0ba6da%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.