&SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK r SSK r SSK r SSK r SSK r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJr SSKJ r SSKJ!r! SSKJ"r" SSKJ#r# SSKJ$r$ SS KJ%r% \ RL"S 5r'\RP"5 SSK)r)SSK*r+SSK,r+SSK-r+SSK.r+SSK/r+SSK0r+SS K*J1r1 SS K+J2r2 SS K+J3r3 \3Rhr5SSK7J8r8J9r9 Sr:SSK+J;r; Sr<SSK=r=\R|(a\R~"S5eSr@SrASrBSrC\ RS:Xa SSK+JErE SrF\2RrHSrISrJ\J(aSurKrLrMOSurKrLrM\RrOSrP\Q"\'SS5(+rR\RS:HrTSrU\ R"S 5rWS"S#/rXSS$KYJZrZJ[r[J\r\J]r] S%r_S&r`"S'S(\R5rb"S)S*\^5rc"S+S,\^5rdS-re"S.S/5rf"S0S1\d5rg"S2S3\+R5ri"S4S5\d5rjS6rkS7rl"S8S9\d5rm"S:S;\d5rn"S<S=\d5ro"S>S?\d5rp"S@SA\d5rq"SBSC\^5rrSDrs"SESF\^5rt"SGSH\^5ru"SISJ\d5rv"SKSL\d5rw"SMSN\d5rx"SOSP\d5rySSQjrzSRr{SSr|STr}"SUSV\^5r~"SWSX\5rSYr"SZS[\d5rS\rS]r"S^S_\d5r"S`Sa\d5rSSbK.JrJrJr "ScSd\^5rSer"SfSg\5r"ShSi\5r\GRSj\Sk9 \GRSl\SmSn9 \GRSo\\Sp9 "SqSr\d5r\GR "5rSsr"StSu\5r\GRSv\Sk9 "SwSx\5r\GRSv5 Syr"SzS{\d5r\GR."S|5"S}S~\d55r"SS5r"SS\R5r\A"S5r"SS\d5r"SS\d5r"SS\d5r"SS\d5r\GR@"\5S5\GR."S|5"SS\d555r"SS\d5r"SS\Z5r"SS\d5r\GR@"\@IJ KK J 's?AAc^U4SjnU$)aReturns a decorator: raises SkipTest when SM != spawn at test time. This can be useful to save overall Python test suite execution time. "spawn" is the universal mode available on all platforms so this limits the decorated test to only execute within test_multiprocessing_spawn. This would not be necessary if we refactored our test suite to split things into other test files when they are not start method specific to be rerun under all start methods. cJ>^[R"T5UU4Sj5nU$)Nc>[R"5=nS:wa[R"SU<ST35eT"U0UD6$)Nspawn start_method=z, not 'spawn'; )rget_start_methodrFrG)argskwargs start_methodreason test_items rspawn_check_wrapperKonly_run_in_spawn_testsuite..decorator..spawn_check_wrappersG / @ @ BB wN''=.decorators&  # . $ . #"r)rTrZs` ronly_run_in_spawn_testsuiter]s# rcd\rSrSrSr\R "\RS:HS5S5r Sr g)TestInternalDecoratorszBLogic within a test suite that could errantly skip tests? Test it!r1ztest requires that fork exists.c[R"5S:wa[R"S5e[ S5S5n[R"SS9n[R"SSS9 URW"5S 5 [R"S SS9 UR[R5nU"5 SSS5 URS[WR55 URS [UR55 [R"USS9 g![ anUR SU35 SnAGN SnAff=f!,(df  N=f![R"USS9 f=f) NrNz'only run in test_multiprocessing_spawn.ztesting this decoratorcgNr\r\rrreturn_four_if_spawnUTestInternalDecorators.test_only_run_in_spawn_testsuite..return_four_if_spawnsrz.expected decorated `def` not to raise; caught T allow_noneforcerdforkrO) rrPrFrGr] Exceptionfailset_start_method assertEqual assertRaisesassertInstr exception)selfreerrorig_start_methodctxs r test_only_run_in_spawn_testsuite7TestInternalDecorators.test_only_run_in_spawn_testsuites:  + + - 8##$MN N N ()A B C  ,<<M L  , ,WD A   13Q 7  , ,V4 @""8#4#45$&6 MM2C 4F G MM/3s}}+= >  , ,->d K N IIFseL M M N65  , ,->d Ks=D'A E$7E?AE$' E1E  E E!E$$E;r\N) __name__ __module__ __qualname____firstlineno____doc__rFskipIfsysplatformrx__static_attributes__r\rrr_r_s/L __S\\W,.OPLQLrr_c \rSrSrSrSrSrg) TimingWrappercXlSUlgr)funcelapsed)rtrs r__init__TimingWrapper.__init__s  rc[R"5nUR"U0UD6[R"5U- Ul$![R"5U- Ulf=fr)time monotonicrr)rtrQkwdsts r__call__TimingWrapper.__call__sK NN  099d+d+>>+a/DL4>>+a/DLs AA%)rrNrzr{r|r}rrrr\rrrrs 0rrcR\rSrSr%Sr\"5r\\\S'Sr Sr Sr Sr \ r Srg) BaseTestCasei) processesmanagerthreads START_METHODSNc@[(aURXS5 ggN) CHECK_TIMINGSassertAlmostEqualrtabs rassertTimingAlmostEqual$BaseTestCase.assertTimingAlmostEquals =  " "1 + rcPU"U6nURX5$![a gf=fr)roNotImplementedError)rtvaluerrQress rassertReturnsIfImplemented'BaseTestCase.assertReturnsIfImplemented s7 0+C##E/ /#   s  %%c[S5e)Nz#shouldn't try to pickle a test case)r)rtrQs r __reduce__BaseTestCase.__reduce__s!"GHHrr\)rzr{r|r} ALLOWED_TYPESsetrrr__annotations__rSrrr __reduce_ex__rr\rrrrs37M!eM3s8#L,0IMrrcUR5$![aC URs$![a& URss$![a [ef=ff=ff=fr) get_valuerD_Semaphore__value_valuerrts rrrsg *~~ * *)) ) * *{{"! *)) * **s: A +A A AAAAAAc\rSrSrSrSrg) DummyCallablei/cT[U[5(deURS5 gN)rrput)rtqcs rrDummyCallable.__call__0s !]++++ arr\N)rzr{r|r}rrr\rrrr/srrcP\rSrSrSrSrSr\R"S5S5r \ S5r Sr \ S 5r S r\ S 5rS r\ S 5r\ S5rSr\R*"\R.S5S5r\ S5r\ S5r\ S5r\ S5rSrSrSrSr Sr!\ S5r"Sr#\ S5r$Sr%\ S1S j5r&S!r'\R"S"5S#5r(S$r)\ S%5r*S&r+\ S'5r,S(r-\ 04S)j5r.S*r/S+r0\ S2S,j5r1S-r2S.r3S/r4S0r5g)3 _TestProcessi5rrc*URS:Xa*URSRUR55 UR5nURnUR UR 55 UR UR(+5 URU[5 UR [U5S:5 URUR[R"55 URURS5 g)Nrtest not appropriate for {}r)TYPEskipTestformatcurrent_processauthkey assertTrueis_alivedaemonassertIsInstancebyteslenroidentrBgetpidexitcode)rtcurrentrs r test_current_TestProcess.test_current9s 99 ! MM7>>tyyI J&&(// ((*+ GNN*+ gu- G q()  4 ))40rcHURS:XaURSUR35 [R[R "[R5[ R"[R5[ R"[R "[R55/nUH`nURU5 UR5nUR5 UR5 URURS5 Mb g)Nrztest not appropriate for r)rrr executablerBfsencoderFakePathset_executableProcessstartjoinror)rtpathspathps rtest_set_executable _TestProcess.test_set_executableGs 99 ! MM5dii[A B NN KK '   s~~ .   r{{3>>: ;   D    % A GGI FFH   QZZ + rcpuc SSS/S4n[[4n[R"X5nUHupEUR XES9 UR S5nUR URU"Xd45S9nSUlUR5 UR5nURX5 UR5 [U5 SSS5 M g!,(df  M=f)Nrrrr)rQ args_typetargetrQT)listtuple itertoolsproductsubTestrr _test_argsrrgetrorr$) rt args_cases args_types test_casesrQrrr child_argss rtest_args_argument_TestProcess.test_args_argumentWsT* E] &&z> )OD4=JJqMLLi >RLS UUW   2A>= *==s BC C" c&URU5 grr)clsrargs rr_TestProcess._test_argsls  c rcURS:Xa*URSRUR55 URURS9nUR UR UR5R 5 URURSS9nURUR 5 URURSS9nURUR 5 g)NrrrTrrF) rrrr_testrorrr assertFalse)rtproc0proc1proc2s rtest_daemon_argument!_TestProcess.test_daemon_argumentps 99 ! MM7>>tyyI J DJJ / t';';'='D'DE DJJt <  % DJJu = &rc>UR5nURU5 URU5 URUR5 URS:wa@UR[ UR 55 URUR 5 gg)Nr)rrr,rrrpid)rrrQrrs rr_TestProcess._test|sl%%' d  d  gll 88y EE%( ) EE'++  !rc`URS:Xa*URSRUR55 URUR 55 UR SS9upUR URU4S9nUR5 UR5 UR5upEURX@R5R5 URU[R"55 URXPR5R 5 g)NrrFduplexr)rrr assertIsNoneparent_processPiper_test_send_parent_processrrrecvrorrrBrr,)rtrconnwconnr parent_pid parent_names rtest_parent_process_attributes+_TestProcess.test_parent_process_attributess 99 ! MM7>>tyyI J $--/0yyy.  LL > >eXL N   "'**,  %9%9%;%?%?@ RYY[1 &:&:&<&A&ABrcrSSKJn URU"5RU"5R/5 g)Nrr )multiprocessing.processr sendrr,rrr s rr &_TestProcess._test_send_parent_processs(: N$((.*:*?*?@ArclURS:Xa*URSRUR55 URSS9upUR UR U4S9nUR 5 UR[RS9(d [S5eUR5nURUS5 UR5 UR5 UR[RS9(d [S5eUR5nURUS 5 g) NrrFrrr5z(Could not communicate with child processalive not alive)rrrr r_test_create_grandchild_processrpollr LONG_TIMEOUTAssertionErrorr ro terminater)rtrrrparent_process_statuss rtest_parent_process _TestProcess.test_parent_processs 99 ! MM7>>tyyI J yyy.  LL77ui  I  zz'"6"6z7 !KL L %  .8  zz'"6"6z7 !KL L %  . >tyyI J'0'<'<'>'H'H$ JJqM LL G GqdL S  %&UUW" A 8Urcd[R"5RnURU5 gr)r;r<r=r)rrmainthread_native_ids rr>/_TestProcess._test_process_mainthread_native_ids$(446@@ "#rc0[R"S5 gNdrr(rs r _sleep_some_TestProcess._sleep_somes  3rcPUR5 [R"S5 grH)rrr(revents r_sleep_some_event_TestProcess._sleep_some_events  3rc0[R"U5 grrJ)rdelays r _test_sleep_TestProcess._test_sleeps 5rc^URS:Xa*URSRUR55 UR5nUR UR U4S9mSTlTR5 URTR5S5 URTUR55 URTRS5 [TR5nURU"S5S5 URUR S5 URTR5S5 URU"S5S5 URUR S5 URTR5S5 ["R$nUR'U5(d5TR)5 TR5 UR+SUS 35 U"T5 [-[.S 5(aU4S jn[.R."[.R0U5n[.R2"S 5 URU"5S5 [.R2"S5 [.R."[.R0U5 OURU"5S5 URUR S5 URTR5S 5 UR5TUR55 TR5 TR$![.R2"S5 [.R."[.R0U5 f=f)NrrrTrr3rAzevent not signaled in  secondsalarmc >[ST-5e)Nzjoin took too long: %s RuntimeError)rQrs rhandler+_TestProcess._kill_process..handler-s"#;a#?@@r F)rrrr3rrQrrrorrqr5rrrrrrr+r r"rmhasattrsignalSIGALRMrYr4)rtmethrPrr5r] old_handlerrs @r _kill_process_TestProcess._kill_process sd 99 ! MM7>>tyyI J  LL 6 6eXL F   t, a--/0 T*QVV$ a$' $$T\\37 t, b4( $$T\\37 t,''zz'"" KKM FFH II.wix@ A Q 67 # # A --@K ; R   . Q fnnk:   TVT * $$T\\37 u- D0023 zz Q fnnk:s ;-L33=M0cUR[RR5nUR U[ R *5 gr)rerrr"roraSIGTERMrtrs rtest_terminate_TestProcess.test_terminateBs4%%o&=&=&G&GH FNN?3rcUR[RR5n[R S:wa"UR U[R*5 gUR U[R*5 gNnt) rerrkillrBr,roraSIGKILLrhris r test_kill_TestProcess.test_killFsU%%o&=&=&B&BC 77d?   X 7   X 7rc[R"5nUR[ U5[ L5 URUS:5 g![a SnNCf=fr)r cpu_countrrr6int)rtcpuss rtest_cpu_count_TestProcess.test_cpu_countMsR ",,.D T c)*  "# D sA AAcUR[UR55[5 UR 5nUR UR SS9nURX R55 SUlUR5 URX R55 UR5 UR5 URX R55 g!UR5 f=f)Nr\rT) ror6r5rr3rr r4rrrqrr)rtrPrs rtest_active_children!_TestProcess.test_active_childrenUs d2245t<  LL L 4 0023 AH GGI MM!113 4 IIK  0023 IIKs 86C..DcURU5 [U5S:aR[S5HBnURURXU/-4S9nUR 5 UR 5 MD ggNr.r)rrranger_test_recursionrr)rridirs rr_TestProcess._test_recursionfse 2 r7Q;1XKK..eV_    rc`URSS9upURU/5 [R"[5 /nUR 5(a6UR UR55 UR 5(aM6/S/SS/SS/S/SS/SS//nURX45 g)NFrrr) r rrr(DELTArappendr ro)rtrrresultexpecteds rtest_recursion_TestProcess.test_recursionqsyyy.  UB' 5jjll MM%**, 'jjll cAAcAA *rc&URS5 g)Ng$@r rOs r_test_sentinel_TestProcess._test_sentinels 4rcURS:Xa*URSRUR55 UR5nUR UR U4S9nUR [5 UR SSS5 UR5 URUR5 URnURU[5 UR[USS95 UR!5 UR5 UR#[USS95 g!,(df  N=f)Nrrrr3rr)rrrr3rrrprEsentinelr addCleanuprrrurr6rr)rtrPrrs r test_sentinel_TestProcess.test_sentinels 99 ! MM7>>tyyI J  LL 3 35(L C   z * JJ+   :: h, 3?@   !<=+ *s ; D00 D>NcVUbUR5 [R"U5 gr)rrexit)rrcrs r _test_close_TestProcess._test_closes = EEG  rcURS:Xa*URSRUR55 UR5nUR UR SU0S9nSUlUR5 URUR5S5 UR[5 UR5 SSS5 URS5 UR5 URUR5S5 URURS5 UR5 UR[5 UR5 SSS5 UR[5 UR5 SSS5 UR[5 UR!5 SSS5 UR5 ["R$"U5nA[&R("5 UR+U"5S5 [-U5 g!,(df  GNe=f!,(df  N=f!,(df  N=f!,(df  N=f)Nrrr)rrRTFr)rrrrrrrrrorrprEr rrrr"weakrefrefgccollectassertIsr$)rtrrwrs r test_close_TestProcess.test_closes 99 ! MM7>>tyyI J JJL LL 0 0#qL B   t,   z * GGI+ d   u- Q'    z * JJL+   z * FFH+   z * KKM+  [[^   bdD!A++ *+ * * * * *s03H"H4<I*I" H14 I I I$walltimecURS:Xa*URSRUR55 [R"5nUS:XaSOSn[ U5Vs/sHnUR URSS9PM nnUHnUR5 M UHn[U5 M UHnURURS5 M! [ U5Vs/sHnUR URS 9PM nnUHnUR5 M [R"S 5 UHnUR5 M UHn[U5 M [ R"S :wal[$R&*/n[(R*S :Xa UR-[$R.*5 UHnUR1URU5 M! ggs snfs snf) NrrrNrrI){Gz?rrrMbP?rndarwin)rrrrrPr~rrUrr'rorrLrr(r"rBr,rarhrrrrprq)rtsmNrprocsr exitcodess rtest_many_processes _TestProcess.test_many_processess 99 ! MM7>>tyyI J  - - /wAC ($"QT%5%5GD" $A GGIA OA   QZZ + ($"QT%5%56" $A GGI 5A KKMA O 77d? ..)I||x'  &..1 ajj)4 %$$s '$G.,#G3cv[5n[R"U5nUR5nUR XU4S9nAUR 5 UR 5 [R"5 URU"5S5 URUR5S5 [U5 g)Nrr) rrrrrrrrrrrorr$)rtrrrrs rtest_lose_target_ref!_TestProcess.test_lose_target_refs O [[^ JJL LLAL /      bdD! !$ArclUR[R"55 UR5 gr)rrfd_countr )rtevtrs r_test_child_fd_inflation%_TestProcess._test_child_fd_inflations  i  "#  rcVURS:Xa*URSRUR55 [R"5nUS:Xa URSRU55 SnUR 5nUR 5n[U5Vs/sHnURURX44S9PM nnUHnUR5 M [U5Vs/sHoTR5PM nnUR[[U55SU5 UR5 UHnUR5 M [!U5 gs snfs snf!UR5 UHnUR5 M [!U5 f=f)Nrrrkrrr)rrrrrPr3rr~rrrrrorrrr$) rtrrrrrrr fd_countss rtest_child_fd_inflation$_TestProcess.test_child_fd_inflationsV 99 ! MM7>>tyyI J  - - / < MM7>>rB C jjl JJL ($"QT%B%B#R" $A GGI */(3(Q(I3   SY0!Y ? GGI N$ 4 GGI Ns$%%E(& E23E- 'E2-E226F(c^U4SjnU4Sjn[R"US9R5 [R"USS9R5 g)NcR>[R"S5 TR5 g)N?rr(rrsrfunc12_TestProcess._test_wait_for_threads..func1s JJsO GGIrcR>[R"S5 TR5 g)N)rr(clearrsrfunc22_TestProcess._test_wait_for_threads..func2s JJrN IIKrrTr)r;Threadr)rtrrrs ` r_test_wait_for_threads#_TestProcess._test_wait_for_threadss?   &,,.d399;rcLURS:Xa*URSRUR55 UR5nUR UR U4S9nUR 5 UR5 URUR55 g)Nrrr) rrrr3rrrrris_set)rtrprocs rtest_wait_for_threads"_TestProcess.test_wait_for_threads!su 99 ! MM7>>tyyI Jjjl||4#>#>cV|L    %rcUR5HLup4US:Xa&[R"5nUR5 O US:XdeSn[ [ US5 MN UR 5 g)Nr remove)itemsioStringIOr setattrrr)rtrbreak_std_streams stream_nameactionstreams r_test_error_on_stdio_flush'_TestProcess._test_error_on_stdio_flush-s^#4#:#:#< K  ))) Cd +$=  rc [R"5S/nUSR5 SHnUHn[[U5n[ [X#5 UR 5nURURU4S9nUR5 UR5 URUR55 URURS5 [ [X$5 M M g![ [X$5 f=f)Nrstdoutstderrr)rrr getattrrrr3rrrrrrror)rtstreamsrr old_streamrrs rtest_error_on_stdio_flush_1(_TestProcess.test_error_on_stdio_flush_19s;;=$' /K!$S+6 [1 :**,C<>tyyI J  - - /   MM7>>rB C:""$jjl||4#<#rLrQrUrerjrqrwrzrrrrrrrrrrrrrrrrrrrrr\rrrr5s+,M 1,  u%&( ' CBB=2 LL &P99;LMVNV $$5n48#4"+(>  @ z*!5+!5F > < < &@B  :&:"$/L38rrc,\rSrSrSrSrSrSrSrg) _UpperCaseric[RRU5 [R"5uUlUlgr)rrrr  child_conn parent_connrs rr_UpperCaser.__init__s.((.,;,@,@,B))rc URR5 [URRS5H,nURR UR 55 M. URR5 gr)rr iterrr rupperrtrs rrun_UpperCaser.runsW  doo**D1A OO  +2 rc[U5[LdeURRU5 URR 5$r)r6rrrrr rs rsubmit_UpperCaser.submits;Aw#~~ a $$&&rcURRS5 URR5 URR5 gr)rrr rrs rstop_UpperCaser.stops8 d#   r)rrN) rzr{r|r}rrr r rr\rrrrsC '  rrcJ\rSrSrSrSrSr\S5r\S5r Sr Sr g ) _TestSubclassingProcessirc [5nSUlUR5 URUR S5S5 URUR S5S5 UR 5 UR 5 g)NTr0HELLOworldWORLD)rrrror r r)rt uppercasers rtest_subclassing(_TestSubclassingProcess.test_subclassingsg ]   **73W= **73W=rc"URS:Xa*URSRUR55 [RnUR [R U5 URURU4S9nUR5 UR5 [USS9nUR5nURSU5 URSU5 URSU5 SSS5 g!,(df  g=f) Nrrrutf-8encodingZeroDivisionErrorztest_multiprocessing.pyz 1/0 # MARKER)rrrrTESTFNrunlinkr_test_stderr_flushrropenreadrq)rttestfnrfrus rtest_stderr_flush)_TestSubclassingProcess.test_stderr_flushs 99 ! MM7>>tyyI J!!  ((&1||4#:#:&|K  &7 +q&&(C MM-s 3 MM3S 9 MM.# . , + +s 0AD Dc[R"U[R[R-[R-5n[USSSS9[ lSS- g)NwrFrclosefdrr)rBr O_WRONLYO_CREATO_EXCLrr)rr"fds rr*_TestSubclassingProcess._test_stderr_flushsA WWVR[[2::5 A B"cGUC  !rc[R"U[R[R-[R-5n[USSSS9[ l[ R"U5 g)Nr'rFr()rBr r*r+r,rrr)rrTr"r-s r_test_sys_exit&_TestSubclassingProcess._test_sys_exitsF WWVR[[2::5 A B"cGUC  rcURS:Xa*URSRUR55 [RnUR [R U5 /SQS4HnURURX!4S9nSUl UR5 [U5 URURS5 [USS 9nUR5nSSS5 URWR!5[#U55 [$R "U5 M /S QnUHyupxUR'US 9 UR[(R*US9nSUl UR5 [U5 URURU5 SSS5 M{ g!,(df  N=f!,(df  M=f) Nrrrr.z ignore thisrTrrr)))Tr)Fr))r6)rr)r\rrQ)rrrrrrrrr0rrr'rorr r!rstriprrrBrrr) rtr"rTrr#contentcasesrQrs r test_sys_exit%_TestSubclassingProcess.test_sys_exitsf 99 ! MM7>>tyyI J!!  ((&1   F D$7$7v>N OAAH GGI O   QZZ +fw/1&&(0   W^^-s6{ ; IIf  $ND4(LLtL< Q  X6 )($0/)(sF7 AG7 G  G r\N) rzr{r|r}rrr$rrr0r;rr\rrrrs>"M/"   &7rrcj[US5(aUR5$UR5S:H$)Nemptyr)r`r>qsizers r queue_emptyrAs+q'wwywwyA~rcj[US5(aUR5$UR5U:H$)Nfull)r`rCr?)rmaxsizes r queue_fullrE s+q&vvxwwyG##rc\rSrSr\S5rSr\S5rSr\S5r Sr Sr \S 5r S r S rS rS rSrSrSrSrg) _TestQueueicUR5 [S5HnUR5 M UR5 g)N)r r~rr)rr#child_can_startparent_can_continuers r _test_put_TestQueue._test_puts1qA IIK!rcSnURUS9nUR5nUR5nURURX#U4S9nSUlUR 5 UR [U5S5 UR [X!5S5 URS5 URSS5 URSSS5 URS S5 URS SS5 URS5 [R"[5 UR [U5S5 UR [X!5S5 [UR5n[UR5nUR[ R"US S5 UR%UR&S 5 UR[ R"US SS5 UR%UR&S 5 UR[ R"US 5 UR%UR&S 5 UR[ R"US S[(5 UR%UR&[(5 UR[ R"US S[*5 UR%UR&S 5 UR[ R"US S[,S 9 UR%UR&[,5 UR/5 UR15 UR [U5S5 UR [X!5S5 UR35 [5U5 g)NrIrDrTFrr.r4rdrrr)rr3rrLrrrorArEr put_nowaitrr(rrrppyqueueFullrrTIMEOUT1TIMEOUT2TIMEOUT3rr rr$)rtMAXSIZEr#rJrKrrrQs rtest_put_TestQueue.test_puts 7 +**,"jjl||>>*=>   U+T2 E3U; !  !T !T4  !U !UD!  5 U+U3 E3T:EII&"5#3#34  ',,Q6 $$S[[!4 ',,Qt< $$S[[!4 ',, A6 $$Z%7%7; ',,Qh? $$S[[(; ',,Qx@ $$S[[!4 ',,QhG $$S[[(;  " U+T2 E3U; ErcUR5 URS5 URS5 URS5 URS5 UR5 g)Nr.r4rdr)r rrrr#rJrKs r _test_get_TestQueue._test_getUsF !  !  !  ! !rcrUR5nUR5nUR5nURURXU4S9nSUlUR 5 UR [U5S5 UR5 UR5 [R"[5 UR [U5S5 UR URSS5S5 UR URS5S5 UR URSS9S5 UR UR5S 5 UR [U5S5 [UR5n[UR5nUR!["R$US5 UR'UR(S 5 UR!["R$USS5 UR'UR(S 5 UR!["R$U5 UR'UR(S 5 UR!["R$US[*5 UR'UR([*5 UR!["R$US[,5 UR'UR(S 5 UR!["R$U[.S9 UR'UR([.5 UR15 [3U5 g) NrTFr.r4rrrdrr)rr3rr\rrrorArr rr(rr get_nowaitrrprREmptyrrrTrUrVrr$)rtr#rJrKrrr_s rtest_get_TestQueue.test_get_sY **,"jjl||>>*=>   U+T2  " 5 U+U3 4.2 4!, 1-q1 ))+Q/ U+T2EII&"5#3#34  '--e4 $$S[[!4 '--eT: $$S[[!4 '--4 $$Z%7%7; '--dH= $$S[[(; '--eX> $$S[[!4 '--h? $$S[[(; ErcL[SS5HnURU5 M g)Nr_r)r~r)rr#rs r _test_fork_TestQueue._test_forksr2A IIaLrcUR5n[S5HnURU5 M [R"[ 5 UR URU4S9nSUlUR5 [S5H#nURUR5U5 M% UR[RURS5 UR5 [!U5 g)Nr_rTrF)rr~rrr(rrrdrrrorrprRr`rr$)rtr#rrs r test_fork_TestQueue.test_forks  rA IIaL 5 LLuhL ?  rA   UYY[! , '--E: ErcBUR5nURUR5S5 UR S5 URUR5S5 UR S5 URUR5S5 UR 5 URUR5S5 UR 5 URUR5S5 [U5 g![a UR S5 Nf=f)Nrzqsize method not implementedrrr.)rror?rrrrr$rtrs r test_qsize_TestQueue.test_qsizes JJL :   QWWY * a A& a A&  A&  A&A# : MM8 9 :s DDDc[URS5H-n[R"[5 UR 5 M/ gr)rrrr(r task_done)rrobjs r_test_task_done_TestQueue._test_task_dones,t$C JJu  KKM%rcUR5n[S5Vs/sHnURURU4S9PM nnUHnSUlUR 5 M [S5HnUR U5 M UR5 UHnUR S5 M UHnUR5 M [U5 gs snf)NrdrTr_) JoinableQueuer~rrprrrrr$)rtr#rworkersrs rtest_task_done_TestQueue.test_task_dones""$"!H&$q<CCC C C C#c[R"5n[R"5nUR [ R URSS5 [R"5U- nURUS5 [U5 g)NT皙?r) rrrrrprRr`rassertGreaterEqualr$)rtrrdeltas r test_timeout_TestQueue.test_timeoutsb  ! ! #  '--e< 5( u-ArcURS:wa*URSRUR55 "SS[5n[R R 5 UR5nURU"55 URS5 URUR[ RS95 [U5 SSS5 [R R 5 URSS9nURU"55 URS5 URUR5S5 URUR[ RS95 URUR!55 [U5 SSS5 g!,(df  N=f![a N|f=f!,(df  g=f) Nrrc\rSrSrSrSrg)F_TestQueue.test_queue_feeder_donot_stop_onexc..NotSerializablei c[er)rDrs rrQ_TestQueue.test_queue_feeder_donot_stop_onexc..NotSerializable.__reduce__ s$$rr\Nrzr{r|r}rrr\rrNotSerializabler s %rrTrrrO)rrrobjecttestrcaptured_stderrrrrrr+r$ror?rr>)rtrrs r"test_queue_feeder_donot_stop_onexc-_TestQueue.test_queue_feeder_donot_stop_onexcsV 99 # MM7>>tyyI J %f %\\ ) ) + A EE/# $ EE$K OOAEE'*?*?E@ A N ,\\ ) ) + 1 %A EE/# $ EE$K   A. OOAEE'*?*?E@ A OOAGGI & N, +, +'  , +s>(A/F4=7G5 GAG4 G GGGG G#c^URS:wa*URSRUR55 "SS[5m"U4SjS[R R 5nT"5n[RR5 U"[R"5S9nURU5 URS5 URUR[RS 95 SSS5 URUR5 URUR 5 g!,(df  NE=f) Nrrc$\rSrSrSrSrSrSrg)K_TestQueue.test_queue_feeder_on_queue_feeder_error..NotSerializablei*zMock unserializable objectc SUlSUlgNF)reduce_was_called on_queue_feeder_error_was_calledrs rrT_TestQueue.test_queue_feeder_on_queue_feeder_error..NotSerializable.__init__,s).&8=5rcSUl[eNT)rrDrs rrV_TestQueue.test_queue_feeder_on_queue_feeder_error..NotSerializable.__reduce__0s)-&$$r)rrN)rzr{r|r}r~rrrr\rrrr*s , > %rrc0>\rSrSrSr\U4Sj5rSrg)E_TestQueue.test_queue_feeder_on_queue_feeder_error..SafeQueuei4z1Queue with overloaded _on_queue_feeder_error hookcd>[U[5(a[UT5(aSUlgggr)rrDr)r7rors r_on_queue_feeder_error\_TestQueue.test_queue_feeder_on_queue_feeder_error..SafeQueue._on_queue_feeder_error6s/q.11"388;?C892rr\N)rzr{r|r}r~ staticmethodrr)rsr SafeQueuer4s C  @ @rr)rwTr)rrrrrrrrrr get_contextrrrr+rr)rtrnot_serializable_objrrs @r'test_queue_feeder_on_queue_feeder_error2_TestQueue.test_queue_feeder_on_queue_feeder_error$s 99 # MM7>>tyyI J %f % @..44 @ /0 \\ ) ) +o99;>? ,MMN, +s A(D== E c*[R"5[R"54HBnUR5 UR 5 UR UR 55 MD [R"5[R"54HcnURS5 UR5 UR 5 UR[S5 UR 5 SSS5 Me g!,(df  Mw=f)Nfoo is closed) rrrsr r!rr>rassertRaisesRegexOSErrorrjs r"test_closed_queue_empty_exceptions-_TestQueue.test_closed_queue_empty_exceptionsJs !&&(/*G*G*IIA GGI MMO OOAGGI &J !&&(/*G*G*IIA EE%L GGI MMO''= >= J>=s %D D c[R"5[R"54HrnUR5 UR [ S5 UR S5 SSS5 UR [ S5 UR5 SSS5 Mt g!,(df  NB=f!,(df  M=f)Nrr)rrrsr rrErrrjs r$test_closed_queue_put_get_exceptions/_TestQueue.test_closed_queue_put_get_exceptions[s~ &&(/*G*G*IIA GGI'' K@e A'' K@A@ J@@@@sB"B3" B0 3 C r\N)rzr{r|r}rrLrXr\rardrgrkrprurrrrrrrr\rrrGrGs"" 9v""3j8  ,3* @$OL"rrGcj\rSrSr\S Sj5r\S5rSrSr\S Sj5r Sr S r S r S r g) _TestLockifNc`UR5 UbUR[U55 ggr)acquirerrepr)lockls r_acquire_TestLock._acquirehs%  = HHT$Z  rcpUR5 UR5 [R"S5 g)N?)rrrr()rrPs r_acquire_event_TestLock._acquire_eventns   3rcURS:wa*URSRUR55 UR5nUR S[ U55 UR 5 UR S[ U55 UR5 Sn/n[R"URX4US9nUR5 [R"S5 UR SUS 3US 5 UR5 [R"URU4US9nUR5 [R"S5 UR S [ U55 UR5 S n[R"5R!5nUR#URX4US9nUR5 UR%5 UR S US 3US 5 UR5nUR'5nUR#UR(X4SS9nUR5 UR+5 UR S[ U55 UR-5 g)NrrzzT1rrQr,rzrzP1z )rrrLockrorrreleaser;rrrrr(rManagerrrrr3rr r")rtrtnamerrpnamerrPs rtest_repr_lock_TestLock.test_repr_lockts 99 # MM7>>tyyI Jyy{ -T ;  4tDzB     DMM#')"' )   3 3E7"=qtD    DMM#''"' )   3 8$t*E   # # % * * , LL #i#  %    <wb11Q48yy{  LL 3 3#m"  $    9DJG rcFUR5nURUR5S5 URURS5S5 URUR5S5 UR [ [ R4UR5 gNTF)rrorrrprEr; ThreadErrorrtrs r test_lock_TestLock.test_locksqyy{ . e,e4 . :y'<'<=t||Lrc[U5HnUR5 M UbUR[U55 [R "U5 [U5HnUR 5 M gr)r~rrrrr(r)rr5rn_s r_acquire_release_TestLock._acquire_releasesQqA LLN = HHT$Z  7qA LLNrc URS:wa*URSRUR55 UR5nUR S[ U55 Sn[ U5HnUR5 M UR SUS3[ U55 [ U5HnUR5 M //pT[ U5HQnUR[R"URUSXVS-4S US-3S 95 US R5 MS UHnUR5 M [ U5H"nURS US-S US-S3U5 M$ [R"URUS4SS 9nUR5 [ R""S5 UR S[ U55 [ R""S5 Sn[$R&"5R)5nUR+URUSU4US 9n U R5 U R5 UR SUS3US5 UR-5n UR5nUR+UR.X4S9n U R5 U R15 UR S[ U55 U R5 g)Nrrzr4zrzrrz")rrrRLockrorr~rrrr;rrrrrqrr(rrrrr3rr ) rtrrrrrrt_rrrPs rtest_repr_rlock_TestLock.test_repr_rlocksz 99 # MM7>>tyyI Jzz| +T$Z8 qA LLN /s"5tDzBqA LLN21qA HHY%%T-B-B,0#qA#+>-.qse96 7 bEKKM  B GGIqA MM01R!uB? C   D$9$9'+Sk(* -   3 <8$,,GrcZUR5 SSS5 g!,(df  g=frrrs rtest_lock_context_TestLock.test_lock_contexts YY[ [[s *r\rr)rzr{r|r}rrrrrrrrrrr\rrrrfsY!!  .`M2hHrrc,\rSrSrSrSrSrSrSrg)_TestSemaphoreicZURS[U5 URUR5S5 URS[U5 URUR5S5 URS[U5 URURS5S5 URS[U5 URUR 5S5 URS[U5 URUR 5S5 URS[U5 g)Nr.TrrF)rrrorrrtsems r_test_semaphore_TestSemaphore._test_semaphores ''9c: - ''9c: - ''9c: U+U3 ''9c: - ''9c: - ''9c:rc$URS5nURU5 URUR5S5 UR S[ U5 URUR5S5 UR S[ U5 g)Nr.r4rd) Semaphorerrorrrrs rtest_semaphore_TestSemaphore.test_semaphoresnnnQ S! - ''9c: - ''9c:rcHURS5nURU5 gNr.)BoundedSemaphorerrs rtest_bounded_semaphore%_TestSemaphore.test_bounded_semaphores ##A& S!rcURS:wa*URSRUR55 URS5n[ UR 5nUR U"S5S5 URURS5 UR U"SS5S5 URURS5 UR U"S[5S5 URURS5 UR U"S[5S5 URUR[5 UR U"[S9S5 URUR[5 g)NrrrFr3Tr) rrrrrrrorrrTrUrV)rtrrs rr_TestSemaphore.test_timeouts 99 # MM7>>tyyI JnnQ , / $$W__c: -u5 $$W__c: 159 $$W__a8 x0%8 $$W__h? 2E: $$W__h?rr\N) rzr{r|r}rrrrrr\rrrrs ;;"@rrc\rSrSr\SSj5rSrSrSrSr Sr S r \S 5r \ R"\S 5S 5r\S 5r\ R"\S 5S5r\S5rSrSrg)_TestConditioni.NcUR5 UR5 URU5 UR5 UR5 gr)rrr )rcondsleepingwokenr5s rr#_TestCondition.f0s5  '  rc[R"[R5HnU"5U:Xa OM UR X!5 g![a  M f=fr)rsleeping_retryr+rr)rtrrrs rassertReachesEventually&_TestCondition.assertReachesEventually8sW''(=(=>A 6U?#? ''4'  s A  AAc*URS:XasURR5URR5- nUR US5 UR UR R5S5 gg![ a gf=f)Nrr)r_sleeping_countr _woken_countro_wait_semaphorer)rtrsleeperss rcheck_invariant_TestCondition.check_invariantBs 99 #  00::< --779:  1-  !5!5!?!?!A1E $ '  sA1B BBc(^UR5nURS5nURS5mURURXT4S9nSUlUR 5 [ R"URXT4S9nSUlUR 5 UR5 UR5 URU4SjS5 UR5 UR5 UR5 URU4SjS5 UR5 UR5 UR5 URU4SjS5 URU5 [R"U5 [U5 g) NrrTc>[T5$rrrsr,_TestCondition.test_notify.._ Yu-=rc>[T5$rr r srrrgrrrc>[T5$rr r srrrorrr.) Conditionrrr#rrr;rrrnotifyrrr r!r')rtrrrrrs @r test_notify_TestCondition.test_notifyMs3~~>>!$q! LLde-DL E    DFF$%1H I    $$%=qA    $$%=qA    $$%=qA T"$$Q'QrcUR5nURS5nURS5n/n[S5HnURURXU[ 4S9nSUlUR5 URU5 [R"URXU[ 4S9nSUlUR5 URU5 M [S5HnUR5 M [S5HnUR5 M URS[U5 URU5 [S5HnURURXU4S9nSUlUR5 URU5 [R"URXU4S9nSUlUR5 URU5 M [S5HnUR5 M [R "["5 URS[U5 UR5 UR%5 UR'5 [S5HnUR5 M URS[U5 URU5 UHn[(R*"U5 M g)Nrr4rTrI)rrr~rr#rTrrrr;rrrrrrr(r notify_allrr r!) rtrrrrtrrrr's rtest_notify_all_TestCondition.test_notify_allws>~~>>!$q!qA DFF#'5("CEAAH GGI NN1   '+uh&GIAAH GGI NN1 qA    qA MMO ''9e< T"qA DFF$%1H IAAH GGI NN1   de5LMAAH GGI NN1 qA     5 ''9e<   qA MMO ''9e< T"A  ( ( +rcR^UR5nURS5nURS5m/n[S5HnURURXT4S9nSUlUR 5 URU5 [R"URXT4S9nSUlUR 5 URU5 M [S5HnUR5 M [R"[5 URS[T5 UR5 UR!SS9 UR#5 UR%U4SjS5 UR5 UR!S S9 UR#5 UR%U4S jS5 UR5 UR!SS9 UR#5 URS[T5 UR'U5 UHn[(R*"U5 M g) Nrr4rTrIr.)rc>[T5$rr r srr._TestCondition.test_notify_n..rrrdc>[T5$rr r srrrrr)rrr~rr#rrrr;rrrr(rrrrrrrr r!) rtrrrtrrrr'rs @r test_notify_n_TestCondition.test_notify_ns~~>>!$q!qA DFF$%1H IAAH GGI NN1   de5LMAAH GGI NN1 qA     5 ''9e<  a   $$%=qA  a   $$%=qA  a   ''9e< T"A  ( ( +rc UR5n[UR5nUR5 U"[5nUR 5 UR US5 URUR[5 gr) rrr rrTrrorr)rtrr rs rr_TestCondition.test_timeouts[~~TYY' 8n  e$ $$T\\8TRS:H$rcrstatesrr0_TestCondition._test_waitfor_f.. EKKNrrdr)rrwait_forrr)rrr'rs ` r_test_waitfor_f_TestCondition._test_waitfor_fsH EK KKM]]#:;FU[[A- TTs AA'' A5zneeds sharedctypesc^UR5nURSS5mURURUT4S9nSUlUR 5 U UR U4Sj5nURU5 URTRS5 SSS5 [S5HIn[R"S5 U T=RS - sl UR5 SSS5 MK [U5 URURS5 g!,(df  N=f!,(df  M=f) NrrArTc">TRS:H$Nrr%r&srr-_TestCondition.test_waitfor..r)rrrdrr)rrrr+rrr*rrorr~rr(rr'r)rtrrrrr's @r test_waitfor_TestCondition.test_waitfors~~ 3# LL 4 4D%=L I  ]]#:;F OOF #   U[[! , qA JJt  q   Q Q'TsAD$ &D5$ D25 E c^UR5 U Sn[R"5nURU4SjUS9n[R"5U- nU(dU[- U::aSUlSSS5 g!,(df  g=f)Nrc">TRS:H$rcr%r&srr8_TestCondition._test_waitfor_timeout_f..#r)rrT)rrrr* CLOCK_RESr)rrr'successrrdtrs ` r_test_waitfor_timeout_f&_TestCondition._test_waitfor_timeout_fsd H!B]]#:H]MF!B&Bx)3: $ TTs AA<< B clUR5nURSS5nURSS5nURS5nURURXX44S9nSUlUR 5 URUR[RS95 [S5HIn[R"S5 U U=RS - slUR5 SSS5 MK [!U5 URUR5 g!,(df  M=f) NrrFrTrr4rr)rrrrr9rrrrrr r~rr(rrr')rtrr'r7rrrs rtest_waitfor_timeout#_TestCondition.test_waitfor_timeout(s~~ 3"**S%(nnQ LL < <#G9  ;    G,@,@ ABqA JJu  q   Q  & s &D$$ D3 cU UR5 SSS5 [R"S5 Ub&[R"U[ R 5 gg!,(df  NN=fr)rrr(rBrorar)rrrs r_test_wait_result _TestCondition._test_wait_result@sB  HHJ 1 ? GGC ' Qs A A*c\[U[5(a*[RS:wa[R "5nOSnUR 5nU URURS55 URURS55 URURX!4S9nUR5 URURS55 Ub!UR[URS5 UR5 SSS5 g!,(df  g=f)Nr1rrr<)rProcessesMixinrrrBrrrr rr?rrrpKeyboardInterruptr)rtrrrs rtest_wait_result_TestCondition.test_wait_resultHs dN + + 0G))+CC NN     QVVAY '   QVVC[ ) D$:$:! JA GGI OOAFF2J '!!"3QVVR@ FFHQQs CD D+r\r)rzr{r|r}rr#rrrrrrr+rFrHAS_SHAREDCTYPESr1r9r<r?rErr\rrrr.s5 (TC,J5,n=)+?@(A(.%%)+?@'A'.((rrc4\rSrSr\S5rSrSSjrSrg) _TestEventi]cX[R"[5 UR5 gr)rr(rUrrOs r _test_event_TestEvent._test_event_s 8 rcvUR5n[UR5nURUR 5S5 URU"S5S5 UR UR S5 URU"[5S5 UR UR [5 UR5 URUR 5S5 URU"5S5 UR UR S5 URU"[5S5 UR UR S5 UR5 URURU4S9nSUl UR5 URU"5S5 UR5 g)NFr3Tr)r3rr rorrrrTrrrrKrrr)rtrPr rs r test_event_TestEvent.test_eventdsF UZZ( / cE* $$T\\37 h/ $$T\\8<  . & $$T\\37 h. $$T\\37   LL 0 0xL @   & rNcUR5nURS:XarUR[U5S5 UR 5 UR[U5S5 UR 5 UR[U5S5 gURS:XaGUR[U5S5 UR 5 UR[U5S5 gg)Nrzzrz( ? KKM   T%[*@ A YY) #   T%[*U V IIK   T%[*U V$rr\)returnN) rzr{r|r}rrKrNrRrr\rrrIrI]s !F WrrIc2\rSrSrSrSrSrSrSrSr g) _DummyListic[RR[R"S55n[R "5nUR X45 SURS'g)Nrr)rheap BufferWrapperstructcalcsizer __setstate__ _lengthbuf)rtwrapperrs rr_DummyList.__init__sM!&&44V__S5IJ##% 7/*rc~UuUlUlURR5RS5Ulg)Nr)_wrapper_lockcreate_memoryviewcastr])rtr's rr\_DummyList.__setstate__s/&+# --99;@@Erc2URUR4$r)rarbrs r __getstate___DummyList.__getstate__s tzz**rc~UR URS==S- ss'SSS5 g!,(df  g=fNrrrbr])rtrs rr_DummyList.appends' ZZ OOA ! # ZZs. <cnUR URSsSSS5 $!,(df  g=fr/rkrs r__len___DummyList.__len__s ZZ??1%ZZs& 4)r]rbraN) rzr{r|r}rr\rgrrnrr\rrrVrVs F+$&rrVc0[R"S5 g)NrrJr\rr_waitrqsJJtrc@\rSrSrSrS SjrSrSrSrSr Sr S r g ) Bunchiz A bunch of threads. cX lX0lX@lUR5UlUR5UlUR 5UlU(dURR5 /n[U5HDnURURS9nSUl UR5 URU5 MF Sn [R "X U5Ulg)z Construct a bunch of `n` threads running the same function `f`. If `wait_before_exit` is True, the threads won't terminate until do_finish() is called. rTc6UHnUR5 M gr)r)rrs rfinalize Bunch.__init__..finalizesrN)r#rQr DummyListstartedfinishedr3 _can_exitrr~rtaskrrrrrv _finalizer) rt namespacer#rQrwait_before_exitrrrrvs rrBunch.__init__s   **, !++- "* NN   qA!!!3AAH GGI NN1    "**47Crc[R"5nURRU5 UR"UR 6 UR RU5 URRS5 URR5(deg!UR RU5 URRS5 URR5(def=f)N) rBrryrr#rQrzr{r rrtrs rr| Bunch.tasksiik C  + FFDII  MM  % NN   #>>((** ** MM  % NN   #>>((** **s B##AC<c[UR5UR:a0[5 [UR5UR:aM/ggr)rryrrqrs rwait_for_startedBunch.wait_for_starteds3$,,$&&( G$,,$&&(rc[UR5UR:a0[5 [UR5UR:aM/ggr)rrzrrqrs rwait_for_finishedBunch.wait_for_finisheds3$-- 466) G$-- 466)rc8URR5 gr)r{rrs r do_finishBunch.do_finishs rc$UR5 gr)r}rs rr Bunch.closes  r)r{r}rQr#rzrryNr5) rzr{r|r}r~rr|rrrr rr\rrrsrss&D8+rrsc \rSrSrSrSrSrg) AppendTrueicXlgrro)rtros rrAppendTrue.__init__src:URRS5 gr)rorrs rrAppendTrue.__call__s rrNrr\rrrrs rrc\rSrSrSrSrSrSrSrSr Sr \ S 5r SS jr S r\ S 5rS r\ S5rSr\ S5rSr\ S5rSr\ S5rSr\ S5rSr\ S5rSrSr\ S5rSrSr g) _TestBarrieriz Tests for Barrier objects. rg>@cVURURURS9Ulg)Nr)BarrierrdefaultTimeoutbarrierrs rsetUp_TestBarrier.setUps ||DFFD4G4G|H rcFURR5 SUlgr)rabortrs rtearDown_TestBarrier.tearDowns  rcURS:Xa/$URS:XaURR5$[5$)Nrr)rrrrVrs rrx_TestBarrier.DummyLists: 99 !I YY) #<<$$& &< rc[XX RS- 5nU"U6 UR5 UR5 g!UR5 f=fr)rsrrr )rtr#rQrs r run_threads_TestBarrier.run_threadssA $4 *  tH   ! GGIAGGIs AAcURnX@R:Xde[U5H{nUSRS5 [ US5XT-:XdeUR 5 USRS5 [ US5US-U-:XdeUR 5 M} UR S:XdeUR(aeg![a N f=f)NrTr) partiesrr~rrr n_waitingrbroken)rrresultsrmrs r multipass_TestBarrier.multipasss OOEEzzqA AJ  d #wqz?ae+ ++ LLN AJ  d #wqz?q1uk1 11 LLN  $$) ))>>!!>#   s)C CCcUR5UR5/nURURURX!45 g)z+ Test that a barrier is passed in lockstep N)rxrrr)rtpassesrs r test_barrier_TestBarrier.test_barrier(s9>>#T^^%56 $,,)HIrc$URS5$)z3 Test that a barrier works for 10 consecutive runs r_)rrs rtest_barrier_10_TestBarrier.test_barrier_10/s  $$rcFUR5nURU5 gr)r r)rrr#rs r_test_wait_return_f _TestBarrier._test_wait_return_f5slln #rc:UR5nURURURU45 [ UR 5Vs/sHo!R 5PM nnURURS5S5 [U5 gs snf)z) test the return value from barrier.wait rrN) rrrrr~rrrocountr$)rtr#rrs rtest_wait_return_TestBarrier.test_wait_return:st  11DLL%3HI(-dff 6 199; 6 q)1-E7sBcNUR5 [U5S:wa[egr)r rr\)rrrs r_test_action_f_TestBarrier._test_action_fDs"  w<1   rcUR5nURUR[U5S9nUR UR X!45 UR [U5S5 g)z Test the 'action' callback )rrN)rxrrrrrror)rtrrs r test_action_TestBarrier.test_actionJsX..",,tvvj.A,B ,,w.@A Wq)rc$UR5nX@RS-:Xa[eUR5 URS5 g![R a URS5 g[a UR 5 gf=fNr.T)r rr\rr;BrokenBarrierErrorr)rrresults1results2rs r _test_abort_f_TestBarrier._test_abort_fSsl  AEE1H}"" LLN OOD !++ " OOD !  MMO sA A %B3BBcdUR5nUR5nURURURX45 UR [ U5S5 UR [ U5UR S- 5 URURR5 g)z; Test that an abort will put the barrier in a broken state rrN) rxrrrrorrrr)rtrrs r test_abort_TestBarrier.test_abort`s>>#>># ++,,; = X* Xq1  ++,rcUR5nXPRS-:XacURURS- :a5[R"S5 URURS- :aM5UR 5 O"UR5 UR S5 UR5 UR S5 g![Ra UR S5 NIf=f)Nr.rrT) r rrrr(resetrr;r)rrrrresults3rs r _test_reset_f_TestBarrier._test_reset_fls LLN q=##ceeAg- 5!##ceeAg- MMO & %   // &% &s!C %C21C2cUR5nUR5nUR5nURURURXU45 UR [ U5S5 UR [ U5UR S- 5 UR [ U5UR 5 g)z< Test that a 'reset' on a barrier frees the waiting threads rrN)rxrrrrorr)rtrrrs r test_reset_TestBarrier.test_reset~s>>#>>#>># ++,,HE G X* Xq1 X/rcUR5nX`RS-:Xa[eUR5 URS5 UR5URS-:XaUR5 UR5 UR5 URS5 g![R a URS5 N[a UR 5 Nf=fr)r rr\rr;rrr)rrbarrier2rrrrs r_test_abort_and_reset_f$_TestBarrier._test_abort_and_reset_fs  AEE1H}"" LLN OOD ! ==?ceeQh & MMO  ++ " OOD !  MMO sA B..%C1C10C1cUR5nUR5nUR5nURUR5nURURUR XAX#45 UR [U5S5 UR [U5URS- 5 UR [U5UR5 g)z6 Test that a barrier can be reset after being broken. rrN)rxrrrrrror)rtrrrrs rtest_abort_and_reset!_TestBarrier.test_abort_and_resets>>#>>#>>#<<' 55,,HO Q X* Xq1 X/rcUR5nX0RS-:Xa[R"S5 URS5 g![R a UR S5 gf=f)Nr.rrT)r rrr(r;rrrrrrs r_test_timeout_f_TestBarrier._test_timeout_fsW LLN q= JJsO ! LL ++ ! NN4  !sA %A43A4cUR5nURURURU45 UR [ U5URR 5 g)z Test wait(timeout) N)rxrrrrorr)rtrs rr_TestBarrier.test_timeoutsM.." -- g/FG Wt||';';=A>cURURSS9nUR5nURURX45 UR [ U5UR5 g)z$ Test the barrier's default timeout rrN)rrrxrrrorr)rtrrs rtest_default_timeout!_TestBarrier.test_default_timeoutsW,,tvvs,3.." 557IJ Ww7rcfURS5nUR5 UR5 gr)rr )rtrs rtest_single_thread_TestBarrier.test_single_threads! LLO  rc[U5H/nUR5 U URU5 SSS5 M1 g!,(df  MC=fr)r~r r)rrrconnrrs r_test_thousand_f_TestBarrier._test_thousand_fs4vA LLN ! s A A c:URS:Xa*URSRUR55 SnUR5nUR S5up4[ UR 5HUnURURURXU4S9nUR5 URUR5 MW [ U5H?n[ UR 5H#nURUR5U5 M% MA g)NrrFr)rrrrr r~rrrrrrrror )rtrrrrjrrs r test_thousand_TestBarrier.test_thousands 99 ! MM7>>tyyI Jyy{99U+tvvA D$9$9!%v4 HJA GGI OOAFF #  vA466]  a0#r)rNr)!rzr{r|r}r~rrrrrxrrrrrrrrrrrrrrrrrrrrrrrr\rrrrs ANI "" J%  *   -" 0* 0!!=!!8  1rrc p\rSrSrSrSSSSS\"S5\"S 54/rS r\S 5r SS jr S r Sr Sr g) _TestValueir)rii^)dg @g)hi)rrxyc>[(dURS5 ggNz%requires multiprocessing.sharedctypesrGrrs rr_TestValue.setUp  MMA B rcT[XR5Hup#USUlM gr)zip codes_valuesr)rvaluessvcvs rr_TestValue._test s$&"2"23FB!uBH4rc pU(a3URVVVs/sHup#nURX#5PM nnnnO2URVVVs/sHup#nURX#5PM nnnn[XPR5H$upgUR UR US5 M& UR URU4S9nSUlUR5 UR5 [XPR5H$upgUR UR US5 M& gs snnnfs snnnf)NrrTr.) rRawValuerrrorrrrrr) rtrawcoderrrrrrs r test_value_TestValue.test_value s  ,0,=,=?,=.$qmmD0,= ?F-1,=,=?,=.$qjj-,= ?&"3"34FB   RXXr!u -5||4::VI|>   &"3"34FB   RXXr!u -5??s D* D1c"URSS9 gNT)r )rrs r test_rawvalue_TestValue.test_rawvalue s D!rcURSS5nUR5nUR5nURSSSS9nUR5nUR5nUR5nURSSUS9nUR5n UR5n UR Xy5 URSSSS9n UR [ U S55 UR [ U S55 UR[URSSSS9 URSS5n UR [ U S55 UR [ U S55 g)NrrrFget_lockget_objnavalue) rrrrrorr`rprDr ) rtval1lock1obj1val2lock2obj2rval3lock3obj3arr4arr5s rtest_getobj_getlock_TestValue.test_getobj_getlock# s*zz#q! ||~zz#qtz, ||~yy{zz#qtz, ||~ %zz#quz- z23 y12 .$**c19M}}S!$ z23 y12rr\Nr5)rzr{r|r}rrrrrrrrr$rr\rrrrsW"M  eCj%*%  LC .&"3rrc\rSrSrSr\S5r\R"\ SLS5S Sj5r \R"\ SLS5S5r \R"\ SLS5S5r \R"\ SLS5S 5r S rg) _TestArrayi= rc^[S[U55HnX==XS- - ss'M gr)r~r)rseqrs rr# _TestArray.fA s)q#c(#A FcA#h F$rNzrequires _ctypesc/SQnU(aURSU5nOURSU5nUR[U5[U55 URUSUS5 UR[ USS5[ USS55 [ R "S/SQ5=USS&USS&UR[ USS5U5 UR U5 URUR U4S 9nS UlUR5 UR5 UR[ USS5U5 g) N) iirii5i$iii?rr4r.rP)rr.r4rdrdr6rT) RawArrayArrayrorrarrayr#rrrr)rtr r)arrrs r test_array_TestArray.test_arrayF s @ --S)C**S#&C S3s8, QQ( c!Ahc!Ah8#kk#|<<Aa3q8 c!fs+ s LLcVL 4    c!fs+rc <Sn[S5HnURSU5nUR[U5U5 UR[ U5S/U-5 [S5USS&UR[ U5[ [S555 AM g)Nr_r4rr)r~r/rorr)rtsizerr1s rtest_array_from_size_TestArray.test_array_from_size_ s qA**S$'C   SXt ,   T#Yd 32YCF   T#YU2Y 8 rc"URSS9 gr)r2rs r test_rawarray_TestArray.test_rawarrayn s D!rcpURS[[S555nUR5nUR 5nURS[[S55SS9nUR5nUR 5nUR 5nURS[[S55US9nUR5n UR 5n UR Xy5 URS[S5SS9n UR[U S55 UR[U S55 UR[URS[S5SS9 URS[S55n UR[U S55 UR[U S55 g)Nrr_rFrrnotalock) r/rr~rrrrorr`rprDr.) rtarr1rrarr2rrrarr3r r!r"r#s rtest_getobj_getlock_obj"_TestArray.test_getobj_getlock_objr sVzz#tE"I/ ||~zz#tE"ITz: ||~yy{zz#tE"ITz: ||~ %zz#uRyuz5 z23 y12 .**c59:  G}}S%), z23 y12rr\r5)rzr{r|r}rrr#rFrr<r2r6r9r@rr\rrr'r'= s"M__Ud]$67,8,0__Ud]$67 8 __Ud]$67"8"__Ud]$67383rr'cH\rSrSrSrSrSrSrSrSr Sr S r S r S r g ) _TestContainersi rcUR[[S555nURUSS[[S555 UR5nURUSS/5 UR[[S555 URUSS[[S555 URUSS5 URUSS/SQ5 US-nURUSS/SQ5 URUSS/-/SQ5 URUSS[[S555 X/nURU5nURUVs/sHoUSSPM sn/SQ/SQ/5 URU/5nUR S 5 URUS SS/S Q5 gs snf) Nr_rr.)r.r4rd) rrr.r4rdrrr.r4rdrI) rrr.r4rdrrr.r4rdrrI) rrr.r4rdrrIrPr6 r0r) rrr.r4rdrrIrPr6rFr0)rr~roextendr)rtrrrr7elementr#s r test_list_TestContainers.test_list sz IId59o & 1tE"I/ IIK 1r" eAh  1tE!H~. 1q! 1R'* Q 1=> aV%IJ 1tE"I/ F IIaL '( )qGQZq ) +-K L  IIqcN  1a"IJ *s%F?cFUR[[S555n[U5nUR[U5[[S555 UR[U5/5 [U5nSUS'UR[ U5S5 g)Nr_rIr)rr~rronext)rtrits rtest_list_iter_TestContainers.test_list_iter sw IId59o & !W b4b ?3 b2& !W! b3'rc UR[S5Vs/sHoR[S55PM sn5nURUVs/sHo3SSPM sn/SQ/S-5 SUSS'URUSSS/SQ5 [SS5HnURX$SS/SQ5 M URUSR5S5 UR[ US5S5 [SSS5H nUR[ X$5S5 M" AUR5nUR U5 Ags snfs snf) Nr4)rrr.7rrA)rrrQrr.)rr~ropoprr)rt_irinnerrrs rtest_list_proxy_in_list'_TestContainers.test_list_proxy_in_list s" IIU1X>Xryyq*X> ? 2u(2YK!OD!R 1a*-q!A   QT!Wi 0 1Q' QqTA&q!QA   SY *   IIK  #?2s #EEc NUR5n[[SS55nUHn[U5X'M UR UR 5[SU555 UR [ UR55U5 UR [ UR55UVs/sHn[U5PM sn5 UR [ UR55UVs/sHo3[U54PM sn5 gs snfs snf)NAFc3:# UHo[U54v M g7fr)chr.0rs r ,_TestContainers.test_dict.. s'EWCF Ws) dictrr~r[rorsortedkeysrr)rtrindicesrs r test_dict_TestContainers.test_dict s IIKuR}%Aq6AD 4'EW'E#EF )73  +g-Fgc!fg-FG  *',J'QQ[',JK.G,Js <D ?D" chUR5n[[SS55nUHn[U5X'M [ U5nUR [U5U5 UR [U5/5 [ U5nUR 5 UR[[U5 g)NrXrY) r`rr~r[rrorrpr\rL)rtrrcrrMs rtest_dict_iter_TestContainers.test_dict_iter s IIKuR}%Aq6AD !W b7+ b2& !W   ,b1rczURSSS9nURSSS9nURXS9nURUSS5 URUS SS5 S US S 'URUS S 5 URUS S S 5 S US S'URUSS 5 URUS SS 5 AAURUS SS5 SUS S 'URUS S S5 US nUS nS US'URUSS 5 URUS SS 5 UR5 UR[U5S5 URUSS 5 URUSS5 UR X/5nSUSS'URUSS5 URUSSS5 AAURUSSS5 UR SS/U/5nUR US[5 URUSSSS5 g)Nr.rd)ferretshamstersr_r4)waterfeed)petssuppliesrlrorblanketsrPrnrj rrkrmarmotsXcrArm)r`rorrrr)rtrnrorrouters rtest_dict_proxy_nested&_TestContainers.test_dict_proxy_nested sbyyQy/992A9. II4I 3 '*B/ :w/4$%* j! *-q1 :z2A6!"* g '*A. :w/3   69-q1$&* j! :z2B7yZ= '*A. :w/3   Q# '*A. j)1- IIt& '!Y i!, 1i!,   1i!, B8Q-( eAh- r2v.2rcUR5nURUR55 USRS5 UR USR 5S5 UR 5nUR5US'USRS5 UR USR 5S5 g)Nr{)rrrrrorr`rs rtest_nested_queue!_TestContainers.test_nested_queue s IIK  !  1S) IIKzz|! !  1S)rcNUR5nSUlSUlSUlUR URUR4S5 U?UR [ U5S5 UR [US55 UR [US5(+5 g)NBobBuilderhidden)r~rzNamespace(name='Bob')r,job) Namespacer,r_hiddenrorrrr`)rtrs rtest_namespace_TestContainers.test_namespace s NN   !&&!%%*<= E Q!89 6*+ GAu--.rr\N)rzr{r|r}rrIrNrUrdrgrvr{rrr\rrrCrC s2 MK>((L 2,3\* /rrCcfUc[R"U5 X-$URU5 X-$r)rr(r )rr rPs rsqrr/ s1 } 4 3J  4 3Jrc X-$rr\)rrs rmulr6 3JrcJ[R"U5 [SS-5e)Nri)rr(rEr s rraise_large_valuerrorr9 sJJt S7] ##rcU$rr\rs ridentityr= s Hrc$\rSrSrSrSrSrSrg) CountedObjecti@ rcVU=RS- sl[RU5$r) n_instancesr__new__rKs rrCountedObject.__new__C s 1~~c""rc@[U5=RS-slgr)r6rrs r__del__CountedObject.__del__G s T !#rr\N)rzr{r|r}rrrrr\rrrr@ sK#$rrc\rSrSrSrg) SayWhenErroriJ r\Nrzr{r|r}rr\rrrrJ srrc#z# US:Xa [S5e[U5HnX!:Xa [S5eUv M g7f)NrAzSomebody said when)rr~)totalwhenrs rexception_throwing_generatorrL s< rz/00 5\ 934 4s9;c^\rSrSr\U4Sj5r\U4Sj5rSrSrSr Sr Sr S r S r S rS rS rSrSrSrSrSrSrSrSrSr\S5rSr\S5rSrSrSrSr Sr!Sr"U=r#$) _TestPooliU cN>[TU]5 URS5Ulgrc)super setUpClassPoolpoolr __class__s rr_TestPool.setUpClassW s 88A;rc>URR5 URR5 SUl[TU]5 gr)rr"rr tearDownClassrs rr_TestPool.tearDownClass\ s2    rcURRnURU"[S5[S55 URU"[SSS05[SS95 g)N)rrr\rr4r)rapplyror)rtpapplys r test_apply_TestPool.test_applyc sK T*CF3 R#a138.Ai c[S5e)Nz cannot pickler[rs rr5_TestPool.test_map_unplicklable..A.__reduce__ s "?33rr\Nrr\rrAr s 4rrr_) rrrrrpr\rrr)rtrs rtest_map_unplicklable_TestPool.test_map_unplicklable sl 99 ! MM7>>tyyI J 4 4  | , IIMM#uRx (- , ,s *B B cURR[/SS9R[S9 g![ R a URS5 gf=f)Nrrrz2pool.map_async with chunksize stalled on null list)rrrrrTr TimeoutErrorrmrs rtest_map_chunksize_TestPool.test_map_chunksize sS L II  R1  5 9 9( 9 K++ L IIJ K Ls03%AAcURS:Xa*URSRUR55 UR[5 UR R [[SS5S5 SSS5 UR[5 UR R [[SS5S5 SSS5 UR[5 UR R [[SS5S5 SSS5 "SS5nUR[5 UR R [U"5S5 SSS5 UR[5 UR R [U"5S5 SSS5 g!,(df  GN4=f!,(df  N=f!,(df  N=f!,(df  N=f!,(df  g=f) NrrrrAr_r4c&\rSrSrSrSrSrSrg)E_TestPool.test_map_handle_iterable_exception..SpecialIterablei cU$rr\rs r__iter__N_TestPool.test_map_handle_iterable_exception..SpecialIterable.__iter__ s rc[er)rrs r__next__N_TestPool.test_map_handle_iterable_exception..SpecialIterable.__next__ s""rcgrr\rs rrnM_TestPool.test_map_handle_iterable_exception..SpecialIterable.__len__ srr\N)rzr{r|r}rrrnrr\rrSpecialIterabler s  # rr) rrrrprrrrr)rtrs r"test_map_handle_iterable_exception,_TestPool.test_map_handle_iterable_exception sK 99 ! MM7>>tyyI J  | , IIMM#;ArBA F-  | , IIMM#;ArBA F-  | , IIMM#;BBA F-    | , IIMM#0! 4-   | , IIMM#0! 4- ,%- ,- ,- ,- , , ,s<,F),F;",G 5'G9'G.) F8; G  G G+. G<cURR[S[45n[ UR 5nUR U"5S5 URUR[5 g)NrP1) r apply_asyncrrTrrrorr)rtrrs r test_async_TestPool.test_async sPii##C!X8CGG$ # $$S[[(;rcXURS5nURS:Xa[R"5OSnUR [ S[ [R-U45n[UR5nUR[RU[ S9 URUR[ 5 UbUR!5 UR#5 UR%5 g!WbUR!5 UR#5 UR%5 f=f)Nr4rrIr)rrr;r3rrrUrr+rrrprrrrrr"r)rtrrPrrs rtest_async_timeout_TestPool.test_async_timeout s IIaL )-i)?IOO%TE--aG4I4I)I5%QRC(C   o::C  R  ( (h ?  KKM FFH  KKM FFHs B-C445D)c URR[[[ S555nUR [U5[[ [[[ S55555 URR[[[ S555n[ S5H nUR [U5X"-5 M" UR[UR5 URR[[[ S55SS9n[ S5H nUR [U5X"-5 M" UR[UR5 gNr_rrIr) rimaprrr~rorrLrp StopIterationrrtrMrs r test_imap_TestPool.test_imap s YY^^CeBi 1 b4CeBi(A#BC YY^^CeBi 1rA   T"Xqs + -5 YY^^CeDk!2c^ BtA   T"Xqs + -5rcURS:Xa*URSRUR55 URR [ [ SS5S5nUR[UR5 URR [ [ SS5S5nUR[UR5 URR [ [ SS5S5n[S5H nUR[U5X"-5 M" UR[UR5 URR [ [ SS5S 5n[S 5H nUR[U5X"-5 M" UR[UR5 URR [ [ SS5S 5n[S 5H nUR[U5X"-5 M" UR[UR5 g) NrrrrAr_r4rrPr.rIrd) rrrrrrrrprrr~rorLrs r#test_imap_handle_iterable_exception-_TestPool.test_imap_handle_iterable_exception s 99 ! MM7>>tyyI JYY^^C!=a!Da H , 4 YY^^C!=a!Da H , 4 YY^^C!=b!!Da HqA   T"Xqs + , 4YY^^C!=b!!Da HqA   T"Xqs + , 4 YY^^C!=b!!Da HqA   T"Xqs + , 4rc URR[[[ S555nUR [ U5[[[[[ S55555 URR[[[ S55SS9nUR [ U5[[[[[ S55555 gr)rimap_unorderedrrr~rorar)rtrMs rtest_imap_unordered_TestPool.test_imap_unordered s YY % %c4b ? ; T#c4b ?*C%DE YY % %c4d +< % L T#c4d 3D*E%FGrc URS:Xa*URSRUR55 URR [ [ SS5S5nUR[UR5 URR [ [ SS5S5nUR[UR5 URR [ [ SS5S5n[[[ [[S5555nUR[5 [S5H0n[U5nURXB5 URU5 M2 SSS5 URR [ [ SS5S 5n[[[ [[S5555nUR[5 [S5H0n[U5nURXB5 URU5 M2 SSS5 g!,(df  N=f!,(df  g=f) NrrrrAr_r4rrPr.)rrrrrrrrprrrrr~rLrqr)rtrMexpected_valuesrrs r-test_imap_unordered_handle_iterable_exception7_TestPool.test_imap_unordered_handle_iterable_exception s 99 ! MM7>>tyyI JYY % %c&B1b&I&') , 4 YY % %c&B1b&I&') , 4 YY % %c&B2q&I&')s3U2Y89   | ,2YR e5&&u--YY % %c&B2q&I&')s3U2Y89   | ,2YR e5&&u-- ,- ,- ,s>"C cR[RnURS:XaSnURS5n[ S5Vs/sHo1PM nnUR [ RUSS9n[ R"S5 UR5 UR5 gs snf)Nrrr4i'rr) rr rrr~rrr(r"r)rt sleep_timerrrQrs rrj_TestPool.test_terminate- s)) 99 !J IIaL$)&M2Mq M2TZZ; 3   3s B$cURS5nURUR[/5/5 UR[ UR [/55/5 UR[ UR [/55/5 URUR[/5R5/5 UR5 UR5 gr) rrorrrrrrrr rrtrs rtest_empty_iterable_TestPool.test_empty_iterable> s IIaL sB, affS"o.3 a..sB78"= S"-113R8   rcURS:Xa[[S55nUVs/sHn[U5PM nnUR S5nUR [U5nUR UR5U5 SSS5 WR5 UR[UR [U5 ggs snf!,(df  NK=f)Nrr_r.) rrr~rrrrorrrprE)rtLrrrrs r test_context_TestPool.test_contextJ s 99 #U2YA()*1AH*1KKQ'  (3 FFH   j!++sA > $*sC7C  Cc[S5e)Nryr[rKs r_test_traceback_TestPool._test_tracebackT s 3rcURS:XGaURS5nURUR5 UR S5 SSS5 WR 5 UR[W5[5 URURS5 URnUR[U5[RR5 UR!SUR"5 [$R&R)5nUeg![ a nUnSnANSnAff=f!,(df  N=f![a) [*R,"[*R."56 Of=fSSS5 O!,(df  O=fUR!SWR155 URS5nUR3[4[7SS5S5 UR S5 O![ a nUnSnAOSnAff=fUR[U5[85 URURS5 SSS5 O!,(df  O=fUR 5 g)Nrrzexpected RuntimeError)ryz&raise RuntimeError(123) # some commentrAzexpected SayWhenError)rrrrrmrlrrr6r\rorQ __cause__rrRemoteTracebackrqtbrrrr excepthookexc_infogetvaluerrrr)rtrr7exccausef1s rtest_traceback_TestPool.test_tracebackX s 99 #17GGD001II56  FFH MM$s)\ 2   SXXv .MME MM$u+';';'K'K L MMBEHH M--/24I# $!C"$4NNCLLN343 0// MMB++- )17EE#;ArBAFII56!C d3i6 cmmT2 FFHsD;D"D;F E " D8,D3.D;3D88D;; E  0E?<F >E??F  FI !H1I  H HI H>I  I.c[S5e)Nrr[rKs r_test_wrapped_exception!_TestPool._test_wrapped_exception~ s 5!!rcURS5nUR[5 URUR5 SSS5 SSS5 WR 5 g!,(df  N'=f!,(df  N0=fr)rrpr\rr%rr s rtest_wrapped_exception _TestPool.test_wrapped_exception sU YYq\Q""<04451 10\s"A6A%A6% A3 /A66 BcH[R"5nUR[5 UR S5nUR [ SS/5 [R"S5 UR5 UR5 SSS5 SSS5 UR[R"5U- S5 g![R"S5 UR5 UR5 f=f!,(df  Nz=f!,(df  N=f)Nr.rrrg?) rrrprErrrr(r r assertGreater)rtt_startrs rtest_map_no_failfast_TestPool.test_map_no_failfast s .."   z *1EE/!Q8JJsOGGIFFH + 4>>+g5s; JJsOGGIFFH + *s9DDC6DD8C??D D D D!c[S5Vs/sH n[5PM nnUVs/sHn[R"U5PM nnURR [ U5 A[R"[5 [R"5 UR[SU55S15 UR[RS5 gs snfs snf)Nr_c3.# UH o"5v M g7frr\)r]rs rr^3_TestPool.test_release_task_refs.. s1DbRTTDsr)r~rrrrrrrr(rr gc_collectrorr)rtrobjsorefss rtest_release_task_refs _TestPool.test_release_task_refs s*/r3A 3(,-1 A- h%  5 1D11D6: 22A64-s C C#cZURS:XaURS5 URS5nU SSS5 UR[5 U SSS5 SSS5 UR 5 g!,(df  NI=f!,(df  N8=f!,(df  NA=f)Nrtest not applicable to managerr)rrrrprErrtrs r test_enter_TestPool.test_enter sw 99 ! MM: ;yy|     z *+ T+ *s/A:BB B: B B B B*cURS:XaURS5 URS5nUR5 UR 5 [ R RUl[R"S[45 Sn[R"5 SSS5 g!,(df  g=f)Nrr9rz%unclosed running multiprocessing pool)rrrr"rrrRUN_stater check_warningsResourceWarningrr2r:s rtest_resource_warning_TestPool.test_resource_warning s 99 ! MM: ;yy|  &**..  + +8/JLD    LLLs B// B=r\)$rzr{r|r}rrrrrrrrrrrrrrrrrrrrjrrrr"r%r(r-r6r;rBr __classcell__rs@rrrU s  = ; ?? : 8)L 54<  654H".H " ?  $L""<( 7 !!rrc[S5e)Nkey)KeyErrorr\rrraisingrI s 5/rcS$)Ncg)N*r\r\rrr%unpickleable_result.. s2rr\r\rrunpickleable_resultrN s rc$\rSrSrSrSrSrSrg)_TestPoolWorkerErrorsi rcF^[R"S5nS/mU4SjnUR[US9nUR [ UR 5 URTS5 URTS[ 5 UR5 UR5 g)Nr.c>UTS'gr/r\r scratchpads rerrback@_TestPoolWorkerErrors.test_async_error_callback..errback s JqMrrr) rrrrIrprHrrrr r)rtrrUrrTs @rtest_async_error_callback/_TestPoolWorkerErrors.test_async_error_callback s}   #V  mmGGm< (CGG,  1 & jmX6   rc^SSKJn [R"S5n[ S5HnS/mU4SjnUR [ US9nURXR5 TSnURU5 URTSU5 URUR5 URUR5 M UR5 UR5 g)Nr)MaybeEncodingErrorr.rc>UTS'gr/r\rSs rrU?_TestPoolWorkerErrors.test_unpickleable_result..errback s # 1 rrW)multiprocessing.poolr[rrr~rrNrprrrassertIsNotNonerrr r)rtr[r iterationrUrwrappedrTs @rtest_unpickleable_result._TestPoolWorkerErrors.test_unpickleable_result s;   #rIJ $-- 3G-LC   0'' : mG OOG $  ! !*Q-1C D   -   /#   rr\N)rzr{r|r}rrXrbrr\rrrPrP s#M rrPc0\rSrSrSrSrSrSrSrSr g) _TestPoolWorkerLifetimei rc[R"SSS9nURS[UR55 URVs/sHo"R PM nn/n[ S5H)nURUR[U455 M+ [U5H.upgURUR5[U55 M0 UR5 SnU(aj[SUR55(dIUS-n[R"[ 5 U(a#[SUR55(dMIURVs/sHo"R PM n nUR#SU5 UR#SU 5 UR%['U5['U 55 UR)5 UR+5 gs snfs snf)Nr4r_maxtasksperchildrI2c3@# UHoR5v M g7frr)r]r's rr^D_TestPoolWorkerLifetime.test_pool_worker_lifetime.. s#B'QJJLL'r)rrrorrrr~rrr enumerater_repopulate_poolallrr(rr4r?rar r) rtrr'origworkerpidsrrrr countdownfinalworkerpidss rtest_pool_worker_lifetime1_TestPoolWorkerLifetime.test_pool_worker_lifetime sk  R 8 CL))*1A%%1sA NN1==qe4 5"'*HQ   SWWYA /+  #B!''#B B B NI JJu #B!''#B B B+,''2'Q55'2 ~. / F>2F?4KL   12"3s G((G-c^[R"SSS9n/n[S5H*nURUR [ US455 M, UR 5 UR5 [U5H.upEURUR5[ U55 M0 g)Nr4rrgrIg333333?) rrr~rrrr rrnror)rtrrrrrs r%test_pool_worker_lifetime_early_close=_TestPoolWorkerLifetime.test_pool_worker_lifetime_early_close s  Q 7qA NN1==q#h7 8   !'*HQ   SWWYA /+rcSH6nUR[5 [R"SUS9 SSS5 M8 g!,(df  MJ=f)N)rrAr12r4rg)rprErr)rtrs r"test_pool_maxtasksperchild_invalid:_TestPoolWorkerLifetime.test_pool_maxtasksperchild_invalid' s9'E"":.$$Q?/.(..s > A cSn[RRRSU5up#nUR US5 g)Naif 1: from multiprocessing import Pool problem = None class A: def __init__(self): self.pool = Pool(processes=1) def test(): global problem problem = A() problem.pool.map(float, tuple(range(10))) if __name__ == "__main__": test() -cr)rrrassert_python_okrortcmdroutrus r>test_worker_finalization_via_atexit_handler_of_multiprocessingV_TestPoolWorkerLifetime.test_worker_finalization_via_atexit_handler_of_multiprocessing, s;  ||11BB4M  Qrr\N) rzr{r|r}rrtrwr{rrr\rrrere s#M: 0@  rre) BaseManager BaseProxyrc&\rSrSrSrSrSrSrg)FooBariD cg)Nf()r\rs rr#FooBar.fE src[er)rErs rgFooBar.gG srcg)N_h()r\rs r_h FooBar._hI srr\N)rzr{r|r}r#rrrr\rrrrD srrc#<# [S5H nX-v M g7fr)r~)rs rbazrL s 2Yc sc$\rSrSrSrSrSrSrg) IteratorProxyiP )rcU$rr\rs rrIteratorProxy.__iter__R s rc$URS5$)Nr) _callmethodrs rrIteratorProxy.__next__T s ++rr\N)rzr{r|r} _exposed_rrrr\rrrrP sI,rrc\rSrSrSrg) MyManageriW r\Nrr\rrrrW srrFoo)callableBar)r#r)rexposedr)r proxytypec0\rSrSrSrSrSrSrSrSr g) _TestMyManageri_ rDc[[S9nUR5 URU5 UR 5 UR UR RS[R*45 gN)shutdown_timeoutr) rSHUTDOWN_TIMEOUTrcommonshutdownrq_processrrarhrtrs rtest_mymanager_TestMyManager.test_mymanagerc sU-=>  G g&&//!fnn_1EFrc[[S9nU URU5 SSS5 URURR S[ R*45 g!,(df  NF=fr)rrrrqrrrarhrs rtest_mymanager_context%_TestMyManager.test_mymanager_contextn sP-=>  KK  g&&//!fnn_1EF Ws A"" A0c[[S9nUR5 U URU5 SSS5 UR UR R S5 g!,(df  N5=fr)rrrrrorrrs r!test_mymanager_context_prestarted0_TestMyManager.test_mymanager_context_prestartedw sN-=>   KK  ))22A6Ws A!! A/cUR5nUR5nUR5nSVs/sHn[X%5(dMUPM nnSVs/sHn[X55(dMUPM nnUR USS/5 UR USS/5 UR UR 5S5 UR [UR5 UR URS5S5 UR [URS5 UR UR 5S5 UR UR5S5 UR URS5S5 UR URS5S5 UR [U5[S5Vs/sHoU-PM sn5 gs snfs snfs snf)N)r#rrr#rrrrr_)rrrr`ror#rprErrrrrr~) rtrrbarrr, foo_methods bar_methodsrs rr_TestMyManager.common~ sskkmkkmkkm(8O(8GCrrc[$r)_queuer\rr get_queuer s Mrc\rSrSrSrSrg) QueueManageri z$manager class used by server processr\Nrzr{r|r}r~rr\rrrr s.rrrc\rSrSrSrSrg) QueueManager2i z@manager class which specifies the same interface as QueueManagerr\Nrr\rrrr sJrr xmlrpclibc@\rSrSrSr/SQr\SSr\S5rSr Sr g)_TestRemoteManageri rD) hello worldNT@uhallå världenuпривіт світs hall vrldenNc[X[[S9nUR5 UR 5nUR [ UR55 g)Naddressr serializerr)r SERIALIZERrconnectrrrrrrrrr#s r_putter_TestRemoteManager._putter sC-/ !!# % #$rcx[R"S5n[[RS4U[ [ S9nUR5 URUR5 URURURU4S9nSUl UR5 [URU[ [ S9nUR5 UR!5nUR#UR%5UR&5 UR)[*UR,[.R05 Ag)N rrrT)rBurandomrrHOSTrrrrrrrrrrrrrorrrprlrrr()rtrrrmanager2r#s r test_remote_TestRemoteManager.test_remote s**R."''+W-/   (() LL GOOW3ML N   OOW-/ ""$ dkk2 )UYY ; rr\) rzr{r|r}rrrrrrrr\rrrr s0 MF AYF%%rrsha256c*\rSrSr\S5rSrSrg)_TestManagerRestarti c[X[[S9nUR5 UR 5nUR S5 g)Nrr)rrrrrrrs rr_TestManagerRestart._putter s:-/ !!# - rc"[R"S5n[[RS4U[ [ S9nUR5nURnURR5 UR5 URURURU4S9nUR5 UR5 UR5nUR!UR#5S5 A[%US5(aUR'5 [XA[ [ S9nUR5 UR)UR&5 g![%US5(aUR'5 ff=f![*anUR,[,R.:wae[0R2"S5 [XA[ [ S9n[%US5(a UR)UR&5 SnAgSnAgSnAff=f)Nrrrrrrr)rBrrrrrr get_serverrlistenerr rrrrrrorr`rrrerrno EADDRINUSErr()rtrrsrvraddrrr#r7s rtest_rapid_restart&_TestManagerRestart.test_rapid_restart s**R."''+W!4DF #%%'D< H A4H  Hr\N)rzr{r|r}rrrrr\rrrr s!!'2rrc \rSrSrSrSrSrg)FakeConnectioni cgrr\)rtpayloads rrFakeConnection.send s rc0S[R"54$)Nz#ERROR)rRr`rs rr FakeConnection.recv s((rr\N)rzr{r|r}rr rr\rrrr s  )rrc,\rSrSrSrSrSrSrSrg)TestManagerExceptionsi c8[R"5Ulgr)rrmgrrs rrTestManagerExceptions.setUp s"**,rclURR5 URR5 grrrrrs rrTestManagerExceptions.tearDown    rcURR5n[R"5(a4[R"5 UR [R 5 UR5 URW"5S5 g![Ra n[R"U5nSnANGSnAff=fr) rrr isenableddisablerenabler_rRr`rrro)rtr#r7rs rtest_queue_get$TestManagerExceptions.test_queue_get s~  <<>> JJL OOBII &     t$}} QB s*BC&CCc[R"5(a4[R"5 UR[R5 [ R R[5SS5 URW"5S5 g![Ra n[R"U5nSnANGSnAff=fr)rrrrrrmanagersdispatchrrRr`rrro)rtr7rs r test_dispatch#TestManagerExceptions.test_dispatch+ s} <<>> JJL OOBII &  $ $ - -n.>d K t$}} QB s)BC%CC)rN) rzr{r|r}rrrrrr\rrrr s- %%rrc \rSrSrSr\S5rSrSrSr Sr \S5r \SS j5r \ R"\S 5S 5r\ R"\S 5\ R""\R&S :HS 5\ R""\S:*S5\ R"\"\S5S5S5555r\S5r\ R"\S 5\ R""\R&S :HS5S55rSrSrg)_TestConnectioni; rc[UR[5HnURU5 M UR 5 gr)r recv_bytesSENTINEL send_bytesr )rrmsgs r_echo_TestConnection._echo? s,2C OOC 3 rc UR5upURURU4S9nSUlUR 5 /SQn[ S5nUS-n[ R "S[[S555nURS:Xa-UR[UR55[5 URURU5S5 URUR5U5 URUR!U5S5 URUR#5U5 URS:XGa[ R "SS /S-5n[U5S /S[%U5- --n URUR!U5S5 URUR'U5[%U5UR(-5 UR[U5U 5 [ R "SS /S-5nS /S -[U5-S /S [%U5- --n URUR!U5S5 URUR'US UR(-5[%U5UR(-5 UR[U5U 5 [+[ S 55nURUR!U5S5 UR'U5n UR-S U -5 [5UR65n URU "5S5 UR9U R:S 5 URU "S5S5 UR9U R:S 5 URU "[<5S5 UR9U R:[<5 URS5 [>R@"S5 URU "[<5S5 UR9U R:S 5 URUR5S5 [ S5S-n UR!U 5 URUR#5U 5 UR![B5 URE5 URS:XaxURURFS5 URURHS5 URK[LUR5 URK[LUR"5 URO5 g![.R0a(n URU R2U45 Sn A GNkSn A ff=f)NrT)rrNrr_rrdrrr4rPz( zexpected BufferTooShort, got %sFrArXi)(r rr rrrr0rr~rror6filenorurr rrrrecv_bytes_intoitemsize bytearrayrmrBufferTooShortrQrrrrrTrr(rr readablewritablerpEOFErrorr)rtrrrr)rlongmsgr1bufferrrr7rreally_big_msgs rtest_connection_TestConnection.test_connectionE s099; LL *L ?  M"(kk#tE!H~. 99 #   T$++-0# 6 3. c* -t4 *C0 99 #[[qc"f-FCyA3"s3x-#88H   T__S14 8   T11&9 X7 9   T&\8 4[[qc"f-FsQwc*aSFSX4E-FFH   T__S14 8   T11&!foo:MN X7 9   T&\8 4uX/F   T__W5t < C**62 ;cABTYY' ' $$T\\15 b5) $$T\\15 h/ $$T\\8< $ 2 h. $$T\\15 d+s'78 ' *N; ! 99 #   T]]D 1   T]]D 1   h 2   h 8 K#11 5  '44 5s5UV "VV clURSS9upURURS5S5 URUR5S5 URS:XaURUR S5 URUR S5 URUR S5 URUR S5 UR[URS5 UR[UR5 UR[UR5 gg)NFrrrTr.) r rorr rrrrprr)rtreaderwriters rtest_duplex_false!_TestConnection.test_duplex_false s%0 Q. * 99 #   V__d 3   V__e 4   V__e 4   V__d 3   gv{{A 6   gv{{ 3   gv{{ 3 $rcUR5upURURU4S9nSUlUR 5 UR 5 [ S5nURU5 URUR5U5 UR[5 UR 5 UR5 g)NrTr0) r rr rrr rrrorrr)rtrrrrs rtest_spawn_close _TestConnection.test_spawn_close s  99; LL *L ?  Gn  *C0 !  rc2URS:wa*URSRUR55 [S5nUR 5up#UR U5 UR UR5U5 UR US5 UR UR5USS5 UR USS5 UR UR5USS5 UR US5 UR UR5[S 55 UR USS 5 UR UR5[S 55 UR[UR US 5 UR[UR US S5 UR[UR USS 5 UR[UR US5 UR[UR USS5 g)NrrabcdefghijklmnopqrstuvwxyzrrPr6rrrrArd) rrrrr rrorrprE)rtrrrs rtest_sendbytes_TestConnection.test_sendbytes s 99 # MM7>>tyyI J01yy{ S - S! QR1 S!Q Qs4 S" r3 S"a  r3 *allC< *allCQ? *allCQ? *allC< *allCB?rc[R"U5 g![a)nUR[R:XaSnAgeSnAff=fr)rBfstatrrEBADF)rr-r7s r_is_fd_assigned_TestConnection._is_fd_assigned s?  HHRL   ww%++%  s A AAA cU(aP[SS5H@nURU5(aM[R"UR 5U5 MB [ R "U5n[(a%[R"U[R5n[R"XR5 [R"U5 g)Nrr8) r~r-rBdup2r r recv_handlemsvcrtopen_osfhandler*r{r )rrdatacreate_dummy_fdsrr-s r_writefd_TestConnection._writefd s~ 1c]**1--GGDKKM1-# " "4 ( 6&&r2;;7B   r$test needs multiprocessing.reductioncURS:waURS5 URSS9upURURUS4S9nSUlUR 5 UR[R[R5 [[RS5nUR5n[(a[R"U5n[R "XUR"5 SSS5 UR%5 [[RS5nUR'UR)5S5 SSS5 g!,(df  Nb=f!,(df  g=f) Nronly makes sense with processesTrsfoorwbrb)rrr rr6rrrrrrr r r2 get_osfhandler send_handlerrror!)rtrrrr#r-s rtest_fd_transfer _TestConnection.test_fd_transfer s  99 # MM; <99D91 LL Z4HL I    (()*:*:; )""D )QBv))"-  ! !$AEE 2 *  )""D )Q   QVVXv .* ) * ) * )s.AE3!E. E+. E<r1*test semantics don't make sense on Windowsr8z)largest assignable fd number is too smallr0ztest needs os.dup2()cURS:waURS5 URSS9upURURUSS4S9nSUlUR 5 UR[R[R5 [[RS5nUR5n[S[5HnURU5(aM O UR!S 5 ["R$"UW5 [&R("XUR*5 ["R,"U5 SSS5 UR/5 [[RS 5nUR1UR35S5 SSS5 g!["R,"U5 f=f!,(df  N}=f!,(df  g=f) Nrr:Trsbarrr;r8z2could not find an unassigned large file descriptorr<)rrr rr6rrrrrrr r r~MAXFDr-rmrBr0rr>rr rror!)rtrrrr#r-newfds rtest_large_fd_transfer&_TestConnection.test_large_fd_transfers[ 99 # MM; <99D91 LL Z4NL O    (()*:*:; )""D )QBsE*++E22+ NO GGB  %%d1559*  )""D )Q   QVVXv .* )* )* )s6/8G+,G!F,9G!G,GG G G&cN[R"UR5S5 g)N)rBr{r rtrs r_send_data_without_fd%_TestConnection._send_data_without_fd!s &rzdoesn't make sense on Windowsc6URS:waURS5 URSS9upURURU4S9nSUlUR 5 UR[[RU5 UR5 g)Nrr:Trr) rrr rrJrrrpr\rr1rrtrrrs rtest_missing_fd_transfer(_TestConnection.test_missing_fd_transfer%s{ 99 # MM; <99D91 LL : :*L O   , (=(=tD rcUR5upU U URS5 URUR5S5 URS:Xa6UR UR 5 UR UR 5 SSS5 SSS5 URS:XawURUR 5 URUR 5 UR[UR5 UR[UR5 gg!,(df  N=f!,(df  N=fNr) r rror rrclosedrrprrs rr_TestConnection.test_context4syy{  FF4L   QVVXt ,yyK'  *  * Q 99 # OOAHH % OOAHH %   gqvv .   gqvv . $QQs#D9A8D(D9( D6 2D99 Er\Nr5)rzr{r|r}rrr rrr r(r-r6rFr HAS_REDUCTIONr?rrrrCr`rBrErJrNrrr\rrrr; sU,M M^ 4*@@  (NO/P/$(NO __S\\W,AC __Uc\@B V,/1/1BCP/4''(NO __S\\W,.MN OP /rrcp\rSrSrSrSrSrSr\R"\ RS5S5r Sr g ) _TestListeneriDrcURRHmnURRUS9nURUR5 UR [ URRURU5 Mo g)Nfamily) connectionfamiliesListenerrr rprr)rtrZrs rtest_multiple_bind _TestListener.test_multiple_bindHsboo..F(((7A OOAGG $   gt'?'?ii 1/rcURR5nURRUR5nUR 5nUR S5 UR UR5S5 SSS5 SSS5 SSS5 URS:Xa!UR[WR5 gg!,(df  NP=f!,(df  NY=f!,(df  Nb=frQ r[r]Clientracceptrror rrpr)rtrrrs rr_TestListener.test_contextOs __ % % '1'' 2aXXZ1FF4L$$QVVXt4 3( 99 #   gqxx 0 $  Z32( 's;&C0C2CC C0 C C C- )C00 C>cd^SnU4SjnSnTRRUS9n[R"X$RU4S9nUR 5 UR 5nTRUR5S5 SSS5 UR5 SSS5 TRS:Xa/TR[5 WR 5 SSS5 gg!,(df  Ng=f!UR5 f=f!,(df  Nt=f!,(df  g=f)Nc[S5e)NzConnection took too long...r[r7s rr]1_TestListener.test_empty_authkey..handler[s<= =rcZ>TRRXS9nURS5 g)NrrR)r[rbr)rrclientrts rr-_TestListener.test_empty_authkey..run^s&__++D+BF KK rrrirrRr) r[r]r;rrrrcror rrrpr)rtr]rrGrthreadrs` rtest_empty_authkey _TestListener.test_empty_authkeyYs >  __ % %c % 2h%%S8H8H#7NOF LLN __&!$$QVVXt4' 3 99 #""7+!,+ $ '& 3 2,+sG1DC;(!C* C;DD!* C8 4C;;D  D D! D/z"test needs abstract socket supportcURRS5nURRUR5nUR 5nUR S5 UR UR5S5 SSS5 SSS5 SSS5 URS:Xa!UR[WR5 gg!,(df  NP=f!,(df  NY=f!,(df  Nb=f)Nz somethingrRrra)rtrrjrs rtest_abstract_socket"_TestListener.test_abstract_socketqs__ % %m 4''(8(89V__&!KK%$$QVVXt4':5 99 #   gx 7 $ '&:95 4s;&C1C 2CC  C1 C C  C. *C11 C?r\N)rzr{r|r}rr^rrmrFrrabstract_sockets_supportedrprr\rrrWrWDs@"M11"088=?8?8rrWc:\rSrSrSr\S5rSrSrSr Sr g) _TestListenerClienti~rc|URRU5nURS5 UR5 g)Nr0)r[rbrr )rrrs rr_TestListenerClient._tests+~~$$W- ' rcURRHnURRUS9nURURUR 4S9nSUlUR5 UR5nURUR5S5 UR5 UR5 M g)NrYrTr0) r[r\r]rrrrrrcror rr )rtrZrrrs rtest_listener_client(_TestListenerClient.test_listener_clientsoo..F(((7A DJJaii\ BAAH GGI88:D   TYY[' 2 FFH GGI/rcURR5nURURUR4S9nSUlUR 5 [R"S5 UR5nURUR5S5 UR5 UR5 UR5 g)NrTrr0)r[r]rrrrrrr(rcror r r)rtrrrs rtest_issue14725#_TestListenerClient.test_issue14725s OO $ $ & LL !))L >   1 xxz g.    rcURRHnURRUS9nURRUR5nUR 5nUR S5 URURS55 UR5 UR5 UR5 M g)NrYhellor) r[r\r]rbrrcrrrr )rtfamrrrs rtest_issue16955#_TestListenerClient.test_issue16955s??++C(((4A&&qyy1A A LL " OOAFF1I & GGI GGI GGI,rr\N) rzr{r|r}rrrrxr{rrr\rrrtrt~s(,M  rrtc`\rSrSrSrSr\S5rSr\S5r Sr \S5r S r S r g ) _TestPollirc UR5upURUR5S5 URS5 URUR5S5 URUR5S5 g)NFrT)r rorrrs rtest_empty_string_TestPoll.test_empty_strings]yy{ 5) S 4( 4(rcUH*n[R"S5 URU5 M, UR5 gNr)rr(rr )rrstringsrs r_child_strings_TestPoll._child_stringss.A JJsO OOA  rcJSnUR5up#URURX14S9nUR5 UHNn[ S5HnUR S5(dM O UR 5nURXW5 MP UR5 g)N)r~rabrsbyersloprr) r rrrr~rrror)rtrrrrrrrs r test_strings_TestPoll.test_stringssGyy{ LL 3 31,L G  A3Z66$<<  A   Q "  rc&URS5 gr)r)rrs r_child_boundaries_TestPoll._child_boundariess q rchURS5upURURU4S9nUR5 [R "S5 SS/nUHnUR U5 M UR5 UR5 URUR5U5 g)NFrr.sfirstssecond) r rrrrr(rr rrqr)rtrr'rrros rtest_boundaries_TestPoll.test_boundariessyy LL 6 6aTL B   1 y !C LL     allna(rcjURS5 URS5 URS5 g)Nrrcd)r)rrs r_child_dont_merge_TestPoll._child_dont_merges& T T Urc,UR5upURURS5S5 URURS5S5 URURU4S9nUR 5 URUR 5S5 URURS5S5 URURS5S5 URUR 5S5 URURS5S5 URURS5S5 URURS5S5 URUR 5S 5 UR5 g) Nr3FrrrrTrr)r rorrrrrr)rtrrrs rtest_dont_merge_TestPoll.test_dont_merges%yy{ e, e, LL 6 6aTL B   . d+ d+ . d+ d+ d+ / rr\N)rzr{r|r}rrrrrrrrrrr\rrrrsW,M)  ) rrr8cd\rSrSrSr\S5r\S5r\S5rSr \S5r Sr S r g ) _TestPicklingConnectionsircJSSKJn UR[RS9 g)Nr)resource_sharerr)rrr rr )rrs rr&_TestPicklingConnections.tearDownClasss3W%9%9:rc0UHxnURRUS9nURUR5 UR 5nURU5 UR 5 UR 5 Mz [ R"[RS45nURUR55 UR 5upVURU5 UR 5 UR 5 UR5 g)NrYr) r[r]rrrcr socket create_serverrr getsocknamer )rrr\rrnew_connrs r _listener"_TestPicklingConnections._listener sC''s'3A IIaii xxzH IIh  NN  GGI   -"4"4a!8 9 !--/" (   rc[URS5HOup#URRU5nUR UR 55 UR 5 MQ UR5up#[R"5nURU5 URUR 55 UR 5 UR 5 gr) rr r[rbrrr rrsendall)rrrrrjs r_remote _TestPicklingConnections._remotes"499d3NW^^**73F KK $ LLN4 yy{ wsyy{#  rcURRnUR5up#URURX14S9nSUlUR 5 UR5 UR5upVURURU4S9nSUlUR 5 UR5 UHwnSU-RS5n UR5n URX45 UR5n URU R5U R55 My URS5 [S5n UR5n URX45 UR5n /n U RS5n U (dOU RU 5 M,SR!U 5n URXR55 U R5 URS5 UR5 UR5 UR!5 UR!5 g)NrTzThis connection uses family %sasciiz$This connection uses a normal socketrIr)r[r\r rrrrr rrr rrorrrr)rtr\lconnlconn0lprrconn0rprrrrbufrs r test_pickling&_TestPicklingConnections.test_pickling-s??++  \\v6H\ I      \\VI\ >    C3c9AA'JCjjlG JJ~ &zz|H   X]]_ciik :   4:;**, G>"::< c"A JJqM  hhsm iik* 4      rcUR5nURS5 UR5 UR5nUR5nURUS-5 UR5 g)N all is wellr.)r rr )rrr'rrs r child_access%_TestPicklingConnections.child_access[sQ IIK }  IIKffh #a% rcvUR5upURURU4S9nSUlUR 5 UR 5 URSS9upEUR U5 UR 5 URUR5S5 UR 5 URSS9upEUR U5 UR 5 UR S5 UR 5 URUR5S5 UR5 g)NrTFrrfoobar foobarfoobar) r rrrrr rror r)rtrrrrr's r test_access$_TestPicklingConnections.test_accessgs 99; LL 1 1 L F  yyy& !    =1  yyy& !    x   j1 rr\N) rzr{r|r}rrrrrrrrrr\rrrrsb#M;;$  ,\  rrcD^\rSrSrSrU4SjrU4SjrSrSrSr U=r $) _TestHeapirc>[TU]5 [RRR Ul[RR5[RRlgr)rrrrXrY_heapold_heapHeaprtrs rr_TestHeap.setUpsH  ',,::@@ 3B3G3G3L3L3N**0rct>UR[RRl[ TU]5 gr)rrrXrYrrrrs rr_TestHeap.tearDowns&37==**0 rc SnSn/n[RRRnSUl[ U5H~n[ [R"SS5S-5n[RRU5nURU5 [U5U:a[R"U5nX5 AM UR /nSn Sn [URR55HFn U H=upnURUR R#U 5XX- S45 XU - - n M? MH UR$R'5HGupUH<upURUR R#U 5XX- S45 XU - - n M> MI UR)X-[+SUR 555 UR-5 [ [U5S- 5HonXSS upnXS-SS unnnU U:wa<UR)XR U R.5 UR)US5 M]UR)UU5 Mq SSS5 [R0"U5 U(aUR35 U(aMUR)UR4UR65 UR)[UR85S5 UR)[UR 5S5 UR)[UR$5SUR$5 UR)[UR5S5 g!,(df  GN =f) Nrirrrfreeoccupiedc38# UHoRv M g7frr5)r]arenas rr^&_TestHeap.test_heap..s Fsr4)rrXrYr_DISCARD_FREE_SPACE_LARGER_THANr~rurandomlognormvariaterr randrangerbr _len_to_seqr_arenasindex_allocated_blocksrrosumsortr5shufflerR_n_frees _n_mallocs_pending_free_blocks)rt iterations maxblocksblocksrXrr5rrprrrrrr  arena_blocksnarenanstartnstops r test_heap_TestHeap.test_heaps  ##1177/0,z"Av,,Q2T9:D$$2248A MM! 6{Y&$$Y/I#ZZCDH$**1134*+&E$JJ 2 25 95 $ F 45%Z(D+,5 (,'='='C'C'E##/KEJJ 2 25 95 $ J 89e,H$0(F   T_ F FF H HHJ3s8A:&'*vbqz$t*-c(2A,'F?$$T<<+>+C+CD$$VQ/$$T62'-D v JJLf 8 T667; T\\*A. T334a9O9OP T--.2UZs F!M00 M?c[R"5(d4[R"5 UR[R5 [R "5nUR"[R /UQ76 [R "S5 [S5HMn[RRS5n[RRS5nXCl X4l MO g)Nr_rr) rrrrr get_threshold set_thresholdr~rrXrYbuddy)rt thresholdsrrrs rtest_free_from_gc_TestHeap.test_free_from_gcs ||~~ IIK OOBJJ '%%'  ((6:6 tA$$2215A$$2215AGG r)r) rzr{r|r}rrrrrrrDrEs@rrrs#"MO >3@rrc*\rSrSrS\4S\4S\4/rSrg)_Fooirrzr\N) rzr{r|r}r<r=r>_fields_rr\rrrrs e h j HrrcD\rSrSrSrSr\S5rS SjrSr Sr Sr g ) _TestSharedCTypesirc>[(dURS5 ggrrrs rr_TestSharedCTypes.setUprrcNU=RS-slU=RS-slU=RS-slU=RS-slU=RS-slU=RS-sl[[ U55HnXW==S-ss'M gr)rrrr~r)rrrrrr1stringrs r_double_TestSharedCTypes._doublesn 1  1  1       s3xA FaKF!rc :[SSUS9n[[SUS9n[[SUS9n[[SSUS9nUR S[ [ S 55US9nUR S S US9n[S 5UlURURX#XEXg4S 9nSUl UR5 UR5 URURS5 URURS5 URURS5 URUR S5 URUR"S5 [ S 5Hn URXiU S-5 M URUR[S55 g)NrrPrgUUUUUU?rr4r.rr_rrr0rTgUUUUUU?rrI@ hellohello)rr=r>rr/rr~rrrrrrrrorrr) rtrrrrrr1rrrs rtest_sharedctypes#_TestSharedCTypes.test_sharedctypes sN #qt $ (G$ / *gD 1D!QT*jjd59oDj9C$/W~ LL A!#3NL O    "% qww0 '* " suuc*rA  " "361Q3 / u\':;rc"URSS9 g)NTr)rrs rtest_synchronize"_TestSharedCTypes.test_synchronize!s D)rc[SSS5n[U5nSUlSUlSUlUR URS5 UR URS5 UR URS5 g)Nr.r/rr)rrrrrror)rtrrs r test_copy_TestSharedCTypes.test_copy$sj1c7#3i " suuc* (rr\Nr5) rzr{r|r}rrrrrrrrr\rrrrs0"MC<.*)rrz&requires multiprocessing.shared_memoryc\rSrSrSr\S5rSrSrSr Sr Sr S r S r S r\R "\R$S :gS 5S5r\R "\R$S :gS5S5rSrSrSrSrSr\R "\R$S :gS5S5r\R "\R$S :gS5S5rSrg)_TestSharedMemoryi/rc[U[5(a[R"U5nOUnXRS[ U5&UR 5 gr)rrrr SharedMemoryrrr )shmem_name_or_obj binary_data local_smss r!_attach_existing_shmem_then_write3_TestSharedMemory._attach_existing_shmem_then_write5sD ' - -%223DEI)I+6 's;'(rcDU[[R"55-$r)rrrBr)rtprefixs r _new_shm_name_TestSharedMemory._new_shm_name>sBIIK(((rcURS5n[R"USSS9nURUR5 UR [ 5 [R"US-SSS9 SSS5 [R(aLURnUS-UlUR [ 5 UR 5 SSS5 X2lgg!,(df  Np=f!,(df  N'=f!X2lf=f)N test01_nullTcreater5zaF) rrr rrrprE _USE_POSIX_name)rt name_tsmbsms orig_names r*test_shared_memory_name_with_embedded_null<_TestSharedMemory.test_shared_memory_name_with_embedded_nullDs&&}5 ((4cJ  #   z *  & &y5'8S Q+  # # I &%- &&z2JJL3&  $+ * 32& s0CC>;C- C> C*- C;7C>>Dc URS5n[R"USSS9nURUR5 UR UR U5 URURS5 UR[UR5UR5 URUR [U55 UR[UR5[U55 SURS'UR URSS5 [R"U5nUR URSS5 UR5 [R"USUR-S9nURURSUR-5 UR5 UR[ 5 [R"SS S9 SSS5 UR[ 5 [R"S S 9 SSS5 ["R$R'S 5n[R(nURS 5URS5/nUVs/sHoU-PM nnXul[R"SSS9n URU R5 UR U R,US5 Xul[R"SSS9n URU R5 UR U R,US5 SSS5 [R.(aURS5n [R"U SSS9n UR[05 URU RS5 [R"U 5n U R 5 U R5 U R5 U R 5 SSS5 UR[25 [R"USSS9nSSS5 [R.(aW"SS[R5nU"U5nUR URUR5 UR5 UR[05 [R"S5nUR 5 SSS5 UR5 g!,(df  GN=f!,(df  GN=fs snf!,(df  GN=f!U R 5 f=f!,(df  GNT=f!,(df  GN2=f!,(df  N=f)N test01_tsmbTrrrLrrrFr,multiprocessing.shared_memory._make_filename test01_fn test02_fnrtest01_dblunlinkrcF\rSrSr\R \R -rSrg)O_TestSharedMemory.test_shared_memory_basics..OptionalAttachSharedMemoryir\N) rzr{r|r}rBr+O_RDWR_flagsrr\rrOptionalAttachSharedMemoryr,sbii/rr/test01_notthere)rrr rrror,rr5rrrqrrr assertLessrprErFmockpatch_SHM_NAME_PREFIX side_effectrrFileNotFoundErrorFileExistsError)rtrralso_smssame_smsmock_make_filename NAME_PREFIXnamesr,shm1shm2name_dblunlinksms_unosms_duothere_can_only_be_one_smsr/ok_if_exists_smsnonexisting_smss rtest_shared_memory_basics+_TestSharedMemory.test_shared_memory_basicsSs&&}5 ((4cJ  # 9- #. CGG chh7 chhC) c#((mSX.  R(!--i8 a"-!--ibkJ  r#(({3  z *  & &d <+  z *  & &e 4+ ]] :s rtest_shared_memory_recreate-_TestSharedMemory.test_shared_memory_recreates]] :G<< H c[[RS-5HnURUS9 [R "SSS9nSUR SS&[R"X!S 9nUR5 UR5 UR[5 [R"U5 SSS5 SSS5 M g!,(df  N=f!,(df  M=f) NrrQTrrrSrrIrT) r~rVrWrrr rrXr rrpr6rY)rtrRrrZs r.test_shared_memory_pickle_unpickle_dead_object@_TestSharedMemory.test_shared_memory_pickle_unpickle_dead_objects622Q67EE*#003G(! $ll3?   &&'89LL-:+*8:9+*s$A.CC 4C C C C) cD[R"SSS9nURUR5 UR UR UR S4S9nSUlUR5 UR5 UR[URSS5S5 UR UR US4S9nSUlUR5 UR5 UR[URSS5S5 UR5 g)NTrrshowdyrrsHELLO)rr rrrrr,rrrrorrr )rtrrs r#test_shared_memory_across_processes5_TestSharedMemory.test_shared_memory_across_processess((3?  # LL99((H%      swwr{+X6 LL99x      swwr{+X6 rr(z#not feasible in non-posix platformsc([RR5nUR5 UR [ S55n[ R"URR[R5 UR [ S55nUR[5 [ R"[ R"5[R5 SSS5 UR5 g!,(df  N=fr)rrSharedMemoryManagerr ShareableListr~rBrorrrarrprDrr)rtsmmslsl2s r4test_shared_memory_SharedMemoryServer_ignores_sigintF_TestSharedMemory.test_shared_memory_SharedMemoryServer_ignores_sigint+s&&::<   uRy )    &--0b *  0 1 GGBIIK /2 2 1s 19D Dzresource_tracker is posix onlycSn[RRRSU5up#nUR U5 g)Nzif 1: from multiprocessing.managers import SharedMemoryManager smm = SharedMemoryManager() smm.start() sl = smm.ShareableList(range(10)) smm.shutdown() r~)rrrrrrs r>test_shared_memory_SharedMemoryManager_reuses_resource_trackerP_TestSharedMemory.test_shared_memory_SharedMemoryManager_reuses_resource_trackerCs; ||11BB4M  rc:[RR5nUR[5 UR SS9 SSS5 UR 5 [SS5Vs/sHo!R[U55PM nn[SSS5Vs/sHoAR US9PM nn[R"USRRS 9nUR[U5S5 [R "USRS 9nUR[UR5S5 USRnUR!5 ["R$S :wa2UR[&5 [R "US 9n SSS5 [RR5n U RS 5n U R SS9n U RRnSSS5 ["R$S :wa3UR[&5 [R"US 9n SSS5 gg!,(df  GN=fs snfs snf!,(df  N=f!,(df  N=f!,(df  g=f) NrFrrr_rrr,r1howdy)rrrerprEr rr~rfrshmr,rorrrrrrr6)rtsmm1rlolrlomdoppleganger_list0doppleganger_shm0 held_name absent_shmsmm2rhrt absent_sls r-test_shared_memory_SharedMemoryManager_basics?_TestSharedMemory.test_shared_memory_SharedMemoryManager_basicsXs'';;=   z *   1  %+ 6;ArlDl""58,lD38S"3EG3Ea!!q!)3EG*88c!fjjooN /0!4)66CFKKH $5$9$9 :B?FKK   <<7 """#45*77YG 6 % % 9 9 ;t##G,B###-C I< <<7 """#45)77YG 65 #-+ *EG65< ; 65s;I*#I I% I*7I;/J  I* I8; J  Jc[R"/SQ5nURURR5 UR URR [U55 UR [[U55[U55 UR[5 US SSS5 UR[5 SUS'SSS5 URS5nSUS'URX!RS55 URURS5 UR[U5S5 [R "5 [R""S5 UR[$5 UR'S5 SSS5 URUR'S 5S 5 SSS5 URUSS5 URUS S 5 UR[)U5S5 S US 'URUS S 5 SUS'URUSS5 URURS5 UR+[$S5 SUS'SSS5 URUSS5 SUS'URUSS5 URUSS5 UR+[$S5 SUS'SSS5 URUSS5 UR+[$S5 SUS'SSS5 URUSS5 [R "5 [R""S5 URUR-S 5S5 URUR-S5S5 URUR-S5S5 SSS5 UR/S5n[R"XS9nUR1URR URR 5 URX4RR 5 UR[U5[U55 URURUR5 SUS'URUSS5 UR1USS5 URR35 URR 5 [R"URR S9nURURR URR 5 SUS'URUSS5 URR35 URR35 [R"5nUR[U5S5 URURS5 URUR-S5S5 UR[$5 UR'S5 SSS5 URR35 URR 5 g!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GNX=f!,(df  GN=f!,(df  GN=f!,(df  GNA=f!URR 5 f=f!,(df  N=f!URR 5 f=f) N)rsHoWdYgX9vqrINTrLrPr.rrsz8s8sdqxxxxxx?xxxxxxxx?qignore100rIr4r%TrLsomerdz8s8sdq8sxxxxxxx?qzexceeds available storagez far too manyuencodésrru encodéess 123456789sadiostest03_duplicaterrMrAiprany)rrfrrtrrqr,rrrrp IndexError_get_packing_formatrorrwarningscatch_warnings simplefilterrErrrrrr?r )rtrhcurrent_formatname_duplicatesl_copy sl_tetheredempty_sls r'test_shared_memory_ShareableList_basics9_TestSharedMemory.test_shared_memory_ShareableList_basicsvs  ( ( >   & bffkk3r7+ c$r(mSW-  z * qE+  z *BqE+//21 )?)?)BC $=> R!$ $ $ &  ! !( +"":./   RXXc]A . ' A( B&  "I > 1 A#1 A' $78  # #J$?A"BqEA A'1 A + A)  # #J$?ABqEA A)  # #J$?A BqEA A) $ $ &  ! !( +   RXXb\1 -   RXXh/ 3   RXXh/ 3 '++,>?--bF !    W[[-=-= >   ^[[-=-= >   T"XtG} 5   RYY 7GBK   WR[" -   2 + KK    KK   $11rvv{{C  koo&:&:; B B%  !..0 "   S]A .   X__b 1   X^^E2A 6"":.t$/ LL   LL   !I+ *+ *$/.' &.AAAAAA ' &( KK   "/. LL   !s/Z Z",[Z/ )[<[$[%[7A:\ =C2\A-] <\:"] Z Z,/ Z> 9[ [ ["% [47 \ \\7: ]] ]'c[[RS-5GHnURUS9 [R "[S55nUR URR5 [R"X!S9n[R"U5nURU[R 5 URUSS5 URX$5 SUS'URUSS5 S US 'URUS S 5 [R "[S 55nUR URR5 [R"XQS9nUR[U5[U55 URR5 URR5 URR5 SSS5 GM g!,(df  GM=f) NrrQr_rTrArFchangedrdnewvaluer4i)r~rVrWrrrfrrtrrXrYrro assertIsNotrr )rtrRrh serialized_sldeserialized_sl larger_slserialized_larger_sls r)test_shared_memory_ShareableList_pickling;_TestSharedMemory.test_shared_memory_ShareableList_picklingsy622Q67EE*"00r; . & R @ "(,,}"=%%#]%@%@B  !4a8  5%."  A 2"1  !3Z@)77c C  4 45'-||I'N$  ]!3S9M5NO ##%##))+ /+*8**s F3G11 H c[[RS-5HnURUS9 [R "[S55n[R "X!S9nURR5 URR5 UR[5 [R"U5 SSS5 SSS5 M g!,(df  N=f!,(df  M=f)NrrQr_rT) r~rVrWrrrfrXrtr rrpr6rY)rtrRrhrs r5test_shared_memory_ShareableList_pickling_dead_objectG_TestSharedMemory.test_shared_memory_ShareableList_pickling_dead_objects622Q67EE*"00r; & R @   &&'89LL/:+*8:9+*s$A=C),CC) C& "C)) C8 cSn[R"[RSSU/[R[RS9nUR R 5R5R5nUR5 UR5 Sn[R"[RU5Hn[R"USS9nM ["R$S:XaT[&R("S U3S 5 UR*R-5R5nUR/S U5 SSS5 g![ a  Mf=f!,(df  g=f) NaXif 1: import os, time, sys from multiprocessing import shared_memory # Create a shared_memory segment, and send the segment name sm = shared_memory.SharedMemory(create=True, size=10) sys.stdout.write(sm.name + '\n') sys.stdout.flush() time.sleep(100) -Er~rzIA SharedMemory segment was leaked after a process was abruptly terminatedFr&r(/rz[resource_tracker: There appear to be 1 leaked shared_memory objects to clean up at shutdown) subprocessPopenrrPIPErreadlinestripdecoder"r rrr rr r6rBr,r) unregisterrr!rq)rtrrr,err_msgrrgrus r4test_shared_memory_cleaned_after_process_terminationF_TestSharedMemory.test_shared_memory_cleaned_after_process_terminations,    s~~tT3?%/__%/__69:88$$&,,.557D KKM FFH;G++G,@,@'J'44T%HCK ww'! !++avJH hhmmo,,. DEHJ=66)66s2BE% EA,E% E"E%!E""E%% E3cSn[R"SSS9n[R"SXR5up4nUR SU5 UR US5 [R"SURS 9nUR5 UR5 UR5 g![a Nf=f!UR5 O![a Of=fUR5 f=f) Nzif 1: import sys from multiprocessing.shared_memory import SharedMemory mem = SharedMemory(create=False, name=sys.argv[1], track=False) mem.close() Tr_rr~sresource_trackerrF)rr,) rr rrr,r4ror rr)rtrmemrrrumem2s rtest_shared_memory_untracking/_TestSharedMemory.test_shared_memory_untracking=s   ((2> (99$XXNLBS   0# 6   R # --UJD JJL   IIK       IIKsBA7CB22 B?>B?C6CC6 C"C6!C""C6cSn[R"SSS9n[R"SXR5up4nUR US5 UR SU5 UR5 [R"URS5 UR5 g![a N>f=f!UR5 O![a Of=f[R"URS5 UR5 f=f) Nzif 1: import sys from multiprocessing.shared_memory import SharedMemory mem = SharedMemory(create=False, name=sys.argv[1], track=True) mem.close() Tr_rr~rs[resource_tracker: There appear to be 1 leaked shared_memory objects to clean up at shutdownr) rr rrr,rorqrrr)rrr )rtrrrrrus rtest_shared_memory_tracking-_TestSharedMemory.test_shared_memory_trackingXs   ((2> (99$XXNLBS   R # MMABE G    ' ' ? C IIK        ' ' ? C IIKsBAB4"B$$ B10B14D 6CD  CD C5D r\N)rzr{r|r}rrrrr!rErJrNr\r_rbrFrrBr,rjrmr~rrrrrrrr\rrr r /s #M) &n`3, BB4 .8__RWW')NOP.__RWW')IJK(H   &&(rc[R"5 UR[R5 [RR UR 5 gr)rrrrrupdaterrs rr_TestFinalize.tearDown~s9  112   ''(<(<=rc"SS[5nU"5n[R"X1RSS9 A[R "5 U"5n[R"XARSS9nU"5 U"5 A[R "5 U"5n[R"XaRSS9 U"5n[R"XqRSSS 9 U"5n[R"XRS S S 9 U"5n [R"XRS S S 9 U"5n [R"XRS S S 9 [R"SURSSS 9 [R"SURSSS 9 [R "5 UR5 [R"S 5 g)Nc\rSrSrSrg))_TestFinalize._test_finalize..Fooir\Nrr\rrrr rr)rr7)r)r)d10r)rQ exitpriority)d01r)d02)d03)r7i)STOPi) rrFinalizerrr_exit_functionr rB_exit) rrrrrclose_brrrrrs r_test_finalize_TestFinalize._test_finalizes9 &  E a0  E--996:   E a0e c998!De c998!De c998!De c998!D dDIIFE dDIIIDI    rc(UR5upURURU4S9nSUlUR 5 UR 5 [ URS5Vs/sHoDPM nnURU/SQ5 gs snf)NrTr)rrrrrrr7) r rrrrrrr ro)rtrrrrors r test_finalize_TestFinalize.test_finalizesz99; LL 3 3:-L H   !%dii!89!8##!89 !LM:s- Brc^^^^ Sm"U4SjS[5mSm SmUU 4SjnUUU 4Sjn[R"5n[R"5n[ R "S5 [R"SSS5 [R"US 9[R"US 9/n[R"U5 [R"S 5 S m SSS5 TbTe[R "U5 [R"U6 [R"5 g!,(df  NS=f![R "U5 [R"U6 [R"5 f=f) Ncgrr\r\rrcb,_TestFinalize.test_thread_safety..cb rc">\rSrSrU4SjrSrg)-_TestFinalize.test_thread_safety..Fooich>Xl[R"UT[R"SS5S9 g)NrrI)r)rrrrrandint)rtrs rr6_TestFinalize.test_thread_safety..Foo.__init__s# dBV^^As5KLr)rN)rzr{r|r}rr)rsrrrs M MrrFc>T(dL[R"[R"5S-5 [R"5 T(dMKgg![ a nUmSnANSnAff=fr)rr(rr_run_finalizersrl)r7rfinishs rrun_finalizers8_TestFinalize.test_thread_safety..run_finalizerssN 6==?T12((* f !CsA A, A''A,c>0nT(dC[S5Vs1sH nT"5iM snU[R"S5'T(dMBggs snf![anUmUR 5 SnAN1SnAff=f)Nr_r)r~r getrandbitsrlr)rrr7rrrs rmake_finalizers9_TestFinalize.test_thread_safety..make_finalizersskA@ERy/Iy!y/IAf((+, f0J CGGIIs' AAAA A:A55A:gư>rrrT)rrgetswitchintervalrrrsetswitchintervalrr;rr start_threadsrr(r) rtrr old_interval old_thresholdrrrrrs @@@@rtest_thread_safety _TestFinalize.test_thread_safetys  M& M   ,,. ((*    % %d +   Q1 % ''~> ''?AG!//8 39   ! !, /   m , JJL98  ! !, /   m , JJLs&A,D;D* D;* D84D;;AE;)rN)rzr{r|r}rrrrrrrrrrr\rrrrvsK"M)> %%N N u%4&4rrc \rSrSrSrSrSrg)_TestImportStaricSSKn[RR[R 5n[RR URU5S5nURU5nUVs/sHEn[RR[RRU5S5SPMG nnUVs/sHnSU-PM nnURS5 URS5 U$s snfs snf)Nrz*.pyrzmultiprocessing.zmultiprocessing.__init__r) globrBrdirnamer__file__rescapesplitextsplitrr)rtrfolderpatternfilesr#modulesrs rget_module_names _TestImportStar.get_module_namess!9!9:'',,t{{62F; '"EJKU277##BGGMM!$4Q$78;UK3:;7a%)7;12() L;s 6A C=Dc.UR5n[RS:Xa4URS5 URS5 URS5 O-URS5 [(dURS5 [ cURS5 UHrn[ U5 [RUnUR[US5U5 URH%nUR[X45U<SU<35 M' Mt g) Nr1zmultiprocessing.popen_forkz multiprocessing.popen_forkserverz!multiprocessing.popen_spawn_posixz!multiprocessing.popen_spawn_win32zmultiprocessing.sharedctypes__all__z does not have attribute ) rrrrrUr<r~rrr`r)rtrr,modattrs r test_import_TestImportStar.test_imports'') <<7 " NN7 8 NN= > NN> ? NN> ? =AB = NN9 :D t ++d#C OOGC3T : C&7:DA$ rr\N)rzr{r|r}rrrr\rrrrs  rrc:\rSrSrSrSr\S5rSrSr Sr g) _TestLoggingirc[R"5nUR[R5 UR USL5 UR S5 URS5 UR[5 g)Nzthis will not be printedz nor will this) r get_loggersetLevelr SUBWARNINGrdebuginfo LOG_LEVEL)rtloggers rtest_enable_logging _TestLogging.test_enable_logging!sV ++-( d*+ /0 O$ "rcl[R"5nURUR55 gr)rrrgetEffectiveLevel)rrr s r _test_level_TestLogging._test_level)s% ++- &**,-rcSnSn[R"5n[R"5nURn[R "SS9upgUR U5 URURU4S9nUR5 URXR55 UR5 UR5 UR [R5 UR U5 URURU4S9nUR5 URX&R55 UR5 UR5 UR U5 UR [S9 g)Nr%Frr)level)rrlogging getLoggerrr rrrrror rr NOTSETr ) rtLEVEL1LEVEL2r  root_logger root_levelrrrs r test_level_TestLogging.test_level.s ++-'')  && (--U; LL 0 0yL A   /   'V$ LL 0 0yL A   /   Z(i(rcx[R"5nURnUR[R 5 [ R"5n[R"U5nSnUR[R"U55 URU5 URS5 [R"S5 URS5 [R R#[$5nUR'5nUR)SUS3U5 UR)SUS3U5 UR)SUS 3U5 URU5 UR+U5 UR-5 g!URU5 UR+W5 UR-5 f=f) Nz*[%(levelname)s] [%(filename)s] %(message)sr23z[INFO] [z] 1z] 2z [DEBUG] [z] 3)rrrrrDEBUGrrr StreamHandler setFormatter Formatter addHandlerrrrBrbasenamerrrq removeHandlerr )rtr original_levelrr]logging_formatfilename log_records r test_filename_TestLogging.test_filenameJsG ++-  OODJJ '[[]F++F3GIN  !2!2>!B C   g & KK  IIcN LL ww''1H*J MMHXJc2J ? MMHXJc2J ? MMIhZs3Z @ OON +   ) MMO OON +   ) MMOs D/F4F9r\N) rzr{r|r}rr rrrr+rr\rrrrs*"M#..)8rrch\rSrSrSr\S5r\R"\ "\ S5S5S5r Sr g) _TestPollEintriyrcz[R"S5 [R"U[R 5 gr)rr(rBroraSIGUSR1)rrs r_killer_TestPollEintr._killer}s 3 V^^$rr0requires SIGUSR1c^S/mU4Sjn[R"5n[R"[RU5nUR UR U4S9nUR 5 UR [RSS9nUR 5 UR5 UR5 URTS5 URURS5 [R"[RU5 g!UR5 f=f![R"[RU5 f=f)NFc>STS'g)NTrr\)rQ got_signals rrecord._TestPollEintr.test_poll_eintr..records  JqMrr)r.r) rBrrar0rr1rrr(rrror)rtr7r oldhandlerkillerrr6s @rtest_poll_eintr_TestPollEintr.test_poll_eintrsW  !iik]]6>>6:  6\\SF\CF LLN LL L>  OOJqM *   QZZ + MM&..* 5   MM&..* 5s%+D+2>D0AD+D((D++'Er\N) rzr{r|r}rrr1rFrr`rar;rr\rrr.r.ysC"M%%35GH6I6rr.cF\rSrSr\R "\S5S5rSrg)TestInvalidHandleiskipped on Windowsc [RRS5nUR5 SUlUR[[ 4[RRS5 g![[ 4a NOf=f!SUlf=f)NiMrA)rr[ ConnectionrrEr_handlerprIs rtest_invalid_handles&TestInvalidHandle.test_invalid_handlessy))44X> IIK  DL :w/)44?? E G$     DLs#A..B>BBB B r\N) rzr{r|r}rFrWIN32rCrr\rrr>r>s" __U01 E2 Err>c \rSrSrSrSrSrg) OtherTestic"SS[5nUR[R[RR U"5S5 g)Nc \rSrSrSrSrSrg)FOtherTest.test_deliver_challenge_auth_failure.._FakeConnectionicg)Nsomething bogusr\rtr5s rrQOtherTest.test_deliver_challenge_auth_failure.._FakeConnection.recv_bytess)rcgrr\rtr4s rrQOtherTest.test_deliver_challenge_auth_failure.._FakeConnection.send_bytesrr\N)rzr{r|r}rrrr\rr_FakeConnectionrJs  * rrSabc)rrprAuthenticationErrorr[deliver_challengertrSs r#test_deliver_challenge_auth_failure-OtherTest.test_deliver_challenge_auth_failures= f  /==)44FF)+V 5rc"SS[5nUR[R[RR U"5S5 g)Nc&\rSrSrSrSrSrSrg)EOtherTest.test_answer_challenge_auth_failure.._FakeConnectionicSUlgr/rrs rrNOtherTest.test_answer_challenge_auth_failure.._FakeConnection.__init__s  rcU=RS- slURS:Xa[RR$URS:Xagg)Nrr.rLr)rrr[ _CHALLENGErMs rrPOtherTest.test_answer_challenge_auth_failure.._FakeConnection.recv_bytess= a ::?*55@@@ZZ1_-rcgrr\rPs rrPOtherTest.test_answer_challenge_auth_failure.._FakeConnection.send_bytesrRrr^N)rzr{r|r}rrrrr\rrrSr\s   rrSrT)rrprrUr[answer_challengerWs r"test_answer_challenge_auth_failure,OtherTest.test_answer_challenge_auth_failures= f  /==)44EE)+V 5rr\N)rzr{r|r}rXrfrr\rrrGrGs 55rrGmd5c*\rSrSrSrSrSrSrSrg)ChallengeResponseTestissupadupasecretkeycV[RRURU5$r)rr[_create_responser)rtmessages rcreate_response%ChallengeResponseTest.create_responses$)):: LL'  rcV[RRURX5$r)rr[_verify_challenger)rtrmresponses rverify_challenge&ChallengeResponseTest.verify_challenges$));; LL'  rcPSHnURSU<35 SnU(aSURS5-nOSnX2-nURU5nURU5(dUR U5 UR X$5 SSS5 M g!,(df  M=f)N)Nrhrzalgo=sis-twenty-bytes-longs{%s}rr)rrrn startswithrmrs)rtalgorrrrs rtest_challengeresponse,ChallengeResponseTest.test_challengeresponses+Dj)-$t{{7';;F Fl//4**622IIh'%%c4*),))s A.B B% r\N) rzr{r|r}rrnrsrxrr\rrrjrjs#G  5rrjc.U=RS- slgr)r)nss r initializerr|sGGqLGrc,\rSrSrSrSrSrSrSrg)TestInitializersic[R"5UlURR5UlSURlgr/)rrrrr{rrs rrTestInitializers.setUps1"**,(($$& rclURR5 URR5 grrrs rrTestInitializers.tearDownrrcP[RR5nUR[UR S5 UR [ UR45 URURRS5 UR5 UR5 gr) rr SyncManagerrp TypeErrorrr|r{rorrr)rtrs rtest_manager_initializer)TestInitializers.test_manager_initializersj  $ $ 0 0 2 )QWWa0  dggZ( q)  rc$UR[[RSS9 [R"S[UR 45nUR 5 UR5 URUR RS5 g)Nr)r|) rprrrr|r{r rrorr s rtest_pool_initializer&TestInitializers.test_pool_initializer sa )_%9%9qI  K$'' <    q)r)rr{N) rzr{r|r}rrrrrr\rrr~r~s *rr~cXURSS9ng![Ra gf=f)NF)block)rrRr`)ritems r_this_sub_processrs- uu5u! ==   s ))c[R"5n[R"[U4S9nSUlUR 5 UR 5 g)NrT)rrrrrrr)r#subProcs r _test_processrs>  ! ! #E%%->eXNGGN MMO LLNrc X-$rr\rs r_afuncr%rrc[R"SS9nUR[/SQ5nUR 5 UR 5 g)Nrdr)rr.r4rdrrIrP)rrrrr r)rrs rpool_in_processr(s5   ! ,D ./AJJLIIKrc6\rSrSrSr\S5rSrSrSr g) _file_likei.cXlSUlgr) _delegate_pid)rtdelegates rr_file_like.__init__/s! rc|[R"5nXR:wa Xl/UlUR$r)rBrr_cachers rcache_file_like.cache3s-iik )) IDK{{rc:URRU5 gr)rrrPs rr{_file_like.write<s $rczURRSRUR55 /Ulg)Nr)rr{rrrrs rflush_file_like.flush?s( RWWTZZ01 r)rrrN) rzr{r|r}rpropertyrr{rrr\rrrr.s% rrc&\rSrSrSrSrSrSrg)TestStdinBadfiledescriptoriCct[R"[S9nUR5 UR 5 gNr)rrrrr)rtrs rtest_queue_in_process0TestStdinBadfiledescriptor.test_queue_in_processEs$&&m<  rct[R"[S9nUR5 UR 5 gr)rrrrrr s rtest_pool_in_process/TestStdinBadfiledescriptor.test_pool_in_processJs$  # #? ;   rc^[R"5n[U5mTRS5 [R "U4SjS9nTR 5 UR5S:Xdeg)Nrc$>TR5$r)r)flikesrr:TestStdinBadfiledescriptor.test_flushing..Ss ekkmrr)rrrr{rrrr)rtsiorrs @r test_flushing(TestStdinBadfiledescriptor.test_flushingOsQkkm3 E&&.CD ||~&&&rr\N)rzr{r|r}rrrrr\rrrrCs  'rrc\rSrSr\S5rSSjr\S5rSSjrSr Sr \ R"S5S 5r \S 5r\ R"S5S 5rS rS rg)TestWaitiXc[S5H\nU(a,[R"[R"5S-5 UR U[ R "545 M^ UR5 g)Nr_r)r~rr(rrrBrr )rr'slowrs r_child_test_waitTestWait._child_test_waitZsLrA 6==?U23 FFAryy{# $  rc^ SSKJn /n/m /n[S5Hn[R"SS9upg[R "UR Xq4S9nSUlUR5 UR5 URU5 T RU5 URUR5 M U(a:U"U5H%nUR5n URU 5 M' U(aM:UR!5 [#U 4Sj[S 555n UR%XJ5 g![a% URU5 UR5 Mf=f) Nrr rdFrrTc3R># UHnTHo!UR4v M M g7fr)r)r]rrrs rr^%TestWait.test_wait..}sGiAaee**is$'r_)multiprocessing.connectionr r~rr rrrrr rrrr rrrraro) rtrr readersmessagesrrr'rrrrs @r test_waitTestWait.test_waitbs3qA"''u5DA''t/D/DA9UAAH GGI GGI NN1  LLO OOAFF #'])&&(C OOC(#g  GeBiGG , NN1%GGIs D;;+E*)E*c@[R"5nURU5 [S5HYnU(a,[R"[ R "5S-5 UR SU-RS55 M[ UR5 g)Nr_r%s r) rrr~rr(rrrr )rrrrrs r_child_test_wait_socket TestWait._child_test_wait_socketsg MMO 'rA 6==?U23 IIvz))'2 3  rcSSKJn [R"[R S45nUR 5n/n/n0n[S5Hfn[R"URXA4S9n SU l U R5 URU 5 URU R5 Mh [S5H*nUR!5upURU 5 /Xz'M, UR#5 U(afU"U5HQn U R%S5n U (d#UR'U 5 U R#5 M>XzRU 5 MS U(aMfSRS[S 555R)S 5n UR+5H$nUR-S RU5U 5 M& g) Nrr rdrTrrc3,# UH nSU-v M g7f)rNr\r\s rr^,TestWait.test_wait_socket..s9y!6A:ysr_rr)rr rrrrrr~rrrrrrrrrcr r rrrro)rtrr rrrrdicrrrrrrvs rtest_wait_socketTestWait.test_wait_socketsc3  -"4"4a!8 9}}qA''t/K/K.2\;AAH GGI LLO OOAFF # qA88:DA NN1 CF  ']ffRjNN1%GGIFMM#& #g779uRy99@@IA   SXXa[( 3rc&URS5 gr)rrs rtest_wait_slowTestWait.test_wait_slows trc&URS5 gr)rrs rtest_wait_socket_slowTestWait.test_wait_socket_slows d#rrc^SSKJn Sn[R"5up4[R "5nU"X4/U5n[R "5U- nUR U/5 URXr[- 5 URS5 U"X4/S5nUR Xc/5 g)Nrr r/r) rr rr rrror+r6r)rtr r5rrrrrs rtest_wait_timeoutTestWait.test_wait_timeouts3##% A67# 5( b! 5I"56 t A62 c"rcPUR5 [R"U5 gr)rrr()rrperiods rsignal_and_sleepTestWait.signal_and_sleeps  6rcSSKJn SnSn[R"S5n[R"5upV[R "UR XB4S9nUR5 URUR[5 URURSS95 [R"5nU"XWRU/US-5n [R"5U- n URXR/5 UR!XS-5 UR#XS- 5 UR%S5 [R"5nU"XWRU/S5n [R"5U- n URU"U 5U"URU/55 UR!U S 5 UR%S5 [R"5nU"XWRU/S5n [R"5U- n URU"U 5U"XWRU/55 UR!U S 5 UR'5 UR)5 g) Nrr r4c[USS9$)Nc[U5$r)rrs rr>TestWait.test_wait_integer....sBqEr)rG)ra)rs rr,TestWait.test_wait_integer..s F1/:rrrrr.g?)rr rrr rrrrrrurrrrror1r+rr"r) rtr rsorted_rrrrrrrs rtest_wait_integerTestWait.test_wait_integers3:''*##%  # #4+@+@*- :   ajj#.  B /0 Azz1%x"}5 5( zzl+ !|, 5Q,/ t  Azz1%r* 5( w A'?@ s# t  Azz1%r* 5( w::q/A'BC s#  rc0SSKJn [R"5up#[R "5nU"U/SS9n[R "5U- nUR U/5 URUS5 UR5 UR5 g)Nrr rArr) rr rr rrror1r )rtr rrrrs rtest_neg_timeoutTestWait.test_neg_timeoutsp3##% NN A3# NN q  b! 1    rr\Nr5)rzr{r|r}rrrrrrrrrrrrrrr\rrrrXs-<!4F$ z*#+#" z*)+)V rrcx\rSrSr\R "\S5S5r\R"\S5S5r Sr g)TestInvalidFamilyir?cUR[5 [RR S5 SSS5 g!,(df  g=f)Nz\\.\testrprErr[r]rs rtest_invalid_family%TestInvalidFamily.test_invalid_familys0   z *  & & / / <+ * * ? A z skipped on non-Windows platformscUR[5 [RR S5 SSS5 g!,(df  g=f)Nz/var/test.piperrs rtest_invalid_family_win32+TestInvalidFamily.test_invalid_family_win32 s1   z *  & & / /0@ A+ * *rr\N) rzr{r|r}rFrrErrrrr\rrrrsE __U01=2= BCBDBrrc:\rSrSr\S5r\S5rSrSrg) TestFlagsicTUR[[R55 gr)rrrflagsrrs rrun_in_grandchildTestFlags.run_in_grandchilds % "#rcSSKn[R"U5nURSS9upEUR UR U4S9n[ R"[S9 UR5 SSS5 UR5nUR5 UR5 UR5 [[R5U4n[!UR#U55 g!,(df  N=f)NrFrr)category)jsonrrr rrrrDeprecationWarningrr rr rrrprintrX) rrSrmprr'rgrandchild_flagsrs r run_in_childTestFlags.run_in_childs  ( ( 6wwew$ JJc331$J ?  $ $.@ A GGIB668     syy!#34 djj B As C.. C<cSSKnS[R"5<S3n[R"[ R SSSSU/5nURURS55upEURXE5 g) NrzIfrom test._test_multiprocessing import TestFlags; TestFlags.run_in_child()rz-Sz-Or~r) rrrPr check_outputrrrYrro)rtrprogr4 child_flagsrs r test_flagsTestFlags.test_flags)st &&5&F&F&H%K1 N && ^^T4tT :<(, 4;;w3G(H%  7rr\N) rzr{r|r}rrr r rr\rrrrs-$$ ! ! 8rrc*\rSrSr\S5rSrSrg) TestTimeoutsi9c[R"S5 URS5 UR5 [R R U5nURS5 UR5 g)Nrryrz)rr(rr rr[rb)rchildrrs r _test_timeoutTestTimeouts._test_timeout:sK 1  3 ))009 # rc[R"5n[R"S5 [R"SS9up#[R R SS9n[R"URX4R4S9nUR5 UR5 URUR5S5 UR5 UR5nURUR5S5 UR5 UR5 [U5 [R"U5 g![R"U5 f=f) NrTrAF_INETrYrryrz)rgetdefaulttimeoutsetdefaulttimeoutrr r[r]rr rrr ror rcr')rt old_timeoutparentr rrrs rrTestTimeouts.test_timeoutCs..0  2  $ $S )+00=MF**3393EA''t/A/A.3YY-?AA GGI KKM   V[[]C 0 LLN88:D   TYY[# . JJL GGI O  $ $[ 1F $ $[ 1s DE E$r\N)rzr{r|r}rr rrr\rrr r 9s2rr c\rSrSrSrSrg)TestNoForkBombi[c[R"5n[RR [RR [ 5S5nUS:waQ[RRRX!5up4nURUS5 URSU5 g[RRRX!5up4nURUR5S5 URUS5 g)Nzmp_fork_bomb.pyrkrs RuntimeErrors123)rrPrBrrrrrrrassert_python_failurerorqrr8)rtrr,rrrus rtest_noforkbombTestNoForkBomb.test_noforkbomb\s  - - /ww||BGGOOH57HI <<<55KKDULBS   S# & MM/3 /<<55FFtPLBS   SZZ\6 2   S# &rr\N)rzr{r|r}r rr\rrr r [s 'rr c*\rSrSr\S5rSrSrg)TestForkAwareThreadLockilc US:aP[R"URUS- U4S9nUR5 UR 5 [ U5 O(UR [[R55 UR 5 g)Nrr) rrr rr r'rrr_afterfork_registry)rrrrs rr TestForkAwareThreadLock.childqs` q5''syy!T{KA GGI JJL O IIc$223 4 rcj[R"S5up[R"5n[ [R 5n[R "URSU4S9nUR5 UR5 UR5n[U5 URXd5 g)NFrr) rr rForkAwareThreadLockrr rr rr r r'assertLessEqual)rtrr'rold_sizernew_sizes rr!TestForkAwareThreadLock.test_lock|s~##E*  $ $ &t//0  # #4::QF C    668Q X0rr\N)rzr{r|r}rr rrr\rrr r ls  1rr c6\rSrSrSrSr\S5rSrSr g) TestCloseFdsicT[(a#[R"5R5$[R"5R5n/nUS:a/URU5 [R "U5nUS:aM/UHn[R "U5 M U$)Nri)rErdetachrrBdupr )rtr-to_closers rget_high_socket_fdTestCloseFds.get_high_socket_fds~ 5==?))+ +'')BHr'#VVBZr' Irc[(aA[R"[R[RUS9R 5 g[ R"U5 g)N)r )rErr SOCK_STREAMr rB)rtr-s rr TestCloseFds.closes5 5 MM&..&*<*.handlerrrreadyx)rar0rr r CONN_MAX_SIZE)rrr]rs r _test_ignoreTestIgnoreEINTR._test_ignoresR  fnng. ' IIK !  s0001rr0r3c[R"5up[R"URU4S9nSUlUR 5 UR 5 URUR5S5 [R"S5 [R"UR[R5 [R"S5 UR!S5 URUR5S5 [R"S5 [R"UR[R5 URUR#5SUR$-5 [R"S5 UR'5 UR 5 g!UR 5 f=f)NrTrB rirC )rr rrE rrr ror rr(rBrorrar0rrrD rrMs r test_ignoreTestIgnoreEINTR.test_ignores*//1 ''t/@/@.8]> * JJsO IIdO   TYY[$ / JJsO GGAEE6>> *   T__.t7I7I0I J JJsO FFH JJLDJJLs F F55Gc<Sn[R"[RU5 [RR 5nUR UR 5 UR5nUR S5 SSS5 g!,(df  g=f)Ncgrr\r? s rr]6TestIgnoreEINTR._test_ignore_listener..handlerrrwelcome)rar0rr[r]rrrc)rrr]rrs r_test_ignore_listener%TestIgnoreEINTR._test_ignore_listeners`  fnng.  ' ' 0 0 2a IIaii  A FF9 3 2 2s =B  Bc[R"5up[R"URU4S9nSUlUR 5 UR 5 UR5n[R"S5 [R"UR[R5 [R"S5 [RR!U5nUR#UR5S5 UR%5 UR 5 g!UR 5 f=f)NrTrrM )rr rrN rrr r rr(rBrorrar0r[rbror)rtrrrrrjs rtest_ignore_listener$TestIgnoreEINTR.test_ignore_listeners*//1 ''t/I/I.8]> * JJsO$//66w?F   V[[]I 6 FFH JJLDJJLs DD++D=r\N)rzr{r|r}maxr PIPE_MAX_SIZE SOCK_MAX_SIZErD rrE rFrr`rarH rN rQ rr\rrr< r< s--w/D/DEM2235GHI,35GHIrr< c\rSrSr\S5rSrSrSrSr Sr Sr \ R"\RS :HS 5\"S 5S 55r\S 5r\S5rSrSrg)TestStartMethodicLUR[R"55 gr)rrrPrs r_check_contextTestStartMethod._check_contexts /2245rc:URSS9up#URURU4S9nUR5 UR 5 UR 5nUR 5 UR 5 URXQR55 g)NFrr) r rrY rr r rrorP)rtrwrr'r child_methods r check_contextTestStartMethod.check_contextstxxux% KKt22!K >    vvx     ';';'=>rcSHn[R"U5nURUR 5U5 UR UR5U5 UR [URS5 UR [URS5 URU5 M g![a Mf=f)NrkrNrrN) rrrErorPrrprnr] )rtmethodrws rrTestStartMethod.test_contexts5F %11&9   S113V < MM#//+S 1   j#*>*> H   j#*>*> E   s #6  sB55 CCc[R"S5nUR [ S5 UR/SQ5 SSS5 g![a [R"S5ef=f!,(df  g=f)Nrzforkserver should be availablez&module_names must be a list of stringsr3)rrrErFrGrrset_forkserver_preload)rtrws rtest_context_check_module_types/TestStartMethod.test_context_check_module_types+sn F!--l;C # #I/W X  & &y 1Y X F##$DE E F X XsA A/ !A,/ A=c>[R"[5 Sn[R"5nSGHn[R"USS9 UR [R"5U5 [R"5nUR UR5U5 UR[U5RR5RU55 URURRR5RU55 UR[5 US- nGM [R"USS9 URUS5 g![ a GMLf=f![R"USS9 f=f)Nrr` Trir)rrd PRELOADrPrnrErorrr6rzlowerrvrr] r)rtr old_methodra rws r test_set_getTestStartMethod.test_set_get3sB..w7$557  E9#44V4H  !A!A!CVL%113  !5!5!7@S 2 2 8 8 : E Ef MNKK((..0;;FCE""?3 :  , ,Zt D q)"  , ,Zt Ds/FE3C ?> 64L"1"G"G"I'33LAGGI-99.I ''{%'J  #J4 ?>s -D D/ c&URS5 grr)rr#s r_put_one_in_queue!TestStartMethod._put_one_in_queueus  ! rcURS5 [R"URU4S9nUR 5 UR 5 gr})rrrr~ rr)rr#r&s r_put_two_and_nest_once&TestStartMethod._put_two_and_nest_onceys9 ! !))1F1FeXV  rc[R"5n[R"URU4S9nUR 5 UR 5 /nUR 5(d6URUR55 UR 5(dM6UR[U5[SS/55 g)Nrr.r) rrrr rrr>rrassertSetEqualr)rtr#r&rs rtest_nested_startmethod'TestStartMethod.test_nested_startmethods %%'!))1L1LTYS[\  ++-- NN599; '++-- CL#q!f+6rr\N)rzr{r|r}rrY r] rre rk rp rt rFrrrr]r{ r~ r r rr\rrrW rW s66? $2*,H B__S\\W,AC !<=>C& 7rrW rAc\rSrSrSrSrSrSr\R"\ RRS5S5S5r \S 5rS rS rS rS r\R("\"\S5S5S5rSrg)TestResourceTrackeric Sn[RGHnURUS9 US;a SSS5 M%[R"5up4[ R "[RSSURXBS9/U/[ RS9n[R"U5 [USS S 9nUR5R5RS 5nUR5R5RS 5nSSS5 [!WU5 UR#5 UR%5 S US 3n [&R("[&R*U 5Hn [!WU5 M UR6R95RS5n UR6R5 SRU5n UR;X5 UR;U SU-5 SSS5 GM g!,(df  GN=f![,aFn UR/U R0[0R2[0R445 Sn A MSn A ff=f!,(df  GMl=f)Naif 1: import time, os import multiprocessing as mp from multiprocessing import resource_tracker from multiprocessing.shared_memory import SharedMemory mp.set_start_method("spawn") def create_and_register_resource(rtype): if rtype == "semaphore": lock = mp.Lock() return lock, lock._semlock.name elif rtype == "shared_memory": sm = SharedMemory(create=True, size=10) return sm, sm._name else: raise ValueError( "Resource type {{}} not understood".format(rtype)) resource1, rname1 = create_and_register_resource("{rtype}") resource2, rname2 = create_and_register_resource("{rtype}") os.write({w}, rname1.encode("ascii") + b"\n") os.write({w}, rname2.encode("ascii") + b"\n") time.sleep(10) )r-)noopdummyrr~)r'r-)pass_fdsrr<T)r)rzA z< resource was leaked after a process was abruptly terminatedrz8resource_tracker: There appear to be 2 leaked {} objectszresource_tracker: %r: \[Errno)r)r+rrBpiperrrrrrr r rr8rr.r"r rrr+rrqrENOENTEINVALrr!rQ)rtrr-rr'rr#name1name2rrr7rurs rtest_resource_tracker)TestResourceTracker.test_resource_trackers :&44EE*-- +* wwy$$cnn%)4a1M&O/0c,6OO= !T40AJJL//188AEJJL//188AE1!. w'12 //0E0E29;A(6;hhmmo,,W5 &&,f!'#  /  &F&NOI+*510# agg ell/KL 1+*sVI/AA>I/ H I/ I, &:I' I/'I, ,I// I? cSSKJn URnUbI[R"U[ R 5 [R"U[ R *S9 [R"5 [R"S5 UR5 SSS5 URn[R"XA5 [R"S5 [R "S5n[R"SS9n[R"S 5 UR#5nUR%5 UR'5 [(R*"U5nA[,R."5 UR1U"55 U(aqUR3[5U5S 5 USn UR7[9U R:[<55 UR7S [?U R@5;5 OUR3[5U5S5 SSS5 g!,(df  GN=f!,(df  g=f) Nr_resource_tracker)rrrrNT)r7alwaysrzresource_tracker: process died)! multiprocessing.resource_trackerr rrBrorarpr wait_processrrrrrr(rrrrrrrrrr rorr issubclassr UserWarningrrrm) rtr should_dier rrwall_warnrrthe_warns rcheck_resource_tracker_death0TestResourceTracker.check_resource_tracker_deaths G$$ ? GGC (   ?  $ $ &  ! !( +  , , .' $$  3))'2  $ $D 1X  ! !( +--/C KKM KKMS!B JJL   bd #  X2#A; 8+<+?rcSH*nURUS9 URUS9 SSS5 M, g!,(df  M>=f)zt Test the exit code of the resource tracker. If no leaked resources were found, exit code should be 0, otherwise 1 )TF)r N)rr )rtr s rtest_resource_tracker_exit_code3TestResourceTracker.test_resource_tracker_exit_codeJsA %Gg.::#;/.%..s 2 A pthread_sigmaskz pthread_sigmask is not availablec SSKJn [R"[R[ 55n[R [R[R1nUHn[R"[RU15 UR[R"[R[ 55U15 U"5nUR5 UR[R"[R[ 55U15 UR5 M [R"[RU5 g![R"[RU5 f=f)Nrr ) r r rar SIG_BLOCKrrhrr0 SIG_SETMASKrorr )rtr orig_sigmasksignalssigr s r%test_resource_tracker_blocked_signals9TestResourceTracker.test_resource_tracker_blocked_signalsVs E--f.>.>F >>6==&..A E&&v'9'9C5A  !7!78H8H#%!PSVRWX)+&&(  !7!78H8H#%!PSVRWX    " "6#5#5| DF " "6#5#5| Ds $CE'Fr\N)rzr{r|r}r r r r rFrrrrvr rr r r r r rr`rar rr\rrr r sFPP#3J@A__S\\,,X6bd@d@4$E@* ):;=_`EaErr cn\rSrSr\S5rSrSrSr\ RRS5r Sr g) TestSimpleQueueikcUR5 URUR55 URUR55 UR5 g!UR5 f=fr)r rr>rr[s r _test_emptyTestSimpleQueue._test_emptymsQ & IIekkm $ IIekkm $  # # %  # # %s >A!!A3c[R"5nUR5 UR[S5 UR 5 SSS5 g!,(df  g=f)Nr)r SimpleQueuer rrr>rjs rtest_empty_exceptions%TestSimpleQueue.test_empty_exceptionsws@  ' ' )   # #G[ 9 GGI: 9 9s A A$c[R"5n[R"5n[R"5n[R"URXU4S9nSUlUR 5 URUR55 UR5 UR5 URUR55 URUR5S5 URUR5S5 URUR55 UR5 g)NrTF)rr r3rr rrrr>rr rrorr)rtr#rJrKrs r test_emptyTestSimpleQueue.test_emptys++-)//1-335&&##*=>     &  " ' d+ e,  & rcn[R"5nUR5 UR5 gr)rr r rtr#s rrTestSimpleQueue.test_closes"++-  rc[R"5nUR5 URURR 5 URUR R 5 gr)rr r r_readerrS_writerr s r test_closedTestSimpleQueue.test_closedsE++-   ,,-  ,,-rr\N)rzr{r|r}rr r r rrr cpython_onlyr rr\rrr r ksA&&0 \\..rr c\rSrSrSrSrg)TestPoolNotLeakOnFailureic^^Sm/m"UU4SjS5nUR[S5 [RR S[ R RUS9S9nUR5 UR5 SSS5 UR[ST555 g!,(df  N0=f) Nr4c@>\rSrSrU4SjrU4SjrSrSrSrSr g) RTestPoolNotLeakOnFailure.test_release_unused_processes..FailingForkProcessicR>SUlSUlSUlTRU5 g)Nz Fake Process)r,rr'r)rtrRforked_processess rr[TestPoolNotLeakOnFailure.test_release_unused_processes..FailingForkProcess.__init__s&* $ !  ''-rc@>TS::a [S5eTS-mSUlg)NrManually induced OSErrorrry)rr')rt will_fail_ins rrXTestPoolNotLeakOnFailure.test_release_unused_processes..FailingForkProcess.starts(1$!"<==! & rcSUlg)Nstoppingr&rs rr"\TestPoolNotLeakOnFailure.test_release_unused_processes..FailingForkProcess.terminates ' rc4URS:XaSUlgg)Nr stoppedr&rs rrWTestPoolNotLeakOnFailure.test_release_unused_processes..FailingForkProcess.joins::+!*DJ,rcLURS:H=(d URS:H$)Nryr r&rs rr[TestPoolNotLeakOnFailure.test_release_unused_processes..FailingForkProcess.is_aliveszzY.J$** 2JJr)rr,r'N) rzr{r|r}rrr"rrr)r r srFailingForkProcessr s .  ' ( + Krr r r)r)contextc3@# UHoR5v M g7frrk)r]r&s rr^ITestPoolNotLeakOnFailure.test_release_unused_processes..sC2Bw  ""2Brm) rrrrrrFr2 MagicMockr rrr)rtr rr r s @@rtest_release_unused_processes6TestPoolNotLeakOnFailure.test_release_unused_processess  K K0 # #G-G H$$))!X]]5L5L*6M6,)-A GGI FFH I  C2BC C E I Hs AB// B=r\N)rzr{r|r}r rr\rrr r s$Err c\rSrSrSr\R RrSr Sr \ S5r \ r SrSr\ S5rS r\ S 5rS&S jr\ S 5rS&S jr\ S5rS'SjrSr\ S5rSr\ S5rSr\ S5rSr\ S5rS(Sjr Sr!\ S5r"Sr#\ S5r$Sr%\ S5r&Sr'\ S 5r(S!r)\ S"5r*S#r+S$r,g%))TestSyncManagerTypesia9Test all the types which can be shared between a parent and a child process by using a manager which acts as an intermediary between them. In the following unit-tests the base type is created in the parent process, the @classmethod represents the worker process and the shared object is readable and editable between the two. # The child. @classmethod def _test_list(cls, obj): assert obj[0] == 5 assert obj.append(6) # The parent. def test_list(self): o = self.manager.list() o.append(5) self.run_worker(self._test_list, o) assert o[1] == 6 cpUR5UlURR5 SUlgr) manager_classrrrrs rrTestSyncManagerTypes.setUps)))+   rcURbSURR5(a4URR5 URR5 URR 5 SUlSUlgr)rrr"rrrrs rrTestSyncManagerTypes.tearDownsZ 99 TYY%7%7%9%9 II   ! IINN    rc.[R"5 gr)r reap_childrenrKs rrTestSyncManagerTypes.setUpClasssrc[UR5 [n[R"5n[ R "USS9H'n[[R"55S::dM' g [R"5U- nS[ l [ R"S[R"5SUSS35 g) NFerrorrT"multiprocessing.Manager still has  active children after .1frX) r'rWAIT_ACTIVE_CHILDREN_TIMEOUTrrrrrrr5environment_altered print_warning)rtr5 start_timerr8s rwait_proc_exit#TestSyncManagerTypes.wait_proc_exits TYY.^^% ''u=A?2245:>!J.B*.G '  ! !$F%4%D%D%F$GH;;=c((#L Mrc[R"X4S9UlSURlURR 5 UR 5 UR URRS5 g)NrTr)rrrrrr ror)rtworkerros r run_workerTestSyncManagerTypes.run_workersV#++6H     ++Q/rcUR5(deUR5 UR5 URS5 gNr)rr rrros rrK TestSyncManagerTypes._test_events/zz|||    rcURR5nUR5 URURU5 UR 5(aeUR S5 gr )rr3rr rKrr rtr4s rrNTestSyncManagerTypes.test_eventsL LL     ((!,88::~ u rc$UR5 grrr s r _test_lockTestSyncManagerTypes._test_lock#  rc[URU5"5nURURU5 UR 5 UR [ UR5 gr)rrr r# rrpr\rtlnamer4s rrTestSyncManagerTypes.test_lock'sD DLL% ( * +  , 2rcDUR5 UR5 grrrr s r _test_rlock TestSyncManagerTypes._test_rlock-  rcr[URU5"5nURURU5 gr)rrr r, r' s rrTestSyncManagerTypes.test_rlock2s) DLL% ( * ((!,rc$UR5 grr" r s rr$TestSyncManagerTypes._test_semaphore6r% rc[URU5"5nURURU5 UR 5 gr)rrr rr)rtsnamer4s rr#TestSyncManagerTypes.test_semaphore:s2 DLL% ( * ,,a0 rc"URSS9 g)Nr)r4 )rrs rr+TestSyncManagerTypes.test_bounded_semaphore?s "45rcDUR5 UR5 grr+ r s r_test_condition$TestSyncManagerTypes._test_conditionBr. rcpURR5nURURU5 gr)rrr r9 r s rtest_condition#TestSyncManagerTypes.test_conditionGs( LL " " $ ,,a0rcHURS:XdeUR5 gr)rrr s r _test_barrier"TestSyncManagerTypes._test_barrierKs{{a rcrURRS5nURURU5 gr)rrr r? r s rr!TestSyncManagerTypes.test_barrierPs* LL  # **A.rc>U SSS5 g!,(df  g=frr\r s r _test_poolTestSyncManagerTypes._test_poolTs SSs cnURRSS9nURURU5 g)Nrdr)rrr rD r s r test_poolTestSyncManagerTypes.test_poolZs+ LL    * +rc@UR5S:XdeUR5(deUR5(aeUR5S:XdeUR5(aeUR5S:XdeUR5(degNr.rrI)r?rCr>rr s r _test_queue TestSyncManagerTypes._test_queue^szyy{axxzzz99;;wwyA~~99;;wwyA~~yy{{{rc[URU5"S5nURS5 URS5 URURU5 UR 5(deUR 5(aegrJ )rrrr rK r>rC)rtqnamer4s r test_queueTestSyncManagerTypes.test_queuehsc DLL% ( + a a ((!,wwyyy6688|8rc&URS5 g)Nrs)rO rs rtest_joinable_queue(TestSyncManagerTypes.test_joinable_queueps (rc[R"5nURUSS5 URURS5S5 URUR S5S5 UR 5 UR 5 UHnM UR[U5S5 URURS5S5 g)Nrrr) rFTestCaserorrrreverserrR)rrocasers r _test_listTestSyncManagerTypes._test_listss  " Q# 1q) 1q)   A  S1% Q'rcURR5nURS5 URURU5 UR U5 UR [U5S5 g)Nrr)rrrr rX r_rorr s rrITestSyncManagerTypes.test_listsS LL      + Q Q#rcP[R"5nUR[U5S5 URUSS5 URUR S5S5 UR [ UR55S/5 UR [ UR55S/5 UR [ UR55S/5 URUR5SS05 URUR5S5 g)Nrrr)rr)rFrU rorrassertListEqualrrrbrassertDictEqualrassertTupleEqualpopitemrrorW s r _test_dictTestSyncManagerTypes._test_dicts  " S1% UQ' + T#))+. = T#((*-w7 T#**,/!5 SXXZ%4 ckkmZ8rcURR5nSUS'URURU5 UR U5 UR [ U5S5 g)Nrrr)rr`r rb r_rorr s rrdTestSyncManagerTypes.test_dictsQ LL   % + Q Q#rc[R"5nURURS5 URUR 5S5 UR S5 g)Nrr.)rFrU rorrrra s r _test_value TestSyncManagerTypes._test_valuesE  " A& A&  rcURRSS5nURURU5 UR UR S5 UR UR 5S5 g)Nrrr.)rrr rg rorrr s rrTestSyncManagerTypes.test_valuesV LL  sA & ((!, !$ !$rc[R"5nURUSS5 URUSS5 UR[U5S5 UR [ U5SS/5 g)Nrrr.)rFrU rorr] rra s r _test_array TestSyncManagerTypes._test_arraysd  " Q# Q# S1% T#YA/rcxURRSSS/5nURURU5 g)Nrrr)rr/r rl r s rr2TestSyncManagerTypes.test_arrays0 LL  sQF + ((!,rc[R"5nURURS5 URURS5 grj)rFrU rorrra s r_test_namespace$TestSyncManagerTypes._test_namespaces8  " " "rcURR5nSUlSUlUR UR U5 grj)rrrrr rq r s rr#TestSyncManagerTypes.test_namespaces6 LL " " $ ,,a0r)rrNr)r)r)-rzr{r|r}r~rrrr rrrrrr r rKrNr# rr, rrrrr9 r< r? rrD rG rK rO rR rX rIrb rdrg rrl r2rq rrr\rrr r s*$,,88M   MM$0 3 - 61/ ,) ( ($ 9 9$ % 00-## 1rr c0\rSrSr\"S5S5rSrg)TestNamedResourceizspawn specific test.cf[RnUR[RU5 [ USSS9nUR [ R"S55 SSS5 [R"U5up4nURXURS5S9 g!,(df  NF=f)Nr'rraW import multiprocessing as mp ctx = mp.get_context('spawn') global_resource = ctx.Semaphore() def submain(): pass if __name__ == '__main__': p = ctx.Process(target=submain) p.start() p.join() r) rrrrr r{textwrapdedentrrrrrtr"r#rrrus r test_global_named_resource_spawn2TestNamedResource.test_global_named_resource_spawns !!  ((&1 &# 0A GGHOO %  1%55f=  **W"561 0s &B"" B0r\N)rzr{r|r}r]r| rr\rrrv rv s !78797rrv c.\rSrSrSr\S5rSrSrg) _TestAtExitirc<^SSKnU4SjnURU5 g)Nrct>[TS5nURS5 SSS5 g!,(df  g=f)Nr'deadbeef)r r{)r# output_paths r exit_handler5_TestAtExit._write_file_at_exit..exit_handlers'k3'1 #(''s) 7)atexitr )rtr r r s ` r_write_file_at_exit_TestAtExit._write_file_at_exits $  %rc[R"5n[RR US5nUR UR U4S9nUR5 UR 5 [U5nURUR5S5 SSS5 SSS5 g!,(df  N=f!,(df  g=f)Nz output.txtrr ) rtemp_dirrBrrrr rr ror!)rtr r rr#s r test_atexit_TestAtExit.test_atexits    !X'',,x>K D$<$ RA GGI FFHk"a  :6# " ! #" " !s$A'C=!B/C/ B= 9C Cr\N) rzr{r|r}rrr r rr\rrr r s"M&&7rr c^\rSrSrSrS1rSS1rSrSr\ S5r S r \ S 5r S r S rg )_TestSpawnedSysPathiz>Test that sys.path is setup in forkserver and spawn processes.rrrNc[[R5Ul[R "SS9UlSUl[RRUR URS35n[USSS9nURS5 SSS5 [RVs/sH o3(dM UPM sn[RSS&[RRS UR 5 [RRS S 5 URURUR5 [ R""UR5Ulg!,(df  N=fs snf) Nztest_sys_path-)runique_test_modryr'rrz# A simple test module rr)rrr_orig_sys_pathtempfilemkdtemp _temp_dir _mod_namerBrr r{insertrqrSrrr_ctx)rt module_pathrrs rr_TestSpawnedSysPath.setUps"388n!))1AB*ggll4>>dnn5ES3IJ +sW 5 II0 16"%((0(Qaq(0  4>>* 2 d''););<#//0A0AB 6 50sE+- E<;E<+ E9c|UR[RSS&[R"UR SS9 g)NT) ignore_errors)r rrshutilrmtreer rs rr_TestSpawnedSysPath.tearDowns'))  dnnD9rcTUR[[R55 gr)rrrrr"s renq_imported_module_names-_TestSpawnedSysPath.enq_imported_module_names s % $%rcURR5S:waURS5 URUR[ R 5 [RRR5 URRSUR/5 URR5nURRURU4S9nUR5 UR!5 UR#5nUR%5 UR'URU5 g)Nrzforkserver specific test.r:r)r rPrr4r rrrrrr rd rrr rrrr rq)rtrrchild_imported_moduless r(test_forkserver_preload_imports_sys_path<_TestSpawnedSysPath.test_forkserver_preload_imports_sys_path s 99 % % '< 7 MM5 6 5""..446 (( 3T^^ D F IIOO yy  55QD!B  !"   dnn&<=rcUR[R5 [R"U5 URS5 g![ anURU5 SnAgSnAff=fr)rrr importlib import_module ImportError)r#mod_namers renq_sys_path_and_import+_TestSpawnedSysPath.enq_sys_path_and_importsQ #((   # #H - IIdO  IIcNN sA A.A))A.cURR5nURRURXR4S9nUR 5 UR 5 UR5nUR5nUR5 URSU5 URURU5 URUSS[RSS5 URUSUR3S9 g)Nrrrzchild could not import rx )r rrr r rrrr r4rqr rorrr )rtrrchild_sys_path import_errors rtest_child_sys_path'_TestSpawnedSysPath.test_child_sys_path's IIOO yy  331nn:M!O  uuw    ^, dnnn5 +SXXab\: ,.EdnnEU,VWr)r r r r N)rzr{r|r}r~rrrrrr r r r rr\rrr r sTH MM!7+M C:&&>  Xrr cB\rSrSrSr\"S5S5rSrSrSr g) MiscTestCasei7cZ[R"U[[RSS/S9 g)NSUBDEBUGr)extra not_exported)r check__all__rrrs r test__all__MiscTestCase.test__all__8s%T?/:Q:Q+5|*D Frrv c[R"SS5upnURUS5 URX3R S5S9 g)Nr~zif 1: import sys sys.executable = None assert "multiprocessing" not in sys.modules, "already imported!" import multiprocessing import multiprocessing.spawn # This should not fail rrrx )rrrorr)rtrrrus r,test_spawn_sys_executable_none_allows_import9MiscTestCase.test_spawn_sys_executable_none_allows_import=sM %55  F  Q **W"56rc[RnUR[RU5 [ USSS9nUR [ R"S55 SSS5 [R"U5up4nURSURS5R55 URXURS5S9 g!,(df  Nu=f)Nr'rrz import multiprocessing def f(x): return x*x if __name__ == '__main__': with multiprocessing.Pool(200) as p: print(sum(p.map(f, range(1000)))) 332833500rx )rrrrr r{ry rz rrrorrrr{ s rtest_large_poolMiscTestCase.test_large_poolOs!!  ((&1 &# 0A GGHOO% 1%55f=  cjj&9&?&?&AB **W"561 0s &C Cc^^[R"5S:waURS5 [R"5m[R "U4SjSS9mU4Sjn[R "US9nUR5 UR[R5 URURS5 URTR5S 5 [T5 g) Nrkzfork specific testc&>TRS5$)Ndonerr@srr=MiscTestCase.test_forked_thread_not_started..is AEE&MrTrcF>TR5 TR5 gr)rr)rsrr :MiscTestCase.test_forked_thread_not_started..childks GGI FFHrrrr )rrPrrr;rrrrrr+rorr_r$)rtr rrrs @@rtest_forked_thread_not_started+MiscTestCase.test_forked_thread_not_startedas  + + - 7 MM. /  ! ! #   $9$ G   # #5 1   w$$% Q' 0Arr\N) rzr{r|r}r r]r r r rr\rrr r 7s,F !!<=7>7"7$rr c4\rSrSr\S5r\S5rSrg) BaseMixini|c[RRR5[RR54Ulgr)rr& _danglingrr;danglingrKs rrBaseMixin.setUpClass}s5'//99>>@!++0024 rc[RR5 [[R R 5[URS5- nU(a.S[Rl[R"SU35 Sn[[R 5[URS5- nU(a.S[Rl[R"SU35 Sng)NrTDangling processes: rDangling threads: ) rrr2rrr&r r r r r;)rrrs rrBaseMixin.tearDownClasss !//99:Sa=QQ /3DLL ,  ! !$8 "D E i))*Sa-AA /3DLL ,  ! !$6wi"@ Arr\N)rzr{r|r}rrrrr\rrr r |s(44rr c\rSrSrSr\R r\Rr\"\R5r \"\R5r \"\R5r \"\R5r \"\R5r \"\R5r\"\R5r\"\R 5r\"\R"5r\"\R$5r\"\R&5r\"\R(5r\"\R*5r\"\R,5r\"\R.5r\"\R05r\"\R25r\"\R45r\"\R65rSrg)rCirr\N)rzr{r|r}rrrr[rrr r5rrr rrsrrrrrr3rrr/r r.rr\rrrCrCsN D%%G ++J"?#B#BCO!/"@"@AN"?#B#BCO!/"@"@AN ,, -D ,, -D .. /E !>!>?M ,, -D .. /E_667I#O$D$DE_667I .. /E?223G .. /E .. /EO445HO445HrrCc^\rSrSrSr\R r\"\R"S55r \"\R"S55r \"\R"S55r \"\R"S55r \"\R"S55r\"\R"S55r\"\R"S 55r\"\R"S 55r\"\R"S 55r\"\R"S 55r\"\R"S 55r\"\R"S55r\"\R"S55r\"\R"S55r\S5r\U4Sj5r\U4Sj5rSrU=r$) ManagerMixinirz manager.Queuezmanager.JoinableQueuez manager.Lockz manager.RLockzmanager.Semaphorezmanager.BoundedSemaphorezmanager.Conditionz manager.Eventzmanager.Barrierz manager.Valuez manager.Arrayz manager.listz manager.dictzmanager.Namespacec:URR"U0UD6$r)rr)rrQrs rrManagerMixin.Pools{{...rcV>[TU]5 [R"5Ulgr)rrrrrrs rrManagerMixin.setUpClasss %--/ rc>[n[R"5n[R"USS9H'n[ [ R"55S::dM' OV [R"5U- nS[l[R"S[ R"5SUSS35 [R"5 URR5S :waYS[Rl[R"S 5 [R"URR55 URR!5 URR#5 SUl [$TU]M5 g) NFr rTr r r rXrz5Shared objects which still exist at manager shutdown:)r rrrrrrr5r r rrr_number_of_objectsr _debug_inforrrr)rr5r rr8rs rrManagerMixin.tearDownClasss% /^^% ''u=A?2245:>!J.B*.G '  ! !$F%4%D%D%F$GH;;=c((#L M ;; ) ) +q 004DLL ,  ! !#9 :  ! !#++"9"9"; <    rr\)rzr{r|r}rrrroperator attrgetterrrsrrrrrr3rrr/rr`rrrrrrrDrEs@rr r sz D%%G X((9 :EX001HIJM H''7 8D X((9 :E,,-@ABI 3 34N OP,,-@ABI X((9 :Ex**+<=>G X((9 :E X((9 :E H''7 8D H''7 8D,,-@ABI//00  rr c\rSrSrSr\R Rr\R Rr\ "\R R5r \ "\R R5r \ "\R R5r \ "\R R5r \ "\R R5r\ "\R R5r\ "\R R 5r\ "\R R"5r\ "\R R$5r\ "\R R&5r\ "\R R(5r\ "\R R*5r\ "\R R,5r\ "\R R.5r\ "\R R05rSrg) ThreadsMixinirr\N)rzr{r|r}rrr rr[rrr5rr rrsrrrrrr3rrr/rr\rrr r st D##++G &&11J"?#8#8#H#HIO"?#8#8#H#HIO --22 3D --22 3D ..44 5E !6!6!D!DEM --22 3D ..44 5E_22<<=I#O$9$9$J$JK_22<<=I ..44 5E?00889G ..44 5E ..44 5Err c ^^^USn[5n1SknUR5GHupx[U[5(dM[ U[ 5(GaU[ LaM>[ UR5U::dUR5eUR(aTUR;aMURHn U(aX:waMU(aMSU R5-USS-n XYR5S-n "SSX[R5n U S:Xa[R"S 5"U 5n U =U lU lXLlTU lXU 'M GMA[ U[R5(dGMcU(aGMm"S SU[$5n U=U lU lXLlXU'GM SS/mS/mUUU4S jn UU4S jnXS 'XS'g)Nrz>rrrWithrMixinc\rSrSrSrg)*install_tests_in_module_dict..Tempir\Nrr\rrTempr srr rrc\rSrSrSrg)r i$r\Nrr\rrr r $src>[R"[5 [RR 5 [RR R 5TS'[R R 5TS'[R"SS9TS'[R"TSS9 [RRS5(a[R "5n[%5 [&R("5 [R*"5R-[.5 g![a [R"TS-5ef=f!["a [R"S5ef=f) NrrTrgriz start method not supportedlinuxz1OSError raises on RLock creation, see issue 3111!)rrd rh r&_cleanupr rr;rPrnrErFrGrrrvrrrJr get_temp_dirrrr )rr old_start_methodrSs r setUpModule1install_tests_in_module_dict..setUpModule-s5..w7((*%--77<<> ))..0 ->>$O C  , ,\ F << " "7 + + ;&,,. ! ""$--i8 C##L$A%BC C C ;''):;; ;sD5E5$E!E=c>Sn[RR5 [R"TSSS9 [ [R R5[ TS5- nU(a0SnS[Rl[R"SU35 Sn[ [R5[ TS5- nU(a0SnS[Rl[R"SU35 SnU(a[R"S5 [RR5 g) NFrTrir rr r)rrr2rrnrr&r r r r;rr(r_cleanup_tests) need_sleeprrr r s rtearDownModule4install_tests_in_module_dict..tearDownModuleCs  !(()9!).SemLockiir\Nrr\rrr r irrr ztest_semlock_subclass-rrr_F)r r rBr sem_unlink)rtr r,rs rtest_semlock_subclass"SemLockTests.test_semlock_subclasshsG &.. ' }5 Aq"dE *##D)rr\N)rzr{r|r}r rr\rrr r ds*rr )r3Nr)rF unittest.mockr#rRry rrrrrBrr rrXrar0rrrr rrZr r rVrr test.supportrtest.support.script_helperrrrrrrr r r r *skip_if_broken_multiprocessing_synchronizer;rrmultiprocessing.dummymultiprocessing.heapmultiprocessing.managersr^multiprocessing.queuesr rrHAVE_SEND_HANDLErUr multiprocessing.sharedctypesrrrGr HAS_SHMEMr2HAVE_ASAN_FORK_BUGrGr6rr$r'r,r)r.rr rrrTrUrVr+rr r HAVE_GETVALUErrEr6rCrCrh ctypesr;r<r=r>rrJr]rU r_rrrrrrrrrArErGrrrrIrVrqrsrrrr'rCrrrrrrErrrrIrNrPrerrrrrrrr rrrrrrrrr rrrrrrWrtrrrrrrr rrrr.r>rGrjr|r~rrrrrrrrrr r r r( r< rW rr r r r rv r r r r rCr r r r`r r\rrr s:         !'&"&&)(!../AB224!+ )..M8-I     ] ^^   * 77g05 OO   #2 Hh#0 Hh((",6??   #  JJ} %E = > )== K2LX..L@ 0F 0"6< *  Z 8<Z 8B /)) ,Q7lQ7n $QQl O Od3@\3@ll\l^ 5W5W@&&. 6F6rx1<x1|C3C3LM3M3fY/lY/~$ $F$%:$u! u!n &L&PB lB PIHV,I,   56* 56;? 53-@4>\4>v /;/ kI6KKK {# ..b##H-22,22.22j))%H--%D 9G/lG/R78L78t.,.`L Ld ]$JK##H-@|@.L@Lb bP 9 5) 5)p Y HI##H- .JJuLux%h''%VB<Bx6\6DE))E&##H-5!!5.5<##E*##H-5H--5.+5N##H-*x((*.*<  *'!2!2'*gx  gZ B)) B 8!!8H28$$2D 'X&& '"1h//1><:8$$<:DAh''AF7h''7D (=?UE(++UE?UEn9.h''9.x&Ex00&ER##H-l18,,l1.l1^7))747,7.CX,CXL>8$$>J26Y629 99 x6962@E_4D W-y99;RS (,7*8$$*8T*QQM  I  FP E)I$((E(Hz)sf-` `" `1a3a a``"`.-`.1`=<`=a  a aa+*a+