bgCddlmZddlZddlZddlZddlZGddejZGddeZGddeZd d Z d Z e d kr e dSdS) )supportNc eZdZdZdZdZdS)TestCasectj||jj|_|jj|_dSN)rrsetUpheapyRefPatUseiso)selfs o/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/guppy/heapy/test/test_RefPat.pyrzTestCase.setUp s4t$$$j' 8<cPg}g}t|D]}||g|g|z}t|dz D]\}g}t|D]F}g}||t|D]} ||| G|}]|} | |fS)N)rangeappend) r widthlengthdstlsixsjysksrcs r makegraphzTestCase.makegraphs u  A IIse    UU]vax  AB5\\ % % " u%%AIIbe$$$$%BBCxrc |j}| ||}||jdd|i|}d|jjj_|S)NrcdS)Nz
)as rzTestCase.rp..-s+rr!)r get_rpmodUniSet summary_str str_address)r rrkwdsr rps rr*z TestCase.rp(sVh ?#c((C SSXX_ - - - - -0E0E !- rN)__name__ __module__ __qualname__rrr*r!rrrrsA   4rrc&eZdZdZdZdZdZdS) RefPatCasecgx}}|g}tdD]}|g}|||||d}t|D]9\}}|t |kr!||||j:||dj|d||dj|d|||d}||dj|d||dj|d|t |t |dz|||d}|t |t |dz||jj|d||j j|d|||d}||j j|d||j j|d|d|d|j |j ||d||j j|dg}|||g}|||}||jj|||j |||||j |j ||j |ddS) N depthrr)rrr* enumeratelenasistheoneaseq_r"a2Viewclear_retainersupdate_referrersr )r rrlistsrr*xs rtest_basic_methodszRefPatCase.test_basic_methods2s4 cq  A%C LL     WWS#RW ( (bMM . .DAq3u::~~ %(AH--- "Q%,a))) "R&-r+++WWS#RW ( ( "Q%,a))) "R&-r+++ #b''3u::>*** WWS#RW ( ( #b''3u::>*** "$+uQx((( "$+uQx(((WWS#RW ( ( "%,a))) "$+uQx((( aa!!! !!!   %(!3!3444 "$+uQx((( 3e WWS#   "$+s### "$c**+++ "$ "$1rcR tj g} fd j}d fd }g}|||||t dD]}|}g}|||||dd\}}|||ddd\}}|||d} t |jdd \}}|||d }|j} t | t |j|j}  t | |j}  t | j t| j | j  | j dd \}}|||d} |j |jjdd \}}|||d } |j ||d } |j d dS)Nc*t|dS)N)file)print)rCoutputs rwritez+RefPatCase.test_presentation..writezs !& ! ! ! ! ! !rcVj||fi|}t||Sr)r*repr)rrresultr)r*r rJs rtest_ppz-RefPatCase.test_presentation..test_pp~s6c**T**B E$r((OOOIrr1r2r3r#aReference 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 r)ioStringIOr rrrrLmorestrtopprevr*r<getvalue) r rRrNrrrCr*mm1m2rIrJs ` @@rtest_presentationzRefPatCase.test_presentationts " " " " " K         3Sq  AAC HHSMMMMS>>!Q''SS####>>!R((S WS#R ( ( ( d27mm>>!R((S WS#R ( ( ( G d1gg d16ll V d2hh V d27mm c"'ll bf  bg>>!R((S WS#R ( ( ( bg bgl>>!R((S WS#R ( ( ( bgWWS#RW ( ( bg &//##d&d d d d d rc^ddl}g}|g}|g}|f}|g}||g}|||}||jj||||jj|||jj|d|dS)Nr) gcr*r:r=r;collectaar?rg) r rbrr"rdbbarr*s rtest_referrer_registrationz%RefPatCase.test_referrer_registrationqs  ES FS2h WWS#   "$+s###  "%,### "'*Q-"B'''''rcdddl}g}|g}||g|||dd}||jj|||jj|g}Gdd}|}||_d|i}||f}||||d}d|j j _ tj |tj |jkrF||jj|||jj|jnE||jj|j||jj|t!|j j j}||dk~~|j } d|j j _ ~|t!| j j} || dkdS) Nrr2r)r4imdomceZdZdS)4RefPatCase.test_some_more_advanced_usages..AN)r+r,r-r!rrArls Drrmrr3)rbrr*r:r=r;r"rrcr%r?_is_clear_drg_enabledsys getsizeof__dict__rfr9dict_ownership assertTrue) r rbrrr*rmr"rflnr%lnnows rtest_some_more_advanced_usagesz)RefPatCase.test_some_more_advanced_usagess e C5 WWS#RqW 1 1 "$+s### "$+s###          ACC CL!f WWS#RW ( (,- ) =  cmAJ77 7 7 IIbdk1 % % % IIbdk1: . . . . IIbdk1: . . . IIbdk1 % % % + , , Q  f,- )  CH+,,  #####rN)r+r,r-rDr`rhrvr!rrr/r/1sX@@@D{{{z(((44$4$4$4$4$rr/ceZdZdZdZdS)NewCasecTg}|g}|g}||g}|||}||j|||||||j||dSr)r*r<r"r popreset)r rr"rfrr*s r test_resetzNewCase.test_resets E E!f WWS#   "$A'''    "$ $$$$$rc 8g}|gdgdzz}|g}||g}|||}d}|t|d||d|d}|t|dd||i||t|ddd||g|dS)N(zPaths 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] -> #3a3z 4:r")andsets)r*r<rXpathsindexr )r rr"rfrr*expecteds r test_pathszNewCase.test_pathss E4&)O E!f WWS#   #bhhtnn%%x0004X^^G4445 #bhhtc488A;;-?h@@AA8LLL dDHHQKK'@AA B BH N N N N NrN)r+r,r-r|rr!rrrxrxs7 % % %NNNNNrrxcntjt|tjt|dSr)r run_unittestr/rx)debugs r test_mainrs. U+++ %(((((rcddlm}ddl}ddl}ddl}d}| t d|z||dz }t||W)Nr) xmemstatsrz[%d]) guppy.heapy.heapycrrbrotimerHasctimerrc)rrbrorrs r test_leakrs-,,,,, IIIJJJKKK A IKKK fqj$,,..))) Q   r__main__)r) guppy.heapy.testrrUrotypesunittestrr/rxrrr+r!rrrs$$$$$$ &&&&&w&&&RN$N$N$N$N$N$N$N$b .N.N.N.N.Nh.N.N.Nb)))) $ z IKKKKKr