Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_bz2.cpython-39.opt-1.pyc

a

��gʓ�@sJddlmZddlmZmZddlZddlZddlmZm	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlmZddlZddlZe�d�ZddlmZmZmZdadd	�ZGd
d�dej�ZGdd
�d
e�ZGdd�de�Z Gdd�de�Z!Gdd�de�Z"Gdd�de�Z#dd�Z$e%dk�rFe�&�dS)�)�support)�
bigmemtest�_4GN)�BytesIO�DEFAULT_BUFFER_SIZE)�unlink�bz2)�BZ2File�
BZ2Compressor�BZ2DecompressorcCs8tdurtt�d��atr*tjdg|d�St�|�SdS)NZbunzip2)�input)�has_cmdline_bunzip2�bool�shutil�which�
subprocess�check_outputr�
decompress)�data�r�)/usr/local/lib/python3.9/test/test_bz2.py�ext_decompresss
rc	@s�eZdZdZgd�Zd�e�ZdZdZdZ	dZ
ed�Ze
�
ej�e
�ej�e��d	��D]TZeed
��*Ze
e�ee�e
d��7Z
Wd�n1s�0Ye
dkrXq�qXejedd
�Zdd�Zdd�ZdS)�BaseTestzBase for other testcases.)s root:x:0:0:root:/root:/bin/bash
sbin:x:1:1:bin:/bin:
sdaemon:x:2:2:daemon:/sbin:
sadm:x:3:4:adm:/var/adm:
slp:x:4:7:lp:/var/spool/lpd:
s sync:x:5:0:sync:/sbin:/bin/sync
s-shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
s!halt:x:7:0:halt:/sbin:/sbin/halt
s"mail:x:8:12:mail:/var/spool/mail:
s"news:x:9:13:news:/var/spool/news:
s#uucp:x:10:14:uucp:/var/spool/uucp:
s operator:x:11:0:operator:/root:
s!games:x:12:100:games:/usr/games:
s,gopher:x:13:30:gopher:/usr/lib/gopher-data:
s(ftp:x:14:50:FTP User:/var/ftp:/bin/bash
s#nobody:x:65534:65534:Nobody:/home:
s.postfix:x:100:101:postfix:/var/spool/postfix:
s-niemeyer:x:500:500::/home/niemeyer:/bin/bash
s>postgres:x:101:102:PostgreSQL Server:/var/lib/pgsql:/bin/bash
s6mysql:x:102:103:MySQL server:/var/lib/mysql:/bin/bash
s#www:x:103:104::/var/www:/bin/false
�s�BZh91AY&SY.�N>_�@��n?��0���F��#&�F��Ц�MQ���4hh$�i4�4S�<Q�H���Շ���
��I��/Epu�]ɻDL
Q	1ߠ���2O9��7d�I�J�L#����/��#C��W����M��Xa<e�t�L�����˄.�����`n}�lh	E,�ZVH>���9gd6
�Պ��.K�v��xw�ߡ���|/";���ձ#A���o��y\�O煚��f8�2��"%�>V,��z⟣�"�E)I�^��r�U�2�6���U��0��^��DF����ݸ����ankR���3]���f��"6l$�j@���l1..�k�ls����E��
��k��n��Q�%y�v��z��̹zn7.G�]��B@�!8`sBZh9rE8P�sthis is not a valid bzip2 fileriz*.py�rbN���
compresslevelcCst��\}|_t�|�dS�N)�tempfile�mkstemp�filename�os�close)�self�fdrrr�setUpPszBaseTest.setUpcCst|j�dSr)rr!�r$rrr�tearDownTszBaseTest.tearDown)�__name__�
__module__�__qualname__�__doc__�
TEXT_LINES�join�TEXT�DATA�
EMPTY_DATA�BAD_DATAZ	test_size�	bytearray�BIG_TEXT�globr"�path�escape�dirname�__file__Zfname�openZfh�readinto�
memoryviewr�compress�BIG_DATAr&r(rrrrr$s 
&8rc@s�eZdZdZd}dd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�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;�Zd<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.dZd[�Z/d\d]�Z0d^d_�Z1d`da�Z2dbdc�Z3ddde�Z4dfdg�Z5dhdi�Z6djdk�Z7dldm�Z8dndo�Z9dpdq�Z:drds�Z;dtdu�Z<dvdw�Z=dxdy�Z>dzd{�Z?d|S)~�BZ2FileTestzTest the BZ2File class.rrcCsJt|jd��*}|�|j|�|�|�Wd�n1s<0YdS)N�wb)r:r!�writer0)r$�streams�suffix�frrr�createTempFile[szBZ2FileTest.createTempFilecCs�|�ttd�|�tttjd�|�tttjd�|�tttjd�|jtttjdd�|jtttjdd�|�tttjdd	�dS)
Ngw��/�^@�z�rxZrbtrr�
�r�)�assertRaises�	TypeErrorr	�
ValueErrorr"�devnullr'rrr�testBadArgs`szBZ2FileTest.testBadArgscCsZ|��t|j��4}|�t|jt��|�|��|j�Wd�n1sL0YdSr�	rEr	r!rKrL�read�float�assertEqualr/�r$�bz2frrr�testReadkszBZ2FileTest.testReadcCsL|jd|jd�t|j��}|�t|j�Wd�n1s>0YdS)Nr�rBrC)rEr2r	r!rK�OSErrorrQrTrrr�testReadBadFileqszBZ2FileTest.testReadBadFilecCsb|jdd�t|j��8}|�t|jt��|�|��|jd�Wd�n1sT0YdS�N��rBrPrTrrr�testReadMultiStreamvszBZ2FileTest.testReadMultiStreamcCs�tj}t|j�t_zh|jdd�t|j��8}|�t|j	t
��|�|�	�|jd�Wd�n1sh0YW|t_n|t_0dSrZ)
�_compression�BUFFER_SIZE�lenr0rEr	r!rKrLrQrRrSr/)r$Zbuffer_sizerUrrr�testReadMonkeyMultiStream|s6z%BZ2FileTest.testReadMonkeyMultiStreamcCsN|j|jd�t|j��"}|�|��|j�Wd�n1s@0YdS)N)rC�rEr2r	r!rSrQr/rTrrr�testReadTrailingJunk�sz BZ2FileTest.testReadTrailingJunkcCsT|jd|jd�t|j��&}|�|��|jd�Wd�n1sF0YdS)Nr[rWrbrTrrr�testReadMultiStreamTrailingJunk�sz+BZ2FileTest.testReadMultiStreamTrailingJunkcCsZ|��t|j��4}|�t|jt��|�|�d�d�Wd�n1sL0YdS)Nrr)rEr	r!rKrLrQrRrSrTrrr�	testRead0�szBZ2FileTest.testRead0cCsb|��t|j��<}d}|�d�}|s(q2||7}q|�||j�Wd�n1sT0YdS)NrrH�rEr	r!rQrSr/�r$rU�text�strrrr�testReadChunk10�s

zBZ2FileTest.testReadChunk10cCsj|jdd�t|j��@}d}|�d�}|s,q6||7}q|�||jd�Wd�n1s\0YdS)Nr[r\rrHrfrgrrr�testReadChunk10MultiStream�s

z&BZ2FileTest.testReadChunk10MultiStreamcCsR|��t|j��,}|�|�d�|jdd��Wd�n1sD0YdS)N�d)rEr	r!rSrQr/rTrrr�testRead100�szBZ2FileTest.testRead100cCsr|��t|j��L}|��}|�t|�d�|�|j�|��|�	|�
�|j�Wd�n1sd0YdS�Nr)rEr	r!�peek�assertNotEqualr`�
assertTruer/�
startswithrSrQ)r$rU�pdatarrr�testPeek�szBZ2FileTest.testPeekcCs�|��t|j���}d}t|�}|�|�|�|�|�||jd|��t|j�|}tt|j��}|�|�|�|�|�|d|�|j|d��Wd�n1s�0YdS)N�)rEr	r!r3rSr;r/r`)r$rU�n�brrr�testReadInto�szBZ2FileTest.testReadIntocCsb|��t|j��<}|�t|jd�|jD]}|�|��|�q*Wd�n1sT0YdSr�rEr	r!rKrL�readliner-rS�r$rU�linerrr�testReadLine�s

zBZ2FileTest.testReadLinecCsj|jdd�t|j��@}|�t|jd�|jdD]}|�|��|�q2Wd�n1s\0YdSrZryr{rrr�testReadLineMultiStream�s
z#BZ2FileTest.testReadLineMultiStreamcCsX|��t|j��2}|�t|jd�|�|��|j�Wd�n1sJ0YdSr�rEr	r!rKrL�	readlinesrSr-rTrrr�
testReadLines�szBZ2FileTest.testReadLinescCs`|jdd�t|j��6}|�t|jd�|�|��|jd�Wd�n1sR0YdSrZrrTrrr�testReadLinesMultiStream�sz$BZ2FileTest.testReadLinesMultiStreamcCsL|��t|j��&}|�tt|��|j�Wd�n1s>0YdSr�rEr	r!rS�list�iterr-rTrrr�testIterator�szBZ2FileTest.testIteratorcCsT|jdd�t|j��*}|�tt|��|jd�Wd�n1sF0YdSrZr�rTrrr�testIteratorMultiStream�sz#BZ2FileTest.testIteratorMultiStreamcCs:|��t|j�}|��|�tt|�|�t|j�dSr)rEr	r!r#rKrM�nextr�rTrrr�testClosedIteratorDeadlock�s

z&BZ2FileTest.testClosedIteratorDeadlockcCs�t|jd��*}|�t|j�|�|j�Wd�n1s<0Yt|jd��&}|�t|�	��|j�Wd�n1s~0YdS)N�wr�
r	r!rKrLrAr/r:rSrrQ�r$rUrDrrr�	testWrite�s
*zBZ2FileTest.testWritecCs�t|jd��H}d}|j|d|dd�}|s2qF|�|�|d7}qWd�n1sZ0Yt|jd��&}|�t|���|j�Wd�n1s�0YdS)Nr�rrHrr)r	r!r/rAr:rSrrQ)r$rUrvrirDrrr�testWriteChunks10�s
(zBZ2FileTest.testWriteChunks10cCs�tj|jdd�}t|jddd��}|�|j�Wd�n1sB0Yt|jd�� }|�|��|�Wd�n1s~0YdS)Nr[rr�r)	rr=r/r	r!rAr:rSrQ)r$ZexpectedrUrDrrr� testWriteNonDefaultCompressLevels
*z,BZ2FileTest.testWriteNonDefaultCompressLevelcCs�t|jd��*}|�t|j�|�|j�Wd�n1s<0Y|�t|jdg�t|jd��&}|�t	|�
��|j�Wd�n1s�0YdS)Nr��ar)r	r!rKrL�
writelinesr-rMr:rSrrQr/r�rrr�testWriteLiness*zBZ2FileTest.testWriteLinescCs�t|jd��}|�d�Wd�n1s,0Yt|jd��2}|�t|jd�|�t|jdg�Wd�n1sz0YdS)Nr�sabcrI�a)r	r!rArKrXr�rTrrr�testWriteMethodsOnReadOnlyFiles
(z*BZ2FileTest.testWriteMethodsOnReadOnlyFilecCs�t|jd��*}|�t|j�|�|j�Wd�n1s<0Yt|jd��*}|�t|j�|�|j�Wd�n1s�0Yt|jd��*}|�t|�	��|jd�Wd�n1s�0YdS)Nr�r�r�r�r�rrr�
testAppend!s**zBZ2FileTest.testAppendcCsh|��t|j��B}|�t|j�|�d�|�|��|jdd��Wd�n1sZ0YdS�N�)	rEr	r!rKrL�seekrSrQr/rTrrr�testSeekForward+s

zBZ2FileTest.testSeekForwardcCsv|jdd�t|j��L}|�t|j�|�t|j�d�|�|�	�|jdd��Wd�n1sh0YdS)Nr�r\r�)
rEr	r!rKrLr�r`r/rSrQrTrrr�testSeekForwardAcrossStreams2s
z(BZ2FileTest.testSeekForwardAcrossStreamscCsf|��t|j��@}|�d�|�dd�|�|��|jdd��Wd�n1sX0YdS�Ni��j���ri^)rEr	r!rQr�rSr/rTrrr�testSeekBackwards9s

zBZ2FileTest.testSeekBackwardscCs�|jdd�t|j��f}t|j�d}|dkrB|t|�|��8}q&|�dd�|�|��|jdd�|j�Wd�n1s�0YdS)Nr�r\rlrr�ri���)rEr	r!r`r/rQr�rS)r$rUZreadtorrr�testSeekBackwardsAcrossStreams@sz*BZ2FileTest.testSeekBackwardsAcrossStreamscCsf|��t|j��@}|�dd�|�|��|jt|j�dd��Wd�n1sX0YdS)Nr�r�r�)rEr	r!r�rSrQr/r`rTrrr�testSeekBackwardsFromEndIsz$BZ2FileTest.testSeekBackwardsFromEndcCsd|jdd�t|j��:}|�dd�|�|��|jddd��Wd�n1sV0YdS)Nr�r\i���)rEr	r!r�rSrQr/rTrrr�%testSeekBackwardsFromEndAcrossStreamsOsz1BZ2FileTest.testSeekBackwardsFromEndAcrossStreamscCsf|��t|j��@}|�d�|�|��t|j��|�|��d�Wd�n1sX0YdS�N��Ir�	rEr	r!r�rS�tellr`r/rQrTrrr�testSeekPostEndUs

zBZ2FileTest.testSeekPostEndcCsn|jdd�t|j��D}|�d�|�|��t|j�d�|�|��d�Wd�n1s`0YdS�Nr[r\r�rr�rTrrr�testSeekPostEndMultiStream\s

z&BZ2FileTest.testSeekPostEndMultiStreamcCsp|��t|j��J}|�d�|�d�|�|��t|j��|�|��d�Wd�n1sb0YdSr�r�rTrrr�testSeekPostEndTwicecs

z BZ2FileTest.testSeekPostEndTwicecCsx|jdd�t|j��N}|�d�|�d�|�|��t|j�d�|�|��d�Wd�n1sj0YdSr�r�rTrrr�testSeekPostEndTwiceMultiStreamks

z+BZ2FileTest.testSeekPostEndTwiceMultiStreamcCsb|��t|j��<}|�d�|�|��d�|�|��|j�Wd�n1sT0YdS)Nr�r�rEr	r!r�rSr�rQr/rTrrr�testSeekPreStartss

zBZ2FileTest.testSeekPreStartcCsj|jdd�t|j��@}|�d�|�|��d�|�|��|jd�Wd�n1s\0YdS)Nr�r\r�rr�rTrrr�testSeekPreStartMultiStreamzs

z'BZ2FileTest.testSeekPreStartMultiStreamc	Csz|��t|jd��D}t|�}z |�|��|���W|��n
|��0Wd�n1s^0Y|�t|j�dS)Nr)	rEr:r!r	rS�filenor#rKrM)r$ZrawfrUrrr�
testFileno�s2zBZ2FileTest.testFilenocCs�tt|j��}z0|�|���|��|�|���W|��n
|��0|�t|j�tt�d�}z|�	|���W|��n
|��0|�t|j�t|j�}dd�|_t|�}z|�	|���W|��n
|��0|�t|j�dS)Nr�cSsdS)NFrrrrr�<lambda>�rz*BZ2FileTest.testSeekable.<locals>.<lambda>)
r	rr0rq�seekablerQr#rKrM�assertFalse)r$rU�srcrrr�testSeekable�s&

zBZ2FileTest.testSeekablecCs�tt|j��}z0|�|���|��|�|���W|��n
|��0|�t|j�tt�d�}z|�	|���W|��n
|��0|�t|j�dS�Nr�)
r	rr0rq�readablerQr#rKrMr�rTrrr�testReadable�szBZ2FileTest.testReadablecCs�tt|j��}z0|�|���|��|�|���W|��n
|��0|�t|j�tt�d�}z|�	|���W|��n
|��0|�t|j�dSr�)
r	rr0r��writablerQr#rKrMrqrTrrr�testWritable�szBZ2FileTest.testWritablecCs&|��td�D]}t|j�}~qdS)Ni')rE�ranger	r!)r$�i�orrr�testOpenDel�s
zBZ2FileTest.testOpenDelcCs|�ttd�dS)Nz
/non/existent)rKrXr	r'rrr�testOpenNonexistent�szBZ2FileTest.testOpenNonexistentcCs�d}t|jd��}|�|�Wd�n1s00Yt|j��}|��}Wd�n1sb0Y|�|dg�t|j��}t|���}Wd�n1s�0Y|�|dg�dS)Ns,BZh91AY&SY�b�]� !�h3M<]��BCe�%tr@sTest)r:r!rAr	r�rSr�)r$rrDrU�linesZxlinesrrr�testReadlinesNoNewline�s(&*z"BZ2FileTest.testReadlinesNoNewlinecCs�d}t|jd��}|�d�Wd�n1s00Yt|jd�}|��z(|�Wd�n1sj0YWnty�Yn0|�d�z8t|jd��}ddWd�n1s�0YWnty�Yn0|�d�dS)Nr@sxxxrz4__enter__ on a closed file didn't raise an exceptionrrz1/0 didn't raise an exception)r	r!rAr#rMZfail�ZeroDivisionError�r$rDrrr�testContextProtocol�s"("
*zBZ2FileTest.testContextProtocolc	s�dd�d}t|jd��^���fdd���fdd�t|�D�}t�|��Wd�n1s^0YWd�n1s|0YdS)	N�1irHr@cstd�D]}����qdS�Nr[)r�rA)r�)rrDrr�comp�sz'BZ2FileTest.testThreading.<locals>.compcsg|]}tj�d��qS))�target)�	threading�Thread)�.0r�)r�rr�
<listcomp>�rz-BZ2FileTest.testThreading.<locals>.<listcomp>)r	r!r�rZ
start_threads)r$Znthreads�threadsr)r�rrDr�
testThreading�szBZ2FileTest.testThreadingcCs>|��t|jd�}|d}t|j��R}|�|�|�t|�|jd|d��|�|��|j|d��Wd�n1s�0Yt|j��D}|�	�|�t|�|jd�|�|�	�|jd�Wd�n1s�0Yt|j��6}|�
�|�tt|�|�|�
�g�Wd�n1�s00YdS)Nrr�r)
rEr`r-r	r!rQrSr�r/rzr�rK�
StopIteration)r$ZlinelenZhalflenrUrrr�testMixedIterationAndReads�s
84z&BZ2FileTest.testMixedIterationAndReadscCs�d}d}t|jd��}|�|�Wd�n1s40Yt|jd��}|�|�Wd�n1sj0Yt|j��$}|�|��||�Wd�n1s�0YdS)Ns�foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoos�barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarr�r�)r	r!rArSrQ)r$Zdata1Zdata2rUrrr�testMultiStreamOrderings((z#BZ2FileTest.testMultiStreamOrderingcCs�|j}z|�d�}Wnty0|�d�Yn0t|d��}|�|j�Wd�n1s^0Yt|d��"}|�|��|j�Wd�n1s�0Yt|d��"}|�|��|j�Wd�n1s�0YdS)N�asciiz%Temporary file name needs to be ASCIIr@r)	r!�encode�UnicodeEncodeErrorZskipTestr	rAr0rSrQ)r$Zstr_filenameZbytes_filenamerDrrr�testOpenBytesFilenames*0z!BZ2FileTest.testOpenBytesFilenamecCs�t�|j�}t|d��}|�|j�Wd�n1s80Yt|d��"}|�|��|j�Wd�n1st0YdS)Nr@r)�pathlib�Pathr!r	rAr0rSrQ)r$r!rDrrr�testOpenPathLikeFilename's
*z$BZ2FileTest.testOpenPathLikeFilenamecCshtjdtd�dd�}|�t|�tj�tt|��}|�	|�
d�d�dt}|�|j
j��|d�dS)z-Decompressed data buffering should be limited�g��>A�	rrz)Excessive amount of data was decompressedN)rr=�intZ
assertLessr`r^r_r	rrSrQr�assertLessEqual�_buffer�rawr�)r$Zbomb�decompZ
max_decomprrr�testDecompressLimited.s�z!BZ2FileTest.testDecompressLimitedc	Cs�t|j��h}t|��4}|�t|jt��|�|��|j�Wd�n1sN0Y|�	|j
�Wd�n1sx0YdSr)rr0r	rKrLrQrRrSr/r��closed�r$�biorUrrr�testReadBytesIO<s

0zBZ2FileTest.testReadBytesIOc	Cs�t|j��t}t|��L}|��}|�t|�d�|�|j�|��|�	|�
�|j�Wd�n1sf0YWd�n1s�0YdSrn)rr0r	rorpr`rqr/rrrSrQ)r$r�rUrsrrr�testPeekBytesIOCs
zBZ2FileTest.testPeekBytesIOc	Cs�t��v}t|d��*}|�t|j�|�|j�Wd�n1sB0Y|�t|���|j�|�	|j
�Wd�n1s�0YdSr�)rr	rKrLrAr/rSr�getvaluer�r�r�rrr�testWriteBytesIOKs*zBZ2FileTest.testWriteBytesIOc	Cs�t|j��j}t|��B}|�t|j�|�d�|�|��|jdd��Wd�n1s\0YWd�n1sz0YdSr�)	rr0r	rKrLr�rSrQr/r�rrr�testSeekForwardBytesIOSs


z"BZ2FileTest.testSeekForwardBytesIOc	Cs�t|j��h}t|��@}|�d�|�dd�|�|��|jdd��Wd�n1sZ0YWd�n1sx0YdSr�)rr0r	rQr�rSr/r�rrr�testSeekBackwardsBytesIOZs


z$BZ2FileTest.testSeekBackwardsBytesIOc	Cs�|jdd�}tt|���}|�t|j�Wd�n1s>0Ytt|���:}|�|�t|j��|j�|�t|jd�Wd�n1s�0Yt	d�D]H}tt|d|���� }|�t|jd�Wd�q�1s�0Yq�dS)N���r�)
r0r	rrK�EOFErrorrQrSr`r/r�)r$Z	truncatedrDr�rrr�test_read_truncatedas,.zBZ2FileTest.test_read_truncatedcCspt�dgd��}t|�|j}tt�d��2}|�|�|�|�|�|��|�Wd�n1sb0YdS)N�Q)rr�rJ�r[r�)�arrayr`�itemsizer	rrSrAr�)r$�qZLENGTHrDrrr�test_issue44439ns
zBZ2FileTest.test_issue44439N)rr)@r)r*r+r,rErOrVrYr]rarcrdrerjrkrmrtrxr}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�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr?Xsz

	

	

r?c@sJeZdZdd�Zdd�Zdd�Zejee	ddd	�d
d���Z
dd
�ZdS)�BZ2CompressorTestcCsBt�}|�t|j�|�|j�}||��7}|�t|�|j�dSr)r
rKrLr=r/�flushrSr�r$�bz2crrrr�testCompressxs
zBZ2CompressorTest.testCompresscCs.t�}|�d�}||��7}|�||j�dS�Nr)r
r=r�rSr1r�rrr�testCompressEmptyStrings
z)BZ2CompressorTest.testCompressEmptyStringcCsht�}d}d}|j|d|dd�}|s.qF||�|�7}|d7}q||��7}|�t|�|j�dS)NrrrHr)r
r/r=r�rSr)r$r�rvrrirrr�testCompressChunks10�s
z&BZ2CompressorTest.testCompressChunks10rlr���sizeZmemusecCsxt�}d|}z|�|�}||��7}Wd}nd}0t�|�}z.|�t|�|�|�t|�d��d�Wd}nd}0dS)N�xr)r
r=r�rrrSr`�strip)r$r�r�r�
compressedrrr�testCompress4G�s

z BZ2CompressorTest.testCompress4Gc	CsPttjd�D]<}|�t��t�t�|�Wd�q1s@0YqdS�Nr)r��pickle�HIGHEST_PROTOCOLrKrL�dumpsr
�r$�protorrr�
testPickle�szBZ2CompressorTest.testPickleN)r)r*r+r�r�r�r�skip_if_pgo_taskrrrrrrrrr�ws
r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zej	e
eddd
�dd���Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zejdd��ZdS)�BZ2DecompressorTestcCs|�ttd�dS)N�*)rKrLrr'rrr�test_Constructor�sz$BZ2DecompressorTest.test_ConstructorcCs2t�}|�t|j�|�|j�}|�||j�dSr)rrKrLrr0rSr/�r$�bz2drhrrr�testDecompress�sz"BZ2DecompressorTest.testDecompresscCsXt�}d}d}|j|d|dd�}|s.qF||�|�7}|d7}q|�||j�dS)NrrrHr)rr0rrSr/)r$r
rhrvrirrr�testDecompressChunks10�s
z*BZ2DecompressorTest.testDecompressChunks10cCs:t�}d}|�|j|�}|�||j�|�|j|�dS)Nsthis is unused data)rrr0rSr/�unused_data)r$r
rrhrrr�testDecompressUnusedData�s
z,BZ2DecompressorTest.testDecompressUnusedDatacCs6t�}|�|j�}|�t|jd�|�t|jd�dS)Nsanythingr)rrr0rKr�rrrr�testEOFError�sz BZ2DecompressorTest.testEOFErrorrlgffffff
@r�cCsjd}t�|�}zH|||d}t�|�}t�}|�|�}|�||k�Wd}d}d}nd}d}d}0dS)Ni�r)�random�	randbytesrr=rrrq)r$r��	blocksize�blockrr�r
Zdecompressedrrr�testDecompress4G�s


�z$BZ2DecompressorTest.testDecompress4Gc	CsPttjd�D]<}|�t��t�t�|�Wd�q1s@0YqdSr)r�rrrKrLrrrrrrr�szBZ2DecompressorTest.testPicklecCst�}d}g}t|j�d}|�|j|jd|�|d��|�|j�|�t|d�|�|�|jd|d��|�|j�|�t|d�|�|�|j|j|d�|d��|�t|d�|�|j	s�|�|jd|d��|�t|d�|�q�d�
|�}|�||j�|�|jd�dS)Nrl�@��
max_length���r)
rr`r>�appendrr��needs_inputrSr��eofr.r4r)r$�bzdr�outZlen_rrr�testDecompressorChunksMaxsize�s,��
z1BZ2DecompressorTest.testDecompressorChunksMaxsizecCs�t�}g}|�|j|jdd�dd�d�|�|�dd��|�|�|jdd�d��|�|�|jdd���|�d�|�|j�dS)Nrlrrrr��i��rrSrr0rr.r/�r$rr rrr�test_decompressor_inputbuf_1s��z0BZ2DecompressorTest.test_decompressor_inputbuf_1cCs�t�}g}|�|j|jdd�dd�d�|�|�d��|�|�|jdd�d��|�|�|jdd�d��|�|�|jdd���|�d�|�|j�dS)N��rrrir��,r$r%rrr�test_decompressor_inputbuf_2s��z0BZ2DecompressorTest.test_decompressor_inputbuf_2cCstt�}g}|�|�|jdd�d��|�|�|jdd�d��|�|�|jdd���|�d�|�|j�dS)Nr'r[r(r)rrrr0rSr.r/r%rrr�test_decompressor_inputbuf_3-sz0BZ2DecompressorTest.test_decompressor_inputbuf_3cCs6t�}|�t|j|jd�|�t|j|jd�dS)N�)rrK�	Exceptionrr2)r$rrrr�test_failure=sz BZ2DecompressorTest.test_failurecCsHt�td�}t�}|�}td�D]}|��q |j|�|ddd�dS)N�gettotalrefcountrlrrH)Zdelta)rZ
get_attribute�sysrr��__init__ZassertAlmostEqual)r$r.rZrefs_beforer�rrr�test_refleaks_in___init__Cs
z-BZ2DecompressorTest.test_refleaks_in___init__N)r)r*r+rrrrrrrrrrrr!r&r)r*r-Z
refcount_testr1rrrrr	�s r	c@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�CompressDecompressTestcCs"t�|j�}|�t|�|j�dSr)rr=r/rSr)r$rrrrr�Nsz#CompressDecompressTest.testCompresscCst�d�}|�||j�dSr�)rr=rSr1�r$rhrrrr�Rs
z.CompressDecompressTest.testCompressEmptyStringcCst�|j�}|�||j�dSr�rrr0rSr/r3rrrrVsz%CompressDecompressTest.testDecompresscCst�d�}|�|d�dSr�)rrrSr3rrr�testDecompressEmptyZs
z*CompressDecompressTest.testDecompressEmptycCst�|j�}|�|d�dSr�)rrr1rSr3rrr�testDecompressToEmptyString^sz2CompressDecompressTest.testDecompressToEmptyStringcCs|�ttj|jdd��dS)Nr�)rKrMrrr0r'rrr�testDecompressIncompletebsz/CompressDecompressTest.testDecompressIncompletecCs|�ttj|j�dSr)rKrXrrr2r'rrr�testDecompressBadDataesz,CompressDecompressTest.testDecompressBadDatacCs&t�|jd�}|�||jd�dSr�r4r3rrr�testDecompressMultiStreamhsz0CompressDecompressTest.testDecompressMultiStreamcCs$t�|j|j�}|�||j�dSr�rrr0r2rSr/r3rrr�testDecompressTrailingJunklsz1CompressDecompressTest.testDecompressTrailingJunkcCs,t�|jd|j�}|�||jd�dSr�r:r3rrr�%testDecompressMultiStreamTrailingJunkpsz<CompressDecompressTest.testDecompressMultiStreamTrailingJunkN)
r)r*r+r�r�rr5r6r7r8r9r;r<rrrrr2Msr2c@s`eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�OpenTestzTest the open function.cOstj|i|��Sr)rr:)r$�args�kwargsrrrr:xsz
OpenTest.openc	CsjdD�]^}|dkrt|j�|�|j|��}|�|j�Wd�n1sL0Yt|jd��*}t|���}|�||j�Wd�n1s�0Y|�|jd��"}|�|��|j�Wd�n1s�0Y|�|jd��}|�|j�Wd�n1�s0Yt|jd��.}t|���}|�||jd�Wd�q1�sZ0YqdS)N)r@�xbr@r�abr��rr!r:rAr/rrQrS�r$�moderD�	file_datarrr�test_binary_modes{s

*,0,zOpenTest.test_binary_modesc	CsjdD�]^}|dkrt|j�|�|j|��}|�|j�Wd�n1sL0Yt|jd��*}t|���}|�||j�Wd�n1s�0Y|�|jd��"}|�|��|j�Wd�n1s�0Y|�|jd��}|�|j�Wd�n1�s0Yt|jd��.}t|���}|�||jd�Wd�q1�sZ0YqdS)N)r��xrGrrIr�r�rBrCrrr�test_implicit_binary_modes�s

*,0,z#OpenTest.test_implicit_binary_modesc	Cs�|j�d�}|�dtj�}dD�]`}|dkr6t|j�|�|j|��}|�|�Wd�n1sd0Yt|jd��.}t	|�
���d�}|�||�Wd�n1s�0Y|�|jd�� }|�|�
�|�Wd�n1s�0Y|�|jd��}|�|�Wd�n1�s&0Yt|jd��2}t	|�
���d�}|�||d�Wd�q1�sv0YqdS)	Nr��
)�wt�xtrKr�rtZatr�)r/�decode�replacer"�lineseprr!r:rArrQrS)r$rh�text_native_eolrDrDrErrr�test_text_modes�s"

(*.*zOpenTest.test_text_modesc
Cs�dD]�}t|j�|�|j|��}Wd�n1s60Y|�t��>|�|j|��}Wd�n1sp0YWd�q1s�0YqdS)N)rGr@rK)rr!r:rK�FileExistsError)r$rDrDrrr�test_x_mode�s
zOpenTest.test_x_modecCs�|�t|j�d��"}|�|��|j�Wd�n1s:0Y|�t|j�d��"}|�|��|j�Wd�n1s~0Y|j�d�}|�t|j�d�� }|�|��|�Wd�n1s�0YdS)NrIrr�rL)r:rr0rSrQr/rM)r$rDrhrrr�test_fileobj�s00zOpenTest.test_fileobjcCst|�t|j|jd�|�t|j|jd�|jt|j|jddd�|jt|j|jddd�|jt|j|jddd	�dS)
NZwbtZxbtrzutf-8��encoding�ignore)�errorsrI��newline)rKrMr:r!r'rrr�test_bad_params�s
�
����zOpenTest.test_bad_paramscCs�|j�d�}|�dtj�}|j|jddd��}|�|�Wd�n1sL0Yt|jd��.}t|�	���d�}|�
||�Wd�n1s�0Y|j|jddd�� }|�
|�	�|�Wd�n1s�0YdS)Nr�rIrJz	utf-16-lerUrrL)r/rMrNr"rOr:r!rArrQrS)r$rhrPrDrErrr�
test_encoding�s(*zOpenTest.test_encodingcCs�|�|jd��}|�d�Wd�n1s.0Y|j|jdddd�� }|�|��d�Wd�n1sr0YdS)Nr@sfoo�barrLr�rW)rVrXZfoobar)r:r!rArSrQr�rrr�test_encoding_error_handler�s
(z$OpenTest.test_encoding_error_handlercCs�|j�d�}|j|jddd��}|�|�Wd�n1s>0Y|j|jddd��"}|�|��|g�Wd�n1s�0YdS)Nr�rJrIrYrL�
)r/rMr:r!rArSr�)r$rhrDrrr�test_newline�s
(zOpenTest.test_newlineN)r)r*r+r,r:rFrHrQrSrTr[r\r]r_rrrrr=us		
r=cCst��dSr)r�
reap_childrenrrrr�tearDownModule�sra�__main__)'�testrZtest.supportrrr�Zunittest�iorrr"rr5rr�rrrr�rr^r/�
import_modulerr	r
rr
rZTestCaserr?r�r	r2r=rar)�mainrrrr�<module>sD
	4#3$(x


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists