ó
‹wÛjc           @   s  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z e j	 Z	 d  d l
 m Z e j j e ƒ Z e j j e d ƒ Z e j j e d ƒ Z e j j e d ƒ Z e j Z d f  d „  ƒ  YZ d e f d	 „  ƒ  YZ d
 e j f d „  ƒ  YZ d e	 f d „  ƒ  YZ d e	 f d „  ƒ  YZ d e	 f d „  ƒ  YZ d f  d „  ƒ  YZ d e e	 f d „  ƒ  YZ d e e	 f d „  ƒ  YZ d e	 f d „  ƒ  YZ d e	 f d „  ƒ  YZ d e	 f d „  ƒ  YZ  e j! e" d „ ƒ Z# e$ d k re# ƒ  n  d S(    iÿÿÿÿN(   t   test_supports   keycert.pems   keycert2.pems   selfsigned_pythontestdotnet.pemt
   FakeSocketc           B   sD   e  Z e j d d d  „ Z d „  Z d d „ Z d „  Z d „  Z RS(   c         C   s:   | |  _  | |  _ d |  _ t |  _ | |  _ | |  _ d  S(   Nt    (   t   textt	   fileclasst   datat   Falset   file_closedt   hostt   port(   t   selfR   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_httplib.pyt   __init__   s    					c         C   s   |  j  d j | ƒ 7_  d  S(   NR   (   R   t   join(   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_httplib.pyt   sendall"   s    c         C   sR   | d k r' | d k r' t  j ƒ  ‚ n  |  j |  j ƒ |  _ |  j |  j _ |  j S(   Nt   rt   rb(   t   httplibt   UnimplementedFileModeR   R   t   filet
   file_closet   close(   R
   t   modet   bufsize(    (    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_httplib.pyt   makefile%   s
    c         C   s   t  |  _ d  S(   N(   t   TrueR   (   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_httplib.pyR   -   s    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_httplib.pyR   0   s    N(	   t   __name__t
   __module__t   StringIOt   NoneR   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_httplib.pyR      s
   		t   EPipeSocketc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   t  j |  | ƒ | |  _ d  S(   N(   R   R   t   pipe_trigger(   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_httplib.pyR   5   s    c         C   s:   |  j  | k r' t j t j d ƒ ‚ n  |  j | 7_ d  S(   Nt   gotcha(   R   t   sockett   errort   errnot   EPIPER   (   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_httplib.pyR   :   s    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_httplib.pyR   ?   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_httplib.pyR   3   s   		t   NoEOFStringIOc           B   s&   e  Z d  Z d d „ Z d d „ Z RS(   s¨   Like StringIO, but raises AssertionError on EOF.

    This is used below to test that httplib doesn't try to read
    more from the underlying file than it should.
    iÿÿÿÿc         C   s4   t  j  j |  | ƒ } | d k r0 t d ƒ ‚ n  | S(   NR   s   caller tried to read past EOF(   R   t   readt   AssertionError(   R
   t   nR   (    (    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_httplib.pyR%   H   s    c         C   s4   t  j  j |  | ƒ } | d k r0 t d ƒ ‚ n  | S(   NR   s   caller tried to read past EOF(   R   t   readlineR&   (   R
   t   lengthR   (    (    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_httplib.pyR(   N   s    N(   R   R   t   __doc__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_httplib.pyR$   B   s   t   HeaderTestsc           B   sb   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   c         C   sÍ   d t  f d „  ƒ  Y} x° t t f D]¢ } x™ d D]‘ } t j d ƒ } t d ƒ | _ | ƒ  | _ d } i  } | r‹ t t	 | ƒ ƒ | | <n  | j
 d	 d
 | | ƒ |  j | j j | j ƒ  d ƒ q0 Wq# Wd  S(   Nt   HeaderCountingBufferc           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   i  |  _  d  S(   N(   t   count(   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_httplib.pyR   [   s    c         S   sn   | j  d ƒ } t | ƒ d k rZ | d j ƒ  } |  j j | d ƒ |  j | c d 7<n  t j |  | ƒ d  S(   Nt   :i   i    (   t   splitt   lent   lowerR-   t
   setdefaultt   listt   append(   R
   t   itemt   kvt   lcKey(    (    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_httplib.pyR4   ]   s    (   R   R   R   R4   (    (    (    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_httplib.pyR,   Z   s   	s   Content-lengtht   Hosts   Accept-encodings   example.comt   blahblahblaht   spamspamspamt   POSTt   /i   (   s   Content-lengthR8   s   Accept-encoding(   R3   R   R   R   t   HTTPConnectionR   t   sockt   _buffert   strR0   t   requestt   assertEqualR-   R1   (   R
   R,   t   explicit_headert   headert   connt   bodyt   headers(    (    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_httplib.pyt   test_auto_headersV   s    c         C   s
  d t  f d „  ƒ  Y} d } d } x t j | | ƒ D]k \ } } t j d ƒ } t d  ƒ | _ | ƒ  | _ | j	 | d | ƒ |  j
 | j j d	 d
 j | ƒ ƒ q5 Wd } xm | D]e } t j d ƒ } t d  ƒ | _ | ƒ  | _ | j	 | d d  ƒ |  j
 | j j d  d j | ƒ ƒ q± Wxm | D]e } t j d ƒ } t d  ƒ | _ | ƒ  | _ | j	 | d d ƒ |  j
 | j j d	 d
 j | ƒ ƒ q!Wxy t j | | ƒ D]e } t j d ƒ } t d  ƒ | _ | ƒ  | _ | j	 | d d ƒ |  j
 | j j d d
 j | ƒ ƒ q�Wd  S(   Nt   ContentLengthCheckerc           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   t  j |  ƒ d  |  _ d  S(   N(   R3   R   R   t   content_length(   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_httplib.pyR   v   s    c         S   sd   | j  d d ƒ } t | ƒ d k rP | d j ƒ  d k rP | d j ƒ  |  _ n  t j |  | ƒ d  S(   NR.   i   i    s   content-length(   R/   R0   R1   t   stripRJ   R3   R4   (   R
   R5   R6   (    (    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_httplib.pyR4   y   s    ((   R   R   R   R4   (    (    (    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_httplib.pyRI   u   s   	R   t   PUTR;   t   PATCHs   example.comR<   t   0s%   Header Content-Length incorrect on {}t   GETt   CONNECTt   DELETEt   HEADt   OPTIONSt   TRACEs.   Header Content-Length set for empty body on {}t    t   1(   NR   (   RL   R;   RM   (   RO   RP   RQ   RR   RS   RT   (   R3   R   t	   itertoolst   productR   R=   R   R>   R?   RA   RB   RJ   t   formatt   chain(   R
   RI   t   bodiest   methods_with_bodyt   methodRF   RE   t   methods_without_body(    (    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_httplib.pyt   test_content_length_0s   sH    c         C   s  t  j d ƒ } t d  ƒ | _ | j d d ƒ | j d d ƒ |  j d | j ƒ | j d d ƒ |  j d	 | j ƒ | j d
 d ƒ |  j d | j ƒ | j d d ƒ |  j d | j ƒ | j d d d ƒ |  j d | j ƒ | j d d ƒ |  j d | j ƒ | j d d ƒ |  j d | j ƒ | j d d ƒ |  j d | j ƒ | j d d ƒ |  j d | j ƒ | j d  d! ƒ |  j d" | j ƒ | j d# d$ ƒ |  j d% | j ƒ | j d& d$ ƒ |  j d' | j ƒ | j d( d$ ƒ |  j d) | j ƒ | j d* d$ ƒ |  j d+ | j ƒ d  S(,   Ns   example.comRO   R<   s   Content-lengthi*   s   Content-length: 42t   Foos    bar s
   Foo:  bar t   Bars   	baz	s
   Bar: 	baz	t   Authorizations   Bearer mytokens   Authorization: Bearer mytokent
   IterHeadert   IterAt   IterBs   IterHeader: IterA
	IterBt   LatinHeaders   ÿs   LatinHeader: ÿt
   Utf8Headers   Ã€s   Utf8Header: Ã€s
   C1-Controls	   next…lines   C1-Control: next…lines   Embedded-Fold-Spaces   is
 alloweds!   Embedded-Fold-Space: is
 alloweds   Embedded-Fold-Tabs   is
	alloweds   Embedded-Fold-Tab: is
	alloweds	   Key Spacet   values   Key Space: values	   KeySpace s   KeySpace : values   Nonbreak Spaces   Nonbreak Space: values    NonbreakSpaces    NonbreakSpace: value(	   R   R=   R   R   R>   t
   putrequestt	   putheadert   assertInR?   (   R
   RE   (    (    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_httplib.pyt   test_putheaderµ   s>    c         C   sª   d } t  j d ƒ } t d ƒ } | | _ | j d d ƒ |  j | j j | ƒ ƒ d } t  j d ƒ } t d ƒ } | | _ | j d d ƒ |  j | j j | ƒ ƒ d  S(   NsC   GET /foo HTTP/1.1
Host: [2001::]:81
Accept-Encoding: identity

s   [2001::]:81R   RO   s   /foosE   GET /foo HTTP/1.1
Host: [2001:102A::]
Accept-Encoding: identity

s   [2001:102A::](   R   R=   R   R>   RA   t
   assertTrueR   t
   startswith(   R
   t   expectedRE   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_httplib.pyt   test_ipv6host_header×   s    		c         C   sa   d } t  | ƒ } t j | ƒ } | j ƒ  |  j | j d ƒ d ƒ |  j | j d ƒ d ƒ d  S(   Ns4   HTTP/1.1 200 OK
First: val
: nval
Second: val

t   Firstt   valt   Second(   R   R   t   HTTPResponset   beginRB   t	   getheader(   R
   RF   R>   t   resp(    (    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_httplib.pyt!   test_malformed_headers_coped_withê   s    
c         C   sn   d } t  j t | ƒ ƒ } | j ƒ  |  j | j d ƒ ƒ |  j | j d ƒ d ƒ |  j | j ƒ  d ƒ d  S(   Ns|   HTTP/1.1 200 OK
Public-Key-Pins: 
pin-sha256="xxx=";
report-uri="https://..."
Transfer-Encoding: chunked

4
body
0

s   Public-Key-Pinss   Transfer-Encodingt   chunkedRF   (   R   Rt   R   Ru   t   assertIsNotNoneRv   RB   R%   (   R
   Rw   (    (    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_httplib.pyt   test_malformed_truncationô   s    
c         C   sO  x¹ d D]± } d } | | 7} | d 7} t  j t | ƒ ƒ } | j ƒ  |  j | j d ƒ d ƒ |  j | j ƒ  d ƒ d | d } t  j t | ƒ ƒ } | j ƒ  |  j | j ƒ  d ƒ q Wd	 } t  j t | ƒ ƒ } | j ƒ  |  j | j d ƒ d ƒ |  j | j ƒ  d ƒ d } t  j t | ƒ ƒ } | j ƒ  |  j | j ƒ  d
 ƒ d  S(   Ns   
s   
s-   HTTP/1.1 200 OK
Transfer-Encoding: chunked
s   4
body
0

s   Transfer-EncodingRy   RF   s   HTTP/1.0 200 OK
sK   HTTP/1.1 200 OK
Name: value
Transfer-Encoding: chunked

4
body
0

R   (   s   
s   
(   R   Rt   R   Ru   RB   Rv   R%   (   R
   t   blankRw   (    (    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_httplib.pyt   test_blank_line_forms  s*    





c         C   s©   d } t  j t | ƒ ƒ } | j ƒ  |  j | j d ƒ ƒ |  j | j d ƒ d ƒ |  j | j ƒ  d ƒ d } t  j t | ƒ ƒ } | j ƒ  |  j | j ƒ  d ƒ d  S(   Ns…   HTTP/1.1 200 OK
From start
 continued
Name: value
From middle
 continued
Transfer-Encoding: chunked
From end

4
body
0

t   Names   Transfer-EncodingRy   RF   s#   HTTP/1.0 200 OK
From alone

body(   R   Rt   R   Ru   Rz   Rv   RB   R%   (   R
   Rw   (    (    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_httplib.pyt   test_from_line-  s    

c         C   s*  d t  t d d ƒ ƒ d t  t d d ƒ ƒ d } t | ƒ } t j | ƒ } | j ƒ  |  j | j d	 ƒ d
 ƒ |  j | j d ƒ d ƒ d j t	 t
 t d d ƒ ƒ ƒ } |  j | j d ƒ | ƒ |  j | j d ƒ ƒ | j d ƒ } |  j | j d ƒ ƒ |  j d | ƒ |  j | j d ƒ ƒ d  S(   Ns0   HTTP/1.1 200 OK
!#$%&'*+-.^_`|~: value
VCHAR: i!   i~   i   s   
obs-text: i€   iÿ   sM   
obs-fold: text
 folded with space
	folded with tab
Content-Length: 0

s   Content-LengthRN   s   !#$%&'*+-.^_`|~Rh   R   t   VCHARs   obs-texts   obs-foldR   s    folded with spaces   folded with tabi   i   i   (   t	   bytearrayt   rangeR   R   Rt   Ru   RB   Rv   R   t   mapt   chrRz   Rm   Rn   Rk   t   endswith(   R
   RF   R>   Rw   t   vchart   folded(    (    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_httplib.pyt   test_parse_all_octetsL  s    4
!c         C   s¨   t  j d ƒ } t d ƒ | _ | j d d ƒ d d d d d d d d d  d! d" d# d$ d% d& d' f } x= | D]5 \ } } |  j t d ƒ � | j | | ƒ Wd  QXqk Wd  S((   Ns   example.comR   RO   R<   s   Invalid
Namet
   ValidValues   InvalidNames   Invalid
Names   
InvalidNames   InvalidNames   
InvalidNames    InvalidNames   	InvalidNames   Invalid:Names   :InvalidNamet	   ValidNames   Invalid
Values   InvalidValues   Invalid
Values   InvalidValue
s   InvalidValues   InvalidValue
s   Invalid header(   s   Invalid
NameR‰   (   s   InvalidNameR‰   (   s   Invalid
NameR‰   (   s   
InvalidNameR‰   (   s   InvalidNameR‰   (   s   
InvalidNameR‰   (   s    InvalidNameR‰   (   s   	InvalidNameR‰   (   s   Invalid:NameR‰   (   s   :InvalidNameR‰   (   RŠ   s   Invalid
Value(   RŠ   s   InvalidValue(   RŠ   s   Invalid
Value(   RŠ   s   InvalidValue
(   RŠ   s   InvalidValue(   RŠ   s   InvalidValue
(   R   R=   R   R>   Ri   t   assertRaisesRegexpt
   ValueErrorRj   (   R
   RE   t   casest   nameRh   (    (    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_httplib.pyt   test_invalid_headersf  s,    	(   R   R   RH   R_   Rl   Rp   Rx   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_httplib.pyR+   U   s   		B	"		
		'		t	   BasicTestc           B   sò   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s»   d } t  | ƒ } t j | ƒ } | j ƒ  |  j | j d ƒ d ƒ |  j | j ƒ  ƒ |  j | j ƒ  d ƒ |  j | j ƒ  ƒ d } t  | ƒ } t j | ƒ } |  j	 t j
 | j ƒ d  S(   Ns   HTTP/1.1 200 Ok

Texti    R   t   Texts   HTTP/1.1 400.100 Not Ok

Text(   R   R   Rt   Ru   RB   R%   t   assertFalset   isclosedRm   t   assertRaisest   BadStatusLine(   R
   RF   R>   Rw   (    (    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_httplib.pyt   test_status_lines…  s    
c         C   s)   t  j d ƒ } |  j t | ƒ d ƒ d  S(   NR   s   BadStatusLine("''",)(   R   R•   RB   t   repr(   R
   t   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_httplib.pyt   test_bad_status_repr–  s    c         C   s‡   d } t  | ƒ } t j | ƒ } | j ƒ  |  j | j d ƒ d ƒ |  j | j ƒ  ƒ |  j | j d ƒ d ƒ |  j | j ƒ  ƒ d  S(   Ns*   HTTP/1.1 200 Ok
Content-Length: 4

Texti   t   Tet   xt(	   R   R   Rt   Ru   RB   R%   R’   R“   Rm   (   R
   RF   R>   Rw   (    (    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_httplib.pyt   test_partial_readsš  s    
c         C   s    d } t  | ƒ } t j | ƒ } | j ƒ  |  j | j d ƒ d ƒ |  j | j ƒ  ƒ |  j | j d ƒ d ƒ |  j | j d ƒ d ƒ |  j | j ƒ  ƒ d  S(   Ns   HTTP/1.1 200 Ok

Texti   Rš   R›   i   R   (	   R   R   Rt   Ru   RB   R%   R’   R“   Rm   (   R
   RF   R>   Rw   (    (    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_httplib.pyt$   test_partial_reads_no_content_length¦  s    
c         C   s    d } t  | ƒ } t j | ƒ } | j ƒ  |  j | j d ƒ d ƒ |  j | j ƒ  ƒ |  j | j d ƒ d ƒ |  j | j d ƒ d ƒ |  j | j ƒ  ƒ d  S(   Ns+   HTTP/1.1 200 Ok
Content-Length: 10

Texti   Rš   R›   i   R   (	   R   R   Rt   Ru   RB   R%   R’   R“   Rm   (   R
   RF   R>   Rw   (    (    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_httplib.pyt"   test_partial_reads_incomplete_body³  s    
c         C   sÇ   x' d D] } |  j  t j t j | ƒ q Wx– d d d d d f D] \ } } } t j | ƒ } | j } | | j k r“ |  j d | | j f ƒ n  | | j k r@ |  j d | | j f ƒ q@ q@ Wd  S(   Ns   www.python.org:abcs   user:password@www.python.orgs   [fe80::207:e9ff:fe9b]:8000s   fe80::207:e9ff:fe9bi@  s   www.python.org:80s   www.python.orgiP   s   www.python.org:s   [fe80::207:e9ff:fe9b]s!   Host incorrectly parsed: %s != %ss!   Port incorrectly parsed: %s != %s(   s   www.python.org:abcs   user:password@www.python.org(   s   [fe80::207:e9ff:fe9b]:8000s   fe80::207:e9ff:fe9bi@  (   s   www.python.org:80s   www.python.orgiP   (   s   www.python.orgs   www.python.orgiP   (   s   www.python.org:s   www.python.orgiP   (   s   [fe80::207:e9ff:fe9b]s   fe80::207:e9ff:fe9biP   (   R”   R   t
   InvalidURLt   HTTPt   _connR   t   failR	   (   R
   t   hpt   ht   pt   httpt   c(    (    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_httplib.pyt   test_host_portÀ  s    	c         C   s`   d } d } t  | ƒ } t j | ƒ } | j ƒ  | j d ƒ } | | k r\ |  j d ƒ n  d  S(   Ns¨   HTTP/1.1 200 OK
Set-Cookie: Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"
Set-Cookie: Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"

No body
sr   Customer="WILE_E_COYOTE"; Version="1"; Path="/acme", Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"s
   Set-Cookies&   multiple headers not combined properly(   R   R   Rt   Ru   Rv   R¢   (   R
   R   t   hdrt   sR   t   cookies(    (    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_httplib.pyt   test_response_headersÔ  s    
c         C   sT   t  d t ƒ } t j | d d ƒ} | j ƒ  | j ƒ  d k rP |  j d ƒ n  d  S(   Ns*   HTTP/1.1 200 OK
Content-Length: 14432

R]   RR   R   s)   Did not expect response from HEAD request(   R   R$   R   Rt   Ru   R%   R¢   (   R
   R>   Rw   (    (    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_httplib.pyt   test_read_headç  s    	
c         C   sb   d j  d „  t d ƒ Dƒ ƒ d } d | } t | ƒ } t j | ƒ } |  j t j | j ƒ d  S(   Ns   
c         s   s   |  ] } d  | Vq d S(   s   Header%d: fooN(    (   t   .0t   i(    (    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_httplib.pys	   <genexpr>õ  s    iÈ   s   HTTP/1.1 200 OK
(   R   t   xrangeR   R   Rt   R”   t   HTTPExceptionRu   (   R
   RG   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_httplib.pyt   test_too_many_headersô  s
    #
c         C   s|   d } t  t d ƒ } t j d ƒ } t | ƒ } | | _ | j d d | ƒ |  j | j j	 | ƒ ƒ |  j
 d | j ƒ d  S(   NsP   GET /foo HTTP/1.1
Host: example.com
Accept-Encoding: identity
Content-Length:R   s   example.comRO   s   /foos   def test_send_file(   t   opent   __file__R   R=   R   R>   RA   Rm   R   Rn   Rk   (   R
   Ro   RF   RE   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_httplib.pyt   test_send_fileû  s    	c         C   sƒ   d } t  j ƒ  �X } | j d ƒ | j d ƒ t j d ƒ } t | ƒ } | | _ | j d d | ƒ Wd  QX|  j	 | j
 | ƒ d  S(   Ns_   GET /foo HTTP/1.1
Host: example.com
Accept-Encoding: identity
Content-Length: 9

fake
datas	   fake
datai    s   example.comRO   s   /foo(   t   tempfilet   TemporaryFilet   writet   seekR   R=   R   R>   RA   RB   R   (   R
   Ro   RF   RE   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_httplib.pyt   test_send_tempfile  s    	c         C   sµ   d } t  j d ƒ } t d  ƒ } | | _ | j | ƒ |  j | | j ƒ d | _ | j t j d | ƒ ƒ |  j | | j ƒ d | _ | j t	 j	 | ƒ ƒ |  j | | j ƒ d  S(   Ns"   this is a test this is only a tests   example.comR   R§   (
   R   R=   R   R   R>   t   sendRB   R   t   arrayR   (   R
   Ro   RE   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_httplib.pyt	   test_send  s    			c         C   s  d } t  | d ƒ } t j | d d ƒ} | j ƒ  |  j | j ƒ  d ƒ | j ƒ  xÂ d
 D]º } t  | | ƒ } t j | d d ƒ} | j ƒ  zw y | j ƒ  WnU t j k
 rù } |  j | j d ƒ |  j t	 | ƒ d ƒ |  j t
 | ƒ d ƒ n X|  j d	 ƒ Wd  | j ƒ  Xq\ Wd  S(   NsD   HTTP/1.1 200 OK
Transfer-Encoding: chunked

a
hello worl
1
d
s   0
R]   RO   s   hello worldR   s   foo
s   IncompleteRead(11 bytes read)s   IncompleteRead expected(   R   s   foo
(   R   R   Rt   Ru   RB   R%   R   t   IncompleteReadt   partialR—   R@   R¢   (   R
   t   chunked_startR>   Rw   t   xR¯   (    (    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_httplib.pyt   test_chunked$  s&    


 c         C   sˆ   d } t  | d ƒ } t j | d d ƒ} | j ƒ  |  j | j ƒ  d ƒ |  j | j d ƒ |  j | j d ƒ |  j | j	 ƒ  ƒ d  S(   NsE   HTTP/1.1 200 OK
Transfer-Encoding: chunked

a
hello world
1
d
s   0
R]   RR   R   iÈ   t   OK(
   R   R   Rt   Ru   RB   R%   t   statust   reasonRm   R“   (   R
   RÀ   R>   Rw   (    (    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_httplib.pyt   test_chunked_headB  s    
c         C   sX   t  d ƒ } t j | d d ƒ} | j ƒ  |  j | j ƒ  d ƒ |  j | j ƒ  ƒ d  S(   Ns.   HTTP/1.1 200 OK
Content-Length: -1

Hello
R]   RO   s   Hello
(   R   R   Rt   Ru   RB   R%   Rm   R“   (   R
   R>   Rw   (    (    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_httplib.pyt   test_negative_content_lengthS  s
    
c         C   sµ   t  d ƒ } t j | d d ƒ} | j ƒ  y | j ƒ  Wnh t j k
 r£ } |  j | j d ƒ |  j t | ƒ d ƒ |  j t	 | ƒ d ƒ |  j
 | j ƒ  ƒ n X|  j d ƒ d  S(   Ns.   HTTP/1.1 200 OK
Content-Length: 10

Hello
R]   RO   s   Hello
s-   IncompleteRead(7 bytes read, 3 more expected)s   IncompleteRead expected(   R   R   Rt   Ru   R%   R¾   RB   R¿   R—   R@   Rm   R“   R¢   (   R
   R>   Rw   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_httplib.pyt   test_incomplete_read[  s    
c            s   t  d d ƒ } t j d ƒ ‰  | ˆ  _ |  j t j ‡  f d †  ƒ ˆ  j ƒ  } |  j d | j	 ƒ |  j d | j
 d ƒ ƒ d  S(   Nsg   HTTP/1.0 401 Authorization Required
Content-type: text/html
WWW-Authenticate: Basic realm="example"
s   Content-Lengths   example.comc              s   ˆ  j  d d d ƒ S(   NRL   s   /urlRF   (   RA   (    (   RE   (    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_httplib.pyt   <lambda>t  R   i‘  s   Basic realm="example"s   www-authenticate(   R   R   R=   R>   R”   R    R!   t   getresponseRB   RÄ   Rv   (   R
   R>   Rw   (    (   RE   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_httplib.pyt
   test_epipek  s    			c         C   s>   d } t  | ƒ } t j | ƒ } |  j t | d ƒ d ƒ d  S(   Ns   HTTP/1.1 200 Ok

Textt   filenos-   HTTPResponse should expose a fileno attribute(   R   R   Rt   Rm   t   hasattr(   R
   RF   R>   Rw   (    (    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_httplib.pyt   test_filenoattrz  s
    c         C   sW   |  j  d ƒ d d d d } t j t | ƒ ƒ } |  j t j t j f | j ƒ d  S(   Ns   disabled for HTTP 0.9 supports   HTTP/1.1 200 Okt   ki   s   
(   t   skipTestR   Rt   R   R”   t   LineTooLongR•   Ru   (   R
   RF   Rw   (    (    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_httplib.pyt   test_overflowing_status_line„  s    c         C   sA   d d d d } t  j t | ƒ ƒ } |  j t  j | j ƒ d  S(   Ns   HTTP/1.1 200 OK
X-Foo: barR   i   s   

(   R   Rt   R   R”   RÑ   Ru   (   R
   RF   Rw   (    (    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_httplib.pyt   test_overflowing_header_lineŠ  s    c         C   sK   d d d d } t  j t | ƒ ƒ } | j ƒ  |  j t  j | j ƒ d  S(   Ns/   HTTP/1.1 200 OK
Transfer-Encoding: chunked

RN   i   s   a
hello world
0
(   R   Rt   R   Ru   R”   RÑ   R%   (   R
   RF   Rw   (    (    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_httplib.pyt   test_overflowing_chunked_line’  s    
c         C   sX   d } t  | ƒ } t j | ƒ } | j ƒ  |  j | j ƒ  d ƒ |  j | j ƒ  ƒ d  S(   Ns   HTTP/1.1 200 OkR   (   R   R   Rt   Ru   RB   R%   Rm   R“   (   R
   RF   R>   Rw   (    (    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_httplib.pyt   test_early_eofž  s    
c            s–   t  j d ƒ } g  ‰  d t  j f ‡  f d †  ƒ  Y} | | _ t d ƒ | _ | j d d ƒ |  j t  j | j	 ƒ |  j
 ˆ  ƒ |  j
 | j j ƒ d  S(   Ns   example.comt   Responsec              s   e  Z ‡  f d  †  Z RS(   c            s'   ˆ  j  |  ƒ t j j |  | | Ž d  S(   N(   R4   R   Rt   R   (   R
   t   post   kw(   t   response(    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_httplib.pyR   ¬  s    (   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_httplib.pyRÖ   «  s   R   RO   R<   (   R   R=   Rt   t   response_classR   R>   RA   R”   R•   RÊ   Rm   R   (   R
   RE   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_httplib.pyt   test_error_leak§  s    	c         C   sa   d } t  j d d t ƒ} | j d ƒ t | ƒ | _ |  j t j d ƒ � | j	 ƒ  Wd  QXd  S(   Ns   hello worlds   example.comt   strictt   foos   Invalid response(
   R   R=   R   t
   set_tunnelR   R>   R‹   R    R!   t   _tunnel(   R
   RF   RE   (    (    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_httplib.pyt%   test_proxy_tunnel_without_status_line·  s    c         C   sH   d t  j f d „  ƒ  Y} | d ƒ } t d ƒ | _ | j d d ƒ d S(   sv   
        It should be possible to override the default validation
        behavior in putrequest (bpo-38216).
        t   UnsafeHTTPConnectionc           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   R
   t   url(    (    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_httplib.pyt   _validate_pathÇ  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_httplib.pyRá   Æ  s   s   example.comR   RO   s   / N(   R   R=   R   R>   Ri   (   R
   Rá   RE   (    (    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_httplib.pyt*   test_putrequest_override_domain_validationÁ  s    c         C   sN   d t  j f d „  ƒ  Y} | d ƒ } t d ƒ | _ | j d d d d ƒd  S(	   NRá   c           B   s   e  Z d  „  Z RS(   c         S   s   d  S(   N(    (   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_httplib.pyt   _validate_hostÐ  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_httplib.pyRá   Ï  s   s   example.com
R   RO   R<   t	   skip_hosti   (   R   R=   R   R>   Ri   (   R
   Rá   RE   (    (    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_httplib.pyt(   test_putrequest_override_host_validationÎ  s    (   R   R   R–   R™   Rœ   R�   Rž   R¨   R¬   R­   R²   Rµ   Rº   R½   RÂ   RÆ   RÇ   RÈ   RË   RÎ   RÒ   RÓ   RÔ   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_httplib.pyR�   „  s4   																		
							
	t   OfflineTestc           B   s   e  Z d  „  Z RS(   c         C   s   |  j  t j t j d ƒ d  S(   Ns	   Not Found(   RB   R   t	   responsest	   NOT_FOUND(   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_httplib.pyt   test_responsesÛ  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_httplib.pyRè   Ú  s   t   TestServerMixinc           B   s    e  Z d  Z d „  Z d „  Z RS(   sk   A limited socket server mixin.

    This is used by test cases for testing http connection end points.
    c         C   s\   t  j  t  j t  j ƒ |  _ t j |  j ƒ |  _ t j ƒ  |  _ |  j j	 d ƒ d  |  _ d  S(   Ni   (   R    t   AF_INETt   SOCK_STREAMt   servR    t	   bind_portR	   t   find_unused_portt   source_portt   listenR   RE   (   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_httplib.pyt   setUpä  s
    c         C   s<   |  j  r" |  j  j ƒ  d  |  _  n  |  j j ƒ  d  |  _ d  S(   N(   RE   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_httplib.pyt   tearDownë  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_httplib.pyRì   ß  s   	t   SourceAddressTestc           B   s6   e  Z d  „  Z e j e e d ƒ d ƒ d „  ƒ Z RS(   c         C   s[   t  j t |  j d d |  j f ƒ|  _ |  j j ƒ  |  j |  j j j	 ƒ  d |  j ƒ d  S(   Nt   source_addressR   i   (
   R   R=   t   HOSTR	   Rò   RE   t   connectRB   R>   t   getsockname(   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_httplib.pyt   testHTTPConnectionSourceAddressó  s    t   HTTPSConnections#   httplib.HTTPSConnection not definedc         C   s+   t  j t |  j d d |  j f ƒ|  _ d  S(   NR÷   R   (   R   Rü   Rø   R	   Rò   RE   (   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_httplib.pyt    testHTTPSConnectionSourceAddressù  s    (   R   R   Rû   t   unittestt   skipIfRÍ   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_httplib.pyRö   ò  s   	t   HTTPTestc           B   s   e  Z d  „  Z d „  Z RS(   c         C   sj   t  j d t d |  j d d  ƒ |  _ |  j j ƒ  |  j |  j j j	 t ƒ |  j |  j j j |  j ƒ d  S(   NR   R	   RÜ   (
   R   R    Rø   R	   R   RE   Rù   RB   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_httplib.pyt   testHTTPConnection  s    $c         C   s®   d } d } t  j d | d | ƒ |  _ |  j j d t d |  j ƒ |  j |  j j j | ƒ |  j |  j j j | ƒ |  j	 |  j j j t ƒ |  j	 |  j j j |  j ƒ d  S(   Ns   unreachable.test.domaint   80R   R	   (
   R   R    RE   Rù   Rø   R	   t   assertNotEqualR¡   R   RB   (   R
   t   testhostt   testport(    (    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_httplib.pyt   testHTTPWithConnectHostPort
  s    (   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_httplib.pyR     s   	t   TimeoutTestc           B   s)   e  Z d Z d  „  Z d „  Z d „  Z RS(   c         C   sD   t  j  t  j t  j ƒ |  _ t j |  j ƒ t _ |  j j d ƒ d  S(   Ni   (	   R    Rí   Rî   Rï   R    Rð   R  t   PORTRó   (   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_httplib.pyRô     s    c         C   s   |  j  j ƒ  d  |  _  d  S(   N(   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_httplib.pyRõ     s    c         C   s@  |  j  t j ƒ  ƒ t j d ƒ z# t j t t j ƒ } | j	 ƒ  Wd t j d ƒ X|  j | j j ƒ  d ƒ | j ƒ  |  j  t j ƒ  ƒ t j d ƒ z) t j t t j d d ƒ} | j	 ƒ  Wd t j d ƒ X|  j | j j ƒ  d ƒ | j ƒ  t j t t j d d ƒ} | j	 ƒ  |  j | j j ƒ  d ƒ | j ƒ  d S(   sb   This will prove that the timeout gets through
        HTTPConnection and into the socket.
        i   Nt   timeout(   t   assertIsNoneR    t   getdefaulttimeoutt   setdefaulttimeoutR   R=   Rø   R  R  Rù   R   RB   R>   t
   gettimeoutR   (   R
   t   httpConn(    (    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_httplib.pyt   testTimeoutAttribute!  s*    
	

N(   R   R   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_httplib.pyR    s   		t	   HTTPSTestc           B   s}   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z e j d „  ƒ Z	 d „  Z
 d „  Z d „  Z d	 „  Z d
 „  Z d „  Z RS(   c         C   s#   t  t d ƒ s |  j d ƒ n  d  S(   NRü   s   ssl support required(   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_httplib.pyRô   E  s    c         C   s    d d l  m } | |  d | ƒS(   Niÿÿÿÿ(   t   make_https_servert   certfile(   t   test.ssl_serversR  (   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_httplib.pyt   make_serverI  s    c         C   s2   t  j t t j d d ƒ} |  j | j d ƒ d  S(   NR	  i   (   R   Rü   Rø   R  R  RB   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_httplib.pyt   test_attributesM  s    c         C   s†   d d  l  } t j d ƒ t j d ƒ �X t j d d ƒ } |  j | j ƒ � } | j d d ƒ Wd  QX|  j	 | j
 j d ƒ Wd  QXd  S(   Niÿÿÿÿt   networks   self-signed.pythontest.neti»  RO   R<   t   CERTIFICATE_VERIFY_FAILED(   t   sslR    t   requirest   transient_internetR   Rü   R”   t   SSLErrorRA   RB   t	   exceptionRÅ   (   R
   R  R¤   t   exc_info(    (    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_httplib.pyt   test_networkedR  s    c      	   C   sŒ   d d  l  } t j d ƒ t j d ƒ �^ | j ƒ  } t j d d d | ƒ} | j d d ƒ | j ƒ  } |  j	 d | j
 d	 ƒ ƒ Wd  QXd  S(
   NiÿÿÿÿR  s   self-signed.pythontest.neti»  t   contextRO   R<   t   nginxt   server(   R  R    R  R  t   _create_stdlib_contextR   Rü   RA   RÊ   Rk   Rv   (   R
   R  R  R¤   Rw   (    (    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_httplib.pyt   test_networked_noverification\  s    	c         C   st   t  j d ƒ t  j d ƒ �R t j d d ƒ } | j d d ƒ | j ƒ  } | j d ƒ } |  j d | ƒ Wd  QXd  S(   NR  s   www.python.orgi»  RO   R<   s   content-types	   text/html(	   R    R  R  R   Rü   RA   RÊ   Rv   Rk   (   R
   R¤   Rw   t   content_type(    (    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_httplib.pyt&   test_networked_trusted_by_default_certh  s    c      	   C   s±   d d  l  } t j d ƒ t j d ƒ �ƒ | j | j ƒ } | j | _ | j t	 ƒ t
 j d d d | ƒ} | j d d ƒ | j ƒ  } | j d ƒ } |  j d	 | ƒ Wd  QXd  S(
   NiÿÿÿÿR  s   self-signed.pythontest.neti»  R  RO   R<   R!  R   (   R  R    R  R  t
   SSLContextt   PROTOCOL_TLSt   CERT_REQUIREDt   verify_modet   load_verify_locationst    CERT_selfsigned_pythontestdotnetR   Rü   RA   RÊ   Rv   Rk   (   R
   R  R  R¤   Rw   t   server_string(    (    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_httplib.pyt   test_networked_good_certs  s    c         C   s·   d d  l  } t j d ƒ t j d ƒ �‰ | j | j ƒ } | j | _ | j t	 ƒ t
 j d d d | ƒ} |  j | j ƒ � } | j d d ƒ Wd  QX|  j | j j d ƒ Wd  QXd  S(	   NiÿÿÿÿR  s   self-signed.pythontest.neti»  R  RO   R<   R  (   R  R    R  R  R&  R'  R(  R)  R*  t   CERT_localhostR   Rü   R”   R  RA   RB   R  RÅ   (   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_httplib.pyt   test_networked_bad_cert�  s    c         C   su   d d  l  } |  j t ƒ } t j d | j ƒ } |  j | j ƒ � } | j d d ƒ Wd  QX|  j	 | j
 j d ƒ d  S(   Niÿÿÿÿt	   localhostRO   R<   R  (   R  R  R.  R   Rü   R	   R”   R  RA   RB   R  RÅ   (   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_httplib.pyt   test_local_unknown_certŽ  s    c         C   s”   d d  l  } |  j t ƒ } | j | j ƒ } | j | _ | j t ƒ t j	 d | j
 d | ƒ} | j d d ƒ | j ƒ  } |  j | j d ƒ d  S(   NiÿÿÿÿR0  R  RO   s   /nonexistenti”  (   R  R  R.  R&  R'  R(  R)  R*  R   Rü   R	   RA   RÊ   RB   RÄ   (   R
   R  R!  R  R¤   Rw   (    (    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_httplib.pyt   test_local_good_hostname—  s    c         C   sô   d d  l  } |  j t ƒ } | j | j ƒ } | j | _ t | _ | j	 t ƒ t
 j d | j d | ƒ} |  j | j ƒ � | j d d ƒ Wd  QX| j ƒ  t | _ t
 j d | j d | ƒ} | j d d ƒ | j ƒ  } |  j | j d ƒ d  S(   NiÿÿÿÿR0  R  RO   R<   s   /nonexistenti”  (   R  R  t   CERT_fakehostnameR&  R'  R(  R)  R   t   check_hostnameR*  R   Rü   R	   R”   t   CertificateErrorRA   R   R   RÊ   RB   RÄ   (   R
   R  R!  R  R¤   Rw   (    (    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_httplib.pyt   test_local_bad_hostname£  s    	
	c         C   s�   x' d D] } |  j  t j t j | ƒ q Wx^ d d d d d d f D]D \ } } } t j | ƒ } |  j | | j ƒ |  j | | j ƒ qC Wd  S(   Ns   www.python.org:abcs   user:password@www.python.orgs   [fe80::207:e9ff:fe9b]:8000s   fe80::207:e9ff:fe9bi@  s   www.python.org:443s   www.python.orgi»  s   www.python.org:s   [fe80::207:e9ff:fe9b]s   [fe80::207:e9ff:fe9b]:(   s   www.python.org:abcs   user:password@www.python.org(   s   [fe80::207:e9ff:fe9b]:8000s   fe80::207:e9ff:fe9bi@  (   s   www.python.org:443s   www.python.orgi»  (   s   www.python.org:s   www.python.orgi»  (   s   www.python.orgs   www.python.orgi»  (   s   [fe80::207:e9ff:fe9b]s   fe80::207:e9ff:fe9bi»  (   s   [fe80::207:e9ff:fe9b]:s   fe80::207:e9ff:fe9bi»  (   R”   R   RŸ   Rü   RB   R   R	   (   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_httplib.pyR¨   ¶  s     (   R   R   Rô   R  R  R  R#  R    t   system_must_validate_certR%  R-  R/  R1  R2  R6  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_httplib.pyR  C  s   				
							t   TunnelTestsc           B   s   e  Z d  „  Z RS(   c            s€  d ‰  d  d  ‡  f d † } t j d ƒ } | | _ | j ƒ  |  j t | j d ƒ | j ƒ  | j d ƒ | j	 d d d ƒ |  j
 | j j d ƒ |  j
 | j j d ƒ |  j d	 | j j ƒ |  j d
 | j j ƒ |  j d | j j ƒ |  j d | j j ƒ | j ƒ  | j	 d d d ƒ |  j
 | j j d ƒ |  j
 | j j d ƒ |  j d	 | j j k ƒ |  j d | j j k ƒ d  S(   Ns:   HTTP/1.0 200 OK

HTTP/1.1 200 OK
Content-Length: 42

c            s   t  ˆ  d |  d d |  d ƒS(   NR   i    R	   i   (   R   (   t   addressR	  R÷   (   t   response_text(    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_httplib.pyt   create_connectionÑ  s    s	   proxy.coms   destination.comRR   R<   R   iP   s   CONNECT destination.coms   Host: destination.com:Nones   Host: destination.coms   Host: proxy.comRL   (   R   R   R=   t   _create_connectionRù   R”   t   RuntimeErrorRÞ   R   RA   RB   R>   R   R	   Rk   R   t   assertNotInRm   (   R
   R;  RE   (    (   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_httplib.pyt   test_connectÊ  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_httplib.pyR8  É  s   c      	   C   s&   t  j t t t t t t t t	 ƒ d  S(   N(
   R    t   run_unittestR+   Rè   R�   R  R   R  Rö   R8  (   t   verbose(    (    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_httplib.pyt	   test_mainò  s    	t   __main__(%   R   RW   R¼   R   R    R"   t   osR¶   Rþ   t   TestCaset   testR    t   patht   dirnameR´   t   hereR   R.  R3  R+  Rø   R   R   R$   R+   R�   Rè   Rì   Rö   R   R  R  R8  t   reap_threadsR   RB  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_httplib.pyt   <module>   sB   		ÿ 0ÿ W.†)