ó {G_Tc@sddlZddlmZddlmZddlZddlZddlZddlZdZ d„Z d„Z e ej ej ƒZdejfd„ƒYZd ejfd „ƒYZd ejfd „ƒYZd ejfd„ƒYZd„Zedkr eƒndS(iÿÿÿÿN(t test_support(tsanepathname2urli<cOsTxGtdƒD]9}y|||ŽSWq |k r<}q q ‚q Xq W|‚dS(Ni(trange(tfunctexctargstkwargstitlast_exc((s0/usr/local/lib/python2.7/test/test_urllib2net.pyt _retry_thrice s cs‡‡fd†}|S(Ncstˆˆ||ŽS(N(R (RR(RR(s0/usr/local/lib/python2.7/test/test_urllib2net.pytwrappeds((RRR ((RRs0/usr/local/lib/python2.7/test/test_urllib2net.pyt_wrap_with_retry_thricest AuthTestscBseZdZRS(s&Tests urllib2 authentication features.(t__name__t __module__t__doc__(((s0/usr/local/lib/python2.7/test/test_urllib2net.pyR !stCloseSocketTestcBseZd„ZRS(cCs¤ddl}tdƒ}|j}|j|jtjƒ|j}|j|j|jƒ|j}|j|jtjƒ|j |j ƒ|j ƒ|j |j ƒdS(Niÿÿÿÿshttp://www.example.com/( thttplibt_urlopen_with_retrytfptassertIst __class__tsockett _fileobjectt_sockt HTTPResponset assertTruetclosedtclose(tselfRtresponsetabused_fileobjectt httpresponset fileobject((s0/usr/local/lib/python2.7/test/test_urllib2net.pyt test_closeJs      (R RR"(((s0/usr/local/lib/python2.7/test/test_urllib2net.pyRHstOtherNetworkTestscBs\eZd„Zd„Zd„Zd„Zd„Zd„Zd„Ze d„Z d„Z RS( cCsdS(N((R((s0/usr/local/lib/python2.7/test/test_urllib2net.pytsetUp^scCs)dddg}|j||jƒƒdS(Ns,ftp://ftp.kernel.org/pub/linux/kernel/READMEs7ftp://ftp.kernel.org/pub/linux/kernel/non-existent-files[ftp://gatekeeper.research.compaq.com/pub/DEC/SRC/research-reports/00README-Legal-Rules-Regs(t _test_urlst_extra_handlers(Rturls((s0/usr/local/lib/python2.7/test/test_urllib2net.pyttest_ftpgs cCs¨tj}t|dƒ}ze|jdƒ|jƒdttjj|ƒƒddt j fg}|j ||j ƒdtƒWdtj|ƒX|jtt jdƒdS(Ntws hi there sfile:sfile:///nonsensename/etc/passwdtretrys./relative_path/to/file(RtTESTFNtopentwriteRRtostpathtabspathtNoneturllib2tURLErrorR%R&tTruetremovet assertRaisest ValueErrorturlopen(RR+tfR'((s0/usr/local/lib/python2.7/test/test_urllib2net.pyt test_fileqs    cCsTd}tj|ƒ9tj|ƒ}tj|ƒ}|j|jƒdƒWdQXdS(Ns0https://docs.python.org/2/glossary.html#glossary(Rttransient_internetR2tRequestR8t assertEqualtgeturl(Rt urlwith_fragtreqtres((s0/usr/local/lib/python2.7/test/test_urllib2net.pyttest_urlwithfrags cCsotjdƒ}tjƒ}|j|ƒ}z3y|jƒWntk r[|jdƒnXWd|jƒXdS(Nshttp://www.example.coms0HTTPResponse object should return a valid fileno(R2R<t build_openerR,tfilenotAttributeErrortfailR(RR@topenerRA((s0/usr/local/lib/python2.7/test/test_urllib2net.pyt test_fileno¥s  cCsºd}tj|ƒŸtjƒ}tj|ƒ}|j|jƒƒ|j|ƒ|j|jƒƒ|j|j dƒƒ|j ddƒ|j|ƒ|j |j dƒdƒWdQXdS(Nshttp://www.example.coms User-agents User-Agents Test-Agent( RR;R2RCR<t assertFalset header_itemsR,Rt has_headert add_headerR=t get_header(RturlRGtrequest((s0/usr/local/lib/python2.7/test/test_urllib2net.pyttest_custom_headers°s   cCsHd}tj|ƒ-tj|ƒ}|jƒ}|j|ƒWdQXdS(Nshttp://www.imdb.com(RR;R2R8treadR(RtURLR@RA((s0/usr/local/lib/python2.7/test/test_urllib2net.pyttest_sites_no_connection_close½s  c Csðddl}ddl}|jdƒj}tj|Œj}|rWt|tjƒ}nx’|D]Š}t |t ƒr…|\}} } n d} } t j |ƒ1||ƒy||| tƒ} Wntk r} || ƒ| rËd| || t| ƒ| f} |j| | | ƒqËn²tjk r^} t | dtjƒrXtjd|IJw^qË‚nmXy:t j |ƒ%| jƒ}|dt|ƒƒWdQXWn%tjk rÀtjd|IJnX| jƒWdQX|dƒ|jdƒq^WdS( Niÿÿÿÿt test_urllib2s5Didn't get expected error(s) %s for %s %s, got %s: %sis s read %d bytess******** next url coming up...gš™™™™™¹?(ttimetloggingt getLoggertdebugR2RCR,R R3t isinstancettupleR1RR;tTIMEOUTtEnvironmentErrorttypetassertIsInstanceRttimeouttsyststderrRQtlenRtsleep(RR'thandlersR*RURVRXR8RNR@t expected_errR9terrtmsgtbuf((s0/usr/local/lib/python2.7/test/test_urllib2net.pyR%ÇsD        cCs@g}tjƒ}|j|jƒ|jdƒ|j|ƒ|S(Ni(R2tCacheFTPHandlert addCleanupt clear_cachet setTimeouttappend(RRdtcfh((s0/usr/local/lib/python2.7/test/test_urllib2net.pyR&ðs    ( R RR$R(R:RBRHRPRSR4R%R&(((s0/usr/local/lib/python2.7/test/test_urllib2net.pyR#]s ,  )t TimeoutTestcBsVeZd„Zd„Zd„Zd„ZdZd„Zd„Zd„Z d„Z RS( cCsd|jtjƒƒd}tj|ddƒ0t|ƒ}|j|jjjjj ƒƒWdQXdS(Nshttp://www.example.comR_( t assertIsNoneRtgetdefaulttimeoutRR;R1RRRt gettimeout(RRNtu((s0/usr/local/lib/python2.7/test/test_urllib2net.pyttest_http_basicüs  c Csƒ|jtjƒƒd}tj|ƒUtjdƒzt|ƒ}WdtjdƒX|j|j j j j j ƒdƒWdQXdS(Nshttp://www.example.comi<( RpRRqRR;tsetdefaulttimeoutRR1R=RRRr(RRNRs((s0/usr/local/lib/python2.7/test/test_urllib2net.pyttest_http_default_timeouts c Cs†|jtjƒƒd}tj|ƒXtjdƒzt|ddƒ}WdtjdƒX|j|jj jj j ƒƒWdQXdS(Nshttp://www.example.comi<R_( RpRRqRR;RuRR1RRRr(RRNRs((s0/usr/local/lib/python2.7/test/test_urllib2net.pyttest_http_no_timeouts cCsTd}tj|ƒ9t|ddƒ}|j|jjjjjƒdƒWdQXdS(Nshttp://www.example.comR_ix(RR;RR=RRRr(RRNRs((s0/usr/local/lib/python2.7/test/test_urllib2net.pyttest_http_timeoutssftp://ftp.mirror.nl/pub/gnu/cCsa|jtjƒƒtj|jddƒ0t|jƒ}|j|jjj j ƒƒWdQXdS(NR_( RpRRqRR;tFTP_HOSTR1RRRRr(RRs((s0/usr/local/lib/python2.7/test/test_urllib2net.pyttest_ftp_basic!sc Cs€|jtjƒƒtj|jƒUtjdƒzt|jƒ}WdtjdƒX|j |j j j j ƒdƒWdQXdS(Ni<( RpRRqRR;RyRuRR1R=RRRr(RRs((s0/usr/local/lib/python2.7/test/test_urllib2net.pyttest_ftp_default_timeout's c Csƒ|jtjƒƒtj|jƒXtjdƒzt|jddƒ}WdtjdƒX|j|j j j j ƒƒWdQXdS(Ni<R_( RpRRqRR;RyRuRR1RRRr(RRs((s0/usr/local/lib/python2.7/test/test_urllib2net.pyttest_ftp_no_timeout1s cCsQtj|jƒ9t|jddƒ}|j|jjjjƒdƒWdQXdS(NR_i<(RR;RyRR=RRRr(RRs((s0/usr/local/lib/python2.7/test/test_urllib2net.pyttest_ftp_timeout;s( R RRtRvRwRxRyRzR{R|R}(((s0/usr/local/lib/python2.7/test/test_urllib2net.pyRoûs    cCs'tjdƒtjttttƒdS(Ntnetwork(Rtrequirest run_unittestR R#RRo(((s0/usr/local/lib/python2.7/test/test_urllib2net.pyt test_mainAs   t__main__(tunittestttestRttest.test_urllib2RRR2R.R`R[R R R8R3RtTestCaseR RR#RoRR (((s0/usr/local/lib/python2.7/test/test_urllib2net.pyts"      'žF