Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_gzip.cpython-35.opt-2.pyc



���]Y�@sddlZddlmZddlmZmZddlZddlZddlZddl	Z	ej
d�ZdZdZ
Gdd�dej�ZGd	d
�d
ej�ZGdd�de�ZGd
d�de�Zddd�Zedkredd�dS)�N)�support)�
bigmemtest�_4G�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 */
c@s4eZdZdd�Zdd�Zdd�ZdS)�UnseekableIOcCsdS)NF�)�selfrr�./opt/alt/python35/lib64/python3.5/test_gzip.py�seekableszUnseekableIO.seekablecCs
tj�dS)N)�io�UnsupportedOperation)rrrr	�tellszUnseekableIO.tellcGs
tj�dS)N)rr)r�argsrrr	�seek!szUnseekableIO.seekN)�__name__�
__module__�__qualname__r
r
rrrrr	rsrc@s1eZdZejZdd�Zdd�ZdS)�BaseTestcCstj|j�dS)N)r�unlink�filename)rrrr	�setUp(szBaseTest.setUpcCstj|j�dS)N)rrr)rrrr	�tearDown+szBaseTest.tearDownN)rrrrZTESTFNrrrrrrr	r%s	rc@s�eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
ededd�dd��Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOS)P�TestGzip�bcCs�t|�}tj|jd|��}|j|�}WdQRX|j|t|��tj|jd|��}|j|j�|�WdQRXdS)N�w�r)�bytesr�GzipFiler�write�assertEqual�len�read)r�data�modeZb_data�f�lrrr	�write_and_read_back0szTestGzip.write_and_read_backc
Cs~tj|jd��X}|jtd�|j�|j�ttd�r_tj	|j��|j
�WdQRX|j
�dS)N�wb�2�fsync)rrrr�data1�flush�fileno�hasattr�osr)�close)rr$rrr	�
test_write8s

zTestGzip.test_writecCs^|jttd��tttd���}|jdddddg�}|j|�dS)Nr(��B�shape��)r&�
memoryviewr*r�range�cast)r�mr"rrr	�test_write_memoryviewIszTestGzip.test_write_memoryviewcCs|jttd��dS)Nr()r&�	bytearrayr*)rrrr	�test_write_bytearrayOszTestGzip.test_write_bytearraycCs!|jtjdtd��dS)N�I�()r&�arrayr*)rrrr	�test_write_arrayRszTestGzip.test_write_arraycCs�tj|jd��\}|jt��|jd�WdQRX|jt��|jg�WdQRX|jt�WdQRXtj|jd��}|j|j�t�WdQRXdS)Nr'��rb)	rrr�assertRaises�	TypeErrorrr*rr!)rr$rrr	�test_write_incompatible_typeUsz%TestGzip.test_write_incompatible_typecCsM|j�tj|jd��}|j�}WdQRX|j|td�dS)Nrr()r0rrrr!rr*)rr$�drrr	�	test_readbs
zTestGzip.test_readcCs�|j�g}d}tj|jd��T}xJ|j�}|sDP|j|�|t|�7}|j|j�|�q1WWdQRX|jdj	|�t
d�dS)Nrr�r()r0rrr�read1�appendr rr
�joinr*)rZblocks�nreadr$rFrrr	�
test_read1is

!zTestGzip.test_read1�sizeZmemuse�cCsStjtdd�}tjdtj|�dd�}|j|j|�t�dS)N�
compresslevelrO�fileobjr#rB)r�compressr*rr�BytesIOrr!)rrN�
compressedr$rrr	�test_read_largexs!zTestGzip.test_read_largec%CsL|j�tj|jd�}|j}|j|j�|j�|j|j�|j	t
��|jd�WdQRX|j	t
��|jd�WdQRX|j	t
��|j
�WdQRXtj|jd�}|j}|j|j�|j�|j|j�|j	t
��|jd�WdQRX|j	t
��|j�WdQRXdS)NrrOrrrH)r0rrrrQZassertFalse�closedr/�
assertTruerC�
ValueErrorr!rr
rr+)rr$rQrrr	�test_io_on_closed_object�s*
	
	
z!TestGzip.test_io_on_closed_objectcCs�|j�tj|jd��}|jtd�WdQRXtj|jd��}|j�}WdQRX|j|tdtd�dS)N�ab�rBr()	r0rrrr�data2r!rr*)rr$rFrrr	�test_append�s
zTestGzip.test_appendcCs�tj|jdd��}|jd�WdQRXxFtdd�D]5}tj|jdd��}|jd�WdQRXq?Wtj|jd��4}d}x$|jd	�}||7}|s�Pq�WWdQRX|j|dd
�dS)Nr'�	�ar��rZrBrHi ��)rrrrr7r!r)rr$�iZzgfile�contentsZztxtrrr	�test_many_append�s
zTestGzip.test_many_appendcCs�tj|jd��}|jtd�WdQRXtj|jd��!}|j|j�td�WdQRX|jt��tj|jd�WdQRXdS)N�xbr(rB)	rrrrr*rr!rC�FileExistsError)rr$rrr	�test_exclusive_write�s!zTestGzip.test_exclusive_writecCsy|j�tj|jd��3}tj|��}dd�|D�}WdQRXWdQRX|j|dtjdd��dS)NrBcSsg|]}|�qSrr)�.0�linerrr	�
<listcomp>�s	z1TestGzip.test_buffered_reader.<locals>.<listcomp>r(�keependsT)	r0rrrr�BufferedReaderrr*�
splitlines)rr$r�linesrrr	�test_buffered_reader�s

!zTestGzip.test_buffered_readerc
Cs�|j�tj|jd��^}d}xN|j|�}|rN|dkrNP|jt|�|k�|dd}q+WWdQRXdS)NrBrrOr()r0rrr�readlinerWr )rr$Zline_length�Lrrr	�
test_readline�s
zTestGzip.test_readlinecCs{|j�tj|jd��}|j�}WdQRXtj|jd��*}x |jd�}|gkrPPqPWWdQRXdS)NrB�)r0rrr�	readlines)rr$rqrrr	�test_readlines�s
zTestGzip.test_readlinescCs�|j�tj|j���}x�|j�}|j�}|sAP|j�}|j|�t|�dkrud}nt|�}|j|�}|j	|d|�|�|j|�q"WWdQRXdS)N�
)
r0rrrr
rprr r!r)rr$ZoldposZline1Znewpos�amountZline2rrr	�test_seek_read�s

	zTestGzip.test_seek_readcCss|j�tj|j��6}|jd�|jddd�|jd�}WdQRX|j|tdd��dS)Nrv�whencerO��)r0rrrr!rrr*)rr$�yrrr	�test_seek_whence�s

zTestGzip.test_seek_whencecCsZtj|jd��>}x4tddd�D] }|j|�|jd�q+WWdQRXdS)Nrrr1�sGZ
)rrrr7rr)rr$�posrrr	�test_seek_writes
zTestGzip.test_seek_writecCs�|j�tj|jd��}|j|jjd�WdQRXtj|j�tj|jd��}|j|jjd�WdQRXdS)NrrB�xre)	r0rrrrZ	myfileobjr#rr)rr$rrr	�	test_modes
zTestGzip.test_modecCs`xYdD]Q}tj|j|��3}|jt|d��|j|j|j�WdQRXqWdS)Nr'rB�name)r'rB)rrrrWr-rr�)rr#r$rrr	�test_1647484s
zTestGzip.test_1647484cCs_|j�tj|jd��9}|jt|jd��|j|jj|j�WdQRXdS)NrBr�)	r0rrrrWr-rQrr�)rr$rrr	�test_paddedfile_getattrs
z TestGzip.test_paddedfile_getattrcCs�d}tj|jdd|��}|jt�WdQRXtj|j��\}|jt|d��|j|j�|j	�}|j
|t�|j
|j|�WdQRXdS)Ni�[r�mtime)rrrrr*rWr-ZassertIsNoner�r!r)rr��fWrite�fReadZdataReadrrr	�
test_mtimeszTestGzip.test_mtimecCs�d}tj|jdd|��}|jt�WdQRXt|jd��x}|jd�}|j|d�|jd�}|j|d�|jd�}|j|d�|jd	�}|j|tj	d
|��|jd�}|j|d�|jd�}	|j|	d�|jj
d
�d}
|jt|
��}|j||
�|jt
j|j�jd�|jd	�}|j|d�|jd	�}
|j|
tj	d
tt���WdQRXdS)Ni�[rr�rB�s�rOsr5z<iss�zLatin-1sr4s��d�)rrrrr*�openr!r�struct�pack�encoder rr.�stat�st_size)rr�r�r�ZidBytesZcmByteZ	flagsByteZ
mtimeBytesZxflByteZosByteZexpectedZ	nameBytesZ
crc32BytesZ
isizeBytesrrr	�
test_metadata's0 zTestGzip.test_metadatac#Cs�tj|jd��}|jd�WdQRXtj|jd�}|j�y|�WdQRXWntk
rqYnX|jd�y+tj|jd��}ddWdQRXWntk
r�YnX|jd�dS)Nr'sxxxrBz4__enter__ on a closed file didn't raise an exceptionrOrz1/0 didn't raise an exception)rrrrr/rXZfail�ZeroDivisionError)rr$rrr	�test_with_openTs 



zTestGzip.test_with_opencCs�tj|jd��}|jtd�WdQRXt|jd��}|jdd�WdQRXtj|jd��*}|j�}|j|tdd�WdQRXdS)Nr'r(rZsrBzIncorrect data in file)rrrrr*r�r!r)rr$rFrrr	�test_zero_padded_fileiszTestGzip.test_zero_padded_filecCs�td}t�}tjd|dd��}|j|�WdQRX|j�}t|�}tjd|dd��}|j|j�|�WdQRXdS)Nr(rQr#r'rB)r*rrrr�getvaluerr!)r�uncompressed�bufr$rTrrr	�test_non_seekable_fileus
	zTestGzip.test_non_seekable_filecCstd}tj|jd��}|j|�WdQRXdd�}tj|jd���}d|_d}x\|�D]Q}|j|�}|dkr�P|j|jt	|��|�|t	|�7}qsW|j|jd	�d�|j|t	|��WdQRXdS)
Nr`r'css-x&xtddd�D]}|VqWqWdS)N�r(rv)r7)�nrrr	�sizes�sz!TestGzip.test_peek.<locals>.sizesrB�!rrH�d)
r*rrrrZmax_read_chunk�peekrr!r )rr�r$r�rLr��srrr	�	test_peeks
	zTestGzip.test_peekcCs�tdjd�jdd�}|j�tj|jd��<}tj|dd��}|j	|j
�|�WdQRXWdQRXdS)Nr(�asciirkTr�encoding)r*�decodermr0rrrr�
TextIOWrapperrrt)rrnr$�trrr	�test_textio_readlines�s

zTestGzip.test_textio_readlinescCsatj|jtjtjB�}tj|d��)}tjd|dd��}WdQRXWdQRXdS)Nr'rQr#r)r.r�r�O_WRONLY�O_CREAT�fdopenrr)r�fdr$�grrr	�test_fileobj_from_fdopen�sz!TestGzip.test_fileobj_from_fdopenc!Cs�|j}y|jd�}Wntk
r=|jd�YnXtj|d��}|jtd�WdQRXtj|d��!}|j|j	�td�WdQRXtj|d��!}|j|j	�td�WdQRXdS)Nr�z%Temporary file name needs to be ASCIIr'r(rB)
rr��UnicodeEncodeErrorZskipTestrrrr*rr!)rZstr_filenameZbytes_filenamer$rrr	�test_bytes_filename�s	
!zTestGzip.test_bytes_filenamecCs�tjttd��dd�}|jt|�tj�tj|�}tj	d|�}|j
td�|jd��dtj}|j|j
jj�|d�dS)Ng��>ArPr^rQrOz)Excessive amount of data was decompressed)rrRr�intZ
assertLessr r�DEFAULT_BUFFER_SIZErSrrr!ZassertLessEqual�_buffer�rawr
)rZbomb�decompZ
max_decomprrr	�test_decompress_limited�s!
z TestGzip.test_decompress_limitedcCs�x�ttgD]�}x�fddd	gD]o}tj||�}|jt|�t�tjdtj	|�dd��}|j|j
�|�WdQRXq&Wq
WdS)
NrO�r^rQr#rB)rO)r�)r^)r*r\rrRr�typerrrrSr!)rr"r�datacr$rrr	�
test_compress�s$zTestGzip.test_compresscCs�x�ttfD]�}tj�}tjd|dd��}|j|�WdQRX|jtj|j	��|�tj
|�}|jtj|�|�q
WdS)NrQr#r')r*r\rrSrrrr�
decompressr�rR)rr"r�r$r�rrr	�test_decompress�szTestGzip.test_decompresscCstd}tj|�dd�}tjdtj|���}|jt|j�WdQRXtjdtj|���<}|j	|jt
|��|�|jt|jd�WdQRXx\tdd�D]K}tjdtj|d|����}|jt|jd�WdQRXq�WdS)Nr(r4rQrOr�rvi����)r*rrRrrrSrC�EOFErrorr!rr r7)rr"Z	truncatedr$rbrrr	�test_read_truncated�s
(zTestGzip.test_read_truncatedc
CsEd}tjdtj|���}|j|j�d�WdQRXdS)Ns��cQ�ExtraI-.2�MxrQsTest)rrrrSrr!)rZgzdatar$rrr	�test_read_with_extra�szTestGzip.test_read_with_extracCsbtj|jd��}|jt�WdQRXtj|jd��}|jjjj�WdQRXdS)Nr'rB)	rr�rrr*r�r��_fpZprepend)rr$rrr	�test_prepend_error�szTestGzip.test_prepend_errorN)*rrrr&r0r:r<r@rErGrMrrrUrYr]rdrgrorrrurxr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	r/sJ
!

-

rc@speZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�TestOpenc;Cs�td}tj|jd��}|j|�WdQRXt|jd��,}tj|j��}|j||�WdQRXtj|jd��}|j|j�|�WdQRXtj|jd��}|j|�WdQRXt|jd��0}tj|j��}|j||d�WdQRX|jt	��tj|jd�WdQRXt
j|j�tj|jd��}|j|�WdQRXt|jd��,}tj|j��}|j||�WdQRXdS)Nr(r'rBrZr�re)r*rr�rrr�r!rrCrfrr)rr�r$�	file_datarrr	�test_binary_modes�s*
zTestOpen.test_binary_modesc;Cs�td}tj|jd��}|j|�WdQRXt|jd��,}tj|j��}|j||�WdQRXtj|jd��}|j|j�|�WdQRXtj|jd��}|j|�WdQRXt|jd��0}tj|j��}|j||d�WdQRX|jt	��tj|jd�WdQRXt
j|j�tj|jd��}|j|�WdQRXt|jd��,}tj|j��}|j||�WdQRXdS)Nr(rrBr�ar�r�)r*rr�rrr�r!rrCrfrr)rr�r$r�rrr	�test_implicit_binary_modess*
z#TestOpen.test_implicit_binary_modesc'CsQtjd�d}|jdtj�}tj|jd��}|j|�WdQRXt|jd��5}tj	|j
��jd�}|j||�WdQRXtj|jd��}|j|j
�|�WdQRXtj|jd��}|j|�WdQRXt|jd��9}tj	|j
��jd�}|j||d�WdQRXdS)	Nr�r(�
�wtrB�rtZatr�)r*r��replacer.�lineseprr�rrr�r!r)rr��uncompressed_rawr$r�rrr	�test_text_modes(szTestOpen.test_text_modescCs�td}|jd�}tj|�}tjtj|�d��}|j|j�|�WdQRXtjtj|�d��}|j|j�|�WdQRXtjtj|�d��}|j|j�|�WdQRXdS)Nr(r�rrBr�)	r*r�rrRr�rrSrr!)rZuncompressed_bytesZuncompressed_strrTr$rrr	�test_fileobj8s
zTestOpen.test_fileobjc/Cs|jt��tjd�WdQRX|jt��tj|jd�WdQRX|jt��tj|jd�WdQRX|jt��tj|jddd�WdQRX|jt��tj|jddd�WdQRX|jt��tj|jdd	d
�WdQRXdS)Ngw��/�^@ZwbtZxbtrBr�zutf-8�errors�ignore�newliner�)rCrDrr�rXr)rrrr	�test_bad_paramsCs  zTestOpen.test_bad_paramscCs�tjd�d}|jdtj�}tj|jddd��}|j|�WdQRXt|jd��5}tj	|j
��jd�}|j||�WdQRXtj|jddd��}|j|j
�|�WdQRXdS)	Nr�r(r�r�r�zutf-16rBr�)r*r�r�r.r�rr�rrr�r!r)rr�r�r$r�rrr	�
test_encodingRszTestOpen.test_encodingcCsqtj|jd��}|jd�WdQRXtj|jddddd��}|j|j�d�WdQRXdS)	Nr'sfoo�barr�r�r�r�r�Zfoobar)rr�rrrr!)rr$rrr	�test_encoding_error_handler^s
!z$TestOpen.test_encoding_error_handlercCs�tjd�d}tj|jddd��}|j|�WdQRXtj|jddd�� }|j|j�|g�WdQRXdS)Nr�r(r�r�r�r��
)r*r�rr�rrrrt)rr�r$rrr	�test_newlinefs
zTestOpen.test_newlineN)rrrr�r�r�r�r�r�r�r�rrrr	r��sr�cCstjtt�dS)N)rZrun_unittestrr�)�verboserrr	�	test_mainnsr��__main__r�T)ZunittestZtestrZtest.supportrrr.rr�r?�
import_modulerr*r\rSrZTestCaserrr�r�rrrrr	�<module>s"
��~