HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/__pycache__/test_telnetlib.cpython-310.opt-2.pyc
o

�i�2�@s:ddlZddlZddlZddlZddlZddlmZddlmZddl	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�Zedkr�e	��dSdS) �N)�support)�
socket_helpercCsd|��|��z$z|��\}}|��Wn	tyYnwW|��dSW|��dS|��w�N)�listen�set�accept�close�TimeoutError)�evtZserv�conn�addr�r
�0/usr/local/lib/python3.10/test/test_telnetlib.py�server
s���rc@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�GeneralTestscCsnt��|_t�tjtj�|_|j�d�t�	|j�|_
tjt|j|jfd�|_
d|j
_|j
��|j��dS)N�<)�target�argsT)�	threading�Eventr
�socket�AF_INET�SOCK_STREAM�sock�
settimeoutrZ	bind_port�port�Threadr�thread�daemon�start�wait��selfr
r
r�setUps

zGeneralTests.setUpcCs|j��|`dSr)r�joinr!r
r
r�tearDown$s
zGeneralTests.tearDowncCst�t|j�}|j��dSr)�	telnetlib�Telnet�HOSTrrr�r"�telnetr
r
r�	testBasic(szGeneralTests.testBasiccCsNt�t|j��}|�|���Wd�n1swY|�|���dSr)r&r'r(rZassertIsNotNone�
get_socketZassertIsNone)r"�tnr
r
r�testContextManager-s�zGeneralTests.testContextManagerc	Csf|�t��du�t�d�zt�t|j�}Wt�d�nt�d�w|�|j	�
�d�|j	��dS)N�)�
assertTruer�getdefaulttimeout�setdefaulttimeoutr&r'r(r�assertEqualr�
gettimeoutrr)r
r
r�testTimeoutDefault2s
zGeneralTests.testTimeoutDefaultc	Csl|�t��du�t�d�ztjt|jdd�}Wt�d�nt�d�w|�|j�	�du�|j�
�dS�Nr/)�timeout)r0rr1r2r&r'r(rrr4rr)r
r
r�testTimeoutNone<s
zGeneralTests.testTimeoutNonecCs2tjt|jdd�}|�|j��d�|j��dSr6)r&r'r(rr3rr4rr)r
r
r�testTimeoutValueGszGeneralTests.testTimeoutValuecCs:t��}|jt|jdd�|�|j��d�|j��dSr6)	r&r'�openr(rr3rr4rr)r
r
r�testTimeoutOpenLszGeneralTests.testTimeoutOpencCsJtjt|jdd�}|j}|�|��|�|�|��|���|j��dSr6)	r&r'r(rrr3r,�filenor)r"r*Zt_sockr
r
r�testGettersRs
zGeneralTests.testGettersN)�__name__�
__module__�__qualname__r#r%r+r.r5r8r9r;r=r
r
r
rrs

rc@s(eZdZ	d	dd�Zdd�Zdd�ZdS)
�
SocketStubr
cCst|�|_g|_d|_dS)NF)�list�reads�writes�block)r"rCr
r
r�__init__\s

zSocketStub.__init__cCs|j�|�dSr)rD�append)r"�datar
r
r�sendall`szSocketStub.sendallcCsjd}|jrt|�|kr||j�d�7}|jrt|�|kst|�|kr3|j�d||d��|d|�}|S)N�r)rC�len�pop�insert)r"�size�outr
r
r�recvbs�zSocketStub.recvN)r
)r>r?r@rFrIrPr
r
r
rrAZs

rAc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TelnetAlikecCst��r)�NotImplementedErrorr!r
r
rr<l�zTelnetAlike.filenocCsdSrr
r!r
r
rrnszTelnetAlike.closecCs
|jjSr)rrEr!r
r
r�
sock_availo�
zTelnetAlike.sock_availcGsTt���}tjj||g|�R�Wd�n1swY|j|��7_dSr)rZcaptured_stdoutr&r'�msg�	_messages�getvalue)r"rVrrOr
r
rrVqs

�zTelnetAlike.msgN)r>r?r@r<rrTrVr
r
r
rrQks
rQc@sDeZdZdd�Zedd��Zddd�Zdd	�Zdd
d�Zdd
�Z	dS)�MockSelectorcCs
i|_dSr��keysr!r
r
rrFyrUzMockSelector.__init__cCsdS)Ng����MbP?r
r!r
r
r�
resolution|szMockSelector.resolutionNcCst�|d||�}||j|<|S)Nr)�	selectors�SelectorKeyr[)r"�fileobj�eventsrH�keyr
r
r�register�s
zMockSelector.registercCs|j�|�Sr)r[rL)r"r_r
r
r�
unregister��zMockSelector.unregistercCsBd}|jD]
}t|t�r|jj}nq|rgSdd�|j��D�S)NFcSsg|]}||jf�qSr
)r`)�.0rar
r
r�
<listcomp>��z'MockSelector.select.<locals>.<listcomp>)r[�
isinstancerQrrE�values)r"r7rEr_r
r
r�select�s

�zMockSelector.selectcCs|jSrrZr!r
r
r�get_map�rSzMockSelector.get_mapr)
r>r?r@rF�propertyr\rbrcrjrkr
r
r
rrYws


rYc#s6��fdd�}ztj}|t_dVW|t_dS|t_w)Ncst��Sr)rA)Zignored�rCr
r�new_conn�sztest_socket.<locals>.new_conn)r�create_connection)rCrnZold_connr
rmr�test_socket�s��rpr
cCsJ	|D]}qt|��|dd�}d|_Wd�|S1swY|S)N�dummyr�)rprW)rC�cls�xr*r
r
r�test_telnet�s



��ruc@seZdZdd�Zdd�ZdS)�ExpectAndReadTestCasecCstj|_tt_dSr)r&�_TelnetSelector�old_selectorrYr!r
r
rr#�s
zExpectAndReadTestCase.setUpcCs|jt_dSr)rxr&rwr!r
r
rr%�rdzExpectAndReadTestCase.tearDownN)r>r?r@r#r%r
r
r
rrv�srvc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�	ReadTestscCst	dg}t|�}|�d�}|j|d|j|j|jjfd�gd�}d�|dd��}t|�}|�d�}|�||�dS)Nsxxxmatchyyy�matchsxxxmatch)rV)s2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrzs2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyrJ���)ruZ
read_untilr3ZcookedqZrawqrrCr$)r"�wantr*rHrC�expectr
r
r�test_read_until�s

zReadTests.test_read_untilcCs4	gd�}d�|�}t|�}|��}|�||�dS)N)��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs�yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyys�zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzrJ)r$ru�read_allr3)r"rCr}r*rHr
r
r�
test_read_all�s
zReadTests.test_read_allcCsD	tdg�}|��}|�t|�dk�t�}|��}|�d|�dS)Nr�rJ)ruZ	read_somer0rKr3)r"r*rHr
r
r�test_read_some�s
zReadTests.test_read_somecCsr	d}t|g�}t||�}d|j_|�d|��d|j_d}	z||�7}Wn	ty/Ynwq|�||�dS)N�dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTrJF)ru�getattrrrEr3�EOFError)r"�	func_namer|r*�funcrHr
r
r�_read_eager�s 

��zReadTests._read_eagercCs|�d�|�d�dS)NZ
read_eagerZread_very_eager)r�r!r
r
r�test_read_eager�s
zReadTests.test_read_eagercCs\d}t|g�}|�d|���|jjr|��|jjs|��}|�||�|�t|j�dS�Nr�rJ)rur3�read_very_lazyrrC�	fill_rawqZassertRaisesr�)r"r|r*rHr
r
rr��s
�zReadTests.read_very_lazycCszd}t|g�}|�d|���d}	z|��}||7}|s!|��Wn	ty+Yn
w|�|�|��q|�||�dSr�)rur3Z	read_lazyr�r�r0�
startswith)r"r|r*rHZ	read_datar
r
r�test_read_lazys"
���	zReadTests.test_read_lazyN)
r>r?r@r~r�r�r�r�r�r�r
r
r
rry�s
ryc@seZdZddd�Zdd�ZdS)�nego_collectorNcCsd|_||_d|_dS)NrJ)�seen�	sb_getter�sb_seen)r"r�r
r
rrFs
znego_collector.__init__cCsD|j||7_|tjkr|jr |��}|j|7_dSdSdSr)r��tl�SEr�r�)r"r�cmd�optZsb_datar
r
r�do_negos
�znego_collector.do_negor)r>r?r@rFr�r
r
r
rr�s
r�c@seZdZ	dd�ZdS)�
WriteTestscCszddtjddtjtjdtjtjdg}|D] }t�}|�|�d�|jj�}|�|�tjtjtj�|�qdS)Nsdata sample without IACsdata sample withs one IACsa fews iacsrJ)	r��IACru�writer$rrDr3�replace)r"Zdata_samplerHr*Zwrittenr
r
r�
test_write(s�
 �zWriteTests.test_writeN)r>r?r@r�r
r
r
rr�$sr�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)NrJrr��)rurKr$r��set_option_negotiation_callbackr�r�r�r0�assertIn�cmdsr3r�ZNOOPTr�)r"rHr*Zdata_len�nego�txtr�r
r
r�
_test_command8s
zOptionTests._test_commandcCs^|jD]}|�tj|g�|�dtj|dg�|�dtj|dg�q|�dd�|jD��dS)Nr�sdyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy�
xxxxxxxxxx�
yyyyyyyyyycSsg|]}tj|�qSr
)r�r�)rer�r
r
rrfLrgz1OptionTests.test_IAC_commands.<locals>.<listcomp>)r�r�r�r�)r"r�r
r
r�test_IAC_commandsFs

zOptionTests.test_IAC_commandscCs0tjtjtjtjtjtjtjtjtjtjtjtjtjtjdtjtjtjtjdtjtjtjtjtjtjdtjtjdtjtjg}t|�}t|j�}|�|j�|�	�}|�
|d�tjtjdtjdtjd}|�
|j|�|�
d|���d|_dS)NsaasbbsccsddrJsaabb)
r�r�ZSBr�rur�Zread_sb_datar�r�r�r3r�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]\}}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��bytesZDOZDONTZWILLZWONTru�set_debuglevelr�r�rW)r"Zgiven_a_expect_b�a�br*r�r
r
r�test_debuglevel_reads`s�


z!OptionTests.test_debuglevel_readscCs0t�}|�d�|�d�d}|�||j�dS)Nr�sxxxzsend b'xxx'
)rur�r�r�rW)r"r*Zexpectedr
r
r�test_debuglevel_writess


z!OptionTests.test_debuglevel_writecCs^tg��tdd�}d|_Wd�n1swY|�d�|�d�|�|jd�dS)Nrq�0rrr��testz0.*test)rprQrWr�rVZassertRegexr)r
r
r�test_debug_accepts_str_portzs

�

z'OptionTests.test_debug_accepts_str_portN)r>r?r@r�ZAOZAYTZBRKZECZELZGAZIPZNOPr�r�r�r�r�r�r�r
r
r
rr�4s$r�c@seZdZdd�ZdS)�ExpectTestscCsB	gd�}t|�}|�dg�\}}}|�|d�|dd���dS)N)r�rzr�rzrJr{)rur}r3r$)r"r|r*�_rHr
r
r�test_expect�s
zExpectTests.test_expectN)r>r?r@r�r
r
r
rr��sr��__main__) rr]r&r�
contextlibr�rZtest.supportrZunittestr(rZTestCaser�objectrAr'rQ�BaseSelectorrY�contextmanagerrprurvryr�r�r�r�r�r>�mainr
r
r
r�<module>s6B 

bP
�