mirror of https://github.com/python/cpython
further testing indicates that the simplified version of the test
(re-using an existing test object class) no longer triggered the original segfault when the fix was backed out; restoring the local test object class to make the test effective the assignment of the ref created at the end does not affect the test, since the segfault happended before weakref.ref() returned; removing the assignment
This commit is contained in:
parent
7a6d297bda
commit
55cf434735
|
@ -602,21 +602,23 @@ class ReferencesTestCase(TestBase):
|
|||
thresholds = gc.get_threshold()
|
||||
gc.set_threshold(1, 1, 1)
|
||||
gc.collect()
|
||||
class A:
|
||||
pass
|
||||
|
||||
def callback(*args):
|
||||
pass
|
||||
|
||||
referenced = C()
|
||||
referenced = A()
|
||||
|
||||
a = C()
|
||||
a = A()
|
||||
a.a = a
|
||||
a.wr = makeref(referenced)
|
||||
|
||||
try:
|
||||
# now make sure the object and the ref get labeled as
|
||||
# cyclic trash:
|
||||
a = C()
|
||||
a.wrc = weakref.ref(referenced, callback)
|
||||
a = A()
|
||||
weakref.ref(referenced, callback)
|
||||
|
||||
finally:
|
||||
gc.set_threshold(*thresholds)
|
||||
|
|
Loading…
Reference in New Issue