ó
ŒwÛjc           @   s+  d  d l  Z  d  d l m Z d  d l m Z d  d l Z d  d l Z d  d l Z d  d l Z d Z	 d „  Z
 d „  Z e  j d e j k d ƒ Z e e j e j ƒ Z d	 e  j f d
 „  ƒ  YZ d e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d e  j f d „  ƒ  YZ d „  Z e d k r'e ƒ  n  d S(   iÿÿÿÿN(   t   test_support(   t   sanepathname2urli<   c         O   sT   xG t  d ƒ D]9 } y |  | | Ž  SWq | k
 r< } q q ‚  q Xq W| ‚ d  S(   Ni   (   t   range(   t   funct   exct   argst   kwargst   it   last_exc(    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   _retry_thrice   s    c            s   ‡  ‡ f d †  } | S(   Nc             s   t  ˆ ˆ  |  | Ž S(   N(   R	   (   R   R   (   R   R   (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   wrapped   s    (    (   R   R   R
   (    (   R   R   sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   _wrap_with_retry_thrice   s    t   TRAVISs%   bpo-35411: skip FTP test on Travis CIt	   AuthTestsc           B   s   e  Z d  Z RS(   s&   Tests urllib2 authentication features.(   t   __name__t
   __module__t   __doc__(    (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyR   (   s   t   CloseSocketTestc           B   s   e  Z d  „  Z RS(   c         C   s§   d d  l  } t t j ƒ } | j } |  j | j t j ƒ | j	 } |  j | j | j
 ƒ | j } |  j | j t j ƒ |  j | j ƒ | j ƒ  |  j | j ƒ d  S(   Niÿÿÿÿ(   t   httplibt   _urlopen_with_retryR    t   TEST_HTTP_URLt   fpt   assertIst	   __class__t   sockett   _fileobjectt   _sockt   HTTPResponset
   assertTruet   closedt   close(   t   selfR   t   responset   abused_fileobjectt   httpresponset
   fileobject(    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt
   test_closeQ   s    			
(   R   R   R$   (    (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyR   O   s   t   OtherNetworkTestsc           B   sq   e  Z d  „  Z e d „  ƒ Z d „  Z d „  Z d „  Z d „  Z e	 j
 d ƒ d „  ƒ Z e d „ Z d	 „  Z RS(
   c         C   s   d  S(   N(    (   R   (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   setUpe   s    c         C   s2   d d d  t j f g } |  j | |  j ƒ  ƒ d  S(   Ns   ftp://www.pythontest.net/READMEs*   ftp://www.pythontest.net/non-existent-file(   t   Nonet   urllib2t   URLErrort
   _test_urlst   _extra_handlers(   R   t   urls(    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_ftpn   s    c         C   s¨   t  j } t | d ƒ } ze | j d ƒ | j ƒ  d t t j j | ƒ ƒ d d  t
 j f g } |  j | |  j ƒ  d t ƒWd  t j | ƒ X|  j t t
 j d ƒ d  S(   Nt   ws	   hi there
s   file:s   file:///nonsensename/etc/passwdt   retrys   ./relative_path/to/file(   R    t   TESTFNt   opent   writeR   R   t   ost   patht   abspathR'   R(   R)   R*   R+   t   Truet   removet   assertRaisest
   ValueErrort   urlopen(   R   R0   t   fR,   (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt	   test_filew   s    	
 c         C   sT   d } t  j | ƒ �9 t j | ƒ } t j | ƒ } |  j | j ƒ  d ƒ Wd  QXd  S(   Ns)   http://www.pythontest.net/index.html#frag(   R    t   transient_internetR(   t   RequestR:   t   assertEqualt   geturl(   R   t   urlwith_fragt   reqt   res(    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_urlwithfrag£   s    c         C   sr   t  j t j ƒ } t  j ƒ  } | j | ƒ } z3 y | j ƒ  Wn t k
 r^ |  j d ƒ n XWd  | j	 ƒ  Xd  S(   Ns0   HTTPResponse object should return a valid fileno(
   R(   R>   R    R   t   build_openerR1   t   filenot   AttributeErrort   failR   (   R   RB   t   openerRC   (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_fileno«   s     c         C   s½   t  j } t  j | ƒ �Ÿ t j ƒ  } t j | ƒ } |  j | j ƒ  ƒ | j | ƒ |  j	 | j ƒ  ƒ |  j	 | j
 d ƒ ƒ | j d d ƒ | j | ƒ |  j | j d ƒ d ƒ Wd  QXd  S(   Ns
   User-agents
   User-Agents
   Test-Agent(   R    R   R=   R(   RE   R>   t   assertFalset   header_itemsR1   R   t
   has_headert
   add_headerR?   t
   get_header(   R   t   urlRI   t   request(    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_custom_headers¶   s    	s    XXX: http://www.imdb.com is gonec         C   sH   d } t  j | ƒ �- t j | ƒ } | j ƒ  } |  j | ƒ Wd  QXd  S(   Ns   http://www.imdb.com(   R    R=   R(   R:   t   readR   (   R   t   URLRB   RC   (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_sites_no_connection_closeÃ   s
    c         C   sð  d d  l  } d d  l } | j d ƒ j } t j | Œ  j } | rW t | t j ƒ } n  x’| D]Š} t	 | t
 ƒ r… | \ } }	 }
 n
 d  }	 }
 t j | ƒ �1| | ƒ y | | |	 t ƒ } Wn� t k
 r} | | ƒ |
 rËd |
 | |	 t | ƒ | f } |  j | |
 | ƒ qËn² t j k
 r^} t	 | d t j ƒ rXt j d | IJw^ qË‚  nm Xy: t j | ƒ �% | j ƒ  } | d t | ƒ ƒ Wd  QXWn% t j k
 rÀt j d | IJn X| j ƒ  Wd  QX| d ƒ | j d ƒ q^ Wd  S(	   Niÿÿÿÿt   test_urllib2s5   Didn't get expected error(s) %s for %s %s, got %s: %si    s   <timeout: %s>s   read %d bytess   ******** next url coming up...gš™™™™™¹?(   t   timet   loggingt	   getLoggert   debugR(   RE   R1   R   R)   t
   isinstancet   tupleR'   R    R=   t   TIMEOUTt   EnvironmentErrort   typet   assertIsInstanceR   t   timeoutt   syst   stderrRS   t   lenR   t   sleep(   R   R,   t   handlersR/   RW   RX   RZ   R:   RP   RB   t   expected_errR;   t   errt   msgt   buf(    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyR*   Î   sD    



c         C   s@   g  } t  j ƒ  } |  j | j ƒ | j d ƒ | j | ƒ | S(   Ni   (   R(   t   CacheFTPHandlert
   addCleanupt   clear_cachet
   setTimeoutt   append(   R   Rf   t   cfh(    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyR+   ÷   s    (   R   R   R&   t   skip_ftp_test_on_travisR-   R<   RD   RJ   RR   t   unittestt   skipRU   R6   R*   R+   (    (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyR%   d   s   				,			)t   TimeoutTestc           B   sn   e  Z d  „  Z d „  Z d „  Z d „  Z d Z e d „  ƒ Z e d „  ƒ Z	 e d „  ƒ Z
 e d „  ƒ Z RS(	   c         C   sg   |  j  t j ƒ  ƒ t j } t j | d d  ƒ�0 t | ƒ } |  j  | j j	 j j	 j
 ƒ  ƒ Wd  QXd  S(   NRa   (   t   assertIsNoneR   t   getdefaulttimeoutR    R   R=   R'   R   R   R   t
   gettimeout(   R   RP   t   u(    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_http_basic  s
    	c      	   C   s†   |  j  t j ƒ  ƒ t j } t j | ƒ �U t j d ƒ z t | ƒ } Wd  t j d  ƒ X|  j	 | j
 j j
 j j ƒ  d ƒ Wd  QXd  S(   Ni<   (   Ru   R   Rv   R    R   R=   t   setdefaulttimeoutR   R'   R?   R   R   Rw   (   R   RP   Rx   (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_http_default_timeout
  s    	c      	   C   s‰   |  j  t j ƒ  ƒ t j } t j | ƒ �X t j d ƒ z t | d d  ƒ} Wd  t j d  ƒ X|  j  | j	 j
 j	 j
 j ƒ  ƒ Wd  QXd  S(   Ni<   Ra   (   Ru   R   Rv   R    R   R=   Rz   R   R'   R   R   Rw   (   R   RP   Rx   (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_http_no_timeout  s    	c         C   sW   t  j } t  j | ƒ �9 t | d d ƒ} |  j | j j j j j ƒ  d ƒ Wd  QXd  S(   NRa   ix   (   R    R   R=   R   R?   R   R   Rw   (   R   RP   Rx   (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_http_timeout   s    	s   ftp://www.pythontest.net/c         C   sa   |  j  t j ƒ  ƒ t j |  j d d  ƒ�0 t |  j ƒ } |  j  | j j j	 j
 ƒ  ƒ Wd  QXd  S(   NRa   (   Ru   R   Rv   R    R=   t   FTP_HOSTR'   R   R   R   Rw   (   R   Rx   (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_ftp_basic(  s    c      	   C   s€   |  j  t j ƒ  ƒ t j |  j ƒ �U t j d ƒ z t |  j ƒ } Wd  t j d  ƒ X|  j	 | j
 j
 j j ƒ  d ƒ Wd  QXd  S(   Ni<   (   Ru   R   Rv   R    R=   R~   Rz   R   R'   R?   R   R   Rw   (   R   Rx   (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_ftp_default_timeout/  s    c      	   C   sƒ   |  j  t j ƒ  ƒ t j |  j ƒ �X t j d ƒ z t |  j d d  ƒ} Wd  t j d  ƒ X|  j  | j	 j	 j
 j ƒ  ƒ Wd  QXd  S(   Ni<   Ra   (   Ru   R   Rv   R    R=   R~   Rz   R   R'   R   R   Rw   (   R   Rx   (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_ftp_no_timeout:  s    c         C   sQ   t  j |  j ƒ �9 t |  j d d ƒ} |  j | j j j j ƒ  d ƒ Wd  QXd  S(   NRa   i<   (   R    R=   R~   R   R?   R   R   Rw   (   R   Rx   (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   test_ftp_timeoutE  s    (   R   R   Ry   R{   R|   R}   R~   Rq   R   R€   R�   R‚   (    (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyRt     s   				c           C   s'   t  j d ƒ t  j t t t t ƒ d  S(   Nt   network(   R    t   requirest   run_unittestR   R%   R   Rt   (    (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt	   test_mainL  s
    	t   __main__(   Rr   t   testR    t   test.test_urllib2R   R   R(   R3   Rb   R]   R	   R   t   skipIft   environRq   R:   R)   R   t   TestCaseR   R   R%   Rt   R†   R   (    (    (    sŠ   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_urllib2net.pyt   <module>   s&   	
		'žJ	