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@sddlZddlZddlZddlZddlmZddlmZmZm Z ddlm Z m Z ddl m Z eZdejfdYZdejfd YZe rejZneZd efd YZe rejZneZd efd YZdefdYZdefdYZdefdYZdefdYZdZedkrejddndS(iN(tMock(t SelectPollert PollPollert KQueuePoller(timplements_polltimplements_kqueue(t DummyOptionstBasePollerTestscBsPeZdZdZdZdZdZdZdZdZ RS(cCsddlm}||S(Ni(t BasePoller(tsupervisor.pollerR(tselftoptionsR((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyt_makeOnescCs)|jd}|jt|jddS(N(R tNonet assertRaisestNotImplementedErrortregister_readable(R tinst((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyttest_register_readablescCs)|jd}|jt|jddS(N(R R RRtregister_writable(R R((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyttest_register_writablescCs)|jd}|jt|jddS(N(R R RRtunregister_readable(R R((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyttest_unregister_readablescCs)|jd}|jt|jddS(N(R R RRtunregister_writable(R R((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyttest_unregister_writable!scCs)|jd}|jt|jddS(N(R R RRtpoll(R R((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyt test_poll%scCs)|jd}|j|jddS(N(R R t assertEqualtbefore_daemonize(R R((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyttest_before_daemonize)scCs)|jd}|j|jddS(N(R R Rtafter_daemonize(R R((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyttest_after_daemonize-s( t__name__t __module__R RRRRRRR(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRs       tSelectPollerTestscBsYeZdZdZdZdZdZdZdZdZ dZ RS( cCs t|S(N(R(R R ((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR 3scCsO|jt}|jd|jd|jt|jddgdS(Nii(R RRRtsortedt readables(R tpoller((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR6s  cCsO|jt}|jd|jd|jt|jddgdS(Nii(R RRRR#t writables(R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR<s  cCs|jt}|jd|jd|jd|jd|jd|jd|jd|jt|jdg|jt|jddgdS(Niiii id( R RRRRRtlistR$R&(R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRBs       cCs|jt}|jd|jd|jd|jd|jd|jd|jd|jt|jddg|jt|jdgdS(Niiiid( R RRRRRR'R$R&(R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRNs       cCstdidgd6dgd6}|jt}||_|jd|jd|jd|jd\}}|j|dg|j|dgdS(NtresultiR$iR&ii(t DummySelectR Rt_selectRRRR(R R*R%R$R&((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyt)test_poll_returns_readables_and_writablesZs    cCsktdtj}t}|j|}||_|jd|jd|j|j j dddS(NterroriiisEINTR encountered in poll( R)terrnotEINTRRR R*RRRtloggertdata(R R*R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyttest_poll_ignores_eintrfs    cCstdtj}t}|j|}||_|jd|jd|j|j j dd|jt |j g|jt |j gdS(NR,iiisEBADF encountered in poll(R)R-tEBADFRR R*RRRR/R0R'R$R&(R R*R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyttest_poll_ignores_ebadfos    cCs]tdtj}t}|j|}||_|jd|jtj |j ddS(NR,ii( R)R-tEPERMRR R*RRtselectR,R(R R*R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyttest_poll_uncaught_exceptionzs    ( R R!R RRRRR+R1R3R6(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR"1s    tKQueuePollerTestscBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZRS(cCs t|S(N(R(R R ((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR scCst}|jt}||_|jd|jt|jdg|jt|j d|j |j dddS(Niii( t DummyKQueueR Rt_kqueueRRR'R$tlentregistered_keventstassertReadEventAdded(R tkqueueR%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRs   cCst}|jt}||_|jd|jt|jdg|jt|j d|j |j dddS(Niii( R8R RR9RRR'R&R:R;tassertWriteEventAdded(R R=R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRs   cCst}|jt}||_|jd|jd|jd|jd|jd|jt|j dg|jt|j g|j |j dd|j |j dd|j|j dd|j|j dddS(Niiidiiii(R8R RR9RRRRR'R&R$R>R;R<tassertReadEventDeleted(R R=R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRs       cCst}|jt}||_|jd|jd|jd|jd|jd|jt|j g|jt|j dg|j |j dd|j |j dd|j|j dd|j|j dddS(Niiidiiii(R8R RR9RRRRR'R&R$R>R;R<tassertWriteEventDeleted(R R=R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRs       cCstddtjfdtjfdtjfg}|jt}||_|jd|jd|jd|j d\}}|j |ddg|j |dgdS(NR(iiii( R8R5tKQ_FILTER_READtKQ_FILTER_WRITER RR9RRRR(R R=R%R$R&((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR+s     cCsktdtj}t}|j|}||_|jd|jd|j|j j dddS(Ntraise_errno_polliiisEINTR encountered in poll( R8R-R.RR R9RRRR/R0(R R=R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR1s    cCstdtj}t}|j|}||_|jd|jd|j|j j dd|j|j j dddS(Ntraise_errno_registeriiis6EBADF encountered in kqueue. Invalid file descriptor 6is6EBADF encountered in kqueue. Invalid file descriptor 7( R8R-R2RR R9RRRR/R0(R R9R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyt1test_register_readable_and_writable_ignores_ebadfs    cCsMtdtj}t}|j|}||_|jt|jddS(NRDi( R8R-tENOMEMRR R9RtOSErrorR(R R9R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyt test_register_uncaught_exceptions   cCsZtdtj}t}|j|}||_|jd|jt|j ddS(NRCii( R8R-tEINVALRR R9RRRGR(R R=R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR6s    cCsXt}t}|j|}||_|j|jj|j|jddS(N( RRR R9Rtclosetassert_called_once_withRR (R t mock_kqueueR R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyt#test_before_daemonize_closes_kqueues     cCst}|j|}dg|_dg|_t|_t|_|j|jt |j t j |jj d|jj ddS(Nii(RR R$R&RRRRt assertTruet isinstanceR9R5R=tassert_called_with(R R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyt$test_after_daemonize_restores_kqueues      cCsXt}t}|j|}||_|j|jj|j|jddS(N(RRR R9RJRKRR (R RLR R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyttest_close_closes_kqueues     cCs |j||tjtjdS(N(t assertKeventR5RAt KQ_EV_ADD(R tkeventtfd((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR< scCs |j||tjtjdS(N(RSR5RBRT(R RURV((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR>scCs |j||tjtjdS(N(RSR5RAt KQ_EV_DELETE(R RURV((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR?scCs |j||tjtjdS(N(RSR5RBRW(R RURV((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR@scCs=|j|j||j|j||j|j|dS(N(Rtidenttfiltertflags(R RURXRYRZ((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRSs(R R!R RRRRR+R1RERHR6RMRQRRR<R>R?R@RS(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR7s$         tPollerPollTestscBsGeZdZdZdZdZdZdZdZRS(cCs t|S(N(R(R R ((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR %scCs[t}|jt}||_|jd|jd|j|jddgdS(Nii(tDummySelectPollR Rt_pollerRRtregistered_as_readable(R t select_pollR%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR(s     cCsKt}|jt}||_|jd|j|jdgdS(Ni(R\R RR]RRtregistered_as_writable(R R_R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR0s    cCstddtjfdtjfdtjfdtjfg}|jt}||_|j d|j d|j d|j d|j d\}}|j |dddg|j |dgdS(NR(iiii i( R\R5tPOLLINtPOLLPRItPOLLOUTtPOLLHUPR RR]RRRR(R R_R%R$R&((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR+7s       cCsktdtj}t}|j|}||_|jd|jd|j|j j dddS(NR,i iisEINTR encountered in poll( R\R-R.RR R]RRRR/R0(R R_R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR1Fs    cCs]tdtj}t}|j|}||_|jd|jtj |j ddS(NR,i i( R\R-R2RR R]RRR5R,R(R R_R R%((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR6Os    cCstddtjfdtjfg}|jt}||_|jd|jd|jd\}}|j |dg|j |j dgdS(NR(iii( R\R5tPOLLNVALRbR RR]RRRt unregistered(R R_R%R$R&((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyt+test_poll_ignores_and_unregisters_closed_fdWs   ( R R!R RRR+R1R6Rg(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR[#s     R)cBs&eZdZdddZdZRS(s0 Fake implementation of select.select() cCsC|p i}|jdg|_|jdg|_||_dS(NR$R&(tgetR$R&R,(R R(R,((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyt__init__fs cCs1|jrtj|jn|j|jgfS(N(R,R5R$R&(R trtwtxttimeout((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR5ls N(R R!t__doc__R RiR5(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR)bsR\cBs8eZdZdddZdZdZdZRS(s. Fake implementation of select.poll() cCs7|p g|_||_g|_g|_g|_dS(N(R(R,R^R`Rf(R R(R,((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRius    cCsk|tjtjBtjBkr0|jj|n7|tjkrR|jj|ntdj |dS(Ns+Registered a fd on unknown eventmask: '{0}'( R5RaRbRdR^tappendRcR`t ValueErrortformat(R RVt eventmask((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pytregister|s cCs|jj|dS(N(RfRo(R RV((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyt unregisterscCs%|jrtj|jn|jS(N(R,R5R((R Rm((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRs N(R R!RnR RiRsRtR(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR\qs   R8cBsPeZdZddddZddZdZdZdZdZ RS(s0 Fake implementation of select.kqueue() cCs7|p g|_||_||_g|_g|_dS(N(R(t errno_pollterrno_registerR;tregistered_flags(R R(RCRD((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRis    cCsd|dkr3|j||j|j|jS|j||j|j|jj|dS(N( R tassert_max_events_on_pollt raise_errorRut build_resulttassert_max_events_on_registerRvR;textend(R tkeventst max_eventsRm((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pytcontrols    cCs&|s dSt}||_|dS(N(RGR-(R terrtex((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRys   cCs)g|jD]\}}t||^q S(N(R(t FakeKEvent(R RXRY((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRzscCsdS(N((R R~((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRxscCsdS(N((R R~((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR{sN( R R!RnR RiRRyRzRxR{(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyR8s   RcBseZdZRS(cCs||_||_dS(N(RXRY(R RXRY((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRis (R R!Ri(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyRscCstjtjtS(N(tunittestt findTestCasestsystmodulesR (((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyt test_suitest__main__t defaultTestR(RRR-R5tmockRR RRRRRtsupervisor.tests.baseRtobjectt SkipTestCasetTestCaseRR"tKQueuePollerTestsBaseR7tPollerPollTestsBaseR[R)R\R8RRR tmain(((s@/usr/lib/python2.7/site-packages/supervisor/tests/test_poller.pyts2    !Q    ?'