ÿØÿà JFIF    ÿÛ „ !.%+&8&+/1555$;@;4?.451 4,$,44444444444414444444444444444444444444444444444444ÿÀ  á á" ÿÄ     ÿÄ ?    !1AQaq"2‘¡±ÁðBRbrÑá#‚’¢²3S CñÿÄ   ÿÄ !    !1QAa‘2ÿÚ   ? 5˜Z¯V¦cø)›t/? z¨±>Õ5€¶‹Á¤·¼z¼Ü¬+ñ®v¤¨_ˆR­BFn©—˜ý®ç̝P8gýt·ÉSTŦˆìät?þé¼íìN/Þa)ì–í6ô… Ï¿øÃj´¿KÇü]ÿ ªô¹-eKànëÕHTx}ýSÜ›ÿ ”7Ø×&µ<¦  ¥ÑO¶[Ù¯ä¨ÞÃÿ PZ-¬;#õ|•oaÿ ©CìÞz3˜öː/¤­ñTûIØ}š^ mÓ%ªxˆ¥ÉŸu=Z+ISe¿45™¼u;ú&WØ÷€æßQ™®{|íx*TC“#ZŠìZ§²‹ 6pv…³¿¡äª*áZÐ%ÒOáˆo"x«OHk w±æ+¬V(kMúŸ5Vö«$ ÁrÏbàb57/luR ¸ÑÛj Òµì`Мq­û žICÀÊ•©4€Âcà¨Ï€O´<èÐ:›ù(Ë^L8þ‘ÍÌ#¸Ð_Ì©ÙK(Öz 4¬û+¸;ü’V’84‘¬ÃŽ:[â‡ÔÌáõp¢~§ªlæ£ö{®G>J¼"°‡7¯ÆÉèßû ‹É‹§ÁòÃýâßî ^ƾÙõ‹×óH#«LP½ïX=xÑÍ$|W?•~• îëÔ©ª‹ {ÝT…Kÿ ”hûâá)J*ö˜–ÔU;iÇ€/ ÆþjóZ\ýwØ=Ìm ºèËL9 ýèÆð/¨’¥öo=nË.%Îì ŽÕ¯È|{Oj²ƒE6e/ßdÄõ²Ìâ1O®ò×TsəԸhOMýíMˆ¿¼H˜l²,7Â¥#MF/Úf°Ö½± ¸–dr‹NýÊ íjqx{œÉ ä-È ¦ øÄër¨q°ð †nцýÑÄÆ’mä…n<0È™;ÁÝá¯ÁZƒ7FÀmì­ É&9ˆîéi¶ùN§Y• ÃZãAâ?•‡©‰ , ó¾IŸŠc1 4â&y­&pŠ­6;M À 0¹qç»p.á …ŸÅáK@%6·y6ƒ‰3?”úºŽ‰éX5ªPT §µ!=Mž«Ú½‹ÅgÂSâÉaþÓoö–¯ÁÔìR>5éÿ üs¶ÆUcÌ kÇR ]ÿ ù¬¼«VŽ;Â|‡~¢¦”ÏŰæ {L™Õ°Óv¹ò¸írޡעCÃ!íVÕ {¶»sŒNPg/ "uÕbkm²“$ďå¿é¹§°½æz¯6 †s¿!s–wÚÝ“™Œ °.ûj>·+™Òa…©Œ&rÝÎtÛë긪Ît’LAVp%c Úý[ÄzJ¾ÇàXXç@˜ó<êL]·T˜¾¥1Ó©V‡g´æ½¦Ý@¹óø!_@´ÞâSÁ —S3™•& ]@JHÚý©ZŽ €×æÔr»Áf!‡yÞ4Mv*èÓã_{‘åóUuљØ«Oïé*®EvÑ Œ÷‡U \"㪒ÍK+À 4“M¡ï:0¥5í!'<@î´”>Ç»&Z–ïCCV˜Ì5Šo&îhè.žû |ÓK©h$s6KìŒëã)¹hI¦GïOåóI;ììü#É$Š0…Ææ¥TØ.5­¾gn´ “ÂÖ\:hœ89G)J@„}œ:’Ò{/Š"¦_Æ×7Æ3VÇŠÊa]ÚŒÙ€Ä–=®uÁßâACZƒ§§£ Qnâ:«,×{tyø¬iÛcœÜÄ€H½ÄÍCk´÷šß .W'b¤Íåh]÷€=,Žv×cÚEÚHXJX¶îo¨FÒtèöŸ>ªª6[J®Fµ£sGÁeqõfe\íjÒÐïÄÐGˆe1Ø‹.Ø”‘Ëuø Y­ˆÜ ŽG|zùªüMpDnQWÄ”%JŠ™)â*p@Örš«ÕT2Ð%ˆG#ª„ ·¤!°ŸOTÂT¸aÚ%4&h™LµšØüÐ.F¿²ÐÞ_Ç‚¾ÅÃaÜ÷09Æ q€öy˜v‡85õN÷]¬äѼóS{°_MެúÔ#°Ç¸0åÞè2ëôPcvÆw9®ií1Ä8F™˜à‰´+‰Ik1òÝ7“Ñ×ÒsÝ\x‚h`ÞÑ`ó"|µEcý£n˜h`}GÞ !±ù²Ápü²ß6 0ïi󜵩SÈÇ7˜-ÕURO˜¦´f$ªž-Í6(œ}<„ éc øs]ŽŽ„*—¾ ìdŽ„)méª\¿êÎIg¾ØÞ~I#C/¼¼´EÁÈŽi8“©õådô·>euä ƒ'Ê×लR1ÉJE1ÐAát`t;ÇР%Ý<‡¥„ÍÆ`×Oyó)õiI€ñQaŸ4Ûù\áàaÃÔ¹HÃu¹*k€¦<„e S‡&õÏ B!ŽhüÞ`yj}mªf×\¿ Ç~æ­9‡û\՞Ǖg²1Žû5V7 !àöšm° c`ܬøÇìµÒ'P"?…´Ö,"§^•õލsÔ)6˜sæéÍR¼ ò|Sl”‹7 nPW Gòú÷½§O¯‡„l¡kSÞŒr½PÊ@æ¢pŽ-mÿ #Ÿ˜Àº¶Áä¦;ïÔæ$1££`“Õ>„—·ž)ßð³ñ#Ï Ô$¶œ‰ÊE‹À;÷º ¯«P:Ñ”8–IÊtpÞ3ª“>ê“þës4ò2OÏÕ­±zô†Õ§‰.÷ä¸;¿˜“'œ›žª}«Œ{ª±Ì 9ÔóÞÕ‡0 $íWV3Üì¬ —@kÝ4@¿r¼±½¬™›?øØæ´'Áé®CË3-g$˜ö‡×auÚi´Žp/êÛ æF›Ú2v‹ã¿¿,nB1̨ƃqÞa5͝@&Æû“él÷ \C²½UÍc ¯k×¢U ÖéQå™—-r wô ÞÏ<Ò=&=ÿ Ôê Òêˈt,i—;LîÜ á¸*ÚÃ1$êL•LÍ <É)ýÐà’ ;F™{ƒ™˜€&'}‚ãÄK`¡ÞT@I;®žZóè‚s’7®°›+§O­Åq©é»²9<Ô J ¼9O’HL»Ùïì¸rk¼Ž_ý‘TŸu[²ßÚŒ·ü÷B%¯E ŸÔX5êO´ Ç•€’I0 ÉJX` ñ¹õ%;µŸD‘«´€àwÒ™U ûئžÖö\×®×´8 ½‡ºÐÆÓ§?Àkmœ=;d5*@-ì0F Rªýš[Ü6âö̃ڸr*KA9· u*µæ£?U¸Âêí†8@¦X4 e-ò„0s{ HâUpU?¼mñRa°®a%Ð'tÉ×’\¾ÊÉ]t›h>·(Ë@R¼¡Ãt h}’O÷au<+nT…Ö…MӐ??Óe95 q>í/;&JSû °¯ÊéÞ øƒ*Ã2½Ài&:nôUl=¾¿5eˆ3”ñc|Ú2V”>„»&eE;«ÚäC p¢Û úy 9š[ŒÌx¼擼A&DåÒ¯ˆ¤ÀÌ;"˜ ÏQä¸åhÊ}Ûq«Û0WžÒ|»€ø®öCm5•\ÇÀ§Pe3£]0ÃàLDÉ‰1øªxjgwT‚÷¿LΨK‹›ùs—xˆÜ±µ kæ¸f‰‰ÜGk/LÛØ6d9ò¶ùA{ƒA3š/¬D¬khÓk‰`˜"㯒r¿±Óã jx‡°e}<Ñø\3y:'À•/h½Í€Ç4~g ?Û(¼]v‘ªlKÎâ~?O‚W%{Ì:“'©úNq¾›úo(X’¥¯ˆ nFê{Ç€ü?º'ë ø‹ì Þ09ŒÌç9Æ —ËC`j@ÓÄ(+a‹un¸#ÂꟋ{K`‘ÑÍÍ'à´»/Û,KW;Þ4²þð ï Nm|~fGÏ(…³Ã)«1ö­Õ ¥‡¨©ƒÃ™ü-s=à=U66Ï«Ýc蓦W¹íž®›nÔ%êÇìŒ<#Ü×84ån®Ð ÒåOC` ñânÑs‡¢ç 1õ%Îhì½Ã½® e:ݼUZo™`  ÅZŸŒÊ«ê1ÏÄo$q¹Þ€©ˆhÐÉä¯ñ[!…Ú˜àJ:x2$Íß&PåT£6ç— ‡Í*4Ýšçjÿ ‰É nófÐ ó(L5C•åÆ\rMÒ@ò }y-W}™üýVù—ú¢=Ù”c®‘< M ž ´Phr ¦©TD ‘ù.$´÷O‡‘V2Æò.=IUŒ=ž‡â¬i™aþÓåÙ?òUø'ØÖ•.~* šTŒ!•-×áºTâ®ä#õü'´ eýlYÅÓeÕKÂrT"CÚ@u!Óxƒ{š3€}1¿(r}%«nËamjÑ%ÑNEò v ˜à  σöK³,*º.àzù¨™Ó ÚçâU¦*¿ 9{%Ö¹ njûdaXöb) kÛÆ±ûÓ\°M7ˆÂ=û›ç¿Ã‚­V»Cg–8ÙêE- j)k$º`Ã-ùEýeBÆÇ]c¡°ñty&Òd0nõ'¡W+ƒ*|–øµFa\GQªEAÔp5\Ǽ·¼Ç8·õ -â§Ú[ ‡ uZeÖ 3}×d'+¹:ð+K†Û®s!Ï$úe€<Û”x)1»a­¡LC]¸µík…ÚàA»AYº{†ªS[¦5HÒ7ù --,ísòDØ€èk ÞÀîÜ ò@â( ËNˆë›4ô½•/¦o‡€Û7 ê•ÆêòðÜy'Án½µ á˜ݦ ndeo…[ì¶Ê,¥R³Ä=À±—–ß;£™´ñSâ*g§”ïaið‘Jå~™ÓÞ ß³Õ¢»8x埒²52>AÊb&-÷\7´éÄù€T˜,w;3{ï˜k…à¹ÄqÀ«œ{€\ ˆ¾[´¨јr &Úé„Ívˆ±8†¿]|¬ņ4I×pÞS1ÈÖz‰#Ìv‡G!YNògñ:màTz¢Ý1ô©^O=~ë|5Bã™ç•¼µõ•bÆ@úÕS¬ÈŒ#¬zünrŸ û” Z²•èðV"ÁHÚý©wÝ €7¼Ìu1hÑa3Éä û f$o¿É ™Ú›ÝçnpÒ3äÌ3†Í§,Äï]$‰/pê †«À¼¸e9­Æê_C]žƒ·ý·frÁN«, E=›Çq -‰öŒ:aÏ¿±í&£Í:-} 84‘ÿ eƒQÑeëSsuiA ³g㟥ú£?ÿ ʼn*”“÷aühe:ÊWa@ÒÞk±eØ] F Ô—r.åä˜ @ö¥ªZoÐýYL·¥S²G/‡ñ <~*ZÆ´è>JlòàÛÆ½ÿ 窘ìGN¢:I®KšJp/`íIÁÀõ#Ä-€ö­šµŒoF4|ÆQØÆ@Ì|£Ô…¢À{9˜è½Üó›€ôYÒÎYsið;ís¤€à²ˆ‚4qÉVŒI$ ‰"° æµ8cXGjœˏ¡Aâý•ËÜ¢ûï e·çLx']á"oÅÎê3¯Ç—¹”ó0nå‚âg{Œñ> S´˜îè°g238‚ãköÝfÚd´6Ò€;ò÷±¢™¼›º ¢Æ'¥Ðx'e¬ç ]bÈÆV¢ó‹kýBO ðÊâ$Ÿ!×T 3Mýמ žìٍàÌü‘8÷€àæØ8æ©6‰©L´«…oãpð„~Çk‰!ñ;‹”ÛžÍ àž±z Ÿôû øŸÝužÏ;ÿ #|u6™Þ¬ÚˆÐõA4¶â|ôl|Ê2ŽÇ¤ÝÅÇY.<#Aí.k§hóF‚”Y; M½Ö4hŸ4&›­¿tès´%FìL¥£Ãk‰ÇT¤haÁ¤ÚxfÉ`ÑìË›>i 3t‚:,–+^÷´–{Û–Nxi"x‘Ûg î¨>¥Õ܁ùZH,2Û“:8xÊ¢Çí9.É-Ìâã-=çjwµS˜dütžçwýGòú®®ûº_ˆýx$–¡ãøO EÚÛÏ÷R„×w+3£Á£öUMyR²¹âŒ°š›¸Ñãò9§Ó_Dl+Ùßc›úšGÅÌc†Ž!Ko=¶.‘Îÿ c²(2®V mª.ÿ ¹B›¹å ù„öŸSV>™ü¯$y:G¢Z×àøúdî¹û­·ýÇ´:•c LÍõi_‹ö+ÎæGÊè>OŠ•äž´§Þ{X}¨1ÚTc›»Qþ•êô°t¿OP?eæ~É{5]•ÙR£r5†nZ\ã@ &îJõ ¾àC°þV>fé¥/ü5ñÊIº_é5 ;e­h<@ Ä&æÃëE%;X,ÒãÆÞ`Oò¦kŸm#˜!ÀyÄ¢| óLšò¥Ä` ¶R=|ÈCâh5ò3DˆïF†ðÒ#ÅìÛœ?¸yhBãœí ZxßÎÄhºRK„`Þödvײ™ÀÈÑÒgŒuY w³%†ƒÓzõ ÖÏp‚dH®¦A´ù§»ÓÇMæ~)ˆð‡û:ù&Ä •vGD´À n ݇¼Ö8Fö óáà£~Ë¥x`oK|Ä?fxiØü%pìR>éò+Û±éÎ>núlFŤ'tq8LZÏvÃ?„¡ß±È⽆¯³íü@x|PöUäèØã¡ð‚ŒAìÏ"vÍwóŸÍ{ ý0.z È•Ö{,N¡£¡ŸKÕÙž>Ýœþ ÍÀ°<×EA!Å‚D™IúOÍ¡>ôG}Â` ÍßkÜL™Ž Þð™ {IøF²¹òQ3&!ÃÂÞz.d&Ï-sH¸,Ôõ˜ŽP€ 77ˆÝ¼ÊëÜw =cÕ Ú,ØÐ5ÎYÐ)ì´öœgŒ[¤ßv㙑8心>h]§µháYš£²ºÑ.{Ï7Sð•?´~×SÃKýJÛ˜ ™Íäiúu<µX¶1õ^kâçIÑ£sZ4h>j*ÔšD:4­¿_ ÷¸ Õxæÿ ¸?Mù _•­ÊÐ ä ÷ý ÑwL œ­ïnTkÛUÍN©ë:¦fV ¶ÜÔÜMªÅâA½–¿R×TXš-%iTÊT•‡Ù‚JôϐZxWÑè‰f‰òG º ×Õû2aZ7OU3[“×AT–ÞŒ…-‘¤”Ì ì&(ˆ¿­•ƒkï’:ðY¦W‘ Å)“†‘˜³Åtcø˜ñTÂwÚÇ4|üLÇªí–v- qˆèU qPE.†â‘˜µ Æ,ÐÅs]8¾„oúÑ i>ÜxxÈó)ƒ ´æÁâØ$À‰vžŸf$Ž |ãw;ÀÁIJ»b` {¦Ó¤Ú$©YÀ‘n@Óïž«9J¼êG m¤ ܯ¹ÌW4€ÐÒÅÛ‡#褕Ÿn-?í|с¥÷Ú¹¬'´ÞÜ9ÓK `hê£SÄSà?7—Wí_´…óB›»:=Ãïq`<8ñÓŒÑlú2d¬ê³£hÖ[l|$vÝro~'R®‰§°ñmY ͧäP |PUª¹·:3Œ[Û{Xÿ ºâ@‚W–Äé u‚ ¯´*=íή.pûÒdt @G‰¬ s¸ ëÉücr ÞæÑ¨Ê@>¤¢Ö±. Þ'¯°ÌME[YéïĵÂCå½ Ué©Áû'Ê9%eÔðNU”ë‘ÌsD3/®+UI˜9h.WC”빓$#:pz:YÓ ¿xž* ³$Í +$kñAŠ‹†¢ Uê>¸)_š¬÷©ßAÂÔb9ÇU ¯¾á•9¯ÏÏ÷O÷¼¼Fähal1‰3Ì[Ïr•´UCksNÐ] R‘¸¥H+§Šé†c©vÖÞ0iÓ76s†î!§=ß ¼~Ô'°Ãmäoäš³ªøi1úÉ)³yV8 CLÄØÁ‘WYïi€H6ÖÑiámø^ÈY´°Ñ7¥Û*—Ñ©L«Qƒï—Ùrÿ ›£Ð*š¸ˆL©ˆ$ˆ ÷¾D§9È®«qbqC)–ˆïv´çñsÑVT­Ø, <àïºÀO«Jý·õ àfPìð .wFšir´þ’2_Y *Æ€x\« ì€9š@ Ž|F⇥ˆkZ@hÖÄ0t¿-<“‹qµ¾*ZL¤Ú)&BJpÓF5=$„at*Zš$’ÑtdûÝRI1 2މ$€$I$#‰SÞ’Hë¬ï;Á$¡t$’`<(ñÇt)$‡Ð.Êf¢X’Kt=Éé$‚ˆªè¢oÝëòI%Rgcª÷ŠyI%¡‰ÿ !ñ)´õ $¤ Ô’IIGÿÙa 3g@sddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z m Z ddl ZGdddeZGdddeZGdd d eZGd d d eZdZd d ZddZGdddejZGdddeZGdddZd2ddZe ddZeddfddZdZedZdd Z d!d"Z!d#d$Z"d%d&Z#Gd'd(d(ej$Z%Gd)d*d*e%Z&Gd+d,d,e%Z'Gd-d.d.e%Z(Gd/d0d0e%Z)e*d1kre+dS)3N)contextmanager)islicerepeatc@s eZdZdS) BdbExceptionN__name__ __module__ __qualname__r r ,/opt/python39/lib/python3.9/test/test_bdb.pyr>rc@s eZdZdS)BdbErrorNrr r r r r ?r r c@s eZdZdS)BdbSyntaxErrorNrr r r r r@r rc@s eZdZdS)BdbNotExpectedErrorNrr r r r rAr rcCsdtj_itj_dgtj_dSN)_bdb BreakpointnextZbplist bpbynumberr r r r reset_BreakpointIsrc CsddtjjD}|sdSd}|D]v}|s2d}d}|jrOr z$info_breakpoints..Fz!BpNum Temp Enb Hits Ignore Where Tzyes zno Zyeszno z%-5d %s %s %-4d %-6d at %s:%dz stop only if %s )rrr temporaryenabledZnumberhitsignoreospathbasenamefilelinecond)bp_listZ header_addedrinfoZdispZenabr r r info_breakpointsNs& r(csfeZdZfddZdfdd ZfddZd d Zd d Zd dZddZ ddZ ddZ Z S)Bdbcsd|_t|||SN) currentbpsupertrace_dispatch)selfframeeventarg __class__r r r-fszBdb.trace_dispatchFNc st|trT|tkrt}nt|dd}|j}t||}|j} | j }| j }| j }t j |||||d} t| tr|t| | S)N)rr%funcname) isinstancestr__file__globals importlib import_module__dict__eval__code__ co_filenameco_firstlinenoco_namer, set_breakr ) r.filenamelinenorr%r5globals_modulefunccoderesr2r r rBjs     z Bdb.set_breakcs4t||\|_|_|j|jd|_|j|jfSNr)r, get_stackstackindexr/)r.ftr2r r rK~sz Bdb.get_stackcCs||}|jd7_dSr)get_bpbynumberrr.Zbpnumrr r r set_ignores zBdb.set_ignorecCs||}d|_dS)NTrPrrQr r r set_enables zBdb.set_enablecCs||}d|_dS)NFrSrQr r r set_disables zBdb.set_disablecCs|||}|rt|dSr*)Z clear_breakr )r.fnamerDerrr r r set_clears z Bdb.set_clearcCs2|jstd|jd8_|j|jd|_dS)Nz Oldest framerr)rMr rLr/r.r r r set_upsz Bdb.set_upcCs@|jdt|jkrtd|jd7_|j|jd|_dS)Nrz Newest framer)rMlenrLr r/rYr r r set_downsz Bdb.set_down)FNN) rrr r-rBrKrRrTrUrXrZr\ __classcell__r r r2r r)cs  r)cseZdZd+fdd ZddZfddZd d Zd d Zd dZddZ ddZ ddZ ddZ ddZ ddZddZddZdd Zd!d"Zd#d$Zd,d%d&Zd'd(Zd)d*ZZS)-TracerNFcs<tj|d||_||_|dur*d|nd|_|dS)NskipzDry-run results for %s:)r,__init__ expect_setdry_runheader init_test)r.rbr`rc test_caser2r r ras zTracer.__init__cCsBd|_d|_d|_tt|jddd|_tt|jddd|_dS)Nrr) cur_except expect_set_nobreakpoint_hitslistrrb expected_listset_listrYr r r res zTracer.init_testc sv|jdur|j|dkrbzt|||}|WSty^}z||_|jWYd}~Sd}~00nt|||SdSN exception)rhr,r-r)r.r/r0r1rIer2r r r-s zTracer.trace_dispatchcCs(||sdS|d|||dS)Ncall)Z stop_here process_eventnext_set_method)r.r/Z argument_listr r r user_calls zTracer.user_callcCsZ|d||jr@|jr@td}|dD]}td|q.|d|_|dS)Nr$rz ) rrrcrjr(stripsplitprintdelete_temporariesrs)r.r/r'r$r r r user_lines   zTracer.user_linecCs|d|||dS)Nreturn)rrrs)r.r/Z return_valuer r r user_returnszTracer.user_returncCs||_|d||dSrn)exc_inforrrs)r.r/r|r r r user_exceptions zTracer.user_exceptioncCs|jg}||f|_dSr*)r+rj)r.r1r&r r r do_clearszTracer.do_clearcCs$|jr |jdD]}||qdSr)rjZclear_bpbynumber)r.nr r r rxszTracer.delete_temporariescCsT|jd7_z|jd|_Wn ty@td|jYn0|jd|_dS)Nrrz-expect_set list exhausted, cannot pop item %d)rirlpopexpect IndexErrorrrm set_tuplerYr r r pop_nexts  zTracer.pop_nextcsd}|dkrjd}||jdurDjsDjg}|gf_|_jrhjdSj r j d|d |dvr dnt j dkr~|dkrFj d\}t}jsdj |jdd  fd d |Dfd d jdDd  t|jddn8|dkr~tjdj ds~djjfdS)NrorgrzWrong event type)rqrzr$z(No breakpoints hit at expect_set item %dzBreakpoint numbers do not matchcsg|] }|qSr r rr)bpsr r rr z(Tracer.process_event..csg|]}|jqSr )rPrrrYr r r szWrong breakpoint hit countrzWrong temporary breakpointsz/Wrong exception at expect_set item %d, got '%s')r|rKr+rjr0rrc print_staterdr check_equalcheck_lno_namecheck_expect_max_sizer[sortedkeysraise_not_expectedrir6)r.r0r/argstbr&Z temporariesZbpnumsr )rr.r rrs\          zTracer.process_eventcCs&||kr dS|d||j|fdS)Nz"%s at expect_set item %d, got '%s')rri)r.Zexpectedresultmsgr r r r,s  zTracer.check_equalcCsTt|j}|dkr.|}||jd|d|dkrP||jd|jjjddS)NrzWrong line numberrgzWrong function name)r[r lno_abs2relrr/f_coderA)r.srDr r r r2s zTracer.check_lno_namecCs&t|j|kr"td|j|jfdS)Nz'Invalid size of the %s expect tuple: %s)r[rrr0)r.sizer r r r<s zTracer.check_expect_max_sizecCs<||jjj}|jj}||tkr8||jjjdS|Sr)canonicr/rr?f_linenor8r@r.rVrDr r r rAs  zTracer.lno_abs2relcCs.|r*|||tkr*|jjj|dS|Sr)rr8r/rr@rr r r lno_rel2absGs zTracer.lno_rel2abscCs|}|jjj}d|j||f}|jrd}|jdD],}|dkrJ|d7}|d|||jf7}q6|d7}d|dt|jdd }|d|7}n|jd kr|d|j dj 7}|d 7}| d t|j d S)Nz('%s', %d, '%s'{rz, z%s: %s}(r)roz), ,) rr/rrAr0rjrPrr7r|rljustr)r.rDrAstaterrr r r get_stateLs   zTracer.get_statecCs:|dur |jdkr tt|td|j|fdS)Nrz%d: %s)rirwr)r.rdr r r r^szTracer.print_statecCs6|d7}|dt|j7}|d|7}t|dS)Nrz Expected: %s z Got: )r7rrrr.rr r r rdszTracer.raise_not_expectedcCsZ|jd}t|jdkr"|jdnd}t|d|}|dvrF|dS|dvr\||jdS|dkrd}|r||jjj|d}||j|dS|r|dvs|d vrH|d vr|^}}}|||}||g}||||n"|d vr||n|d vr|d|_| |j r$| n|j r4| |d |ntd |jdS)NrrgrZset_)stepcontinuequit)rrzuntil)breakclearrenabledisable)updown)rr)rrrrz"%s" is an invalid set_tuple)rr[getattrr/rrr?extendr0rrcrrrrrsr)r.set_typerZ set_methodrDrVZremainr r r rsjsR              zTracer.next_set_method)NFN)N)rrr rarer-rtryr{r}r~rxrrrrrrrrrrrrsr]r r r2r r^s(    2  r^c@s(eZdZdddZddZd ddZdS) TracerRunNcCs2||_|j|_t|j||j|d|_d|_dS)N)r`rcrf)rfrcr^rbidtracer_original_tracer)r.rfr`r r r ras  zTracerRun.__init__cCstt|_|jSr*)rsysgettracerrrYr r r __enter__s zTracerRun.__enter__cCstt|jd}|jjr6|d7}|d|jj7}|durtt|rt |t r|j r|j d}|rr|d|7}|j rt |dS|j|n|r|j rt |n |j|dS)Nrz+All paired tuples have not been processed, zthe last one was number %drrT)rrsettracerrrmri issubclassrr6 BaseExceptionrrcrwrffail)r.type_value traceback not_emptyerr_msgr r r __exit__s*    zTracerRun.__exit__)N)NNN)rrr rarrr r r r rs rc Csdd}ddg}||t}d|_dd|_t|tdt||_t|Ft ||d }| t Wdn1s~0YWdn1s0YdS) Ncss<z"t|}t|}|V|VqWnty6YdS0dSr*)r StopIteration)abxyr r r gens  zrun_test..genrrTcSsdSr*r r r r r r zrun_test..r r_) r BaseTestCasercrrkriterrbcreate_modulesrruncall tfunc_import)modulesrmr`rsltestrr r r run_tests3    rc cstjtjtz|D]T}|d}t|d$}| t ||Wdn1sb0Yt |q"tdVW|D]}tj|qtjn"|D]}tj|qtj0Wdn1s0YdS)N.pyw)rsupportZtemp_cwdrr!appendr getcwdopenwritetextwrapdedent linecache checkcacher:invalidate_cachesZforgetr)rmrVrNr r r rs   2  rFcCsd|d|||ffS)Nrr )r5rVrr%r r r break_in_func%srtest_module_for_bdbrcCsddl}|dSrJ)rmain)rr r r r*srcCs d}ttd}d}d}dS)Nrg) tfunc_first tfunc_secondlnor r r tfunc_main.s rcCsd}d}d}dS)Nrgrr rr r r r6srcCsd}dS)Nrgr rr r r r;src@seZdZeZdddZdS)rNcCs||ddSr*)ZfailureExceptionrr r r rCszBaseTestCase.fail)N)rrr rcrr r r r r>src@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdS) StateTestCasecCs@gd|_t|}|tWdn1s20YdS)N)r$rgrrr$rrrrqrrrr$rgrrrbrrrr.rr r r test_stepKs  zStateTestCase.test_stepcCsdD]}|j|dzddddddtdffd d d dd d d igff|fddg |_t|}|tWdn1sv0YWdq1s0YqdS)N)rrrrrrrrr)Nonerrrr$rrr$rrr)subTestr8rbrrr)r.rrr r r test_step_next_on_last_statementUs  z.StateTestCase.test_step_next_on_last_statementcCs@gd|_t|}|tWdn1s20YdS)N) rrrrr$rrr)rqrrr)r$rgrrrrr r r test_nextcs  zStateTestCase.test_nextc Cstd}t|i}t|Lgd|_t|}|tWdn1sH0YWdn1sf0YdS)N9 def main(): lno = 3 )r$rgrrr$rrr TEST_MODULErrbrrrr.rHrrr r r test_next_over_importns    z#StateTestCase.test_next_over_importcCs@gd|_t|}|tWdn1s20YdS)N)rrrrrrrrrrr r r test_next_on_plain_statement|s  z*StateTestCase.test_next_on_plain_statementcCs@gd|_t|}|tWdn1s20YdS)N) rrrrrrrrrrrrrrr r r test_next_in_caller_frames  z'StateTestCase.test_next_in_caller_framecCs@gd|_t|}|tWdn1s20YdS)N) rrrrrrrrzrzrrrrrrrr r r test_returns  zStateTestCase.test_returncCs@gd|_t|}|tWdn1s20YdS)N) rrrrrrrr )rzrrrrrr r r test_return_in_caller_frames  z)StateTestCase.test_return_in_caller_framecCs@gd|_t|}|tWdn1s20YdS)N) rrrrrrr)r)rrrrrr r r test_untils  zStateTestCase.test_untilc Cs`dtddddddddigffdd d g|_t|}|tWdn1sR0YdS) Nrr)rrgrrr$rgr)r)i'r r)rrbrrrrr r r test_until_with_too_large_counts z-StateTestCase.test_until_with_too_large_countcCs@gd|_t|}|tWdn1s20YdS)N) rrrrrrr)r)r)r$rrrrrr r r test_until_in_caller_frames  z(StateTestCase.test_until_in_caller_framec Csd}t|i}t|\gd|_dddtf}t||d}|tWdn1sX0YWdn1sv0YdS)Nr)rrrrz importlib*Z zipimportz encodings.*r_r)r.rHrr`rr r r test_skips   zStateTestCase.test_skipcCs"tdgd}||dddS)Nz anything*r_F)r)ZassertIsZis_skipped_module)r.bdbr r r test_skip_with_no_name_modules z+StateTestCase.test_skip_with_no_name_modulecCsFddg|_t| }|t|jtWdn1s80YdS)Nr)r)rbr assertRaisesr rrrr r r test_downs zStateTestCase.test_downcCs@gd|_t|}|tWdn1s20YdS)N)rrrrrrrrrrr r r test_ups  zStateTestCase.test_upN)rrr rrrrrr r r rrrrrrrr r r r rHs         rc@s\eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ dS)BreakpointTestCasecCsFddg|_t| }|t|jtWdn1s80YdS)Nr)r)z/non/existent/module.pyr)rbrrr rrrr r r test_bp_on_non_existent_modules z1BreakpointTestCase.test_bp_on_non_existent_modulec Csd}t|i}t|Zddtdffg|_t| }|t|jtWdn1sV0YWdn1st0YdS)Nrrrr) rrTEST_MODULE_FNAMErbrrr rrrr r r test_bp_after_last_statements   z/BreakpointTestCase.test_bp_after_last_statementcCsd}t|i}t|dtdtddtdtddddddd d id gffddddd d id gffd g |_t|}|tWdn1s0YWdn1s0YdS) N def func(): lno = 3 def main(): for i in range(2): func() rrGTrrgrrr$rrrgrrrrrrbrrrrr r r test_temporary_bp s    z$BreakpointTestCase.test_temporary_bpcCsd}t|i}t|dtdtdtdtddddddd dd d igffd d d d ddd ddd idgffdd ddd dd digffdg|_t|}|tWdn1s0YWdn1s0YdS)N def func(): lno = 3 def main(): for i in range(3): func() rrGrT)rrgrr$rr)rr rrrGrrrgrr#rrrr r r test_disabled_temporary_bp$s$   z-BreakpointTestCase.test_disabled_temporary_bpc Csd}t|i}t|ndtdtdddddd dd d igffd g|_t|}|tWdn1sj0YWdn1s0YdS) Nz def func(a): lno = 3 def main(): for i in range(3): func(i) rrGFza == 2rrr$rrrrrr r r test_bp_condition@s   z$BreakpointTestCase.test_bp_conditionc Csd}t|i}t|ndtdtdddddd dd d igffd g|_t|}|tWdn1sj0YWdn1s0YdS) Nzk def func(a): lno = 3 def main(): func(0) rrGFz1 / 0rrr$rrrrrr r r )test_bp_exception_on_condition_evaluationTs   zr)rzrgr.rzexec)rbrruncompilerr)r.rHrr r r test_run_steps  zRunTestCase.test_run_stepc Csd}t|i}t|\gd|_ddl}t|"}|dttWdn1sX0YWdn1sv0YdS)Nr) )r$rr.r)rqrgrr)r$rrr)rzrrr)rzrr.rrztest_module_for_bdb.main())rrrbrrZrunevalr9locals)r.rHrrrr r r test_runeval_steps   zRunTestCase.test_runeval_stepN)rrr r2r4r r r r r-s r-c@s4eZdZddZddZddZddZd d Zd S) IssuesTestCasec Csd}d}t|d|i}t|rdtddddd d dd d igffd d d ddg |_t|}|tWdn1sv0YWdn1s0YdS)Nz from test_module_for_bdb_2 import func def main(): func() lno = 5 z9 def func(): lno = 3 Ztest_module_for_bdb_2rrGztest_module_for_bdb_2.pyrrr$rrr)rzrrG)r$rrr)rrrrbrrr)r.Zcode_1Zcode_2rrr r r +test_step_at_return_with_no_trace_in_callers  z:IssuesTestCase.test_step_at_return_with_no_trace_in_callerc Csd}t|i}dD]}|j|dt|dtdtdddd dd d igff|fg|_|d kr||jd d dtfdddgn|jddgt|}| t Wdn1s0YWdn1s0YWdq1s0YqdS)Nz def test_gen(): yield 0 lno = 4 return 123 def main(): it = test_gen() next(it) next(it) lno = 11 )rrrzrrtest_genrrr$rrrzro rr)rzr8rrr$rr7) rrrrrrbrrrrr)r.rHrrrr r r #test_next_until_return_in_generators*    z2IssuesTestCase.test_next_until_return_in_generatorcCsd}t|i}t|dtdtdddddddigffd d d d d d d d ddtfdddg|_t|}|tWdn1s0YWdn1s0YdS)Nz def test_gen(): yield 0 lno = 4 yield 1 return 123 def main(): for i in test_gen(): lno = 10 lno = 11 rr7rrr$rrrr9)r$rr7)r$rr7ro rr)r$ rr rrrrrrbrrrrr r r 'test_next_command_in_generator_for_loop#s    z6IssuesTestCase.test_next_command_in_generator_for_loopc Csd}t|i}t|~dtdtdddddddigffd d d d d d tfdddg |_t|}|tWdn1sz0YWdn1s0YdS)N4 def test_subgen(): yield 0 return 123 def test_gen(): x = yield from test_subgen() return 456 def main(): for i in test_gen(): lno = 12 lno = 13 rr7rrr$rrr)r$r7ror<rrr$ rrr=rr r r /test_next_command_in_generator_with_subiteratorBs   z>IssuesTestCase.test_next_command_in_generator_with_subiteratorc Csd}t|i}t|dtdtdddddddigffd d d d tfd d d dtfdddg |_t|}|tWdn1s0YWdn1s0YdS)Nr?rZ test_subgenrrr$rrr rorr7r<rrrArr=rr r r 1test_return_command_in_generator_with_subiteratoras    z@IssuesTestCase.test_return_command_in_generator_with_subiteratorN)rrr r6r:r>rCrDr r r r r5s )r5__main__)N),rrrr Zunittestrr:r contextlibr itertoolsrrZ test.supportr Exceptionrr rrrcrr(r)r^rrrr8rrrrrrrZTestCaserrrr-r5rrr r r r 3sP @z. J  /B")