Blame tests/run/weakfail.pyx
|
Packit |
562c7a |
import gc
|
|
Packit |
562c7a |
import weakref
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
foo_dict = weakref.WeakValueDictionary()
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
cdef class Foo:
|
|
Packit |
562c7a |
cdef object __weakref__
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def test_weakref(key):
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
Test af9cfeb5f94d9cd4f2989fc8e111c33208494ba4 fix.
|
|
Packit |
562c7a |
Originally running it using debug build of python lead to::
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
visit_decref: Assertion `gc->gc.gc_refs != 0' failed
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
>>> _ = gc.collect()
|
|
Packit |
562c7a |
>>> _ = test_weakref(48)
|
|
Packit |
562c7a |
>>> _ = gc.collect()
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
obj = Foo()
|
|
Packit |
562c7a |
foo_dict[key] = obj
|
|
Packit |
562c7a |
return obj
|
|
Packit |
562c7a |
|