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@sddlZddlZddlmZddlmZddlmZddlmZdejfdYZdejfd YZ d ejfd YZ d ejfd YZ dZ e dkrejddndS(iN(t DummyOptions(t DummyPConfig(t DummyProcess(t DummyEventt"EventSubscriptionNotificationTestscBsPeZdZdZdZdZdZdZdZdZ RS(cCsddlm}g|j(dS(Ni(tevents(t supervisorRt callbacks(tselfR((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pytsetUp scCsddlm}g|j(dS(Ni(R(RRR(RR((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttearDownscCs:ddlm}|jdd|j|jdgdS(Ni(R(NN(RRt subscribetNonet assertEqualR(RR((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_subscribescCsPddlm}dddg|j(|jdd|j|jd d gdS( Ni(Riii(ii(ii(ii(ii(ii(RRRt unsubscribeR (RR((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_unsubscribescCs>ddlm}dg|j(|j|j|jgdS(Ni(R(NN(RRR RtclearR (RR((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt test_clears  cs_ddlm}gfd}t|fg|j(|jt|jdgdS(Ni(RcsjddS(Ni(tappend(tevent(tL(s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pytcallback&si(RRRRtnotifyR (RRR((Rs@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_notify_true#s csoddlm}gfd}dddY}||fg|j(|jt|jgdS(Ni(RcsjddS(Ni(R(R(R(s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR/st AnotherEventcBseZRS((t__name__t __module__(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR1s((RRRRRR (RRRR((Rs@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_notify_false,scsuddlm}gfd}dtfdY}t|fg|j(|j||jdgdS(Ni(RcsjddS(Ni(R(R(R(s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR:stASubclassEventcBseZRS((RR(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR<si(RRRRRR (RRRR((Rs@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_notify_via_subclass7s( RRR R RRRRRR(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR s      tTestEventTypescBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZRS(cCs_ddlm}|ddd}|j|jd|j|jd|j|jddS(Ni(tProcessLogEventiii(tsupervisor.eventsR R tprocesstpidtdata(RR tinst((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_ProcessLogEvent_attributesDs cCs:ddlm}ddlm}|jt||dS(Ni(R (tEvent(R!R R't assertTruet issubclass(RR R'((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt test_ProcessLogEvent_inheritenceKscCsrddlm}|ddd}|j|jd|j|jd|j|jd|j|jddS(Ni(tProcessLogStdoutEventiiitstdout(R!R+R R"R#R$tchannel(RR+R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt%test_ProcessLogStdoutEvent_attributesRs cCs:ddlm}ddlm}|jt||dS(Ni(R+(R (R!R+R R(R)(RR+R ((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt&test_ProcessLogStdoutEvent_inheritenceZscCsrddlm}|ddd}|j|jd|j|jd|j|jd|j|jddS(Ni(tProcessLogStderrEventiiitstderr(R!R0R R"R#R$R-(RR0R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt%test_ProcessLogStderrEvent_attributesas cCs:ddlm}ddlm}|jt||dS(Ni(R0(R (R!R0R R(R)(RR0R ((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt&test_ProcessLogStderrEvent_inheritenceiscCs_ddlm}|ddd}|j|jd|j|jd|j|jddS(Ni(tProcessCommunicationEventiii(R!R4R R"R#R$(RR4R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt)test_ProcessCommunicationEvent_attributesps cCs:ddlm}ddlm}|jt||dS(Ni(R4(R'(R!R4R'R(R)(RR4R'((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt*test_ProcessCommunicationEvent_inheritencewscCsrddlm}|ddd}|j|jd|j|jd|j|jd|j|jddS(Ni(tProcessCommunicationStdoutEventiiiR,(R!R7R R"R#R$R-(RR7R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt/test_ProcessCommunicationStdoutEvent_attributes~s cCs:ddlm}ddlm}|jt||dS(Ni(R7(R4(R!R7R4R(R)(RR7R4((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt0test_ProcessCommunicationStdoutEvent_inheritences cCsrddlm}|ddd}|j|jd|j|jd|j|jd|j|jddS(Ni(tProcessCommunicationStderrEventiiiR1(R!R:R R"R#R$R-(RR:R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt/test_ProcessCommunicationStderrEvent_attributess cCs:ddlm}ddlm}|jt||dS(Ni(R:(R4(R!R:R4R(R)(RR:R4((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt0test_ProcessCommunicationStderrEvent_inheritences cCsIddlm}|dd}|j|jd|j|jddS(Ni(tRemoteCommunicationEventii(R!R=R ttypeR$(RR=R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt(test_RemoteCommunicationEvent_attributesscCs:ddlm}ddlm}|jt||dS(Ni(R=(R'(R!R=R'R(R)(RR=R'((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt)test_RemoteCommunicationEvent_inheritencescCs|ddlm}t}t|ddd}t|}t}|||}|j|j||j|j|dS(Ni(tEventRejectedEventtprocess1s /bin/process1( R!RARRRRR R"R(RRAtoptionstpconfig1R"trejected_eventR((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt"test_EventRejectedEvent_attributess   cCs:ddlm}ddlm}|jt||dS(Ni(RA(R'(R!RAR't assertFalseR)(RRAR'((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt3test_EventRejectedEvent_does_not_inherit_from_eventscCsDddlm}x-|j|j|jfD]}|j|q)WdS(Ni(R(RRtSupervisorStateChangeEventtSupervisorRunningEventtSupervisorStoppingEventt$_test_one_SupervisorStateChangeEvent(RRtklass((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt$test_all_SupervisorStateChangeEventss cCs*ddlm}|jt||dS(Ni(RI(R!RIR(R)(RRMRI((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyRLsc Cshddlm}xQ|j|j|j|j|j|j|j|j |j f D]}|j |qMWdS(Ni(R( RRtProcessStateEventtProcessStateStoppedEventtProcessStateExitedEventtProcessStateFatalEventtProcessStateBackoffEventtProcessStateRunningEventtProcessStateUnknownEventtProcessStateStoppingEventtProcessStateStartingEventt_test_one_ProcessStateEvent(RRRM((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_all_ProcessStateEventsscCsddlm}ddlm}|jt||t}t|ddd}t|}|||j }|j |j ||j |j |j |j |j tdS(Ni(t ProcessStates(RORBs /bin/process1(tsupervisor.statesRZR!ROR(R)RRRtSTARTINGR R"t from_statetexpectedtTrue(RRMRZRORCRDR"R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyRXs  cCsJddlm}x3|j|j|j|jfD]}|j|q/WdS(Ni(R(RRt TickEventt Tick5Eventt Tick60Eventt Tick3600Eventt_test_one_TickEvent(RRRM((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_all_TickEventsscCs_ddlm}|jt|||dd}|j|jd|j|jddS(Ni(R`ii(R!R`R(R)R twhent supervisord(RRMR`R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyRds cCs3ddlm}|d}|j|jddS(Ni(tProcessGroupAddedEventt myprocess(R!RhR tgroup(RRhR%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt&test_ProcessGroupAddedEvent_attributess cCs3ddlm}|d}|j|jddS(Ni(tProcessGroupRemovedEventRi(R!RlR Rj(RRlR%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt(test_ProcessGroupRemovedEvent_attributess (RRR&R*R.R/R2R3R5R6R8R9R;R<R?R@RFRHRNRLRYRXReRdRkRm(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyRCs0                   tTestSerializationscBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZRS(cCs|jd}|d}d}i}t|dkrD|d}n|ry5tg|jD]}|jdd^q]}Wqtk rtd|qXn||fS(Ns itit:s'headerdata %r could not be deserialized(tsplittlentdictt ValueErrortAssertionError(Rt serializationR$t headerdatatpayloadtheaderstx((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt _deserializes  / cst}t|dddt}ddlm}dd fdY}||_||dd}|jt|\}}|j|d d||j|d d||j|d d ||j|ddS(NRBs /bin/process1i(R+t DummyGroupcseZZRS((RRtconfig((RD(s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR|sityot processnamet groupnameR#t1(( RRRR!R+RjR{tstrR (RRCRBR+R|RRyRx((RDs@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_plog_stdout_events   cst}t|dddt}ddlm}dd fdY}||_||dd}|jt|\}}|j|d d||j|d d||j|d d ||j|ddS(NRBs /bin/process1i(R0R|cseZZRS((RRR}((RD(s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR|%siR~RRR#R(( RRRR!R0RjR{RR (RRCRBR0R|RRyRx((RDs@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_plog_stderr_event s   cst}t|dddt}ddlm}dd fdY}||_||dd}|jt|\}}|j|d d||j|d d||j|d d ||j|ddS(NRBs /bin/process1i(R7R|cseZZRS((RRR}((RD(s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR|4siR~RRR#R(( RRRR!R7RjR{RR (RRCRBR7R|RRyRx((RDs@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_pcomm_stdout_event/s   cst}t|dddt}dd fdY}||_ddlm}||dd}|jt|\}}|j|d d||j|d d||j|d d ||j|ddS(NRBs /bin/process1R|cseZZRS((RRR}((RD(s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR|Bsi(R:iR~RRR#R(( RRRRjR!R:R{RR (RRCRBR|R:RRyRx((RDs@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_pcomm_stderr_event>s   cCseddlm}|dd}|jt|\}}|j|dd||j|ddS(Ni(R=tfootbarR>(R!R=R{RR (RR=RRyRx((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_remote_comm_eventMs cCs_ddlm}|d}|jt|\}}|j|dd|j|ddS(Ni(RhRRRo(R!RhR{RR (RRhRRyRx((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_process_group_added_eventTs  cCs_ddlm}|d}|jt|\}}|j|dd|j|ddS(Ni(RlRRRo(R!RlR{RR (RRlRRyRx((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt test_process_group_removed_event[s  c sddlm}ddlm}x|j|jfD]}t}t|dddddfdY}t}||_ |||j }|j t |\}} |j t|d|j |d d|j |d d|j |d d |j | d q3WdS(Ni(RZ(RRBs /bin/process1R|cseZZRS((RRR}((RD(s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR|lsiRRR]R\Ro((R[RZRRRRRURRRRjR\R{RR Rr( RRZRRMRCR|RBRRyRx((RDs@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt.test_process_state_events_without_extra_valuesbs$     c s?ddlm}ddlm}x|j|j|jfD]}t}t|dddddfdY}t }||_ d|_ |||j }|j t|\}} |jt|d |j|d d|j|d d|j|d d |j|dd|j| dq9WdS(Ni(RZ(RRBs /bin/process1R|cseZZRS((RRR}((RD(s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR|siiRRR]R\R#RRo((R[RZRRRTRPRVRRRRjR#R\R{RR Rr( RRZRRMRCR|RBRRyRx((RDs@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt"test_process_state_events_with_pidxs*      c sddlm}ddlm}x|j|jfD]}t}t|dddddfdY}t}||_ |||j }|j t |\}} |j t|d|j |d d|j |d d|j |d d |j |d d|j | dd|_|||j }|j t |\}} |j |d dd|_|||j }|j t |\}} |j |d dq3WdS(Ni(RZ(RRBs /bin/process1R|cseZZRS((RRR}((RD(s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR|siRRR]R\ttriest0RoiRit2((R[RZRRRWRSRRRRjR\R{RR Rrtbackoff( RRZRRMRCR|RBRRyRx((RDs@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt.test_process_state_events_starting_and_backoffs6       c s9ddlm}ddlm}t}t|dddt}ddfdY}||_d|_|j ||j d t }|j t |\}}|jt|d |j|d d|j|d d|j|d d|j|dd|j|d d|j|ddS(Ni(R(RZRBs /bin/process1R|cseZZRS((RRR}((RD(s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR|siR^iRRR#RR]R\Ro((RRR[RZRRRRjR#RQR\R_R{RR Rr( RRRZRCRBR|RRyRx((RDs@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt(test_process_state_exited_event_expecteds&       c s9ddlm}ddlm}t}t|dddt}ddfdY}||_d|_|j ||j d t }|j t |\}}|jt|d |j|d d|j|d d|j|d d|j|dd|j|d d|j|ddS(Ni(R(RZRBs /bin/process1R|cseZZRS((RRR}((RD(s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyR|siR^iRRR#RR]R\RRo((RRR[RZRRRRjR#RQR\tFalseR{RR Rr( RRRZRCRBR|RRyRx((RDs@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt*test_process_state_exited_event_unexpecteds&       cCs[ddlm}|j}|jt|\}}|j|i|j|ddS(Ni(RRo(RRRJR{RR (RRRRyRx((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_supervisor_sc_events  cCsddlm}xq|j|j|jfD]W}|dd}|jt|\}}|j|idd6|j|dq)WdS(Ni(RiiRRfRo(RRRaRbRcR{RR (RRRMRRyRx((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_tick_eventss(RRR{RRRRRRRRRRRRRR(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyRns              tTestUtilityFunctionscBseZdZdZRS(cCsPddlm}x9|jjjD]%\}}|j|j||q#WdS(Ni(R(RRt EventTypest__dict__titemsR tgetEventNameByType(RRtnametvalue((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyttest_getEventNameByTypescCsddlm}|jt|jdd|jfdY}z-|jd||j|jj|kWd|j`XdS(Ni(RtFOOtFooEventcBseZRS((RR(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyRs( RRRGthasattrRR'tregisterR(R(RRR((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt test_registers(RRRR(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyRs cCstjtjtS(N(tunittestt findTestCasestsystmodulesR(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyt test_suitest__main__t defaultTestR(RRtsupervisor.tests.baseRRRRtTestCaseRRRnRRRtmain(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_events.pyts  :