Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 18.216.81.181
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : test_bz2.cpython-310.pyc
o

`b��@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)NZbunzip2)�input)�has_cmdline_bunzip2�bool�shutil�which�
subprocess�check_outputr
�
decompress)�data�r�6/usr/local/python-3.10/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
dkrVqWq,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_DATAZ	test_size�	bytearray�BIG_TEXT�globr$�path�escape�dirname�__file__Zfname�openZfh�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#�writer2)r&�streams�suffix�frrr�createTempFile]s"�zBZ2FileTest.createTempFilecCs�|�ttd�|�tttjd�|�tttjd�|�tttjd�|jtttjdd�|jtttjdd�|�tttjdd	�dS)
Ngw��/�^@�z�rxZrbtrr�
�r�)�assertRaises�	TypeErrorr�
ValueErrorr$�devnullr)rrr�testBadArgsbszBZ2FileTest.testBadArgscCs\|��t|j��}|�t|jt��|�|��|j�Wd�dS1s'wYdSr �	rGrr#rMrN�read�float�assertEqualr1�r&�bz2frrr�testReadm�
"�zBZ2FileTest.testReadcCsN|jd|jd�t|j��}|�t|j�Wd�dS1s wYdS)Nr�rDrE)rGr4rr#rM�OSErrorrSrVrrr�testReadBadFiless"�zBZ2FileTest.testReadBadFilecCsd|jdd�t|j��}|�t|jt��|�|��|jd�Wd�dS1s+wYdS�N��rDrRrVrrr�testReadMultiStreamxs
"�zBZ2FileTest.testReadMultiStreamcCs�tj}t|j�t_z;|jdd�t|j��}|�t|j	t
��|�|�	�|jd�Wd�n1s4wYW|t_dSW|t_dS|t_wr])
�_compression�BUFFER_SIZE�lenr2rGrr#rMrNrSrTrUr1)r&Zbuffer_sizerWrrr�testReadMonkeyMultiStream~s�
�z%BZ2FileTest.testReadMonkeyMultiStreamcCsP|j|jd�t|j��}|�|��|j�Wd�dS1s!wYdS)N)rE�rGr4rr#rUrSr1rVrrr�testReadTrailingJunk�s"�z BZ2FileTest.testReadTrailingJunkcCsV|jd|jd�t|j��}|�|��|jd�Wd�dS1s$wYdS)Nr^rZrerVrrr�testReadMultiStreamTrailingJunk�s"�z+BZ2FileTest.testReadMultiStreamTrailingJunkcCs\|��t|j��}|�t|jt��|�|�d�d�Wd�dS1s'wYdS)Nrr)rGrr#rMrNrSrTrUrVrrr�	testRead0�rYzBZ2FileTest.testRead0cCsf|��t|j�� }d}	|�d�}|sq||7}q
|�||j�Wd�dS1s,wYdS)NrTrJ�rGrr#rSrUr1�r&rW�text�strrrr�testReadChunk10�s
�"�zBZ2FileTest.testReadChunk10cCsn|jdd�t|j��"}d}	|�d�}|sq||7}q|�||jd�Wd�dS1s0wYdS)Nr^r_rTrJrirjrrr�testReadChunk10MultiStream�s
�"�z&BZ2FileTest.testReadChunk10MultiStreamcCsT|��t|j��}|�|�d�|jdd��Wd�dS1s#wYdS)N�d)rGrr#rUrSr1rVrrr�testRead100�s"�zBZ2FileTest.testRead100cCst|��t|j��'}|��}|�t|�d�|�|j�|��|�	|�
�|j�Wd�dS1s3wYdS�Nr)rGrr#�peek�assertNotEqualrc�
assertTruer1�
startswithrUrS)r&rW�pdatarrr�testPeek�s"�zBZ2FileTest.testPeekcCs�|��t|j��J}d}t|�}|�|�|�|�|�||jd|��t|j�|}tt|j��}|�|�|�|�|�|d|�|j|d��Wd�dS1sVwYdS)N�)rGrr#r5rUr=r1rc)r&rW�n�brrr�testReadInto�s""�zBZ2FileTest.testReadIntocCsd|��t|j��}|�t|jd�|jD]
}|�|��|�qWd�dS1s+wYdSr �rGrr#rMrN�readliner/rU�r&rW�linerrr�testReadLine�s
�"�zBZ2FileTest.testReadLinecCsl|jdd�t|j��!}|�t|jd�|jdD]
}|�|��|�qWd�dS1s/wYdSr]r|r~rrr�testReadLineMultiStream�s�"�z#BZ2FileTest.testReadLineMultiStreamcCsZ|��t|j��}|�t|jd�|�|��|j�Wd�dS1s&wYdSr �rGrr#rMrN�	readlinesrUr/rVrrr�
testReadLines�s
"�zBZ2FileTest.testReadLinescCsb|jdd�t|j��}|�t|jd�|�|��|jd�Wd�dS1s*wYdSr]r�rVrrr�testReadLinesMultiStream�s
"�z$BZ2FileTest.testReadLinesMultiStreamcCsN|��t|j��}|�tt|��|j�Wd�dS1s wYdSr �rGrr#rU�list�iterr/rVrrr�testIterator�s"�zBZ2FileTest.testIteratorcCsV|jdd�t|j��}|�tt|��|jd�Wd�dS1s$wYdSr]r�rVrrr�testIteratorMultiStream�s"�z#BZ2FileTest.testIteratorMultiStreamcCs:|��t|j�}|��|�tt|�|�t|j�dSr )rGrr#r%rMrO�nextr�rVrrr�testClosedIteratorDeadlock�s

z&BZ2FileTest.testClosedIteratorDeadlockcCs�t|jd��}|�t|j�|�|j�Wd�n1swYt|jd��}|�t|�	��|j�Wd�dS1s@wYdS)N�wr�
rr#rMrNrCr1r<rUrrS�r&rWrFrrr�	testWrite�s�"�zBZ2FileTest.testWritecCs�t|jd��%}d}	|j|d|dd�}|sq$|�|�|d7}q
Wd�n1s.wYt|jd��}|�t|���|j�Wd�dS1sPwYdS)Nr�rTrJrr)rr#r1rCr<rUrrS)r&rWryrlrFrrr�testWriteChunks10�s
��"�zBZ2FileTest.testWriteChunks10cCs�tj|jdd�}t|jddd��}|�|j�Wd�n1s!wYt|jd��}|�|��|�Wd�dS1s@wYdS)Nr^rr�r)	r
r?r1rr#rCr<rUrS)r&ZexpectedrWrFrrr� testWriteNonDefaultCompressLevel
s�"�z,BZ2FileTest.testWriteNonDefaultCompressLevelcCs�t|jd��}|�t|j�|�|j�Wd�n1swY|�t|jdg�t|jd��}|�t	|�
��|j�Wd�dS1sIwYdS)Nr��ar)rr#rMrN�
writelinesr/rOr<rUrrSr1r�rrr�testWriteLiness�"�zBZ2FileTest.testWriteLinescCs�t|jd��
}|�d�Wd�n1swYt|jd��}|�t|jd�|�t|jdg�Wd�dS1s>wYdS)Nr�sabcrK�a)rr#rCrMr[r�rVrrr�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�)	rGrr#rMrN�seekrUrSr1rVrrr�testSeekForward-s
"�zBZ2FileTest.testSeekForwardcCsx|jdd�t|j��'}|�t|j�|�t|j�d�|�|�	�|jdd��Wd�dS1s5wYdS)Nr�r_r�)
rGrr#rMrNr�rcr1rUrSrVrrr�testSeekForwardAcrossStreams4s"�z(BZ2FileTest.testSeekForwardAcrossStreamscCsh|��t|j��!}|�d�|�dd�|�|��|jdd��Wd�dS1s-wYdS�Ni��j���ri^)rGrr#rSr�rUr1rVrrr�testSeekBackwards;s
"�zBZ2FileTest.testSeekBackwardscCs�|jdd�t|j��7}t|j�d}|dkr$|t|�|��8}|dks|�dd�|�|��|jdd�|j�Wd�dS1sEwYdS)Nr�r_rorr�ri���)rGrr#rcr1rSr�rU)r&rWZreadtorrr�testSeekBackwardsAcrossStreamsBs�""�z*BZ2FileTest.testSeekBackwardsAcrossStreamscCsh|��t|j��!}|�dd�|�|��|jt|j�dd��Wd�dS1s-wYdS)Nr�r�r�)rGrr#r�rUrSr1rcrVrrr�testSeekBackwardsFromEndKs
&"�z$BZ2FileTest.testSeekBackwardsFromEndcCsf|jdd�t|j��}|�dd�|�|��|jddd��Wd�dS1s,wYdS)Nr�r_i���)rGrr#r�rUrSr1rVrrr�%testSeekBackwardsFromEndAcrossStreamsQs
 "�z1BZ2FileTest.testSeekBackwardsFromEndAcrossStreamscCsh|��t|j��!}|�d�|�|��t|j��|�|��d�Wd�dS1s-wYdS�N��Ir�	rGrr#r�rU�tellrcr1rSrVrrr�testSeekPostEndWs
"�zBZ2FileTest.testSeekPostEndcCsp|jdd�t|j��#}|�d�|�|��t|j�d�|�|��d�Wd�dS1s1wYdS�Nr^r_r�rr�rVrrr�testSeekPostEndMultiStream^s
"�z&BZ2FileTest.testSeekPostEndMultiStreamcCsr|��t|j��&}|�d�|�d�|�|��t|j��|�|��d�Wd�dS1s2wYdSr�r�rVrrr�testSeekPostEndTwicees

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

"�z+BZ2FileTest.testSeekPostEndTwiceMultiStreamcCsd|��t|j��}|�d�|�|��d�|�|��|j�Wd�dS1s+wYdS)Nr�r�rGrr#r�rUr�rSr1rVrrr�testSeekPreStartus
"�zBZ2FileTest.testSeekPreStartcCsl|jdd�t|j��!}|�d�|�|��d�|�|��|jd�Wd�dS1s/wYdS)Nr�r_r�rr�rVrrr�testSeekPreStartMultiStream|s
"�z'BZ2FileTest.testSeekPreStartMultiStreamc	Csz|��t|jd��"}t|�}z|�|��|���W|��n|��wWd�n1s/wY|�t|j�dS)Nr)	rGr<r#rrU�filenor%rMrO)r&ZrawfrWrrr�
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>)
rrr2rt�seekablerSr%rMrO�assertFalse)r&rW�srcrrr�testSeekable�s&

zBZ2FileTest.testSeekablecC�tt|j��}z|�|���|��|�|���W|��n|��w|�t|j�tt�d�}z
|�	|���W|��n|��w|�t|j�dS�Nr�)
rrr2rt�readablerSr%rMrOr�rVrrr�testReadable��zBZ2FileTest.testReadablecCr�r�)
rrr2r��writablerSr%rMrOrtrVrrr�testWritable�r�zBZ2FileTest.testWritablecCs&|��td�D]}t|j�}~qdS)Ni')rG�rangerr#)r&�i�orrr�testOpenDel�s

�zBZ2FileTest.testOpenDelcC�|�ttd�dS)Nz
/non/existent)rMr[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�%trBsTest)r<r#rCrr�rUr�)r&rrFrW�linesZxlinesrrr�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)NrBsxxxrz4__enter__ on a closed file didn't raise an exceptionrrz1/0 didn't raise an exception)rr#rCr%rOZfail�ZeroDivisionError�r&rFrrr�testContextProtocol�s0����

���zBZ2FileTest.testContextProtocolc	s�dd�d}t|jd��8���fdd���fdd�t|�D�}t�|��Wd�n1s/wYWd�dSWd�dS1sGwYdS)	N�1irJrBcstd�D]}����qdS�Nr^)r�rC)r�)rrFrr�comp�s�z'BZ2FileTest.testThreading.<locals>.compcsg|]}tj�d��qS))�target)�	threading�Thread)�.0r�)r�rr�
<listcomp>�sz-BZ2FileTest.testThreading.<locals>.<listcomp>)rr#r�rZ
start_threads)r&Znthreads�threadsr)r�rrFr�
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)
rGrcr/rr#rSrUr�r1r}r�rM�
StopIteration)r&ZlinelenZhalflenrWrrr�testMixedIterationAndReads�s$
��"�z&BZ2FileTest.testMixedIterationAndReadscCs�d}d}t|jd��
}|�|�Wd�n1swYt|jd��
}|�|�Wd�n1s5wYt|j��}|�|��||�Wd�dS1sUwYdS)Ns�foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoos�barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarr�r�)rr#rCrUrS)r&Zdata1Zdata2rWrrr�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 ASCIIrBr)	r#�encode�UnicodeEncodeErrorZskipTestrrCr2rUrS)r&Zstr_filenameZbytes_filenamerFrrr�testOpenBytesFilenames���"�z!BZ2FileTest.testOpenBytesFilenamecCs�t�|j�}t|d��}|�|j�Wd�n1swYt|d��}|�|��|j�Wd�dS1s;wYdS)NrBr)�pathlib�Pathr#rrCr2rUrS)r&r#rFrrr�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
r?�intZ
assertLessrcrarbrrrUrSr�assertLessEqual�_buffer�rawr�)r&Zbomb�decompZ
max_decomprrr�testDecompressLimited0s�z!BZ2FileTest.testDecompressLimitedc	Cs�t|j��5}t|��}|�t|jt��|�|��|j�Wd�n1s'wY|�	|j
�Wd�dS1s=wYdSr )rr2rrMrNrSrTrUr1r��closed�r&�biorWrrr�testReadBytesIO>s
�"�zBZ2FileTest.testReadBytesIOc	Cs�t|j��C}t|��&}|��}|�t|�d�|�|j�|��|�	|�
�|j�Wd�n1s3wYWd�dSWd�dS1sKwYdSrq)rr2rrrrsrcrtr1rurUrS)r&r�rWrvrrr�testPeekBytesIOEs
��"�zBZ2FileTest.testPeekBytesIOc	Cs�t��<}t|d��}|�t|j�|�|j�Wd�n1s!wY|�t|���|j�|�	|j
�Wd�dS1sBwYdSr�)rrrMrNrCr1rUr�getvaluer�r�r�rrr�testWriteBytesIOMs�"�zBZ2FileTest.testWriteBytesIOc	Cs�t|j��>}t|��!}|�t|j�|�d�|�|��|jdd��Wd�n1s.wYWd�dSWd�dS1sFwYdSr�)	rr2rrMrNr�rUrSr1r�rrr�testSeekForwardBytesIOUs

��"�z"BZ2FileTest.testSeekForwardBytesIOc	Cs�t|j��=}t|�� }|�d�|�dd�|�|��|jdd��Wd�n1s-wYWd�dSWd�dS1sEwYdSr�)rr2rrSr�rUr1r�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�)
r2rrrM�EOFErrorrSrUrcr1r�)r&Z	truncatedrFr�rrr�test_read_truncatedcs�����zBZ2FileTest.test_read_truncatedcCsrt�dgd��}t|�|j}tt�d��}|�|�|�|�|�|��|�Wd�dS1s2wYdS)N�Q)rr�rL�r^r�)�arrayrc�itemsizerrrUrCr�)r&�qZLENGTHrFrrr�test_issue44439ps"�zBZ2FileTest.test_issue44439N)rr)@r+r,r-r.rGrQrXr\r`rdrfrgrhrmrnrprwr{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�r�rrrrrAZs|

	

	

rAc@sJeZdZdd�Zdd�Zdd�Zejee	ddd	�d
d���Z
dd
�ZdS)�BZ2CompressorTestcCsBt�}|�t|j�|�|j�}||��7}|�t|�|j�dSr )rrMrNr?r1�flushrUr�r&�bz2crrrr�testCompresszs
zBZ2CompressorTest.testCompresscCs.t�}|�d�}||��7}|�||j�dS�Nr)rr?r�rUr3r�rrr�testCompressEmptyString�s
z)BZ2CompressorTest.testCompressEmptyStringcCsjt�}d}d}	|j|d|dd�}|sq$||�|�7}|d7}q||��7}|�t|�|j�dS)NrrTrJr)rr1r?r�rUr)r&r�ryrrlrrr�testCompressChunks10�s�z&BZ2CompressorTest.testCompressChunks10ror���sizeZmemusecCsvt�}d|}z|�|�}||��7}Wd}nd}wt�|�}z|�t|�|�|�t|�d��d�Wd}dSd}w)N�xr)rr?r�r
rrUrc�strip)r&rr�r�
compressedrrr�testCompress4G�s

z BZ2CompressorTest.testCompress4Gc	C�Pttjd�D]}|�t��t�t�|�Wd�n1s wYqdS�Nr)r��pickle�HIGHEST_PROTOCOLrMrN�dumpsr�r&�protorrr�
testPickle�����zBZ2CompressorTest.testPickleN)r+r,r-r�rrr�skip_if_pgo_taskrrrrrrrrr�ys
r�c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zej	e
eddd
�dd���Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zejdd��ZdS)�BZ2DecompressorTestcCr�)N�*)rMrNr
r)rrr�test_Constructor�r�z$BZ2DecompressorTest.test_ConstructorcCs2t�}|�t|j�|�|j�}|�||j�dSr )r
rMrNrr2rUr1�r&�bz2drkrrr�testDecompress�sz"BZ2DecompressorTest.testDecompresscCsZt�}d}d}	|j|d|dd�}|sq$||�|�7}|d7}q|�||j�dS)NrrTrJr)r
r2rrUr1)r&rrkryrlrrr�testDecompressChunks10�s�z*BZ2DecompressorTest.testDecompressChunks10cCs:t�}d}|�|j|�}|�||j�|�|j|�dS)Nsthis is unused data)r
rr2rUr1�unused_data)r&rrrkrrr�testDecompressUnusedData�s
z,BZ2DecompressorTest.testDecompressUnusedDatacCs6t�}|�|j�}|�t|jd�|�t|jd�dS)Nsanythingr)r
rr2rMr�rrrr�testEOFError�sz BZ2DecompressorTest.testEOFErrorrogffffff
@rcCshd}t�|�}z%|||d}t�|�}t�}|�|�}|�||k�Wd}d}d}dSd}d}d}w)Ni�r)�random�	randbytesr
r?r
rrt)r&r�	blocksize�blockrrrZdecompressedrrr�testDecompress4G�s


�z$BZ2DecompressorTest.testDecompress4Gc	Crr	)r�r
rrMrNrr
r
rrrr�rzBZ2DecompressorTest.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)Nro�@��
max_length���r)
r
rcr@�appendrr��needs_inputrUr��eofr0r6r)r&�bzdr#�outZlen_rrr�testDecompressorChunksMaxsize�s.���
z1BZ2DecompressorTest.testDecompressorChunksMaxsizecCs�t�}g}|�|j|jdd�dd�d�|�|�dd��|�|�|jdd�d��|�|�|jdd���|�d�|�|j�dS)Nrorr"rr��i��r
rUrr2r%r0r1�r&r(r)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��rr"rir��,r-r.rrr�test_decompressor_inputbuf_2s��z0BZ2DecompressorTest.test_decompressor_inputbuf_2cCstt�}g}|�|�|jdd�d��|�|�|jdd�d��|�|�|jdd���|�d�|�|j�dS)Nr0r^r1r)r
r%rr2rUr0r1r.rrr�test_decompressor_inputbuf_3/sz0BZ2DecompressorTest.test_decompressor_inputbuf_3cCs6t�}|�t|j|jd�|�t|j|jd�dS)N�)r
rM�	Exceptionrr4)r&r(rrr�test_failure?sz BZ2DecompressorTest.test_failurecCsHt�td�}t�}|�}td�D]}|��q|j|�|ddd�dS)N�gettotalrefcountrorrJ)Zdelta)rZ
get_attribute�sysr
r��__init__ZassertAlmostEqual)r&r7r(Zrefs_beforer�rrr�test_refleaks_in___init__Es
z-BZ2DecompressorTest.test_refleaks_in___init__N)r+r,r-rrrrrrrrrr rr*r/r2r3r6Z
refcount_testr:rrrrr�s"rc@s\eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�ZdS)�CompressDecompressTestcCs"t�|j�}|�t|�|j�dSr )r
r?r1rUr)r&rrrrr�Psz#CompressDecompressTest.testCompresscCst�d�}|�||j�dSr�)r
r?rUr3�r&rkrrrrTs
z.CompressDecompressTest.testCompressEmptyStringcCst�|j�}|�||j�dSr �r
rr2rUr1r<rrrrXsz%CompressDecompressTest.testDecompresscCst�d�}|�|d�dSr�)r
rrUr<rrr�testDecompressEmpty\s
z*CompressDecompressTest.testDecompressEmptycCst�|j�}|�|d�dSr�)r
rr3rUr<rrr�testDecompressToEmptyString`sz2CompressDecompressTest.testDecompressToEmptyStringcCs|�ttj|jdd��dS)Nr�)rMrOr
rr2r)rrr�testDecompressIncompletedsz/CompressDecompressTest.testDecompressIncompletecCs|�ttj|j�dSr )rMr[r
rr4r)rrr�testDecompressBadDatagsz,CompressDecompressTest.testDecompressBadDatacCs&t�|jd�}|�||jd�dSr�r=r<rrr�testDecompressMultiStreamjsz0CompressDecompressTest.testDecompressMultiStreamcCs$t�|j|j�}|�||j�dSr �r
rr2r4rUr1r<rrr�testDecompressTrailingJunknsz1CompressDecompressTest.testDecompressTrailingJunkcCs,t�|jd|j�}|�||jd�dSr�rCr<rrr�%testDecompressMultiStreamTrailingJunkrsz<CompressDecompressTest.testDecompressMultiStreamTrailingJunkN)
r+r,r-r�rrr>r?r@rArBrDrErrrrr;Osr;c@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<zsz
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)rB�xbrIr�abr��r	r#r<rCr1rrSrU�r&�moderF�	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��xrPrrKr�r�rKrLrrr�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�xtrT��encodingr�rtZatr�)r1�decode�replacer$�linesepr	r#r<rCrrSrU)r&rk�text_native_eolrMrFrNrrr�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)rPrIrT�t�utf-8rU)r	r#r<rM�FileExistsError)r&rMrVrFrrr�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)NrKrr�rWr^rU)r<rr2rUrSr1rX)r&rFrkrrr�test_fileobj�s��"�zOpenTest.test_fileobjcCst|�t|j|jd�|�t|j|jd�|jt|j|jddd�|jt|j|jddd�|jt|j|jddd	�dS)
NZwbtZxbtrr^rU�ignore)�errorsrR)�newline)rMrOr<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�rRrSz	utf-16-lerUrrW)r1rXrYr$rZr<r#rCrrSrU)r&rkr[rFrNrrr�
test_encoding�s��"�zOpenTest.test_encodingcCs�|�|jd��
}|�d�Wd�n1swY|j|jdddd��}|�|��d�Wd�dS1s:wYdS)NrBsfoo�barrWr�rb)rVrcZfoobar)r<r#rCrUrSr�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�rSr^rR)rVrdrW�
)r1rXr<r#rCrUr�)r&rkrFrrr�test_newline�s�"�zOpenTest.test_newlineN)r+r,r-r.r<rOrQr\r`rarerfrgrirrrrrFws
	
rFcCst��dSr )r�
reap_childrenrrrr�tearDownModule�srk�__main__)*�testrZtest.supportrrr�Zunittest�iorrr$r
r7r!r�rrrr�rrZtest.support.os_helperr	rar8�
import_moduler
rrr
rrZTestCaserrAr�rr;rFrkr+�mainrrrr�<module>sL
	4#3$(y�
© 2025 GrazzMean