ó
‹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 e j d ƒ Z	 d Z
 d Z d e j f d „  ƒ  YZ e d	 „ Z e d
 k r® e d e ƒ n  d S(   s!   Test script for the gzip module.
iÿÿÿÿN(   t   test_supportt   gzipsy     int length=DEFAULTALLOC, err = Z_OK;
  PyObject *RetVal;
  int flushmode = Z_FINISH;
  unsigned long start_total_out;

sŽ   /* zlibmodule.c -- gzip-compatible data compression */
/* See http://www.gzip.org/zlib/
/* See http://www.winimage.com/zLibDll for Windows */
t   TestGzipc           B   s"  e  Z e j Z d  „  Z d „  Z d d „ Z e j 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   t  j |  j ƒ d  S(   N(   R    t   unlinkt   filename(   t   self(    (    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_gzip.pyt   setUp   s    c         C   s   t  j |  j ƒ 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_gzip.pyt   tearDown   s    t   bc         C   s•   t  | ƒ j ƒ  } t j |  j d | ƒ � } | j | ƒ } Wd  QX|  j | t | ƒ ƒ t j |  j d | ƒ � } |  j | j ƒ  | ƒ Wd  QXd  S(   Nt   wt   r(	   t
   memoryviewt   tobytesR   t   GzipFileR   t   writet   assertEqualt   lent   read(   R   t   datat   modet   b_datat   ft   l(    (    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_gzip.pyt   write_and_read_back"   s    c         C   s  t  j } y | j t  j ƒ Wn$ t t f k
 rC |  j d ƒ n X| |  _ t j	 | d ƒ � } | j
 t d ƒ Wd  QXt j	 | d ƒ �! } |  j | j ƒ  t d ƒ Wd  QXt | d ƒ �B } t j	 d | d d ƒ �! } |  j | j ƒ  t d ƒ Wd  QXWd  QXd  S(   Ns"   Requires unicode filenames supportt   wbi2   t   rbt   fileobjR   (   R    t   TESTFN_UNICODEt   encodet   TESTFN_ENCODINGt   UnicodeErrort	   TypeErrort   skipTestR   R   R   R   t   data1R   R   t   open(   R   t   unicode_filenameR   t   fobj(    (    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_gzip.pyt   test_unicode_filename*   s    		 c         C   s€   t  j |  j d ƒ �[ } | j t d ƒ | j ƒ  | j ƒ  t t d ƒ rb t j	 | j ƒ  ƒ n  | j
 ƒ  Wd  QX| j
 ƒ  d  S(   NR   i2   t   fsync(   R   R   R   R   R!   t   flusht   filenot   hasattrt   osR&   t   close(   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_gzip.pyt
   test_write;   s    

c         C   s   |  j  t t d ƒ ƒ d  S(   Ni2   (   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_gzip.pyt   test_write_memoryviewL   s    c         C   s¬   t  j |  j d ƒ �] } |  j t ƒ � | j d ƒ Wd  QX|  j t ƒ � | j d g ƒ Wd  QX| j t ƒ Wd  QXt  j |  j d ƒ � } |  j | j	 ƒ  t ƒ Wd  QXd  S(   NR   u   Ã¿i   R   (
   R   R   R   t   assertRaisest   UnicodeEncodeErrorR   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_gzip.pyt   test_write_incompatible_typeO   s    c         C   sL   |  j  ƒ  t j |  j d ƒ � } | j ƒ  } Wd  QX|  j | t d ƒ d  S(   NR
   i2   (   R,   R   R   R   R   R   R!   (   R   R   t   d(    (    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_gzip.pyt	   test_read\   s    
c         C   sL   |  j  ƒ  t j |  j d ƒ � } | j ƒ  } Wd  QX|  j | t d ƒ d  S(   Nt   rUi2   (   R,   R   R   R   R   R   R!   (   R   R   R1   (    (    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_gzip.pyt   test_read_universal_newlinesc   s    
c      	   C   sõ   |  j  ƒ  t j |  j d ƒ } | j ƒ  |  j t ƒ � | j d ƒ Wd  QX|  j t ƒ � | j d ƒ Wd  QX|  j t ƒ � | j	 ƒ  Wd  QXt j |  j d ƒ } | j ƒ  |  j t ƒ � | j
 d ƒ Wd  QX|  j t ƒ � | j ƒ  Wd  QXd  S(   NR
   i   i    R	   t    (   R,   R   R   R   R+   R.   t
   ValueErrorR   t   seekt   tellR   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_gzip.pyt   test_io_on_closed_objectj   s    


c         C   sƒ   |  j  ƒ  t j |  j d ƒ � } | j t d ƒ Wd  QXt j |  j d ƒ � } | j ƒ  } Wd  QX|  j | t d t d ƒ d  S(   Nt   abi   R   i2   (	   R,   R   R   R   R   t   data2R   R   R!   (   R   R   R1   (    (    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_gzip.pyt   test_append€   s    
c         C   sÜ   t  j |  j d d ƒ � } | j d ƒ Wd  QXxE t d d ƒ D]4 } t  j |  j d d ƒ � } | j d ƒ Wd  QXq> Wt  j |  j d ƒ �7 } d } x' | j d	 ƒ } | | 7} | s— Pq— q— WWd  QX|  j | d d
 ƒ d  S(   NR   i	   t   ai    iÈ   R:   R   R5   i    iÉ   (   R   R"   R   R   t   rangeR   R   (   R   R   t   it   zgfilet   contentst   ztxt(    (    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_gzip.pyt   test_many_appendŠ   s    
 c         C   sz   |  j  ƒ  t j |  j d ƒ �8 } t j | ƒ �  } g  | D] } | ^ q; } Wd  QXWd  QX|  j | d t j t	 ƒ ƒ d  S(   NR   i2   (
   R,   R   R   R   t   iot   BufferedReaderR   R!   t
   splitlinest   True(   R   R   R
   t   linet   lines(    (    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_gzip.pyt   test_buffered_reader�   s
    
%c         C   s†   |  j  ƒ  t j |  j d ƒ �a } d } xQ | j | ƒ } | rQ | d k rQ Pn  |  j t | ƒ | k ƒ | d d } q+ WWd  QXd  S(   NR   i    i   i2   (   R,   R   R   R   t   readlinet
   assertTrueR   (   R   R   t   line_lengtht   L(    (    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_gzip.pyt   test_readline¨   s    
 c         C   s|   |  j  ƒ  t j |  j d ƒ � } | j ƒ  } Wd  QXt j |  j d ƒ �- } x# | j d ƒ } | g  k rO PqO qO WWd  QXd  S(   NR   i–   (   R,   R   R   R   t	   readlines(   R   R   RN   (    (    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_gzip.pyt   test_readlines´   s    
 c         C   sÂ   |  j  ƒ  t j |  j ƒ �  } x– | j ƒ  } | j ƒ  } | sD Pn  | j ƒ  } | j | ƒ t | ƒ d k rx d } n t | ƒ } | j | ƒ } |  j	 | |  | ƒ | j | ƒ q" WWd  QXd  S(   Ni
   (
   R,   R   R   R   R8   RK   R7   R   R   R   (   R   R   t   oldpost   line1t   newpost   amountt   line2(    (    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_gzip.pyt   test_seek_readÀ   s    
 	c         C   so   |  j  ƒ  t j |  j ƒ �6 } | j d ƒ | j d d d ƒ| j d ƒ } Wd  QX|  j | t d d !ƒ d  S(   Ni
   t   whencei   i   i   (   R,   R   R   R   R   R7   R   R!   (   R   R   t   y(    (    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_gzip.pyt   test_seek_whenceÓ   s    
c         C   sY   t  j |  j d ƒ �> } x4 t d d d ƒ D]  } | j | ƒ | j d ƒ q+ WWd  QXd  S(   NR	   i    i   i   s   GZ
(   R   R   R   R>   R7   R   (   R   R   t   pos(    (    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_gzip.pyt   test_seek_writeÝ   s    c         C   sB   |  j  ƒ  t j |  j d ƒ � } |  j | j j d ƒ Wd  QXd  S(   NR
   R   (   R,   R   R   R   R   t	   myfileobjR   (   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_gzip.pyt	   test_modeä   s    
c      	   C   s_   xX d D]P } t  j |  j | ƒ �3 } |  j t | d ƒ ƒ |  j | j |  j ƒ Wd  QXq Wd  S(   NR   R   t   name(   R   R   (   R   R   R   RL   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_gzip.pyt   test_1647484é   s    c      	   C   s›   d } t  j |  j d d | ƒ� } | j t ƒ Wd  QXt  j |  j ƒ �L } | j ƒ  } |  j | t ƒ |  j t | d ƒ ƒ |  j | j	 | ƒ Wd  QXd  S(   NiÍ[R	   t   mtime(
   R   R   R   R   R!   R   R   RL   R)   Ra   (   R   Ra   t   fWritet   fReadt   dataRead(    (    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_gzip.pyt
   test_mtimeï   s    c         C   sÇ  d } t  j |  j d d | ƒ� } | j t ƒ Wd  QXt |  j d ƒ �x} | j d ƒ } |  j | d ƒ | j d ƒ } |  j | d ƒ | j d ƒ } |  j | d ƒ | j d	 ƒ } |  j | t j	 d
 | ƒ ƒ | j d ƒ } |  j | d ƒ | j d ƒ }	 |  j |	 d ƒ |  j j
 d ƒ d }
 | j t |
 ƒ ƒ } |  j | |
 ƒ | j t j |  j ƒ j d ƒ | j d	 ƒ } |  j | d ƒ | j d	 ƒ } |  j | t j	 d
 t t ƒ ƒ ƒ Wd  QXd  S(   NiÍ[R	   Ra   R   i   s   ‹i   s   i   s   <is   s   ÿs   Latin-1s    i   s   ¯×dƒ(   R   R   R   R   R!   R"   R   R   t   structt   packR   R   R7   R*   t   statt   st_size(   R   Ra   Rb   Rc   t   idBytest   cmBytet	   flagsBytet
   mtimeBytest   xflBytet   osBytet   expectedt	   nameBytest
   crc32Bytest
   isizeBytes(    (    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_gzip.pyt   test_metadataù   s0     c         C   sË   t  j |  j d ƒ � } | j d ƒ Wd  QXt  j |  j d ƒ } | j ƒ  y | � Wd  QXWn t k
 rn n X|  j d ƒ y* t  j |  j d ƒ � } d d Wd  QXWn t k
 r¹ n X|  j d ƒ d  S(   NR   t   xxxR   s4   __enter__ on a closed file didn't raise an exceptioni   i    s    1 // 0 didn't raise an exception(   R   R   R   R   R+   R6   t   failt   ZeroDivisionError(   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_gzip.pyt   test_with_open&  s     

c      
   C   s    t  j |  j d ƒ � } | j t d ƒ Wd  QXt |  j d ƒ � } | j d d ƒ Wd  QXt  j |  j d ƒ �* } | j ƒ  } |  j | t d d ƒ Wd  QXd  S(   NR   i2   R:   s    R   s   Incorrect data in file(   R   R   R   R   R!   R"   R   R   (   R   R   R1   (    (    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_gzip.pyt   test_zero_padded_file;  s    c         C   sr   t  j |  j t  j t  j Bƒ } t  j | d ƒ �; } t j d | d d ƒ � } |  j | j	 d ƒ Wd  QXWd  QXd  S(   NR   R   R   R	   R5   (
   R*   R"   R   t   O_WRONLYt   O_CREATt   fdopenR   R   R   R_   (   R   t   fdR   t   g(    (    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_gzip.pyt   test_fileobj_from_fdopenG  s    c         C   sr   t  j |  j t  j t  j Bƒ } t j | d ƒ �; } t j d | d d ƒ � } |  j | j	 d ƒ Wd  QXWd  QXd  S(   NR   R   R   R	   R5   (
   R*   R"   R   Rz   R{   RD   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_gzip.pyt   test_fileobj_from_io_openO  s    c         C   sÃ  t  j |  j d ƒ j ƒ  t |  j d ƒ �Ø } t  j d | d d ƒ � } |  j | j t  j ƒ Wd  QXt  j d | d d ƒ � } |  j | j t  j ƒ Wd  QXt  j d | d d ƒ � } |  j | j t  j ƒ Wd  QX|  j	 t
 ƒ � t  j d | d d ƒ Wd  QXWd  QXxZ d D]R } t |  j | ƒ �8 } t  j d | ƒ � } |  j | j t  j ƒ Wd  QXWd  QXqWxZ d D]R } t |  j | ƒ �8 } t  j d | ƒ � } |  j | j t  j ƒ Wd  QXWd  QXqiWd  S(   NR   s   r+bR   R   R
   R	   R=   t   zR   R:   (   R   s   r+b(   R   R:   (   R   R   R   R+   R"   R   R   t   READt   WRITER.   t   IOError(   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_gzip.pyt   test_fileobj_modeU  s$    "&c         C   sD   d } t  j d t j | ƒ ƒ � } |  j | j ƒ  d ƒ Wd  QXd  S(   Ns   ‹²cQÿ ExtraI-. 2ÑMx   R   t   Test(   R   R   RD   t   BytesIOR   R   (   R   t   gzdataR   (    (    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_gzip.pyt   test_read_with_extrai  s    c         C   sZ   t  j ƒ  �H } t j d | d d ƒ �' } | j d ƒ |  j | j d ƒ Wd  QXWd  QXd  S(   NR   R   R   R   R5   (   t   tempfilet   SpooledTemporaryFileR   R   R   R   R_   (   R   R   t   archive(    (    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_gzip.pyt   test_fileobj_without_nameq  s    (#   t   __name__t
   __module__R    t   TESTFNR   R   R   R   t   requires_unicodeR%   R,   R-   R0   R2   R4   R9   R<   RC   RJ   RO   RQ   RW   RZ   R\   R^   R`   Re   Rt   Rx   Ry   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_gzip.pyR      s<   										
						
				
	-						c         C   s   t  j t ƒ d  S(   N(   R    t   run_unittestR   (   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_gzip.pyt	   test_mainy  s    t   __main__R“   (   t   __doc__t   unittestt   testR    R*   RD   Rf   RŠ   t   import_moduleR   R!   R;   t   TestCaseR   t   NoneR”   RŽ   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_gzip.pyt   <module>   s   ÿ a