blob: 3fa96595b6dbe90f6a48c78743f2dc6168a73271 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#
# This file is for everybody to add tests for crashes that aren't
# fixed yet. Please add a test case and appropriate description.
#
# When you fix one of the crashes, please move the test to the correct
# test_ module.
#
import unittest
from test import test_support
# Bug 1377858
#
# mwh's description:
# The problem is obvious if you read typeobject.c around line 660: the weakref
# list is cleared before __del__ is called, so any weakrefs added during the
# execution of __del__ are never informed of the object's death.
import weakref
ref = None
class TestBug1377858(unittest.TestCase):
class Target(object):
def __del__(self):
global ref
ref = weakref.ref(self)
def testBug1377858(self):
w = self.__class__.Target()
w = None
print ref()
def test_main():
test_support.run_unittest(TestBug1377858)
if __name__ == "__main__":
test_main()
|