Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_telnetlib.cpython-35.opt-2.pyc



���]?2�@s�ddlZddlZddlZddlZddlZddlmZddlZejd�Z	ej
Z
dd�ZGdd�dej�Z
Gdd	�d	e�ZGd
d�dej�ZGdd
�d
ej�Zejdd��Zfedd�ZGdd�dej�ZGdd�de�ZGdd�de�ZeZGdd�dej�ZGdd�dej�ZGdd�de�Zedkr�ej�dS)�N)�support�	threadingcCsb|j�|j�z<y |j�\}}|j�Wntjk
rNYnXWd|j�XdS)N)�listen�set�accept�close�socket�timeout)�evtZserv�conn�addr�r
�3/opt/alt/python35/lib64/python3.5/test_telnetlib.py�server
s

	rc@speZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�GeneralTestscCs�tj�|_tjtjtj�|_|jjd�tj	|j�|_
tjdtd|j|jf�|_
|j
jd�|j
j�|jj�dS)N�<�target�argsT)r�Eventr
r�AF_INET�SOCK_STREAM�sock�
settimeoutrZ	bind_port�port�Threadr�thread�	setDaemon�start�wait)�selfr
r
r�setUps'
zGeneralTests.setUpcCs|jj�|`dS)N)r�join)rr
r
r�tearDown$s
zGeneralTests.tearDowncCs&tjt|j�}|jj�dS)N)�	telnetlib�Telnet�HOSTrrr)r�telnetr
r
r�	testBasic(szGeneralTests.testBasiccCsz|jtj�dk�tjd�ztjt|j�}Wdtjd�X|j|j	j
�d�|j	j�dS)N�)�
assertTruer�getdefaulttimeout�setdefaulttimeoutr#r$r%r�assertEqualr�
gettimeoutr)rr&r
r
r�testTimeoutDefault-s
zGeneralTests.testTimeoutDefaultcCs�|jtj�dk�tjd�ztjt|jdd�}Wdtjd�X|j|jj	�dk�|jj
�dS)Nr(r	)r)rr*r+r#r$r%rrr-r)rr&r
r
r�testTimeoutNone7s
zGeneralTests.testTimeoutNonecCsEtjt|jdd�}|j|jj�d�|jj�dS)Nr	r()r#r$r%rr,rr-r)rr&r
r
r�testTimeoutValueBszGeneralTests.testTimeoutValuecCsOtj�}|jt|jdd�|j|jj�d�|jj�dS)Nr	r()	r#r$�openr%rr,rr-r)rr&r
r
r�testTimeoutOpenGszGeneralTests.testTimeoutOpencCsgtjt|jdd�}|j}|j|j�|�|j|j�|j��|jj�dS)Nr	r()	r#r$r%rrr,Z
get_socket�filenor)rr&Zt_sockr
r
r�testGettersMs
	zGeneralTests.testGettersN)�__name__�
__module__�__qualname__r r"r'r.r/r0r2r4r
r
r
rrs

rc@s7eZdZfdd�Zdd�Zdd�ZdS)�
SocketStubcCs%t|�|_g|_d|_dS)NF)�list�reads�writes�block)rr:r
r
r�__init__Ws	zSocketStub.__init__cCs|jj|�dS)N)r;�append)r�datar
r
r�sendall[szSocketStub.sendallcCs�d}x5|jr=t|�|kr=||jjd�7}q	Wt|�|kr}|jjd||d��|d|�}|S)N�r)r:�len�pop�insert)r�size�outr
r
r�recv]szSocketStub.recvN)r5r6r7r=r@rGr
r
r
rr8Usr8c@s@eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TelnetAlikecCs
t��dS)N)�NotImplementedError)rr
r
rr3gszTelnetAlike.filenocCsdS)Nr
)rr
r
rriszTelnetAlike.closecCs|jjS)N)rr<)rr
r
r�
sock_availjszTelnetAlike.sock_availcGsEtj��}tjj|||�WdQRX|j|j�7_dS)N)rZcaptured_stdoutr#r$�msg�	_messages�getvalue)rrKrrFr
r
rrKlszTelnetAlike.msgN)r5r6r7r3rrJrKr
r
r
rrHfsrHc@sdeZdZdd�Zedd��Zddd�Zdd	�Zdd
d�Zdd
�Z	dS)�MockSelectorcCs
i|_dS)N)�keys)rr
r
rr=tszMockSelector.__init__cCsdS)Ng����MbP?r
)rr
r
r�
resolutionwszMockSelector.resolutionNcCs)tj|d||�}||j|<|S)Nr)�	selectors�SelectorKeyrO)r�fileobj�eventsr?�keyr
r
r�register{s
zMockSelector.registercCs|jj|�S)N)rOrC)rrSr
r
r�
unregister�szMockSelector.unregistercCs^d}x-|jD]"}t|t�r|jj}PqW|r@gSdd�|jj�D�SdS)NFcSsg|]}||jf�qSr
)rT)�.0rUr
r
r�
<listcomp>�s	z'MockSelector.select.<locals>.<listcomp>)rO�
isinstancerHrr<�values)rr	r<rSr
r
r�select�szMockSelector.selectcCs|jS)N)rO)rr
r
r�get_map�szMockSelector.get_map)
r5r6r7r=�propertyrPrVrWr\r]r
r
r
rrNrsrNc#s>�fdd�}ztj}|t_dVWd|t_XdS)Ncs
t��S)N)r8)Zignored)r:r
r�new_conn�sztest_socket.<locals>.new_conn)r�create_connection)r:r_Zold_connr
)r:r�test_socket�s			
rac
CsAx|D]}qWt|��|dd�}d|_WdQRX|S)N�dummyr�)rarL)r:�cls�xr&r
r
r�test_telnet�s

rfc@s(eZdZdd�Zdd�ZdS)�ExpectAndReadTestCasecCstj|_tt_dS)N)r#�_TelnetSelector�old_selectorrN)rr
r
rr �szExpectAndReadTestCase.setUpcCs|jt_dS)N)rir#rh)rr
r
rr"�szExpectAndReadTestCase.tearDownN)r5r6r7r r"r
r
r
rrg�srgc@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�	ReadTestscCs�dg}t|�}|jd�}|j|dd|j|j|jjf�dddddg}dj|dd
��}t|�}|jd�}|j||�dS)NsxxxmatchyyysmatchsxxxmatchrK�x�2�yrA����)rfZ
read_untilr,ZcookedqZrawqrr:r!)r�wantr&r?r:�expectr
r
r�test_read_until�s	+zReadTests.test_read_untilcCsVddddddg}dj|�}t|�}|j�}|j||�dS)Nrki�rm�zrA)r!rf�read_allr,)rr:rqr&r?r
r
r�
test_read_all�szReadTests.test_read_allcCsatddg�}|j�}|jt|�dk�t�}|j�}|jd|�dS)Nrki�rnrA)rfZ	read_somer)rBr,)rr&r?r
r
r�test_read_some�s	zReadTests.test_read_somecCs�dd}t|g�}t||�}d|j_|jd|��d|j_d}x+y||�7}Wq\tk
r�PYq\Xq\W|j||�dS)Nrk�dTrAF)rf�getattrrr<r,�EOFError)r�	func_namerpr&�funcr?r
r
r�_read_eager�s


zReadTests._read_eagercCs|jd�|jd�dS)NZ
read_eagerZread_very_eager)r|)rr
r
r�test_read_eager�s
zReadTests.test_read_eagercCsdd}t|g�}|jd|j��x|jjrK|j�q2W|j�}|j||�|jt|j�dS)NrkrwrA)rfr,�read_very_lazyrr:�	fill_rawqZassertRaisesry)rrpr&r?r
r
rr~�s
zReadTests.read_very_lazycCs�dd}t|g�}|jd|j��d}xZy*|j�}||7}|sa|j�Wntk
rwPYnX|j|j|��q8W|j||�dS)NrkrwrA)rfr,Z	read_lazyrryr)�
startswith)rrpr&r?Z	read_datar
r
r�test_read_lazys


zReadTests.test_read_lazyN)
r5r6r7rrrurvr|r}r~r�r
r
r
rrj�s
rjc@s+eZdZddd�Zdd�ZdS)�nego_collectorNcCsd|_||_d|_dS)NrA)�seen�	sb_getter�sb_seen)rr�r
r
rr=s		znego_collector.__init__cCsJ|j||7_|tjkrF|jrF|j�}|j|7_dS)N)r��tl�SEr�r�)rr�cmd�optZsb_datar
r
r�do_negosznego_collector.do_nego)r5r6r7r=r�r
r
r
rr�sr�c@seZdZdd�ZdS)�
WriteTestscCs�ddtjddtjtjdtjtjdg}xb|D]Z}t�}|j|�dj|jj�}|j|jtjtjtj�|�qCWdS)Nsdata sample without IACsdata sample withs one IACsa fews iacsrA)	r��IACrf�writer!rr;r,�replace)rZdata_sampler?r&Zwrittenr
r
r�
test_write#s	
	
zWriteTests.test_writeN)r5r6r7r�r
r
r
rr�sr�c@s�eZdZejejejejejej	ej
ejgZdd�Z
dd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�OptionTestscCs�t|�}tdj|��}t�}|j|j�|j�}|j}|jt|�dk�|j	|dd�|j
�|j|dd�tj
�|j|t||��d|_dS)NrArrn�)rfrBr!r��set_option_negotiation_callbackr�rtr�r)�assertIn�cmdsr,r�ZNOOPTr�)rr?r&Zdata_len�nego�txtr�r
r
r�
_test_command3s		zOptionTests._test_commandcCs�xg|jD]\}|jtj|g�|jddtj|ddg�|jdtj|dg�q
W|jdd�|jD��dS)	Nrkrwrm�
cSsg|]}tj|�qSr
)r�r�)rXr�r
r
rrYGs	z1OptionTests.test_IAC_commands.<locals>.<listcomp>s
xxxxxxxxxxs
yyyyyyyyyy)r�r�r�r�)rr�r
r
r�test_IAC_commandsAs
$ zOptionTests.test_IAC_commandscCs|tjtjtjtjtjtjtjtjtjtjtjtjtjtjdtjtjtjtjdtjtjtjtjtjtjdtjtjdtjtjg}t|�}t|j�}|j|j�|j	�}|j
|d�tjtjdtjdtjd}|j
|j|�|j
d|j��d|_dS)NsaasbbsccsddrAsaabb)
r�r�ZSBr�rfr�Zread_sb_datar�r�rtr,r�r�)r�sendr&r�r�Zwant_sb_datar
r
r�test_SB_commandsIs)--7*zOptionTests.test_SB_commandscCs�d
tjtdg�dftjtjtdg�dftjtjtdg�dftjtjtdg�dftjtjtdg�d	fg}xO|D]G\}}t|g�}|jd�|j	�}|j
||j�q�WdS)N�a�: recv b''
�Xz: IAC 88 not recognized
rnz: IAC DO 1
z
: IAC DONT 1
z
: IAC WILL 1
z
: IAC WONT 1
)r�r�)r�r��bytesZDOZDONTZWILLZWONTrf�set_debuglevelrtr�rL)rZgiven_a_expect_b�a�br&r�r
r
r�test_debuglevel_reads[s   &
z!OptionTests.test_debuglevel_readscCs@t�}|jd�|jd�d}|j||j�dS)Nrnsxxxzsend b'xxx'
)rfr�r�r�rL)rr&Zexpectedr
r
r�test_debuglevel_writens
	

z!OptionTests.test_debuglevel_writec
Cs]tg��tdd�}d|_WdQRX|jd�|jd�|j|jd�dS)Nrb�0rcrn�testz0.*test)rarHrLr�rKZassertRegex)rr&r
r
r�test_debug_accepts_str_portus


z'OptionTests.test_debug_accepts_str_portN)r5r6r7r�ZAOZAYTZBRKZECZELZGAZIPZNOPr�r�r�r�r�r�r�r
r
r
rr�/s6r�c@seZdZdd�ZdS)�ExpectTestscCs]dddg}t|�}|jdg�\}}}|j|dj|dd	���dS)
Nrkr�smatchrmrArns
xxxxxxxxxxs
yyyyyyyyyyro)rfrqr,r!)rrpr&�_r?r
r
r�test_expect�szExpectTests.test_expectN)r5r6r7r�r
r
r
rr�sr��__main__) rrQr#�time�
contextlibr�rZunittest�
import_modulerr%rZTestCaser�objectr8r$rH�BaseSelectorrN�contextmanagerrarfrgrjr�r�r�r�r�r5�mainr
r
r
r�<module>s0	= 
bP