Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_gzip.cpython-38.pyc
U

>��g�w�@s$dZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
mZddlm
Z
ddlmZmZddlmZmZe
�d�ZdZd	Zej�e
j�d
ZGdd�dej�ZGd
d�dej�ZGdd�de�Z Gdd�de�Z!dd�Z"Gdd�dej�Z#ddd�Z$e%dk�r e$dd�dS)z!Test script for the gzip module.
�N)�PIPE�Popen)�support)�_4G�
bigmemtest)�assert_python_ok�assert_python_failure�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 */
z-gzdirc@s$eZdZdd�Zdd�Zdd�ZdS)�UnseekableIOcCsdS)NF���selfrr�-/opt/cppython/lib/python3.8/test/test_gzip.py�seekable$szUnseekableIO.seekablecCs
tj�dS�N��io�UnsupportedOperationrrrr�tell'szUnseekableIO.tellcGs
tj�dSrr)r
�argsrrr�seek*szUnseekableIO.seekN)�__name__�
__module__�__qualname__rrrrrrrr
#sr
c@s"eZdZejZdd�Zdd�ZdS)�BaseTestcCst�|j�dSr�r�unlink�filenamerrrr�setUp1szBaseTest.setUpcCst�|j�dSrrrrrr�tearDown4szBaseTest.tearDownN)rrrr�TESTFNrrrrrrrr.src@sreZdZd[dd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zee
dd�dd��Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Z d<d=�Z!d>d?�Z"d@dA�Z#dBdC�Z$dDdE�Z%dFdG�Z&dHdI�Z'dJdK�Z(dLdM�Z)dNdO�Z*dPdQ�Z+dRdS�Z,dTdU�Z-dVdW�Z.dXdY�Z/dZS)\�TestGzip�bc	Csrt|�}t�|jd|��}|�|�}W5QRX|�|t|��t�|jd|��}|�|��|�W5QRXdS)N�w�r)�bytesr	�GzipFiler�write�assertEqual�len�read)r
�data�modeZb_data�f�lrrr�write_and_read_back9szTestGzip.write_and_read_backc	Csdt�|jd��D}|�td�|��|��ttd�rFt�	|���|�
�W5QRX|�
�dS)N�wb�2�fsync)r	r&rr'�data1�flush�fileno�hasattr�osr2�close�r
r-rrr�
test_writeAs
zTestGzip.test_writec	Cs�t�|j�}t�|d��}|�td�W5QRX|�|jt	�t�|d��}|�t�W5QRXt�|��}|�
�}W5QRX|�|td�|�|jt	�dS)Nr#r1�a�3)�pathlib�Pathrr	r&r'r3ZassertIsInstance�name�strr*r()r
rr-�drrr�"test_write_read_with_pathlike_fileOsz+TestGzip.test_write_read_with_pathlike_filecCsD|�ttd��tttd���}|jddddgd�}|�|�dS)Nr1��B��)�shape)r/�
memoryviewr3r%�range�cast)r
�mr+rrr�test_write_memoryview^szTestGzip.test_write_memoryviewcCs|�ttd��dS)Nr1)r/�	bytearrayr3rrrr�test_write_bytearraydszTestGzip.test_write_bytearraycCs|�t�dtd��dS)N�I�()r/�arrayr3rrrr�test_write_arraygszTestGzip.test_write_arrayc
Cs�t�|jd��P}|�t��|�d�W5QRX|�t��|�g�W5QRX|�t�W5QRXt�|jd��}|�|��t�W5QRXdS)Nr0��rb)	r	r&r�assertRaises�	TypeErrorr'r3r(r*r9rrr�test_write_incompatible_typejsz%TestGzip.test_write_incompatible_typec	Cs>|��t�|jd��}|��}W5QRX|�|td�dS)Nr$r1)r:r	r&rr*r(r3�r
r-rArrr�	test_readwszTestGzip.test_readc	Csz|��g}d}t�|jd��<}|��}|s.qV|�|�|t|�7}|�|��|�q W5QRX|�d�	|�t
d�dS)Nrr$�r1)r:r	r&r�read1�appendr)r(r�joinr3)r
Zblocks�nreadr-rArrr�
test_read1~s
zTestGzip.test_read1�)�sizeZmemusecCs8tjtdd�}tjt�|�dd�}|�|�|�t�dS)Nr`��
compresslevelrT��fileobjr,)r	�compressr3r&r�BytesIOr(r*)r
ra�
compressedr-rrr�test_read_large�szTestGzip.test_read_largec	Cs|��t�|jd�}|j}|�|j�|��|�|j�|�	t
��|�d�W5QRX|�	t
��|�d�W5QRX|�	t
��|�
�W5QRXt�|jd�}|j}|�|j�|��|�|j�|�	t
��|�d�W5QRX|�	t
��|��W5QRXdS)Nr$r`rr#rZ)r:r	r&rre�assertFalse�closedr8�
assertTruerU�
ValueErrorr*rrr'r4)r
r-rerrr�test_io_on_closed_object�s*z!TestGzip.test_io_on_closed_objectc	Csn|��t�|jd��}|�td�W5QRXt�|jd��}|��}W5QRX|�|tdtd�dS)N�ab�rTr1)	r:r	r&rr'�data2r*r(r3rXrrr�test_append�szTestGzip.test_appendc
Cs�t�|jdd��}|�d�W5QRXtdd�D]*}t�|jdd��}|�d�W5QRXq0t�|jd��$}d}|�d	�}||7}|spq�qpW5QRX|�|d
�dS)Nr0�	�ar��rorTrZi s�aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)r	r&rr'rIr*r()r
r-�iZzgfile�contentsZztxtrrr�test_many_append�s
zTestGzip.test_many_appendc	Cs~t�|jd��}|�td�W5QRXt�|jd��}|�|��td�W5QRX|�t��t�|jd�W5QRXdS)N�xbr1rT)	r	r&rr'r3r(r*rU�FileExistsErrorr9rrr�test_exclusive_write�szTestGzip.test_exclusive_writec
Csb|��t�|jd��*}t�|��}dd�|D�}W5QRXW5QRX|�|dtjdd��dS)NrTcSsg|]}|�qSrr)�.0�linerrr�
<listcomp>�sz1TestGzip.test_buffered_reader.<locals>.<listcomp>r1T��keepends)	r:r	r&rr�BufferedReaderr(r3�
splitlines)r
r-r$�linesrrr�test_buffered_reader�s
"zTestGzip.test_buffered_readerc	Csb|��t�|jd��B}d}|�|�}|s4|dkr4qT|�t|�|k�|dd}qW5QRXdS)NrTrr`r1)r:r	r&r�readlinerlr))r
r-Zline_length�Lrrr�
test_readline�s
zTestGzip.test_readlinec	Cs^|��t�|jd��}|��}W5QRXt�|jd��}|�d�}|gkr:qPq:W5QRXdS)NrT�)r:r	r&r�	readlines)r
r-r�rrr�test_readlines�s
zTestGzip.test_readlinesc	Cs�|��t�|j��r}|��}|��}|s,q�|��}|�|�t|�dkrPd}nt|�}|�|�}|�	|d|�|�|�|�qW5QRXdS)N�
)
r:r	r&rrr�rr)r*r()r
r-ZoldposZline1Znewpos�amountZline2rrr�test_seek_read�s

zTestGzip.test_seek_readc	CsZ|��t�|j��(}|�d�|jddd�|�d�}W5QRX|�|tdd��dS)Nr�r`)�whence��)r:r	r&rr*rr(r3)r
r-�yrrr�test_seek_whences
zTestGzip.test_seek_whencec	CsDt�|jd��,}tddd�D]}|�|�|�d�qW5QRXdS)Nr#rrC�sGZ
)r	r&rrIrr')r
r-�posrrr�test_seek_writes
zTestGzip.test_seek_writec	Csl|��t�|jd��}|�|jjd�W5QRXt�|j�t�|jd��}|�|jjd�W5QRXdS)Nr$rT�xry)	r:r	r&rr(Z	myfileobjr,rrr9rrr�	test_modeszTestGzip.test_modec
CsHdD]>}t�|j|��&}|�t|d��|�|j|j�W5QRXqdS)N)r0rTr?)r	r&rrlr6r(r?)r
r,r-rrr�test_1647484%szTestGzip.test_1647484c	CsJ|��t�|jd��*}|�t|jd��|�|jj|j�W5QRXdS)NrTr?)	r:r	r&rrlr6rer(r?r9rrr�test_paddedfile_getattr+sz TestGzip.test_paddedfile_getattrc	Cs�d}tj|jd|d��}|�t�W5QRXt�|j��D}|�t|d��|�|j�|�	�}|�
|t�|�
|j|�W5QRXdS)N��[r#��mtimer�)r	r&rr'r3rlr6ZassertIsNoner�r*r()r
r��fWrite�fReadZdataReadrrr�
test_mtime1szTestGzip.test_mtimec	CsPd}tj|jd|d��}|�t�W5QRXt|jd���}|�d�}|�|d�|�d�}|�|d�|�d�}|�|d�|�d	�}|�|t�	d
|��|�d�}|�|d�|�d�}	|�|	d�|j�
d
�d}
|�t|
��}|�||
�|�t
�|j�jd�|�d	�}|�|d�|�d	�}
|�|
t�	d
tt���W5QRXdS)Nr�r#r�rT���r`�rFz<i���zLatin-1�rEs��d�)r	r&rr'r3�openr*r(�struct�pack�encoder)rr7�stat�st_size)r
r�r�r�ZidBytesZcmByteZ	flagsByteZ
mtimeBytes�xflByteZosByteZexpectedZ	nameBytesZ
crc32BytesZ
isizeBytesrrr�
test_metadata<s0







zTestGzip.test_metadatac	Cs�dddg}d}|D]�\}}}|�|��jtj|jd|d�}|�|�t�W5QRXt|jd��&}|�|�|�d�}|�	||�W5QRXW5QRXqdS)	N)�fastr`�)Zbestrsr�)Ztradeoff�r�rEr#rbrTr`)
�subTestr	r&rr'r3r�rr*r()	r
ZcasesZ	xflOffsetr?�levelZexpectedXflByter�r�r�rrr�test_compresslevel_metadatais�

z$TestGzip.test_compresslevel_metadatac	Cs�t�|jd��}|�d�W5QRXt�|jd�}|��z|�W5QRXWntk
rbYnX|�d�z&t�|jd��}ddW5QRXWntk
r�YnX|�d�dS)Nr0sxxxrTz4__enter__ on a closed file didn't raise an exceptionr`rz1/0 didn't raise an exception)r	r&rr'r8rmZfail�ZeroDivisionErrorr9rrr�test_with_open}s 
zTestGzip.test_with_openc	Cs�t�|jd��}|�td�W5QRXt|jd��}|�d�W5QRXt�|jd�� }|��}|�|tdd�W5QRXdS)Nr0r1ros2rTzIncorrect data in file)r	r&rr'r3r�r*r(rXrrr�test_zero_padded_file�szTestGzip.test_zero_padded_filecCs|�ttjt��dSr)rl�
issubclassr	�BadGzipFile�OSErrorrrrr�test_gzip_BadGzipFile_exception�sz(TestGzip.test_gzip_BadGzipFile_exceptionc	CsTt|jd��}|�td�W5QRXt�|jd��}|�tj|j�W5QRXdS)Nr0r1r$)	r�rr'r3r	r&rUr�r�)r
�filerrr�test_bad_gzip_file�szTestGzip.test_bad_gzip_filec	Csptd}t�}tj|dd��}|�|�W5QRX|��}t|�}tj|dd��}|�|��|�W5QRXdS)Nr1r0rdrT)r3r
r	r&r'�getvaluer(r*)r
�uncompressed�bufr-rhrrr�test_non_seekable_file�szTestGzip.test_non_seekable_filec	Cs�td}t�|jd��}|�|�W5QRXdd�}t�|jd��v}d|_d}|�D]<}|�|�}|dkrnq�|�|�t	|��|�|t	|�7}qT|�|�d	�d�|�|t	|��W5QRXdS)
Nrur0csstddd�D]
}|VqqdS)N�r1r�)rI)�nrrr�sizes�sz!TestGzip.test_peek.<locals>.sizesrT�!rrZ�d)
r3r	r&rr'Zmax_read_chunk�peekr(r*r))r
r�r-r�r^r��srrr�	test_peek�s

zTestGzip.test_peekc
Csftd�d�jdd�}|��t�|jd��0}tj|dd��}|�	|�
�|�W5QRXW5QRXdS)Nr1�asciiTrr$��encoding)r3�decoder�r:r	r&rr�
TextIOWrapperr(r�)r
r�r-�trrr�test_textio_readlines�s
zTestGzip.test_textio_readlinesc
CsLt�|jtjtjB�}t�|d�� }tj|dd��}W5QRXW5QRXdS)Nr0r#rd)r7r�r�O_WRONLY�O_CREAT�fdopenr	r&)r
�fdr-�grrr�test_fileobj_from_fdopen�sz!TestGzip.test_fileobj_from_fdopencCs�t�|jd���t|jd���}tj|dd��}|�|jtj�W5QRXtj|dd��}|�|jtj�W5QRXtj|dd��}|�|jtj�W5QRXtj|dd��}|�|jtj�W5QRX|�	t
��tj|dd�W5QRXW5QRXd	D]D}t|j|��.}tj|d
��}|�|jtj�W5QRXW5QRXq�dD]\}d|k�r^t�|j�t|j|��.}tj|d
��}|�|jtj�W5QRXW5QRX�qDdS)Nr0�r+br$rdr#r;r��z)rTr��re)r0rory)
r	r&rr8r�r(r,ZREADZWRITErUrmrr)r
r-r�r,rrr�test_fileobj_mode�s,"&
zTestGzip.test_fileobj_modec	Cs�|j}z|�d�}Wntk
r2|�d�YnXt�|d��}|�td�W5QRXt�|d��}|�|�	�td�W5QRXt�|d��}|�|�	�td�W5QRXdS)Nr�z%Temporary file name needs to be ASCIIr0r1rT)
rr��UnicodeEncodeErrorZskipTestr	r&r'r3r(r*)r
Zstr_filenameZbytes_filenamer-rrr�test_bytes_filename�szTestGzip.test_bytes_filenamecCsttjdtd�dd�}|�t|�tj�t�|�}tj|d�}|�	|�
d�d�dtj}|�|jj
��|d�dS)	z-Decompressed data buffering should be limitedr�g��>Arsrbr�r`z)Excessive amount of data was decompressedN)r	rf�intZ
assertLessr)r�DEFAULT_BUFFER_SIZErgr&r(r*ZassertLessEqual�_buffer�rawr)r
Zbomb�decompZ
max_decomprrr�test_decompress_limited�s

�z TestGzip.test_decompress_limitedcCslttfD]^}dD]T}tj|f|��}|�t|�t�tjt�	|�dd��}|�|�
�|�W5QRXqqdS)N�r)r`)r�)rsrTrd)r3rqr	rfr(�typer%r&rrgr*)r
r+r�datacr-rrr�
test_compressszTestGzip.test_compresscCs�d}ttfD]�}dD]|}|j||d��dtj|f|�d|i�}|�t|�t�tjt	�
|�dd��}|�d�|�|j|�W5QRXW5QRXqqdS)Nr�r�)r+rr�rTrdr`)
r3rqr�r	rfr(r�r%r&rrgr*r�)r
r�r+rr�r-rrr�test_compress_mtimes
zTestGzip.test_compress_mtimec
CspttfD]b}t��}tj|dd��}|�|�W5QRX|�t�|�	��|�t�
|�}|�t�|�|�qdS)Nr0rd)r3rqrrgr	r&r'r(�
decompressr�rf)r
r+r�r-r�rrr�test_decompresss
zTestGzip.test_decompressc
Cs�td}t�|�dd�}tjt�|�d��}|�t|j�W5QRXtjt�|�d��,}|�	|�t
|��|�|�t|jd�W5QRXtdd�D]:}tjt�|d|��d��}|�t|jd�W5QRXq�dS)Nr1i����r�r`r�r�)r3r	rfr&rrgrU�EOFErrorr*r(r)rI)r
r+Z	truncatedr-rvrrr�test_read_truncated(szTestGzip.test_read_truncatedc	Cs6d}tjt�|�d��}|�|��d�W5QRXdS)Ns��cQ�ExtraI-.2�Mxr�sTest)r	r&rrgr(r*)r
Zgzdatar-rrr�test_read_with_extra6szTestGzip.test_read_with_extrac	CsPt�|jd��}|�t�W5QRXt�|jd��}|jjj��W5QRXdS)Nr0rT)	r	r�rr'r3r�r��_fpZprependr9rrr�test_prepend_error>szTestGzip.test_prepend_errorN)r")0rrrr/r:rBrLrNrRrWrYr_rrrirnrrrxr{r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr!8sX





-

r!c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�TestOpenc	Csltd}t�|jd��}|�|�W5QRXt|jd�� }t�|���}|�||�W5QRXt�|jd��}|�|��|�W5QRXt�|jd��}|�|�W5QRXt|jd��$}t�|���}|�||d�W5QRX|�t	��t�|jd�W5QRXt
�|j�t�|jd��}|�|�W5QRXt|jd�� }t�|���}|�||�W5QRXdS)Nr1r0rTror�ry�r3r	r�rr'r�r*r(rUrzrr�r
r�r-�	file_datarrr�test_binary_modesFs*zTestOpen.test_binary_modesc	Cs�t�|j�}t�|d��}|�td�W5QRXt�|d��}|�t�W5QRXt�|��}|�|��td�W5QRXdS)Nr0r1ror<)	r=r>rr	r�r'r3r(r*)r
rr-rrr�test_pathlike_fileaszTestOpen.test_pathlike_filec	Csltd}t�|jd��}|�|�W5QRXt|jd�� }t�|���}|�||�W5QRXt�|jd��}|�|��|�W5QRXt�|jd��}|�|�W5QRXt|jd��$}t�|���}|�||d�W5QRX|�t	��t�|jd�W5QRXt
�|j�t�|jd��}|�|�W5QRXt|jd�� }t�|���}|�||�W5QRXdS)Nr1r#rTr$r;r�r�r�r�rrr�test_implicit_binary_modesjs*z#TestOpen.test_implicit_binary_modesc	Cst�d�d}|�dtj�}t�|jd��}|�|�W5QRXt|jd��&}t�	|�
���d�}|�||�W5QRXt�|jd��}|�|�
�|�W5QRXt�|jd��}|�|�W5QRXt|jd��*}t�	|�
���d�}|�||d�W5QRXdS)	Nr�r1�
�wtrT�rtZatr��r3r��replacer7�linesepr	r�rr'r�r*r(�r
r�Zuncompressed_rawr-r�rrr�test_text_modes�szTestOpen.test_text_modesc	Cs�td}|�d�}t�|�}t�t�|�d��}|�|��|�W5QRXt�t�|�d��}|�|��|�W5QRXt�t�|�d��}|�|��|�W5QRXdS)Nr1r�r$rTr�)	r3r�r	rfr�rrgr(r*)r
Zuncompressed_bytesZuncompressed_strrhr-rrr�test_fileobj�s

zTestOpen.test_fileobjc	Cs�|�t��t�d�W5QRX|�t��t�|jd�W5QRX|�t��t�|jd�W5QRX|�t��tj|jddd�W5QRX|�t��tj|jddd�W5QRX|�t��tj|jdd	d
�W5QRXdS)Ngw��/�^@ZwbtZxbtrTzutf-8r��ignore)�errorsr���newline)rUrVr	r�rmrrrrr�test_bad_params�szTestOpen.test_bad_paramsc	Cs�t�d�d}|�dtj�}tj|jddd��}|�|�W5QRXt|jd��&}t�	|�
���d�}|�||�W5QRXtj|jddd��}|�|�
�|�W5QRXdS)	Nr�r1r�r�zutf-16r�rTr�r�r�rrr�
test_encoding�szTestOpen.test_encodingc	CsXt�|jd��}|�d�W5QRXtj|jdddd��}|�|��d�W5QRXdS)Nr0sfoo�barr�r�r�)r�r�Zfoobar)r	r�rr'r(r*r9rrr�test_encoding_error_handler�s
z$TestOpen.test_encoding_error_handlerc	Csjt�d�d}tj|jddd��}|�|�W5QRXtj|jddd��}|�|��|g�W5QRXdS)Nr�r1r�r�rr��
)r3r�r	r�rr'r(r�)r
r�r-rrr�test_newline�s
zTestOpen.test_newlineN)rrrr�r�r�r�r�rrrrrrrrr�Es	r�cs�fdd�}|S)Ncst�����fdd��}|S)Nc	s*t���z�||�W�St���XdSr)r7�makedirsr�rmtree)r�kwargs)�	directory�functionrr�wrapper�s
z?create_and_remove_directory.<locals>.decorator.<locals>.wrapper)�	functools�wraps)rr�r
)rr�	decorator�sz.create_and_remove_directory.<locals>.decoratorr)r
rrrr�create_and_remove_directory�s	rc@speZdZdZdd�Zee�dd��Zdd�Zee�dd	��Z	ee�d
d��Z
ee�dd
��Zdd�Zdd�Z
dS)�TestCommandLinesThis is a simple test with gzipc
Cs�t���h}tj|dd��}|�|j�W5QRXtjdddf}t|t	t	t	d��}|�
|���\}}W5QRXW5QRX|�|d�|�||j�dS)Nr0rd�-mr	�-d��stdin�stdout�stderrrZ)
rrgr	r&r'r+�sys�
executablerr�communicater�r()r
Zbytes_ioZ	gzip_filer�proc�out�errrrr�test_decompress_stdin_stdout�s
&z,TestCommandLine.test_decompress_stdin_stdoutc	Cs�tj�td�}|�tj�|��tj|dd��}|�|j	�W5QRXt
ddd|�\}}}ttj�td�d��}|�|��|j	�W5QRX|�
tj�|��|�|d	�|�|d
�|�|d
�dS)Nztestgzip.gzr0)r,rr	r�testgziprTrrZ)r7�pathr]�TEMPDIRrj�existsr	r�r'r+rr(r*rl)r
�gzipname�fp�rcrrZgunzipedrrr�test_decompress_infile_outfile�sz.TestCommandLine.test_decompress_infile_outfilecCs@tdddd�\}}}|�d|���|�|d�|�|d�dS)Nrr	rzthisisatest.outs.filename doesn't end in .gz: 'thisisatest.out'r`rZ)rr(�strip�r
r&rrrrr�$test_decompress_infile_outfile_error�sz4TestCommandLine.test_decompress_infile_outfile_errorc	Cs\tjddf}t|tttd��}|�|j�\}}W5QRX|�|d�|�|dd�d�dS)Nrr	rrZr�r�)rrrrrr+r()r
rrrrrrr�test_compress_stdin_outfiles
z+TestCommandLine.test_compress_stdin_outfilec	Cs�tj�td�}|d}|�tj�|��t|d��}|�|j�W5QRXt	dd|�\}}}|�
tj�|��|�|d�|�|d�dS)Nr �.gzr0rr	rZ)r7r!r]r"rjr#r�r'r+rrlr()r
�local_testgzipr$r%r&rrrrr�$test_compress_infile_outfile_default	sz4TestCommandLine.test_compress_infile_outfile_defaultcCs�dD]�}|j|d���tj�td�}|d}|�tj�|��t|d��}|�|j	�W5QRXt
dd||�\}}}|�tj�|��|�|d�|�|d�t�
|�|�tj�|��W5QRXqdS)	N)�--fast�--best)�compress_levelr r,r0rr	rZ)r�r7r!r]r"rjr#r�r'r+rrlr(�remove)r
r1r-r$r%r&rrrrr�test_compress_infile_outfiles
z,TestCommandLine.test_compress_infile_outfilecCs0tdddd�\}}}|�d|�|�|d�dS)Nrr	r/r0s8error: argument --best: not allowed with argument --fastrZ�rZassertInr(r)rrr�%test_compress_fast_best_are_exclusive+sz5TestCommandLine.test_compress_fast_best_are_exclusivecCs0tdddd�\}}}|�d|�|�|d�dS)Nrr	r/rsAerror: argument -d/--decompress: not allowed with argument --fastrZr4r)rrr�-test_decompress_cannot_have_flags_compression0sz=TestCommandLine.test_decompress_cannot_have_flags_compressionN)rrrr+rrr"r'r*r+r.r3r5r6rrrrr�s



rcCst�ttt�dSr)rZrun_unittestr!r�r��verboserrr�	test_main6sr9�__main__Tr7)N)&�__doc__rQr
rr7r=r�rZunittest�
subprocessrr�testrZtest.supportrrZtest.support.script_helperrr�
import_moduler	r3rqr!�abspathr r"rgr
ZTestCaserr!r�rrr9rrrrr�<module>s<

	
\



F1le Man4ger