ó o®¸Qc@sÇddlZddlZddlZejejejƒZejejejejƒZddlZej ej ƒZ dej fd„ƒYZ dej fd„ƒYZedkrÃejƒndS(iÿÿÿÿNtRefcountTestCasecBseZd„Zd„ZRS(cCsÄddlm}tj}tj|_tjtg|_d„}|j ||ƒdƒt|ƒ}|j ||ƒdkƒ|d|ƒ}|j |dƒd}t j ƒ|j ||ƒdƒdS(Niÿÿÿÿ(t getrefcountcSs|S(N((tvalue((s0/sys/lib/python2.7/ctypes/test/test_refcounts.pytcallbacksiiöÿÿÿiîÿÿÿ(tsysRtdllt_testfunc_callback_i_iftctypestc_inttrestypet MyCallbacktargtypest assertEqualt assertTruetNonetgctcollect(tselftgrctfRtcbtresult((s0/sys/lib/python2.7/ctypes/test/test_refcounts.pyttest_1 s     cCsnddlm}d„}|j||ƒdƒt|ƒ}|j||ƒdkƒ~|j||ƒdkƒtjƒ|j||ƒdkƒdtjfd„ƒY}|ƒ}t|ƒ|_ |j||ƒdkƒ~|j||ƒdkƒtjƒ|j||ƒdƒt|ƒ}|j||ƒdkƒ||_ ~tjƒ|j||ƒdƒdS(Niÿÿÿÿ(RcWsdS(N((targs((s0/sys/lib/python2.7/ctypes/test/test_refcounts.pytfunc'sitXcBseZdefgZRS(ta(t__name__t __module__t OtherCallbackt_fields_(((s0/sys/lib/python2.7/ctypes/test/test_refcounts.pyR8s( RRR RR RRRt StructureRtcycle(RRRRRtx((s0/sys/lib/python2.7/ctypes/test/test_refcounts.pyt test_refcount%s.        (RRRR"(((s0/sys/lib/python2.7/ctypes/test/test_refcounts.pyR s t AnotherLeakcBseZd„ZRS(cCs~ddl}tjtjtjtjƒ}d„}||ƒ}|jtjƒ}|ddƒ|j|jtjƒ|ƒdS(NiÿÿÿÿcSs ||dS(Ni((Rtb((s0/sys/lib/python2.7/ctypes/test/test_refcounts.pyRYsii(RRt CFUNCTYPERRR (RRtprotoRRR((s0/sys/lib/python2.7/ctypes/test/test_refcounts.pyt test_callbackUs    (RRR'(((s0/sys/lib/python2.7/ctypes/test/test_refcounts.pyR#Tst__main__(tunittestRRR%RR t c_ulonglongRt _ctypes_testtCDLLt__file__RtTestCaseRR#Rtmain(((s0/sys/lib/python2.7/ctypes/test/test_refcounts.pyts    I