Your IP : 216.73.216.85


Current Path : /opt/alt/python39/lib64/python3.9/test/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/__pycache__/test_telnetlib.cpython-39.pyc

a

XC?h�2�@s8ddlZddlZddlZddlZddlZddlmZddlmZddl	Z	ej
Z
dd�ZGdd�de	j�Z
Gdd	�d	e�ZGd
d�dej�ZGdd
�d
ej�Zejdd��Zdefdd�ZGdd�de	j�ZGdd�de�ZGdd�de�ZeZGdd�de	j�ZGdd�de	j�ZGdd�de�Zedk�r4e	��dS) �N)�support)�
socket_helpercCsZ|��|��z:z|��\}}|��Wntjy>Yn0W|��n
|��0dS�N)Zlisten�setZaccept�close�socket�timeout)�evtZservZconnZaddr�r
�8/opt/alt/python39/lib64/python3.9/test/test_telnetlib.py�server
src@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)�	threadingZEventr	rZAF_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.testBasiccCsNt�t|j��}|�|���Wd�n1s20Y|�|���dSr)rrrrZassertIsNotNone�
get_socketZassertIsNone)rZtnr
r
r�testContextManager-s,zGeneralTests.testContextManagerc	Csf|�t��du�t�d�zt�t|j�}Wt�d�nt�d�0|�|j	�
�d�|j	��dS)N�)�
assertTruer�getdefaulttimeout�setdefaulttimeoutrrrr�assertEqualr�
gettimeoutrrr
r
r�testTimeoutDefault2s
zGeneralTests.testTimeoutDefaultc	Csl|�t��du�t�d�z tjt|jdd�}Wt�d�nt�d�0|�|j�	�du�|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�testTimeoutValueGszGeneralTests.testTimeoutValuecCs:t��}|jt|jdd�|�|j��d�|j��dSr+)	rr�openrrr(rr)rrr
r
r�testTimeoutOpenLszGeneralTests.testTimeoutOpencCsJtjt|jdd�}|j}|�|��|�|�|��|���|j��dSr+)	rrrrrr(r"�filenor)rr Zt_sockr
r
r�testGettersRs
zGeneralTests.testGettersN)�__name__�
__module__�__qualname__rrr!r#r*r,r-r/r1r
r
r
rr
s

r
c@s*eZdZdZd
dd�Zdd�Zdd�Zd	S)�
SocketStubz* a socket proxy that re-defines sendall() r
cCst|�|_g|_d|_dS)NF)�list�reads�writes�block)rr7r
r
r�__init__\s
zSocketStub.__init__cCs|j�|�dSr)r8�append)r�datar
r
r�sendall`szSocketStub.sendallcCsZd}|jr(t|�|kr(||j�d�7}qt|�|krV|j�d||d��|d|�}|S)N�r)r7�len�pop�insert)r�size�outr
r
r�recvbszSocketStub.recvN)r
)r2r3r4�__doc__r:r=rDr
r
r
rr5Zs
r5c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TelnetAlikecCs
t��dSr)�NotImplementedErrorrr
r
rr0lszTelnetAlike.filenocCsdSrr
rr
r
rrnr>zTelnetAlike.closecCs
|jjSr)rr9rr
r
r�
sock_availoszTelnetAlike.sock_availcGsTt���&}tjj||g|�R�Wd�n1s40Y|j|��7_dSr)rZcaptured_stdoutrr�msg�	_messages�getvalue)rrIrrCr
r
rrIqs
4zTelnetAlike.msgN)r2r3r4r0rrHrIr
r
r
rrFksrFc@sDeZdZdd�Zedd��Zddd�Zdd	�Zdd
d�Zdd
�Z	dS)�MockSelectorcCs
i|_dSr��keysrr
r
rr:yszMockSelector.__init__cCsdS)Ng����MbP?r
rr
r
r�
resolution|szMockSelector.resolutionNcCst�|d||�}||j|<|S)Nr)�	selectorsZSelectorKeyrN)r�fileobj�eventsr<�keyr
r
r�register�s
zMockSelector.registercCs|j�|�Sr)rNr@)rrQr
r
r�
unregister�szMockSelector.unregistercCsFd}|jD]}t|t�r
|jj}q&q
|r.gSdd�|j��D�SdS)NFcSsg|]}||jf�qSr
)rR)�.0rSr
r
r�
<listcomp>�r>z'MockSelector.select.<locals>.<listcomp>)rN�
isinstancerFrr9�values)rrr9rQr
r
r�select�s

zMockSelector.selectcCs|jSrrMrr
r
r�get_map�szMockSelector.get_map)N)N)
r2r3r4r:�propertyrOrTrUrZr[r
r
r
rrLws


rLc#s6�fdd�}ztj}|t_dVW|t_n|t_0dS)Ncst��Sr)r5)Zignored�r7r
r�new_conn�sztest_socket.<locals>.new_conn)rZcreate_connection)r7r^Zold_connr
r]r�test_socket�sr_r
cCsZ|D]}t|�tusJ|��qt|�� |dd�}d|_Wd�n1sL0Y|S)za return a telnetlib.Telnet object that uses a SocketStub with
        reads queued up to be read �dummyr�N)�type�bytesr_rJ)r7�cls�xr r
r
r�test_telnet�s

$rfc@seZdZdd�Zdd�ZdS)�ExpectAndReadTestCasecCstj|_tt_dSr)r�_TelnetSelector�old_selectorrLrr
r
rr�szExpectAndReadTestCase.setUpcCs|jt_dSr)rirrhrr
r
rr�szExpectAndReadTestCase.tearDownN)r2r3r4rrr
r
r
rrg�srgc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�	ReadTestscCsrdg}t|�}|�d�}|j|d|j|j|jjfd�gd�}d�|dd��}t|�}|�d�}|�||�dS)	zc
        read_until(expected, timeout=None)
        test the blocking version of read_util
        sxxxmatchyyy�matchsxxxmatch)rI)s2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrks2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyr>N���)rfZ
read_untilr(ZcookedqZrawqrr7r)r�wantr r<r7�expectr
r
r�test_read_until�s

zReadTests.test_read_untilcCs2gd�}d�|�}t|�}|��}|�||�dS)zJ
        read_all()
          Read all data until EOF; may block.
        )��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs�yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyys�zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzr>N)rrf�read_allr()rr7rnr r<r
r
r�
test_read_all�s
zReadTests.test_read_allcCsBtdg�}|��}|�t|�dk�t�}|��}|�d|�dS)zQ
        read_some()
          Read at least one byte or EOF; may block.
        rp�r>N)rfZ	read_somer%r?r()rr r<r
r
r�test_read_some�s
zReadTests.test_read_somecCsrd}t|g�}t||�}d|j_|�d|��d|j_d}z||�7}Wq:ty^YqbYq:0q:|�||�dS)z
        read_*_eager()
          Read all data available already queued or on the socket,
          without blocking.
        �dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTr>FN)rf�getattrrr9r(�EOFError)rZ	func_namermr �funcr<r
r
r�_read_eager�s

zReadTests._read_eagercCs|�d�|�d�dS)NZ
read_eagerZread_very_eager)ryrr
r
r�test_read_eager�s
zReadTests.test_read_eagercCsVd}t|g�}|�d|���|jjr0|��q|��}|�||�|�t|j�dS�Nrur>)rfr(�read_very_lazyrr7�	fill_rawqZassertRaisesrw)rrmr r<r
r
rr|�s

zReadTests.read_very_lazycCs|d}t|g�}|�d|���d}z |��}||7}|s@|��WntyXYqlYn0|�|�|��q"|�||�dSr{)rfr(Z	read_lazyr}rwr%�
startswith)rrmr r<Z	read_datar
r
r�test_read_lazys

zReadTests.test_read_lazyN)
r2r3r4rorrrtryrzr|rr
r
r
rrj�s
rjc@seZdZddd�Zdd�ZdS)�nego_collectorNcCsd|_||_d|_dS)Nr>)�seen�	sb_getter�sb_seen)rr�r
r
rr:sznego_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)r2r3r4r:r�r
r
r
rr�s
r�c@seZdZdZdd�ZdS)�
WriteTestszKThe only thing that write does is replace each tl.IAC for
    tl.IAC+tl.IACcCszddtjddtjtjdtjtjdg}|D]@}t�}|�|�d�|jj�}|�|�tjtjtj�|�q4dS)Nsdata sample without IACsdata sample withs one IACsa fews iacsr>)	r��IACrf�writerrr8r(�replace)rZdata_sampler<r Zwrittenr
r
r�
test_write(s�
zWriteTests.test_writeN)r2r3r4rEr�r
r
r
rr�$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)z helper for testing IAC + cmd r>rNrs�)rfr?rr��set_option_negotiation_callbackr�rqr�r%�assertIn�cmdsr(r�ZNOOPTr�)rr<r Zdata_len�nego�txtr�r
r
r�
_test_command8szOptionTests._test_commandcCs^|jD]<}|�tj|g�|�dtj|dg�|�dtj|dg�q|�dd�|jD��dS)Nrusdyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy�
xxxxxxxxxx�
yyyyyyyyyycSsg|]}tj|�qSr
)r�r�)rVr�r
r
rrWLr>z1OptionTests.test_IAC_commands.<locals>.<listcomp>)r�r�r�r�)rr�r
r
r�test_IAC_commandsFs

zOptionTests.test_IAC_commandscCs0tjtjtjtjtjtjtjtjtjtjtjtjtjtjdtjtjtjtjdtjtjtjtjtjtjdtjtjdtjtjg}t|�}t|j�}|�|j�|�	�}|�
|d�tjtjdtjdtjd}|�
|j|�|�
d|���d|_dS)Nsaasbbsccsddr>saabb)
r�r�ZSBr�rfr�Zread_sb_datar�r�rqr(r�r�)r�sendr r�r�Zwant_sb_datar
r
r�test_SB_commandsNs"&&*�
$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
rsz: IAC DO 1
z
: IAC DONT 1
z
: IAC WILL 1
z
: IAC WONT 1
)r�r�rcZDOZDONTZWILLZWONTrf�set_debuglevelrqr�rJ)rZgiven_a_expect_b�a�br r�r
r
r�test_debuglevel_reads`s�


z!OptionTests.test_debuglevel_readscCs0t�}|�d�|�d�d}|�||j�dS)Nrssxxxzsend b'xxx'
)rfr�r�r�rJ)rr Zexpectedr
r
r�test_debuglevel_writess


z!OptionTests.test_debuglevel_writecCs^tg�� tdd�}d|_Wd�n1s.0Y|�d�|�d�|�|jd�dS)Nr`�0rars�testz0.*test)r_rFrJr�rIZassertRegexrr
r
r�test_debug_accepts_str_portzs

$

z'OptionTests.test_debug_accepts_str_portN)r2r3r4r�ZAOZAYTZBRKZECZELZGAZIPZNOPr�r�r�r�r�r�r�r
r
r
rr�4s$r�c@seZdZdd�ZdS)�ExpectTestscCs@gd�}t|�}|�dg�\}}}|�|d�|dd���dS)z�
        expect(expected, [timeout])
          Read until the expected string has been seen, or a timeout is
          hit (default is no timeout); may block.
        )r�rkr�rkr>Nrl)rfrnr(r)rrmr �_r<r
r
r�test_expect�szExpectTests.test_expectN)r2r3r4r�r
r
r
rr��sr��__main__) rrPrr�
contextlibr�rZtest.supportrZunittestrrZTestCaser
�objectr5rrFZBaseSelectorrL�contextmanagerr_rfrgrjr�r�r�r�r�r2�mainr
r
r
r�<module>s2B 

bP