PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  4h^c@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/site-packages/supervisor/tests/test_rpcinterfaces.pytsetUpscCsdS(N((R ((sG/usr/lib/python2.7/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyt_assertRPCErrors (t__name__t __module__R R R(((sG/usr/lib/python2.7/site-packages/supervisor/tests/test_rpcinterfaces.pyR s  tMainXMLRPCInterfaceTestscBs,eZdZdZdZdZRS(cCsddlm}|jS(Ni(R (RR tRootRPCInterface(R R ((sG/usr/lib/python2.7/site-packages/supervisor/tests/test_rpcinterfaces.pyt_getTargetClass$scOs|j||S(N(R(R RR((sG/usr/lib/python2.7/site-packages/supervisor/tests/test_rpcinterfaces.pyt_makeOne(scCs)|jdg}|j|jddS(NR(s supervisorN(RtNoneRR(R t interface((sG/usr/lib/python2.7/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyt test_traverse/s      (RRRRR R'(((sG/usr/lib/python2.7/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyR?scOs|j||S(N(R(R RR((sG/usr/lib/python2.7/site-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/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyttest_getAPIVersionQs   cCs2t}|j|}|j|j|jdS(N(RRRR6t getVersion(R R4R((sG/usr/lib/python2.7/site-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/site-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/site-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/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyt test_getPIDys   cCs2t}|j|}|j|j|jdS(N(RRRt readMainLogtreadLog(R R4R((sG/usr/lib/python2.7/site-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/site-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/site-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/site-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/site-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/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyt test_clearLogs   cCsNt}|j|}|j}|j|t|j|jjddS(Ni(RRtshutdownRRgR1R2(R R4Rtvalue((sG/usr/lib/python2.7/site-packages/supervisor/tests/test_rpcinterfaces.pyt test_shutdowns   cCsNt}|j|}|j}|j|t|j|jjddS(Ni(RRtrestartRRgR1R2(R R4RRp((sG/usr/lib/python2.7/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyts(RRRRtdiff_to_activet reloadConfigR(R R1R4RRp((RwsG/usr/lib/python2.7/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyt raise_excs( RR Rtprocess_configRRRR#t CANT_REREADRz(R R R1R~R4R((sG/usr/lib/python2.7/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pytspawns cs d_dS(NR(R((R(sG/usr/lib/python2.7/site-packages/supervisor/tests/test_rpcinterfaces.pyt transitions(RR RRRRRRRRRRRRRRRRR#R( R R R1RR4RRRtcallback((RRsG/usr/lib/python2.7/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyRs (RRRRRRRRRRRRRRRRRRg(R R1RR4RRR((RRsG/usr/lib/python2.7/site-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/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyRs idR(R (RRRRRRRRRRRRRRRRRt NOT_DONE_YETRRgR/tBACKOFFRR RR#tABNORMAL_TERMINATION( R R1RRR4RRRRlR ((RRsG/usr/lib/python2.7/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyt get_statesR(RRRRRRRRtSTOPPINGRRRRRR/R( R R1RRR4RRRR((RsG/usr/lib/python2.7/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyRsR(tsupervisor.httpRRRRRRRRRRRRRRR/( R RR1RRR4RRRR((RsG/usr/lib/python2.7/site-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/site-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/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyRxs( RR#RRRRRRtFAILEDR(R R#R1RR4R((sG/usr/lib/python2.7/site-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 rPqqdd 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/site-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/site-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/site-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/site-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 rPqqdd 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/site-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/site-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/site-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/site-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/site-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/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyt signalreturnsi (RRRRRR RRRRRRtsignalRRR#RR( R R1RRR R4RtpgrouptprocR((sG/usr/lib/python2.7/site-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/site-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 R R(R#RRRR(RRRRRRRRR RR/RRRRR#RRRR( R R1RRRR4RRlR#RR((sG/usr/lib/python2.7/site-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/site-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/site-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 tsignalAllProcessesR R(R#RRRR(RRRRRRRRRRR/RRRRR#RRRR( R R1RRRR4RRlR#RR((sG/usr/lib/python2.7/site-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/site-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/site-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:40tfatalitHosedRts 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/site-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/site-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_logfileR&RR"RRRDRt exitstatusiRRspid 111(RRRRRRt laststarttlaststopRRRRRR4RR/RRt startswith( R RR1tconfigRt pgroup_configR R4RR_((sG/usr/lib/python2.7/site-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 RRRTR&(RRRRRR7R8RRRRRR4R( R R1R:RR;R R4RR_((sG/usr/lib/python2.7/site-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/fooRRDtUNKNOWNRR&( RFRRRRRR>RR4R(R RR1RR4RR_((sG/usr/lib/python2.7/site-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/site-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/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyRxsR"RR#(RERRRRRCRDR7R8RRRRRt_nowR4R( R R1R:RR;R R4RR_((REsG/usr/lib/python2.7/site-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 RiiR4RTR5R&RR"RRDRR6RRRspid 111R(R(i(RRRRRRRRRtgetAllProcessInfoRR/RRR9RRR7R(R+R,R-R( R RR1tp1configtp2configR4Rtinfotp1infotp2infoRR(t starttime((sG/usr/lib/python2.7/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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]R&i(RaR`RRRRRRR:R3RURVRWR]RRR/RRYRZ( R R`R1RR4RRRTR[R_RORb((sG/usr/lib/python2.7/site-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/site-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]R&(RRRRR]RR/R(R R1RR4RR_RORb((sG/usr/lib/python2.7/site-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/site-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/site-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/site-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/site-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+RORPidRiR&i(RaR`RRRRRRR:R5RURVRWRiRRR/RRYRZ( R R`R1RR4RRRTR[R_RORb((sG/usr/lib/python2.7/site-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/site-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/foooooooROiRPidRiR&(RRRRRiRR/R(R R1RR4RR_RORb((sG/usr/lib/python2.7/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyRsR,Rii(RRRRRtRemoteCommunicationEventt callbackstsendRemoteCommEventtclearRRRttypeR_(R R1R4RRRRlR((RsG/usr/lib/python2.7/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyRsu fií onceu fií twiceiis fií onces fií twice(RRRRRRRRRRRRRR_(R R1R4RRRRlR((RsG/usr/lib/python2.7/site-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/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyRscCsAddlm}t}|j|}|jd|fgS(Ni(R)R(RR)RR*R(R R)R4R((sG/usr/lib/python2.7/site-packages/supervisor/tests/test_rpcinterfaces.pyRs   cCs8|j}|j|jd|j|jddS(NRtsystem(RRt namespaces(R R((sG/usr/lib/python2.7/site-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/site-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/site-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) %sR&s'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/site-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/site-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/site-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/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyttest_methodHelp|s  ( RRRRR RRRRRRR(((sG/usr/lib/python2.7/site-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/site-packages/supervisor/tests/test_rpcinterfaces.pyt_callFUTscCs)|jd}|j|jjddS(NR*(RRRt __class__R(R R((sG/usr/lib/python2.7/site-packages/supervisor/tests/test_rpcinterfaces.pyttest_its (RRRR(((sG/usr/lib/python2.7/site-packages/supervisor/tests/test_rpcinterfaces.pyRs R"cBseZdZRS(cCsdS(NsHello!((R ((sG/usr/lib/python2.7/site-packages/supervisor/tests/test_rpcinterfaces.pythellos(RRR(((sG/usr/lib/python2.7/site-packages/supervisor/tests/test_rpcinterfaces.pyR"scCstjtjtS(N(tunittestt findTestCasestsystmodulesR(((sG/usr/lib/python2.7/site-packages/supervisor/tests/test_rpcinterfaces.pyt test_suitest__main__t defaultTestR(RRRRYR+Rtsupervisor.tests.baseRRRRRRRRRtTestCaseR RR(RRR"RRtmain(((sG/usr/lib/python2.7/site-packages/supervisor/tests/test_rpcinterfaces.pyts<