ó
ŒwÛjc           @   sæ   d  Z  d d l 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 e
 j d d ƒ d	 Z 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(   s%   
Tests for uu module.
Nick Mathewson
iÿÿÿÿN(   t   test_supports5   The smooth-scaled python crept over the sleeping dog
sK   M5&AE('-M;V]T:"US8V%L960@<'ET:&]N(&-R97!T(&]V97(@=&AE('-L965P
(:6YG(&1O9PH s   begin %03o %s
t   %s   %%s   
 
end
t   UUTestc           B   s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s—   t  j t ƒ } t  j ƒ  } t j | | d ƒ |  j | j ƒ  t d ƒ t  j t ƒ } t  j ƒ  } t j | | d d ƒ |  j | j ƒ  t d ƒ d  S(   Nt   t1i¶  i¤  (   i¶  R   (   i¤  R   (   t	   cStringIOt   StringIOt	   plaintextt   uut   encodet   assertEqualt   getvaluet   encodedtextwrapped(   t   selft   inpt   out(    (    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_uu.pyt   test_encode   s    c         C   s–   t  j t d ƒ } t  j ƒ  } t j | | ƒ |  j | j ƒ  t ƒ t  j d d t d ƒ } t  j ƒ  } t j | | ƒ |  j | j ƒ  t ƒ d  S(   Ni¶  R   s(   UUencoded files may contain many lines,
s%   even some that have 'begin' in them.
(   i¶  R   (   i¶  R   (   R   R   R   R   t   decodeR	   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_uu.pyt   test_decode"   s    c         C   ss   t  j d t ƒ } t  j ƒ  } y! t j | | ƒ |  j d ƒ Wn, t j k
 rn } |  j t | ƒ d ƒ n Xd  S(   Ns   begin 644 t1
s   No exception raiseds   Truncated input file(	   R   R   t   encodedtextR   R   t   failt   ErrorR	   t   str(   R   R   R   t   e(    (    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_uu.pyt   test_truncatedinput0   s    c         C   so   t  j d ƒ } t  j ƒ  } y! t j | | ƒ |  j d ƒ Wn, t j k
 rj } |  j t | ƒ d ƒ n Xd  S(   Nt    s   No exception raiseds'   No valid begin line found in input file(   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_uu.pyt   test_missingbegin9   s    c         C   s…   d } d } t  j | ƒ } t  j ƒ  } t j | | d t ƒ|  j | j ƒ  | ƒ d d  l } | j | d ƒ } |  j | | ƒ d  S(   Ns   begin 644 file
!,___
 
end
t   3t   quietiÿÿÿÿt   uu_codec(   R   R   R   R   t   TrueR	   R
   t   codecs(   R   R   R   R   R   R   t   decoded(    (    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_uu.pyt   test_garbage_paddingB   s    c         C   sT   t  j t ƒ } t  j ƒ  } d } d } t j | | | ƒ |  j | | j ƒ  ƒ d  S(   Ns   test.txt
overflow.txts   test.txt\n\roverflow.txt(   t   iot   BytesIOR   R   R   t   assertInR
   (   R   R   R   t   filenamet   safefilename(    (    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_uu.pyt   test_newlines_escapedV   s    (   t   __name__t
   __module__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_uu.pyR      s   	
						t   UUStdIOTestc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s   t  j |  _ t  j |  _ d  S(   N(   t   syst   stdint   stdout(   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_uu.pyt   setUpa   s    c         C   s   |  j  t _  |  j t _ 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_uu.pyt   tearDowne   s    c         C   sX   t  j t ƒ t _ t  j ƒ  t _ t j d d d d ƒ |  j t j j	 ƒ  t
 d ƒ d  S(   Nt   -R   i¶  (   i¶  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_uu.pyR   i   s    c         C   sR   t  j t d ƒ t _ t  j ƒ  t _ t j d d ƒ |  j t j j	 ƒ  t
 ƒ d  S(   Ni¶  R   R/   (   i¶  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_uu.pyR   r   s    (   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_uu.pyR)   _   s   				t
   UUFileTestc           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sP   t  j d |  _ t  j d |  _ |  j t  j |  j ƒ |  j t  j |  j ƒ d  S(   Nt   it   o(   t   supportt   TESTFNt   tmpint   tmpoutt
   addCleanupt   unlink(   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_uu.pyR-   z   s    c         C   s(  t  |  j d ƒ � } | j t ƒ Wd  QXt  |  j d ƒ �> } t  |  j d ƒ �# } t j | | |  j d d ƒWd  QXWd  QXt  |  j d ƒ � } | j ƒ  } Wd  QX|  j | t	 d |  j f ƒ t j |  j |  j |  j d d ƒt  |  j d ƒ � } | j ƒ  } Wd  QX|  j | t	 d |  j f ƒ d  S(   Nt   wbt   rbt   wt   modei¤  t   r(
   t   openR5   t   writeR   R6   R   R   t   readR	   R   (   R   t   fint   foutt   s(    (    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_uu.pyR   €   s    ("c         C   s˜   t  |  j d ƒ �! } | j t d |  j f ƒ Wd  QXt  |  j d ƒ � } t j | ƒ Wd  QXt  |  j d ƒ � } | j ƒ  } Wd  QX|  j | t	 ƒ d  S(   NR;   i¤  R=   (
   R>   R5   R?   R   R6   R   R   R@   R	   R   (   R   t   fRC   (    (    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_uu.pyR   ’   s     c         C   s€   t  |  j d ƒ �! } | j t d |  j f ƒ Wd  QXt j |  j ƒ t  |  j d ƒ � } | j ƒ  } Wd  QX|  j | t	 ƒ d  S(   NR;   i¤  R=   (
   R>   R5   R?   R   R6   R   R   R@   R	   R   (   R   RD   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_uu.pyt   test_decode_filenamež   s     c      
   C   s•   t  |  j d ƒ �! } | j t d |  j f ƒ Wd  QXt  |  j d ƒ � } t j | ƒ Wd  QXt  |  j d ƒ �  } |  j t j t j | ƒ Wd  QXd  S(   NR9   i¤  R=   (	   R>   R5   R?   R   R6   R   R   t   assertRaisesR   (   R   RD   (    (    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_uu.pyt   test_decodetwice¨   s     (   R'   R(   R-   R   R   RE   RG   (    (    (    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_uu.pyR0   x   s
   				
c           C   s   t  j t t t ƒ d  S(   N(   R3   t   run_unittestR   R)   R0   (    (    (    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_uu.pyt	   test_main²   s    t   __main__(   t   __doc__t   unittestt   testR    R3   R   R*   R   R!   R   R   t   replaceR   t   TestCaseR   R)   R0   RI   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_uu.pyt   <module>   s   I:	