L ik fddlZddlZddlZddlmZddlmZejsJGddeZy)N)TestCase)fails_leakcheckc.eZdZdZdZdZedZy)GCTestsctjtjtjj }t j |$ddl}td|j||j||jt jt jy)NrzO IS NOT NONE.) weakrefrefgreenlet getcurrentswitchgccollectsysprint getrefcount assertIsNone assertFalsegarbage)selfors \/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/greenlet/tests/test_gc.pytest_dead_circular_refzGCTests.test_dead_circular_refs{ KK))(*=*=>EEG H 3?  "COOAC$8 9 !# RZZ0c,Gddtj}|}||_tj|}t j |j ||jtjtjy)NceZdZdZy)9GCTests.test_circular_greenlet..circular_greenletN)__name__ __module__ __qualname__rrrcircular_greenletrsDrr") r rr r rrrrr)rr"rs rtest_circular_greenletzGCTests.test_circular_greenletsa  1 1    KKN  !# RZZ0rcGddtj}|}tj|}tj|j ||j tjtjy)NceZdZdZdZy)4GCTests.test_inactive_ref..inactive_greenletcZtjj||jy)N)run)r __init__r(rs rr)z=GCTests.test_inactive_ref..inactive_greenlet.__init__$s!!**4TXX*>rcyNr!r*s rr(z8GCTests.test_inactive_ref..inactive_greenlet.run'rN)rrr r)r(r!rrinactive_greenletr&#s  ? rr.)r r r rrrrr)rr.rs rtest_inactive_refzGCTests.test_inactive_ref"s\  1 1    KKN  !# RZZ0rc,Gddtg}tjfd}tj|}||_|j ||j ~~tjt jy)NceZdZdZy);GCTests.test_finalizer_crash..object_with_finalizercyr,r!r*s r__del__zCGCTests.test_finalizer_crash..object_with_finalizer.__del__Cr-rN)rrr r4r!rrobject_with_finalizerr2Bs rr5ctj_ jtj`y#tj$rt dY5wxYw#tj`wxYw)NzGot greenlet exit!)r r objectr GreenletExitr)r5parentsr greenlet_bodyz3GCTests.test_finalizer_crash..greenlet_bodyGsh+@+BH   ! ( 1 '')0(( ,*+ ,'')0s#AA'$A*&A''A**B)r7r r arrayappendr rr)rr;r:gr5r9s @@rtest_finalizer_crashzGCTests.test_finalizer_crash/sq& F $$& 1   m , Q    rN)rrr rr#r/rr>r!rrrrs%11 1&&rr) rr r r leakcheckrGREENLET_USE_GCrr!rrrBs5 &HhHr