
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
yb                 @   s   d dl Z d dlZyd dlZW n ek
r4   dZY nX d dlZddlmZmZmZm	Z	m
Z
mZmZmZmZ ed"Zdd Zeddd	Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! ZdS )#    N   )	get_compressor
CompressorCompressionSpecCNONEZLIBLZ4LZMAZSTDAuto   s   fooooooooobaaaaaaaar
   zlib   )namelevelc           
   C   sl   t dd} t| tstt dd} t| ts0tt dd} t| tsHttjt t dd W d Q R X d S )Nnone)r   lz4r   Zfoobar)	r   
isinstancer   AssertionErrorr   r   pytestraisesKeyError)c r    /usr/lib64/python3.6/compress.pytest_get_compressor   s    


r   c              C   sb   t dd} | jt}t|ttks(tt|ks4tt| j|ksFtttf tj|ks^td S )Nr   )r   )r   compressdatalenr   
decompressr   params)r   cdatar   r   r   
test_cnull   s    

r#   c              C   sV   t dd} | jt}t|ttk s(tt| j|ks:tttf tj|ksRtd S )Nr   )r   )r   r   r   r   r   r    r   r!   )r   r"   r   r   r   test_lz4&   s
    

r$   c              C   s\   t jd	d } t| dksttdd}|j| }t|t| ksFt| |j|ksXtd S )N   r      r   2   r   )r   i   i  P i   i   )osurandomr   r   r   r   r    )r   r   r"   r   r   r   test_lz4_buffer_allocation.   s    

r*   c              C   sV   t dd} | jt}t|ttk s(tt| j|ks:tttf tj|ksRtd S )Nr   )r   )r   r   r   r   r   r    r   r!   )r   r"   r   r   r   	test_zlib8   s
    

r+   c              C   sh   t d krtjd tdd} | jt}t|ttk s:tt| j|ksLttt	f t
j|ksdtd S )NzNo lzma support found.lzma)r   )r,   r   skipr   r   r   r   r   r    r   r!   )r   r"   r   r   r   	test_lzma@   s    


r.   c              C   sV   t dd} | jt}t|ttk s(tt| j|ks:tttf tj|ksRtd S )Nzstd)r   )r   r   r   r   r   r    r   r!   )r   r"   r   r   r   	test_zstdJ   s
    

r0   c               C   sP   t jt tf tjd W d Q R X t jt tf tjd W d Q R X d S )Ns   totalcraps    notreallyzlib)r   r   
ValueErrorr   r!   r    r   r   r   r   test_autodetect_invalidR   s    r2   c              C   sv   xpt dD ]d} td| d}|jt}tjt| }||ks<t|j|}t|ksRttf tj|}t|ks
tq
W d S )Nr   r   )r   r   )	ranger   r   r   r   r   r    r   r!   )r   r   Zcdata1Zcdata2Zdata2r   r   r   test_zlib_compatY   s    

r4   c           
   C   s   t ddt ddt dddt dddt dd	dt dd
dt dddg} trf| t dd	dt dd
dg7 } x.| D ]&}tf |}t|j|jtksltqlW d S )Nr   )r   r   r/      )r   r      r   r   r   	   r,   )dictr,   r   r   r    r   r   )Zparams_listr!   r   r   r   r   test_compressorg   s    






r9   c        	      C   s   t dj} t dj}t dj}td}| j|}|j|}|j|}t|t| }|dk rjtj|tkntsrt	d}| j|}tj|t
kst	d S )Nzauto,zlib,9r   zzlib,9i  gGz?s     -Oi18\bEhm~)r   
compressorbytesr   r   r   Zdetectr   r   r   r   )	Zcompressor_auto_zlibZcompressor_lz4Zcompressor_zlibr   Zcompressed_auto_zlibZcompressed_lz4Zcompressed_zlibZratioZ
compressedr   r   r   	test_auto}   s    






r<   c              C   s  t jt td W d Q R X ttdjts2tttdjtsFttdj} t| t	s^t| j
dkslttdj} t| t	st| j
dksttdj} t| t	st| j
d	kstt jt td
 W d Q R X tdj}t|tst|j
dksttdj}t|tst|j
dks&ttdj}t|ts@t|j
d	ksPttdj}t|tsjt|j
dkszttdj}t|tst|j
dksttdj}t|tst|j
dkstt jt td W d Q R X t jt td W d Q R X d S )N r   r   r   r   zzlib,0r   zzlib,9r7   zzlib,9,invalidr,   zlzma,0zlzma,9r/   r6   zzstd,1r5   zzstd,22   zlzma,9,invalidZinvalid)r   r   r1   r   r   r:   r   r   r   r   r   r	   r
   )r   r,   r/   r   r   r   test_compression_specs   sJ    








r?   i   ) r(   r   r,   ImportErrorr   r   r   r   r   r   r   r   r	   r
   r   r;   bufferr   r8   r!   r   r#   r$   r*   r+   r.   r0   r2   r4   r9   r<   r?   r   r   r   r   <module>   s,   
,	

