403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.141
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_bz2.cpython-313.pyc
�

��iw�����SSKJr SSKJrJr SSKrSSKrSSKrSSKJrJ	r	 SSK
r
SSKrSSKrSSK
r
SSKrSSKrSSKrSSKrSSKJr SSKJr SSKJrJr SSKrSSKr\R2"S5rSS	KJrJrJr SqS
r"SS\R@5r!"S
S\!5r""SS\!5r#"SS\!5r$"SS\!5r%"SS\!5r&Sr'\(S:Xa\RR"5 gg)�)�support)�
bigmemtest�_4GN)�BytesIO�DEFAULT_BUFFER_SIZE)�
import_helper)�threading_helper)�unlink�FakePath�bz2)�BZ2File�
BZ2Compressor�BZ2Decompressorc��[c[[R"S55q[(a[R
"S/US9$[RU5$)N�bunzip2)�input)�has_cmdline_bunzip2�bool�shutil�which�
subprocess�check_outputr�
decompress)�datas �"C:\Python313\\Lib\test\test_bz2.py�ext_decompressrsF���"�"�6�<�<�	�#:�;�����&�&�	�{�$�?�?��~�~�d�#�#�c	�<�\rSrSrSr/SQrSR
\5rSrSr	Sr
\RS5r
S	rSrSr\"S
5r\R&"\R*R
\R,"\R*R/\55S55Hhr\"\S5r\R95r\\R=\5-
r\\-
rS
S
S
5 \R?\
5S
:�dMU\\RA5-
r O Sr!Sr"Sr#g
!,(df   NE=f)�BaseTest�&zBase 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
rs�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 file�314159265359r�z*.py�rbNc�h�[R"5uol[R"U5 g�N)�tempfile�mkstemp�filename�os�close)�self�fds  r�setUp�BaseTest.setUp\s ��$�,�,�.���M�
����rc�.�[UR5 gr%)r
r(�r+s r�tearDown�BaseTest.tearDown`s���t�}�}�r)r()$�__name__�
__module__�__qualname__�__firstlineno__�__doc__�
TEXT_LINES�join�TEXT�DATA�
EMPTY_DATA�BAD_DATA�bytes�fromhex�bz2_block_magic�	test_size�BIG_TEXT�BIG_DATAr�
compressor�globr)�path�escape�dirname�__file__�fname�open�fh�readr�compress�count�flushr-r1�__static_attributes__�rrrr&s���
�J�.�8�8�J��D�^�D�4�J�0�H��m�m�N�3�O��I��H��H��q�!�J����2�7�7�<�<����B�G�G�O�O�H�4M�(N�PV�W�X��
�%��
�"��7�7�9�D��
�+�+�D�1�1�H����H���>�>�/�*�Q�.��
�(�(�*�*�H��Y����
�s�$*D
�
D	rc���\rSrSrSrSESjrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0S/r1S0r2S1r3\4Rj"5S25r6S3r7S4r8S5r9S6r:S7r;S8r<S9r=S:r>S;r?S<r@S=rAS>rBS?rCS@rDSArESBrFSCrGgD)F�BZ2FileTest�dzTest the BZ2File class.c���[URS5nURURU-5 URU5 SSS5 g!,(df   g=f)N�wb)rKr(�writer;)r+�streams�suffix�fs    r�createTempFile�BZ2FileTest.createTempFilegs>��
�$�-�-��
&�!�
�G�G�D�I�I��'�(�
�G�G�F�O�'�
&�
&�s�0A�
Ac�,�UR[[S5 UR[[[R
S5 UR[[[R
S5 UR[[[R
S5 UR[[[R
SS9 UR[[[R
SS9 UR[[[R
SS	5 g)
Ngw��/�^@�z�rx�rbtr��
compresslevel�
�r�)�assertRaises�	TypeErrorr
�
ValueErrorr)�devnullr0s r�testBadArgs�BZ2FileTest.testBadArgsls������)�W�g�6����*�g�r�z�z�3�?����*�g�r�z�z�4�@����*�g�r�z�z�5�A����*�g�r�z�z���K����*�g�r�z�z���L�	
���)�W�b�j�j�#�q�Arc�(�UR5 [UR5nUR[UR
[
55 URUR5UR5 SSS5 g!,(df   g=fr%�	r\r
r(rgrhrM�float�assertEqualr:�r+�bz2fs  r�testRead�BZ2FileTest.testReadwsZ������
�T�]�]�
#�t����i����E�G�<����T�Y�Y�[�$�)�)�4�$�
#�
#�s�AB�
Bc���URSURS9 [UR5nUR	[
UR5 SSS5 g!,(df   g=f)Nr�rYrZ)r\r=r
r(rg�OSErrorrMrqs  r�testReadBadFile�BZ2FileTest.testReadBadFile}sG�����A�d�m�m��<�
�T�]�]�
#�t����g�t�y�y�1�$�
#�
#�s�!A�
A(c�,�URSS9 [UR5nUR[UR
[
55 URUR5URS-5 SSS5 g!,(df   g=f�N��rYrnrqs  r�testReadMultiStream�BZ2FileTest.testReadMultiStream�sc�����A��&�
�T�]�]�
#�t����i����E�G�<����T�Y�Y�[�$�)�)�a�-�8�$�
#�
#�s�AB�
Bc��[Rn[UR5[lUR	SS9 [UR5nUR[UR[55 URUR5URS-5 SSS5 U[lg!,(df   N=f!U[lf=fr{)
�_compression�BUFFER_SIZE�lenr;r\r
r(rgrhrMrorpr:)r+�buffer_sizerrs   r�testReadMonkeyMultiStream�%BZ2FileTest.testReadMonkeyMultiStream�s���#�.�.��#&�t�y�y�>�� �	3������*�����'�4��!�!�)�T�Y�Y���@�� � �����d�i�i�!�m�<�(�(3�L�$�	(�'��(3�L�$�s$�$C�AB?�+C�?
C
�	C�
Cc���URURS9 [UR5nUR	UR5UR5 SSS5 g!,(df   g=f)N)rZ�r\r=r
r(rprMr:rqs  r�testReadTrailingJunk� BZ2FileTest.testReadTrailingJunk�sK�����4�=�=��1�
�T�]�]�
#�t����T�Y�Y�[�$�)�)�4�$�
#�
#�s�+A#�#
A1c���URSURS9 [UR5nUR	UR5URS-5 SSS5 g!,(df   g=f)Nr|rvr�rqs  r�testReadMultiStreamTrailingJunk�+BZ2FileTest.testReadMultiStreamTrailingJunk�sQ�����A�d�m�m��<�
�T�]�]�
#�t����T�Y�Y�[�$�)�)�a�-�8�$�
#�
#�s�.A'�'
A5c��UR5 [UR5nUR[UR
[
55 URURS5S5 SSS5 g!,(df   g=f)Nrr)r\r
r(rgrhrMrorprqs  r�	testRead0�BZ2FileTest.testRead0�sX������
�T�]�]�
#�t����i����E�G�<����T�Y�Y�q�\�3�/�$�
#�
#�s�AA:�:
Bc��UR5 [UR5nSnURS5nU(dOX#-
nMUR	X R
5 SSS5 g!,(df   g=f)Nrrd�r\r
r(rMrpr:�r+rr�text�strs    r�testReadChunk10�BZ2FileTest.testReadChunk10�sc������
�T�]�]�
#�t��D���i�i��m�������	�

���T�9�9�-�$�
#�
#�s�>A-�-
A;c��URSS9 [UR5nSnURS5nU(dOX#-
nMUR	X R
S-5 SSS5 g!,(df   g=f)Nr|r}rrdr�r�s    r�testReadChunk10MultiStream�&BZ2FileTest.testReadChunk10MultiStream�sl�����A��&�
�T�]�]�
#�t��D���i�i��m�������	�

���T�9�9�q�=�1�$�
#�
#�s�AA/�/
A=c���UR5 [UR5nURUR	S5UR
SS5 SSS5 g!,(df   g=f)NrU)r\r
r(rprMr:rqs  r�testRead100�BZ2FileTest.testRead100�sJ������
�T�]�]�
#�t����T�Y�Y�s�^�T�Y�Y�t��_�=�$�
#�
#���/A�
A,c��UR5 [UR5nUR5nUR	[U5S5 UR
URRU55 URUR5UR5 SSS5 g!,(df   g=f�Nr)r\r
r(�peek�assertNotEqualr��
assertTruer:�
startswithrprM)r+rr�pdatas   r�testPeek�BZ2FileTest.testPeek�s|������
�T�]�]�
#�t��I�I�K�E�����E�
�A�.��O�O�D�I�I�0�0��7�8����T�Y�Y�[�$�)�)�4�	$�
#�
#�s�BB/�/
B=c��UR5 [UR5nSn[U5nUR	URU5U5 UR	X0RSU5 [UR5U-
n[[UR55nUR	URU5U5 UR	USUURU*S5 SSS5 g!,(df   g=f)N�)r\r
r(�	bytearrayrp�readintor:r�)r+rr�n�bs    r�testReadInto�BZ2FileTest.testReadInto�s�������
�T�]�]�
#�t��A��!��A����T�]�]�1�-�q�1����Q�	�	�"�1�
�.��D�I�I���"�A��#�d�i�i�.�)�A����T�]�]�1�-�q�1����Q�r��U�D�I�I�q�b�c�N�3�$�
#�
#�s�CC6�6
Dc�*�UR5 [UR5nUR[UR
S5 URH#nURUR5U5 M% SSS5 g!,(df   g=fr%�r\r
r(rgrh�readliner8rp�r+rr�lines   r�testReadLine�BZ2FileTest.testReadLine�sb������
�T�]�]�
#�t����i�����=������ � �����$�7�(�$�
#�
#�s�AB�
Bc�.�URSS9 [UR5nUR[UR
S5 URS-H#nURUR5U5 M% SSS5 g!,(df   g=fr{r�r�s   r�testReadLineMultiStream�#BZ2FileTest.testReadLineMultiStream�sl�����A��&�
�T�]�]�
#�t����i�����=����!�+��� � �����$�7�,�$�
#�
#�s�AB�
Bc��UR5 [UR5nUR[UR
S5 UR
UR5UR5 SSS5 g!,(df   g=fr%�r\r
r(rgrh�	readlinesrpr8rqs  r�
testReadLines�BZ2FileTest.testReadLines�sY������
�T�]�]�
#�t����i�����>����T�^�^�-�t���?�$�
#�
#�s�AA;�;
B	c��URSS9 [UR5nUR[UR
S5 UR
UR5URS-5 SSS5 g!,(df   g=fr{r�rqs  r�testReadLinesMultiStream�$BZ2FileTest.testReadLinesMultiStream�sc�����A��&�
�T�]�]�
#�t����i�����>����T�^�^�-�t����/B�C�$�
#�
#�s�AA=�=
Bc���UR5 [UR5nUR[	[U55UR5 SSS5 g!,(df   g=fr%�r\r
r(rp�list�iterr8rqs  r�testIterator�BZ2FileTest.testIterator�sE������
�T�]�]�
#�t����T�$�t�*�-�t���?�$�
#�
#�r�c���URSS9 [UR5nUR[	[U55URS-5 SSS5 g!,(df   g=fr{r�rqs  r�testIteratorMultiStream�#BZ2FileTest.testIteratorMultiStream�sO�����A��&�
�T�]�]�
#�t����T�$�t�*�-�t����/B�C�$�
#�
#�s�2A � 
A.c���UR5 [UR5nUR5 UR	[
[U5 UR	[
UR5 gr%)r\r
r(r*rgri�nextr�rqs  r�testClosedIteratorDeadlock�&BZ2FileTest.testClosedIteratorDeadlock�sK�������t�}�}�%���
�
�����*�d�D�1����*�d�n�n�5rc��[URS5nUR[UR5 UR	UR
5 SSS5 [
URS5nUR[UR55UR
5 SSS5 g!,(df   Na=f!,(df   g=f)N�wr#�
r
r(rgrhrXr:rKrprrM�r+rrr[s   r�	testWrite�BZ2FileTest.testWrites���
�T�]�]�C�
(�D����i����4��J�J�t�y�y�!�)��$�-�-��
&�!����^�A�F�F�H�5�t�y�y�A�'�
&�)�
(��'�
&���<B.�14B?�.
B<�?
C
c��[URS5nSnURUS-US-S-nU(dOURU5 US-
nM8SSS5 [	URS5nUR[
UR55UR5 SSS5 g!,(df   Na=f!,(df   g=f)Nr�rrdr"r#)r
r(r:rXrKrprrM)r+rrr�r�r[s     r�testWriteChunks10�BZ2FileTest.testWriteChunks10s���
�T�]�]�C�
(�D��A���i�i��"��a��c�2�X�.�����
�
�3���Q����)��$�-�-��
&�!����^�A�F�F�H�5�t�y�y�A�'�
&�)�
(��'�
&�r�c�t�[RURSS9n[URSSS9nURUR5 SSS5 [
URS5nURUR5U5 SSS5 g!,(df   NN=f!,(df   g=f)Nr|rbr�r#)	rrNr:r
r(rXrKrprM)r+�expectedrrr[s    r� testWriteNonDefaultCompressLevel�,BZ2FileTest.testWriteNonDefaultCompressLevels}���<�<��	�	��<�;��
�T�]�]�C�q�
9�T��J�J�t�y�y�!�:�
�$�-�-��
&�!����Q�V�V�X�x�0�'�
&�:�
9��
&�
&�s�B�.!B)�
B&�)
B7c���[URS5nUR[UR5 UR	UR
5 SSS5 UR[WRS/5 [URS5nUR[UR55UR5 SSS5 g!,(df   N�=f!,(df   g=f)Nr��ar#)r
r(rgrh�
writelinesr8rirKrprrMr:r�s   r�testWriteLines�BZ2FileTest.testWriteLiness���
�T�]�]�C�
(�D����i����9��O�O�D�O�O�,�)�
	
���*�d�o�o��u�=�
�$�-�-��
&�!����^�A�F�F�H�5�t�y�y�A�'�
&�
)�
(��'�
&�s�<C�4C!�
C�!
C/c�l�[URS5nURS5 SSS5 [URS5nUR[URS5 UR[UR
S/5 SSS5 g!,(df   Nq=f!,(df   g=f)Nr�sabcre�a)r
r(rXrgrwr�rqs  r�testWriteMethodsOnReadOnlyFile�*BZ2FileTest.testWriteMethodsOnReadOnlyFile%s}��
�T�]�]�C�
(�D��J�J�v��)��T�]�]�C�
(�D����g�t�z�z�4�8����g�t�����?�)�
(�)�
(��)�
(�s�B�AB%�
B"�%
B3c�|�[URS5nUR[UR5 UR	UR
5 SSS5 [URS5nUR[UR5 UR	UR
5 SSS5 [
URS5nUR[UR55UR
S-5 SSS5 g!,(df   N�=f!,(df   Nu=f!,(df   g=f)Nr�r�r#�r�r�s   r�
testAppend�BZ2FileTest.testAppend-s���
�T�]�]�C�
(�D����i����4��J�J�t�y�y�!�)��T�]�]�C�
(�D����i����4��J�J�t�y�y�!�)��$�-�-��
&�!����^�A�F�F�H�5�t�y�y�1�}�E�'�
&�
)�
(��)�
(��'�
&�s#�<D�1<D�7D-�
D�
D*�-
D;c�>�UR5 [UR5nUR[UR
5 URS5 UR
UR5URSS5 SSS5 g!,(df   g=f�N�)	r\r
r(rgrh�seekrprMr:rqs  r�testSeekForward�BZ2FileTest.testSeekForward7sg������
�T�]�]�
#�t����i����3��I�I�c�N����T�Y�Y�[�$�)�)�C�D�/�:�$�
#�
#�s�AB�
Bc�h�URSS9 [UR5nUR[UR
5 UR[
UR5S-5 URUR5URSS5 SSS5 g!,(df   g=f)Nr�r}r�)
r\r
r(rgrhr�r�r:rprMrqs  r�testSeekForwardAcrossStreams�(BZ2FileTest.testSeekForwardAcrossStreams>sz�����A��&�
�T�]�]�
#�t����i����3��I�I�c�$�)�)�n�s�*�+����T�Y�Y�[�$�)�)�C�D�/�:�$�
#�
#�s�A5B#�#
B1c�"�UR5 [UR5nURS5 UR	SS5 URUR5URSS5 SSS5 g!,(df   g=f�Ni��j���r"i^)r\r
r(rMr�rpr:rqs  r�testSeekBackwards�BZ2FileTest.testSeekBackwardsEsb������
�T�]�]�
#�t��I�I�c�N��I�I�d�A�����T�Y�Y�[�$�)�)�G�H�*=�>�$�
#�
#�s�AB�
Bc��URSS9 [UR5n[UR5S-nUS:�a%U[URU55-nUS:�aM%UR
SS5 URUR5URSSUR-5 SSS5 g!,(df   g=f)Nr�r}rUrr�r"i���)r\r
r(r�r:rMr�rp)r+rr�readtos   r�testSeekBackwardsAcrossStreams�*BZ2FileTest.testSeekBackwardsAcrossStreamsLs������A��&�
�T�]�]�
#�t�����^�c�)�F��1�*��#�d�i�i��/�0�0���1�*��I�I�d�A�����T�Y�Y�[�$�)�)�G�H�*=��	�	�*I�J�$�
#�
#�s�AB>�)AB>�>
Cc�,�UR5 [UR5nURSS5 UR	UR5UR[UR5S-
S5 SSS5 g!,(df   g=f)Nr�r�r�)r\r
r(r�rprMr:r�rqs  r�testSeekBackwardsFromEnd�$BZ2FileTest.testSeekBackwardsFromEndUse������
�T�]�]�
#�t��I�I�d�A�����T�Y�Y�[�$�)�)�C��	�	�N�3�4F�4G�*H�I�$�
#�
#�s�AB�
Bc��URSS9 [UR5nURSS5 UR	UR5URS-SS5 SSS5 g!,(df   g=f)Nr�r}i���)r\r
r(r�rprMr:rqs  r�%testSeekBackwardsFromEndAcrossStreams�1BZ2FileTest.testSeekBackwardsFromEndAcrossStreams[s`�����A��&�
�T�]�]�
#�t��I�I�e�Q�����T�Y�Y�[�4�9�9�q�=�%�&�*A�B�$�
#�
#�s�AA1�1
A?c�J�UR5 [UR5nURS5 UR	UR5[
UR55 UR	UR5S5 SSS5 g!,(df   g=f�N��Ir�	r\r
r(r�rp�tellr�r:rMrqs  r�testSeekPostEnd�BZ2FileTest.testSeekPostEndash������
�T�]�]�
#�t��I�I�f�����T�Y�Y�[�#�d�i�i�.�9����T�Y�Y�[�#�.�$�
#�
#�s�A%B�
B"c�N�URSS9 [UR5nURS5 UR	UR5[
UR5S-5 UR	UR5S5 SSS5 g!,(df   g=f�Nr|r}rrrrqs  r�testSeekPostEndMultiStream�&BZ2FileTest.testSeekPostEndMultiStreamhsr�����A��&�
�T�]�]�
#�t��I�I�f�����T�Y�Y�[�#�d�i�i�.�1�*<�=����T�Y�Y�[�#�.�$�
#�
#�s�A(B�
B$c�l�UR5 [UR5nURS5 URS5 UR	UR5[
UR55 UR	UR5S5 SSS5 g!,(df   g=frrrqs  r�testSeekPostEndTwice� BZ2FileTest.testSeekPostEndTwiceost������
�T�]�]�
#�t��I�I�f���I�I�f�����T�Y�Y�[�#�d�i�i�.�9����T�Y�Y�[�#�.�	$�
#�
#�s�A6B%�%
B3c�p�URSS9 [UR5nURS5 URS5 UR	UR5[
UR5S-5 UR	UR5S5 SSS5 g!,(df   g=fr
rrqs  r�testSeekPostEndTwiceMultiStream�+BZ2FileTest.testSeekPostEndTwiceMultiStreamws~�����A��&�
�T�]�]�
#�t��I�I�f���I�I�f�����T�Y�Y�[�#�d�i�i�.�1�*<�=����T�Y�Y�[�#�.�	$�
#�
#�s�A9B'�'
B5c�8�UR5 [UR5nURS5 UR	UR5S5 UR	UR
5UR5 SSS5 g!,(df   g=f)Nr�r�r\r
r(r�rprrMr:rqs  r�testSeekPreStart�BZ2FileTest.testSeekPreStartsc������
�T�]�]�
#�t��I�I�d�O����T�Y�Y�[�!�,����T�Y�Y�[�$�)�)�4�$�
#�
#�s�AB�
Bc�<�URSS9 [UR5nURS5 UR	UR5S5 UR	UR
5URS-5 SSS5 g!,(df   g=f)Nr�r}r�rrrqs  r�testSeekPreStartMultiStream�'BZ2FileTest.testSeekPreStartMultiStream�sl�����A��&�
�T�]�]�
#�t��I�I�d�O����T�Y�Y�[�!�,����T�Y�Y�[�$�)�)�a�-�8�$�
#�
#�s�AB
�
Bc��UR5 [URS5n[U5nUR	UR5UR55 UR
5 SSS5 UR[WR
5 g!UR
5 f=f!,(df   ND=f�Nr#)	r\rKr(r
rp�filenor*rgri)r+�rawfrrs   r�
testFileno�BZ2FileTest.testFileno�s�������
�$�-�-��
&�$��4�=�D�
�� � ��������
�>��
�
��'�	
���*�d�k�k�2���
�
���'�
&�s"�B1�.B�"B1�B.�.B1�1
B?c�t�[[UR55nURUR	55 UR5 URUR	55 UR
5 UR[UR5 [[5S5nURUR	55 UR
5 UR[UR5 [UR5nSUl[U5nURUR	55 UR
5 UR[UR5 g!UR
5 f=f!UR
5 f=f!UR
5 f=f)Nr�c��g)NFrRrRrr�<lambda>�*BZ2FileTest.testSeekable.<locals>.<lambda>�s��ur)
r
rr;r��seekablerMr*rgri�assertFalse)r+rr�srcs   r�testSeekable�BZ2FileTest.testSeekable�s!���w�t�y�y�)�*��	��O�O�D�M�M�O�,��I�I�K��O�O�D�M�M�O�,��J�J�L����*�d�m�m�4��w�y�#�&��	����T�]�]�_�-��J�J�L����*�d�m�m�4��d�i�i� ��$����s�|��	����T�]�]�_�-��J�J�L����*�d�m�m�4��#
�J�J�L��
�J�J�L��
�J�J�L�s$�AE;�3F�+F%�;F
�F"�%F7c�Z�[[UR55nURUR	55 UR5 URUR	55 UR
5 UR[UR5 [[5S5nURUR	55 UR
5 UR[UR5 g!UR
5 f=f!UR
5 f=f�Nr�)
r
rr;r��readablerMr*rgrir%rqs  r�testReadable�BZ2FileTest.testReadable�s����w�t�y�y�)�*��	��O�O�D�M�M�O�,��I�I�K��O�O�D�M�M�O�,��J�J�L����*�d�m�m�4��w�y�#�&��	����T�]�]�_�-��J�J�L����*�d�m�m�4��
�J�J�L��
�J�J�L���AD�3D�D�D*c�Z�[[UR55nURUR	55 UR5 URUR	55 UR
5 UR[UR5 [[5S5nURUR	55 UR
5 UR[UR5 g!UR
5 f=f!UR
5 f=fr*)
r
rr;r%�writablerMr*rgrir�rqs  r�testWritable�BZ2FileTest.testWritable�s����w�t�y�y�)�*��	����T�]�]�_�-��I�I�K����T�]�]�_�-��J�J�L����*�d�m�m�4��w�y�#�&��	��O�O�D�M�M�O�,��J�J�L����*�d�m�m�4��
�J�J�L��
�J�J�L�r.c�t�UR5 [S5Hn[UR5nAM g)Ni')r\�ranger
r()r+�i�os   r�testOpenDel�BZ2FileTest.testOpenDel�s-�������u��A���
�
�&�A��rc�:�UR[[S5 g)Nz
/non/existent)rgrwr
r0s r�testOpenNonexistent�BZ2FileTest.testOpenNonexistent�s�����'�7�O�<rc���Sn[URS5nURU5 SSS5 [UR5nUR	5nSSS5 URWS/5 [UR5n[
UR	55nSSS5 URWS/5 g!,(df   N�=f!,(df   N}=f!,(df   ND=f)Ns,BZh91AY&SY�b�]� !�h3M<]��BCe�%trWsTest)rKr(rXr
r�rpr�)r+rr[rr�lines�xliness      r�testReadlinesNoNewline�"BZ2FileTest.testReadlinesNoNewline�s���z��
�$�-�-��
&�!�
�G�G�D�M�'�
�T�]�]�
#�t��N�N�$�E�$������	�*�
�T�]�]�
#�t��$�.�.�*�+�F�$�����'��+�'�
&��
#�
#��$�
#�s#�B?�C�	C!�?
C
�
C�!
C/c��[URS5nURS5 SSS5 [URS5nUR5 U SSS5 UR	S5 [URS5nSS- SSS5 UR	S5 g!,(df   N�=f!,(df   Ng=f![
a Nef=f!,(df   NR=f![a gf=f)NrWsxxxr#z4__enter__ on a closed file didn't raise an exceptionr"rz1/0 didn't raise an exception)r
r(rXr*�failri�ZeroDivisionError�r+r[s  r�testContextProtocol�BZ2FileTest.testContextProtocol�s���
�T�]�]�D�
)�Q�
�G�G�F�O�*��D�M�M�4�(��	���	�	N����

�I�I�L�M�	7������-���!��.�

�I�I�5�6�#*�
)��
����	��	��
.�-�� �	��	�s_�B,�C�B=�C�6C/�C�C/�,
B:�=
C�C�
C�C�
C,�(C/�/
C<�;C<c�J^^�SS-mSn[URS5mUU4Sjn[U5Vs/sHn[R"US9PM nn[
R"U5 SSS5 SSS5 gs snf!,(df   N=f!,(df   g=f)N�1irdrWc�L>�[S5HnTRT5 M g�Nr|)r4rX)r5rr[s ��r�comp�'BZ2FileTest.testThreading.<locals>.comps����q��A��G�G�D�M�"r)�target)r
r(r4�	threading�Threadr	�
start_threads)r+�nthreadsrKr5�threadsrr[s     @@r�
testThreading�BZ2FileTest.testThreading�s�����e�|����
�T�]�]�D�
)�Q�
"�?D�H�o�N�o��y�'�'�t�4�o�G�N�!�/�/��8��9�*�
)��O�8�8��*�
)�s4�B�A>�B�+B�-B�>B�
B	�
B�
B"c��UR5 [URS5nUS-n[UR5nURU5 UR
[U5URSUS5 UR
UR5URUS5 SSS5 [UR5nUR5 UR
[U5URS5 UR
UR5URS5 SSS5 [UR5nUR5 UR[[U5 UR
UR5/5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   g=f)Nrr�r")
r\r�r8r
r(rMrpr�r:r�r�rg�
StopIteration)r+�linelen�halflenrrs    r�testMixedIterationAndReads�&BZ2FileTest.testMixedIterationAndReads	sN�������d�o�o�a�(�)���Q�,��
�T�]�]�
#�t��I�I�g�����T�$�Z�����);�G�H�)E�F����T�Y�Y�[�$�)�)�G�H�*=�>�$��T�]�]�
#�t��M�M�O����T�$�Z�����);�<����T�]�]�_�d�o�o�a�.@�A�$��T�]�]�
#�t��N�N�����m�T�4�8����T�^�^�-�r�2�$�
#�$�
#��$�
#��$�
#�s'�A*F"�
A&F3�
AG�"
F0�3
G�
Gc��SnSn[URS5nURU5 SSS5 [URS5nURU5 SSS5 [UR5nURUR	5X-5 SSS5 g!,(df   N=f!,(df   N`=f!,(df   g=f)Ns�foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoos�barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarr�r�)r
r(rXrprM)r+�data1�data2rrs    r�testMultiStreamOrdering�#BZ2FileTest.testMultiStreamOrderings�������
�T�]�]�C�
(�D��J�J�u��)�
�T�]�]�C�
(�D��J�J�u��)�
�T�]�]�
#�t����T�Y�Y�[�%�-�8�$�
#�	)�
(��
(�
(��
#�
#�s#�B&�B7�:#C�&
B4�7
C�
Cc��[URS5nURS5 URURUR5 URUR
5[5 URURS5 URUR5S5 URUR5S5 URUR5S5 URURS5 SSS5 URWRS5 UR[5 UR SSS5 UR[UR5 URURS5 UR[UR5 UR[UR5 UR[UR5 [URS5nURS5 URURUR5 URUR
5[5 URURS5 URUR5S5 URUR5S5 URUR5S5 URURS5 SSS5 URURS5 UR[5 UR SSS5 UR[UR5 URURS5 UR[UR5 UR[UR5 UR[UR5 [URS5nURUR!5S5 URURUR5 URUR
5[5 URURS5 URUR5S5 URUR5S5 URUR5S5 URURS5 SSS5 URURS5 UR[5 UR SSS5 UR[UR5 URURS5 UR[UR5 UR[UR5 UR[UR5 g!,(df   GN�=f!,(df   GN�=f!,(df   GN=f!,(df   GN�=f!,(df   GN:=f!,(df   GN=f�	NrW�contentFT�ab�appendixr#�contentappendix)r
r(rXrp�name�assertIsInstancer�int�mode�assertIsr+r0r$�closedrgrirMrDs  r�testOpenFilename�BZ2FileTest.testOpenFilename%s
��
�T�]�]�D�
)�Q�
�G�G�J�����Q�V�V�T�]�]�3��!�!�!�(�(�*�c�2����Q�V�V�T�*��M�M�!�*�*�,��.��M�M�!�*�*�,��-��M�M�!�*�*�,��.��M�M�!�(�(�E�*�*�	
�
�
�a�h�h��%�
�
�
�z�
*�
�F�F�+����*�a�h�h�/��������&����*�a�j�j�1����*�a�j�j�1����*�a�j�j�1�
�T�]�]�D�
)�Q�
�G�G�K� ����Q�V�V�T�]�]�3��!�!�!�(�(�*�c�2����Q�V�V�T�*��M�M�!�*�*�,��.��M�M�!�*�*�,��-��M�M�!�*�*�,��.��M�M�!�(�(�E�*�*�	
�
�
�a�h�h��%�
�
�
�z�
*�
�F�F�+����*�a�h�h�/��������&����*�a�j�j�1����*�a�j�j�1����*�a�j�j�1�
�T�]�]�D�
)�Q����Q�V�V�X�'9�:����Q�V�V�T�]�]�3��!�!�!�(�(�*�c�2����Q�V�V�T�*��M�M�!�*�*�,��-��M�M�!�*�*�,��.��M�M�!�*�*�,��-��M�M�!�(�(�E�*�*�	
�
�
�a�h�h��%�
�
�
�z�
*�
�F�F�+����*�a�h�h�/��������&����*�a�j�j�1����*�a�j�j�1����*�a�j�j�1�i*�
)��+�
*��*�
)��+�
*��*�
)��+�
*�sJ�C4W-�
W?�C4X�8
X#�?DX5�;
Y�-
W<�?
X�
X �#
X2�5
Y�
Yc��
�[URS5n[US5nURS5 UR	UR
UR
5 UR	UR
5UR
55 UR	URS5 URUR5S5 URUR5S5 URUR5S5 URURS5 SSS5 URWRS5 UR[5 UR
 SSS5 UR[UR5 UR	URS5 UR[UR5 UR[UR5 UR[UR5 SSS5 [URS5n[US5nURS5 UR	UR
UR
5 UR	UR
5UR
55 UR	URS5 URUR5S5 URUR5S5 URUR5S5 URURS5 SSS5 URWRS5 UR[5 UR
 SSS5 UR[UR5 UR	URS5 UR[UR5 UR[UR5 UR[UR5 SSS5 [URS5n[US5nUR	UR5S5 UR	UR
UR
5 UR	UR
5UR
55 UR	URS5 URUR5S5 URUR5S5 URUR5S5 URURS5 SSS5 URWRS5 UR[5 UR
 SSS5 UR[UR5 UR	URS5 UR[UR5 UR[UR5 UR[UR5 SSS5 g!,(df   GN/=f!,(df   GN�=f!,(df   GNi=f!,(df   GNR=f!,(df   GN=f!,(df   GN�=f!,(df   GNf=f!,(df   GN2=f!,(df   g=fra)rKr(r
rXrprfrrirjr+r0r$rkrgrirM)r+�rawr[s   r�testOpenFileWithName� BZ2FileTest.testOpenFileWithName\st��
�$�-�-��
&�#���d�#�q����
�#�� � �������2�� � �����S�Z�Z�\�:�� � �����.��
�
�a�j�j�l�E�2��
�
�a�j�j�l�D�1��
�
�a�j�j�l�E�2��
�
�a�h�h��.�$�
�M�M�!�(�(�D�)��"�"�:�.����/����j�!�(�(�3����Q�V�V�T�*����j�!�*�*�5����j�!�*�*�5����j�!�*�*�5�#'�&�$�-�-��
&�#���d�#�q�����$�� � �������2�� � �����S�Z�Z�\�:�� � �����.��
�
�a�j�j�l�E�2��
�
�a�j�j�l�D�1��
�
�a�j�j�l�E�2��
�
�a�h�h��.�$�
�M�M�!�(�(�D�)��"�"�:�.����/����j�!�(�(�3����Q�V�V�T�*����j�!�*�*�5����j�!�*�*�5����j�!�*�*�5�#'�&�$�-�-��
&�#���d�#�q�� � �����+=�>�� � �������2�� � �����S�Z�Z�\�:�� � �����.��
�
�a�j�j�l�D�1��
�
�a�j�j�l�E�2��
�
�a�j�j�l�D�1��
�
�a�h�h��.�$�
�M�M�!�(�(�D�)��"�"�:�.����/����j�!�(�(�3����Q�V�V�T�*����j�!�*�*�5����j�!�*�*�5����j�!�*�*�5�#'�
&�K$�#��/�.��'�
&��($�#��/�.��'�
&��($�#��/�.��'�
&�s��
Y.�C>Y
�"9Y.�
Y�(B$Y.�*
Z$�7C>Z�59Z$�.
Z�;B$Z$�=
[�
D
Z6�9[�
[�B$[�

Y	�Y.�
Y+	�&Y.�.
Y=�
Z	�
Z$�
Z!	�Z$�$
Z3�6
[	�[�
[	�[�
[(c���[5n[US5nURS5 UR[5 UR
 SSS5 UR[RUR5 URURS5 SSS5 UR[5 WR
 SSS5 UR[WR5 [US5nURS5 UR[5 UR
 SSS5 UR[RUR5 URURS5 SSS5 UR[5 UR
 SSS5 UR[UR5 URS5 [US5nURUR5S5 UR[5 UR
 SSS5 UR[RUR5 URURS5 SSS5 UR[5 UR
 SSS5 UR[UR5 g!,(df   GN�=f!,(df   GNL=f!,(df   GN4=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN=f!,(df   N�=f!,(df   N�=f)NrWrbrcrdrr#re)rr
rXrg�AttributeErrorrf�io�UnsupportedOperationrrpririr�rM)r+�bior[s   r�testOpenFileWithoutName�#BZ2FileTest.testOpenFileWithoutName�s/���i��
�S�$�
�1�
�G�G�J���"�"�>�2����3����b�5�5�q�x�x�@����Q�V�V�T�*� ��
�
�z�
*�
�F�F�+����*�a�h�h�/�
�S�$�
�1�
�G�G�K� ��"�"�>�2����3����b�5�5�q�x�x�@����Q�V�V�T�*� ��
�
�z�
*�
�F�F�+����*�a�h�h�/������
�S�$�
�1����Q�V�V�X�'9�:��"�"�>�2����3����b�5�5�q�x�x�@����Q�V�V�T�*� ��
�
�z�
*�
�F�F�+����*�a�h�h�/�73�2�� �
��+�
*��3�2�� �
��+�
*��3�2�� �
��+�
*�s��'K�
K�AK�6
K0�7'L�
L�+AL�
L&�(6M
�
L8�+AM
�
M�
K	�K�
K-�0
K?�
L	�L�
L#�&
L5�8
M	�M
�

M�
M)c��[R"UR[R[R-[R
-5n[US5n[
US5nURS5 URURUR5 URUR5UR55 URURS5 SSS5 UR[5 WR SSS5 UR[WR5 SSS5 [R"UR[R[R-[R-5n[US5n[
US5nURS5 URURUR5 URUR5UR55 URURS5 SSS5 UR[5 WR SSS5 UR[WR5 SSS5 [R"UR[R5n[US5n[
US5nURUR!5S5 URURUR5 URUR5UR55 URURS5 SSS5 UR[5 WR SSS5 UR[WR5 SSS5 g!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   N�=f!,(df   N�=f!,(df   g=f)NrWrbrcrdr#re)r)rKr(�O_WRONLY�O_CREAT�O_TRUNCr
rXrprfrrirgri�O_APPEND�O_RDONLYrM)r+r,ror[s    r�testOpenFileWithIntName�#BZ2FileTest.testOpenFileWithIntName�s���
�W�W�T�]�]�B�K�K�"�*�*�$<�r�z�z�$I�
J��
�"�d�^�s���d�#�q����
�#�� � �������2�� � �����S�Z�Z�\�:�� � �����.�	$�
�"�"�:�.����/����j�!�(�(�3���W�W�T�]�]�B�K�K�"�*�*�$<�r�{�{�$J�
K��
�"�d�^�s���d�#�q�����$�� � �������2�� � �����S�Z�Z�\�:�� � �����.�	$�
�"�"�:�.����/����j�!�(�(�3���W�W�T�]�]�B�K�K�
0��
�"�d�^�s���d�#�q�� � �����+=�>�� � �������2�� � �����S�Z�Z�\�:�� � �����.�	$�
�"�"�:�.����/����j�!�(�(�3��^�+$�#��
/�.��
�^��$�#��
/�.��
�^��$�#��
/�.��
�^�s��
O%�+BO�-O%�

O�(O%�$
P�1BO7�3P�
P	�(P�
Q�BP-�&Q�
P>�(Q�
O	�O%�
O"	�O%�%
O4�7
P	�P�	
P	�P�
P*�-
P;	�7Q�>
Q	�Q�
Qc��URn[R"U5n[US5nUR	UR
5 UR
URU5 SSS5 [US5nUR
UR5UR
5 UR
URU5 SSS5 [US5nUR
UR5UR
5 UR
URU5 SSS5 g!,(df   N�=f!,(df   N{=f!,(df   g=f�NrWr#)	r(r)�fsencoder
rXr;rprfrM)r+�str_filename�bytes_filenamer[s    r�testOpenBytesFilename�!BZ2FileTest.testOpenBytesFilename�s����}�}�����\�2��
�^�T�
*�a�
�G�G�D�I�I�����Q�V�V�^�4�+��^�T�
*�a����Q�V�V�X�t�y�y�1����Q�V�V�^�4�+��\�4�
(�A����Q�V�V�X�t�y�y�1����Q�V�V�\�2�)�
(�+�
*��+�
*��)�
(�s%�8D&�;AD7�AE�&
D4�7
E�
Ec���[UR5n[US5nURUR5 URURUR5 SSS5 [US5nURUR5UR5 URURUR5 SSS5 g!,(df   Nt=f!,(df   g=fr�)rr(r
rXr;rprfrM)r+r(r[s   r�testOpenPathLikeFilename�$BZ2FileTest.testOpenPathLikeFilename�s����D�M�M�*��
�X�t�
$��
�G�G�D�I�I�����Q�V�V�T�]�]�3�%��X�t�
$�����Q�V�V�X�t�y�y�1����Q�V�V�T�]�]�3�%�
$�%�
$��%�
$�s�AC�8AC#�
C �#
C1c�|�[RS[S5-SS9nUR[	U5[
R5 [[U55nURURS5S5 S[-nURURRR5US5 g)z-Decompressed data buffering should be limited�g��>A�	rbr"z)Excessive amount of data was decompressedN)rrNrh�
assertLessr�r�r�r
rrprMr�assertLessEqual�_bufferror)r+�bomb�decomp�
max_decomps    r�testDecompressLimited�!BZ2FileTest.testDecompressLimited�s����|�|�E�C��H�,�A�|�>������D�	�<�#;�#;�<�����'��������Q���/��,�,�
����V�^�^�/�/�4�4�6�
�7�	9rc�>�[UR5n[U5nUR[UR
[
55 URUR5UR5 UR[5 [R SSS5 URURS5 SSS5 URUR5 SSS5 g!,(df   NV=f!,(df   NC=f!,(df   g=fr)rr;r
rgrhrMrorpr:rsrrfrir%rk�r+rvrrs   r�testReadBytesIO�BZ2FileTest.testReadBytesIO�s���
�T�Y�Y�
�3������!�!�)�T�Y�Y���@�� � �����d�i�i�8��&�&�~�6��H�H�7�� � ����D�1��
���S�Z�Z�(� �
�7�6����� �
�s;�D�A)C=�C,�$C=�#D�,
C:�6C=�=
D	�D�
Dc��[UR5n[U5nUR5nUR	[U5S5 UR
URRU55 URUR5UR5 SSS5 SSS5 g!,(df   N=f!,(df   g=fr�)rr;r
r�r�r�r�r:r�rprM)r+rvrrr�s    r�testPeekBytesIO�BZ2FileTest.testPeekBytesIOs���
�T�Y�Y�
�3������	�	����#�#�C��J��2�����	�	� 4� 4�U� ;�<�� � �����d�i�i�8�	� �
���� �
�s#�C�BB3�"C�3
C	�=C�
Cc�`�[5n[US5nUR[UR5 UR	UR
5 UR[5 [R SSS5 URURS5 SSS5 UR[UR55UR
5 URUR5 SSS5 g!,(df   N�=f!,(df   Nv=f!,(df   g=f)Nr�rW)rr
rgrhrXr:rsrrfrprir�getvaluer%rkr�s   r�testWriteBytesIO�BZ2FileTest.testWriteBytesIOs���
�Y�#���c�"�d��!�!�)�T�Z�Z�8��
�
�4�9�9�%��&�&�~�6��H�H�7�� � ����D�1�#�
���^�C�L�L�N�;�T�Y�Y�G����S�Z�Z�(��Y�7�6��#�"���Y�s<�
D�AD�)C=�:$D�AD�=
D�D�
D	�D�
D-c�h�[UR5n[U5nUR[UR
5 URS5 UR
UR5URSS5 SSS5 SSS5 g!,(df   N=f!,(df   g=fr�)	rr;r
rgrhr�rprMr:r�s   r�testSeekForwardBytesIO�"BZ2FileTest.testSeekForwardBytesIOst��
�T�Y�Y�
�3������!�!�)�T�Y�Y�7��	�	�#��� � �����d�i�i���o�>�� �
���� �
�s#�B#�AB�B#�
B 	�B#�#
B1c�L�[UR5n[U5nURS5 UR	SS5 URUR5URSS5 SSS5 SSS5 g!,(df   N=f!,(df   g=fr�)rr;r
rMr�rpr:r�s   r�testSeekBackwardsBytesIO�$BZ2FileTest.testSeekBackwardsBytesIO"so��
�T�Y�Y�
�3������	�	�#���	�	�$��"�� � �����d�i�i���.A�B�� �
���� �
�s#�B�AB�3B�
B	�B�
B#c��URSSn[[U55nUR[UR
5 SSS5 [[U55nUR
UR[UR55UR5 UR[UR
S5 SSS5 [S5HDn[[USU55nUR[UR
S5 SSS5 MF g!,(df   N�=f!,(df   Ns=f!,(df   Mz=f)N���r"�)
r;r
rrg�EOFErrorrMrpr�r:r4)r+�	truncatedr[r5s    r�test_read_truncated�BZ2FileTest.test_read_truncated)s����I�I�d�s�O�	�
�W�Y�'�
(�A����h����/�)�
�W�Y�'�
(�A����Q�V�V�C��	�	�N�3�T�Y�Y�?����h�����2�)��r��A����2�A��/�0�A��!�!�(�A�F�F�A�6�1�0��
)�
(��
(�
(��
1�0�s$�!D�!A D.�."D?�
D+�.
D<�?
E	c�D�[R"S/SQ5n[U5UR-n[[	5S5nURUR
U5U5 URUR5U5 SSS5 g!,(df   g=f)N�Q)r"r�rf�r|r�)�arrayr��itemsizer
rrprXr)r+�q�LENGTHr[s    r�test_issue44439�BZ2FileTest.test_issue444396sl���K�K��_�-���Q��!�*�*�$��
�W�Y��
$�����Q�W�W�Q�Z��0����Q�V�V�X�v�.�%�
$�
$�s
�AB�
BrRN)r"r)Hr3r4r5r6r7r\rkrsrxr~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�rrrrrrrrr'r,r1r7r:r?rEr	�requires_working_threadingrSrYr^rlrprwrr�r�r�r�r�r�r�r�r�r�rQrRrrrTrTdso����
	B�5�2�
9�3�5�
9�
0�	.�	2�>�
5�
4�8�8�@�D�@�
D�
6�B�
B�1�B�@�F�;�;�?�K�J�C�/�/�/�/�5�9�3�5�45�"5�"�=�
,�7�(�0�0�2�
�3�
�3�"	9�52�n86�t0�B 4�D3�4�	9�)�9�	)�?�C�7�/rrTc�j�\rSrSrSrSrSr\R\	"\
S-SS9S55rS	rS
r
g)�BZ2CompressorTesti?c��[5nUR[UR5 URUR5nX!R5-
nUR
[U5UR5 gr%)rrgrhrNr:rPrpr�r+�bz2crs   r�testCompress�BZ2CompressorTest.testCompress@sV��������)�T�]�]�3��}�}�T�Y�Y�'���
�
���������-�t�y�y�9rc��[5nURS5nX!R5-
nURX R5 g�Nr)rrNrPrpr<r�s   r�testCompressEmptyString�)BZ2CompressorTest.testCompressEmptyStringGs7������}�}�S�!���
�
����������/rc��[5nSnSnURUS-US-S-nU(dOX1RU5-
nUS-
nM:X1R5-
nUR	[U5UR5 g)Nrrrdr")rr:rNrPrpr)r+r�r�rr�s     r�testCompressChunks10�&BZ2CompressorTest.testCompressChunks10Ms������
������)�)�A�b�D�!�A�#�r��*�C����M�M�#�&�&�D�
��F�A��	
�
�
���������-�t�y�y�9rrUr���size�memusec�D�[5nSU-nURU5nXBR5-
nSn[R	U5nUR[
U5U5 UR[
URS55S5 Sng!Snf=f!Snf=f)N�xr)rrNrPrrrpr��strip)r+r�r�r�
compresseds     r�testCompress4G� BZ2CompressorTest.testCompress4GZs�������d�{��	����t�,�J��*�*�,�&�J��D��~�~�j�)��	����S��Y��-����S����D�!1�2�A�6��D��
�D���D�s�#B�AB�B�Bc���[[RS-5H@nUR[5 [R
"[
5U5 SSS5 MB g!,(df   MT=f�Nr")r4�pickle�HIGHEST_PROTOCOLrgrh�dumpsr�r+�protos  r�
testPickle�BZ2CompressorTest.testPicklelsI���6�2�2�Q�6�7�E��"�"�9�-����]�_�e�4�.�-�8�-�-��� A"�"
A1	rRN)r3r4r5r6r�r�r�r�skip_if_pgo_taskrrr�r�rQrRrrr�r�?sC��:�0�:�
����S�3�Y�q�)��*��� 5rr�c��\rSrSrSrSrSrSrSr\	R\"\S-SS	9S
55r
SrSrS
rSrSrSr\	R(S5rSrSrg)�BZ2DecompressorTestirc�:�UR[[S5 g)N�*)rgrhrr0s r�test_Constructor�$BZ2DecompressorTest.test_Constructorss�����)�_�b�9rc���[5nUR[UR5 URUR5nURX R5 gr%)rrgrhrr;rpr:�r+�bz2dr�s   r�testDecompress�"BZ2DecompressorTest.testDecompressvsB��� �����)�T�_�_�5����t�y�y�)������y�y�)rc���[5nSnSnURUS-US-S-nU(dOX!RU5-
nUS-
nM:URX R5 g)Nrrrdr")rr;rrpr:)r+r�r�r�r�s     r�testDecompressChunks10�*BZ2DecompressorTest.testDecompressChunks10|sl��� ����
����)�)�A�b�D�!�A�#�r��*�C����O�O�C�(�(�D�
��F�A��	
����y�y�)rc���[5nSnURURU-5nURX0R5 URUR
U5 g)Nsthis is unused data)rrr;rpr:�unused_data)r+r�r�r�s    r�testDecompressUnusedData�,BZ2DecompressorTest.testDecompressUnusedData�sN��� ��,�����t�y�y��4�5������y�y�)�����)�)�;�7rc���[5nURUR5nUR[URS5 UR[URS5 g)Nsanythingr)rrr;rgr�r�s   r�testEOFError� BZ2DecompressorTest.testEOFError�sH��� �����t�y�y�)�����(�D�O�O�[�A����(�D�O�O�S�9rrUgffffff
@r�c��[SU5n[R"U5nX1S-
U-S--n[R	U5n[5nUR
U5nURXt:H5 SnSnSng!SnSnSnf=f)Ni�r")�min�random�	randbytesrrNrrr�)r+r��	blocksize�blockrr�r��decompresseds        r�testDecompress4G�$BZ2DecompressorTest.testDecompress4G�s����(�$�/�	�� � ��+��		 ��!�V�	�1�A�5�6�D����d�+�J�"�$�D��?�?�:�6�L��O�O�L�0�1��D��J��L���D��J��L�s�AA;�;Bc���[[RS-5H@nUR[5 [R
"[
5U5 SSS5 MB g!,(df   MT=fr�)r4r�r�rgrhr�rr�s  rr��BZ2DecompressorTest.testPickle�sJ���6�2�2�Q�6�7�E��"�"�9�-����_�.��6�.�-�8�-�-�r�c��[5nSn/n[UR5S-
nURUR	URSUUS95 URUR5 UR[US5U5 URUR	SUS95 URUR5 UR[US5U5 URUR	URUSUS95 UR[US5U5 UR(dPURUR	SUS95 UR[US5U5 UR(dMPSRU5nURX0R5 URURS5 g)NrU�@��
max_length���r)
rr�rC�appendrr%�needs_inputrpr��eofr9rBr�)r+�bzdr��out�len_s     r�testDecompressorChunksMaxsize�1BZ2DecompressorTest.testDecompressorChunksMaxsize�s�������
����4�=�=�!�B�&���
�
�3�>�>�$�-�-���"6�-7�"�9�	:�������)�����S��W��z�2�	�
�
�3�>�>�#�*�>�=�>�������)�����S��W��z�2�	�
�
�3�>�>�$�-�-���"6�-7�"�9�	:����S��R��\�:�6��'�'��J�J�s�~�~�c�j�~�A�B�� � ��S��W��z�:��'�'�'��h�h�s�m������m�m�,�������#�.rc���[5n/nURURURSSSS9S5 UR	URSS55 UR	URURSSS55 UR	URURSS55 URSRU5UR5 g)NrUrr�rr��i��rrprr;r�r9r:�r+rrs   r�test_decompressor_inputbuf_1�0BZ2DecompressorTest.test_decompressor_inputbuf_1�s��������	
�������	�	�$�3��34�(�6�7:�	<�
	�
�
�3�>�>�#�q�)�*�	�
�
�3�>�>�$�)�)�C��"4�b�9�:�	�
�
�3�>�>�$�)�)�C�D�/�2�3�������#���	�	�2rc��[5n/nURURURSSSS9S5 UR	URS55 UR	URURSSS55 UR	URURSSS55 UR	URURSS55 URSRU5UR5 g)N��rr�rir��,r
rs   r�test_decompressor_inputbuf_2�0BZ2DecompressorTest.test_decompressor_inputbuf_2�s��������	
�������	�	�$�3��34�(�6�7:�	<��
�
�3�>�>�#�&�'�	�
�
�3�>�>�$�)�)�C��"4�a�8�9�	�
�
�3�>�>�$�)�)�C��"4�a�8�9�	�
�
�3�>�>�$�)�)�C�D�/�2�3�������#���	�	�2rc��[5n/nURURURSSS55 URURURSSS55 URURURSS55 UR	SRU5UR5 g)Nrr|rr)rr�rr;rpr9r:rs   r�test_decompressor_inputbuf_3�0BZ2DecompressorTest.test_decompressor_inputbuf_3�s��������	�
�
�3�>�>�$�)�)�D�S�/�1�5�6�	�
�
�3�>�>�$�)�)�C��"4�a�8�9�	�
�
�3�>�>�$�)�)�C�D�/�2�3�������#���	�	�2rc���[5nUR[URURS-5 UR[URURS-5 g)N�)rrg�	Exceptionrr=)r+rs  r�test_failure� BZ2DecompressorTest.test_failuresH��������)�S�^�^�T�]�]�R�5G�H����)�S�^�^�T�]�]�R�5G�Hrc���[R"[S5n[5nU"5n[	S5HnUR5 M UR
U"5U-
SSS9 g)N�gettotalrefcountrUrrd)�delta)r�
get_attribute�sysrr4�__init__�assertAlmostEqual)r+rr�refs_beforer5s     r�test_refleaks_in___init__�-BZ2DecompressorTest.test_refleaks_in___init__s[��"�0�0��6H�I�����&�(���s��A��L�L�N�����/�1�K�?��"��Mrc��UR[R"[5R[	55S5 gr�)rpr�__new__rr>r0s r�(test_uninitialized_BZ2Decompressor_crash�<BZ2DecompressorTest.test_uninitialized_BZ2Decompressor_crashs+������0�0��A�#��E�G�,�c�	3rrRN)r3r4r5r6r�r�r�r�r�rr�rrr�r�rrrrr�
refcount_testr#r'rQrRrrr�r�rs���:�*�
*�8�:�
����S�3�Y�s�+�
 �,��
 �7�
/�>3�,3�*3� I�
���N��N�3rr�c�P�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
Srg
)�CompressDecompressTestic��[RUR5nUR[	U5UR5 gr%)rrNr:rpr)r+rs  rr��#CompressDecompressTest.testCompresss-���|�|�D�I�I�&�������-�t�y�y�9rc�d�[RS5nURXR5 gr�)rrNrpr<�r+r�s  rr��.CompressDecompressTest.testCompressEmptyStrings"���|�|�C� ��������/rc�x�[RUR5nURXR5 gr%�rrr;rpr:r/s  rr��%CompressDecompressTest.testDecompress"s&���~�~�d�i�i�(������y�y�)rc�R�[RS5nURUS5 gr�)rrrpr/s  r�testDecompressEmpty�*CompressDecompressTest.testDecompressEmpty&s ���~�~�c�"������s�#rc�f�[RUR5nURUS5 gr�)rrr<rpr/s  r�testDecompressToEmptyString�2CompressDecompressTest.testDecompressToEmptyString*s$���~�~�d�o�o�.������s�#rc�h�UR[[RURSS5 g)Nr�)rgrirrr;r0s r�testDecompressIncomplete�/CompressDecompressTest.testDecompressIncomplete.s"�����*�c�n�n�d�i�i���o�Frc�b�UR[[RUR5 gr%)rgrwrrr=r0s r�testDecompressBadData�,CompressDecompressTest.testDecompressBadData1s�����'�3�>�>�4�=�=�Arc��[RURS-5nURXRS-5 grJr2r/s  r�testDecompressMultiStream�0CompressDecompressTest.testDecompressMultiStream4s.���~�~�d�i�i�!�m�,������y�y�1�}�-rc��[RURUR-5nUR	XR
5 gr%�rrr;r=rpr:r/s  r�testDecompressTrailingJunk�1CompressDecompressTest.testDecompressTrailingJunk8s/���~�~�d�i�i�$�-�-�7�8������y�y�)rc��[RURS-UR-5nUR	XR
S-5 grJrDr/s  r�%testDecompressMultiStreamTrailingJunk�<CompressDecompressTest.testDecompressMultiStreamTrailingJunk<s7���~�~�d�i�i�!�m�d�m�m�;�<������y�y�1�}�-rrRN)r3r4r5r6r�r�r�r5r8r;r>rArErHrQrRrrr+r+s6��:�0�*�$�$�G�B�.�*�.rr+c�T�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rg)�OpenTestiAzTest the open function.c�.�[R"U0UD6$r%)rrK)r+�args�kwargss   rrK�
OpenTest.openDs���x�x��(��(�(rc���SGH�nUS:Xa[UR5 URURU5nURUR5 SSS5 [URS5n[UR
55nURX0R5 SSS5 URURS5nURUR
5UR5 SSS5 URURS5nURUR5 SSS5 [URS5n[UR
55nURX0RS-5 SSS5 GM� g!,(df   GNM=f!,(df   GN=f!,(df   N�=f!,(df   N�=f!,(df   GM�=f)N)rW�xbrQr#rcr��r
r(rKrXr:rrMrp�r+rir[�	file_datas    r�test_binary_modes�OpenTest.test_binary_modesGsB�� �D��t�|��t�}�}�%����4�=�=�$�/�1�����	�	�"�0��d�m�m�T�*�a�*�1�6�6�8�4�	�� � ��I�I�6�+����4�=�=�$�/�1�� � �����4�9�9�5�0����4�=�=�$�/�1�����	�	�"�0��d�m�m�T�*�a�*�1�6�6�8�4�	�� � ��I�I��M�:�+�*�!�0�/��*�*��0�/��/�/��*�*��;�F �85F2�+G� G�8G&� 
F/	�2
G	�
G	�
G#	�&
G6	c���SGH�nUS:Xa[UR5 URURU5nURUR5 SSS5 [URS5n[UR
55nURX0R5 SSS5 URURS5nURUR
5UR5 SSS5 URURS5nURUR5 SSS5 [URS5n[UR
55nURX0RS-5 SSS5 GM� g!,(df   GNM=f!,(df   GN=f!,(df   N�=f!,(df   N�=f!,(df   GM�=f)N)r��xrYr#rer�r�rRrSs    r�test_implicit_binary_modes�#OpenTest.test_implicit_binary_modesXsB���D��s�{��t�}�}�%����4�=�=�$�/�1�����	�	�"�0��d�m�m�T�*�a�*�1�6�6�8�4�	�� � ��I�I�6�+����4�=�=�#�.�!�� � �����4�9�9�5�/����4�=�=�#�.�!�����	�	�"�/��d�m�m�T�*�a�*�1�6�6�8�4�	�� � ��I�I��M�:�+�*��0�/��*�*��/�.��.�.��*�*�rWc�8�URRS5nURS[R5nSGH�nUS:Xa[UR5 URURUSS9nURU5 SSS5 [URS5n[UR55RS5nURXR5 SSS5 URURSSS9nURUR5U5 SSS5 URURSSS9nURU5 SSS5 [URS5n[UR55RS5nURXRS	-5 SSS5 GM� g!,(df   GNA=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   GM�=f)
N�ascii�
)�wt�xtr`��encodingr#�rt�atr�)r:�decode�replacer)�linesepr
r(rKrXrrMrp)r+r��text_native_eolrir[rTs      r�test_text_modes�OpenTest.test_text_modesjs|���y�y����(���,�,�t�R�Z�Z�8�� �D��t�|��t�}�}�%����4�=�=�$���A�Q�����
�B��d�m�m�T�*�a�*�1�6�6�8�4�;�;�G�D�	�� � ��<�+����4�=�=�$���A�Q�� � �����4�0�B����4�=�=�$���A�Q�����
�B��d�m�m�T�*�a�*�1�6�6�8�4�;�;�G�D�	�� � ��a�,?�@�+�*�!�B�A��*�*��B�A��A�A��*�*�s<�8G�(:G�!G'�	G8�9=H	�
G	�
G$	�'
G5	�8
H	�	
H	c��SH�n[UR5 SU;aSOSnURURXS9nSSS5 UR[5 URURU5nSSS5 SSS5 M� g!,(df   NW=f!,(df   N,=f!,(df   M�=f)N)rYrQr`�t�utf-8ra)r
r(rKrg�FileExistsError)r+rirbr[s    r�test_x_mode�OpenTest.test_x_mode}s���%�D��4�=�=�!�"%��+�w�4�H����4�=�=�$��B�a��C��"�"�?�3��Y�Y�t�}�}�d�3�q��4�4�3�&�C�B��4�3��4�3�s/�B�B4�;B#�=B4�
B 	�#
B1�-B4�4
C	c��UR[UR5S5nURUR	5UR
5 SSS5 UR[UR5S5nURUR	5UR
5 SSS5 UR
R
S5nUR[UR5SSS9nURUR	5U5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   g=f)Nrer#r]rcrmra)rKrr;rprMr:re)r+r[r�s   r�test_fileobj�OpenTest.test_fileobj�s���
�Y�Y�w�t�y�y�)�3�
/�1����Q�V�V�X�t�y�y�1�0�
�Y�Y�w�t�y�y�)�4�
0�A����Q�V�V�X�t�y�y�1�1��y�y����(��
�Y�Y�w�t�y�y�)�4�'�Y�
B�a����Q�V�V�X�t�,�C�
B�0�
/��
0�
0��C�
B�s#�+D�>+D+�0!D<�
D(�+
D9�<
E
c��UR[URURS5 UR[URURS5 UR[URURSSS9 UR[URURSSS9 UR[URURSSS	9 g)
N�wbt�xbtr#rmra�ignore)�errorsr^)�newline)rgrirKr(r0s r�test_bad_params�OpenTest.test_bad_params�s������*��)�)�T�]�]�E�	;����*��)�)�T�]�]�E�	;����*��)�)�T�]�]�D�7�	�	L����*��)�)�T�]�]�D��	�	K����*��)�)�T�]�]�D�$�	�	Hrc��URRS5nURS[R5nURURSSS9nURU5 SSS5 [URS5n[UR55RS5nURXB5 SSS5 URURSSS9nURUR5U5 SSS5 g!,(df   N�=f!,(df   Nd=f!,(df   g=f)Nr]r^r_z	utf-16-lerar#rc)r:rerfr)rgrKr(rXrrMrp)r+r�rhr[rTs     r�
test_encoding�OpenTest.test_encoding�s����y�y����(���,�,�t�R�Z�Z�8��
�Y�Y�t�}�}�d�[�Y�
A�Q�
�G�G�D�M�B�
�$�-�-��
&�!�&�q�v�v�x�0�7�7��D�I����Y�8�'��Y�Y�t�}�}�d�[�Y�
A�Q����Q�V�V�X�t�,�B�
A�B�
A��
&�
&��B�
A�s$�D�:D�$!D0�
D�
D-�0
D>c�>�URURS5nURS5 SSS5 URURSSSS9nURUR	5S5 SSS5 g!,(df   NT=f!,(df   g=f)NrWsfoo�barrcr]rw)rbrx�foobar)rKr(rXrprMrDs  r�test_encoding_error_handler�$OpenTest.test_encoding_error_handler�sq��
�Y�Y�t�}�}�d�
+�q�
�G�G�M�"�,�
�Y�Y�t�}�}�d�W�X�Y�
N�����Q�V�V�X�x�0�O�
N�,�
+��
N�
N�s�A=�!B�=
B�
Bc�v�URRS5nURURSSSS9nUR	U5 SSS5 URURSSSS9nURUR
5U/5 SSS5 g!,(df   NU=f!,(df   g=f)Nr]r_rmr^)rbryrc�
)r:rerKr(rXrpr�)r+r�r[s   r�test_newline�OpenTest.test_newline�s����y�y����(��
�Y�Y�t�}�}�d�W�d�Y�
K�q�
�G�G�D�M�L�
�Y�Y�t�}�}�d�W�d�Y�
K�q����Q�[�[�]�T�F�3�L�
K�L�
K��
K�
K�s�B�."B*�
B'�*
B8rRN)r3r4r5r6r7rKrUrZrirorrrzr}r�r�rQrRrrrKrKAs9���)�;�";�$A�&�-�H�
-�1�4rrKc�.�[R"5 gr%)r�
reap_childrenrRrr�tearDownModuler��s�����r�__main__)*�testr�test.supportrrr��unittestrtrrr)r�rEr&r�rrrNrr	�test.support.os_helperr
rr�r�
import_modulerr
rrrr�TestCaserrTr�r�r+rKr�r3�mainrRrr�<module>r�s����(���	�+�	�
���
�
���&�)�3��
��!�!�%�(��7�7���$�;�x� � �;�|X/�(�X/�v05��05�fd3�(�d3�N%.�X�%.�Pv4�x�v4�r��z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit