ÿØÿà JFIF    ÿÛ „  ( %"1!%)+...383,7(-.+  -+++--++++---+-+-----+---------------+---+-++7-----ÿÀ  ß â" ÿÄ     ÿÄ H    !1AQaq"‘¡2B±ÁÑð#R“Ò Tbr‚²á3csƒ’ÂñDS¢³$CÿÄ   ÿÄ %  !1AQa"23‘ÿÚ   ? ôÿ ¨pŸªáÿ —åYõõ\?àÒü©ŠÄï¨pŸªáÿ —åYõõ\?àÓü©ŠÄá 0Ÿªáÿ Ÿå[úƒ ú®ði~TÁbqÐ8OÕpÿ ƒOò¤Oè`–RÂáœá™êi€ßÉ< FtŸI“öÌ8úDf´°å}“¾œ6  öFá°y¥jñÇh†ˆ¢ã/ÃÐ:ªcÈ "Y¡ðÑl>ÿ ”ÏËte:qž\oäŠe÷󲍷˜HT4&ÿ ÓÐü6ö®¿øþßèô Ÿ•7Ñi’•j|“ñì>b…þS?*Óôÿ ÓÐü*h¥£ír¶ü UãS炟[AÐaè[ûª•õ&õj?†Éö+EzP—WeÒírJFt ‘BŒ†Ï‡%#tE Øz ¥OÛ«!1›üä±Í™%ºÍãö]°î(–:@<‹ŒÊö×òÆt¦ãº+‡¦%ÌÁ²h´OƒJŒtMÜ>ÀÜÊw3Y´•牋4ǍýʏTì>œú=Íwhyë,¾Ôò×õ¿ßÊa»«þˆѪQ|%6ž™A õ%:øj<>É—ÿ Å_ˆCbõ¥š±ý¯Ýƒï…¶|RëócÍf溪“t.СøTÿ *Ä¿-{†çàczůŽ_–^XþŒ±miB[X±d 1,é”zEù»& î9gœf™9Ð'.;—™i}!ôšåîqêÛ٤ёý£½ÆA–àôe"A$˝Úsäÿ ÷Û #°xŸëí(l »ý3—¥5m! rt`†0~'j2(]S¦¦kv,ÚÇ l¦øJA£Šƒ J3E8ÙiŽ:cÉžúeZ°€¯\®kÖ(79«Ž:¯X”¾³Š&¡* ….‰Ž(ÜíŸ2¥ª‡×Hi²TF¤ò[¨íÈRëÉ䢍mgÑ.Ÿ<öäS0í„ǹÁU´f#Vß;Õ–…P@3ío<ä-±»Ž.L|kªÀê›fÂ6@»eu‚|ÓaÞÆŸ…¨ááå>åŠ?cKü6ùTÍÆ”†sĤÚ;H2RÚ†õ\Ö·Ÿn'¾ ñ#ºI¤Å´%çÁ­‚â7›‹qT3Iï¨ÖÚ5I7Ë!ÅOóŸ¶øÝñØôת¦$Tcö‘[«Ö³šÒ';Aþ ¸èíg A2Z"i¸vdÄ÷.iõ®§)¿]¤À†–‡É&ä{V¶iŽ”.Ó×Õÿ û?h¬Mt–íª[ÿ Ñÿ ÌV(í}=ibÔ¡›¥¢±b Lô¥‡piη_Z<‡z§èŒ)iÖwiÇ 2hÙ3·=’d÷8éŽ1¦¸c¤µ€7›7Ø ð\á)} ¹fËí›pAÃL%âc2 í§æQz¿;T8sæ°qø)QFMð‰XŒÂ±N¢aF¨…8¯!U  Z©RÊ ÖPVÄÀÍin™Ì-GˆªÅËŠ›•zË}º±ŽÍFò¹}Uw×#ä5B¤{î}Ð<ÙD é©¤&‡ïDbàÁôMÁ." ¤‡ú*õ'VŽ|¼´Úgllº¼klz[Æüï÷Aób‡Eÿ dÑ»Xx9ÃÜ£ÁT/`¼¸vI±Ýµ·Ë‚“G³þ*Ÿû´r|*}<¨îºœ @¦mÄ’M¹”.œ«Y–|6ÏU¤jç¥ÕÞqO ˜kDÆÁ¨5ÿ š;ÐЦ¦€GÙk \ –Þ=â¼=SͧµªS°ÚÍpÜãQűÀõ¬?ÃÁ1Ñ•õZà?hóœ€ L¦l{Y*K˜Ù›zc˜–ˆâ ø+¾ ­-Ök¥%ùEÜA'}ˆ><ÊIè“bpÍ/qÞâvoX€w,\úªò6Z[XdÒæ­@Ö—€$òJí#é>'°Ú ôª˜<)4ryÙ£|óAÅn5žêŸyÒäMÝ2{"}‰–¤l÷ûWX\l¾Á¸góÉOÔ /óñB¤f¸çñ[.P˜ZsÊË*ßT܈§QN¢’¡¨§V¼(Üù*eÕ“”5T¨‹Âê¥FŒã½Dü[8'Ò¥a…Ú¶k7a *•›¼'Ò·\8¨ª\@\õ¢¦íq+DÙrmÎ…_ªæ»ŠÓœ¡¯’Ré9MÅ×D™lælffc+ŒÑ,ý™ÿ ¯þǤ=Å’Á7µ÷ÚÛ/“Ü€ñýã¼àí¾ÕÑ+ƒ,uµMâÀÄbm:ÒÎPæ{˜Gz[ƒ¯«® KHà`ߨŠéí¯P8Aq.C‰ à€kòpj´kN¶qô€…Õ,ÜNŠª-­{Zö’æû44‰sŽè‰îVíRœÕm" 6?³D9¡ÇTíÅꋇ`4«¸ÝÁô ï’ýorqКÇZ«x4Žâéþuïf¹µö[P ,Q£éaX±`PÉÍZ ¸äYúg üAx ’6Lê‚xÝÓ*äQ  Ï’¨hÍ =²,6ï#rÃ<¯–£»ƒ‹,–ê•€ aÛsñ'%Æ"®ÛüìBᝠHÚ3ß°©$“XnœÖ’î2ËTeûìxîß ¦å¿çÉ ðK§þ{‘t‚Ϋ¬jéîZ[ ”š7L¥4VÚCE×]m¤Øy”ä4-dz£œ§¸x.*ãÊÊ b÷•h:©‡¦s`BTÁRû¾g⻩‹jø sF¢àJøFl‘È•Xᓁà~*j¯ +(ÚÕ6-£¯÷GŠØy‚<Ç’.F‹Hœw(+)ÜÜâÈzÄäT§FߘãÏ;DmVœ3Àu@mÚüXÝü•3B¨òÌÁÛ<·ÃÜ z,Ì@õÅ·d2]ü8s÷IôÞ¯^Ç9¢u„~ëAŸï4«M? K]­ÅàPl@s_ p:°¬ZR”´›JC[CS.h‹ƒïËœ«Æ]–÷ó‚wR×k7X‰k›‘´ù¦=¡«‰¨¨Â')—71ó’c‡Ðúµ `é.{§p¹ój\Ž{1h{o±Ý=áUÊïGÖŒõ–-BÄm+AZX¶¡ ïHðæ¥JmÙ;…䡟ˆ¦ ° äšiÉg«$üMk5¤L“’çÊvïâï ,=f“"íἊ5ô¬x6{ɏžID0e¸vçmi'︧ºð9$ò¹÷*£’9ÿ ²TÔ…×>JV¥}Œ}$p[bÔ®*[jzS*8 ”·T›Í–ñUîƒwo$áè=LT™ç—~ô·¤ÈÚ$榍q‰„+´kFm)ž‹©i–ËqÞŠ‰à¶ü( ‚•§ •°ò·‡#5ª•µÊ﯅¡X¨šÁ*F#TXJÊ ušJVÍ&=iÄs1‚3•'fý§5Ñ<=[íÞ­ PÚ;ѱÌ_~Ä££8rÞ ²w;’hDT°>ÈG¬8Á²ÚzŽ®ò®qZcqJêäÞ-ö[ܘbň±çb“ж31²n×iƒðÕ;1¶þÉ ªX‰,ßqÏ$>•î íZ¥Z 1{ç൵+ƒÕµ¥°T$§K]á»Ûï*·¤tMI’ÂZbŽÕiÒ˜}bÓ0£ª5›¨ [5Ž^ÝœWøÂÝh° ¢OWun£¤5 a2Z.G2³YL]jåtì”ä ÁÓ‘%"©<Ôúʰsº UZvä‡ÄiÆÒM .÷V·™ø#kèýiíÌ–ª)µT[)BˆõÑ xB¾B€ÖT¨.¥~ð@VĶr#¸ü*åZNDŽH;âi ],©£öØpù(šºãö¼T.uCê•4@ÿ GÕÛ)Cx›®0ø#:ÏðFÒbR\(€€Ä®fã4Þ‰Fä¯HXƒÅ,†öEÑÔÜ]Öv²?tLÃvBY£ú6Êu5ÅAQ³1‘’¬x–HŒÐ‡ ^ ¸KwJôÖŽ5×CÚ¨vÜ«/B0$×k°=ðbÇ(Ï)w±A†Á† 11Í=èQšµ626ŒÜ/`G«µ<}—-Ö7KEHÈÉðóȤmݱû±·ø«Snmá=“䫚mݱŸ¡¶~ó·“äUóJæúòB|E LêŽy´jDÔ$G¢þÐñ7óR8ýÒ…Ç› WVe#·Ÿ p·Fx~•ݤF÷0Èÿ K¯æS<6’¡WШ; ´ÿ ¥Êø\Òuî†åÝ–VNœkÒ7oòX¨Á­Ø÷FÎÑä±g÷ÿ M~Çî=p,X´ ÝÌÚÅ‹’ÃjÖ.ØöÏñ qïQ¤ÓZE†° =6·]܈ s¸>v•Ž^Ý\wq9r‰Î\¸¡kURÒ$­*‹Nq?Þª*!sŠÆ:TU_u±T+øX¡ ®¹¡,ÄâÃBTsÜ$Ø›4m椴zÜK]’’›Pƒ @€#â˜`é¹=I‡fiV•Ôî“nRm+µFPOhÍ0B£ €+¬5c v•:P'ÒyÎ ‰V~‚Ó†ÖuókDoh$å\*ö%Ю=£«…aȼ½÷Û.-½VŒŠ¼'lyî±1¬3ó#ÞE¿ÔS¤gV£m›=§\û"—WU¤ÚǼÿ ÂnÁGŒÃ ‚õN D³õNÚíŒÕ;HôyÄÈ©P¹Ä{:?R‘Ô¨âF÷ø£bÅó® JS|‚R÷ivýáâ€Æé¡è³´IئÑT!§˜•ت‚¬â@q€wnïCWÄ@JU€ê¯m6]Ï:£âx'+ÒðXvÓ¦Úm=–´7œ $ì“B£~p%ÕŸUþ« N@¼üï~w˜ñø5®—'Ôe»¤5ã//€ž~‰Tþ›Å7•#¤× Íö pÄ$ùeåì*«ÓŠEØWEÈsßg ¦ûvžSsLpºÊW–âµEWöˬH; ™!CYõZ ÃÄf æ#1W. \uWâ\,\Çf j’<qTbên›Î[vxx£ë 'ö¨1›˜ÀM¼Pÿ H)ƒêêŒA7s,|F“ 꺸k³9Ìö*ç®;Ö!Ö$Eiž•¹ÒÚ†ýóéÝû¾ÕS®ó$’NÝäŸz¤5r¦ãÄÃD÷Üø!°ø‡Ô&@m™Ì^Ãä­d q5Lnÿ N;.6½·N|#ä"1Nƒx“ã<3('&ñßt  ~ªu”1Tb㫨9ê–›–bìd$ߣ=#ÕãÒmU¯eí$EFù5ýYô櫨æì™Ç—±ssM]·á¿0ÕåJRÓªîiƒ+O58ÖñªŠÒx" \µâá¨i’¤i —Ö ” M+M¤ë9‚‰A¦°Qõ¾ßøK~¼Ã‘g…Ö´~÷Ï[3GUœÒ½#…kàÔ®Ò”‰³·dWV‰IP‰Ú8u¹”E ÖqLj¾êÕCBš{A^Âß;–¨`¯¬ìö ˼ ×tìø.tƐm*n¨y4o&Àx¥n¦×î‡aupáÛj8¿m›è¶ã!o½;ß0y^ý×^EÑ¿ÒjzŒ­)vÚÑnÄL …^ªô× ‡—‚3k Îý­hï]içå–îÏ*÷ñþ»Ô CÒjøjÍznˆ´ ¹#b'Fô‹ ‰v¥'’à'T´ƒHýÍ%M‰ ƒ&ÆÇŒï1 ‘ –Þ ‰i¬s žR-Ÿ kЬá¬7:þ 0ŒÅÒÕ/aÙ¬ÃÝ#Úøœ ©aiVc‰. ¹¦ãµ” ›Yg¦›ÆÎýº°f³7ƒhá·¸­}&D9¡ÂsÉÙÞèŠõØàC™¨ñbFC|´Ü(ŸƒÚÒ-%»'a Ì¿)ËÇn¿úÿ ÞŽX…4ÊÅH^ôΑí@ù¹Eh¶“L8Çjù ¼ÎåVªóR©Ï5uà V4lZß®=€xÖŸ–ÑÈ ÷”¨°¾__yM1tÉ?uÆþIkÄgæ@þ[¢†°XÃJ£j·:nkÅ¢u ‘}âGzö­/IµèЬ¼48q¦F°ŽR¼=ûì{´¯RýicS ÕÛ íNtÍÙï£,w4rêì®»~x(©Uñ§#Ñ&œÕ¤>ÎåÍÓ9’Ö{9eV­[Öjâ²ãu]˜å2›qÑšÕJç0€sÄ|Êëè0튔bÁ>“{×_F`Ø©ºê:µä,v¤ðfc1±"«ÔÍän1#=· Âøv~H½ÐßA¾¿Ü€Óš]Õ; I¾÷ç‚Qi†î¹9ywÔKG˜áñ zQY—§ÃÕZ07§X‚ Áh;ÁM)iÌCH-¯T‘ë|A0{Ò½LÚ–TâÖkÜ’dÀ“rmm»”جPF³ÖcbE§T€ÒxKºû’Ó®7±²(\4ŽÃ¸Uu@j™yĵ;³µ!Á¢b.W¤=mõ´êµK k ¸K^ÜÛ#p*Ü14qkZç5ïë †°5Ï%ÍÛ<Õ¤×Ô¥ê†C Õ´¼ú$ƒÖ“”]Ù¬qÞÚ[4©ý!ûÏ—Áb쳐XµA¬â~`›Çr¸8ìùÝ䫦<>ä÷«?xs´ÇÑ /á;¹øüÊÈÙà{"@Žïzâ¬[âß‚ U_<ÇŸ½4èN˜ú61®qŠu ¦þF£»äJ_ˆÙÎ~ ÞAã–݄ϗrŠD;xTž‘ô`É«…suãO`?³à™ô Lý#Íc5öoæØ‚y´´÷«ZR§<&JÇ+éâô´€i!Àˆ0æAoàðLèÖ-2ŸõW.’t^–(KÁmHµV@xÜÇy®Ñø­â^:Ú3w· 7½¹°ñ¸â¹®:',«Mœ—n­Á+Ãbš LÈ‘ÄnRÓÅœ%¦²‰¨ùQ:¤f‚ "PÕtô¸…cæl…&˜Ú˜Ôkv‹ž+vŠ,=¢v­6—Xy*¥t£«<™:“aîϲ=¦6rO]XI¿Œ÷¤zÚ­›¶ 6÷”w\d ü~v®ˆÌk«^m<ÿ ¢‰Õ\)ùºŽ;… lîÙÅEŠ®cѾ@vnMÏ,¼“ñ•ŽBxðÃzãÇç%3ˆ"}Ù•Åî> BÉú;Ò]V+P˜F_´ßé> Øše|ï‡ÄOmFæÇ ãqÞ$/xÐx­z`ï9"œÜij‚!7.\Td…9M‡•iŽ‹¾‘50ÞŽn¥ß4ÉôO ¹*í^QêËÜÇÌ8=ާs‰'ÂëÙ«á%Pú[O †ÅP¯Vsް.‰,kc¶ ¬A9n˜XÎ-ÞšN["¹QÕ‰ƒMýÁߺXJæÍaLj¾×Ãmã¾ãÚ uñÒþåQô¦¥ /ÄUx:‚ÍÜ’ Đ©ØÝ3V¨‰ÕnÐ6ó*óúK­«…c ¯U òhsý­jóÔj#,ímŒRµ«lbïUTŒÑ8†Ä0œÏr`ð¡¬É Ї ë"À² ™ 6¥ f¶ ¢ÚoܱԷ-<Àî)†a¶ž'Ú»¨TXqØæ¶÷YÄHy˜9ÈIW­YÀuMFë ºÏ’AqÌ4·/Ú †ô'i$øä­=Ä Ý|öK×40è|È6p‘0§)o¥ctî§H+CA-“ xØ|ÐXАç l8íºð3Ø:³¤¬KX¯UÿÙ  &tWc@sddlZddlZddlZddlZddlZddlZddlmZddlmZddlm Z ddlm Z ddlm Z ddlm Z ddlm Z dd lmZdd lmZd ejfd YZd efdYZdefdYZdefdYZdejfdYZdfdYZdZedkrejddndS(iN(t DummyOptions(tDummySupervisor(t DummyProcess(t DummyPConfig(tDummyPGroupConfig(tDummyProcessGroup(tPopulatedDummySupervisor(t_NOW(t _TIMEFORMATtTestBasecBs#eZdZdZdZRS(cCsdS(N((tself((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pytsetUpscCsdS(N((R ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttearDownscOs]ddlm}y|||Wn)|jk rL}|j|j|n XtddS(Ni(txmlrpcs Didnt raise(t supervisorR tRPCErrort assertEqualtcodetAssertionError(R RtcallabletargstkwR tinst((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt_assertRPCErrors (t__name__t __module__R R R(((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyR s  tMainXMLRPCInterfaceTestscBs,eZdZdZdZdZRS(cCsddlm}|jS(Ni(R (RR tRootRPCInterface(R R ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt_getTargetClass$scOs|j||S(N(R(R RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt_makeOne(scCs)|jdg}|j|jddS(NR(RN(RtNoneRR(R t interface((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_ctor+scCst}|jd|fg}ddlm}|j|jj|j|dg|j|jj|j|dg|j|jj|j|ddg|j |j|dgddS( Ntdummyi(R snotthere.hellossupervisor._readFiles dummy.helloisHello!( tDummyRPCInterfaceRRR RtFaultstUNKNOWN_METHODttraversetINCORRECT_PARAMETERSR(R R!RR ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_traverse/s      (RRRRR R'(((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyR"s   t'SupervisorNamespaceXMLRPCInterfaceTestscBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNZPdOZQdPZRdQZSdRZTdSZUdTZVdUZWdVZXdWZYdXZZdYZ[dZZ\d[Z]d\Z^d]Z_d^Z`d_Zad`ZbdaZcdbZddcZeddZfdeZgdfZhdgZidhZjdiZkdjZldkZmdlZndmZodnZpdoZqdpZrdqZsdrZtdsZuRS(tcCsddlm}|jS(Ni(t rpcinterface(RR)tSupervisorNamespaceRPCInterface(R R)((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyR?scOs|j||S(N(R(R RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyRCscCsddlm}ddlm}t}|j|}|jd|j|jd|j |j _ |j |j j|jddS(Ni(R (tSupervisorStatestfoo(RR tsupervisor.supervisordR+RRt_updateRt update_texttSHUTDOWNtoptionstmoodRR#tSHUTDOWN_STATE(R R R+t supervisordR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_updateFs  cCs^ddlm}t}|j|}|j}|j||j|j|jddS(Ni(R)t getAPIVersion(RR)RRR6Rt API_VERSIONR/(R R)R4Rtversion((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_getAPIVersionQs   cCs2t}|j|}|j|j|jdS(N(RRRR6t getVersion(R R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt3test_getAPIVersion_aliased_to_deprecated_getVersionYs cCs^t}|j|}|j}ddlm}|j||j|j|jddS(Ni(R1tgetSupervisorVersion(RRR<RR1RtVERSIONR/(R R4RR8R1((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_getSupervisorVersion^s   cCsQt}|j|}|j}|j||jj|j|jddS(NtgetIdentification(RRR?RR1t identifierR/(R R4RR@((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_getIdentificationgs   cCsddlm}t}|j|}|j}|jj}||}|j|d||j|d||j|jddS(Ni(tgetSupervisorStateDescriptiont statecodet statenametgetState( tsupervisor.statesRBRRRER1R2RR/(R RBR4Rt stateinfoRCRD((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_getStatens    cCsWt}t|}|j|}|j|j|j|j|jddS(NtgetPID(RRRRRItget_pidR/(R R1R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_getPIDys   cCs2t}|j|}|j|j|jdS(N(RRRt readMainLogtreadLog(R R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt.test_readLog_aliased_to_deprecated_readMainLogs cCsQddlm}t}|j|}|j|jj|jdddddS(Ni(R toffsetitlengthi(RR RRRR#tNO_FILERM(R R R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_readLog_unreadables  cCsddlm}t}|j|}z|jj}t|d}|jdd|j|j |j j |j dddd|j |j j |j ddddWdt j|XdS( Ni(R sw+txiRORPi(RR RRR1tlogfiletopentwritetcloseRR#t BAD_ARGUMENTSRMtostremove(R R R4RRTtf((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_readLog_badargss    cCs?t}|j|}|jj}zt|d}|jdd|jdd|j|jdddd}|j|j d|j|dddd|jdddd}|j|dd|jdddd}|j|dd|jdd dd}|j|d Wdt j |XdS( Nsw+RSityROiRPRMiityyyy( RRR1RTRURVRWRMRR/RYRZ(R R4RRTR[tdata((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_readLogs$   cCsEddlm}t}|j|}|j|jj|jdS(Ni(R (RR RRRR#RQtclearLog(R R R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_clearLog_unreadables cCsyddlm}t}|jg|_d|_t|}|j|}|j|j |j |j |j ddS(Ni(R iRa( RR RRTtexistingt remove_errorRRt assertRaisesRRaRR/(R R R1R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_clearLog_unremoveables   cCst}|jg|_t|}|j|}|j}|j|jd|j|t|j|j d|jx*|j j j D]}|j|j tqWdS(NRai(RRTRcRRRaRR/tTruetremovedR1tloggerthandlerstreopened(R R1R4Rtresultthandler((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_clearLogs   cCsNt}|j|}|j}|j|t|j|jjddS(Ni(RRtshutdownRRgR1R2(R R4Rtvalue((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_shutdowns   cCsNt}|j|}|j}|j|t|j|jjddS(Ni(RRtrestartRRgR1R2(R R4RRp((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_restarts   cst}t|}|j|}t|dgt|dgt|dggfd|_|j}|j|dgdgdgggdS(NtaddedtchangedtdroppedcsS(N(((tchanges(sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pytt(RRRRtdiff_to_activet reloadConfigR(R R1R4RRp((RwsG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_reloadConfigs   cCscddlm}t}d}||_t|}|j|}|j|jj|j dS(Ni(R c_stddS(NR,(t ValueError(targR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt raise_excs( RR Rtprocess_configRRRR#t CANT_REREADR{(R R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt2test_reloadConfig_process_config_raises_ValueErrors    c Cs/ddlm}ddlm}t}||}t|dtdt}t|dd|g}|g|j _ |j |}|j d}|j ||j|jjdg|j|jj|j d|j|jjdg|j|jj|j d|j|jjdgdS( Ni(t Supervisor(R R,t autostarttgroup1tpconfigstasdf(R-RRR RRt__file__tFalseRR1tprocess_group_configsRtaddProcessGroupt assertTrueRtprocess_groupstkeysRR#t ALREADY_ADDEDtBAD_NAME( R RR R1R4tpconfigtgconfigRRl((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_addProcessGroups"     cCsddlm}t}||}t|dtdt}t|dd|g}|g|j_|j |}|j d|j d}|j ||j |jjgdS(Ni(RR,RRR(R-RRRRRRR1RRRtremoveProcessGroupRRRR(R RR1R4RRRRl((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_removeProcessGroup s    cCsddlm}ddlm}t}||}t|dtdt}t|dd|g}|g|j _ |j |}|j |j j|jddS( Ni(R(R R,RRRR(R-RRR RRRRRR1RRRR#RR(R RR R1R4RRR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_removeProcessGroup_bad_names  c Csddlm}ddlm}t}||}t|dtdt}t|dd|g}|g|j _ t |}dg|_ i|d6|_ |j|}|j|jj|jddS( Ni(R(R R,RRRi{(R-RRR RRRRRR1RRtunstopped_processesRRRR#t STILL_RUNNINGR( R RR R1R4RRtprocessR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt%test_removeProcessGroup_still_running(s    cCsddlm}t}t|dtdt}t|d|}|jddd|j|}|j |j j |j ddS(Ni(R R,Rtpidi ( RR RRRRRt set_procattrRRR#tALREADY_STARTEDt startProcess(R R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt!test_startProcess_already_started8s  cCsrt}t|dtdt}t|d|}|j|}ddlm}|j|j j |j ddS(NR,RRi(R s group2:foo( RRRRRRRR RR#RR(R R1RR4RR ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_startProcess_bad_group_nameDs cCsrt}t|dtdt}t|d|}|j|}ddlm}|j|j j |j ddS(NR,RRi(R s group1:bar( RRRRRRRR RR#RR(R R1RR4RR ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt"test_startProcess_bad_process_nameMs cCst}t|dddt}ddlm}t|d|}|jdjd}||_|j |}ddl m }|j |j j|jddS(NR,s/foo/barRi(tNotFound(R (RRRtsupervisor.optionsRRRt processestexecv_arg_exceptionRRR RR#RQR(R R1RRR4RRR ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_startProcess_file_not_foundVs  cCst}t|dddt}ddlm}t|d|}|jdjd}||_|j |}ddl m }|j |j j|jddS(NR,s/foo/barRi(t NotExecutable(R (RRRRRRRRRRRR RR#tNOT_EXECUTABLER(R R1RRR4RRR ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt%test_startProcess_file_not_executablebs  cCsddlm}t}t|dtdt}ddlm}t|d|}|j dd|j |j dj d}d|_ |j|}|j|jj|jddS(Ni(R R,R(t ProcessStateststatetabc(RR RRRRtsupervisor.processRRRtSTOPPEDRRtspawnerrRRR#t SPAWN_ERRORR(R R R1RRR4RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_startProcess_spawnerrns   cCst}t|dtdtdd}ddlm}t|d|}|jdd|j|j |}|j d}|j dj d}|j |jt|j |jd|j|_|j |tdS( NR,Rt startsecsg{Gz?i(RRR(RRRRRRRRRRRRRRtspawnedRgR/tRUNNINGR(R R1RRR4RRlR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_startProcess~s   c sddlm}t}t|dtdt}ddlmt|d|}|j ddj |j dj dfd}fd}|_ |_|j|}|jd}|j|jj|dS( Ni(R R,R(RRcst_j_dS(N(RgRtSTARTINGR((RR(sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pytspawns cs d_dS(NR(R((R(sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt transitions(RR RRRRRRRRRRRRRRRRR#R( R R R1RR4RRRtcallback((RRsG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt$test_startProcess_spawnerr_in_onwaits   cst}t|dtdt}ddlmt|d|}|jddj|j dj dfd}|_ |j |}|j d}j_|j|tdS(NR,Ri(RRcst_j_dS(N(RgRRR((RR(sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyRs (RRRRRRRRRRRRRRRRRRg(R R1RR4RRR((RRsG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt#test_startProcess_success_in_onwaits   cCst}t|dtdt}ddlm}t|d|}|jdd|j|j |}|j ddt}|j |t |j djd}|j |jt |j |jddS(NR,Ri(RRtwaitR(RRRRRRRRRRRRRgRRRR/(R R1RRR4RRlR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_startProcess_nowaits c s1t}t|dtdt}ddlmddlm}t|d|}|j ddj |j |}|j dj dfd}|_|jdd}|}|j||j|jjt|j|jd j_dd lm} |j| jj|dS( NR,Ri(R(thttpRcst_j_dS(N(RgRRR((RR(sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyRs idR(R (RRRRRRRRRRRRRRRRRt NOT_DONE_YETRRgR/tBACKOFFRR RR#tABNORMAL_TERMINATION( R R1RRR4RRRRlR ((RRsG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt3test_startProcess_abnormal_term_process_not_runnings$    cCst}t|dtdtdd}t|dtdddd}t|d||}d d lm}|jdd |j|jdd |j|j |}|j d |j |j d dS(Ntprocess1RRg{Gz?tprocess2tpriorityiR,i(RRsfoo:*tstartProcessGroup( RRRRRRRRRRRRR/(R R1tpconfig1tpconfig2R4RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt/test_startProcess_splat_calls_startProcessGroups      c Cst}t|dtdddd}t|dtdddd}t|d||}d d lm}d d lm}|jdd |j |jdd |j |j |}|j d}|j |idd 6|j d6dd6dd6idd 6|j d6dd6dd6g|j |jd|jdjd} |j | jt|jdjd} |j | jtdS(NRRiRg{Gz?RiR,i(R(R#RtgrouptstatustOKt descriptiontnameR(RRRRRRtsupervisor.xmlrpcR#RRRRRtSUCCESSR/RRRRg( R R1RRR4RR#RRRR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_startProcessGroups8         c Cs%t}t|dtdddd}t|dtdddd}t|d||}d d lm}|jdd |j|jdd |j|j|}|j dd t }d d l m }|j |idd6|jd6dd6dd6idd6|jd6dd6dd6gdS(NRRiRg{Gz?RiR,i(RRR(R#RRRRR(RRRRRRRRRRRRR#RR( R R1RRR4RRRR#((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_startProcessGroup_nowaits.         cCsHddlm}t}|j|}|j|jj|jddS(Ni(R R,(RR RRRR#RR(R R R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_startProcessGroup_badname s  c Cs}t}t|dtdddd}t|dtdddd}t|d||}d d lm}|jdd |j|jdd |j|j|}|j }d d l m }|j |idd 6|j d6dd6dd6idd 6|j d6dd6dd6g|j |jd|jdjd} |j | jt|jdjd} |j | jtdS(NRRiRg{Gz?RiR,i(RR(R#RRRRRR(RRRRRRRRRtstartAllProcessesRR#RRR/RRRRg( R R1RRR4RRRR#RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_startAllProcesses(s8          c Cs"t}t|dtdddd}t|dtdddd}t|d||}d d lm}|jdd |j|jdd |j|j|}|j d t }d d l m }|j |idd6|jd6dd6dd6idd6|jd6dd6dd6gdS(NRRiRg{Gz?RiR,i(RRR(R#RRRRR(RRRRRRRRRRRRR#RR( R R1RRR4RRRR#((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_startAllProcesses_nowaitLs.         cCs8t}t|dd}ddlm}t|d|}|jdd|j|j|}|jd}|j ||j |j d|j dj d}|j |jd|j |jd|j|j|j |j|j|j |j|j t|j dj d|j |j ddS( NR,s/bin/fooi(RRt stopProcessii(RRRRRRRRRRRR/RRtbackofftdelayt assertFalsetkillingRRtstop_report_calledtlen(R R1RRR4RRlR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_stopProcesshs"   cCst}t|dt}ddlm}t|d|}|jdd|j|j|}|j ddt }|j |t |j djd}|j |jt |j|j|j |jddS(NR,i(RRRR(RRRRRRRRRRRRRgRRt stop_calledRRR/(R R1RRR4RRlR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_stopProcess_nowait{s c st}t|dd}ddlm}t|d|}|jdjd}|j|j|j gfd}||_ |j |}|j d}|j |jd|j|dS(NR,s/bin/fooi(Rcs jdS(Ni(tpop((tL(sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt get_statesR(RRRRRRRRtSTOPPINGRRRRRR/R( R R1RRR4RRRR((RsG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt"test_stopProcess_success_in_onwaits   c sddlm}t}t|dd}ddlm}t|d|}|jdjd}|j |j |j gfd}||_ |j |}|j d} |j| ||j|jddS(Ni(RR,s/bin/foo(Rcs jdS(Ni(R((R(sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyRsR(tsupervisor.httpRRRRRRRRRRRRRRR/( R RR1RRR4RRRR((RsG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_stopProcess_NDY_in_onwaits   cCsEddlm}t}|j|}|j|j|jddS(Ni(R#R,(RR#RRRRR(R R#R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_stopProcess_bad_names   cCsddlm}ddlm}t}t|dd}t|d|}|jdd|j|j |}|j |j |j ddS(Ni(R(R#R,s/bin/fooR( RFRRR#RRRRtEXITEDRRt NOT_RUNNINGR(R RR#R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_stopProcess_not_runnings cCsddlm}t}t|dd}t|d|}|jddd|j|}|j|j|j ddS(Ni(R#R,s/bin/footstopcSsdS(Nt unstoppable((((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyRxRy( RR#RRRRRRtFAILEDR(R R#R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_stopProcess_faileds c Cst}t|dd}t|dd}ddlm}t|d||}|jdd|j|jdd|j|j|}|jd}|j |j d dd l m }|j } x |} | |j k rPqqWdd lm} |j | i| jd 6dd 6dd6dd6i| jd 6dd 6dd6dd6g|jdjd} |j | jt|jdjd} |j | jtdS(NRs/bin/fooRs /bin/foo2i(RR,RtstopProcessGroup(R(R#RRRRR(RRRRRRRRRRR/RRRRR#RRRRRg( R R1RRRR4RRRRpR#RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_stopProcessGroups>        c Cs t}t|dt}t|dt}t|d||}ddlm}|jdd|j|jdd|j|j|}|j ddt }ddl m }|j |idd 6d d 6dd 6|jd 6idd 6d d 6dd 6|jd 6gdS(NRRR,i(RRR(R#RRRRR(RRRRRRRRRRRRR#RR( R R1RRR4RRRR#((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_stopProcessGroup_nowaits*      cCsHddlm}t}|j|}|j|jj|jddS(Ni(R R,(RR RRRR#RR(R R R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_stopProcessGroup_badnames  cCst}t|dtdtdd}t|dtdddd}t|d||}d d lm}|jdd |j|jdd |j|j |}|j d |j |j d dS(NRRRg{Gz?RRiR,i(RRsfoo:*R( RRRRRRRRRRRRR/(R R1RRR4RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt-test_stopProcess_splat_calls_stopProcessGroup s      c Cst}t|dd}t|dd}ddlm}t|d||}|jdd|j|jdd|j|j|}|j}|j |j d dd l m }|j } x |} | |j k rPqqWdd lm} |j | i| jd 6dd 6dd6dd6i| jd 6dd 6dd6dd6g|jdjd} |j | jt|jdjd} |j | jtdS(NRs/bin/fooRs /bin/foo2i(RR,RtstopAllProcesses(R(R#RRRRR(RRRRRRRRRRR/RRRRR#RRRRRg( R R1RRRR4RRRRpR#RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_stopAllProcessess>         c Cs t}t|dt}t|dt}t|d||}ddlm}|jdd|j|jdd|j|j|}|j dt }ddl m }|j |idd 6|jd 6d d 6dd 6idd 6|jd 6d d 6dd 6gdS(NRRR,i(RRR(R#RRRRR(RRRRRRRRRRRRR#RR( R R1RRR4RRRR#((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_stopAllProcesses_nowait?s*       cCst}t|dd}ddlm}t|d|}|jdd|j|j|}|jdd}|j |j d|j |t |j |j jd}|j |jddS(NR,s/bin/fooi(RRi t signalProcess(RRRRRRRRRRR/RgRt group_nameRt sent_signal(R R1RRR4RRltp((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt%test_signalProcess_with_signal_numberYs c Cst}t|dd}ddlm}t|d|}|jdd|jddlm}d}||}|j |}|j d|} |j |j d|j | t |j|jjd} |j | j|dS( NR,s/bin/fooi(RR(t signal_numbertquitR(RRRRRRRtsupervisor.datatypesRRRRR/RgRRRR( R R1RRR4RtsignametsignumRRlR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt#test_signalProcess_with_signal_namehs  cCst}t|dd}ddlm}ddlm}t|d|}|jdd|j|j |}|j |j j |j dddS(NR,s/bin/fooi(R(R Ri(RRRRRR RRRRRR#t BAD_SIGNALR(R R1RRR R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_signalProcess_badsignal{s cCst}t|dd}ddlm}ddlm}t|d|}|jdd|j|j |}|j |j j |j dddS(NR,s/bin/fooi(R(R Ri (RRRRRR RRRRRR#RR(R R1RRR R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_signalProcess_notrunnings c Cst}t|dd}ddlm}ddlm}t|d|}|jdd|jd}|j |j }|j d}||_ |j |} |j|jj| jdddS( NR,s/bin/fooi(R(R RcSsdS(Ntmsg((tsig((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt signalreturnsi (RRRRRR RRRRRRtsignalRRR#RR( R R1RRR R4RtpgrouptprocR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt)test_signalProcess_signal_returns_messages    c Cst}t|dd}t|dd}ddlm}t|d||}|jdd|j|jdd|j|j|}|jd d }|j |j d t |d t j d }ddlm}|j |i|jd6dd6dd 6dd6i|jd6dd6dd 6dd6g|jdjd} |j | jd |jdjd} |j | jd dS(s Test that sending foo:* works Rs/bin/fooRs /bin/foo2i(RR,Rsfoo:*i tsignalProcessGrouptkeyR(R#RRRRN(RRRRRRRRRRR/tsortedtoperatort itemgetterRR#RRRR( R R1RRRR4RRlR#RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_signalProcess_withgroups4      c Cst}t|dd}t|dd}ddlm}t|d||}|jdd|j|jdd|j|j|}|jdd }|j |j d t |d t j d }dd lm}|j |i|jd6dd6dd 6dd6i|jd6dd6dd 6dd6g|jdjd} |j | jd |jdjd} |j | jd dS(NRs/bin/fooRs /bin/foo2i(RR,Ri R RR(R#RRRR(RRRRRRRRR RR/RRRRR#RRRR( R R1RRRR4RRlR#RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt*test_signalProcessGroup_with_signal_numbers4      c Cst}t|dd}ddlm}t|d|}|jdd|jddlm}d}||}|j |}|j d|} |j |j d dd l m} |j | i| jd 6dd 6dd 6dd6g|jdjd} |j | j|dS(NRs/bin/fooi(RR,R(RttermR (R#RRRRR(RRRRRRRRRRR RR/RR#RRRR( R R1RRR4RRRRRlR#R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt(test_signalProcessGroup_with_signal_names&    cCsddlm}t}t|dd}t|dd}ddlm}t|d||}|jdd |j|jdd |j|j |}|j |j j |j d d dS( Ni(R Rs/bin/fooRs /bin/foo2(RR,Rtbari (RR RRRRRRRRRR#RR (R R R1RRRR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt#test_signalProcessGroup_nosuchgroups   c Cst}t|dd}t|dd}ddlm}t|d||}|jdd|j|jdd|j|j|}|jd }|j |j d t |d t j d }dd lm}|j |i|jd6dd6dd 6dd6i|jd6dd6dd 6dd6g|jdjd} |j | jd |jdjd} |j | jd dS(NRs/bin/fooRs /bin/foo2i(RR,Ri tsignalAllProcessesRR(R#RRRR(RRRRRRRRRRR/RRRRR#RRRR( R R1RRRR4RRlR#RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt*test_signalAllProcesses_with_signal_numbers4      c Cst}t|dd}ddlm}t|d|}|jdd|jddlm}d}||}|j |}|j |} |j |j d dd l m} |j | i| jd 6dd 6dd 6dd6g|jdjd} |j | j|dS(NRs/bin/fooi(RR,R(RthupR(R#RRRRR(RRRRRRRRRRRRR/RR#RRRR( R R1RRR4RRRRRlR#R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt(test_signalAllProcesses_with_signal_name2s&    cCst}t|d}t|dt}t|dt}t|dd||g}it|d6|_|g|j_|j |}|j }|j |idd6dd6t d6t d 6d d 6d d 6idd6dd6t d6t d 6d d 6d d 6gdS( NR,RRRRRRtinuseRit process_priot group_prio( RRRRRRRR1RRtgetAllConfigInfoRRg(R R1R4RRRRtconfigs((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_getAllConfigInfoKs*   cCs(t}|j|}td}td}ddlm}idd6dd6|jd6|d 6|d 6td 6}|j|}|j|d id d6dd6|jd6|d 6|d 6td 6dd6}|j|}|j|did d6dd6|jd6|d 6|d 6td 6dd6} |j| }|j|didd6dd6|j d6|d 6|d 6td 6dd6} |j| }ddl m } | t j |d } |j|| j tidd6dd6|j d6dd 6|d 6td 6dd6} |j| }|j|ddS(Nidii(RtrunningRRRtstartRtnowspid 1, uptime 0:01:40tfatalitHosedRRys unknown error (try "tail fatal")tstoppedi(tdatetimeiis Not started(RRRRRRt_interpretProcessInfoRtFATALRR(ttimet localtimetstrftimeR(R R4RR#RRR"RR%tfatal2R'R(tstoptimetstopped2((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest__interpretProcessInfodsf                  cCst}|j|}ddlm}idd6dd6|jd6tdd 6dd 6td 6}|j|}|j|d dS( Ni(RR"Ri*RRi R#RR$spid 42, uptime 0:00:00( RRRRRRRR)R(R R4RRR"R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt8test__interpretProcessInfo_doesnt_report_negative_uptimes     c Csddlm}t}t|dddd}t|}d|_d|_d |_t|d d}t |}i|d6|_ t d i|d6}|j |}|j d} |j|jd |j| d d|j| dd|j| dd|j| d d|j| dd|j| dd|j| dd |j| d|j|j| dd|j| dd|j| dd|j| djddS(Ni(RR,s/bin/footstdout_logfiles/tmp/fleeb.barioi i RRtgetProcessInfoRTtstderr_logfileRyRR#RRRDRt exitstatusiRRspid 111(RRRRRRt laststarttlaststopRRRRRR4RR/RRt startswith( R RR1tconfigRt pgroup_configR R4RR_((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_getProcessInfos6       c Cst}t|dddd}t|}d|_d|_d|_t|dd}t|}i|d6|_ t di|d6}|j |}|j d}|j |d d |j |dd dS( NR,s/bin/fooR3ioi i RRRTRy(RRRRRR7R8RRRRRR4R( R R1R:RR;R R4RR_((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_getProcessInfo_logfile_NONEs       cCsddlm}t}t|dd}t|d|}|jdd|j|j|}|jd}|j |dd|j |dd dS( Ni(RR,s/bin/fooRRDtUNKNOWNRRy( RFRRRRRR>RR4R(R RR1RR4RR_((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt!test_getProcessInfo_unknown_states cCsHddlm}t}|j|}|j|jj|jddS(Ni(R t nonexistent(RR RRRR#RR4(R R R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt-test_getProcessInfo_bad_name_when_bad_processs  cCslddlm}t}t|dd}t|d|}|j|}|j|jj|j ddS(Ni(R R,s/bin/foosfoo:( RR RRRRRR#RR4(R R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt,test_getProcessInfo_bad_name_when_no_processs c s"ddlt}t|dddd}t|}tjd|_tjd|_t |dd}t |}i|d6|_ t di|d6}|j |}fd|_|jd}|j|d j|j|d j|j|d jdS( NiR,s/bin/fooR3iRRcstjdS(Ni(tfloattMAXINT((t xmlrpclib(sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyRxRyR#RR$(RERRRRRCRDR7R8RRRRRt_nowR4R( R R1R:RR;R R4RR_((REsG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt;test_getProcessInfo_caps_timestamps_exceeding_xmlrpc_maxints"     c Csddlm}t}t|dddddd}t|d d dd dd }t|d ||}|jddd|jddd|jddd|jdd|j|jd dd|jd dd|jd dd|jd d|j|j|}|j }|j |j d|j t |d |d}|j |dd|j |dd|j |dd|j |dd|j |dd|j |dd|j |dd|j |d|j|j |dd|j |d d|j |d!d|j |d"d |j |d#jd$|d} |jd jd } |j | dd |j | dd |j |dd|j | dd |j | dd|j | d| j|j | dd|j | d|j|j | dd%|j | d d|j | d!d|j |d"d dd&lm} | tj| jd' } |j | d#| jtdS((Ni(RRs /bin/process1RiR3s/tmp/process1.logRs /bin/process2is/tmp/process2.logtgnameRioR7i R8i RiiR4RTR5RyRR#RRDRR6RRRspid 111R(R(i(RRRRRRRRRtgetAllProcessInfoRR/RRR9RRR7R(R+R,R-R( R RR1tp1configtp2configR4Rtinfotp1infotp2infoRR(t starttime((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_getAllProcessInfo sl         cCsddlm}t}t|dddddd}t|d|}|j|}|j|jj|j dd d d ddS( Ni(R Rs /bin/process1RiR3s/tmp/process1.logROiRP( RR RRRRRR#RQtreadProcessStdoutLog(R R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt$test_readProcessStdoutLog_unreadableOs  c Cs ddlm}t}t|dddddd}t|d|}|j|}|jdjd}|jj }z~t |d }|j d d |j |j |jj|jdd dd d|j |jj|jdd dd dWdtj|XdS(Ni(R Rs /bin/process1RiR3s/tmp/process1.logsw+RSiRORP(RR RRRRRRR:R3RURVRWRR#RXRQRYRZ( R R R1RR4RRRTR[((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt!test_readProcessStdoutLog_badargsZs&     cCsddlm}t}t|dddddd}t|d |}|j|}|j|jj|j d d d d ddS(Ni(R Rs /bin/process1RiR3s/tmp/process1.logR,sfoo:*ROiRP( RR RRRRRR#RRQ(R R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt-test_readProcessStdoutLog_bad_name_no_processqs  c Cst}t|dddd}t|d|}|j|}|jdjd}|jj}zt|d}|j dd|j dd|j |j dd d d d }|j |j d |j |dddd|j dd dd d }|j |dd|j dd d d d}|j |dd|j dd d d d }|j |dWdtj|XdS(NR,s/bin/fooR3s /tmp/fooooooosw+RSiR]ROiRPRQiiR^(RRRRRRR:R3RURVRWRQRR/RYRZ( R R1RR4RRRTR[R_((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_readProcessStdoutLog|s,    cCsVt}t|dd}t|d|}|j|}|j|j|jdS(NR,s/bin/foo(RRRRRtreadProcessLogRQ(R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt1test_readProcessLogAliasedTo_readProcessStdoutLogs   cCsddlm}t}t|dddddd}t|d|}|j|}|j|jj|j dd d d ddS( Ni(R Rs /bin/process1RiR5s/tmp/process1.logROiRP( RR RRRRRR#RQtreadProcessStderrLog(R R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt$test_readProcessStderrLog_unreadables  c Cs ddlm}t}t|dddddd}t|d|}|j|}|jdjd}|jj }z~t |d }|j d d |j |j |jj|jdd dd d|j |jj|jdd dd dWdtj|XdS(Ni(R Rs /bin/process1RiR5s/tmp/process1.logsw+RSiRORP(RR RRRRRRR:R5RURVRWRR#RXRXRYRZ( R R R1RR4RRRTR[((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt!test_readProcessStderrLog_badargss&     cCsddlm}t}t|dddddd}t|d |}|j|}|j|jj|j d d d d ddS(Ni(R Rs /bin/process1RiR3s/tmp/process1.logR,sfoo:*ROiRP( RR RRRRRR#RRX(R R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt-test_readProcessStderrLog_bad_name_no_processs  c Cst}t|dddd}t|d|}|j|}|jdjd}|jj}zt|d}|j dd|j dd|j |j dd d d d }|j |j d |j |dddd|j dd dd d }|j |dd|j dd d d d}|j |dd|j dd d d d }|j |dWdtj|XdS(NR,s/bin/fooR5s /tmp/fooooooosw+RSiR]ROiRPRXiiR^(RRRRRRR:R5RURVRWRXRR/RYRZ( R R1RR4RRRTR[R_((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_readProcessStderrLogs,    cCsNddlm}t}|j|}|j|jj|jddddS(Ni(R Rii (RR RRRR#RttailProcessStdoutLog(R R R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt"test_tailProcessStdoutLog_bad_names  cCs~ddlm}t}t|dddddd}t|d |}|j|}|j|jj|j d d d dS( Ni(R Rs /bin/process1RiR3s/tmp/process1.logR,sfoo:*ii ( RR RRRRRR#RR](R R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt-test_tailProcessStdoutLog_bad_name_no_processs  c Cs$ddlm}t}t|dddd}t|d|}|j|}|jdjd}|jj }zt |d}|j ||j |j ddd d t|\} } } |j|jd |j| t|j| t||j| |Wdtj|XdS( Ni(tlettersR,s/bin/fooR3s /tmp/fooooooosw+ROiRPR](tstringR`RRRRRRR:R3RURVRWR]RRR/RRYRZ( R R`R1RR4RRRTR[R_ROtoverflow((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_tailProcessStdoutLog_alls(      c Csddlm}t}t|dddd}t|d|}|j|}|jdjd}|jj }zt |d}|j ||j |j ddt|d d \} } } |j|jd |j| t|j| t||j| d |j ddt|d d d \} } } |j|jd |j| t|j| t||j| d Wdtj|XdS(Ni(R`R,s/bin/fooR3s /tmp/fooooooosw+RORPidR]Ryi(RaR`RRRRRRR:R3RURVRWR]RRR/RRYRZ( R R`R1RR4RRRTR[R_RORb((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_tailProcessStdoutLog_none s6        c Cs"ddlm}t}t|dddd}t|d|}|j|}|jdjd}|jj }zt |d}|j ||j |j ddd d d \} } } |j|jd |j| t|j| t||j| |d Wdtj|XdS(Ni(R`R,s/bin/fooR3s /tmp/fooooooosw+ROiRPiR]i(RaR`RRRRRRR:R3RURVRWR]RR/RgRRYRZ( R R`R1RR4RRRTR[R_RORb((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt"test_tailProcessStdoutLog_overflow0s&      cCst}t|dddd}t|d|}|j|}|jddddd\}}}|j|jd |j|t|j|d|j|d dS( NR,s/bin/fooR3s /tmp/foooooooROiRPidR]Ry(RRRRR]RR/R(R R1RR4RR_RORb((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt$test_tailProcessStdoutLog_unreadableHs   cCsVt}t|dd}t|d|}|j|}|j|j|jdS(NR,s/bin/foo(RRRRRttailProcessLogR](R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt1test_tailProcessLogAliasedTo_tailProcessStdoutLogWs   cCsNddlm}t}|j|}|j|jj|jddddS(Ni(R Rii (RR RRRR#RttailProcessStderrLog(R R R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt"test_tailProcessStderrLog_bad_name_s  cCs~ddlm}t}t|dddddd}t|d |}|j|}|j|jj|j d d d dS( Ni(R Rs /bin/process1RiR3s/tmp/process1.logR,sfoo:*ii ( RR RRRRRR#RRi(R R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt-test_tailProcessStderrLog_bad_name_no_processfs  c Cs$ddlm}t}t|dddd}t|d|}|j|}|jdjd}|jj }zt |d}|j ||j |j ddd d t|\} } } |j|jd |j| t|j| t||j| |Wdtj|XdS( Ni(R`R,s/bin/fooR5s /tmp/fooooooosw+ROiRPRi(RaR`RRRRRRR:R5RURVRWRiRRR/RRYRZ( R R`R1RR4RRRTR[R_RORb((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_tailProcessStderrLog_allps(      c Csddlm}t}t|dddd}t|d|}|j|}|jdjd}|jj }zt |d}|j ||j |j ddt|d d \} } } |j|jd |j| t|j| t||j| d |j ddt|d d d \} } } |j|jd |j| t|j| t||j| d Wdtj|XdS(Ni(R`R,s/bin/fooR5s /tmp/fooooooosw+RORPidRiRyi(RaR`RRRRRRR:R5RURVRWRiRRR/RRYRZ( R R`R1RR4RRRTR[R_RORb((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_tailProcessStderrLog_nones6        c Cs"ddlm}t}t|dddd}t|d|}|j|}|jdjd}|jj }zt |d}|j ||j |j ddd d d \} } } |j|jd |j| t|j| t||j| |d Wdtj|XdS(Ni(R`R,s/bin/fooR5s /tmp/fooooooosw+ROiRPiRii(RaR`RRRRRRR:R5RURVRWRiRR/RgRRYRZ( R R`R1RR4RRRTR[R_RORb((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt"test_tailProcessStderrLog_overflows&      cCst}t|dddd}t|d|}|j|}|jddddd\}}}|j|jd |j|t|j|d|j|d dS( NR,s/bin/fooR5s /tmp/foooooooROiRPidRiRy(RRRRRiRR/R(R R1RR4RR_RORb((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt$test_tailProcessStderrLog_unreadables   cCsddlm}t}t|dd}t|}td}i|d6|_tdi|d6}|j |}|j |j j |j ddS(Ni(R R,Rtbadgroup(RR RRRRRRRRRR#RtclearProcessLogs(R R R1RRR R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt'test_clearProcessLogs_bad_name_no_groups   cCsddlm}t}t|dd}t|}td}i|d6|_tdi|d6}|j |}|j |j j |j ddS(Ni(R R,Rsfoo:*(RR RRRRRRRRRR#RRq(R R R1RRR R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt)test_clearProcessLogs_bad_name_no_processs   cCst}t|dd}t|}td}i|d6|_tdi|d6}|j|}|jd|j |j t dS(NR,R( RRRRRRRRRqRt logsremovedRg(R R1RRR R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_clearProcessLogss    cCsddlm}t}t|dd}t|}td}i|d6|_t|_ t di|d6}|j |}|j |j |jddS(Ni(R R,R(RR RRRRRRRgterror_at_clearRRReRRq(R R R1RRR R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_clearProcessLogs_faileds    cCsVt}t|dd}t|d|}|j|}|j|j|jdS(NR,s/bin/foo(RRRRRtclearProcessLogRq(R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt.test_clearProcessLogAliasedTo_clearProcessLogss   c Cs;t}t|dd}t|dd}t|d||}|j|}|j}||}ddlm}|j|didd6dd 6|jj d 6d d 6|j|d idd6dd 6|jj d 6d d 6|j dj d} |j| j t |j dj d} |j| j t dS(NRR,RRi(R iRRRRRi(RRRRtclearAllProcessLogsRR RR#RRRRtRg( R R1RRR4RRtresultsR RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_clearAllProcessLogs s0             c Csdt}t|dd}t|dd}t|d||}|jddt|j|}|j}||}|jdjd}|j |j t |jdjd} |j | j t|j t |dddl m} |j |d idd 6dd 6| jjd 6d d6|j |didd 6dd 6| jjd 6dd6dS(NRR,RRRvii(R iRRRsFAILED: foo:process1RiR(RRRRRgRRzRRRRtRRRR R#RR( R R1RRR4RRR{RRR ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt!test_clearAllProcessLogs_onefails&s4            cCsTt}|j|ji|j|}|j}|}|j|gdS(N(RRRRRz(R R4RRR{((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt%test_clearAllProcessLogs_no_processesBs    cCsut}t|dd}t|d|}|j|}d}ddlm}|j|jj|j d|dS(NRR,i*i(R ( RRRRRR RR#R&tsendProcessStdin(R R1RR4Rtthing_not_charsR ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt<test_sendProcessStdin_raises_incorrect_params_when_not_charsJs cCsKt}|j|}ddlm}|j|jj|jdddS(Ni(R R@schars for stdin(RRRR RR#RR(R R4RR ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt6test_sendProcessStdin_raises_bad_name_when_bad_processUs  cCsZt}t|d}|j|}ddlm}|j|jj|jdddS(NR,i(R sfoo:*schars for stdin( RRRRR RR#RR(R R1R4RR ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt5test_sendProcessStdin_raises_bad_name_when_no_process]s cCst}t|dd}t|d|}|jddd|j|}ddlm}|j|jj |j dddS(NRR,Rii(R schars for stdin( RRRRRRR RR#RR(R R1RR4RR ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt=test_sendProcessStdin_raises_not_running_when_not_process_pidfs cCst}t|dd}t|d|}|jddd|jddt|j|}ddlm}|j|j j |j dddS( NRR,Ri*Ri(R schars for stdin( RRRRRgRRR RR#RR(R R1RR4RR ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt5test_sendProcessStdin_raises_not_running_when_killingqs cCst}t|dd}t|d|}|jddd|jddt|jddtj|j|}ddlm }|j |j j |j dd dS( NRR,Ri*Rt write_errori(R schars for stdin(RRRRRterrnotEPIPERRR RR#RQR(R R1RR4RR ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt<test_sendProcessStdin_raises_no_file_when_write_raises_epipe}s cCst}t|dd}t|d|}|jddd|jddt|jddtj|j|}|jt |j dddS(NRR,Ri*RRschars for stdin( RRRRRRtEINTRRRetOSErrorR(R R1RR4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt-test_sendProcessStdin_reraises_other_oserrorss  cCst}t|dd}t|d|}|jddd|j|}d}|j|jd||jd|j|j dj d}|j|j |dS(NRR,Ri*schars for stdinR( RRRRRRRRR/RRt stdin_buffer(R R1RR4RtcharsR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt3test_sendProcessStdin_writes_chars_and_returns_trues cCst}t|dd}t|d|}|jddd|j|}|jdd|jdjd}|j|j ddS(NRR,Ri*ufiísfií( RRRRRRRRRR(R R1RR4RR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt-test_sendProcessStdin_unicode_encoded_to_utf8s cst}t|}|j|}ddlm}gfd}z,|j|fg|j(|jdd}Wdg|j(|jX|j ||j t dd}|j |j d|j |j ddS(Ni(teventscsj|dS(N(tappend(tevent(R(sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyRsR,Rii(RRRRRtRemoteCommunicationEventt callbackstsendRemoteCommEventtclearRRRttypeR_(R R1R4RRRRlR((RsG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt-test_sendRemoteCommEvent_notifies_subscriberss       cst}t|}|j|}ddlm}gfd}z,|j|fg|j(|jdd}Wdg|j(|jX|j ||j t dd}|j |j d|j |j d dS( Ni(Rcsj|dS(N(R(R(R(sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyRsu fií onceu fií twiceiis fií onces fií twice(RRRRRRRRRRRRRR_(R R1R4RRRRlR((RsG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt0test_sendRemoteCommEvent_unicode_encoded_to_utf8s       (vRRRRR5R9R;R>RARHRKRNRRR\R`RbRfRnRqRsR|RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRRRR!R1R2R<R=R?RARBRGRPRRRSRTRURWRYRZR[R\R^R_RcRdReRfRhRjRkRlRmRnRoRrRsRuRwRyR|R}R~RRRRRRRRRRR(((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyR(>s                         "   $       $    $     #   !   >     B        #      #        t#SystemNamespaceXMLRPCInterfaceTestscBsbeZdZdZdZdZdZdZdZdZ dZ d Z RS( cCsddlm}|jS(Ni(R (RR tSystemNamespaceRPCInterface(R R ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyRscCsAddlm}t}|j|}|jd|fgS(Ni(R)R(RR)RR*R(R R)R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyRs   cCs8|j}|j|jd|j|jddS(NRtsystem(RRt namespaces(R R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyR s cCsR|j}|j}|j|jj}|j|j||dS(N(Rt listMethodstsortt _listMethodsRR(R RtmethodsR((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_listMethodss     cCsdddlm}|j}|j|jj|jdg|jd}|j|ddgdS(Ni(R sfoo.barssystem.methodSignaturetarrayRa(RR RRR#tSIGNATURE_UNSUPPORTEDtmethodSignatureR(R R RRl((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_methodSignatures  c Csfddlm}ddddddd d d g }|j}|j}x|jD]}y|j|Wn$|jk rtd |nX|jd d\}}|j |}t ||} | j } | j d| j !} |jt| j} g} g}g}g}g}g}g}g}x| D]}|ddkr| j|d|j|d|j|d|j|dq3|ddkr|j|d|j|d|j|d|j|dq3|ddk r3td|d|| fq3q3Wt| t|kr[tdt| t||fnx<| D]4}|jt|tk|t||| fqbWx$|D]}|j||k|qWx[tt|D]G}||| |krd||| ||| f}t|qqWx0|D](}|jt|tdk|q&Wt|dkrwtd|nx9|D]1}|jt|tk|t||fq~Wx$|D]}|j||k|qWx?|D]7}|jt|tdk|t||fqWx?|D]7}|jt|tdk|t||fq#WqVWdS(Ni(R tinttdoubleRatbooleansdateTime.iso8601tbase64tbinaryRtstructs=methodSignature for %s raises RPCError (missing @return doc?)t.itparamiiiitreturns%unknown tag type %s for %s, parsed %ss6Incorrect documentation (%s args, %s doc params) in %ss Name wrong: (%s vs. %s in %s) %sRys'Duplicate @return values in docs for %s(RR RRRRRRtsplitRtgetattrt func_codet co_varnamest co_argcounttgettagststrt__doc__RRRRRRtrange(R R t _RPCTYPESRRtktns_namet method_namet namespacetmethRtargnamestparsedtplinestptypestpnamestptextstrlinestrtypestrnamestrtextstthingtdoclinetdoctypeRSRtdoctexttdocname((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_allMethodDocss      "      &     cCs{|j}|jidd6dgd6idd6gd6g}|j|d|jd|j|d|jdS(Nssystem.methodHelpt methodNametparamsssystem.listMethodsii(Rt multicallRt methodHelpR(R RR{((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_multicall_simplevals]s  cCsddlm}|j}|jidd6gd6g}|j|jjd}i|jd6|jd6}|j ||gdS( Ni(R ssystem.multicallRRs$Recursive system.multicall forbiddent faultCodet faultString( RR RRRR#R&RttextR(R R RR{tetrecursion_fault((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_multicall_recursion_guardfs  cCsuddlm}|j}|jidd6g}|j}x||jkr\|}qAW|j|dgdS(Ni(Rssupervisor.stopAllProcessesRi(RRRRRR(R RRRR{((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_multicall_nested_callbackrs   cCsdddlm}|j}|j|jj|jdg|jd}|j||jjdS(Ni(R sfoo.barssystem.methodHelp( RR RRR#RRRR(R R Rthelp((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_methodHelp|s  ( RRRRR RRRRRRR(((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyRs    ^ tTest_make_main_rpcinterfacecBseZdZdZRS(cCsddlm}||S(Ni(tmake_main_rpcinterface(tsupervisor.rpcinterfaceR(R R4R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt_callFUTscCs)|jd}|j|jjddS(NR*(RRRt __class__R(R R((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyttest_its (RRRR(((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyRs R"cBseZdZRS(cCsdS(NsHello!((R ((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pythellos(RRR(((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyR"scCstjtjtS(N(tunittestt findTestCasestsystmodulesR(((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyt test_suitest__main__t defaultTestR(RRRRYR+Rtsupervisor.tests.baseRRRRRRRRRtTestCaseR RR(RRR"RRtmain(((sG/usr/lib/python2.7/dist-packages/supervisor/tests/test_rpcinterfaces.pyts<