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