python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_selectors.cpython-312.opt-2.pyc

ΑeIddlZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddl	mZddlm
Z
ddlZddlZddlZddlmZ	ddlZej(sej*rej,deedr
ej0Znej2ej4dfd	Zd
ZGddZGd
dZGddeej<ZGddeej<Z ejBeeddGddeeej<Z"ejBeeddGddeeej<Z#ejBeeddGddeeej<Z$ejBeedd Gd!d"eeej<Z%d#Z&e'd$k(rejPyy#e$rdZYwxYw)%N)support)	os_helper)
socket_helper)sleep)	monotonicz,Cannot create socketpair on Emscripten/WASI.
socketpairctj|||5}|jtjdf|j	tj|||}	|j|j
|j
}	|j\}}||k(r
||fcdddS|j6#t$r|jwxYw#1swYyxYw)Nr)
socketbindrHOSTlistenconnectgetsocknameacceptcloseOSError)familytypeprotolccaddraaddrs        G/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_selectors.pyrrs
]]64
/	1
FFM&&*+
HHJ

fdE2A
		!--/*

hhjGAtu} !t		GGI
	
		s%A	C&"AC7CC##C&&C/c`g}|D]&\}}||zs|j|j(|SN)appendfileobj)readyflagmatchkeyeventss     rfind_ready_matchingr%0s8E&VD=LL%&Lc~eZdZdZdZdZdZeje	jdk(ddZdZd	Z
d
ZdZdZd
ZdZdZdZdZej,ej0dk(ddZdZejeedddZejeedddZy)BaseSelectorTestCasect\}}|j|j|j|j||fSr)r
addCleanupr)selfrdwrs   rmake_socketpairz$BaseSelectorTestCase.make_socketpair:s6B!!2v
r&c|j}|j|j|j\}}|j	|t
jd}|j|t
j|j|j||j|j|j|j|jt
j|j|jd|jt |jdd|jt |jdt
j|jt"|j|t
j|jt"|j|jt
jy)Ndatar?Bi)SELECTORr*rr.register	selectors
EVENT_READassertIsInstanceSelectorKeyassertEqualrfdfilenor$r0assertRaises
ValueErrorKeyErrorr+sr,r-r#s     r
test_registerz"BaseSelectorTestCase.test_register@s<MMO %%'BjjY116:c9#8#89b)-Y%9%9:6*	
*ajj!V<	
*ajj#y7K7KL	
(AJJI4H4HI	
(AJJ		#..	0r&cf|j}|j|j|j\}}|j	|t
j|j||jt|jd|jt|j|yNr1)
r2r*rr.r3r4r5
unregisterr;r=r+r?r,r-s    rtest_unregisterz$BaseSelectorTestCase.test_unregisterZsMMO %%'B	

2y++,	R	
(ALL&9	
(ALL"5r&c|j}|j|j|j\}}|j	|j	}}|j|tj|j|tj|j|j|j||j|yr)
r2r*rr.r:r3r4r5EVENT_WRITErC)r+r?r,r-rws      rtest_unregister_after_fd_closez3BaseSelectorTestCase.test_unregister_after_fd_closeisMMO %%'Byy{BIIK1	

1i**+	

1i++,



	Q	Qr&posixzrequires posixc|j}|j|j|j\}}|j	|j	}}|j|tj|j|tj|j\}}|j|jtj|j	|tj|j	||jtj||jtj||j||j|yr)r2r*rr.r:r3r4r5rGosdup2rC)r+r?r,r-rHrIrd2wr2s        r(test_unregister_after_fd_close_and_reusez=BaseSelectorTestCase.test_unregister_after_fd_close_and_reuseusMMO %%'Byy{BIIK1	

1i**+	

1i++,'')S






a 


a !$!$	Q	Qr&c|j}|j|j|j\}}|j	|t
j|j	|t
j|j|j|j||j|yr)	r2r*rr.r3r4r5rGrCrDs    r"test_unregister_after_socket_closez7BaseSelectorTestCase.test_unregister_after_socket_closesMMO %%'B	

2y++,	

2y,,-



	R	Rr&cD|j}|j|j|j\}}|j	|t
j}|j|t
j}|j|j|j|j||j||j|t}t}|j	|t
j|}|j|t
j|}|j|j|j|j|j|j|j||j||j|j||j!t"|jdt
jt}t$j&j)|_t$j&j)|_
|j|t
j||j+|jj,|j+|jj,yrB)r2r*rr.r3r4r5modifyrGassertNotEqualr$r8get_keyrCobjectr0r;r=unittestmockMockassertFalsecalled)	r+r?r,r-r#key2d1d2d3s	         rtest_modifyz BaseSelectorTestCase.test_modifysMMO %%'BjjY112xxI112CJJ4qyy}-	RX
XjjY1126xxI00"5T[[1CHHdii0qyy}-B'	
(AHHfi6J6JKX]]'')
}}))+	Y))2.**+,,-r&c|jjdk(r tjj	d}n|jjdk(r tjj	d}nJ|jjdk(r tjj	d}n|jd|5}tjj
t|j_	|j}|j|j|j\}}|j|tj|j!t#|j$d	|j't5|j|tj(ddd|j!t#|j$d
dddy#1swY7xYw#1swYyxYw)N
EpollSelectorz%selectors.EpollSelector._selector_clsPollSelectorz$selectors.PollSelector._selector_clsDevpollSelectorz'selectors.DevpollSelector._selector_cls)side_effectr)r2__name__rYrZpatchskipTestr[ZeroDivisionErrorreturn_valuerUr*rr.r3r4r5r8len_mapr;rG)r+rkmr?r,r-s      rtest_modify_unregisterz+BaseSelectorTestCase.test_modify_unregisters|==!!_4MM''79E
]]
#
#~
5MM''68E
]]
#
#'8
8MM''9;E--##

	-a$,MM$6$6-%7%/ANN!

AOOAGG$))+FB
JJr9//0S[!,""#45
4Y223
4S[!,
	-
	-
4
4
	-
	-s%?CG.!G",-G."G+	'G..G7cH|j}|j|j|j}|j	\}}|j|tj|j|tj|j|jt|j||jt|j||jt|j||jt|j|yr)r2r*rget_mapr.r3r4r5rGr;RuntimeErrorrWr=__getitem__)r+r?mappingr,r-s     r
test_closezBaseSelectorTestCase.test_closesMMO ))+%%'B	

2y++,	

2y,,-		,		26,		26(G$7$7<(G$7$7<r&cF|j}|j|j|j\}}|j	|t
jd}|j||j||jt|jdy)Nr0r1)r2r*rr.r3r4r5r8rWr;r=r>s     rtest_get_keyz!BaseSelectorTestCase.test_get_keyswMMO %%'BjjY116:aiim,	
(AIIv6r&cT|j}|j|j|j\}}|j	}|j||j
t|d|j
t|g|j|tjd}|j|||j
||||j
t|d|j
t||jg|j
t|j|g|jt 5|dddd|jt"5||=dddy#1swY+xYw#1swYyxYw)Nrr0rir1)r2r*rr.rtr\r8rolistr3r4r5assertInr:valuesr;r=	TypeError)r+r?r,r-keysr#s      rtest_get_mapz!BaseSelectorTestCase.test_get_mapsTMMO %%'Byy{TA&dR(jjY116:

b$d2h'TA&dbiik]3dkkm,se4

x
(	L	

y
)	R							s"FFFF'cV|j}|j|j|j\}}|j	|t
j|j	|t
j}|j}|D]s\}}|jt|t
j|j||j|t
jt
jzzu|j|t
jfg|yr)r2r*rr.r3r4r5rGselect
assertTrue
isinstancer7r\r8)r+r?r,r-wr_keyresultr#r$s        rtest_selectz BaseSelectorTestCase.test_selectsMMO %%'B	

2y++,B	 5 56!	@KCOOJsI,A,ABCOOF#V	(<(<(1(=(=)>'??
@	@	
69#8#89:FCr&c|j}|j|j|j\}}|5}|j	|t
j|j	|t
jddd|jt|j||jt|j|y#1swYLxYwr)r2r*rr.r3r4r5rGr;rurW)r+r?r,r-sels     rtest_context_managerz)BaseSelectorTestCase.test_context_managersMMO %%'B
	4#LLY112LLY223	4	
,		26,		26	4	4s
AC

Cc|j}|j|jt|drB|j	}|jt
|t|j|dyy)Nr:r)	r2r*rhasattrr:rrintassertGreaterEqual)r+r?r9s   rtest_filenoz BaseSelectorTestCase.test_fileno'sZMMO 1hBOOJr3/0##B* r&c|j}|j|jd}d}t|}g}g}i}i}t	|D]}	|j\}
}|j
|
tj|j
|tj|j|
|j||||
<|
||<g}|rR|j}
t|
tj}|s|jdtj|}|j!|t	dD];}	|j}
t|
tj}|rnt#d=|jd|j%||g|d}
|
j'|}|j%t|||j||j)||
|j)|
|j+||
|rR|j%||g|zy)Ns This is a test.zno sockets ready for writing
g?zno sockets ready for readingr)r2r*rroranger.r3r4r5rGrrr%failrandomchoicesendrr8recvrCremove)r+r?NUM_SOCKETSMSGMSG_LENreaderswritersr2ww2rir,r-bufsr 
ready_writers
ready_readersbufs                 r
test_selectorz"BaseSelectorTestCase.test_selector0sMMO !c({#	A))+FB
JJr9//0
JJr9001NN2NN2CGCG	HHJE/y7L7LMM 		89}-BGGCL2Y

:
 3E4=4H4H!J
 c


:		89c"gY
6q!B'''"CSXw/KK
LLR!
LLNN3r7#58	
u{23r&win32z1select.select() cannot be used with empty fd setsc|j}|j|j|j|j	dgy)Nr)timeout)r2r*rr8r)r+r?s  rtest_empty_selectz&BaseSelectorTestCase.test_empty_selectes:

MMO !,b1r&c|j}|j|j|j\}}|j	|t
jt}|jdt|jd|jdt|jd|jt|z
d|j||j	|t
jt}|j|jd|j|jd|jt|z
dt}|j|jdt}||z
}|jd|cxkxrdk|yc|y)Nrirg?皙?@)r2r*rr.r3r4rGtimer8ror
assertLessrCr5r\r)r+r?r,r-tt0t1dts        rtest_timeoutz!BaseSelectorTestCase.test_timeoutnsLMMO %%'B	

2y,,-FC,-C-.
C(	R	

2y++,F!%"&
C(
V!%
V
"Wr(S("-("-r&alarmz%signal.alarm() required for this testc|j}|j|j|j\}}Gddtfd}tj
t
j|}|jt
j
t
j|	tjd|j|tjt}|j5|jdddd|jt|z
dtjdy#1swY<xYw#tjdwxYw)NceZdZy)GBaseSelectorTestCase.test_select_interrupt_exc.<locals>.InterruptSelectN)rj
__module____qualname__r&rInterruptSelectrsr&rcrr)argsrs rhandlerz?BaseSelectorTestCase.test_select_interrupt_exc.<locals>.handlers	!!r&rig@r)r2r*rr.	ExceptionsignalSIGALRMrr3r4r5rr;rr)r+r?r,r-rorig_alrm_handlerrrs       @rtest_select_interrupt_excz.BaseSelectorTestCase.test_select_interrupt_excs
MMO %%'B	i		"#MM&..'B

v~~7HI	LLO
JJr9//0A""?3


OODFQJ,LLO



LLOs%(AE8E
%EE
EE(c|j}|j|j|j\}}t	jtj
d}|jtjtj
|	t	jd|j|tjt}|j|jd|jt|z
dt	jdy#t	jdwxYw)Ncyrr)rs r<lambda>zDBaseSelectorTestCase.test_select_interrupt_noraise.<locals>.<lambda>sr&rig?g?r)r2r*rr.rrrr3r4r5rr\rr)r+r?r,r-rrs      rtest_select_interrupt_noraisez2BaseSelectorTestCase.test_select_interrupt_noraises
MMO %%'B"MM&..:LM

v~~7HI	LLO
JJr9//0A
QXXc]+##DFQJ4LLOFLLOs
A<D&&D=N)rjrrr.r@rErJrY
skipUnlessrMnamerQrSrbrrrxrzrrrrrskipIfsysplatformrrrrrrrr&rr(r(8s
04
6
XG+-=>?"	$.L-6= 
72D$7+34jX__S\\W,HJ2J2.4X1@BB8X1@BBr&r(ceZdZejddejedejddZ	y)ScalableSelectorMixInrzTest needs resource modulecpuc:tjtj\}}	tjtj||f|j	tjtj||ft|d}|dz}|j}|j	|jt|dzD]W}	|j\}}	|jtj|jtj Y	|j'}	|j/|dzt1|	y#ttf$r|}YwxYw#t$r|jdYwxYw#t$r4}|j"t"j$k(r|jdd}~wwxYw#t$rG}|j"t"j(k(r$t*j,dk(r|jdd}~wwxYw)Ni zFD limit reacheddarwinz%Invalid argument error calling poll())resource	getrlimit
RLIMIT_NOFILE	setrlimitr*minrr<r2rrr.rlr3r4r5rGerrnoENOSPCrEINVALrrr8ro)
r+softhardNUM_FDSr?rr,r-efdss
          rtest_above_fd_setsizez+ScalableSelectorMixIn.test_above_fd_setsizes''(>(>?
d	x55d|DOOH..0F0F!4L
*$&G
	2
MMO w!|$	A
2--/B


2y334

2y445	&	((*C	
As3x0G$	G	
2

01	
2
77ell*MM"45
	ww%,,&3<<8+C

EF		sVA#E
E*!AF
$G
E'&E'*FF
	G/GG
	HAHHN)
rjrrrrequires_mac_verrYrrrequires_resourcerrr&rrrsSWb!$X#?@Wu%-1&A%-1r&rc$eZdZejZy)DefaultSelectorTestCaseN)rjrrr4DefaultSelectorr2rr&rrrs
((Hr&rc$eZdZejZy)SelectSelectorTestCaseN)rjrrr4SelectSelectorr2rr&rrrs
''Hr&rrez!Test needs selectors.PollSelectorc eZdZeeddZy)PollSelectorTestCasereNrjrrgetattrr4r2rr&rrrs
y.$7Hr&rrdz"Test needs selectors.EpollSelectorc&eZdZeeddZdZy)EpollSelectorTestCaserdNc|j}tj5}|jt5|j|tjddd|jt5|j|ddddddy#1swYAxYw#1swYxYw#1swYyxYwr)
r2tempfileNamedTemporaryFiler;IOErrorr3r4r5r=rW)r+r?fs   rtest_register_filez(EpollSelectorTestCase.test_register_filesMMO

(
(
*	a""7+
4

1i223
4""8,
		!
			
4
4

			s:B4!BB49B(B4B%	!B4(B1	-B44B=)rjrrrr4r2rrr&rrrs
y/48Hr&rKqueueSelectorz$Test needs selectors.KqueueSelector)c,eZdZeeddZdZdZy)KqueueSelectorTestCaserNc|j}tj}|jt5}|j|tjddd|jjjtj|jt5|j|dddy#1swYmxYw#1swYyxYwr)r2rmake_bad_fdr;rr3r4r5r8	exceptionrEBADFr=rW)r+r?bad_fcms    rtest_register_bad_fdz+KqueueSelectorTestCase.test_register_bad_fd s
MMO%%'


w
'	42
JJui223	4++U[[9


x
(	
IIe				4	4		s!C,CCCc|j}|j|jt}|j	|jdgt}||z
}|j
d|cxkxrdk|yc|y)Nrirr)r2r*rrr8rr)r+r?rrrs     rtest_empty_select_timeoutz0KqueueSelectorTestCase.test_empty_select_timeout,sn
MMO 
V!b)
V
"Wr(S("-("-r&)rjrrrr4r2rrrr&rrrs
y"2D9H
.r&rrfz$Test needs selectors.DevpollSelectorc eZdZeeddZy)DevpollSelectorTestCaserfNrrr&rrr:s
y"3T:Hr&rc,tjyr)r
reap_childrenrr&rtearDownModulerBsr&__main__))rrMrr4rr
rtestrtest.supportrrrrrY
unittest.mockrrrImportError
is_emscriptenis_wasiSkipTestrrAF_INETSOCK_STREAMr%r(rTestCaserrrrrrrrrjmainrr&r<module>rs	



"&"
GOO
(

J
KK6< ""J ..v/A/A&DDN3131l)2H4E4E)
(183D3D(
WY78:8/1F#,,8:8WY89;
02G$--
;
 WY(89;=.13H%...=.>WY(9:;=;24I&//;=;zHMMOiHsGG G