rsj`[SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSK J r J r J r SSK Jr SSKrSSKrSSKrSSK Jr SSKr\R*(d\R,(a\R."S5e\"\S5(a \R2rO\R4\R6S4SjrS r"S S 5r"S S 5r"SS\\R>5r "SS\\R>5r!\RD"\"\S5S5"SS\\\R>55r#\RD"\"\S5S5"SS\\\R>55r$\RD"\"\S5S5"SS\\\R>55r%\RD"\"\S5S5"S S!\\\R>55r&S"r'\(S#:Xa\RR"5 gg!\a SrGNf=f)$N)support)is_apple os_helper socket_helper)sleep) monotonicz,Cannot create socketpair on Emscripten/WASI. socketpairc[R"XU5nUR[RS45 UR 5 [R"XU5nUR UR 55 UR 5nUR5upgXu:Xa XF4sSSS5 $UR5 M5![a UR5 ef=f!,(df  g=f)Nr) socketbindrHOSTlistenconnect getsocknameacceptcloseOSError)familytypeprotolccaddraaddrs :/opt/alt/python313/lib64/python3.13/test/test_selectors.pyr r s ]]6 /1 FFM&&* + HHJ fE2A  !--/* hhjGA} t0 /GGI     0 /s%A C&"A C5CC##C&& C4cl/nUH+up4XA-(dMURUR5 M- U$N)appendfileobj)readyflagmatchkeyeventss rfind_ready_matchingr&/s1 E  == LL % Lc\rSrSrSrSrSrSr\R"\ RS:HS5S5r S r S rS rS rS rSrSrSrSrSrSr\R0"\R4S:HS5S5rSr\R"\"\S5S5S5r\R"\"\S5S5S5r Sr!g)BaseSelectorTestCase7c[5upURUR5 URUR5 X4$r)r addCleanupr)selfrdwrs rmake_socketpair$BaseSelectorTestCase.make_socketpair9s2 ! !v r'cUR5nURUR5 UR5up#UR U[ R S5nURU[ R5 URURU5 URURUR55 URUR[ R 5 URURS5 UR[ URSS5 UR[ URS[ R 5 UR["URU[ R 5 UR["URUR5[ R 5 g)Ndatar?Bi)SELECTORr,rr0register selectors EVENT_READassertIsInstance SelectorKey assertEqualr fdfilenor%r3 assertRaises ValueErrorKeyErrorr-sr.r/r$s r test_register"BaseSelectorTestCase.test_register?s: MMO  %%'jjY116: c9#8#89 b) - Y%9%9: 6* *ajj!V< *ajj#y7K7KL (AJJI4H4HI (AJJ #.. 0r'cdUR5nURUR5 UR5up#UR U[ R 5 URU5 UR[URS5 UR[URU5 gNr4) r5r,rr0r6r7r8 unregisterr>r@r-rBr.r/s rtest_unregister$BaseSelectorTestCase.test_unregisterYs} MMO  %%' 2y++, R (ALL&9 (ALL"5r'cUR5nURUR5 UR5up#UR 5UR 5pTUR U[ R5 UR U[ R5 UR5 UR5 URU5 URU5 gr) r5r,rr0r=r6r7r8 EVENT_WRITErG)r-rBr.r/rws rtest_unregister_after_fd_close3BaseSelectorTestCase.test_unregister_after_fd_closehs MMO  %%'yy{BIIK1 1i**+ 1i++,     Q Qr'posixzrequires posixcUR5nURUR5 UR5up#UR 5UR 5pTUR U[ R5 UR U[ R5 UR5upgUR5 UR5 [R"UR 5U5 [R"UR 5U5 UR[RU5 UR[RU5 URU5 URU5 gr) r5r,rr0r=r6r7r8rLosdup2rG)r-rBr.r/rMrNrd2wr2s r(test_unregister_after_fd_close_and_reuse=BaseSelectorTestCase.test_unregister_after_fd_close_and_reusets MMO  %%'yy{BIIK1 1i**+ 1i++,'')      a   a  !$ !$ Q Qr'cUR5nURUR5 UR5up#UR U[ R 5 UR U[ R5 UR5 UR5 URU5 URU5 gr) r5r,rr0r6r7r8rLrGrHs r"test_unregister_after_socket_close7BaseSelectorTestCase.test_unregister_after_socket_closes MMO  %%' 2y++, 2y,,-     R Rr'c>UR5nURUR5 UR5up#UR U[ R 5nURU[ R5nURURUR5 URXQRU55 URU5 [5n[5nUR U[ R U5nURU[ R U5nURURUR5 URURUR5 URXQRU55 URURU5 UR!["URS[ R 5 [5n[$R&R)5Ul[$R&R)5Ul URU[ R U5 UR+URR,5 UR+URR,5 grF)r5r,rr0r6r7r8modifyrLassertNotEqualr%r;get_keyrGobjectr3r>r@unittestmockMock assertFalsecalled) r-rBr.r/r$key2d1d2d3s r test_modify BaseSelectorTestCase.test_modifys MMO  %%'jjY112xxI112 CJJ 4 yy}- RX XjjY1126xxI00"5 T[[1 CHHdii0 yy}- B' (AHHfi6J6JKX]]'') }}))+  Y))2. **+ ,,-r'cURRS:Xa [RR S5nOURRS:Xa [RR S5nOKURRS:Xa [RR S5nOUR S5eUn[RR [S9URl UR5nURUR5 UR5upEURU[R5 UR![#UR$5S 5 UR'[5 URU[R(5 SSS5 UR![#UR$5S 5 SSS5 g!,(df  N<=f!,(df  g=f) N EpollSelectorz%selectors.EpollSelector._selector_cls PollSelectorz$selectors.PollSelector._selector_clsDevpollSelectorz'selectors.DevpollSelector._selector_cls) side_effectr)r5__name__rarbpatchskipTestrcZeroDivisionError return_valuer]r,rr0r6r7r8r;len_mapr>rL)r-rtmrBr.r/s rtest_modify_unregister+BaseSelectorTestCase.test_modify_unregistersh == ! !_ 4MM''79E ]] # #~ 5MM''68E ]] # #'8 8MM''9;E--# # a$,MM$6$6-%7%/ANN ! A OOAGG $))+FB JJr9// 0   S[! ,""#45Y2236   S[! ,U65Us%CG2 !G!+-G2! G/ +G22 HcUR5nURUR5 UR5nUR 5up4UR U[ R5 UR U[ R5 UR5 UR[URU5 UR[URU5 UR[URU5 UR[URU5 URURU5S5 URURU5S5 gr)r5r,rget_mapr0r6r7r8rLr> RuntimeErrorr_r@ __getitem__r;get)r-rBmappingr.r/s r test_closeBaseSelectorTestCase.test_closes MMO  ))+%%' 2y++, 2y,,-   , 26 , 26 (G$7$7< (G$7$7< R$/ R$/r'cBUR5nURUR5 UR5up#UR U[ R S5nURXARU55 UR[URS5 g)Nr3r4) r5r,rr0r6r7r8r;r_r>r@rAs r test_get_key!BaseSelectorTestCase.test_get_keyss MMO  %%'jjY116: iim, (AIIv6r'c8UR5nURUR5 UR5up#[ 5nUR 5nUR U5 UR[U5S5 UR[U5/5 URURU5S5 URURX$5U5 URU[RS5nURX%5 URXeRU55 URXeU5 UR[U5S5 UR[U5UR5/5 UR[UR!55U/5 UR#[$5 US SSS5 UR#[&5 XR SSS5 g!,(df  N/=f!,(df  g=f)Nrr3rrr4)r5r,rr0r`r~rdr;rxlistrr6r7r8assertInr=valuesr>r@ TypeError)r-rBr.r/sentinelkeysr$s r test_get_map!BaseSelectorTestCase.test_get_maps MMO  %%'8yy{  TA& dR( "t, "/:jjY116: b hhrl+ 2h' TA& dbiik]3 dkkm,se4  x ( L)  y )* ) ) (* )s G:.H : H HcVUR5nURUR5 UR5up#UR U[ R 5 UR U[ R5nUR5nUHsupgUR[U[ R55 URU5 URU[ R [ R-)-5 Mu URU[ R4/U5 gr)r5r,rr0r6r7r8rLselect assertTrue isinstancer:rdr;)r-rBr.r/wr_keyresultr$r%s r test_select BaseSelectorTestCase.test_select s MMO  %%' 2y++,B 5 56!KC OOJsI,A,AB C OOF #   V (<(<(1(=(=)>'?? @" 69#8#89:FCr'cFUR5nURUR5 UR5up#UR S5 UR U[ R[ R-5nSupVUR5nUR[U5S5 UHupUR[U[ R55 URX5 UR!U [ R[ R-)-5 U [ R-(aUR!U5 SnU [ R-(dMUR!U5 SnM URU5 URU5 g)Nsfoo)FFT)r5r,rr0sendr6r7r8rLrassertLessEqualrxrrr:r;rd) r-rBsock1sock2my_key seen_read seen_writerr$r%s rtest_select_read_write+BaseSelectorTestCase.test_select_read_writesH MMO  ++-  6E9#7#7):O:O#OP ,  S[!,!KC OOJsI,A,AB C   S )   V (<(<(1(=(=)>'?? @ ,,,  +  ----  ,! "  "  #r'cUR5nURUR5 UR5up#UnUR U[ R 5 UR U[ R5 SSS5 UR[URU5 UR[URU5 g!,(df  NQ=fr) r5r,rr0r6r7r8rLr>rr_)r-rBr.r/sels rtest_context_manager)BaseSelectorTestCase.test_context_manager<s MMO  %%' # LLY11 2 LLY22 3 , 26 , 26 Qs AC  CcUR5nURUR5 [US5(aBUR 5nUR [ U[55 URUS5 gg)Nr=r) r5r,rhasattrr=rrintassertGreaterEqual)r-rBr<s r test_fileno BaseSelectorTestCase.test_filenoIs] MMO  1h  B OOJr3/ 0  # #B * r'cUR5nURUR5 SnSn[U5n/n/n0n0n[ U5Hn UR 5upUR U [R5 UR U [R5 URU 5 URU 5 XU 'XU 'M /n U(GabUR5n [U [R5nU(dURS5 [R"U5n U R!U5 [ S5HAn UR5n [U [R5nU(a O [#S5 MC URS5 UR%X/W5 USn U R'U5nUR%[U5U5 U RU5 UR)Xz5 UR)U 5 UR+Xz5 U(aGMbUR%X/U-5 g)N s This is a test.zno sockets ready for writing g?zno sockets ready for readingr)r5r,rrxranger0r6r7r8rLrrr&failrandomchoicerrr;recvrGremove)r-rB NUM_SOCKETSMSGMSG_LENreaderswritersr2ww2rir.r/bufsr! ready_writers ready_readersbufs r test_selector"BaseSelectorTestCase.test_selectorRs MMO   !c({#A))+FB JJr9// 0 JJr900 1 NN2  NN2 GG$HHJE/y7L7LMM  89}-B GGCL2Y  3E4=4H4H!J  c  89   cgY 6q!B'''"C   SXw / KK  LL ! LL  NN37 #5g8 u{23r'win32z1select.select() cannot be used with empty fd setscUR5nURUR5 URUR SS9/5 g)Nr)timeout)r5r,rr;r)r-rBs rtest_empty_select&BaseSelectorTestCase.test_empty_selects: MMO   !,b1r'cUR5nURUR5 UR5up#UR U[ R 5 [5nURS[URS555 URS[URS555 UR[5U- S5 URU5 UR U[ R5 [5nURURS55 URURS55 UR[5U- S5 [5nURURS55 [5nXe- nURSUs=:*=(a S:*Os U5 g)Nrrrg?皙?@)r5r,rr0r6r7rLtimer;rxr assertLessrGr8rdr)r-rBr.r/tt0t1dts r test_timeout!BaseSelectorTestCase.test_timeoutsC MMO  %%' 2y,,- F C ,- C -.  C( R 2y++, F !% "&  C( V !% V W r((S("-r'alarmz%signal.alarm() required for this testc^UR5nURUR5 UR5up#"SS[5mU4Sjn[ R "[ R U5nUR[ R [ R U5 [ R"S5 URU[R5 [5nURT5 URS5 SSS5 UR[5U- S5 [ R"S5 g!,(df  NB=f![ R"S5 f=f)Nc\rSrSrSrg)GBaseSelectorTestCase.test_select_interrupt_exc..InterruptSelectiN)rs __module__ __qualname____firstlineno____static_attributes__rr'rInterruptSelectrs r'rc>Terr)argsrs rhandler?BaseSelectorTestCase.test_select_interrupt_exc..handlers ! !r'rrg@r)r5r,rr0 ExceptionsignalSIGALRMrr6r7r8rr>rr)r-rBr.r/rorig_alrm_handlerrrs @rtest_select_interrupt_exc.BaseSelectorTestCase.test_select_interrupt_excs MMO  %%' i  "#MM&..'B  v~~7HI  LLO JJr9// 0A""?3 4 OODFQJ , LLO 43 LLOs%)AE:E %E EEE1cUR5nURUR5 UR5up#[R"[R S5nUR[R[R U5 [R "S5 URU[R5 [5nURURS55 UR[5U- S5 [R "S5 g![R "S5 f=f)Ncgrr)rs rDBaseSelectorTestCase.test_select_interrupt_noraise..sr'rrg?g?r)r5r,rr0rrrr6r7r8rrdrr)r-rBr.r/rrs rtest_select_interrupt_noraise2BaseSelectorTestCase.test_select_interrupt_noraises MMO  %%'"MM&..:LM  v~~7HI  LLO JJr9// 0A   QXXc] +  # #DFQJ 4 LLOFLLOs A=D((ErN)"rsrrrr0rCrIrOra skipUnlessrSnamerWrZrjr{rrrrrrrrskipIfsysplatformrrrrrrrrr'rr)r)7s 04 6 G+-=>?" $.L-60$ 7:D$$: 7+34j__S\\W,HJ2J2.41@BB81@BBr'r)c\rSrSr\R "SS5\R"\S5\R"S5S555r Sr g) ScalableSelectorMixInirzTest needs resource modulecpuc6[R"[R5up[R"[RX"45 UR [R[RX45 [ US5nUS-nUR5nUR UR5 [US-5HWnUR5upgURW[R5 URW[R 5 MY UR'5n UR-US-[/U 55 g![ [4a UnNf=f![ a URS5 Nf=f![ a5nUR"["R$:XaURS5 eSnAff=f![ a@nUR"["R(:Xa[*(aURS5 eSnAff=f)Ni rzFD limit reachedz%Invalid argument error calling poll())resource getrlimit RLIMIT_NOFILE setrlimitr,minrr?r5rrr0rur6r7r8rLerrnoENOSPCrEINVALrr;rx) r-softhardNUM_FDSrBrr.r/efdss rtest_above_fd_setsize+ScalableSelectorMixIn.test_above_fd_setsizes''(>(>?     x55| D OOH..0F0F!L *$&G 2  MMO  w!|$A 2--/  2y334 2y445%& ((*C As3x0G$ G  2 01  2 77ell*MM"45   ww%,,&88 EF   sUA"E E+AF $GE('E(+F F  G 0GG  H;HHrN) rsrrrrrequires_mac_verrarrrequires_resourcer rrr'rrrsM b!$ #?@ u%-1&A%-1r'rc,\rSrSr\R rSrg)DefaultSelectorTestCaseirN)rsrrrr7DefaultSelectorr5rrr'rrrs ((Hr'rc,\rSrSr\R rSrg)SelectSelectorTestCaseirN)rsrrrr7SelectSelectorr5rrr'rrrs ''Hr'rrnz!Test needs selectors.PollSelectorc(\rSrSr\"\SS5rSrg)PollSelectorTestCasei!rnNrrsrrrgetattrr7r5rrr'rrr!s y.$7Hr'rrmz"Test needs selectors.EpollSelectorc.\rSrSr\"\SS5rSrSrg)EpollSelectorTestCasei)rmNcUR5n[R"5nUR[5 UR U[ R5 SSS5 UR[5 URU5 SSS5 SSS5 g!,(df  NF=f!,(df  N(=f!,(df  g=fr) r5tempfileNamedTemporaryFiler>IOErrorr6r7r8r@r_)r-rBfs rtest_register_file(EpollSelectorTestCase.test_register_file0s MMO  ( ( *a""7+ 1i223,""8, ! - + *++-, + *s:B?!BB?:B. B? B+ 'B?. B< 8B?? C r) rsrrrrr7r5rrrr'rrr)s y/48Hr'rKqueueSelectorz$Test needs selectors.KqueueSelector)c4\rSrSr\"\SS5rSrSrSr g)KqueueSelectorTestCasei;r NcUR5n[R"5nUR[5nUR U[ R5 SSS5 URWRR[R5 UR[5 URU5 SSS5 g!,(df  Nr=f!,(df  g=fr)r5r make_bad_fdr>rr6r7r8r; exceptionrEBADFr@r_)r-rBbad_fcms rtest_register_bad_fd+KqueueSelectorTestCase.test_register_bad_fdBs MMO%%'   w '2 JJui22 3( ++U[[9   x ( IIe ) ( ( ') (s!C-C C C'cUR5nURUR5 [5nUR UR S5/5 [5nX2- nUR SUs=:*=(a S:*Os U5 g)Nrrrr)r5r,rrr;rr)r-rBrrrs rtest_empty_select_timeout0KqueueSelectorTestCase.test_empty_select_timeoutNsg MMO  V !b) V W r((S("-r'r) rsrrrrr7r5r)r,rrr'rr"r";s y"2D9H  .r'r"roz$Test needs selectors.DevpollSelectorc(\rSrSr\"\SS5rSrg)DevpollSelectorTestCasei\roNrrrr'rr/r/\s y"3T:Hr'r/c.[R"5 gr)r reap_childrenrr'rtearDownModuler2ds r'__main__)*rrSrr7rr rtestr test.supportrrrrrra unittest.mockrrr ImportError is_emscriptenis_wasiSkipTestrr AF_INET SOCK_STREAMr&r)rTestCaserrrrrr"r/r2rsmainrr'rr?s  ;;"  GOO   J KK 6<  ""J ..v/A/A&ggT 3131l)2H4E4E) (183D3D(  WY78:8/1F#,,8:8  WY89; 02G$-- ;   WY(89;=.13H%...=.> WY(9:;=;24I&//;=;  z MMOoHsG$$G0/G0