[issue17534] unittest keeps references to test cases alive

Ezio Melotti report at bugs.python.org
Sat Mar 23 23:06:48 CET 2013


New submission from Ezio Melotti:

After the subtests commit (5c09e1c57200/#16997), test_queue started showing the following warning:
Warning -- threading._dangling was modified by test_queue
1 test altered the execution environment:
    test_queue

The warning was caused by the fact that the TestCase subclasses in test_queue kept references to the thread, but before 5c09e1c57200 these subclasses (and hence the references to the thread) were destroyed before the regrtest check for threading._dangling, whereas now they are kept alive (due to Lib/unittest/case.py:72, that adds a reference to the TestCase even in case of success).  I now fixed the warning in test_queue (1747e50fca55), however unittest should probably avoid keeping alive TestCases when they are not needed anymore.

See also #9815.

(Thanks to Antoine for the help while I was debugging the issue.)

----------
components: Library (Lib)
messages: 185100
nosy: ezio.melotti, michael.foord, pitrou
priority: normal
severity: normal
stage: needs patch
status: open
title: unittest keeps references to test cases alive
type: behavior
versions: Python 2.7, Python 3.2, Python 3.3, Python 3.4

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue17534>
_______________________________________


More information about the Python-bugs-list mailing list