Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_asynchat.cpython-39.opt-1.pyc

a

��g�$�@sddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZej
Z
dZGdd�de	j�ZGdd�dej�Zd	d
�ZGdd�dej�ZGd
d�de�ZGdd�dej�ZGdd�dej�ZGdd�dej�Zedkr�e��dS)�)�support)�
socket_helperNsQUIT
c@s eZdZdZdd�Zdd�ZdS)�echo_server�cCs<tj�|�||_t�tjtj�|_t�	|j�|_
d|_dS�N)�	threading�Thread�__init__�event�socket�AF_INET�SOCK_STREAM�sockrZ	bind_port�port�start_resend_event)�selfr
�r�./usr/local/lib/python3.9/test/test_asynchat.pyr	s
zecho_server.__init__cCs�|j��|j��|j��\}}d|_t|jvrP|�d�}|sBqP|j||_q(|j�td�|_|j	rp|j	�
�z<|jr�|�|jd|j��}t
�d�|j|d�|_qrWnYn0|��|j��dS)N�rg����MbP?)r�listenr
�set�accept�buffer�SERVER_QUIT�recv�replacer�wait�send�
chunk_size�time�sleep�close)r�conn�client�data�nrrr�run"s*





zecho_server.runN)�__name__�
__module__�__qualname__rr	r&rrrrrs	rc@s>eZdZdd�Zdd�Zejdkr*dd�Zdd	�Zd
d�Z	dS)
�echo_clientcCsDtj�|�g|_|�tjtj�|�t	|f�|�
|�d|_dS�Nr)�asynchat�
async_chatr	�contentsZ
create_socketrrr
�connect�HOST�set_terminatorr)r�
terminatorZserver_portrrrr	Ds
zecho_client.__init__cCsdSrr�rrrr�handle_connectLszecho_client.handle_connect�darwincCsdSrrr3rrr�handle_exptRszecho_client.handle_exptcCs|j|7_dSr)r)rr$rrr�collect_incoming_dataUsz!echo_client.collect_incoming_datacCs|j�|j�d|_dSr+)r.�appendrr3rrr�found_terminatorXszecho_client.found_terminatorN)
r'r(r)r	r4�sys�platformr6r7r9rrrrr*Bs
r*cCs:t��}t|�}|��|��|��t�d�||fS)N�{�G�z�?)r�Eventr�startr�clearrr )r
�srrr�start_echo_server\s
rAc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd S)!�TestAsynchatFcCst��|_dSr)rZthreading_setup�_threadsr3rrr�setUpiszTestAsynchat.setUpcCstj|j�dSr)rZthreading_cleanuprCr3rrr�tearDownlszTestAsynchat.tearDowncCs�t��}t|�}||_|��|��|��t�d�t	||j
�}|�d�|�d|�|�d|�|�t�t
j|jddd�t�|�|�|jddg�dS)Nr<shello sworld�I'm not dead yet!�,�Zuse_poll�count�timeout�hello world)rr=rrr>rr?rr r*r�pushr�asyncore�loop�usepollr�join_thread�assertEqualr.)rZtermZserver_chunkr
r@�crrr�line_terminator_checkos



z"TestAsynchat.line_terminator_checkcCsdD]}|�d|�qdS)N�r���
�rS�r�lrrr�test_line_terminator1�sz"TestAsynchat.test_line_terminator1cCsdD]}|�d|�qdS)NrTs
rXrYrrr�test_line_terminator2�sz"TestAsynchat.test_line_terminator2cCsdD]}|�d|�qdS)NrTsqqqrXrYrrr�test_line_terminator3�sz"TestAsynchat.test_line_terminator3cCsft�\}}t||j�}d}|�|�|�t�tj|jddd�t�	|�|�
|j|d|�g�dS�Nshello world, I'm not dead yet!
rGr<rH�rAr*rrLrrMrNrOrrPrQr.)rZtermlenr@r
rRr$rrr�numeric_terminator_check�s



z%TestAsynchat.numeric_terminator_checkcCs|�d�dS)Nr�r`r3rrr�test_numeric_terminator1�sz%TestAsynchat.test_numeric_terminator1cCs|�d�dS)N�rar3rrr�test_numeric_terminator2�sz%TestAsynchat.test_numeric_terminator2cCsjt�\}}td|j�}d}|�|�|�t�tj|jddd�t�	|�|�
|jg�|�
|j|�dSr^)
rAr*rrLrrMrNrOrrPrQr.r�rr@r
rRr$rrr�test_none_terminator�s



z!TestAsynchat.test_none_terminatorcCsht�\}}td|j�}d}tj|tdd�}|�|�tj|j	ddd�t
�|�|�|j
dd	g�dS)
NrW�hello world
I'm not dead yet!
�)Zbuffer_sizerGr<rHrKrF)rAr*rr,Zsimple_producerr�push_with_producerrMrNrOrrPrQr.)rr@r
rRr$�prrr�test_simple_producer�s


z!TestAsynchat.test_simple_producercCsZt�\}}td|j�}d}|�|t�tj|jddd�t�	|�|�
|jddg�dS)NrWrgrGr<rHrKrF)rAr*rrirrMrNrOrrPrQr.rerrr�test_string_producer�s

z!TestAsynchat.test_string_producercCs\t�\}}td|j�}|�d�|�t�tj|jddd�t�	|�|�
|jgd��dS)NrWshello world

I'm not dead yet!
rGr<rH)rKrrFr_�rr@r
rRrrr�test_empty_line�s



�zTestAsynchat.test_empty_linecCs�t�\}}t��|_td|j�}|�d�|�t�|��t	j
|jddd�|j��t
�|�|�|jg�|�t|j�d�dS)NrWrgrGr<rHr)rArr=rr*rrLrZclose_when_donerMrNrOrrrPrQr.Z
assertGreater�lenrrmrrr�test_close_when_done�s





z!TestAsynchat.test_close_when_donecCs�t�\}}td|j�}d}|�|�|�t|��|�t|��|�t|jd�|�t|jd�|�t�t	j
|jddd�t�
|�|�|jgd��dS)	NrWsbytes
�
�unicoderGr<rH)�bytesrsrs)rAr*rrL�	bytearray�
memoryview�assertRaises�	TypeErrorrrMrNrOrrPrQr.rerrr�	test_push�s



zTestAsynchat.test_pushN)r'r(r)rOrDrErSr[r\r]r`rbrdrfrkrlrnrprxrrrrrBfs 

rBc@seZdZdZdS)�TestAsynchat_WithPollTN)r'r(r)rOrrrrry�sryc@seZdZdd�ZdS)�TestAsynchatMockedcCs~tj��}ttj�|j_t�	�}|�
|�|�|j�tjj
�|d��}|��Wd�n1sd0Y|�|j�dS)NZhandle_error)�unittestZmockZMock�BlockingIOError�errno�EAGAINrZside_effectr,r-Z
set_socketZ
addCleanupZdel_channelZpatch�objectZhandle_readZassertFalseZcalled)rr�
dispatcher�errorrrr�test_blockingioerrors

&z'TestAsynchatMocked.test_blockingioerrorN)r'r(r)r�rrrrrzsrzc@seZdZdd�ZdS)�TestHelperFunctionscCs,|�t�dd�d�|�t�dd�d�dS)Nzqwerty
z
rZ
qwertydkjfr)rQr,Zfind_prefix_at_endr3rrr�test_find_prefix_at_endsz+TestHelperFunctions.test_find_prefix_at_endN)r'r(r)r�rrrrr�sr�c@seZdZdd�ZdS)�TestNotConnectedcCst��}|�t|jd�dS)N���)r,r-rv�
ValueErrorr1)rr#rrr�!test_disallow_negative_terminatorsz2TestNotConnected.test_disallow_negative_terminatorN)r'r(r)r�rrrrr�sr��__main__)�testrZtest.supportrr,rMr}rr:rrr{Z
unittest.mockr0rrrr-r*rAZTestCaserBryrzr�r�r'�mainrrrr�<module>s..


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists