
-dc           @   s  d  d l  Z  d  d l Z d  d l Z d  d l Z e j d k  rK d   Z n	 d   Z d  d l Z e j d e j  e j	 d  Z
 e
 j d e j  d	 d
 d d Z d d d d d d Z e e Z e j d k r e j   Z n  d e j f d     YZ d S(   iNi   i   c         C   s   d  S(   N(   t   None(   t   msg(    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt
   raise_skip   s    c         C   s   t  j |    d  S(   N(   t   unittestt   SkipTest(   R   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyR      s    t   levelt   ZSTDs   Python version: %ss   Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.s    Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.s    Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsansq    et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.s"    И немного юникода.s    Далеко-далеко за словесными горами в стране гласных и согласных живут рыбные тексты.s    Вдали от всех живут они в буквенных домах на берегу Семантика большого языкового океана.s    Маленький ручеек Даль журчит по всей стране и обеспечивает ее всеми необходимыми правилами.s    Эта парадигматическая страна, в которой жаренные члены предложения залетают прямо в рот.s    Даже всемогущая пунктуация не имеет власти над рыбными текстами, ведущими безорфографичный образ жизни.i   t   BaseTestZSTDc           B   s   e  Z d  Z d Z d d 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(   s   1.5.5i	)  i   id   i    s   1.5.5.1c         C   s   |  j  |  j t j    d  S(   N(   t   assertEqualt   PKG_VERSIONt   zstdt   version(   t   self(    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt   helper_version0   s    c         C   s=   t  j   r  t d t  j    S|  j |  j t  j    d  S(   Ns[   PyZstd was build with external version of ZSTD library (%s). It can be any version. Almost.(   R
   t   ZSTD_externalR   t   ZSTD_versionR   t   VERSION(   R   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt   helper_zstd_version3   s    c         C   s0   |  j  |  j t j   k d d t j   d  S(   NR   s4   PyZstd %s require external library version >= 1.0.0!(   t   assertFalset   VERSION_INT_MINR
   t   ZSTD_version_numberR   (   R   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt   helper_zstd_version_number_min8   s    c         C   s=   t  j   r  t d t  j    S|  j |  j t  j    d  S(   Ns[   PyZstd was build with external version of ZSTD library (%s). It can be any version. Almost.(   R
   R   R   R   R   t   VERSION_INTR   (   R   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt   helper_zstd_version_number;   s    c         C   s5   t  j d  } |  j | t j t j |    d  S(   Ni   i   i   (   t   ost   urandomR   R
   t   loadst   dumps(   R   t   DATA(    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt   helper_compression_random@   s    c         C   s,   t  j t  } |  j t t  j |   d  S(   N(   R
   t   compresst   tDATAR   t
   decompress(   R   t   CDATA(    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt    helper_compression_default_levelD   s    c         C   s/   t  j t  } |  j | t  j t d   d  S(   Ni    (   R
   R   R   R   (   R   R!   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt%   helper_compression_default_level_zeroH   s    c         C   s/   t  j t  } |  j | t  j t d   d  S(   Ni   (   R
   R   R   R   (   R   R!   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt(   helper_compression_default_level_defaultL   s    c         C   sU   t  j   d k  r& t d t  j    St  j t d  } |  j t t  j |   d  S(   Ni@(  sf   PyZstd was build with old version of ZSTD library (%s) without support of negative compression levels.i(   R
   R   R   R   R   R   R   R    (   R   R!   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt!   helper_compression_negative_levelP   s    c         C   sX   t  j   d k  r& t d t  j    St  j t d  } |  j | t  j t d   d  S(   Ni@(  sf   PyZstd was build with old version of ZSTD library (%s) without support of negative compression levels.ii    (   R
   R   R   R   R   R   t   assertNotEqual(   R   R!   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt,   helper_compression_negative_level_notdefaultW   s    c         C   s    |  j  t j t j t d  d  S(   Nid   (   t   assertRaisesR
   t   ErrorR   R   (   R   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt   helper_compression_wrong_level^   s    c         C   s2   t  j t d d  } |  j t t  j |   d  S(   Ni   i   (   R
   R   R   R   R    (   R   R!   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt#   helper_compression_multi_thread_onea   s    c         C   s2   t  j t d d  } |  j t t  j |   d  S(   Ni   i   (   R
   R   R   R   R    (   R   R!   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt$   helper_compression_multi_thread_manye   s    c         C   sQ   t  j d k  r d } n d d j   } |  j | t j t j | d    d  S(   Ni   s   This is must be very very long string to be compressed by zstd. AAAAAAAAAAAAARGGHHH!!! Just hope its enough length. И немного юникода.ss   This is must be very very long string to be compressed by zstd. AAAAAAAAAAAAARGGHHH!!! Just hope its enough length.s!   И немного юникода.i   (   t   syst
   hexversiont   encodeR   R
   R    R   (   R   R   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt   helper_compression_level1i   s    	c         C   sQ   t  j d k  r d } n d d j   } |  j | t j t j | d    d  S(   Ni   s   This is must be very very long string to be compressed by zstd. AAAAAAAAAAAAARGGHHH!!! Just hope its enough length. И немного юникода.ss   This is must be very very long string to be compressed by zstd. AAAAAAAAAAAAARGGHHH!!! Just hope its enough length.s"    И немного юникода.i   (   R-   R.   R/   R   R
   R    R   (   R   R   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt   helper_compression_level6p   s    	c         C   sQ   t  j d k  r d } n d d j   } |  j | t j t j | d    d  S(   Ni   s   This is must be very very long string to be compressed by zstd. AAAAAAAAAAAAARGGHHH!!! Just hope its enough length. И немного юникода.ss   This is must be very very long string to be compressed by zstd. AAAAAAAAAAAAARGGHHH!!! Just hope its enough length.s"    И немного юникода.i   (   R-   R.   R/   R   R
   R    R   (   R   R   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt   helper_compression_level20w   s    	c         C   sM   d } x@ t  d d  D]/ } |  j | t j t j | | d    q Wd  S(   Nt    i    i   i   (   t   rangeR   R
   R    R   (   R   t   dataR   (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt   helper_compression_empty_string~   s    c         C   sh   t  j d k  r6 d d  l } | j d d  } d } n t j d  } d } |  j | t j |   d  S(   Ni   it<   28b52ffd200631000068656c6c6f0a28b52ffd2006310000776f726c640at	   hex_codecs   hello
world
(	   R-   R.   t   codecst   decodet   bytest   fromhexR   R
   R    (   R   R9   R5   t   odata(    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt"   helper_compression_multiple_blocks   s    	id   i'  i    i    (   t   __name__t
   __module__R   R   R   R	   R   R   R   R   R   R"   R#   R$   R%   R'   R*   R+   R,   R0   R1   R2   R6   R>   (    (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyR   )   s,   																		(   i   i   (   R   R-   t   loggingR   t   version_infoR   R
   t   basicConfigt   INFOt	   getLoggert   logt   infoR   t   bDATAt   uDATAR   R.   R/   t   TestCaseR   (    (    (    sA   /home/sergey/workspace-python/github-my/python-zstd/tests/base.pyt   <module>   s$   	
