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: //proc/thread-self/root/usr/local/lib/python3.7/test/__pycache__/test_telnetlib.cpython-37.pyc
B

��g�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|��|��z4y|��\}}|��Wntjk
r@YnXWd|��XdS)N)Zlisten�setZaccept�close�socket�timeout)�evtZservZconnZaddr�r�//usr/local/lib/python3.7/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)�	threadingZEventrrZAF_INETZSOCK_STREAM�sockZ
settimeoutrZ	bind_port�portZThreadr
�threadZ	setDaemon�start�wait)�selfrrr	�setUps

zGeneralTests.setUpcCs|j��|`dS)N)r�join)rrrr	�tearDown#s
zGeneralTests.tearDowncCst�t|j�}|j��dS)N)�	telnetlib�Telnet�HOSTrrr)r�telnetrrr	�	testBasic'szGeneralTests.testBasicc	Cs:t�t|j��}|�|���WdQRX|�|���dS)N)rrrrZassertIsNotNone�
get_socketZassertIsNone)r�tnrrr	�testContextManager,szGeneralTests.testContextManagerc	Cs\|�t��dk�t�d�zt�t|j�}Wdt�d�X|�|j	�
�d�|j	��dS)N�)�
assertTruer�getdefaulttimeout�setdefaulttimeoutrrrr�assertEqualr�
gettimeoutr)rrrrr	�testTimeoutDefault1s
zGeneralTests.testTimeoutDefaultc	Csb|�t��dk�t�d�ztjt|jdd�}Wdt�d�X|�|j�	�dk�|j�
�dS)Nr!)r)r"rr#r$rrrrrr&r)rrrrr	�testTimeoutNone;s
zGeneralTests.testTimeoutNonecCs2tjt|jdd�}|�|j��d�|j��dS)Nr!)r)rrrrr%rr&r)rrrrr	�testTimeoutValueFszGeneralTests.testTimeoutValuecCs:t��}|jt|jdd�|�|j��d�|j��dS)Nr!)r)	rr�openrrr%rr&r)rrrrr	�testTimeoutOpenKszGeneralTests.testTimeoutOpencCsJtjt|jdd�}|j}|�|��|�|�|��|���|j��dS)Nr!)r)	rrrrrr%r�filenor)rrZt_sockrrr	�testGettersQs
zGeneralTests.testGettersN)�__name__�
__module__�__qualname__rrrr r'r(r)r+r-rrrr	rs

rc@s*eZdZdZd
dd�Zdd�Zdd�Zd	S)�
SocketStubz* a socket proxy that re-defines sendall() rcCst|�|_g|_d|_dS)NF)�list�reads�writes�block)rr3rrr	�__init__[s
zSocketStub.__init__cCs|j�|�dS)N)r4�append)r�datarrr	�sendall_szSocketStub.sendallcCs^d}x&|jr*t|�|kr*||j�d�7}qWt|�|krZ|j�d||d��|d|�}|S)N�r)r3�len�pop�insert)r�size�outrrr	�recvaszSocketStub.recvN)r)r.r/r0�__doc__r6r9r@rrrr	r1Ys
r1c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TelnetAlikecCs
t��dS)N)�NotImplementedError)rrrr	r,kszTelnetAlike.filenocCsdS)Nr)rrrr	rmr:zTelnetAlike.closecCs
|jjS)N)rr5)rrrr	�
sock_availnszTelnetAlike.sock_availc	Gs>t���}tjj||f|��WdQRX|j|��7_dS)N)rZcaptured_stdoutrr�msg�	_messages�getvalue)rrErr?rrr	rEps
zTelnetAlike.msgN)r.r/r0r,rrDrErrrr	rBjsrBc@sDeZdZdd�Zedd��Zddd�Zdd	�Zdd
d�Zdd
�Z	dS)�MockSelectorcCs
i|_dS)N)�keys)rrrr	r6xszMockSelector.__init__cCsdS)Ng����MbP?r)rrrr	�
resolution{szMockSelector.resolutionNcCst�|d||�}||j|<|S)Nr)�	selectorsZSelectorKeyrI)r�fileobj�eventsr8�keyrrr	�registers
zMockSelector.registercCs|j�|�S)N)rIr<)rrLrrr	�
unregister�szMockSelector.unregistercCsHd}x"|jD]}t|t�r|jj}PqW|r0gSdd�|j��D�SdS)NFcSsg|]}||jf�qSr)rM)�.0rNrrr	�
<listcomp>�sz'MockSelector.select.<locals>.<listcomp>)rI�
isinstancerBrr5�values)rrr5rLrrr	�select�s
zMockSelector.selectcCs|jS)N)rI)rrrr	�get_map�szMockSelector.get_map)N)N)
r.r/r0r6�propertyrJrOrPrUrVrrrr	rHvs

rHc#s0�fdd�}ztj}|t_dVWd|t_XdS)Ncst��S)N)r1)Zignored)r3rr	�new_conn�sztest_socket.<locals>.new_conn)rZcreate_connection)r3rXZold_connr)r3r	�test_socket�s
rYrc	CsJx |D]}t|�tkst|��qWt|��|dd�}d|_WdQRX|S)za return a telnetlib.Telnet object that uses a SocketStub with
        reads queued up to be read �dummyr�N)�type�bytes�AssertionErrorrYrF)r3�cls�xrrrr	�test_telnet�s


rac@seZdZdd�Zdd�ZdS)�ExpectAndReadTestCasecCstj|_tt_dS)N)r�_TelnetSelector�old_selectorrH)rrrr	r�szExpectAndReadTestCase.setUpcCs|jt_dS)N)rdrrc)rrrr	r�szExpectAndReadTestCase.tearDownN)r.r/r0rrrrrr	rb�srbc@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)
zc
        read_until(expected, timeout=None)
        test the blocking version of read_util
        sxxxmatchyyysmatchsxxxmatch)rEs2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyr:N���)raZ
read_untilr%ZcookedqZrawqrr3r)r�wantrr8r3�expectrrr	�test_read_until�s


zReadTests.test_read_untilcCs4dddg}d�|�}t|�}|��}|�||�dS)zJ
        read_all()
          Read all data until EOF; may block.
        s�xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs�yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyys�zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzr:N)rra�read_allr%)rr3rhrr8rrr	�
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.
        s�xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�r:N)raZ	read_somer"r;r%)rrr8rrr	�test_read_some�s
zReadTests.test_read_somecCsvd}t|g�}t||�}d|j_|�d|��d|j_d}x*y||�7}Wq<tk
r`PYq<Xq<W|�||�dS)z
        read_*_eager()
          Read all data available already queued or on the socket,
          without blocking.
        sdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTr:FN)ra�getattrrr5r%�EOFError)rZ	func_namergr�funcr8rrr	�_read_eager�s

zReadTests._read_eagercCs|�d�|�d�dS)NZ
read_eagerZread_very_eager)rq)rrrr	�test_read_eager�s
zReadTests.test_read_eagercCsZd}t|g�}|�d|���x|jjr2|��q W|��}|�||�|�t|j�dS)Nsdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr:)rar%�read_very_lazyrr3�	fill_rawqZassertRaisesro)rrgrr8rrr	rs�s

zReadTests.read_very_lazycCs�d}t|g�}|�d|���d}xLy |��}||7}|sB|��Wntk
rZPYnX|�|�|��q$W|�||�dS)Nsdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr:)rar%Z	read_lazyrtror"�
startswith)rrgrr8Z	read_datarrr	�test_read_lazys
zReadTests.test_read_lazyN)
r.r/r0rirkrmrqrrrsrvrrrr	re�s
rec@seZdZddd�Zdd�ZdS)�nego_collectorNcCsd|_||_d|_dS)Nr:)�seen�	sb_getter�sb_seen)rryrrr	r6sznego_collector.__init__cCs<|j||7_|tjkr8|jr8|��}|j|7_dS)N)rx�tl�SEryrz)rr�cmd�optZsb_datarrr	�do_negosznego_collector.do_nego)N)r.r/r0r6rrrrr	rws
rwc@seZdZdZdd�ZdS)�
WriteTestszKThe only thing that write does is replace each tl.IAC for
    tl.IAC+tl.IACcCs~ddtjddtjtjdtjtjdg}xH|D]@}t�}|�|�d�|jj�}|�|�tjtjtj�|�q6WdS)Nsdata sample without IACsdata sample withs one IACsa fews iacsr:)	r{�IACra�writerrr4r%�replace)rZdata_sampler8rZwrittenrrr	�
test_write's

zWriteTests.test_writeN)r.r/r0rAr�rrrr	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)z helper for testing IAC + cmd r:rNrl�)rar;rrw�set_option_negotiation_callbackrrjrxr"�assertIn�cmdsr%r{ZNOOPTry)rr8rZdata_len�nego�txtr}rrr	�
_test_command7szOptionTests._test_commandcCsbxF|jD]<}|�tj|g�|�dtj|dg�|�dtj|dg�qW|�dd�|jD��dS)Nsdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsdyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyys
xxxxxxxxxxs
yyyyyyyyyycSsg|]}tj|�qSr)r{r�)rQr}rrr	rRKsz1OptionTests.test_IAC_commands.<locals>.<listcomp>)r�r�r{r�)rr}rrr	�test_IAC_commandsEs
zOptionTests.test_IAC_commandscCs0tjtjtjtjtjtjtjtjtjtjtjtjtjtjdtjtjtjtjdtjtjtjtjtjtjdtjtjdtjtjg}t|�}t|j�}|�|j�|�	�}|�
|d�tjtjdtjdtjd}|�
|j|�|�
d|���d|_dS)Nsaasbbsccsddr:saabb)
r{r�ZSBr|rarwZread_sb_datar�rrjr%rzry)r�sendrr�r�Zwant_sb_datarrr	�test_SB_commandsMs"&&.
$zOptionTests.test_SB_commandscCs�dtjtdg�dftjtjtdg�dftjtjtdg�dftjtjtdg�dftjtjtdg�dfg}x:|D]2\}}t|g�}|�d�|�	�}|�
||j�q~WdS)	N)�az: recv b''
�Xz: IAC 88 not recognized
rlz: IAC DO 1
z
: IAC DONT 1
z
: IAC WILL 1
z
: IAC WONT 1
)r{r�r]ZDOZDONTZWILLZWONTra�set_debuglevelrjr�rF)rZgiven_a_expect_b�a�brr�rrr	�test_debuglevel_reads_s

z!OptionTests.test_debuglevel_readscCs0t�}|�d�|�d�d}|�||j�dS)Nrlsxxxzsend b'xxx'
)rar�r�r�rF)rrZexpectedrrr	�test_debuglevel_writers


z!OptionTests.test_debuglevel_writec	CsJtg��tdd�}d|_WdQRX|�d�|�d�|�|jd�dS)NrZ�0r[rl�testz0.*test)rYrBrFr�rEZassertRegex)rrrrr	�test_debug_accepts_str_portys



z'OptionTests.test_debug_accepts_str_portN)r.r/r0r{ZAOZAYTZBRKZECZELZGAZIPZNOPr�r�r�r�r�r�r�rrrr	r�3s$r�c@seZdZdd�ZdS)�ExpectTestscCsBdddg}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.
        s
xxxxxxxxxxsmatchs
yyyyyyyyyyr:Nrf)rarhr%r)rrgr�_r8rrr	�test_expect�s
zExpectTests.test_expectN)r.r/r0r�rrrr	r��sr��__main__)rrKrr�
contextlibr�rZunittestrr
ZTestCaser�objectr1rrBZBaseSelectorrH�contextmanagerrYrarbrerwr{r�r�r�r.�mainrrrr	�<module>s.B 
bP