ó ükWc@s™ddlZddlZddlZddlZddlZddlZddlZddlmZyddl Z Wne k rdZ nXej Z dZ e ráde jfd„ƒYZdejfd„ƒYZd„Zneje d ƒd ejfd „ƒYƒZd efd „ƒYZdejfd„ƒYZdejfd„ƒYZdejfd„ƒYZdd„Zedkr•edeƒndS(iÿÿÿÿN(t test_supportsQUIT t echo_servercBs eZdZd„Zd„ZRS(icCsVtjj|ƒ||_tjtjtjƒ|_tj |jƒ|_ d|_ dS(N( t threadingtThreadt__init__teventtsockettAF_INETt SOCK_STREAMtsockRt bind_porttporttNonetstart_resend_event(tselfR((s(/usr/lib/python2.7/test/test_asynchat.pyRs  cCs|jjdƒ|jjƒ|jjƒ\}}d|_x<t|jkry|jdƒ}|sfPn|j||_q>W|jjtdƒ|_|j r«|j j ƒnyJxC|jró|j |j|j ƒ}t jdƒ|j||_q±WWnnX|jƒ|jjƒdS(Nitgü©ñÒMbP?(R tlistenRtsettaccepttbuffert SERVER_QUITtrecvtreplaceR twaittsendt chunk_sizettimetsleeptclose(Rtconntclienttdatatn((s(/usr/lib/python2.7/test/test_asynchat.pytrun"s*      (t__name__t __module__RRR!(((s(/usr/lib/python2.7/test/test_asynchat.pyRs t echo_clientcBsGeZd„Zd„Zejdkr3d„Znd„Zd„ZRS(cCs\tjj|ƒg|_|jtjtjƒ|jt |fƒ|j |ƒd|_ dS(NR( tasynchatt async_chatRtcontentst create_socketRRRtconnecttHOSTtset_terminatorR(Rt terminatort server_port((s(/usr/lib/python2.7/test/test_asynchat.pyRDs   cCsdS(N((R((s(/usr/lib/python2.7/test/test_asynchat.pythandle_connectLstdarwincCsdS(N((R((s(/usr/lib/python2.7/test/test_asynchat.pyt handle_exptRscCs|j|7_dS(N(R(RR((s(/usr/lib/python2.7/test/test_asynchat.pytcollect_incoming_dataUscCs |jj|jƒd|_dS(NR(R'tappendR(R((s(/usr/lib/python2.7/test/test_asynchat.pytfound_terminatorXs( R"R#RR.tsystplatformR0R1R3(((s(/usr/lib/python2.7/test/test_asynchat.pyR$Bs     cCsMtjƒ}t|ƒ}|jƒ|jƒ|jƒtjdƒ||fS(Ng{®Gáz„?(RtEventRtstartRtclearRR(Rts((s(/usr/lib/python2.7/test/test_asynchat.pytstart_echo_server]s      s!Threading required for this test.t TestAsynchatcBsŒeZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d„Z d „Z d „Zd „Zd „Zd „ZRS(cCstjƒ|_dS(N(Rtthreading_setupt_threads(R((s(/usr/lib/python2.7/test/test_asynchat.pytsetUpkscCstj|jŒdS(N(Rtthreading_cleanupR=(R((s(/usr/lib/python2.7/test/test_asynchat.pyttearDownnscCsàtjƒ}t|ƒ}||_|jƒ|jƒ|jƒtjdƒt ||j ƒ}|j dƒ|j d|ƒ|j d|ƒ|j t ƒt jd|jddddƒ|jƒ|j|jd d gƒdS( Ng{®Gáz„?shello sworld%ssI'm not dead yet!%stuse_polltcounti,ttimeouts hello worldsI'm not dead yet!(RR6RRR7RR8RRR$R tpushRtasyncoretlooptusepolltjoint assertEqualR'(Rttermt server_chunkRR9tc((s(/usr/lib/python2.7/test/test_asynchat.pytline_terminator_checkqs          cCs%xdD]}|jd|ƒqWdS(Niiis (iii(RM(Rtl((s(/usr/lib/python2.7/test/test_asynchat.pyttest_line_terminator1‡s cCs%xdD]}|jd|ƒqWdS(Niiis (iii(RM(RRN((s(/usr/lib/python2.7/test/test_asynchat.pyttest_line_terminator2Œs cCs%xdD]}|jd|ƒqWdS(Niiitqqq(iii(RM(RRN((s(/usr/lib/python2.7/test/test_asynchat.pyttest_line_terminator3‘s cCsˆtƒ\}}t||jƒ}d}|j|ƒ|jtƒtjd|jddddƒ|jƒ|j |j || gƒdS(Nshello world, I'm not dead yet! RARBi,RCg{®Gáz„?( R:R$R RDRRERFRGRHRIR'(RttermlenR9RRLR((s(/usr/lib/python2.7/test/test_asynchat.pytnumeric_terminator_check–s   cCs|jdƒ|jdƒdS(Nil(RT(R((s(/usr/lib/python2.7/test/test_asynchat.pyttest_numeric_terminator1¢s cCs|jdƒdS(Nl(RT(R((s(/usr/lib/python2.7/test/test_asynchat.pyttest_numeric_terminator2¨scCs”tƒ\}}td|jƒ}d}|j|ƒ|jtƒtjd|jddddƒ|j ƒ|j |j gƒ|j |j |ƒdS(Nshello world, I'm not dead yet! RARBi,RCg{®Gáz„?( R:R$R R RDRRERFRGRHRIR'R(RR9RRLR((s(/usr/lib/python2.7/test/test_asynchat.pyttest_none_terminator«s   cCs“tƒ\}}td|jƒ}d}tj|tddƒ}|j|ƒtjd|j dddd ƒ|j ƒ|j |j d d gƒdS( Ns shello world I'm not dead yet! t buffer_sizeiRARBi,RCg{®Gáz„?s hello worldsI'm not dead yet!( R:R$R R%tsimple_producerRtpush_with_producerRERFRGRHRIR'(RR9RRLRtp((s(/usr/lib/python2.7/test/test_asynchat.pyttest_simple_producer¸s  cCs~tƒ\}}td|jƒ}d}|j|tƒtjd|jddddƒ|jƒ|j |j dd gƒdS( Ns shello world I'm not dead yet! RARBi,RCg{®Gáz„?s hello worldsI'm not dead yet!( R:R$R RZRRERFRGRHRIR'(RR9RRLR((s(/usr/lib/python2.7/test/test_asynchat.pyttest_string_producerÃs cCs„tƒ\}}td|jƒ}|jdƒ|jtƒtjd|jddddƒ|jƒ|j |j dd d gƒdS( Ns shello world I'm not dead yet! RARBi,RCg{®Gáz„?s hello worldRsI'm not dead yet!( R:R$R RDRRERFRGRHRIR'(RR9RRL((s(/usr/lib/python2.7/test/test_asynchat.pyttest_empty_lineÍs   cCs½tƒ\}}tjƒ|_td|jƒ}|jdƒ|jtƒ|jƒt j d|j ddddƒ|jj ƒ|j ƒ|j|jgƒ|jt|jƒdkƒdS( Ns shello world I'm not dead yet! RARBi,RCg{®Gáz„?i(R:RR6R R$R RDRtclose_when_doneRERFRGRRHRIR't assertTruetlenR(RR9RRL((s(/usr/lib/python2.7/test/test_asynchat.pyttest_close_when_doneØs     (R"R#tFalseRGR>R@RMRORPRRRTRURVRWR\R]R^Rb(((s(/usr/lib/python2.7/test/test_asynchat.pyR;gs         tTestAsynchat_WithPollcBseZeZRS((R"R#tTrueRG(((s(/usr/lib/python2.7/test/test_asynchat.pyRdïstTestAsynchatMockedcBseZd„ZRS(cCsiddd„ƒY}dtjfd„ƒY}|ƒ}|ƒ}|j|ƒ|j|jƒ|jƒdS(Nt fake_socketcBseZd„Zd„ZRS(cSsdS(Ni((R((s(/usr/lib/python2.7/test/test_asynchat.pytfilenoøscSstjtjdƒ‚dS(NtEAGAIN(RterrorterrnoRi(Rtsize((s(/usr/lib/python2.7/test/test_asynchat.pyRûs(R"R#RhR(((s(/usr/lib/python2.7/test/test_asynchat.pyRg÷s tMyChatcBseZd„ZRS(cSstdƒ‚dS(NRj(t Exception(R((s(/usr/lib/python2.7/test/test_asynchat.pyt handle_errorÿs(R"R#Ro(((s(/usr/lib/python2.7/test/test_asynchat.pyRmþs((R%R&t set_sockett addCleanupt del_channelt handle_read(RRgRmR t dispatcher((s(/usr/lib/python2.7/test/test_asynchat.pyttest_blockingioerrorôs   (R"R#Ru(((s(/usr/lib/python2.7/test/test_asynchat.pyRfóstTestHelperFunctionscBseZd„ZRS(cCs<|jtjddƒdƒ|jtjddƒdƒdS(Nsqwerty s it qwertydkjfi(RIR%tfind_prefix_at_end(R((s(/usr/lib/python2.7/test/test_asynchat.pyttest_find_prefix_at_end s(R"R#Ry(((s(/usr/lib/python2.7/test/test_asynchat.pyRv stTestFifocBseZd„Zd„ZRS(cCstjƒ}|jdƒ|jdƒ|jt|ƒdƒ|j|jƒdƒ|j|jƒdƒ|jt|ƒdƒ|j|jƒdƒ|j|jƒtƒ|j|jƒdƒ|jt|ƒdƒ|j|jƒt ƒ|j|jƒdƒdS( Nitaiii(ii(iR{(iN( R%tfifoRDRIRatfirsttpoptis_emptyRcReR (Rtf((s(/usr/lib/python2.7/test/test_asynchat.pyt test_basics   cCsŠtjdddgƒ}|jt|ƒdƒ|j|jƒdƒ|j|jƒdƒ|j|jƒdƒ|j|jƒd ƒdS( Ntxiiii(iR‚(ii(ii(iN(R%R|RIRaR~R (RR€((s(/usr/lib/python2.7/test/test_asynchat.pyttest_given_list s (R"R#RRƒ(((s(/usr/lib/python2.7/test/test_asynchat.pyRzs cCstjtttttƒdS(N(Rt run_unittestR;RdRfRvRz(tverbose((s(/usr/lib/python2.7/test/test_asynchat.pyt test_main)s t__main__R…(RkRER%RRtunittestR4ttestRRt ImportErrorR R*RRRR&R$R:t skipUnlesstTestCaseR;RdRfRvRzR†R"Re(((s(/usr/lib/python2.7/test/test_asynchat.pyts4          . ‡