python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_telnetlib.cpython-312.opt-1.pyc

Αed3fddlZddlZddlZddlZddlmZddlmZmZddl	Z	ejdejdZejZ
dZGdd	e	jZGd
deZGdd
ej&ZGddej*Zej.dZdefdZGdde	jZGddeZGddeZeZGdde	jZGdde	jZGddeZ e!dk(re	jDyy) N)support)
socket_helperwarnings_helperT)module	telnetlibc|j|j	|j\}}|j|jy#t$rYwxYw#|jwxYwN)listensetacceptcloseTimeoutError)evtservconnaddrs    G/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_telnetlib.pyserverrs\KKMGGI[[]
d

	



	

s##A	A"A%!A""A%%A7cBeZdZdZdZdZdZdZdZdZ	dZ
d	Zy
)GeneralTestsctj|_tjtjtj
|_|jjdtj|j|_
tjt|j|jf|_
d|j_|jj|jj!y)N<)targetargsT)	threadingEventrsocketAF_INETSOCK_STREAMsock
settimeoutr	bind_portportThreadrthreaddaemonstartwaitselfs rsetUpzGeneralTests.setUps??$MM&..&2D2DE			R !++DII6	&&fDHHTYY;OP!

c<|jj|`yr	)r%joinr)s rtearDownzGeneralTests.tearDown'sKr,ctjt|j}|jjyr	)rTelnetHOSTr#r r
r*telnets  r	testBasiczGeneralTests.testBasic+s(!!$		2r,ctjt|j5}|j	|jddd|j
jy#1swY)xYwr	)rr1r2r#assertIsNotNone
get_socketassertIsNone)r*tns  rtestContextManagerzGeneralTests.testContextManager0sU


dDII
.	2"  1	2"--/*	2	2s A--A6c|jtjdutjd	tjt|j}tjd|j|jjd|jjy#tjdwxYw)N)
assertTruergetdefaulttimeoutsetdefaulttimeoutrr1r2r#assertEqualr 
gettimeoutr
r3s  rtestTimeoutDefaultzGeneralTests.testTimeoutDefault5s002d:;  $	+%%dDII6F$$T*//126
$$T*s$B::Cc|jtjdutjd	tjt|jd}tjd|j|jjdu|jjy#tjdwxYwNr=)timeout)r>rr?r@rr1r2r#r rBr
r3s  rtestTimeoutNonezGeneralTests.testTimeoutNone?s002d:;  $	+%%dDIIt%DF$$T*..0D89
$$T*s&B==Cctjt|jd}|j	|j
j
d|j
jyrE)rr1r2r#rAr rBr
r3s  rtestTimeoutValuezGeneralTests.testTimeoutValueJsJ!!$		2!>//126r,ctj}|jt|jd|j|jjd|jjyrE)	rr1openr2r#rAr rBr
r3s  rtestTimeoutOpenzGeneralTests.testTimeoutOpenOsS!!#D$))R0//126r,c8tjt|jd}|j}|j|j
||j|j|j|jjyrE)	rr1r2r#r rAr8filenor
)r*r4t_socks   rtestGetterszGeneralTests.testGettersUsk!!$		2!>**,f5&--/:r,N)__name__
__module____qualname__r+r/r5r;rCrGrIrLrPr,rrrs/
+
	
r,rc$eZdZdZddZdZdZy)
SocketStubz* a socket proxy that re-defines sendall() c@t||_g|_d|_yNF)listreadswritesblock)r*rZs  r__init__zSocketStub.__init___s%[

r,c:|jj|yr	)r[append)r*datas  rsendallzSocketStub.sendallcs4 r,cd}|jrGt||kr9||jjdz
}|jrt||kr9t||kDr$|jjd||d|d|}|S)Nr,r)rZlenpopinsert)r*sizeouts   rrecvzSocketStub.recveswjjSX_4::>>!$$CjjSX_s8d?JJaTU,et*C
r,N)rT)rQrRrS__doc__r]rarhrTr,rrVrV]s4!r,rVc$eZdZdZdZdZdZy)TelnetAlikectr	)NotImplementedErrorr)s rrNzTelnetAlike.filenoos!##r,cyr	rTr)s rr
zTelnetAlike.closeqsr,c0|jjSr	)r r\r)s r
sock_availzTelnetAlike.sock_availrsIIOO#$r,ctj5}tjj||g|ddd|xj
j
z
c_y#1swY-xYwr	)rcaptured_stdoutrr1msg	_messagesgetvalue)r*rsrrgs    rrszTelnetAlike.msgtsW

$
$
&	3#  s2T2	3#,,.(	3	3s"A##A,N)rQrRrSrNr
rprsrTr,rrkrkns$%r,rkc>eZdZdZedZddZdZddZdZ	y)	MockSelectorci|_yr	keysr)s rr]zMockSelector.__init__|s		r,cy)NgMbP?rTr)s r
resolutionzMockSelector.resolutionsr,NcTtj|d||}||j|<|S)Nr)	selectorsSelectorKeyrz)r*fileobjeventsr`keys     rregisterzMockSelector.registers+##GQ= 		'
r,c8|jj|Sr	)rzrd)r*rs  r
unregisterzMockSelector.unregistersyy}}W%%r,cd}|jD]*}t|ts|jj}n|rgS|jjDcgc]}||jfc}Scc}wrX)rz
isinstancerkr r\valuesr)r*rFr\rrs     rselectzMockSelector.selectsjyy	G';/**	I151A1A1CD#S#**%DDDsA4c|jSr	ryr)s rget_mapzMockSelector.get_mapsyyr,r	)
rQrRrSr]propertyr|rrrrrTr,rrwrwzs0
&	Er,rwc#Kfd}	tj}|t_d|t_y#t_wxYww)NctSr	)rV)ignoredrZs rnew_connztest_socket.<locals>.new_conns%  r,)rcreate_connection)rZrold_conns`  rtest_socketrs?!,++#+ 
#+ 
$, sA5A
AArTcv|D]}t|5|dd}d|_ddd|S#1swYSxYw)za return a telnetlib.Telnet object that uses a SocketStub with
        reads queued up to be read dummyrN)rrt)rZclsxr4s    rtest_telnetrsL##	U	WaMMs.8ceZdZdZdZy)ExpectAndReadTestCasecLtj|_tt_yr	)r_TelnetSelectorold_selectorrwr)s rr+zExpectAndReadTestCase.setUps%55$0	!r,c.|jt_yr	)rrrr)s rr/zExpectAndReadTestCase.tearDowns$($5$5	!r,N)rQrRrSr+r/rTr,rrrs16r,rc6eZdZdZdZdZdZdZdZdZ	y)		ReadTestscLdg}t|}|jd}|j|d|j|j|j
jfgd}dj|dd}t|}|jd}|j||y)	zc
        read_until(expected, timeout=None)
        test the blocking version of read_util
        sxxxmatchyyymatchsxxxmatch)rs)s2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrs2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyr,N)r
read_untilrAcookedqrawqr rZr.)r*wantr4r`rZexpects      rtest_read_untilzReadTests.test_read_untils
T"  *{fkkN_N_0`a0%*%U#  *v&r,cgd}dj|}t|}|j}|j||y)zJ
        read_all()
          Read all data until EOF; may block.
        )xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyszzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzr,N)r.rread_allrA)r*rZrr4r`s     r
test_read_allzReadTests.test_read_alls?
5%U# v&r,ctdg}|j}|jt|dk\t}|j}|j	d|y)zQ
        read_some()
          Read at least one byte or EOF; may block.
        rr,N)r	read_somer>rcrA)r*r4r`s   rtest_read_somezReadTests.test_read_somesWj\*!D	Q'!d#r,c
d}t|g}t||}d|j_|j	d|d|j_d}		||z
}#t
$rYnwxYw|j	||y)z
        read_*_eager()
          Read all data available already queued or on the socket,
          without blocking.
        dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTr,FN)rgetattrr r\rAEOFError)r*	func_namerr4funcr`s      r_read_eagerzReadTests._read_eagersdV$vy) df%!


t$s
A##	A/.A/cH|jd|jdy)N
read_eagerread_very_eager)rr)s rtest_read_eagerzReadTests.test_read_eagers!	
&*+r,c^d}t|g}|jd|j|jjr'|j|jjr'|j}|j|||j
t|jyNrr,)rrAread_very_lazyr rZ	fill_rawqassertRaisesr)r*rr4r`s    rrzReadTests.read_very_lazysdV$f3356kkkk$$&t$(F$9$9:r,c:d}t|g}|jd|jd}		|j}||z
}|s|j|j|j
|I#t$rYnwxYw|j||yr)rrA	read_lazyrrr>
startswith)r*rr4r`	read_datas     rtest_read_lazyzReadTests.test_read_lazy	sdV$f..01
",,.		! $$&
OODOOD12

	
t$s'A;;	BBN)
rQrRrSrrrrrrrrTr,rrrs%'"
$%(,;%r,rceZdZddZdZy)nego_collectorNc.d|_||_d|_y)Nr,)seen	sb_gettersb_seen)r*rs  rr]znego_collector.__init__s	"r,c|xj||zz
c_|tjk(r3|jr&|j}|xj|z
c_yyyr	)rtlSErr)r*r cmdoptsb_datas     rdo_negoznego_collector.do_negosF		S3Y	"%%<DNNnn&GLLG#L+<r,r	)rQrRrSr]rrTr,rrrs
$r,rceZdZdZdZy)
WriteTestszKThe only thing that write does is replace each tl.IAC for
    tl.IAC+tl.IACcddtjzdzdtjztjzdztjztjdg}|D]}t}|j|dj	|j
j}|j|jtjtjtjz|y)Nsdata sample without IACsdata sample withs one IACsa fews iacsr,)	rIACrwriter.r r[rAreplace)r*data_sampler`r4writtens     r
test_writezWriteTests.test_write+s1*RVV3kA"&&(2661H<rvvEvv	
 	JD ]FLLhhv{{112GT\\"&&?I		Jr,N)rQrRrSrirrTr,rrr's

Jr,rceZdZejej
ejejejejejejgZdZ
dZdZdZdZdZy)OptionTestsct|}tdj|}t}|j	|j
|j
}|j}|jt|dkD|j|dd|j|j|ddtj|j|t||zd|_y)z helper for testing IAC + cmd r,rNr)rrcr.rset_option_negotiation_callbackrrrr>assertIncmdsrArNOOPTr)r*r`r4data_lennegotxtrs       r
_test_commandzOptionTests._test_command;sT"sxx~&..t||<ooiiC1%

c"1gtyy)Qq288,3sSy>2r,cr|jD]i}|jtj|g|jdtj|dg|jdtj|dgk|j|jDcgc]}tj|zc}ycc}w)Nrsdyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xxxxxxxxxx
yyyyyyyyyy)rrrr)r*rs  rtest_IAC_commandszOptionTests.test_IAC_commandsIs99	BC}-
BFFCBC	2663@A	B
	
dii@cBFFSL@A@sB4ctjtjztjztjztjtjztjztjztjztjztjtjztjztjzdztjztjztjtjzdztjztjztjztjztjtjzdztjztjzdztjztjzg}t	|}t|j}|j|j|j}|j|dtjtjzdztjzdztjzdz}|j|j||jd|j
d|_y)Nsaasbbsccsddr,saabb)
rrSBrrrread_sb_datarrrrArr)r*sendr4rrwant_sb_datas      rtest_SB_commandszOptionTests.test_SB_commandsQs'"%%/'"&&02669BEEA'"&&058266ABEEI&/"&&8266ABEEI&/"&&85@266IBEEQ	T"f112..t||<ooc"vv02669EABFFJUR|4f1134r,c	ddtjtdgzdftjtjztdgzdftjtjztdgzdftjtj
ztdgzdftjtjztdgzdfg}|D]N\}}t|g}|jd|j}|j||jPy)	N)az: recv b''
Xz: IAC 88 not recognized
rz: IAC DO 1
z
: IAC DONT 1
z
: IAC WILL 1
z
: IAC WONT 1
)rrbytesDODONTWILLWONTrset_debuglevelrrrt)r*given_a_expect_babr4rs      rtest_debuglevel_readsz!OptionTests.test_debuglevel_readscs
#
VVeRDk
!#>?
VVbee^eQCj
(.9
VVbgg
qc

*,<=
VVbgg
qc

*,<=
VVbgg
qc

*,<=	
%	/DAq !%F!!!$//#CMM!V--.		/
	r,ct}|jd|jdd}|j||jy)Nrsxxxzsend b'xxx'
)rrrrrt)r*r4expecteds   rtest_debuglevel_writez!OptionTests.test_debuglevel_writevs<a V"

h 0 01r,ctg5tdd}d|_dddjd|j	d|j|jdy#1swYHxYw)Nr0rrtestz0.*test)rrkrtrrsassertRegexr3s  rtest_debug_accepts_str_portz'OptionTests.test_debug_accepts_str_port}sd
_	" #.F!F	"	a 

6)):6	"	"sA''A0N)rQrRrSrAOAYTBRKECELGAIPNOPrrrrrrrrTr,rrr7sWEE266266255"%%rvvFDB$&27r,rceZdZdZy)ExpectTestscgd}t|}|jdg\}}}|j|dj|ddy)z
        expect(expected, [timeout])
          Read until the expected string has been seen, or a timeout is
          hit (default is no timeout); may block.
        )rrrrr,Nr)rrrAr.)r*rr4_r`s     rtest_expectzExpectTests.test_expectsH0T"]]H:.
1TsxxSb	23r,N)rQrRrSrrTr,rrrs	4r,r__main__)#rr~r
contextlibrrtest.supportrrunittestrequires_working_socketimport_deprecatedrr2rTestCaserobjectrVr1rkBaseSelectorrwcontextmanagerrrrrrrrrrrQmainrTr,r<module>r!s=
7t,-O--k:		@8$$@D"
)""
9))@		k6H--6`%%`%D
$V
$J""J M7(##M7`
4'
4zHMMOr,