U aL @s>ddlZddlZddlZddlZddlZGdddejZdS)Nc@s2eZdZddZejr.ddZddZddZd S) GCTestscCsBtttj}t||dk|tj tj dSN) weakrefrefgreenlet getcurrentswitchgccollect assertTrue assertFalsegarbage)selforWC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-96vz34c0\greenlet\tests\test_gc.pytest_dead_circular_ref szGCTests.test_dead_circular_refcCsTGdddtj}|}||_t|}t||dk|tjtjdS)Nc@s eZdZdS)z9GCTests.test_circular_greenlet..circular_greenletN)__name__ __module__ __qualname__rrrrcircular_greenletsr) rrrrr r r r r )rrrrrrtest_circular_greenlets zGCTests.test_circular_greenletcCsNGdddtj}|}t|}t||dk|tjtjdS)Nc@seZdZddZddZdS)z4GCTests.test_inactive_ref..inactive_greenletcSstjj||jddS)N)run)r__init__rrrrrrsz=GCTests.test_inactive_ref..inactive_greenlet.__init__cSsdSrrrrrrr"sz8GCTests.test_inactive_ref..inactive_greenlet.runN)rrrrrrrrrinactive_greenletsr)rrrr r r r r )rrrrrrtest_inactive_refs  zGCTests.test_inactive_refcsdGdddtg}tfdd}t|}||_|||~~ttdS)Nc@seZdZddZdS)z;GCTests.test_finalizer_crash..object_with_finalizercSsdSrrrrrr__del__<szCGCTests.test_finalizer_crash..object_with_finalizer.__del__N)rrrrrrrrobject_with_finalizer;srcs(t_z W5t`XdSr)rrobjectrrrparentrr greenlet_body@s  z3GCTests.test_finalizer_crash..greenlet_body)rrrarrayappendrr r )rr#r"grr rtest_finalizer_crash*s  zGCTests.test_finalizer_crashN) rrrrrZGREENLET_USE_GCrrr&rrrrr s   r)r sysZunittestrrZTestCaserrrrrs