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_telnetlib.cpython-39.opt-2.pyc

a

��g�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)�listen�set�accept�close�socket�timeout)�evtZserv�conn�addr�r�//usr/local/lib/python3.9/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)�	threading�Eventrr	�AF_INET�SOCK_STREAM�sock�
settimeoutrZ	bind_port�port�Threadr�thread�	setDaemon�start�wait��selfrrr�setUps

zGeneralTests.setUpcCs|j��|`dSr)r�joinr!rrr�tearDown$s
zGeneralTests.tearDowncCst�t|j�}|j��dSr)�	telnetlib�Telnet�HOSTrrr�r"�telnetrrr�	testBasic(szGeneralTests.testBasiccCsNt�t|j��}|�|���Wd�n1s20Y|�|���dSr)r&r'r(rZassertIsNotNone�
get_socketZassertIsNone)r"�tnrrr�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�setdefaulttimeoutr&r'r(r�assertEqualr�
gettimeoutrr)rrr�testTimeoutDefault2s
zGeneralTests.testTimeoutDefaultc	Csl|�t��du�t�d�z tjt|jdd�}Wt�d�nt�d�0|�|j�	�du�|j�
�dS�Nr/)r
)r0r	r1r2r&r'r(rrr4rr)rrr�testTimeoutNone<s
zGeneralTests.testTimeoutNonecCs2tjt|jdd�}|�|j��d�|j��dSr6)r&r'r(rr3rr4rr)rrr�testTimeoutValueGszGeneralTests.testTimeoutValuecCs:t��}|jt|jdd�|�|j��d�|j��dSr6)	r&r'�openr(rr3rr4rr)rrr�testTimeoutOpenLszGeneralTests.testTimeoutOpencCsJtjt|jdd�}|j}|�|��|�|�|��|���|j��dSr6)	r&r'r(rrr3r,�filenor)r"r*Zt_sockrrr�testGettersRs
zGeneralTests.testGettersN)�__name__�
__module__�__qualname__r#r%r+r.r5r7r8r:r<rrrrrs

rc@s&eZdZd	dd�Zdd�Zdd�ZdS)
�
SocketStubrcCst|�|_g|_d|_dS)NF)�list�reads�writes�block)r"rBrrr�__init__\s
zSocketStub.__init__cCs|j�|�dSr)rC�append)r"�datarrr�sendall`szSocketStub.sendallcCsZd}|jr(t|�|kr(||j�d�7}qt|�|krV|j�d||d��|d|�}|S)N�r)rB�len�pop�insert)r"�size�outrrr�recvbszSocketStub.recvN)r)r=r>r?rErHrOrrrrr@Zs
r@c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TelnetAlikecCs
t��dSr)�NotImplementedErrorr!rrrr;lszTelnetAlike.filenocCsdSrrr!rrrrnrIzTelnetAlike.closecCs
|jjSr)rrDr!rrr�
sock_availoszTelnetAlike.sock_availcGsTt���&}tjj||g|�R�Wd�n1s40Y|j|��7_dSr)rZcaptured_stdoutr&r'�msg�	_messages�getvalue)r"rSrrNrrrrSqs
4zTelnetAlike.msgN)r=r>r?r;rrRrSrrrrrPksrPc@sDeZdZdd�Zedd��Zddd�Zdd	�Zdd
d�Zdd
�Z	dS)�MockSelectorcCs
i|_dSr��keysr!rrrrEyszMockSelector.__init__cCsdS)Ng����MbP?rr!rrr�
resolution|szMockSelector.resolutionNcCst�|d||�}||j|<|S)Nr)�	selectors�SelectorKeyrX)r"�fileobj�eventsrG�keyrrr�register�s
zMockSelector.registercCs|j�|�Sr)rXrK)r"r\rrr�
unregister�szMockSelector.unregistercCsFd}|jD]}t|t�r
|jj}q&q
|r.gSdd�|j��D�SdS)NFcSsg|]}||jf�qSr)r])�.0r^rrr�
<listcomp>�rIz'MockSelector.select.<locals>.<listcomp>)rX�
isinstancerPrrD�values)r"r
rDr\rrr�select�s

zMockSelector.selectcCs|jSrrWr!rrr�get_map�szMockSelector.get_map)N)N)
r=r>r?rE�propertyrYr_r`rerfrrrrrVws


rVc#s6�fdd�}ztj}|t_dVW|t_n|t_0dS)Ncst��Sr)r@)Zignored�rBrr�new_conn�sztest_socket.<locals>.new_conn)r	�create_connection)rBriZold_connrrhr�test_socket�srkrcCsF|D]}qt|�� |dd�}d|_Wd�n1s80Y|S)N�dummyr�)rkrT)rB�cls�xr*rrr�test_telnet�s

$rpc@seZdZdd�Zdd�ZdS)�ExpectAndReadTestCasecCstj|_tt_dSr)r&�_TelnetSelector�old_selectorrVr!rrrr#�szExpectAndReadTestCase.setUpcCs|jt_dSr)rsr&rrr!rrrr%�szExpectAndReadTestCase.tearDownN)r=r>r?r#r%rrrrrq�srqc@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)Nsxxxmatchyyy�matchsxxxmatch)rS)s2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrus2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyrI���)rpZ
read_untilr3ZcookedqZrawqrrBr$)r"�wantr*rGrB�expectrrr�test_read_until�s

zReadTests.test_read_untilcCs2gd�}d�|�}t|�}|��}|�||�dS)N)��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs�yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyys�zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzrI)r$rp�read_allr3)r"rBrxr*rGrrr�
test_read_all�s
zReadTests.test_read_allcCsBtdg�}|��}|�t|�dk�t�}|��}|�d|�dS)Nrz�rI)rpZ	read_somer0rJr3)r"r*rGrrr�test_read_some�s
zReadTests.test_read_somecCsrd}t|g�}t||�}d|j_|�d|��d|j_d}z||�7}Wq:ty^YqbYq:0q:|�||�dS)N�dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTrIF)rp�getattrrrDr3�EOFError)r"�	func_namerwr*�funcrGrrr�_read_eager�s

zReadTests._read_eagercCs|�d�|�d�dS)NZ
read_eagerZread_very_eager)r�r!rrr�test_read_eager�s
zReadTests.test_read_eagercCsVd}t|g�}|�d|���|jjr0|��q|��}|�||�|�t|j�dS�NrrI)rpr3�read_very_lazyrrB�	fill_rawqZassertRaisesr�)r"rwr*rGrrrr��s

zReadTests.read_very_lazycCs|d}t|g�}|�d|���d}z |��}||7}|s@|��WntyXYqlYn0|�|�|��q"|�||�dSr�)rpr3Z	read_lazyr�r�r0�
startswith)r"rwr*rGZ	read_datarrr�test_read_lazys

zReadTests.test_read_lazyN)
r=r>r?ryr|r~r�r�r�r�rrrrrt�s
rtc@seZdZddd�Zdd�ZdS)�nego_collectorNcCsd|_||_d|_dS)NrI)�seen�	sb_getter�sb_seen)r"r�rrrrEsznego_collector.__init__cCs<|j||7_|tjkr8|jr8|��}|j|7_dSr)r��tl�SEr�r�)r"r�cmd�optZsb_datarrr�do_negosznego_collector.do_nego)N)r=r>r?rEr�rrrrr�s
r�c@seZdZdd�ZdS)�
WriteTestscCszddtjddtjtjdtjtjdg}|D]@}t�}|�|�d�|jj�}|�|�tjtjtj�|�q4dS)Nsdata sample without IACsdata sample withs one IACsa fews iacsrI)	r��IACrp�writer$rrCr3�replace)r"Zdata_samplerGr*Zwrittenrrr�
test_write(s�
zWriteTests.test_writeN)r=r>r?r�rrrrr�$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)NrIrr}�)rprJr$r��set_option_negotiation_callbackr�r{r�r0�assertIn�cmdsr3r�ZNOOPTr�)r"rGr*Zdata_len�nego�txtr�rrr�
_test_command8szOptionTests._test_commandcCs^|jD]<}|�tj|g�|�dtj|dg�|�dtj|dg�q|�dd�|jD��dS)Nrsdyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy�
xxxxxxxxxx�
yyyyyyyyyycSsg|]}tj|�qSr)r�r�)rar�rrrrbLrIz1OptionTests.test_IAC_commands.<locals>.<listcomp>)r�r�r�r�)r"r�rrr�test_IAC_commandsFs

zOptionTests.test_IAC_commandscCs0tjtjtjtjtjtjtjtjtjtjtjtjtjtjdtjtjtjtjdtjtjtjtjtjtjdtjtjdtjtjg}t|�}t|j�}|�|j�|�	�}|�
|d�tjtjdtjdtjd}|�
|j|�|�
d|���d|_dS)NsaasbbsccsddrIsaabb)
r�r�ZSBr�rpr�Zread_sb_datar�r�r{r3r�r�)r"�sendr*r�r�Zwant_sb_datarrr�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
r}z: IAC DO 1
z
: IAC DONT 1
z
: IAC WILL 1
z
: IAC WONT 1
)r�r��bytesZDOZDONTZWILLZWONTrp�set_debuglevelr{r�rT)r"Zgiven_a_expect_b�a�br*r�rrr�test_debuglevel_reads`s�


z!OptionTests.test_debuglevel_readscCs0t�}|�d�|�d�d}|�||j�dS)Nr}sxxxzsend b'xxx'
)rpr�r�r�rT)r"r*Zexpectedrrr�test_debuglevel_writess


z!OptionTests.test_debuglevel_writecCs^tg�� tdd�}d|_Wd�n1s.0Y|�d�|�d�|�|jd�dS)Nrl�0rmr}�testz0.*test)rkrPrTr�rSZassertRegexr)rrr�test_debug_accepts_str_portzs

$

z'OptionTests.test_debug_accepts_str_portN)r=r>r?r�ZAOZAYTZBRKZECZELZGAZIPZNOPr�r�r�r�r�r�r�rrrrr�4s$r�c@seZdZdd�ZdS)�ExpectTestscCs@gd�}t|�}|�dg�\}}}|�|d�|dd���dS)N)r�rur�rurIrv)rprxr3r$)r"rwr*�_rGrrr�test_expect�szExpectTests.test_expectN)r=r>r?r�rrrrr��sr��__main__) r	rZr&r�
contextlibr�rZtest.supportrZunittestr(rZTestCaser�objectr@r'rP�BaseSelectorrV�contextmanagerrkrprqrtr�r�r�r�r�r=�mainrrrr�<module>s2B 

bP


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