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_bz2.cpython-38.opt-1.pyc
U

>��g��@s@ddlmZddlmZmZddlZddlmZmZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlmZddlZddlZe�d�ZddlmZmZmZdadd	�ZGd
d�dej�ZGdd
�d
e�ZGdd�de�ZGdd�de�Z Gdd�de�Z!Gdd�de�Z"dd�Z#e$dk�r<e#�dS)�)�support)�
bigmemtest�_4GN)�BytesIO�DEFAULT_BUFFER_SIZE)�unlink�bz2)�BZ2File�
BZ2Compressor�BZ2DecompressorcCs8tdkrtt�d��atr*tjdg|d�St�|�SdS)NZbunzip2)�input)�has_cmdline_bunzip2�bool�shutil�which�
subprocess�check_outputr�
decompress)�data�r�,/opt/cppython/lib/python3.8/test/test_bz2.py�ext_decompresss
rc@s�eZdZdZdddddddd	d
ddd
dddddddddgZd�e�ZdZdZdZ	dZ
ed�Ze
�
ej�e
�ej�e��d��D]@Zeed�� Ze
e�ee�e
d��7Z
W5QRXe
dkr~q�q~ejed d!�Zd"d#�Zd$d%�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�setUpOszBaseTest.setUpcCst|j�dSr)rr!�r$rrr�tearDownSszBaseTest.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#sJ�
&$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>dzS)|�BZ2FileTestzTest the BZ2File class.rrc	Cs6t|jd�� }|�|j|�|�|�W5QRXdS)N�wb)r:r!�writer0)r$�streams�suffix�frrr�createTempFileZszBZ2FileTest.createTempFilecCsp|�ttd�|�tttjd�|�tttjd�|�tttjd�|jtttjdd�|jtttjdd�dS)Ngw��/�^@�z�rxZrbtrr�
)�assertRaises�	TypeErrorr	�
ValueErrorr"�devnullr'rrr�testBadArgs_szBZ2FileTest.testBadArgsc	CsF|��t|j��*}|�t|jt��|�|��|j�W5QRXdSr�	rEr	r!rIrJ�read�float�assertEqualr/�r$�bz2frrr�testReadgszBZ2FileTest.testReadc	Cs8|jd|jd�t|j��}|�t|j�W5QRXdS)Nr�rBrC)rEr2r	r!rI�OSErrorrOrRrrr�testReadBadFilemszBZ2FileTest.testReadBadFilec	CsN|jdd�t|j��.}|�t|jt��|�|��|jd�W5QRXdS�N��rBrNrRrrr�testReadMultiStreamrszBZ2FileTest.testReadMultiStreamc	Csntj}t|j�t_zN|jdd�t|j��.}|�t|j	t
��|�|�	�|jd�W5QRXW5|t_XdSrX)
�_compression�BUFFER_SIZE�lenr0rEr	r!rIrJrOrPrQr/)r$Zbuffer_sizerSrrr�testReadMonkeyMultiStreamxs$z%BZ2FileTest.testReadMonkeyMultiStreamc	Cs:|j|jd�t|j��}|�|��|j�W5QRXdS)N)rC�rEr2r	r!rQrOr/rRrrr�testReadTrailingJunk�sz BZ2FileTest.testReadTrailingJunkc	Cs@|jd|jd�t|j��}|�|��|jd�W5QRXdS)NrYrUr`rRrrr�testReadMultiStreamTrailingJunk�sz+BZ2FileTest.testReadMultiStreamTrailingJunkc	CsF|��t|j��*}|�t|jt��|�|�d�d�W5QRXdS)Nrr)rEr	r!rIrJrOrPrQrRrrr�	testRead0�szBZ2FileTest.testRead0c	CsN|��t|j��2}d}|�d�}|s(q2||7}q|�||j�W5QRXdS)NrrH�rEr	r!rOrQr/�r$rS�text�strrrr�testReadChunk10�s

zBZ2FileTest.testReadChunk10c	CsV|jdd�t|j��6}d}|�d�}|s,q6||7}q|�||jd�W5QRXdS)NrYrZrrHrdrerrr�testReadChunk10MultiStream�s

z&BZ2FileTest.testReadChunk10MultiStreamc	Cs>|��t|j��"}|�|�d�|jdd��W5QRXdS)N�d)rEr	r!rQrOr/rRrrr�testRead100�szBZ2FileTest.testRead100c	Cs^|��t|j��B}|��}|�t|�d�|�|j�|��|�	|�
�|j�W5QRXdS�Nr)rEr	r!�peek�assertNotEqualr^�
assertTruer/�
startswithrQrO)r$rS�pdatarrr�testPeek�szBZ2FileTest.testPeekc	Cs�|��t|j���}d}t|�}|�|�|�|�|�||jd|��t|j�|}tt|j��}|�|�|�|�|�|d|�|j|d��W5QRXdS)N�)rEr	r!r3rQr;r/r^)r$rS�n�brrr�testReadInto�szBZ2FileTest.testReadIntoc	CsN|��t|j��2}|�t|jd�|jD]}|�|��|�q*W5QRXdSr�rEr	r!rIrJ�readliner-rQ�r$rS�linerrr�testReadLine�s

zBZ2FileTest.testReadLinec	CsV|jdd�t|j��6}|�t|jd�|jdD]}|�|��|�q2W5QRXdSrXrwryrrr�testReadLineMultiStream�s
z#BZ2FileTest.testReadLineMultiStreamc	CsD|��t|j��(}|�t|jd�|�|��|j�W5QRXdSr�rEr	r!rIrJ�	readlinesrQr-rRrrr�
testReadLines�szBZ2FileTest.testReadLinesc	CsL|jdd�t|j��,}|�t|jd�|�|��|jd�W5QRXdSrXr}rRrrr�testReadLinesMultiStream�sz$BZ2FileTest.testReadLinesMultiStreamc	Cs8|��t|j��}|�tt|��|j�W5QRXdSr�rEr	r!rQ�list�iterr-rRrrr�testIterator�szBZ2FileTest.testIteratorc	Cs@|jdd�t|j�� }|�tt|��|jd�W5QRXdSrXr�rRrrr�testIteratorMultiStream�sz#BZ2FileTest.testIteratorMultiStreamcCs:|��t|j�}|��|�tt|�|�t|j�dSr)rEr	r!r#rIrK�nextr~rRrrr�testClosedIteratorDeadlock�s

z&BZ2FileTest.testClosedIteratorDeadlockc	Csdt|jd�� }|�t|j�|�|j�W5QRXt|jd��}|�t|�	��|j�W5QRXdS)N�wr�
r	r!rIrJrAr/r:rQrrO�r$rSrDrrr�	testWrite�s
zBZ2FileTest.testWritec	Cs�t|jd��>}d}|j|d|dd�}|s2qF|�|�|d7}qW5QRXt|jd��}|�t|���|j�W5QRXdS)Nr�rrHrr)r	r!r/rAr:rQrrO)r$rSrtrgrDrrr�testWriteChunks10�s
zBZ2FileTest.testWriteChunks10c	Csdtj|jdd�}t|jddd��}|�|j�W5QRXt|jd��}|�|��|�W5QRXdS)NrYrr�r)	rr=r/r	r!rAr:rQrO)r$ZexpectedrSrDrrr� testWriteNonDefaultCompressLevels
z,BZ2FileTest.testWriteNonDefaultCompressLevelc	Csvt|jd�� }|�t|j�|�|j�W5QRX|�t|jdg�t|jd��}|�t	|�
��|j�W5QRXdS)Nr��ar)r	r!rIrJ�
writelinesr-rKr:rQrrOr/r�rrr�testWriteLinesszBZ2FileTest.testWriteLinesc	Cs`t|jd��}|�d�W5QRXt|jd��(}|�t|jd�|�t|jdg�W5QRXdS)Nr�sabc�r�a)r	r!rArIrVr�rRrrr�testWriteMethodsOnReadOnlyFiles
z*BZ2FileTest.testWriteMethodsOnReadOnlyFilec	Cs�t|jd�� }|�t|j�|�|j�W5QRXt|jd�� }|�t|j�|�|j�W5QRXt|jd�� }|�t|�	��|jd�W5QRXdS)Nr�r�r�r�r�rrr�
testAppendszBZ2FileTest.testAppendc	CsT|��t|j��8}|�t|j�|�d�|�|��|jdd��W5QRXdS�N�)	rEr	r!rIrJ�seekrQrOr/rRrrr�testSeekForward's

zBZ2FileTest.testSeekForwardc	Csb|jdd�t|j��B}|�t|j�|�t|j�d�|�|�	�|jdd��W5QRXdS)Nr�rZr�)
rEr	r!rIrJr�r^r/rQrOrRrrr�testSeekForwardAcrossStreams.s
z(BZ2FileTest.testSeekForwardAcrossStreamsc	CsR|��t|j��6}|�d�|�dd�|�|��|jdd��W5QRXdS�Ni��j���ri^)rEr	r!rOr�rQr/rRrrr�testSeekBackwards5s

zBZ2FileTest.testSeekBackwardsc	Cs||jdd�t|j��\}t|j�d}|dkrB|t|�|��8}q&|�dd�|�|��|jdd�|j�W5QRXdS)Nr�rZrjrr�ri���)rEr	r!r^r/rOr�rQ)r$rSZreadtorrr�testSeekBackwardsAcrossStreams<sz*BZ2FileTest.testSeekBackwardsAcrossStreamsc	CsR|��t|j��6}|�dd�|�|��|jt|j�dd��W5QRXdS)Nr�r�r�)rEr	r!r�rQrOr/r^rRrrr�testSeekBackwardsFromEndEsz$BZ2FileTest.testSeekBackwardsFromEndc	CsP|jdd�t|j��0}|�dd�|�|��|jddd��W5QRXdS)Nr�rZi���)rEr	r!r�rQrOr/rRrrr�%testSeekBackwardsFromEndAcrossStreamsKsz1BZ2FileTest.testSeekBackwardsFromEndAcrossStreamsc	CsR|��t|j��6}|�d�|�|��t|j��|�|��d�W5QRXdS�N��Ir�	rEr	r!r�rQ�tellr^r/rOrRrrr�testSeekPostEndQs

zBZ2FileTest.testSeekPostEndc	CsZ|jdd�t|j��:}|�d�|�|��t|j�d�|�|��d�W5QRXdS�NrYrZr�rr�rRrrr�testSeekPostEndMultiStreamXs

z&BZ2FileTest.testSeekPostEndMultiStreamc	Cs\|��t|j��@}|�d�|�d�|�|��t|j��|�|��d�W5QRXdSr�r�rRrrr�testSeekPostEndTwice_s

z BZ2FileTest.testSeekPostEndTwicec	Csd|jdd�t|j��D}|�d�|�d�|�|��t|j�d�|�|��d�W5QRXdSr�r�rRrrr�testSeekPostEndTwiceMultiStreamgs

z+BZ2FileTest.testSeekPostEndTwiceMultiStreamc	CsN|��t|j��2}|�d�|�|��d�|�|��|j�W5QRXdS)Nr�r�rEr	r!r�rQr�rOr/rRrrr�testSeekPreStartos

zBZ2FileTest.testSeekPreStartc	CsV|jdd�t|j��6}|�d�|�|��d�|�|��|jd�W5QRXdS)Nr�rZr�rr�rRrrr�testSeekPreStartMultiStreamvs

z'BZ2FileTest.testSeekPreStartMultiStreamc	Cs^|��t|jd��2}t|�}z|�|��|���W5|��XW5QRX|�t|j�dS)Nr)	rEr:r!r	r#rQ�filenorIrK)r$ZrawfrSrrr�
testFileno}szBZ2FileTest.testFilenocCs�tt|j��}z(|�|���|��|�|���W5|��X|�t|j�tt�d�}z|�	|���W5|��X|�t|j�t|j�}dd�|_t|�}z|�	|���W5|��X|�t|j�dS)Nr�cSsdS)NFrrrrr�<lambda>�rz*BZ2FileTest.testSeekable.<locals>.<lambda>)
r	rr0r#ro�seekablerOrIrK�assertFalse)r$rS�srcrrr�testSeekable�s&




zBZ2FileTest.testSeekablecCs�tt|j��}z(|�|���|��|�|���W5|��X|�t|j�tt�d�}z|�	|���W5|��X|�t|j�dS�Nr�)
r	rr0r#ro�readablerOrIrKr�rRrrr�testReadable�s

zBZ2FileTest.testReadablecCs�tt|j��}z(|�|���|��|�|���W5|��X|�t|j�tt�d�}z|�	|���W5|��X|�t|j�dSr�)
r	rr0r#r��writablerOrIrKrorRrrr�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)rIrVr	r'rrr�testOpenNonexistent�szBZ2FileTest.testOpenNonexistentc	Cs�d}t|jd��}|�|�W5QRXt|j��}|��}W5QRX|�|dg�t|j��}t|���}W5QRX|�|dg�dS)Ns,BZh91AY&SY�b�]� !�h3M<]��BCe�%tr@sTest)r:r!rAr	r~rQr�)r$rrDrS�linesZxlinesrrr�testReadlinesNoNewline�sz"BZ2FileTest.testReadlinesNoNewlinec	Cs�d}t|jd��}|�d�W5QRXt|jd�}|��z|�W5QRXWntk
rbYnX|�d�z$t|jd��}ddW5QRXWntk
r�YnX|�d�dS)Nr@sxxxrz4__enter__ on a closed file didn't raise an exceptionrrz1/0 didn't raise an exception)r	r!rAr#rKZfail�ZeroDivisionError�r$rDrrr�testContextProtocol�s"
zBZ2FileTest.testContextProtocolc
sbdd�d}t|jd��@���fdd���fdd�t|�D�}t�|��W5QRXW5QRXdS)	N�1irHr@cstd�D]}����qdS�NrY)r�rA)r�)rrDrr�comp�sz'BZ2FileTest.testThreading.<locals>.compcsg|]}tj�d��qS))�target)�	threading�Thread)�.0r�)r�rr�
<listcomp>�sz-BZ2FileTest.testThreading.<locals>.<listcomp>)r	r!r�rZ
start_threads)r$Znthreads�threadsr)r�rrDr�
testThreading�szBZ2FileTest.testThreadingc	Cs|��t|jd�}|d}t|j��H}|�|�|�t|�|jd|d��|�|��|j|d��W5QRXt|j��:}|�	�|�t|�|jd�|�|�	�|jd�W5QRXt|j��,}|�
�|�tt|�|�|�
�g�W5QRXdS)Nrr�r)
rEr^r-r	r!rOrQr�r/rxr~rI�
StopIteration)r$ZlinelenZhalflenrSrrr�testMixedIterationAndReads�s
$ z&BZ2FileTest.testMixedIterationAndReadsc	Cszd}d}t|jd��}|�|�W5QRXt|jd��}|�|�W5QRXt|j��}|�|��||�W5QRXdS)Ns�foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoos�barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarr�r�)r	r!rArQrO)r$Zdata1Zdata2rSrrr�testMultiStreamOrdering
sz#BZ2FileTest.testMultiStreamOrderingc	Cs�|j}z|�d�}Wntk
r2|�d�YnXt|d��}|�|j�W5QRXt|d��}|�|��|j�W5QRXt|d��}|�|��|j�W5QRXdS)N�asciiz%Temporary file name needs to be ASCIIr@r)	r!�encode�UnicodeEncodeErrorZskipTestr	rAr0rQrO)r$Zstr_filenameZbytes_filenamerDrrr�testOpenBytesFilenamesz!BZ2FileTest.testOpenBytesFilenamec	CsZt�|j�}t|d��}|�|j�W5QRXt|d��}|�|��|j�W5QRXdS)Nr@r)�pathlib�Pathr!r	rAr0rQrO)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	rrQrOr�assertLessEqual�_buffer�rawr�)r$Zbomb�decompZ
max_decomprrr�testDecompressLimited*s�z!BZ2FileTest.testDecompressLimitedc
Cs^t|j��J}t|��*}|�t|jt��|�|��|j�W5QRX|�	|j
�W5QRXdSr)rr0r	rIrJrOrPrQr/r��closed�r$�biorSrrr�testReadBytesIO8s

zBZ2FileTest.testReadBytesIOc
Csjt|j��V}t|��B}|��}|�t|�d�|�|j�|��|�	|�
�|j�W5QRXW5QRXdSrl)rr0r	rmrnr^ror/rprQrO)r$r�rSrqrrr�testPeekBytesIO?s
zBZ2FileTest.testPeekBytesIOc
Csht��X}t|d�� }|�t|j�|�|j�W5QRX|�t|���|j�|�	|j
�W5QRXdSr�)rr	rIrJrAr/rQr�getvaluer�r�r�rrr�testWriteBytesIOGszBZ2FileTest.testWriteBytesIOc
Cs`t|j��L}t|��8}|�t|j�|�d�|�|��|jdd��W5QRXW5QRXdSr�)	rr0r	rIrJr�rQrOr/r�rrr�testSeekForwardBytesIOOs


z"BZ2FileTest.testSeekForwardBytesIOc
Cs^t|j��J}t|��6}|�d�|�dd�|�|��|jdd��W5QRXW5QRXdSr�)rr0r	rOr�rQr/r�rrr�testSeekBackwardsBytesIOVs


z$BZ2FileTest.testSeekBackwardsBytesIOc
Cs�|jdd�}tt|���}|�t|j�W5QRXtt|���0}|�|�t|j��|j�|�t|jd�W5QRXt	d�D]4}tt|d|����}|�t|jd�W5QRXq~dS)N���r�)
r0r	rrI�EOFErrorrOrQr^r/r�)r$Z	truncatedrDr�rrr�test_read_truncated]szBZ2FileTest.test_read_truncatedN)rr)?r)r*r+r,rErMrTrWr[r_rarbrcrhrirkrrrvr{r|rr�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?Wsx

	

	
r?c@sJeZdZdd�Zdd�Zdd�Zejee	ddd	�d
d���Z
dd
�ZdS)�BZ2CompressorTestcCsBt�}|�t|j�|�|j�}||��7}|�t|�|j�dSr)r
rIrJr=r/�flushrQr�r$�bz2crrrr�testCompressls
zBZ2CompressorTest.testCompresscCs.t�}|�d�}||��7}|�||j�dS�Nr)r
r=r�rQr1r�rrr�testCompressEmptyStringss
z)BZ2CompressorTest.testCompressEmptyStringcCsht�}d}d}|j|d|dd�}|s.qF||�|�7}|d7}q||��7}|�t|�|j�dS)NrrrHr)r
r/r=r�rQr)r$r�rtrrgrrr�testCompressChunks10ys
z&BZ2CompressorTest.testCompressChunks10rjr���sizeZmemusecCspt�}d|}z|�|�}||��7}W5d}Xt�|�}z*|�t|�|�|�t|�d��d�W5d}XdS)N�xr)r
r=r�rrrQr^�strip)r$r�r�r�
compressedrrr�testCompress4G�s

z BZ2CompressorTest.testCompress4Gc
Cs<ttjd�D](}|�t��t�t�|�W5QRXqdS�Nr)r��pickle�HIGHEST_PROTOCOLrIrJ�dumpsr
�r$�protorrr�
testPickle�szBZ2CompressorTest.testPickleN)r)r*r+r�r�r�r�skip_if_pgo_taskrrr�rrrrrr�ks
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�*)rIrJrr'rrr�test_Constructor�sz$BZ2DecompressorTest.test_ConstructorcCs2t�}|�t|j�|�|j�}|�||j�dSr)rrIrJrr0rQr/�r$�bz2drfrrr�testDecompress�sz"BZ2DecompressorTest.testDecompresscCsXt�}d}d}|j|d|dd�}|s.qF||�|�7}|d7}q|�||j�dS)NrrrHr)rr0rrQr/)r$rrfrtrgrrr�testDecompressChunks10�s
z*BZ2DecompressorTest.testDecompressChunks10cCs:t�}d}|�|j|�}|�||j�|�|j|�dS)Nsthis is unused data)rrr0rQr/�unused_data)r$rr	rfrrr�testDecompressUnusedData�s
z,BZ2DecompressorTest.testDecompressUnusedDatacCs6t�}|�|j�}|�t|jd�|�t|jd�dS)Nsanythingr)rrr0rIr�rrrr�testEOFError�sz BZ2DecompressorTest.testEOFErrorrjgffffff
@r�cCsjd}t�|d��|d�}z<|||d}t�|�}t�}|�|�}|�||k�W5d}d}d}XdS)Ni���littler)�random�getrandbits�to_bytesrr=rrro)r$r��	blocksize�blockrr�Zdecompressedrrrr�testDecompress4G�s

z$BZ2DecompressorTest.testDecompress4Gc
Cs<ttjd�D](}|�t��t�t�|�W5QRXqdSr�)r�r�r�rIrJr�rr�rrrr�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)Nrj�@��
max_length���r)
rr^r>�appendrr��needs_inputrQr��eofr.r4r	)r$�bzdr�outZlen_rrr�testDecompressorChunksMaxsize�s,��
z1BZ2DecompressorTest.testDecompressorChunksMaxsizecCs�t�}g}|�|j|jdd�dd�d�|�|�dd��|�|�|jdd�d��|�|�|jdd���|�d�|�|j�dS)Nrjrrrr��i��rrQrr0rr.r/�r$rrrrr�test_decompressor_inputbuf_1�s��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_2s��z0BZ2DecompressorTest.test_decompressor_inputbuf_2cCstt�}g}|�|�|jdd�d��|�|�|jdd�d��|�|�|jdd���|�d�|�|j�dS)Nr#rYr$r)rrrr0rQr.r/r!rrr�test_decompressor_inputbuf_3!sz0BZ2DecompressorTest.test_decompressor_inputbuf_3cCs6t�}|�t|j|jd�|�t|j|jd�dS)N�)rrI�	Exceptionrr2)r$rrrr�test_failure1sz BZ2DecompressorTest.test_failurecCsHt�td�}t�}|�}td�D]}|��q |j|�|ddd�dS)N�gettotalrefcountrjrrH)Zdelta)rZ
get_attribute�sysrr��__init__ZassertAlmostEqual)r$r*rZrefs_beforer�rrr�test_refleaks_in___init__7s
z-BZ2DecompressorTest.test_refleaks_in___init__N)r)r*r+rrrr
rrrrrrrrr"r%r&r)Z
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)rr=r/rQr)r$rrrrr�Bsz#CompressDecompressTest.testCompresscCst�d�}|�||j�dSr�)rr=rQr1�r$rfrrrr�Fs
z.CompressDecompressTest.testCompressEmptyStringcCst�|j�}|�||j�dSr�rrr0rQr/r/rrrrJsz%CompressDecompressTest.testDecompresscCst�d�}|�|d�dSr�)rrrQr/rrr�testDecompressEmptyNs
z*CompressDecompressTest.testDecompressEmptycCst�|j�}|�|d�dSr�)rrr1rQr/rrr�testDecompressToEmptyStringRsz2CompressDecompressTest.testDecompressToEmptyStringcCs|�ttj|jdd��dS)Nr�)rIrKrrr0r'rrr�testDecompressIncompleteVsz/CompressDecompressTest.testDecompressIncompletecCs|�ttj|j�dSr)rIrVrrr2r'rrr�testDecompressBadDataYsz,CompressDecompressTest.testDecompressBadDatacCs&t�|jd�}|�||jd�dSr�r0r/rrr�testDecompressMultiStream\sz0CompressDecompressTest.testDecompressMultiStreamcCs$t�|j|j�}|�||j�dSr�rrr0r2rQr/r/rrr�testDecompressTrailingJunk`sz1CompressDecompressTest.testDecompressTrailingJunkcCs,t�|jd|j�}|�||jd�dSr�r6r/rrr�%testDecompressMultiStreamTrailingJunkdsz<CompressDecompressTest.testDecompressMultiStreamTrailingJunkN)
r)r*r+r�r�rr1r2r3r4r5r7r8rrrrr.Asr.c@s`eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�OpenTestzTest the open function.cOstj||�Sr)rr:)r$�args�kwargsrrrr:lsz
OpenTest.openc
CsdD]�}|dkrt|j�|�|j|��}|�|j�W5QRXt|jd�� }t|���}|�||j�W5QRX|�|jd��}|�|��|j�W5QRX|�|jd��}|�|j�W5QRXt|jd��$}t|���}|�||jd�W5QRXqdS)N)r@�xbr<r�abr��rr!r:rAr/rrOrQ�r$�moderD�	file_datarrr�test_binary_modesos
zOpenTest.test_binary_modesc
CsdD]�}|dkrt|j�|�|j|��}|�|j�W5QRXt|jd�� }t|���}|�||j�W5QRX|�|jd��}|�|��|j�W5QRX|�|jd��}|�|j�W5QRXt|jd��$}t|���}|�||jd�W5QRXqdS)N)r��xrCrr�r�r�r>r?rrr�test_implicit_binary_modes�s
z#OpenTest.test_implicit_binary_modesc
Cs|j�d�}|�dtj�}dD]�}|dkr4t|j�|�|j|��}|�|�W5QRXt|jd��$}t	|�
���d�}|�||�W5QRX|�|jd��}|�|�
�|�W5QRX|�|jd��}|�|�W5QRXt|jd��(}t	|�
���d�}|�||d�W5QRXqdS)	Nr��
)�wt�xtrGr�rtZatr�)r/�decode�replacer"�lineseprr!r:rArrOrQ)r$rf�text_native_eolr@rDrArrr�test_text_modes�s"
zOpenTest.test_text_modescCsbdD]X}t|j�|�|j|��}W5QRX|�t�� |�|j|��}W5QRXW5QRXqdS)N)rCr<rG)rr!r:rI�FileExistsError)r$r@rDrrr�test_x_mode�s

zOpenTest.test_x_modec	Cs�|�t|j�d��}|�|��|j�W5QRX|�t|j�d��}|�|��|j�W5QRX|j�d�}|�t|j�d��}|�|��|�W5QRXdS)Nr�rr�rH)r:rr0rQrOr/rI)r$rDrfrrr�test_fileobj�szOpenTest.test_fileobjcCst|�t|j|jd�|�t|j|jd�|jt|j|jddd�|jt|j|jddd�|jt|j|jddd	�dS)
NZwbtZxbtrzutf-8��encoding�ignore)�errorsrE��newline)rIrKr:r!r'rrr�test_bad_params�s8�����zOpenTest.test_bad_paramsc	Cs�|j�d�}|�dtj�}|j|jddd��}|�|�W5QRXt|jd��$}t|�	���d�}|�
||�W5QRX|j|jddd��}|�
|�	�|�W5QRXdS)Nr�rErFz	utf-16-lerQrrH)r/rIrJr"rKr:r!rArrOrQ)r$rfrLrDrArrr�
test_encoding�szOpenTest.test_encodingc	CsX|�|jd��}|�d�W5QRX|j|jdddd��}|�|��d�W5QRXdS)Nr@sfoo�barrHr�rS)rRrTZfoobar)r:r!rArQrOr�rrr�test_encoding_error_handler�s
z$OpenTest.test_encoding_error_handlerc	Csh|j�d�}|j|jddd��}|�|�W5QRX|j|jddd��}|�|��|g�W5QRXdS)Nr�rFrErUrH�
)r/rIr:r!rArQr~)r$rfrDrrr�test_newline�s
zOpenTest.test_newlineN)r)r*r+r,r:rBrDrMrOrPrWrXrYr[rrrrr9is		
r9cCst�ttttt�t��dSr)rZrun_unittestr?r�rr.r9�
reap_childrenrrrr�	test_main�s�r]�__main__)%�testrZtest.supportrrZunittest�iorrr"r�r5rr�rrrr�rr\r+�
import_modulerr	r
rr
rZTestCaserr?r�rr.r9r]r)rrrr�<module>sB
	43$(x



F1le Man4ger