HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //proc/thread-self/root/usr/local/lib/python3.7/test/__pycache__/test_memoryio.cpython-37.opt-2.pyc
B

��g�}�@s�ddlZddlmZddlZddlZddlZddlZGdd�d�ZGdd�d�Z	Gdd�d�Z
Gd	d
�d
e
e	ej�ZGdd�d�Z
Gd
d�de
e	e
ej�ZGdd�de
ej�ZGdd�de�ZGdd�de�ZGdd�de�Zedkr�e��dS)�N)�supportc@s eZdZdd�Zdd�ZeZdS)�IntLikecCs
||_dS)N)�_num)�selfZnum�r�./usr/local/lib/python3.7/test/test_memoryio.py�__init__szIntLike.__init__cCs|jS)N)r)rrrr�	__index__szIntLike.__index__N)�__name__�
__module__�__qualname__rr	�__int__rrrrrsrc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�MemorySeekTestMixincCs|�d�}|�|�}dS)N�
1234567890)�buftype�ioclass)r�buf�bytesIorrr�testInits
zMemorySeekTestMixin.testInitcCsx|�d�}|�|�}|�|dd�|�d��|�|dd�|�d��|�|dd�|�d��|�|j|���dS)Nr���i�)rr�assertEqual�read�EOF)rrrrrr�testReads

zMemorySeekTestMixin.testReadcCs:|�d�}|�|�}|�||���|�|j|���dS)Nr)rrrrr)rrrrrr�testReadNoArgs$s

z"MemorySeekTestMixin.testReadNoArgscCsn|�d�}|�|�}|�d�|�d�|�||���|�d�|�|dd�|���|�t|jd�dS)Nrrr�g)rrr�seekr�assertRaises�	TypeError)rrrrrr�testSeek+s




zMemorySeekTestMixin.testSeekcCs\|�d�}|�|�}|�d|���|�d�|�d|���|�d�|�d|���dS)Nrrri')rrr�tellr)rrrrrr�testTell7s



zMemorySeekTestMixin.testTellN)r
rrrrrr!r#rrrrrs
	rc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)S)*�MemoryTestMixincCs|��}|�|j|j�dS)N)rr�UnsupportedOperation�detach)rrrrr�test_detachDszMemoryTestMixin.test_detachcCs�|�|�|d��d�|�|�d�d�|�|�|d��d�|�|��d�|�|�d�d�|�|��d�|�|�|d��d�|�|�d�d�|�|�|d��d	�|�|�d
�d
�|�|��d	�dS)Nzblah.rrzHello.�z	 world


�	�hr�)r�writerr"�truncate)r�f�trrr�	write_opsHszMemoryTestMixin.write_opscCs�|�d�}|�|�}|�||j�|�|��|�|��}|�||j�|�|��|�|�t|jd�|��|�t	|j|�d��dS)Nzhello world
�)
rrr0r�getvaluerr r,�close�
ValueError)rr�memiorrr�
test_writeUs

zMemoryTestMixin.test_writecCs�|�d�}|��}|�|�|gd�d�|�|��|d�|�g�|�|��|d�|��}|�t|j|gdg�|�|��|�|�t|jd�|��|�t|jg�dS)Nr�dr)	rrr�
writelinesr2rr r3r4)rrr5rrr�test_writelinesbs

zMemoryTestMixin.test_writelinescs*���}�fdd�}��t|j|��dS)Nc3s��d�Vt�dS)N�spam)r�KeyboardInterruptr)rrr�	error_genssz8MemoryTestMixin.test_writelines_error.<locals>.error_gen)rrr;r8)rr5r<r)rr�test_writelines_errorqsz%MemoryTestMixin.test_writelines_errorcCsn|�d�}|�|�}|�t|jd�|�t|jtd��|�d�|�|�td��d�|�|��|dd��|�|��d�|�|��|dd��|�|�d�d�|�|��|dd��|�|�	�d�|�dd�|�
|�|�|��|dd�|�|�	�}|�|�d�|�|�|�	�|�|�t|jd�|��|�t|jd�|�t|jtd��dS)	Nr���r(�rr��0)
rrrr4r-rrrr2r"r,r r3)rrr5�posrrr�
test_truncateys,



zMemoryTestMixin.test_truncatecCs�|�d�}|�|�}|�|��|�|�d�}|�|��|j�|�|d�|�|��|d�|�|�|�|��|�|�t|jg�dS)Nrr@)rrrr2rrrr )rrr5rrr�	test_init�s



zMemoryTestMixin.test_initcCsz|�d�}|�|�}|�|�d�|j�|�|�d�|dd��|�|�d�|dd��|�|�d�|dd��|�|��|j�|�d�|�|�td��|j�|�|�td��|dd��|�|�td��|dd��|�|�td��|dd��|�d�|�|��|�|�|��|j�|�|��d�|�d�|�|�d�|�|�d�|�|�td��|�|�d�|�t|���t|��|�d	�|�t|���t|��|�d�|�|�d�|�|�	t
|jd
�|�t|�d�|�|�d�|j�|�t|�d�|�|�td��|j�|�t|�d�|�|��|j�|��|�	t
|j�dS)Nrrrrri��
r>r7r1)rrrrrrrr"�typerr �lenr3r4)rrr5rrr�	test_read�sF








zMemoryTestMixin.test_readcCs�|�d�}|�|d�}|�|�d�|j�|�|�td��|j�|�|��|�|�|��|�|�|��|j�|�d�|�|�d�|dd��|�|�d�|dd��|�|�d�|dd��|�d�|�|�td��|dd��|�|�td��|dd��|�|�td��|dd��|�d�|�|�d�|�|�d�|�|�td��|�|�d�|�|�d�|j�|�|�td��|j�|�t|�dd�|�|��|j�|�d�}|�|d	dd��}|�|��|�|�|��|�|�|��|dd��|�|��|j�|�d�|�t|���t|��|�|��|�|�	t
|jd
�|��|�	t|j�dS)Nz1234567890
r@rrrE�r>rrr1)
rrr�readlinerrrrGrFrr r3r4)rrr5rrr�
test_readline�sH







zMemoryTestMixin.test_readlinecCsZ|�d�}|�|d�}|�|��|gd�|�d�|�|��|dd�g|gd�|�d�|�|�d�|gd�|�d�|�|�d�|gd�|�d�|�|�d�|gd�|�d�|�t|��d�t|��|�d�|�|�d�|gd�|�t|jd	�|�t|�dd
�|�|��g�|�	�|�t
|j�dS)Nz1234567890
rErr)rrIr@r>r1r)rrr�	readlinesrrFrr rGr3r4)rrr5rrr�test_readlines�s(

$




zMemoryTestMixin.test_readlinescCs|�d�}|�|d�}|�t|�|�|�t|d��|�t|d��d}x |D]}|�||�|d7}qRW|�|d�|�d�d}x |D]}|�||�|d7}q�W|�|d�|�t|�dd�|�t|�g�|�|d�}|�	�|�
t|j�dS)Nz1234567890
rE�__iter__�__next__rrr@)
rrr�iterZ
assertTrue�hasattrrrG�listr3rr4rO)rrr5�i�linerrr�
test_iterators*



zMemoryTestMixin.test_iteratorcCs�|�d�}|�|�}|�|��|�|��|�|��|�|�t|���t|��|�|d�}|�|��dd�|�d��|�|�}|��|�t|j�dS)Nri����Z890)	rrrr2rrFr3rr4)rrr5rrr�
test_getvalues


zMemoryTestMixin.test_getvaluecCs\|�d�}|�|�}|�d�|�t|jd�|�t|jdd�|�t|jdd�|�|�d�d�|�|�dd�d�|�|��|�|�|�d�d�|�|�dd�d�|�|��|dd��|�|�t|��t|��|�|��|j�|�t|�d�|�|��|j�|�|�dd�t|��|�|��|j�|�	�|�t|jd�dS)Nrrr>rrrr@)
rrrrr4rrrGrr3)rrr5rrr�	test_seek,s(


zMemoryTestMixin.test_seekcCs�|�d�}|�|�}|�|�t|�d�d�|�|��|j�|�|��d�|�|��|�|�	|j�|�|��|�|�	|�|�|��||�d�|�dS)Nrr��)
rrrrrGrrr"r2r,)rrr5rrr�
test_overseekCs


zMemoryTestMixin.test_overseekcCsr|�d�}|�|�}|�|��d�|�d�|�|��d�|�d�|�|��d�|��|�t|j�dS)Nrrri')rrrr"rr3rr4)rrr5rrr�	test_tellPs



zMemoryTestMixin.test_tellcCs(|�d�}|�|�}|�|��d�dS)Nr)rrr�flush)rrr5rrr�
test_flush\s

zMemoryTestMixin.test_flushcCs�|��}|�|��d�|�|��d�|�|��d�|�|��d�|�|jd�|��|�t	|j�|�t	|j�|�t	|j�|�t	|j�|�|jd�dS)NTF)
rr�writable�readable�seekable�isatty�closedr3rr4)rr5rrr�
test_flagsbszMemoryTestMixin.test_flagscsF��d����fdd�}��fdd�}��|�����|���dS)Nrcs"Gdd�d�j�}|��}|��S)Nc@seZdZdS)z>MemoryTestMixin.test_subclassing.<locals>.test1.<locals>.MemION)r
rrrrrr�MemIOtsre)rr2)re�m)rrrr�test1ssz/MemoryTestMixin.test_subclassing.<locals>.test1cs(G�fdd�d�j�}|�d�}|��S)NcseZdZ�fdd�ZdS)z>MemoryTestMixin.test_subclassing.<locals>.test2.<locals>.MemIOcs�j�||�dS)N)rr)�me�a�b)rrrrzszGMemoryTestMixin.test_subclassing.<locals>.test2.<locals>.MemIO.__init__N)r
rrrr)rrrreysre)rr2)rerf)rrrr�test2xs
z/MemoryTestMixin.test_subclassing.<locals>.test2)rr)rrgrkr)rrr�test_subclassingqs

z MemoryTestMixin.test_subclassingcCs$xtd�D]}|��}d|_q
WdS)Nr7r)�ranger�foo)r�_r5rrr�test_instance_dict_leak�sz'MemoryTestMixin.test_instance_dict_leakc	s��d�}��|�}d|_|�d�G�fdd�d�j�}ddl}d|_|j|_||_||d�}|�d�x�t	dt
jd	�D]�}x�||fD]z}t
�t
j
||d
��}��|��|�����|j|j���|j|j���|��|���|����tt
j
||�q�Wq|W|`dS)Nr�*r@cseZdZ�fdd�ZdS)z6MemoryTestMixin.test_pickling.<locals>.PickleTestMemIOcs�j�||�||_dS)N)rrrn)rhZ	initvaluern)rrrr�sz?MemoryTestMixin.test_pickling.<locals>.PickleTestMemIO.__init__N)r
rrrr)rrr�PickleTestMemIO�srrr�__main__�Pr)Zprotocol)rrrnrrsrr
rrrrm�pickleZHIGHEST_PROTOCOL�loads�dumpsrr2�	__class__r"r3rr4)	rrr5rrrsZsubmemio�proto�objZobj2r)rr�
test_pickling�s*




zMemoryTestMixin.test_picklingN)r
rrr'r0r6r9r=rCrDrHrKrMrUrWrXr[r\r^rdrlrpr{rrrrr$Bs(

&)
r$c@s`eZdZejZedd��ZejZdZ	dd�Z
dd�Zdd	�Zd
d�Z
dd
�Zdd�Zdd�ZdS)�
PyBytesIOTestcCs
|�d�S)N�ascii)�encode)�srrrr�szPyBytesIOTest.buftype�cCs�|�d�}|��}|�t|�d�|�d�|��}|�t|�d�|�t|jd�|�t|j�|�t|j	�|�
|j�d|dd�<|�t|�d�|�|��d�~t
��|��|�	�|�t|j�dS)Ns
1234567890rsdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsabcrr(s
123abc7890)r�	getbufferr�bytesrr�BufferErrorr,r-r3�assertFalsercr2rZ
gc_collectr4)rr5rrrr�test_getbuffer�s$

zPyBytesIOTest.test_getbuffercCs<|�d�}|�|�|���|�|�|�|��d�|�dS)Nrr>)rrr�read1)rrrrr�
test_read1�s
zPyBytesIOTest.test_read1cCsj|�d�}|�|�}td�}|�|�|�d�|�|d�|�|�|�d�|�|d�|�|�|�d�|�|d�td�}|�d�|�|�|�d�|�|d	�td
�}|�d�|�|�|�d�|�|d
�|�t|jd�ddl}|�dd�}|�|�}|�|�|�|�	�d	�|�
�|�t|j|�|�d
�}t�}|�d�|�|�|�|d
�dS)Nrshellors12345s67890rshello worldrEs1234567890dr�r1rjs123rq)rr�	bytearrayr�readintorrr �array�tobytesr3r4)rrr5rjr�rirrr�
test_readinto�s<








zPyBytesIOTest.test_readintocCs�|�d�}|�|�}|�|�dd�d�|�|�dd�d�|�|�dd�d�|�|�dd�d�|�|�dd�d	�|�|�dd�d
�|�dd�|�|��|dd��|�d�|�dd�|�|��|dd��dS)Nrr>rrr���r@r)rErYrV)rrrrr)rrr5rrr�test_relative_seek�s


z PyBytesIOTest.test_relative_seekcCs>|��}|�t|jd�|�t|jd�|�t|jdg�dS)Nr)rrr r,r8)rr5rrr�test_unicodeszPyBytesIOTest.test_unicodecCs\d}ddl}|�dt|��}|�|�}|�|��|�|�|�|�d�|�|��|�dS)Ns
1234567890rrjrE)r�rRrrr2r,)rrr�rir5rrr�test_bytes_arrays
zPyBytesIOTest.test_bytes_arraycCs.|�d�}|j|d�|jt|j|dd�dS)Nr)Z
initial_bytes)rn)rrrr )rrrrr�test_issue5449s
zPyBytesIOTest.test_issue5449N)r
rr�pyior%�staticmethodr�BytesIOrrr�r�r�r�r�r�r�rrrrr|�s!	r|c@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�TextIOTestMixincs�|jdd���fdd�}|��jd���d�|�|��jd���d�|�|��jd���d�|�|��jd	�dS)
N)�newlinecs��d����dS)Nr)rrr)r5rr�force_decode%s
z<TextIOTestMixin.test_newlines_property.<locals>.force_decodeza
�
zb
)r�z
zc
d)�
r�z
)rr�newlinesr,)rr�r)r5r�test_newlines_property s


z&TextIOTestMixin.test_newlines_propertycCsx|��}|�t|jdd�|�t|jdd�|�t|jdd�|�t|jdd�|�t|jdd�|�t|jdd�dS)Nr>rrrVr@)rr�OSErrorr)rr5rrrr�3sz"TextIOTestMixin.test_relative_seekcCs0|��}|�|j�|�|j�|�|j�dS)N)rZassertIsNone�encoding�errorsr��line_buffering)rr5rrr�test_textio_properties=sz&TextIOTestMixin.test_textio_propertiescCs~|�d�}|�t|�dddg�|�|��d�|��}|�|�d�d�|�d�|�t|�dddg�|�|��d�dS)Nza
b
c
dza
zb
zc
dr?r)rrrRr2r,r)rr5rrr�test_newline_defaultFs

z$TextIOTestMixin.test_newline_defaultcCs|jddd�}|�t|�ddddg�|�d�|�|�d�d	�|�|�d
�d�|�|�d
�d�|�|�d�d
�|�|��d�|jdd�}|�d
|�d��|�d|�d��|�d|�d��|�d�|�|��d�|�|��d�|jddd�}|�|�d�d�dS)Nza
b
c
d)r�za
zb
zc
�drrrir@z
bz
cr�za
b
c
drzb
zc
dza
bza
b)rrrRrrr2r,)rr5rrr�test_newline_noneQs"

z!TextIOTestMixin.test_newline_nonecCs|jddd�}|�t|�ddddg�|�d�|�|�d	�d
�|�|�d�d�|�|�d
�d�|�|��d�|jdd�}|�d|�d��|�d|�d��|�d|�d��|�d|�d��|�d�|�t|�ddddg�|�|��d�dS)Nza
b
c
dr1)r�za
zb
zc
r�rrza
b
r@z
crr�zb
z
d)rrrRrrr2r,)rr5rrr�test_newline_emptygs

z"TextIOTestMixin.test_newline_emptycCs�|jddd�}|�t|�dddg�|�|��d�|jdd�}|�|�d�d�|�d�|�t|�dddg�|�|��d�dS)	Nza
b
c
dr�)r�za
zb
zc
dr?r)rrrRr2r,r)rr5rrr�test_newline_lfzs
zTextIOTestMixin.test_newline_lfcCs�|jddd�}|�|��d�|�d�|�t|�ddddd	g�|�|��d�|jdd�}|�|�d�d
�|�d�|�t|�ddddd	g�|�d�|�|��ddddd	g�|�|��d�dS)Nza
b
c
dr�)r�za
b

c
drza
zb
zc
r�r?)rrrrrRr2r,rL)rr5rrr�test_newline_cr�s


zTextIOTestMixin.test_newline_crcCs�|jddd�}|�|��d�|�d�|�t|�dddg�|�d�|�|��dddg�|�|��d�|jdd�}|�|�d�d	�|�d�|�t|�dddg�|�|��d�dS)
Nza
b
c
dz
)r�z
a
b

c
drza
zb

zc
dr?)rrrrrRrLr2r,)rr5rrr�test_newline_crlf�s


z!TextIOTestMixin.test_newline_crlfcCs4|jddd�}|�|�d�d�|�|��d�dS)Nza
b
)r�rza
b
)rrrr2)rr5rrr�test_issue5265�szTextIOTestMixin.test_issue5265cCsB|jt|jdd�|jt|jdd�xdD]}|j|d�q*WdS)N�
)r��error)Nr1r�r�z
)rr rr4)rr�rrr�test_newline_argument�s
z%TextIOTestMixin.test_newline_argumentN)r
rrr�r�r�r�r�r�r�r�r�r�r�rrrrr�s
	r�c@s(eZdZeZejZejZdZ	dd�Z
dS)�PyStringIOTestr1cCs@|�d�}|�|��d�|��}|�d�|�|��d�dS)Nu�)rrrr,r2)rr5rrr�test_lone_surrogates�s


z#PyStringIOTest.test_lone_surrogatesN)r
rr�strrr��StringIOrr%rr�rrrrr��s
r�c@s,eZdZeZejZdZGdd�dej�Z	dS)�PyStringIOPickleTestr1c@seZdZdd�Zdd�ZdS)zPyStringIOPickleTest.ioclasscOst�t�tj||���S)N)rurvrwr�r�)�cls�args�kwargsrrr�__new__�sz$PyStringIOPickleTest.ioclass.__new__cOsdS)Nr)rr�r�rrrr�sz%PyStringIOPickleTest.ioclass.__init__N)r
rrr�rrrrrr�srN)
r
rrr�rr�r%rr�rrrrrr��sr�c@s|eZdZejZejZdd�Zdd�Ze	j
Z
e	jdd��Zdd�Z
e	jd	d
��Ze	jdd��Ze	jd
d��Ze	jdd��ZdS)�CBytesIOTestcCsr|��}|��}|�t|�d�t|d�|�|dt�|ddk	rX|�|dt�|��|�	t
|j�dS)Nrrrr@)r�__getstate__rrGr��assertIsInstance�int�dictr3rr4)rr5�staterrr�
test_getstate�szCBytesIOTest.test_getstatecCs�|��}|�d�|�td�ddf�|�ddddif�|�t|jd�|�t|jd�|�t|jd�|�t|jd	�|�t|jd
�|�t|j�|�t|jd�|��|�t|jd�dS)N)sno errorrNsno errorrr:r)r�r>N)ZunicoderN)r�gN)r�rr)slen-testr)sclosedrN)r�__setstate__r�rr4r r3)rr5rrr�
test_setstate�s
zCBytesIOTest.test_setstatecCs^t�d�}|j}|�t�t���|�|t��|�d}|t�d|�|t�	d|��dS)NZP2n2Pni��a)
rZcalcobjsize�check_sizeofr�object�
__sizeof__�ior��sys�	getsizeof)rZbasesizeZcheck�nrrr�test_sizeof�s
zCBytesIOTest.test_sizeofcCsLd}t�|�}|�|�}|�t�|�|d�||�|�t�|�|�dS)Ns                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                r)r��getrefcountrr)r�mutationZimm�old_rcr5rrr�_test_cow_mutation�s

zCBytesIOTest._test_cow_mutationcCsdd�}|�|�dS)NcSs|�d�dS)Nr)r-)r5rrrr�sz0CBytesIOTest.test_cow_truncate.<locals>.mutation)r�)rr�rrr�test_cow_truncateszCBytesIOTest.test_cow_truncatecCsdd�}|�|�dS)NcSs|�d�|�d�dS)Nrsfoo)rr,)r5rrrr�s
z-CBytesIOTest.test_cow_write.<locals>.mutation)r�)rr�rrr�test_cow_writeszCBytesIOTest.test_cow_writecs,|�d�}|����fdd�}|�|�dS)Nsfoooooocs|���dS)N)r�)r5)r�rrr�sz0CBytesIOTest.test_cow_setstate.<locals>.mutation)rr�r�)rr5r�r)r�r�test_cow_setstates
zCBytesIOTest.test_cow_setstatecCs2td�}t�|�}|�|�}|�t�|�|�dS)Ni)r�r�r�rr)rZbar�r5rrr�test_cow_mutable s

zCBytesIOTest.test_cow_mutableN)r
rrr�r�rr%r�r�rr�Zcpython_onlyr�r�r�r�r�r�rrrrr��s		r�c@s0eZdZejZejZdd�Zdd�Zdd�Z	dS)�
CStringIOTestcCs�|�d�}|�|�}|�|��|�|�|�|�t|��|�|��t|��|�|��|�|�|�|�t|��|�|��t|�d�|�|��||�dS)Nu𠌊𠍇r@)rrrr2r,rGr")rrr5rrr�
test_widechar0s

zCStringIOTest.test_widecharcCs�|��}|��}|�t|�d�|�|dt�|�|dt�|�|dt�|ddk	rl|�|dt�|��|�	t
|j�dS)Nrrrr@r)rr�rrGr�r�r�r�r3rr4)rr5r�rrrr�<szCStringIOTest.test_getstatecCs�|��}|�d�|�dddddif�|�t|jd�|�t|jd�|�t|jd	�|�t|jd
�|�t|jd�|�t|jd�|�t|jd
�|�t|j�|�t|jd�|��|�t|jd�dS)N)zno errorr�rNzno errorr1rr:r)r1r.rN)r1r1r>N)r�r1rN)r1r�rN)r1r1gN)r1r1rr)zlen-testr)rcr1rN)rr�rr4r r3)rr5rrrr�Hs
zCStringIOTest.test_setstateN)
r
rrr�r�rr%r�r�r�rrrrr�*s
r�c@s$eZdZejZGdd�dej�ZdS)�CStringIOPickleTestc@seZdZdd�Zdd�ZdS)zCStringIOPickleTest.ioclasscOst�t�tj||���S)N)rurvrwr�r�)r�r�r�rrrr�^sz#CStringIOPickleTest.ioclass.__new__cOsdS)Nr)rr�r�rrrr`sz$CStringIOPickleTest.ioclass.__init__N)r
rrr�rrrrrr]srN)r
rrr�r%r�rrrrrr�Zsr�rs)ZunittestZtestrr�Z_pyior�rur�rrr$ZTestCaser|r�r�r�r�r�r�r
�mainrrrr�<module>s*-np
W0