ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ ;Pc@sddlmZddlZddlZddlZddlZdejfdYZdefdYZdefdYZd d Z d Z e d kre ndS( i(tsupportNtTestCasecBs,eZdZdZdZdZRS(cCs2tjj||jj|_|jj|_dS(N(RRtsetUptheapytRefPattUsetiso(tself((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyRsc Csg}g}x$t|D]}|j|gqW|g|}xvt|dD]d}g}xOt|D]A}g}|j|x%t|D]} |j|| qWqjW|}qQW|} | |fS(Ni(trangetappend( Rtwidthtlengthtdsttlstitxstjtystktsrc((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyt makegraph s    c Csg}g}x$t|D]}|j|gqW|g|}xvt|dD]d}g}xOt|D]A}g}|j|x%t|D]} |j|| qWqjW|}qQW|} | |fS(Ni(RR ( RR R R R RRRRRR((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyR$s    cKsX|j}|dk r$||}n||jd||}d|jjj_|S(NRcSsdS(Ns
((ta((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pytCt(RtNonetget_rptmodtUniSett summary_strt str_address(RR RtkwdsRtrp((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyR>s   (t__name__t __module__RRR(((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyRs   t RefPatCasecBs,eZdZdZdZdZRS(cCsg}}|g}x*tdD]}|g}|j|q W|j||dd}xFt|D]8\}}|t|kre|j|||jqeqeW|j|dj|d|j|dj|d|j||dd}|j|dj|d|j|dj|d|jt|t|d|j||dd}|jt|t|d|j|jj|d|j|j j|d|j||dd}|j|j j|d|j|j j|d|dj|d|j j |j j |j|d|j|j j|dg}|j||g}|j||}|j|jj||j|j |j|||j|j |j |j|j |ddS( Nitdepthi iiiii(RR Rt enumeratetlentasisttheonetaseqt_Rta2tViewtclear_retainerstupdate_referrersR(RR RtlistsRRtx((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyttest_basic_methodsHsD        c stjg}fdj}dfd}g}|j||||x-tdD]}|}g}|j|qlW|||jdd\}}|||ddjdd\}}|||dd}t|jjdd \}}|||dd }|j}t|t|j|j} t| |j} t| jt| j| j | j jdd \}}|||dd}|j|jjjdd \}}|||dd }|jj ||dd }|jj j d dS(Ncs|IJdS(N((R/(toutput(sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pytwritescs)j|||}t||S(N(Rtrepr(R RtresultRR(RR2(sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyttest_ppsiiR#i iiii#iisReference Pattern by <[dict of] class>. 0: _ --- [-] 1 list:
*0 1: a [-] 1 list:
*1 2: aa ---- [R] 1 tuple:
*1 Reference Pattern by <[dict of] class>. 0: _ --- [-] 1 list:
*0 1: a [-] 1 list:
*1 2: aa ---- [-] 1 list:
*1 3: a3 [-] 1 list:
*1 4: a4 ------ [-] 1 list:
*1 5: a5 [-] 1 list:
*1 6: a6 -------- [-] 1 list:
*1 7: a7 [R] 1 tuple:
*1 Reference Pattern by <[dict of] class>. 0: _ --- [-] 1 list:
*0 1: a [-] 5 list:
*5,
*5,
*5,
*5... 2: aa ---- [-] 5 list:
*5,
*5,
*5,
*5... 3: a3 [-] 5 list:
*5,
*5,
*5,
*5... 4: a4 ------ [-] 5 list:
*5,
*5,
*5,
*5... 5: a5 [-] 5 list:
*5,
*5,
*5,
*5... 6: a6 -------- [-] 5 list:
*5,
*5,
*5... 7: a7 [-] 1 list:
*5 8: a8 ---------- [R] 1 tuple:
*1 Reference Pattern by <[dict of] class>. 0: _ --- [-] 1 list:
*0 1: a [-] 5 list:
*5,
*5,
*5,
*5... 2: aa ---- [-] 5 list:
*5,
*5,
*5,
*5... 3: a3 [-] 5 list:
*5,
*5,
*5,
*5... 4: a4 ------ [-] 5 list:
*5,
*5,
*5,
*5... 5: a5 [-] 5 list:
*5,
*5,
*5,
*5... 6: a6 -------- [-] 5 list:
*5,
*5,
*5... 7: a7 [-] 5 list:
*5,
*5,
*5... 8: a8 ---------- [-] 5 list:
*5,
*5,
*5... 9: a9 [-] 5 list:
*5,
*5,
*5... 10: a10 ----------- [-] 5 list:
*5,
*5,
*5... 11: a11 [-] 5 list:
*5,
*5,
*5... 12: a12 ------------- [-] 5 list:
*5,
*5,
*5... 13: a13 [-] 5 list:
*5,
*5,
*5... 14: a14 --------------- [-] 5 list:
*5,
*5,
*5... 15: a15 [-] 5 list:
*5,
*5,
*5... 16: a16 ----------------- [-] 5 list:
*5,
*5,
*5... 17: a17 [+] 1 list:
*5 Reference Pattern by <[dict of] class>. 0: _ --- [-] 1 list:
*0 1: a [-] 1 list:
*1 2: aa ---- [-] 1 list:
*1 3: a3 [-] 1 list:
*1 4: a4 ------ [-] 1 list:
*1 5: a5 [-] 1 list:
*1 6: a6 -------- [-] 1 list:
*1 7: a7 [-] 1 list:
*1 8: a8 ---------- [-] 1 list:
*1 9: a9 [-] 1 list:
*1 10: a10 ----------- [-] 1 list:
*1 11: a11 [-] 1 list:
*1 12: a12 ------------- [-] 1 list:
*1 13: a13 [-] 1 list:
*1 14: a14 --------------- [-] 1 list:
*1 15: a15 [-] 1 list:
*1 16: a16 ----------------- [-] 1 list:
*1 17: a17 [-] 1 list:
*1 18: a18 ------------------- [-] 1 list:
*1 19: a19 [-] 1 list:
*1 20: a20 --------------------- [-] 1 list:
*1 21: a21 [-] 1 list:
*1 22: a22 ----------------------- [-] 1 list:
*1 23: a23 [-] 1 list:
*1 24: a24 ------------------------- [-] 1 list:
*1 25: a25 [-] 1 list:
*1 26: a26 --------------------------- [-] 1 list:
*1 27: a27 [-] 1 list:
*1 28: a28 ----------------------------- [-] 1 list:
*1 29: a29 [-] 1 list:
*1 20: a20 --------------------- [-] 1 list:
*1 21: a21 [-] 1 list:
*1 22: a22 ----------------------- [-] 1 list:
*1 23: a23 [-] 1 list:
*1 24: a24 ------------------------- [-] 1 list:
*1 25: a25 [-] 1 list:
*1 26: a26 --------------------------- [-] 1 list:
*1 27: a27 [-] 1 list:
*1 28: a28 ----------------------------- [-] 1 list:
*1 29: a29 [-] 1 list:
*1 30: a30 ------------------------------- [-] 1 list:
*1 31: a31 [R] 1 tuple:
*1 30: a30 ------------------------------- [-] 1 list:
*1 31: a31 [R] 1 tuple:
*1 Reference Pattern by <[dict of] class>. 0: _ --- [-] 1 list:
*0 1: a [-] 1 list:
*1 2: aa ---- [-] 1 list:
*1 3: a3 [-] 1 list:
*1 4: a4 ------ [-] 1 list:
*1 5: a5 [-] 1 list:
*1 6: a6 -------- [-] 1 list:
*1 7: a7 [-] 1 list:
*1 8: a8 ---------- [-] 1 list:
*1 9: a9 [-] 1 list:
*1 <22 more lines. Type e.g. '_.more' for more.> 10: a10 ----------- [-] 1 list:
*1 11: a11 [-] 1 list:
*1 12: a12 ------------- [-] 1 list:
*1 13: a13 [-] 1 list:
*1 14: a14 --------------- [-] 1 list:
*1 15: a15 [-] 1 list:
*1 16: a16 ----------------- [-] 1 list:
*1 17: a17 [-] 1 list:
*1 18: a18 ------------------- [-] 1 list:
*1 19: a19 [-] 1 list:
*1 <12 more lines. Type e.g. '_.more' for more.> Reference Pattern by <[dict of] class>. 0: _ --- [-] 1 list:
*0 1: a [-] 1 list:
*1 2: aa ---- [-] 1 list:
*1 3: a3 [-] 1 list:
*1 4: a4 ------ [-] 1 list:
*1 5: a5 [-] 1 list:
*1 6: a6 -------- [-] 1 list:
*1 7: a7 [-] 1 list:
*1 8: a8 ---------- [-] 1 list:
*1 9: a9 [-] 1 list:
*1 10: a10 ----------- [+] 1 list:
*1 Reference Pattern by <[dict of] class>. 0: _ --- [-] 1 list:
*0 1: a [-] 1 list:
*1 2: aa ---- [-] 1 list:
*1 3: a3 [-] 1 list:
*1 4: a4 ------ [-] 1 list:
*1 5: a5 [-] 1 list:
*1 6: a6 -------- [-] 1 list:
*1 7: a7 [-] 1 list:
*1 8: a8 ---------- [-] 1 list:
*1 9: a9 [-] 1 list:
*1 10: a10 ----------- [-] 1 list:
*1 11: a11 [-] 1 list:
*1 12: a12 ------------- [-] 1 list:
*1 13: a13 [-] 1 list:
*1 14: a14 --------------- [-] 1 list:
*1 15: a15 [-] 1 list:
*1 16: a16 ----------------- [-] 1 list:
*1 17: a17 [-] 1 list:
*1 18: a18 ------------------- [-] 1 list:
*1 19: a19 [-] 1 list:
*1 10: a10 ----------- [-] 1 list:
*1 11: a11 [-] 1 list:
*1 12: a12 ------------- [-] 1 list:
*1 13: a13 [-] 1 list:
*1 14: a14 --------------- [-] 1 list:
*1 15: a15 [-] 1 list:
*1 16: a16 ----------------- [-] 1 list:
*1 17: a17 [-] 1 list:
*1 18: a18 ------------------- [-] 1 list:
*1 19: a19 [-] 1 list:
*1 20: a20 --------------------- [+] 1 list:
*1 (tStringIORRR RRR3tmoretstrttoptprevRR(tgetvalue( RRtRR5R RR/Rtmtm1tm2((R1RR2sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyttest_presentationsR             c Csddl}g}|g}|g}|f}|g}||g}|j||}|j|jj||j|j|jj||j|jj|d|dS(Nii( tgcRR&R)R'tcollecttaaR+trg( RRAR RRCtbtbaRR((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyttest_referrer_registrations       c Csddl}g}|g}|j|g|j||dddd}|j|jj||j|jj|g}dd dY}|}||_i|d6}||f}|j|j||dd}d |j j _ |j|jj||j|j j|j t|jjj}|j|d k~~|j} d|j j _ ~|jt| jj} |j| d kdS( NiR#i timdomitAcBseZRS((R R!(((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyRIsR i((RAR RR&R)R'RR RBtert classifiertis_clear_drg_enabledREt__dict__R%RR+tdict_ownershiptassert_( RRAR RRRIRREtlnRtlnnow((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyttest_some_more_advanced_usagess8         (R R!R0R@RGRR(((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyR"Gs  E tNewCasecBseZdZdZRS(cCsg}|g}|g}||g}|j||}|j|j|j|||j|j|j|j|j|dS(N(RR(RRtpoptreset(RR RRERR((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyt test_resets     c Csg}|gdgd}|g}||g}|j||}d}|jt|jd|||jd }|jt|jddi|j|d6||jt|jdddd|j|g|dS(Ni(sPaths from source 'a3' to target '_'. 0: a3 [0] @ [0] 1: aa [0] @ [0] 2: a [0] @ [0] 3: _ [0] = <1 list:
*0> 4: aa [0] @ [1] 5: a [1] @ [0] -> #3ta3s 4:tandsetsR(RRR(R8tpathstindexR(RR RRERRtexpected((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyt test_pathss   5(R R!RVR\(((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyRSs icCs$tjt|tjt|dS(N(Rt run_unittestR"RS(tdebug((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyt test_mainscCsddlm}ddl}ddl}ddl}d}|x9d|G|jGH|d7}t|j|qDWdS(Ni(t xmemstatsis[%d]i(tguppy.heapy.heapycR`RAtsysttimetasctimeR_RB(R`RARbRcR((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyt test_leaks$  t__main__( tguppy.heapy.testRR6RbttypestunittestRR"RSR_ReR (((sO/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/test/test_RefPat.pyts0C2