403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_asyncore.cpython-36.pyc
3

�w2_ i�@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZe
j
rpejd��yddlZWnek
r�dZYnXdZeed�ZGdd�d�ZGd	d
�d
�ZGdd�d�ZGd
d�d�Zdd�Zdd�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Zej eed�d�Gdd�dej��Z!Gdd �d ej"�Z#Gd!d"�d"ej"�Z$Gd#d$�d$e#�Z%Gd%d&�d&�Z&Gd'd(�d(e&�Z'ej e
j(d)�Gd*d+�d+e&��Z)ej ed,�Gd-d.�d.e&��Z*Gd/d0�d0e'ej�Z+ej eed1�d2�Gd3d4�d4e'ej��Z,Gd5d6�d6e)ej�Z-ej eed1�d2�Gd7d8�d8e)ej��Z.Gd9d:�d:e*ej�Z/ej eed1�d2�Gd;d<�d<e*ej��Z0e1d=k�r�ej2�dS)>�N)�support)�BytesIOztest is not helpful for PGO��AF_UNIXc@s$eZdZdd�Zdd�Zdd�ZdS)�dummysocketcCs
d|_dS)NF)�closed)�self�r	�7/opt/alt/python36/lib64/python3.6/test/test_asyncore.py�__init__szdummysocket.__init__cCs
d|_dS)NT)r)rr	r	r
�closeszdummysocket.closecCsdS)N�*r	)rr	r	r
�fileno szdummysocket.filenoN)�__name__�
__module__�__qualname__rrrr	r	r	r
rsrc@seZdZdd�Zdd�ZdS)�dummychannelcCst�|_dS)N)r�socket)rr	r	r
r$szdummychannel.__init__cCs|jj�dS)N)rr)rr	r	r
r'szdummychannel.closeN)rrrrrr	r	r	r
r#src@s(eZdZdd�Zdd�ZeZeZeZdS)�exitingdummycCsdS)Nr	)rr	r	r
r+szexitingdummy.__init__cCstj��dS)N)�asyncore�ExitNow)rr	r	r
�handle_read_event.szexitingdummy.handle_read_eventN)rrrrr�handle_write_event�handle_close�handle_expt_eventr	r	r	r
r*s
rc@s0eZdZdd�Zdd�ZeZeZeZdd�ZdS)�
crashingdummycCs
d|_dS)NF)�
error_handled)rr	r	r
r6szcrashingdummy.__init__cCs
t��dS)N)�	Exception)rr	r	r
r9szcrashingdummy.handle_read_eventcCs
d|_dS)NT)r)rr	r	r
�handle_error@szcrashingdummy.handle_errorN)	rrrrrrrrrr	r	r	r
r5srcCs�z�y|j�|j�\}}Wntjk
r0Yn�Xd}tj�}xp|dkr�tj�|dkr�tj|gggd�\}}}	|r�|d8}|jd�}
|j|
jdd��d|
kr�Ptj	d	�q@W|j
�Wd|j
�|j�XdS)
N��rg@g�������?��
�
�g{�G�z�?)�listenZacceptr�timeout�time�select�recv�write�replace�sleepr�set)�evtZbufZserv�conn�addr�n�start�r�w�e�datar	r	r
�capture_serverDs&
r6cCs6tr(|jtjkr(tj|�tj||�n
|j|�dS)z9Helper function to bind a socket according to its family.N)�HAS_UNIX_SOCKETS�familyrrr�unlinkZbind_unix_socket�bind)�sockr/r	r	r
�
bind_af_aware]s
r<c@sNeZdZdd�Zejeed�d�dd��Zdd�Z	d	d
�Z
dd�Zd
d�ZdS)�HelperFunctionTestscCs�t�}|jtjtj|�|jtjtj|�|jtjtj|�t�}tj|�|j|j	d�t�}tj|�|j|j	d�t�}tj|�|j|j	d�dS)NT)
r�assertRaisesrr�readr)Z
_exceptionr�assertEqualr)r�tr1�tr2r	r	r
�test_readwriteexchs


z%HelperFunctionTests.test_readwriteexc�pollzselect.poll requiredc
Cs�d
}tjdftjdftjdftjdftjdftjdff}Gdd�d�}x�|D]�\}}|�}|jt||�d�t	j
||�x"|D]}|jt||�||k�q~Wt�}|jt	j
t	j
||�t�}	|j|	jd�t	j
|	|�|j|	jd	�qLWdS)Nr?�exptr)rrc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)z3HelperFunctionTests.test_readwrite.<locals>.testobjcSs"d|_d|_d|_d|_d|_dS)NF)r?r)rrEr)rr	r	r
r�s
z<HelperFunctionTests.test_readwrite.<locals>.testobj.__init__cSs
d|_dS)NT)r?)rr	r	r
r�szEHelperFunctionTests.test_readwrite.<locals>.testobj.handle_read_eventcSs
d|_dS)NT)r))rr	r	r
r�szFHelperFunctionTests.test_readwrite.<locals>.testobj.handle_write_eventcSs
d|_dS)NT)r)rr	r	r
r�sz@HelperFunctionTests.test_readwrite.<locals>.testobj.handle_closecSs
d|_dS)NT)rE)rr	r	r
r�szEHelperFunctionTests.test_readwrite.<locals>.testobj.handle_expt_eventcSs
d|_dS)NT)r)rr	r	r
r�sz@HelperFunctionTests.test_readwrite.<locals>.testobj.handle_errorN)	rrrrrrrrrr	r	r	r
�testobj�srFFT)r?rEr)rr)r'ZPOLLINZPOLLPRIZPOLLOUTZPOLLERRZPOLLHUPZPOLLNVALr@�getattrrZ	readwriterr>rrr)
rZ
attributes�expectedrF�flagZexpectedattrZtobj�attrrArBr	r	r
�test_readwrite�s(
z"HelperFunctionTests.test_readwritecCs|jd�dS)NF)�closeall_check)rr	r	r
�
test_closeall�sz!HelperFunctionTests.test_closeallcCs|jd�dS)NT)rL)rr	r	r
�test_closeall_default�sz)HelperFunctionTests.test_closeall_defaultcCs�g}i}x8td�D],}t�}|j|�|j|jjd�|||<qW|rrtj}z|t_tj�Wdtj|}t_Xn
tj|�|jt	|�d�x|D]}|j|jjd�q�WdS)Nr!FrT)
�ranger�appendr@rrr�
socket_map�	close_all�len)rZ
usedefault�lZtestmap�i�cZ	socketmapr	r	r
rL�s"


z"HelperFunctionTests.closeall_checkcCs�ytd��Wn"tj�\}}}tj�}YnX|jd�|\\}}}}}	}
|jtjj	|�dd�|j|d�|j||�|j|	|�|j|
d|||f�dS)NzI don't like spam!zExpected exceptionr ztest_asyncore.py�test_compact_tracebackz
[%s|%s|%s]���)
r�sys�exc_inforZcompact_traceback�failr@�os�path�split)rZreal_tZreal_vZreal_tbr2�fZfunction�line�t�v�infor	r	r
rW�s
z*HelperFunctionTests.test_compact_tracebackN)
rrrrC�unittest�
skipUnless�hasattrr'rKrMrNrLrWr	r	r	r
r=gs<r=c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�DispatcherTestscCsdS)Nr	)rr	r	r
�setUp�szDispatcherTests.setUpcCstj�dS)N)rrR)rr	r	r
�tearDown�szDispatcherTests.tearDowncCs,tj�}|j|j�d�|j|j�d�dS)NT)r�
dispatcherr@�readable�writable)r�dr	r	r
�
test_basic�szDispatcherTests.test_basiccCs$tj�}|jt|�dt|��dS)Nz<asyncore.dispatcher at %#x>)rrjr@�repr�id)rrmr	r	r
�	test_repr�szDispatcherTests.test_reprcCs`tj�}d}d}tj��}|j|�|j|�WdQRX|j�j�}|j|d|d|g�dS)NzLovely spam! Wonderful spam!zI don't like spam!zlog: %s)rrjrZcaptured_stderr�log�getvalue�
splitlinesr@)rrm�l1�l2�stderr�linesr	r	r
�test_logs

zDispatcherTests.test_logcCs|tj�}d}d}d}tj��(}|j|d�|j|�|j|d�WdQRX|j�j�}d|d|d|g}|j||�dS)	Nz#Have you got anything without spam?z.Why can't she have egg bacon spam and sausage?zTHAT'S got spam in it!ZEGGSZSPAMzEGGS: %szinfo: %szSPAM: %s)rrjr�captured_stdoutZlog_inforsrtr@)rrmrurv�l3�stdoutrxrHr	r	r
�
test_log_infos

zDispatcherTests.test_log_infocCsjtj�}f|_tj��&}|j�|j�|j�|j�WdQRX|j	�j
�}ddddg}|j||�dS)Nz*warning: unhandled incoming priority eventzwarning: unhandled read eventzwarning: unhandled write eventz warning: unhandled connect event)rrjZignore_log_typesrrz�handle_expt�handle_read�handle_write�handle_connectrsrtr@)rrmr|rxrHr	r	r
�test_unhandleds
zDispatcherTests.test_unhandledcCsFtjtj�}ttd�r*|j|tjtj��tjd�}|j|dk�dS)N�strerrorr �rX)	rZ	_strerror�errnoZEPERMrfr\r@r��
assertTrue)r�errr	r	r
�
test_strerror1s


zDispatcherTests.test_strerrorN)rrrrhrirnrqryr}r�r�r	r	r	r
rg�s
rgc@seZdZdd�Zdd�ZdS)�dispatcherwithsend_noreadcCsdS)NFr	)rr	r	r
rk;sz"dispatcherwithsend_noread.readablecCsdS)Nr	)rr	r	r
r�>sz(dispatcherwithsend_noread.handle_connectN)rrrrkr�r	r	r	r
r�:sr�c@s6eZdZdd�Zdd�Zejed�ej	dd���Z
dS)	�DispatcherWithSendTestscCsdS)Nr	)rr	r	r
rhCszDispatcherWithSendTests.setUpcCstj�dS)N)rrR)rr	r	r
riFsz DispatcherWithSendTests.tearDownz!Threading required for this test.c
Cstj�}tj�}|jd�tj|�}t�}|||f}tjt|d�}|j	�z�t
jd�d}t�}|j
�|jtj|f�t
jd�|j|�|j|�|jd�d}	x"|jr�|	dkr�tj�|	d	8}	q�W|j�|j|j�|d
�Wd|jtd�|j��r|jd�XdS)
Nr)�target�argsg�������?s$Suppose there isn't a 16-ton weight?g�������?r"i�rr �)r%zjoin() timed out)�	threadingZEventr�
settimeoutrZ	bind_portr�Threadr6r1r&r+r��
create_socket�connect�HOST�sendZ
out_bufferrrD�waitr@rs�join�TIMEOUT�is_aliver[)
rr-r;�portZcapr�rar5rmr0r	r	r
�	test_sendIs6








z!DispatcherWithSendTests.test_sendN)rrrrhrirdrer�r�reap_threadsr�r	r	r	r
r�Bs
r��file_wrapperzasyncore.file_wrapper requiredc@sVeZdZdd�Zdd�Zdd�Zdd�Zeje	e
d	�d
�dd��Zd
d�Zdd�Z
dS)�FileWrapperTestc	Cs.d|_ttjd��}|j|j�WdQRXdS)NsIt's not dead, it's sleeping!�wb)rm�openr�TESTFNr))r�filer	r	r
rhwszFileWrapperTest.setUpcCstjtj�dS)N)rr9r�)rr	r	r
ri|szFileWrapperTest.tearDowncCs�tjtjtj�}tj|�}tj|�|j|j	|�|j|j
�|�|j|jd�d�|j|j
d�d�|j�|jt|j
d�dS)N�
s
It's not dead�s, it'sr )r\r�rr��O_RDONLYrr�rZassertNotEqual�fdrr@r(r?r>�OSError)rr�r3r	r	r
�	test_recvs

zFileWrapperTest.test_recvcCs�d}d}tjtjtjtjB�}tj|�}tj|�|j	|�|j
|�|j�ttjd�� }|j|j�|j
||�WdQRXdS)NsCome again?sI want to buy some cheese.�rb)r\r�rr��O_WRONLY�O_APPENDrr�rr)r�r@r?rm)rZd1Zd2r�r3r�r	r	r
r��s



zFileWrapperTest.test_send�file_dispatcherz!asyncore.file_dispatcher requiredcsdtjtjtj�}g�G�fdd�dtj�}||�}tj|�tjdddd�|j	dj
��|j�dS)NcseZdZ�fdd�ZdS)z7FileWrapperTest.test_dispatcher.<locals>.FileDispatchercs�j|jd��dS)N�)rPr()r)r5r	r
r�szCFileWrapperTest.test_dispatcher.<locals>.FileDispatcher.handle_readN)rrrrr	)r5r	r
�FileDispatcher�sr�g{�G�z�?Tr�)r%�use_poll�countr#)r\r�rr�r�rr�r�loopr@r�rm)rr�r��sr	)r5r
�test_dispatcher�s
zFileWrapperTest.test_dispatcherc	CsNtjtjtj�}tj|�}tj|�tjdt	f��d}tj
�WdQRXdS)Nr�)r\r�rr�r�rr�rZcheck_warnings�ResourceWarningZ
gc_collect)rr�r_r	r	r
�test_resource_warning�s

z%FileWrapperTest.test_resource_warningc
Cshtjtjtj�}tj|�}tj|�tj|j�|j	t
��|j�WdQRX|j|jd�|j�dS)Nr rX)r\r�rr�r�rr�rr�r>r�r@)rr�r_r	r	r
�test_close_twice�s

z FileWrapperTest.test_close_twiceN)rrrrhrir�r�rdrerfrr�r�r�r	r	r	r
r�ts

r�c@sFeZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dS)�BaseTestHandlerNcCstjj||�d|_dS)NF)rrjrrI)rr;r	r	r
r�szBaseTestHandler.__init__cCstd��dS)Nz'handle_accept not supposed to be called)r)rr	r	r
�
handle_accept�szBaseTestHandler.handle_acceptcCstd��dS)Nz)handle_accepted not supposed to be called)r)rr	r	r
�handle_accepted�szBaseTestHandler.handle_acceptedcCstd��dS)Nz(handle_connect not supposed to be called)r)rr	r	r
r��szBaseTestHandler.handle_connectcCstd��dS)Nz%handle_expt not supposed to be called)r)rr	r	r
r~�szBaseTestHandler.handle_exptcCstd��dS)Nz&handle_close not supposed to be called)r)rr	r	r
r�szBaseTestHandler.handle_closecCs�dS)Nr	)rr	r	r
r�szBaseTestHandler.handle_error)N)
rrrrr�r�r�r~rrr	r	r	r
r��s
r�c@s8eZdZdZefdd�Zedd��Zdd�Zdd	�Z	d
S)�
BaseServerzYA server which listens on an address and dispatches the
    connection to a handler.
    cCs>tjj|�|j|�|j�t|j|�|jd�||_dS)N�)	rrjrr��set_reuse_addrr<rr$�handler)rr8r/r�r	r	r
r�s

zBaseServer.__init__cCs
|jj�S)N)r�getsockname)rr	r	r
�address�szBaseServer.addresscCs|j|�dS)N)r�)rr;r/r	r	r
r��szBaseServer.handle_acceptedcCs�dS)Nr	)rr	r	r
r�szBaseServer.handle_errorN)
rrr�__doc__r�r�propertyr�r�rr	r	r	r
r��s
r�c@seZdZdd�Zdd�ZdS)�
BaseClientcCs"tj|�|j|�|j|�dS)N)r�rr�r�)rr8r�r	r	r
r�s

zBaseClient.__init__cCsdS)Nr	)rr	r	r
r��szBaseClient.handle_connectN)rrrrr�r	r	r	r
r��sr�c@s�eZdZdd�Zd&dd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zej
ejjd�d�dd��Zdd�Zdd�Zdd�Zdd�Zd d!�Zejed"�ejd#d$���Zd%S)'�BaseTestAPIcCstjdd�dS)NT)Z
ignore_all)rrR)rr	r	r
ri�szBaseTestAPI.tearDownr�cCs`t|�d}d}x@tjrP|dkrPtjdd|jd�|jr<dS|d8}tj|�qW|jd�dS)N�drg{�G�z�?r )r%r�r�zflag not set)	�floatrrQr�r�rIr&r+r[)r�instancer%r�r	r	r
�loop_waiting_for_flag�sz!BaseTestAPI.loop_waiting_for_flagcCs:Gdd�dt�}t|j|j�}||j|j�}|j|�dS)Nc@seZdZdd�ZdS)z3BaseTestAPI.test_handle_connect.<locals>.TestClientcSs
d|_dS)NT)rI)rr	r	r
r�
szBBaseTestAPI.test_handle_connect.<locals>.TestClient.handle_connectN)rrrr�r	r	r	r
�
TestClientsr�)r�r�r8r/r�r�)rr��server�clientr	r	r
�test_handle_connect	szBaseTestAPI.test_handle_connectcCs:Gdd�dt�}||j|j�}t|j|j�}|j|�dS)Nc@seZdZdd�Zdd�ZdS)z4BaseTestAPI.test_handle_accept.<locals>.TestListenercSs:tj|�|j|�t|j|�|jd�|jj�|_dS)Nr�)r�rr�r<rr$r�r�)rr8r/r	r	r
rs



z=BaseTestAPI.test_handle_accept.<locals>.TestListener.__init__cSs
d|_dS)NT)rI)rr	r	r
r� szBBaseTestAPI.test_handle_accept.<locals>.TestListener.handle_acceptN)rrrrr�r	r	r	r
�TestListenersr�)r�r8r/r�r�r�)rr�r�r�r	r	r
�test_handle_acceptszBaseTestAPI.test_handle_acceptcCs:Gdd�dt�}||j|j�}t|j|j�}|j|�dS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z6BaseTestAPI.test_handle_accepted.<locals>.TestListenercSs:tj|�|j|�t|j|�|jd�|jj�|_dS)Nr�)r�rr�r<rr$r�r�)rr8r/r	r	r
r,s



z?BaseTestAPI.test_handle_accepted.<locals>.TestListener.__init__cSstjj|�dS)N)rrjr�)rr	r	r
r�3szDBaseTestAPI.test_handle_accepted.<locals>.TestListener.handle_acceptcSs|j�d|_dS)NT)rrI)rr;r/r	r	r
r�6szFBaseTestAPI.test_handle_accepted.<locals>.TestListener.handle_acceptedN)rrrrr�r�r	r	r	r
r�*sr�)r�r8r/r�r�r�)rr�r�r�r	r	r
�test_handle_accepted'sz BaseTestAPI.test_handle_acceptedcCsLGdd�dt�}Gdd�dt�}t|j|j|�}||j|j�}|j|�dS)Nc@seZdZdd�ZdS)z0BaseTestAPI.test_handle_read.<locals>.TestClientcSs
d|_dS)NT)rI)rr	r	r
rCsz<BaseTestAPI.test_handle_read.<locals>.TestClient.handle_readN)rrrrr	r	r	r
r�Bsr�c@seZdZdd�ZdS)z1BaseTestAPI.test_handle_read.<locals>.TestHandlercSstj||�|jdd�dS)N�xi)r�rr�)rr.r	r	r
rGsz:BaseTestAPI.test_handle_read.<locals>.TestHandler.__init__N)rrrrr	r	r	r
�TestHandlerFsr�)r�r�r�r8r/r�r�)rr�r�r�r�r	r	r
�test_handle_read?s
zBaseTestAPI.test_handle_readcCs:Gdd�dt�}t|j|j�}||j|j�}|j|�dS)Nc@seZdZdd�ZdS)z1BaseTestAPI.test_handle_write.<locals>.TestClientcSs
d|_dS)NT)rI)rr	r	r
r�Ssz>BaseTestAPI.test_handle_write.<locals>.TestClient.handle_writeN)rrrr�r	r	r	r
r�Rsr�)r�r�r8r/r�r�)rr�r�r�r	r	r
�test_handle_writeOszBaseTestAPI.test_handle_writecCsLGdd�dt�}Gdd�dt�}t|j|j|�}||j|j�}|j|�dS)Nc@seZdZdd�Zdd�ZdS)z1BaseTestAPI.test_handle_close.<locals>.TestClientcSs|jd�dS)Ni)r()rr	r	r
r`sz=BaseTestAPI.test_handle_close.<locals>.TestClient.handle_readcSsd|_|j�dS)NT)rIr)rr	r	r
resz>BaseTestAPI.test_handle_close.<locals>.TestClient.handle_closeN)rrrrrr	r	r	r
r�^sr�c@seZdZdd�ZdS)z2BaseTestAPI.test_handle_close.<locals>.TestHandlercSstj||�|j�dS)N)r�rr)rr.r	r	r
rjsz;BaseTestAPI.test_handle_close.<locals>.TestHandler.__init__N)rrrrr	r	r	r
r�isr�)r�r�r�r8r/r�r�)rr�r�r�r�r	r	r
�test_handle_closeZs
zBaseTestAPI.test_handle_closecs\dd�G�fdd�dt�}G�fdd�dt�}t|j|j|�}||j|j�}|j|�dS)N��cs(eZdZ�fdd�Zdd�Zdd�ZdS)zCBaseTestAPI.test_handle_close_after_conn_broken.<locals>.TestClientcs|j��dS)N)r�)r)r5r	r
r�zszPBaseTestAPI.test_handle_close_after_conn_broken.<locals>.TestClient.handle_writecSsd|_|j�dS)NT)rIr)rr	r	r
r}szPBaseTestAPI.test_handle_close_after_conn_broken.<locals>.TestClient.handle_closecSsd|_|j�dS)NT)rIr)rr	r	r
r~�szOBaseTestAPI.test_handle_close_after_conn_broken.<locals>.TestClient.handle_exptN)rrrr�rr~r	)r5r	r
r�xsr�cs eZdZ�fdd�Zdd�ZdS)zDBaseTestAPI.test_handle_close_after_conn_broken.<locals>.TestHandlercs|jt���|j�dS)N)r(rSr)r)r5r	r
r�szPBaseTestAPI.test_handle_close_after_conn_broken.<locals>.TestHandler.handle_readcSsdS)NFr	)rr	r	r
rl�szMBaseTestAPI.test_handle_close_after_conn_broken.<locals>.TestHandler.writableN)rrrrrlr	)r5r	r
r��sr�)r�r�r�r8r/r�r�)rr�r�r�r�r	)r5r
�#test_handle_close_after_conn_brokenrs
	z/BaseTestAPI.test_handle_close_after_conn_broken�sunosz OOB support is broken on SolariscCs�tr|jtjkr|jd�tjdkr4|jr4|jd�Gdd�dt�}Gdd�dt	�}t
|j|j|�}||j|j�}|j
|�dS)Nz"Not applicable to AF_UNIX sockets.�darwinz(poll may fail on macOS; see issue #28087c@seZdZdd�ZdS)z0BaseTestAPI.test_handle_expt.<locals>.TestClientcSs|jjdtj�d|_dS)NiT)rr(�MSG_OOBrI)rr	r	r
r~�sz<BaseTestAPI.test_handle_expt.<locals>.TestClient.handle_exptN)rrrr~r	r	r	r
r��sr�c@seZdZdd�ZdS)z1BaseTestAPI.test_handle_expt.<locals>.TestHandlercSs*tj||�|jjttd�d�tj�dS)N��zlatin-1)r�rrr��bytes�chrr�)rr.r	r	r
r�sz:BaseTestAPI.test_handle_expt.<locals>.TestHandler.__init__N)rrrrr	r	r	r
r��sr�)r7r8rr�skipTestrY�platformr�r�r�r�r/r�r�)rr�r�r�r�r	r	r
�test_handle_expt�s

zBaseTestAPI.test_handle_exptcCs:Gdd�dt�}t|j|j�}||j|j�}|j|�dS)Nc@seZdZdd�Zdd�ZdS)z1BaseTestAPI.test_handle_error.<locals>.TestClientcSsdddS)Ng�?rr	)rr	r	r
r��sz>BaseTestAPI.test_handle_error.<locals>.TestClient.handle_writecSs.d|_y�Wntk
r Yn
Xtd��dS)NTzexception not raised)rI�ZeroDivisionErrorr)rr	r	r
r�sz>BaseTestAPI.test_handle_error.<locals>.TestClient.handle_errorN)rrrr�rr	r	r	r
r��sr�)r�r�r8r/r�r�)rr�r�r�r	r	r
�test_handle_error�szBaseTestAPI.test_handle_errorcCs�t|j|j�}t|j|j�}|j|j�|j|j�|j|j�t	j
d|jdd�|j|j�|j|j�|j|j�|j|j�|j�|j|j�|j|j�|j|j�|j|j�|j�|j|j�|j|j�dS)Ng{�G�z�?r�)r%r�r�)
r�r8r/r�r��assertFalseZ	connectedr�Z	acceptingrr�r�r)rr�r�r	r	r
�test_connection_attributes�s$z&BaseTestAPI.test_connection_attributescCsvtj�}|j|j�|j|jj|j�ttdd�}tj|B}ttd�rb|j	|jj
|tjB|f�n|j|jj
|�dS)N�
SOCK_NONBLOCKr�SOCK_CLOEXEC)rrjr�r8r@rrG�SOCK_STREAMrfZassertIn�typer�)rr�r�Z	sock_typer	r	r
�test_create_socket�s


zBaseTestAPI.test_create_socketcCs�tr|jtjkr|jd�tj�}|j|j�|j|j	�|j
d�|jj�d}tj�}|j|j�|jt
|j|j	d|f�dS)Nz"Not applicable to AF_UNIX sockets.r�r r)r7r8rrr�rrjr�r:r/r$r�r>r�)r�s1r��s2r	r	r
�	test_bind�s

zBaseTestAPI.test_bindcCs�tr|jtjkr|jd�tj|j���}y|jtjtjd�Wntk
r\t	j
d�YnbXtjtj|j��}|j
|jjtjtj��|jj�|j|j�|j�|j|jjtjtj��WdQRXdS)Nz"Not applicable to AF_UNIX sockets.r z+SO_REUSEADDR not supported on this platform)r7r8rrr��
setsockopt�
SOL_SOCKETZSO_REUSEADDRr�rd�skiprrjr�Z
getsockoptrr�r�r�)rr;r�r	r	r
�test_set_reuse_addr�s


zBaseTestAPI.test_set_reuse_addrz!Threading required for this test.cCs�|jtjttdt��fkr$|jd�t|j|j�}tj	dd�d�}|j
�zltj|jtj��R}|jd�|j
tjtjtjddd	��y|j|j�Wntk
r�YnXWdQRXWd|jtd
�|j�r�|jd�XdS)N�AF_INET6z%test specific to AF_INET and AF_INET6cSstjddd�S)Ng�������?r�)r%r�)rr�r	r	r	r
�<lambda>sz0BaseTestAPI.test_quick_connect.<locals>.<lambda>)r�g�������?Ziir r)r%zjoin() timed out)r8r�AF_INETrG�objectr�r�r/r�r�r1r�r�r�r�Z	SO_LINGER�structZpackr�r�r�r�r�r�r[)rr�rar�r	r	r
�test_quick_connects"

zBaseTestAPI.test_quick_connectN)r�)rrrrir�r�r�r�r�r�r�r�rdZskipIfrYr��
startswithr�r�r�r�r�r�rer�rr�r�r	r	r	r
r��s$
 
r�c@seZdZejZejdfZdS)�TestAPI_UseIPv4SocketsrN)	rrrrr�r8rr�r/r	r	r	r
r�&sr�zIPv6 support requiredc@seZdZejZejdfZdS)�TestAPI_UseIPv6SocketsrN)	rrrrr�r8rZHOSTv6r/r	r	r	r
r�*sr�zUnix sockets requiredc@s$eZdZerejZejZ	dd�Z
dS)�TestAPI_UseUnixSocketscCstj|j�tj|�dS)N)rr9r/r�ri)rr	r	r
ri5szTestAPI_UseUnixSockets.tearDownN)rrrr7rrr8rr�r/rir	r	r	r
r�/sr�c@seZdZdZdS)�TestAPI_UseIPv4SelectFN)rrrr�r	r	r	r
r�9sr�rDzselect.poll requiredc@seZdZdZdS)�TestAPI_UseIPv4PollTN)rrrr�r	r	r	r
r�<sr�c@seZdZdZdS)�TestAPI_UseIPv6SelectFN)rrrr�r	r	r	r
r�@sr�c@seZdZdZdS)�TestAPI_UseIPv6PollTN)rrrr�r	r	r	r
r�Csr�c@seZdZdZdS)�TestAPI_UseUnixSocketsSelectFN)rrrr�r	r	r	r
r�Gsr�c@seZdZdZdS)�TestAPI_UseUnixSocketsPollTN)rrrr�r	r	r	r
r�Jsr��__main__)3rrdr'r\rrYr&r�r�Ztestr�iorZPGOZSkipTestr��ImportErrorr�rfr7rrrrr6r<ZTestCaser=rgZdispatcher_with_sendr�r�rer�rjr�r�r�r�r�ZIPV6_ENABLEDr�r�r�r�r�r�r�r�r�mainr	r	r	r
�<module>sl




H2
G/	


Youez - 2016 - github.com/yon3zu
LinuXploit