Your IP : 216.73.217.129


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/test_telnetlib.cpython-38.opt-2.pyc

U

i�f�2�@s,ddlZddlZddlZddlZddlZddlmZddlZejZdd�Z	Gdd�dej
�ZGdd�de�Z
Gd	d
�d
ej�ZGdd�dej�Zejd
d��Zdefdd�ZGdd�dej
�ZGdd�de�ZGdd�de�ZeZGdd�dej
�ZGdd�dej
�ZGdd�de�Zedk�r(e��dS)�N)�supportcCsT|��|��z4z|��\}}|��Wntjk
r@YnXW5|��XdS�N)Zlisten�set�closeZaccept�socket�timeout)�evtZservZconnZaddr�r	�8/opt/alt/python38/lib64/python3.8/test/test_telnetlib.py�servers
rc@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�GeneralTestscCsrt��|_t�tjtj�|_|j�d�t�	|j�|_
tjt|j|jfd�|_
|j
�d�|j
��|j��dS)N�<)�target�argsT)�	threadingZEventrrZAF_INETZSOCK_STREAM�sockZ
settimeoutrZ	bind_port�portZThreadr�threadZ	setDaemon�start�wait��selfr	r	r
�setUps

zGeneralTests.setUpcCs|j��|`dSr)r�joinrr	r	r
�tearDown#s
zGeneralTests.tearDowncCst�t|j�}|j��dSr)�	telnetlib�Telnet�HOSTrrr�r�telnetr	r	r
�	testBasic'szGeneralTests.testBasicc	Cs:t�t|j��}|�|���W5QRX|�|���dSr)rrrrZassertIsNotNone�
get_socketZassertIsNone)rZtnr	r	r
�testContextManager,szGeneralTests.testContextManagerc	Cs\|�t��dk�t�d�zt�t|j�}W5t�d�X|�|j	�
�d�|j	��dS)N�)�
assertTruer�getdefaulttimeout�setdefaulttimeoutrrrr�assertEqualr�
gettimeoutrrr	r	r
�testTimeoutDefault1s
zGeneralTests.testTimeoutDefaultc	Csb|�t��dk�t�d�ztjt|jdd�}W5t�d�X|�|j�	�dk�|j�
�dS�Nr#)r)r$rr%r&rrrrrr(rrr	r	r
�testTimeoutNone;s
zGeneralTests.testTimeoutNonecCs2tjt|jdd�}|�|j��d�|j��dSr*)rrrrr'rr(rrr	r	r
�testTimeoutValueFszGeneralTests.testTimeoutValuecCs:t��}|jt|jdd�|�|j��d�|j��dSr*)	rr�openrrr'rr(rrr	r	r
�testTimeoutOpenKszGeneralTests.testTimeoutOpencCsJtjt|jdd�}|j}|�|��|�|�|��|���|j��dSr*)	rrrrrr'r!�filenor)rrZt_sockr	r	r
�testGettersQs
zGeneralTests.testGettersN)�__name__�
__module__�__qualname__rrr r"r)r+r,r.r0r	r	r	r
rs

rc@s&eZdZd	dd�Zdd�Zdd�ZdS)
�
SocketStubr	cCst|�|_g|_d|_dS)NF)�list�reads�writes�block)rr6r	r	r
�__init__[s
zSocketStub.__init__cCs|j�|�dSr)r7�append)r�datar	r	r
�sendall_szSocketStub.sendallcCsZd}|jr(t|�|kr(||j�d�7}qt|�|krV|j�d||d��|d|�}|S)N�r)r6�len�pop�insert)r�size�outr	r	r
�recvaszSocketStub.recvN)r	)r1r2r3r9r<rCr	r	r	r
r4Ys
r4c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TelnetAlikecCs
t��dSr)�NotImplementedErrorrr	r	r
r/kszTelnetAlike.filenocCsdSrr	rr	r	r
rmr=zTelnetAlike.closecCs
|jjSr)rr8rr	r	r
�
sock_availnszTelnetAlike.sock_availc	Gs>t���}tjj||f|��W5QRX|j|��7_dSr)rZcaptured_stdoutrr�msg�	_messages�getvalue)rrGrrBr	r	r
rGps
zTelnetAlike.msgN)r1r2r3r/rrFrGr	r	r	r
rDjsrDc@sDeZdZdd�Zedd��Zddd�Zdd	�Zdd
d�Zdd
�Z	dS)�MockSelectorcCs
i|_dSr��keysrr	r	r
r9xszMockSelector.__init__cCsdS)Ng����MbP?r	rr	r	r
�
resolution{szMockSelector.resolutionNcCst�|d||�}||j|<|S)Nr)�	selectorsZSelectorKeyrL)r�fileobj�eventsr;�keyr	r	r
�registers
zMockSelector.registercCs|j�|�Sr)rLr?)rrOr	r	r
�
unregister�szMockSelector.unregistercCsFd}|jD]}t|t�r
|jj}q&q
|r.gSdd�|j��D�SdS)NFcSsg|]}||jf�qSr	)rP)�.0rQr	r	r
�
<listcomp>�sz'MockSelector.select.<locals>.<listcomp>)rL�
isinstancerDrr8�values)rrr8rOr	r	r
�select�s

zMockSelector.selectcCs|jSrrKrr	r	r
�get_map�szMockSelector.get_map)N)N)
r1r2r3r9�propertyrMrRrSrXrYr	r	r	r
rJvs


rJc#s0�fdd�}ztj}|t_dVW5|t_XdS)Ncst��Sr)r4)Zignored�r6r	r
�new_conn�sztest_socket.<locals>.new_conn)rZcreate_connection)r6r\Zold_connr	r[r
�test_socket�s
r]r	c	Cs2|D]}qt|��|dd�}d|_W5QRX|S)N�dummyr�)r]rH)r6�cls�xrr	r	r
�test_telnet�s

rbc@seZdZdd�Zdd�ZdS)�ExpectAndReadTestCasecCstj|_tt_dSr)r�_TelnetSelector�old_selectorrJrr	r	r
r�szExpectAndReadTestCase.setUpcCs|jt_dSr)rerrdrr	r	r
r�szExpectAndReadTestCase.tearDownN)r1r2r3rrr	r	r	r
rc�srcc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�	ReadTestscCstdg}t|�}|�d�}|j|d|j|j|jjfd�dddg}d�|dd��}t|�}|�d�}|�||�dS)	Nsxxxmatchyyy�matchsxxxmatch)rGs2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyr=���)rbZ
read_untilr'ZcookedqZrawqrr6r)r�wantrr;r6�expectr	r	r
�test_read_until�s


zReadTests.test_read_untilcCs4dddg}d�|�}t|�}|��}|�||�dS)N��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs�yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyys�zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzr=)rrb�read_allr')rr6rjrr;r	r	r
�
test_read_all�s

zReadTests.test_read_allcCsBtdg�}|��}|�t|�dk�t�}|��}|�d|�dS)Nrl�r=)rbZ	read_somer$r>r')rrr;r	r	r
�test_read_some�s
zReadTests.test_read_somecCstd}t|g�}t||�}d|j_|�d|��d|j_d}z||�7}Wq:tk
r`YqdYq:Xq:|�||�dS)N�dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTr=F)rb�getattrrr8r'�EOFError)rZ	func_namerir�funcr;r	r	r
�_read_eager�s

zReadTests._read_eagercCs|�d�|�d�dS)NZ
read_eagerZread_very_eager)rurr	r	r
�test_read_eager�s
zReadTests.test_read_eagercCsVd}t|g�}|�d|���|jjr0|��q|��}|�||�|�t|j�dS�Nrqr=)rbr'�read_very_lazyrr6�	fill_rawqZassertRaisesrs)rrirr;r	r	r
rx�s

zReadTests.read_very_lazycCs~d}t|g�}|�d|���d}z |��}||7}|s@|��Wntk
rZYqnYnX|�|�|��q"|�||�dSrw)rbr'Z	read_lazyryrsr$�
startswith)rrirr;Z	read_datar	r	r
�test_read_lazys

zReadTests.test_read_lazyN)
r1r2r3rkrnrprurvrxr{r	r	r	r
rf�s
rfc@seZdZddd�Zdd�ZdS)�nego_collectorNcCsd|_||_d|_dS)Nr=)�seen�	sb_getter�sb_seen)rr~r	r	r
r9sznego_collector.__init__cCs<|j||7_|tjkr8|jr8|��}|j|7_dSr)r}�tl�SEr~r)rr�cmd�optZsb_datar	r	r
�do_negosznego_collector.do_nego)N)r1r2r3r9r�r	r	r	r
r|s
r|c@seZdZdd�ZdS)�
WriteTestscCszddtjddtjtjdtjtjdg}|D]@}t�}|�|�d�|jj�}|�|�tjtjtj�|�q4dS)Nsdata sample without IACsdata sample withs one IACsa fews iacsr=)	r��IACrb�writerrr7r'�replace)rZdata_sampler;rZwrittenr	r	r
�
test_write's�
zWriteTests.test_writeN)r1r2r3r�r	r	r	r
r�#sr�c@s`eZdZejejejejejej	ej
ejgZdd�Z
dd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�OptionTestscCs�t|�}td�|��}t�}|�|j�|��}|j}|�t|�dk�|�	|dd�|j
�|�|dd�tj
�|�|t||��d|_dS)Nr=rro�)rbr>rr|�set_option_negotiation_callbackr�rmr}r$�assertIn�cmdsr'r�ZNOOPTr~)rr;rZdata_len�nego�txtr�r	r	r
�
_test_command7szOptionTests._test_commandcCs^|jD]<}|�tj|g�|�dtj|dg�|�dtj|dg�q|�dd�|jD��dS)Nrqsdyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy�
xxxxxxxxxx�
yyyyyyyyyycSsg|]}tj|�qSr	)r�r�)rTr�r	r	r
rUKsz1OptionTests.test_IAC_commands.<locals>.<listcomp>)r�r�r�r�)rr�r	r	r
�test_IAC_commandsEs

zOptionTests.test_IAC_commandscCs0tjtjtjtjtjtjtjtjtjtjtjtjtjtjdtjtjtjtjdtjtjtjtjtjtjdtjtjdtjtjg}t|�}t|j�}|�|j�|�	�}|�
|d�tjtjdtjdtjd}|�
|j|�|�
d|���d|_dS)Nsaasbbsccsddr=saabb)
r�r�ZSBr�rbr|Zread_sb_datar�r�rmr'rr~)r�sendrr�r�Zwant_sb_datar	r	r
�test_SB_commandsMs"&&*�
$zOptionTests.test_SB_commandscCs�dtjtdg�dftjtjtdg�dftjtjtdg�dftjtjtdg�dftjtjtdg�dfg}|D]2\}}t|g�}|�d�|�	�}|�
||j�q|dS)	N)�az: recv b''
�Xz: IAC 88 not recognized
roz: IAC DO 1
z
: IAC DONT 1
z
: IAC WILL 1
z
: IAC WONT 1
)r�r��bytesZDOZDONTZWILLZWONTrb�set_debuglevelrmr�rH)rZgiven_a_expect_b�a�brr�r	r	r
�test_debuglevel_reads_s�


z!OptionTests.test_debuglevel_readscCs0t�}|�d�|�d�d}|�||j�dS)Nrosxxxzsend b'xxx'
)rbr�r�r�rH)rrZexpectedr	r	r
�test_debuglevel_writers


z!OptionTests.test_debuglevel_writec	CsJtg��tdd�}d|_W5QRX|�d�|�d�|�|jd�dS)Nr^�0r_ro�testz0.*test)r]rDrHr�rGZassertRegexrr	r	r
�test_debug_accepts_str_portys



z'OptionTests.test_debug_accepts_str_portN)r1r2r3r�ZAOZAYTZBRKZECZELZGAZIPZNOPr�r�r�r�r�r�r�r	r	r	r
r�3s$r�c@seZdZdd�ZdS)�ExpectTestscCsBdddg}t|�}|�dg�\}}}|�|d�|dd���dS)Nr�rgr�r=rh)rbrjr'r)rrir�_r;r	r	r
�test_expect�s
zExpectTests.test_expectN)r1r2r3r�r	r	r	r
r��sr��__main__)rrNrr�
contextlibr�rZunittestrrZTestCaser�objectr4rrDZBaseSelectorrJ�contextmanagerr]rbrcrfr|r�r�r�r�r1�mainr	r	r	r
�<module>s0B 

bP