Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_bz2.cpython-310.pyc
o

�9j���@sdddlmZddlmZmZddlZddlZddlmZm	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlmZddlmZddlmZddlZddlZe�d�Zdd	lmZmZmZdad
d�ZGdd
�d
ej �Z!Gdd�de!�Z"Gdd�de!�Z#Gdd�de!�Z$Gdd�de!�Z%Gdd�de!�Z&dd�Z'e(dkr�e�)�dSdS)�)�support)�
bigmemtest�_4GN)�BytesIO�DEFAULT_BUFFER_SIZE)�
import_helper)�threading_helper)�unlink�bz2)�BZ2File�
BZ2Compressor�BZ2DecompressorcCs4tdurtt�d��atrtjdg|d�St�|�S)N�bunzip2)�input)�has_cmdline_bunzip2�bool�shutil�which�
subprocess�check_outputr
�
decompress)�data�r�$/usr/lib/python3.10/test/test_bz2.py�ext_decompresss

rc	@s�eZdZdZgd�Zd�e�ZdZdZdZ	dZ
ed�Ze
�
ej�e
�ej�e��d	��D]*Zeed
��Ze
e�ee�e
d��7Z
Wd�n1sKwYe
dkrVnq,eje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�setUpRszBaseTest.setUpcCst|j�dSr!)r	r$�r'rrr�tearDownVszBaseTest.tearDown)�__name__�
__module__�__qualname__�__doc__�
TEXT_LINES�join�TEXT�DATA�
EMPTY_DATA�BAD_DATA�	test_size�	bytearray�BIG_TEXT�globr%�path�escape�dirname�__file__�fname�open�fh�readinto�
memoryviewr
�compress�BIG_DATAr)r+rrrrr&s&
&��rc@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.rrcCsLt|jd��}|�|j|�|�|�Wd�dS1swYdS)N�wb)r?r$�writer3)r'�streams�suffix�frrr�createTempFile]s"�zBZ2FileTest.createTempFilecCs�|�ttd�|�tttjd�|�tttjd�|�tttjd�|jtttjdd�|jtttjdd�|�tttjdd	�dS)
Ngw��/�^@�z�rx�rbtrr�
�r�)�assertRaises�	TypeErrorr�
ValueErrorr%�devnullr*rrr�testBadArgsbszBZ2FileTest.testBadArgscCs\|��t|j��}|�t|jt��|�|��|j�Wd�dS1s'wYdSr!�	rKrr$rRrS�read�float�assertEqualr2�r'�bz2frrr�testReadm�
"�zBZ2FileTest.testReadcCsN|jd|jd�t|j��}|�t|j�Wd�dS1s wYdS)Nr�rHrI)rKr5rr$rR�OSErrorrXr[rrr�testReadBadFiless"�zBZ2FileTest.testReadBadFilecCsd|jdd�t|j��}|�t|jt��|�|��|jd�Wd�dS1s+wYdS�N��rHrWr[rrr�testReadMultiStreamxs
"�zBZ2FileTest.testReadMultiStreamcCs�tj}t|j�t_z;|jdd�t|j��}|�t|j	t
��|�|�	�|jd�Wd�n1s4wYW|t_dSW|t_dS|t_wrb)
�_compression�BUFFER_SIZE�lenr3rKrr$rRrSrXrYrZr2)r'�buffer_sizer\rrr�testReadMonkeyMultiStream~s�
�z%BZ2FileTest.testReadMonkeyMultiStreamcCsP|j|jd�t|j��}|�|��|j�Wd�dS1s!wYdS)N)rI�rKr5rr$rZrXr2r[rrr�testReadTrailingJunk�s"�z BZ2FileTest.testReadTrailingJunkcCsV|jd|jd�t|j��}|�|��|jd�Wd�dS1s$wYdS)Nrcr_rkr[rrr�testReadMultiStreamTrailingJunk�s"�z+BZ2FileTest.testReadMultiStreamTrailingJunkcCs\|��t|j��}|�t|jt��|�|�d�d�Wd�dS1s'wYdS)Nrr)rKrr$rRrSrXrYrZr[rrr�	testRead0�r^zBZ2FileTest.testRead0cCsf|��t|j�� }d}	|�d�}|sn||7}q
|�||j�Wd�dS1s,wYdS)NrTrO�rKrr$rXrZr2�r'r\�text�strrrr�testReadChunk10�s
�"�zBZ2FileTest.testReadChunk10cCsn|jdd�t|j��"}d}	|�d�}|sn||7}q|�||jd�Wd�dS1s0wYdS)NrcrdrTrOrorprrr�testReadChunk10MultiStream�s
�"�z&BZ2FileTest.testReadChunk10MultiStreamcCsT|��t|j��}|�|�d�|jdd��Wd�dS1s#wYdS)N�d)rKrr$rZrXr2r[rrr�testRead100�s"�zBZ2FileTest.testRead100cCst|��t|j��'}|��}|�t|�d�|�|j�|��|�	|�
�|j�Wd�dS1s3wYdS�Nr)rKrr$�peek�assertNotEqualrh�
assertTruer2�
startswithrZrX)r'r\�pdatarrr�testPeek�s"�zBZ2FileTest.testPeekcCs�|��t|j��J}d}t|�}|�|�|�|�|�||jd|��t|j�|}tt|j��}|�|�|�|�|�|d|�|j|d��Wd�dS1sVwYdS)N�)rKrr$r7rZrAr2rh)r'r\�n�brrr�testReadInto�s""�zBZ2FileTest.testReadIntocCsd|��t|j��}|�t|jd�|jD]
}|�|��|�qWd�dS1s+wYdSr!�rKrr$rRrS�readliner0rZ�r'r\�linerrr�testReadLine�s
�"�zBZ2FileTest.testReadLinecCsl|jdd�t|j��!}|�t|jd�|jdD]
}|�|��|�qWd�dS1s/wYdSrbr�r�rrr�testReadLineMultiStream�s�"�z#BZ2FileTest.testReadLineMultiStreamcCsZ|��t|j��}|�t|jd�|�|��|j�Wd�dS1s&wYdSr!�rKrr$rRrS�	readlinesrZr0r[rrr�
testReadLines�s
"�zBZ2FileTest.testReadLinescCsb|jdd�t|j��}|�t|jd�|�|��|jd�Wd�dS1s*wYdSrbr�r[rrr�testReadLinesMultiStream�s
"�z$BZ2FileTest.testReadLinesMultiStreamcCsN|��t|j��}|�tt|��|j�Wd�dS1s wYdSr!�rKrr$rZ�list�iterr0r[rrr�testIterator�s"�zBZ2FileTest.testIteratorcCsV|jdd�t|j��}|�tt|��|jd�Wd�dS1s$wYdSrbr�r[rrr�testIteratorMultiStream�s"�z#BZ2FileTest.testIteratorMultiStreamcCs:|��t|j�}|��|�tt|�|�t|j�dSr!)rKrr$r&rRrT�nextr�r[rrr�testClosedIteratorDeadlock�s

z&BZ2FileTest.testClosedIteratorDeadlockcCs�t|jd��}|�t|j�|�|j�Wd�n1swYt|jd��}|�t|�	��|j�Wd�dS1s@wYdS)N�wr�
rr$rRrSrGr2r?rZrrX�r'r\rJrrr�	testWrite�s�"�zBZ2FileTest.testWritecCs�t|jd��%}d}	|j|d|dd�}|sn
|�|�|d7}q
Wd�n1s.wYt|jd��}|�t|���|j�Wd�dS1sPwYdS)Nr�rTrOrr)rr$r2rGr?rZrrX)r'r\rrrrJrrr�testWriteChunks10�s
��"�zBZ2FileTest.testWriteChunks10cCs�tj|jdd�}t|jddd��}|�|j�Wd�n1s!wYt|jd��}|�|��|�Wd�dS1s@wYdS)Nrcrr�r)	r
rCr2rr$rGr?rZrX)r'�expectedr\rJrrr� testWriteNonDefaultCompressLevel
s�"�z,BZ2FileTest.testWriteNonDefaultCompressLevelcCs�t|jd��}|�t|j�|�|j�Wd�n1swY|�t|jdg�t|jd��}|�t	|�
��|j�Wd�dS1sIwYdS)Nr��ar)rr$rRrS�
writelinesr0rTr?rZrrXr2r�rrr�testWriteLiness�"�zBZ2FileTest.testWriteLinescCs�t|jd��
}|�d�Wd�n1swYt|jd��}|�t|jd�|�t|jdg�Wd�dS1s>wYdS)Nr�sabcrP�a)rr$rGrRr`r�r[rrr�testWriteMethodsOnReadOnlyFiles�"�z*BZ2FileTest.testWriteMethodsOnReadOnlyFilecCs�t|jd��}|�t|j�|�|j�Wd�n1swYt|jd��}|�t|j�|�|j�Wd�n1sAwYt|jd��}|�t|�	��|jd�Wd�dS1sewYdS)Nr�r�r�r�r�rrr�
testAppend#s��"�zBZ2FileTest.testAppendcCsj|��t|j��"}|�t|j�|�d�|�|��|jdd��Wd�dS1s.wYdS�N�)	rKrr$rRrS�seekrZrXr2r[rrr�testSeekForward-s
"�zBZ2FileTest.testSeekForwardcCsx|jdd�t|j��'}|�t|j�|�t|j�d�|�|�	�|jdd��Wd�dS1s5wYdS)Nr�rdr�)
rKrr$rRrSr�rhr2rZrXr[rrr�testSeekForwardAcrossStreams4s"�z(BZ2FileTest.testSeekForwardAcrossStreamscCsh|��t|j��!}|�d�|�dd�|�|��|jdd��Wd�dS1s-wYdS�Ni��j���ri^)rKrr$rXr�rZr2r[rrr�testSeekBackwards;s
"�zBZ2FileTest.testSeekBackwardscCs�|jdd�t|j��7}t|j�d}|dkr$|t|�|��8}|dks|�dd�|�|��|jdd�|j�Wd�dS1sEwYdS)Nr�rdrurr�ri���)rKrr$rhr2rXr�rZ)r'r\�readtorrr�testSeekBackwardsAcrossStreamsBs�""�z*BZ2FileTest.testSeekBackwardsAcrossStreamscCsh|��t|j��!}|�dd�|�|��|jt|j�dd��Wd�dS1s-wYdS)Nr�r�r�)rKrr$r�rZrXr2rhr[rrr�testSeekBackwardsFromEndKs
&"�z$BZ2FileTest.testSeekBackwardsFromEndcCsf|jdd�t|j��}|�dd�|�|��|jddd��Wd�dS1s,wYdS)Nr�rdi���)rKrr$r�rZrXr2r[rrr�%testSeekBackwardsFromEndAcrossStreamsQs
 "�z1BZ2FileTest.testSeekBackwardsFromEndAcrossStreamscCsh|��t|j��!}|�d�|�|��t|j��|�|��d�Wd�dS1s-wYdS�N��Ir�	rKrr$r�rZ�tellrhr2rXr[rrr�testSeekPostEndWs
"�zBZ2FileTest.testSeekPostEndcCsp|jdd�t|j��#}|�d�|�|��t|j�d�|�|��d�Wd�dS1s1wYdS�Nrcrdr�rr�r[rrr�testSeekPostEndMultiStream^s
"�z&BZ2FileTest.testSeekPostEndMultiStreamcCsr|��t|j��&}|�d�|�d�|�|��t|j��|�|��d�Wd�dS1s2wYdSr�r�r[rrr�testSeekPostEndTwicees

"�z BZ2FileTest.testSeekPostEndTwicecCsz|jdd�t|j��(}|�d�|�d�|�|��t|j�d�|�|��d�Wd�dS1s6wYdSr�r�r[rrr�testSeekPostEndTwiceMultiStreamms

"�z+BZ2FileTest.testSeekPostEndTwiceMultiStreamcCsd|��t|j��}|�d�|�|��d�|�|��|j�Wd�dS1s+wYdS)Nr�r�rKrr$r�rZr�rXr2r[rrr�testSeekPreStartus
"�zBZ2FileTest.testSeekPreStartcCsl|jdd�t|j��!}|�d�|�|��d�|�|��|jd�Wd�dS1s/wYdS)Nr�rdr�rr�r[rrr�testSeekPreStartMultiStream|s
"�z'BZ2FileTest.testSeekPreStartMultiStreamc	Csz|��t|jd��"}t|�}z|�|��|���W|��n|��wWd�n1s/wY|�t|j�dS)Nr)	rKr?r$rrZ�filenor&rRrT)r'�rawfr\rrr�
testFileno�s�zBZ2FileTest.testFilenocCs�tt|j��}z|�|���|��|�|���W|��n|��w|�t|j�tt�d�}z
|�	|���W|��n|��w|�t|j�t|j�}dd�|_t|�}z
|�	|���W|��n|��w|�t|j�dS)Nr�cSsdS)NFrrrrr�<lambda>�sz*BZ2FileTest.testSeekable.<locals>.<lambda>)
rrr3rz�seekablerXr&rRrT�assertFalse)r'r\�srcrrr�testSeekable�s&

zBZ2FileTest.testSeekablecC�tt|j��}z|�|���|��|�|���W|��n|��w|�t|j�tt�d�}z
|�	|���W|��n|��w|�t|j�dS�Nr�)
rrr3rz�readablerXr&rRrTr�r[rrr�testReadable��zBZ2FileTest.testReadablecCr�r�)
rrr3r��writablerXr&rRrTrzr[rrr�testWritable�r�zBZ2FileTest.testWritablecCs&|��td�D]}t|j�}~qdS)Ni')rK�rangerr$)r'�i�orrr�testOpenDel�s

�zBZ2FileTest.testOpenDelcC�|�ttd�dS)Nz
/non/existent)rRr`rr*rrr�testOpenNonexistent��zBZ2FileTest.testOpenNonexistentcCs�d}t|jd��
}|�|�Wd�n1swYt|j��}|��}Wd�n1s1wY|�|dg�t|j��}t|���}Wd�n1sSwY|�|dg�dS)Ns,BZh91AY&SY�b�]� !�h3M<]��BCe�%trFsTest)r?r$rGrr�rZr�)r'rrJr\�lines�xlinesrrr�testReadlinesNoNewline�s�
��z"BZ2FileTest.testReadlinesNoNewlinecCs�d}t|jd��
}|�d�Wd�n1swYt|jd�}|��z|�Wd�n1s5wYWn	tyDYnw|�d�zt|jd��}ddWd�n1s`wYWn
typYdSw|�d�dS)NrFsxxxrz4__enter__ on a closed file didn't raise an exceptionrrz1/0 didn't raise an exception)rr$rGr&rT�fail�ZeroDivisionError�r'rJrrr�testContextProtocol�s0����

���zBZ2FileTest.testContextProtocolc	s�dd�d}t|jd��8���fdd���fdd�t|�D�}t�|��Wd�n1s/wYWd�dSWd�dS1sGwYdS)	N�1irOrFcstd�D]}����qdS�Nrc)r�rG)r�)rrJrr�comp�s�z'BZ2FileTest.testThreading.<locals>.compcsg|]}tj�d��qS))�target)�	threading�Thread)�.0r�)r�rr�
<listcomp>�sz-BZ2FileTest.testThreading.<locals>.<listcomp>)rr$r�r�
start_threads)r'�nthreads�threadsr)r�rrJr�
testThreading�s��"�zBZ2FileTest.testThreadingcCs>|��t|jd�}|d}t|j��)}|�|�|�t|�|jd|d��|�|��|j|d��Wd�n1s@wYt|j��"}|�	�|�t|�|jd�|�|�	�|jd�Wd�n1sowYt|j��}|�
�|�tt|�|�|�
�g�Wd�dS1s�wYdS)Nrr�r)
rKrhr0rr$rXrZr�r2r�r�rR�
StopIteration)r'�linelen�halflenr\rrr�testMixedIterationAndReads�s$
��"�z&BZ2FileTest.testMixedIterationAndReadscCs�d}d}t|jd��
}|�|�Wd�n1swYt|jd��
}|�|�Wd�n1s5wYt|j��}|�|��||�Wd�dS1sUwYdS)Ns�foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoos�barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarr�r�)rr$rGrZrX)r'�data1�data2r\rrr�testMultiStreamOrderings��"�z#BZ2FileTest.testMultiStreamOrderingcCs�|j}z|�d�}Wnty|�d�Ynwt|d��}|�|j�Wd�n1s/wYt|d��}|�|��|j�Wd�n1sMwYt|d��}|�|��|j�Wd�dS1slwYdS)N�asciiz%Temporary file name needs to be ASCIIrFr)	r$�encode�UnicodeEncodeError�skipTestrrGr3rZrX)r'�str_filename�bytes_filenamerJrrr�testOpenBytesFilenames���"�z!BZ2FileTest.testOpenBytesFilenamecCs�t�|j�}t|d��}|�|j�Wd�n1swYt|d��}|�|��|j�Wd�dS1s;wYdS)NrFr)�pathlib�Pathr$rrGr3rZrX)r'r$rJrrr�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)r
rC�int�
assertLessrhrfrgrrrZrXr�assertLessEqual�_buffer�rawr�)r'�bomb�decomp�
max_decomprrr�testDecompressLimited0s�z!BZ2FileTest.testDecompressLimitedc	Cs�t|j��5}t|��}|�t|jt��|�|��|j�Wd�n1s'wY|�	|j
�Wd�dS1s=wYdSr!)rr3rrRrSrXrYrZr2r��closed�r'�bior\rrr�testReadBytesIO>s
�"�zBZ2FileTest.testReadBytesIOc	Cs�t|j��C}t|��&}|��}|�t|�d�|�|j�|��|�	|�
�|j�Wd�n1s3wYWd�dSWd�dS1sKwYdSrw)rr3rrxryrhrzr2r{rZrX)r'rr\r|rrr�testPeekBytesIOEs
��"�zBZ2FileTest.testPeekBytesIOc	Cs�t��<}t|d��}|�t|j�|�|j�Wd�n1s!wY|�t|���|j�|�	|j
�Wd�dS1sBwYdSr�)rrrRrSrGr2rZr�getvaluer�r�r�rrr�testWriteBytesIOMs�"�zBZ2FileTest.testWriteBytesIOc	Cs�t|j��>}t|��!}|�t|j�|�d�|�|��|jdd��Wd�n1s.wYWd�dSWd�dS1sFwYdSr�)	rr3rrRrSr�rZrXr2r�rrr�testSeekForwardBytesIOUs

��"�z"BZ2FileTest.testSeekForwardBytesIOc	Cs�t|j��=}t|�� }|�d�|�dd�|�|��|jdd��Wd�n1s-wYWd�dSWd�dS1sEwYdSr�)rr3rrXr�rZr2r�rrr�testSeekBackwardsBytesIO\s

��"�z$BZ2FileTest.testSeekBackwardsBytesIOc	Cs�|jdd�}tt|���}|�t|j�Wd�n1swYtt|���}|�|�t|j��|j�|�t|jd�Wd�n1sJwYt	d�D]$}tt|d|����}|�t|jd�Wd�n1srwYqSdS)N���r�)
r3rrrR�EOFErrorrXrZrhr2r�)r'�	truncatedrJr�rrr�test_read_truncatedcs�����zBZ2FileTest.test_read_truncatedcCsrt�dgd��}t|�|j}tt�d��}|�|�|�|�|�|��|�Wd�dS1s2wYdS)N�Q)rr�rQ�rcr�)�arrayrh�itemsizerrrZrGr�)r'�q�LENGTHrJrrr�test_issue44439ps"�zBZ2FileTest.test_issue44439N)rr)@r,r-r.r/rKrVr]rarerjrlrmrnrsrtrvr}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�rrrrrrrrrrrrEZs|

	

	

rEc@sJeZdZdd�Zdd�Zdd�Zejee	ddd	�d
d���Z
dd
�ZdS)�BZ2CompressorTestcCsBt�}|�t|j�|�|j�}||��7}|�t|�|j�dSr!)rrRrSrCr2�flushrZr�r'�bz2crrrr�testCompresszs
zBZ2CompressorTest.testCompresscCs.t�}|�d�}||��7}|�||j�dS�Nr)rrCrrZr4rrrr�testCompressEmptyString�s
z)BZ2CompressorTest.testCompressEmptyStringcCsjt�}d}d}	|j|d|dd�}|sn||�|�7}|d7}q||��7}|�t|�|j�dS)NrrTrOr)rr2rCrrZr)r'rrrrrrrr�testCompressChunks10�s�z&BZ2CompressorTest.testCompressChunks10rur���size�memusecCsvt�}d|}z|�|�}||��7}Wd}nd}wt�|�}z|�t|�|�|�t|�d��d�Wd}dSd}w)N�xr)rrCrr
rrZrh�strip)r'rrr�
compressedrrr�testCompress4G�s

z BZ2CompressorTest.testCompress4Gc	C�Pttjd�D]}|�t��t�t�|�Wd�n1s wYqdS�Nr)r��pickle�HIGHEST_PROTOCOLrRrS�dumpsr�r'�protorrr�
testPickle�����zBZ2CompressorTest.testPickleN)r,r-r.rrrr�skip_if_pgo_taskrrr!r)rrrrrys
rc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zej	e
eddd
�dd���Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zejdd��Zd S)!�BZ2DecompressorTestcCr�)N�*)rRrSr
r*rrr�test_Constructor�r�z$BZ2DecompressorTest.test_ConstructorcCs2t�}|�t|j�|�|j�}|�||j�dSr!)r
rRrSrr3rZr2�r'�bz2drqrrr�testDecompress�sz"BZ2DecompressorTest.testDecompresscCsZt�}d}d}	|j|d|dd�}|sn||�|�7}|d7}q|�||j�dS)NrrTrOr)r
r3rrZr2)r'r0rqrrrrrr�testDecompressChunks10�s�z*BZ2DecompressorTest.testDecompressChunks10cCs:t�}d}|�|j|�}|�||j�|�|j|�dS)Nsthis is unused data)r
rr3rZr2�unused_data)r'r0r3rqrrr�testDecompressUnusedData�s
z,BZ2DecompressorTest.testDecompressUnusedDatacCs6t�}|�|j�}|�t|jd�|�t|jd�dS)Nsanythingr)r
rr3rRr	r/rrr�testEOFError�sz BZ2DecompressorTest.testEOFErrorrugffffff
@rcCshd}t�|�}z%|||d}t�|�}t�}|�|�}|�||k�Wd}d}d}dSd}d}d}w)Ni�r)�random�	randbytesr
rCr
rrz)r'r�	blocksize�blockrr r0�decompressedrrr�testDecompress4G�s


�z$BZ2DecompressorTest.testDecompress4Gc	Cr"r#)r�r$r%rRrSr&r
r'rrrr)�r*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	sz|�|jd|d��|�t|d�|�|j	rcd�
|�}|�||j�|�|jd�dS)Nru�@��
max_length���r)
r
rhrD�appendrr��needs_inputrZr��eofr1r8r3)r'�bzdr>�out�len_rrr�testDecompressorChunksMaxsize�s.���
z1BZ2DecompressorTest.testDecompressorChunksMaxsizecCs�t�}g}|�|j|jdd�dd�d�|�|�dd��|�|�|jdd�d��|�|�|jdd���|�d�|�|j�dS)Nrurr=rr��i��r
rZrr3r@r1r2�r'rCrDrrr�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��rr=rir��,rIrJrrr�test_decompressor_inputbuf_2s��z0BZ2DecompressorTest.test_decompressor_inputbuf_2cCstt�}g}|�|�|jdd�d��|�|�|jdd�d��|�|�|jdd���|�d�|�|j�dS)NrLrcrMr)r
r@rr3rZr1r2rJrrr�test_decompressor_inputbuf_3/sz0BZ2DecompressorTest.test_decompressor_inputbuf_3cCs6t�}|�t|j|jd�|�t|j|jd�dS)N�)r
rR�	Exceptionrr5)r'rCrrr�test_failure?sz BZ2DecompressorTest.test_failurecCs�t�d�}t�}|�td��
|�|�Wd�n1swY|�|j�|�|j�|�t	d��|�d�Wd�dS1sFwYdS)Nڸ425a6839314159265359000000000000007fffff00000000000000000000000000000000000000000000000000000000000000e0370000000000000000000000000000000000000000000000000000000000000000000000000083f3zInvalid data streamzprevious errors)
�bytes�fromhexr
�assertRaisesRegexr`rr�rArBrT)r'rrCrrr� test_decompress_after_data_errorEs��"�z4BZ2DecompressorTest.test_decompress_after_data_errorcCsHt�td�}t�}|�}td�D]}|��q|j|�|ddd�dS)N�gettotalrefcountrurrO)�delta)r�
get_attribute�sysr
r��__init__�assertAlmostEqual)r'rXrC�refs_beforer�rrr�test_refleaks_in___init__Ts
z-BZ2DecompressorTest.test_refleaks_in___init__N)r,r-r.r.r1r2r4r5rr+rrr;r)rFrKrNrOrRrW�
refcount_testr_rrrrr,�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!)r
rCr2rZr)r'rrrrr_sz#CompressDecompressTest.testCompresscCst�d�}|�||j�dSr)r
rCrZr4�r'rqrrrrcs
z.CompressDecompressTest.testCompressEmptyStringcCst�|j�}|�||j�dSr!�r
rr3rZr2rbrrrr1gsz%CompressDecompressTest.testDecompresscCst�d�}|�|d�dSr)r
rrZrbrrr�testDecompressEmptyks
z*CompressDecompressTest.testDecompressEmptycCst�|j�}|�|d�dSr)r
rr4rZrbrrr�testDecompressToEmptyStringosz2CompressDecompressTest.testDecompressToEmptyStringcCs|�ttj|jdd��dS)Nr)rRrTr
rr3r*rrr�testDecompressIncompletessz/CompressDecompressTest.testDecompressIncompletecCs|�ttj|j�dSr!)rRr`r
rr5r*rrr�testDecompressBadDatavsz,CompressDecompressTest.testDecompressBadDatacCs&t�|jd�}|�||jd�dSr�rcrbrrr�testDecompressMultiStreamysz0CompressDecompressTest.testDecompressMultiStreamcCs$t�|j|j�}|�||j�dSr!�r
rr3r5rZr2rbrrr�testDecompressTrailingJunk}sz1CompressDecompressTest.testDecompressTrailingJunkcCs,t�|jd|j�}|�||jd�dSr�rirbrrr�%testDecompressMultiStreamTrailingJunk�sz<CompressDecompressTest.testDecompressMultiStreamTrailingJunkN)
r,r-r.rrr1rdrerfrgrhrjrkrrrrra^srac@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!)r
r?)r'�args�kwargsrrrr?�sz
OpenTest.openc	CsddD]�}|dkr
t|j�|�|j|��}|�|j�Wd�n1s%wYt|jd��}t|���}|�||j�Wd�n1sHwY|�|jd��}|�|��|j�Wd�n1shwY|�|jd��}|�|j�Wd�n1s�wYt|jd��}t|���}|�||jd�Wd�n1s�wYqdS)N)rF�xbror�abr��r	r$r?rGr2rrXrZ�r'�moderJ�	file_datarrr�test_binary_modes�s,
�������zOpenTest.test_binary_modesc	CsddD]�}|dkr
t|j�|�|j|��}|�|j�Wd�n1s%wYt|jd��}t|���}|�||j�Wd�n1sHwY|�|jd��}|�|��|j�Wd�n1shwY|�|jd��}|�|j�Wd�n1s�wYt|jd��}t|���}|�||jd�Wd�n1s�wYqdS)N)r��xrvrrPr�r�rqrrrrr�test_implicit_binary_modes�s,
�������z#OpenTest.test_implicit_binary_modesc	Cs�|j�d�}|�dtj�}dD]�}|dkrt|j�|j|j|dd��
}|�|�Wd�n1s3wYt|jd��}t	|�
���d�}|�||�Wd�n1sXwY|j|jddd��}|�|�
�|�Wd�n1sywY|j|jddd��
}|�|�Wd�n1s�wYt|jd��}t	|�
���d�}|�||d	�Wd�n1s�wYqdS)
Nr��
)�wt�xtrz��encodingr�rt�atr�)r2�decode�replacer%�linesepr	r$r?rGrrXrZ)r'rq�text_native_eolrsrJrtrrr�test_text_modes�s0
�������zOpenTest.test_text_modesc
Cs�dD]T}t|j�d|vrdnd}|j|j||d��}Wd�n1s%wY|�t��|�|j|��}Wd�n1sBwYWd�n1sQwYqdS)N)rvrorz�t�utf-8r{)r	r$r?rR�FileExistsError)r'rsr|rJrrr�test_x_mode�s
������zOpenTest.test_x_modecCs�|�t|j�d��}|�|��|j�Wd�n1swY|�t|j�d��}|�|��|j�Wd�n1s?wY|j�d�}|jt|j�ddd��}|�|��|�Wd�dS1siwYdS)NrPrr�r}r�r{)r?rr3rZrXr2r)r'rJrqrrr�test_fileobj�s��"�zOpenTest.test_fileobjcCst|�t|j|jd�|�t|j|jd�|jt|j|jddd�|jt|j|jddd�|jt|j|jddd	�dS)
N�wbt�xbtrr�r{�ignore)�errorsrx)�newline)rRrTr?r$r*rrr�test_bad_params�s
�
���
�zOpenTest.test_bad_paramscCs�|j�d�}|�dtj�}|j|jddd��
}|�|�Wd�n1s&wYt|jd��}t|�	���d�}|�
||�Wd�n1sKwY|j|jddd��}|�
|�	�|�Wd�dS1smwYdS)Nr�rxryz	utf-16-ler{rr})r2rr�r%r�r?r$rGrrXrZ)r'rqr�rJrtrrr�
test_encoding�s��"�zOpenTest.test_encodingcCs�|�|jd��
}|�d�Wd�n1swY|j|jdddd��}|�|��d�Wd�dS1s:wYdS)NrFsfoo�barr}r�r�)r|r��foobar)r?r$rGrZrXr�rrr�test_encoding_error_handler�s�"�z$OpenTest.test_encoding_error_handlercCs�|j�d�}|j|jdddd��
}|�|�Wd�n1s wY|j|jdddd��}|�|��|g�Wd�dS1sDwYdS)Nr�ryr�rx)r|r�r}�
)r2rr?r$rGrZr�)r'rqrJrrr�test_newline�s�"�zOpenTest.test_newlineN)r,r-r.r/r?rurwr�r�r�r�r�r�r�rrrrrl�s
	
rlcCst��dSr!)r�
reap_childrenrrrr�tearDownModule�sr��__main__)*�testr�test.supportrrr�unittest�iorrr%r$r9r"r�r6rrr�rr�test.support.os_helperr	rfr[�
import_moduler
rrr
rr�TestCaserrErr,rarlr�r,�mainrrrr�<module>sL
	4#33(y�

Youez - 2016 - github.com/yon3zu
LinuXploit