$ySSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJrJ r SSKJ r SSKJ r \ R"SS9 \ R"SS/S 9r\ R"SS/S 9r\R "\S 5rS rS r"SS\R(5r"SS5r"SS\5r"SS\5r"SS\\R25r\"SS\\R255r"SS\5r"SS\\R25r\"SS\\R255r"S S!\5r"S"S#\\R25r \"S$S%\\R255r!"S&S'\"5r#"S(S)\5r$"S*S+\$\R25r%\"S,S-\$\R255r&"S.S/5r'"S0S1\'\R25r(\"S2S3\'\R255r)\*S4:Xa\RV"5 gg)5N) gc_collect bigmemtest) import_helper)threading_helperT)modulequeue_queue)blocked)freshzNo _queue module foundchURS:=(a UR5UR:H$Nr)maxsizeqsizeqs 6/opt/alt/python313/lib64/python3.13/test/test_queue.pyqfullrs$ 99q= 3QWWY!))33c \rSrSrSrSrSrg)_TriggerThreadcXlX l[R"5Ul[R R U5 gN)fnargs threadingEvent startedEventThread__init__)selfrrs rr!_TriggerThread.__init__s/ %OO-!!$'rc[R"S5 URR5 UR"UR 6 g)N皙?)timesleeprsetrrr"s rrun_TriggerThread.run"s1 3  r)rrrN)__name__ __module__ __qualname____firstlineno__r!r*__static_attributes__rrrrs ( rrc \rSrSrSrSrSrg)BlockingTestMixin;c.[X45nUR5 U"U6UlURR 5(dUR SU-5 UR[ R"U5 $![ R"U5 f=f)Nz*blocking function %r appeared not to block)rstartresultris_setfailr join_thread)r" block_func block_args trigger_func trigger_argsthreads rdo_blocking_test"BlockingTestMixin.do_blocking_test=sw ;  1$j1DK&&--// F$%&;;  ( ( 0  ( ( 0s AA<<Bc[X45nUR5 U"U6 URSU-5 [R"U5 UR R 5(dURS5 gg!Ua ef=f![R"U5 UR R 5(dURS5 ff=f)Nzexpected exception of kind %rz(trigger thread ended but event never set)rr6r9rr:rr8)r"r;r<r=r>expected_exception_classr?s rdo_exceptional_blocking_test.BlockingTestMixin.do_exceptional_blocking_testKs ;  F ;J' 9!9:;  ( ( 0&&--// DE0,    ( ( 0&&--// DE0sBB BB A C)r7N)r,r-r.r/r@rDr0r1rrr3r3;s  1Frr3c.\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrSrSrSrS1SjrSrSrS1SjrSr S1Sjr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0S/r1g0)2BaseQueueTestMixin]cFSUl[R"5Ulgr)cumrLockcumlockr)s rsetUpBaseQueueTestMixin.setUp^s ~~' rcUR5(a [S5eURUR55 UR UR 55 UR S5 UR S5 UR S5 [/SQ/SQ/SQS9nUR5UR5UR5/nURX2URRS 5 [[S - 5H4nUR U5 URUR5S 5 M6 UR[U5(+S 5 S [-nS[-nUR U5 UR[U5S5 UR UR55 URUR 55 UR USS9 URS5 UR USS9 URS5 UR%UR U4URS5 UR%UR USS4URS5 [[5HnUR5 M URUR5(+S5 URSS9 URS5 URSS9 URS5 UR%URSUR S5 UR%URSUR S5 g!UR R"a GNqf=f!UR R"a GNpf=f!UR R&a Nf=f!UR R&a Nf=f)N&Call this function with an empty queueoM)rQrRrS)rSrRrQ)rQrSrR)Queue LifoQueue PriorityQueuez&Didn't seem to queue the correct data!Queue should not be emptyQueue should not be fullQueue should be fullrblockz(Didn't appear to block with a full queueg{Gz?timeoutz+Didn't appear to time-out with a full queuer1T Queue should be emptyz*Didn't appear to block with an empty queuez-Didn't appear to time-out with an empty queueempty)Tra)r RuntimeError assertTruerd assertFalsefullputdictget assertEqual __class__r,range QUEUE_SIZErr9rFullr@Empty)r"r target_order actual_orderilastrhs rbasic_queue_test#BaseQueueTestMixin.basic_queue_testbs 7799GH H  " " c  c  c O(7,;= !%%'2  AKK4H4H'IA Cz!|$A EE!H OOAGGI'B C% E!H &@A:~z! d  a"89 # !  EE$aE II@ A  EE$E % IIC D aeedWaeeR8 aeedD"%5quubAz"A EEG# AGGI '>?  EEEN IIB C  EE$E  IIE F aeeR ; aeeZ C5zz    zz   zz    zz   sH"!M!M8 N& N9M54M58NNN65N69OOcUR5nUS:aUR5 gUR U=RU- slSSS5 UR5 Mc!,(df  N =fr)rk task_donerLrJ)r"rxs rworkerBaseQueueTestMixin.workersRA1u A  KKM s A%% A3cSUl/nSHDn[R"URU4S9nUR 5 UR U5 MF [ S5HnURU5 M UR5 URUR[[ S55S5 SHnURS5 M UR5 UHnUR5 M g)Nr)rrWtargetrdz0q.join() did not block until all tasks were done) rJrr r{r6appendrnrijoinrlsum)r"rthreadsrtr?s rqueue_join_test"BaseQueueTestMixin.queue_join_testsA%%T[[tDF LLN NN6 "sA EE!H  3uSz?K MA EE"I F KKMrcUR5nUR5 URS5 g![a gf=fNz(Did not detect task count going negative) type2testryr9 ValueErrorr"rs rtest_queue_task_done'BaseQueueTestMixin.test_queue_task_dones@ NN  B KKM II@ A   s4 AAcUR5nURU5 URU5 UR5 URS5 g![a gf=fr)rrryr9rrs rtest_queue_join"BaseQueueTestMixin.test_queue_joins^ NN  Q Q B KKM II@ A   sA A#"A#crUR[5nURU5 URU5 gr)rrorvrs r test_basicBaseQueueTestMixin.test_basics. NN: & a  a rc*UR[5nUR[5 UR SSS9 SSS5 UR[5 UR SSS9 SSS5 g!,(df  N==f!,(df  g=fNrWrr_)rro assertRaisesrrirkrs r&test_negative_timeout_raises_exception9BaseQueueTestMixin.test_negative_timeout_raises_exceptionsi NN: &   z * EE!RE +   z * EE!RE + *+ * * *sA3B3 B BcUR[5n[[5HnURS5 M UR UR R 5 URS5 SSS5 [[5HnUR5 M UR UR R5 UR5 SSS5 g!,(df  Ns=f!,(df  g=f)NrW) rrorn put_nowaitrrrp get_nowaitrqr"rrts r test_nowaitBaseQueueTestMixin.test_nowaits NN: &z"A LLO#   tzz / LLO0z"A LLN#   tzz// 0 LLN1 0 0 / 1 0s"C!C2! C/2 DcURS5nURS5 URS5 URS5 URURR5 UR S5 SSS5 UR UR5S5 SUlURURR5 UR S5 SSS5 g!,(df  Nu=f!,(df  g=f)NrWrZ) rrirrrprrlrrrs rtest_shrinking_queue'BaseQueueTestMixin.test_shrinking_queues NN1  a a a   tzz / LLO0 A&   tzz / LLO0 / 0 /0 /s*C+C<+ C9< D cUR5nUR5 URURR5 UR S5 SSS5 URURR5 UR 5 SSS5 g!,(df  NM=f!,(df  g=fNdata)rshutdownrrShutDownrirkrs rtest_shutdown_empty&BaseQueueTestMixin.test_shutdown_emptysx NN    tzz22 3 EE&M4   tzz22 3 EEG4 34 3 3 3sBB0 B-0 B>c$UR5nURS5 UR5 UR5 UR UR R 5 UR5 SSS5 g!,(df  g=fr)rrirrkrrrrs rtest_shutdown_nonempty)BaseQueueTestMixin.test_shutdown_nonemptysX NN  f      tzz22 3 EEG4 3 3s 'B BcUR5nURS5 URSS9 URURR 5 UR 5 SSS5 g!,(df  g=f)NrT immediate)rrirrrrrkrs rtest_shutdown_immediate*BaseQueueTestMixin.test_shutdown_immediatesT NN  f  T "   tzz22 3 EEG4 3 3s A00 A>c"UR5nURUR5 UR5 UR UR5 URSS9 UR UR5 URSS9 g)NTrF)rrg is_shutdownrrfrs r!test_shutdown_allowed_transitions4BaseQueueTestMixin.test_shutdown_allowed_transitions se NN  '   & T "  & U #rc~URS5nURS5 URS5 URU5 UR UR R 5 URS5 SSS5 UR UR R 5 URS5 SSS5 U(aUR UR R 5 UR5 SSS5 UR UR R 5 UR5 SSS5 UR [5 UR5 SSS5 UR5 gURUR5S5 UR5 URUR5S5 UR5 UR5 UR UR R 5 UR5 SSS5 UR UR R 5 UR5 SSS5 UR UR R 5 URSS5 SSS5 g!,(df  GN==f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  N=f!,(df  N=f!,(df  g=f) NrZLOEWLOTg?) rrirrrrrrkrrryrassertIn)r"rrs r#_shutdown_all_methods_in_one_thread6BaseQueueTestMixin._shutdown_all_methods_in_one_threads NN1  c  S 9   tzz22 3 EE#J4   tzz22 3 LL 4 ""4::#6#678""4::#6#67 8"":. / FFH MM!%%'4 ( KKM MM!%%'4 ( KKM FFH""4::#6#678""4::#6#67 8""4::#6#67dC 8714 3 3 38777..877777s`*J2)K/K-K(K:L LL.2 K K K%( K7: L  L L+. L<c$URS5$NFrr)s r'test_shutdown_all_methods_in_one_thread:BaseQueueTestMixin.test_shutdown_all_methods_in_one_thread:s77>>rc$URS5$NTrr)s r1test_shutdown_immediate_all_methods_in_one_threadDBaseQueueTestMixin.test_shutdown_immediate_all_methods_in_one_thread=s77==rc[SUS-5HnURUS45 M UR5 [US-U5HVnURUS45 Xt:XdMUR 5(aM5UR5 UR S5 MX g!URRa UR S5  gf=f)NrrZLOYDYDLOFT)rnriwaitrrrr8r()r"rnresultsi_when_exec_shutdownevent_shutdown barrier_startrts r_write_msg_thread$BaseQueueTestMixin._write_msg_thread@s q.12A EE1f+ 3 +Q.2A q&k" (%,,.."&&(NN4(3::&& u% s B$$+CCcFURS5 UR5 UR5 URS5 UR5 M$!URRa UR S5 gURR a NJf=fNTF)rkryrrrrrq)r"rrrs r_read_msg_thread#BaseQueueTestMixin._read_msg_threadXs d   e  ::&& t$::##  s!A+B B B cUR5 URU5 URUR5S:H5 gr)rrrr)r"rr event_endrs r_shutdown_thread#BaseQueueTestMixin._shutdown_threadhs. 9qwwyA~&rcDUR5 UR5 gr)rr)r"rrs r _join_threadBaseQueueTestMixin._join_threadms rc 6UR5n/n/n/n/nSnSnSn Sn X-n U S-n Xx-n U(aX- n [R"U 5n[R"5nURXrXXU44UR XX^44UR SX&X44/nU(aURURXU445 UHPunnn[U5H:nUR[R"UUS95 USR5 M< MR UHnUR5 M URSU;5 URURS5U5 U(a3UR!US/5 URUR#55 gg) Nrr[rZirWr~rT)rrBarrierrrrrrrrnr r6rrfrlcountassertListEqualrd)r"rrpsres_putsres_gets res_shutdown write_threads read_threads join_threadsnb_msgs nb_msgs_wwhen_exec_shutdownnpartiesrev_exec_shutdownlprocsfuncrrrtr?s r%_shutdown_all_methods_in_many_threads8BaseQueueTestMixin._shutdown_all_methods_in_many_threadsrs NN      , &!^ !/   $H!))(3 $??,  # #] ,>,95; < " "Lh2N O  " "A9I'U V   MM4,,l r)s r test_shutdown_immediate_put_join3BaseQueueTestMixin.test_shutdown_immediate_put_join`s&&t,,rc$URS5$rrAr)s rtest_shutdown_put_join)BaseQueueTestMixin.test_shutdown_put_joincs&&u--rcURS5n/n[R"5nURS5 URS5 UR UR UR 55 URXU44URXU44URX44URX444n/nUH;upgUR[R"XgS95 USR5 M= UR5 URS5 UHnUR5 M UR US/[U5-5 g)NrZrrr~rFT)rrrrirlr=rrr rr r6r(rrr) r"rrrrrrrrs r test_shutdown_get_task_done_join3BaseQueueTestMixin.test_shutdown_get_task_done_joinfs NN1  __  c  c  ++QWWY7 1'"2 3  1'"2 3 ZZ! & ZZ! &   !LD NN9++4E F BK   "  5A FFH 4&U"34rc^^UU4SjnUR5m/m[R"US9nUR5 TR SS9 UR SS9 UR UR55 UR[T5S5 URTSURR5 g) Nc>TRTR55 g![anTRU5 SnAgSnAff=fr)rrk Exception)errs rrk9BaseQueueTestMixin.test_shutdown_pending_get..gets9 "quuw' "q!! "s# AAA)rFrg$@r_rWr) rrr r6rrrgis_aliverlrassertIsInstancerr)r"rk get_threadrrs @@rtest_shutdown_pending_get,BaseQueueTestMixin.test_shutdown_pending_gets " NN %%S1  U #% ,,./ Wq) gaj$***=*=>r)rJrLN)F)2r,r-r.r/rMrvr{rrrrrrrrrrrrrrrrrrrrrrrrrr r rrrr#r'r+r.r3r7r:r>rBrErHrRr0r1rrrGrG]s(6Dr$B B!!   $!B?>)0 '  .'`A@/ 4, SD)(5.)(56)*5B-.52?rrGc(^\rSrSrU4SjrSrU=r$) QueueTesticX>URRUl[TU]5 gr)rrTrsuperrMr"rms rrMQueueTest.setUps))  rrr,r-r.r/rMr0 __classcell__rms@rrUrU rrUc\rSrSr\rSrg) PyQueueTestir1Nr,r-r.r/py_queuerr0r1rrr`r` Err`c\rSrSr\rSrg) CQueueTestir1Nr,r-r.r/c_queuerr0r1rrrere Errec(^\rSrSrU4SjrSrU=r$) LifoQueueTesticX>URRUl[TU]5 gr)rrUrrWrMrXs rrMLifoQueueTest.setUps--  rrZr[r]s@rrjrjr^rrjc\rSrSr\rSrg)PyLifoQueueTestir1Nrar1rrrnrnrcrrnc\rSrSr\rSrg)CLifoQueueTestir1Nrfr1rrrprprhrrpc(^\rSrSrU4SjrSrU=r$)PriorityQueueTesticX>URRUl[TU]5 gr)rrVrrWrMrXs rrMPriorityQueueTest.setUps11  rrZr[r]s@rrrrrr^rrrc\rSrSr\rSrg)PyPriorityQueueTestir1Nrar1rrrvrvrcrrvc\rSrSr\rSrg)CPriorityQueueTestir1Nrfr1rrrxrxrhrrxc\rSrSrSrg)FailingQueueExceptionir1Nr,r-r.r/r0r1rrrzrzsrrzc4^\rSrSrU4SjrSrSrSrU=r$)FailingQueueTesticx>^URRm"U4SjST5nXl[TU]5 g)Nc:>\rSrSrU4SjrU4SjrU4SjrSrg),FailingQueueTest.setUp..FailingQueueicH>SUlSUlTR"U/UQ76 gr) fail_next_put fail_next_getr!)r"rrTs rr!5FailingQueueTest.setUp..FailingQueue.__init__s$%*"%*"t+d+rcl>UR(aSUl[S5eTRX5$NFzYou Lose)rrzr)r"itemrTs rr1FailingQueueTest.setUp..FailingQueue._puts.%%).D&/ ;;zz$--rcl>UR(aSUl[S5eTRU5$r)rrzr)r"rTs rr1FailingQueueTest.setUp..FailingQueue._gets.%%).D&/ ;;zz$''r)rrN)r,r-r.r/r!rrr0)rTsr FailingQueuers , .  ( (rr)rrTrrWrM)r"rrTrms @rrMFailingQueueTest.setUps/    (5 ( )  rcUR5(a [S5e[[S- 5HnUR U5 M SUlUR SSS9 UR S5 SUlUR SSS 9 UR S5 UR S 5 UR[U5S 5 SUlURURS URS 5 UR S5 UR S 5 SUlURURSURS [5 UR S5 UR S 5 UR[U5S 5 UR5 UR[U5(+S5 UR S 5 UR[U5S 5 URURS URS 5 [[5HnUR5 M URUR5(+S5 UR S5 SUl UR5 UR S5 URUR5S5 SUl URSS 9 UR S5 URUR5S5 UR5 URUR5(+S5 SUl URURS URS[5 UR S5 URUR5S5 UR5 URUR5(+S5 g![a GNhf=f![a GNPf=f![a GNf=f![a GNf=f![a GNf=f![a GNSf=f![a Nf=f)NrPrWToopsrr]z)The queue didn't fail when it should haver%r_rur\)rhr1)rhTrarYrbfirstrXrc)rrernrorirr9rzrfrr@rkrDrrs rfailing_queue_test#FailingQueueTest.failing_queue_testsn 7799GH Hz!|$A EE!H%  EE&E " IIA B  EE&#E & IIA B f  a"89   ! !!%%AEE2 > IIA B f    - -aee5GPR.C E IIA B f  a"89  E!H &@A f  a"89 aeeYr:z"A EEG# AGGI '>? g  EEG IIA B  #>?  EE#E  IIA B  #>?  AGGI '>?   - -aeeR .C E IIA B  #>?  AGGI '>?K%    %   %   %   *%   %   %   s~!OP5!P> P$;>P5 OO O.-O.1 O?>O? PP P! P!$ P21P25 QQcrUR[5nURU5 URU5 gr)rrorrs rtest_failing_queue#FailingQueueTest.test_failing_queue/s0   j ) " "r)r) r,r-r.r/rMrrr0r\r]s@rr}r}s0O@b##rr}c\rSrSr\rSrg)PyFailingQueueTesti9r1Nrar1rrrr9rcrrc\rSrSr\rSrg)CFailingQueueTesti=r1Nrfr1rrrr=rhrrc\rSrSrSrSrSrSrSrSr Sr S r S r \ "S S S S9S5r\ "S S S S9S5r\ "S S S S9S5rSrSrg)BaseSimpleQueueTestiBc.UR5Ulgr)rrr)s rrMBaseSimpleQueueTest.setUpDs!rcUR5nURU5 UR5S:a'[R "UR5S-5 M_![a URU5 gf=f)Ng?MbP?)pop IndexErrorrirandomr&r')r"rseqrndsentinelvals rfeedBaseSimpleQueueTest.feedGsk ggi EE#Jzz|c! 3::<$./ h sA!!A?>A?cVUR5nXC:XagURU5 M)r)rkrr"rrrrs rconsumeBaseSimpleQueueTest.consumeRs)%%'C NN3  rcURSS9nXC:XagUR U5 M+!URRa [R"S5 Of=fMb)NFr]h㈵>)rkrrqr&r'rrs rconsume_nonblock$BaseSimpleQueueTest.consume_nonblockYsg%%e%,C NN3 zz''%JJt$%s-0A A cURSS9nXC:XagURU5 M+!URRa Of=fML)Nrr_)rkrrqrrs rconsume_timeout#BaseSimpleQueueTest.consume_timeoutfs^%%%-C NN3 zz''s-A  A c ~^/nSnUR5nUR5 [R"S5n /mU4Sjn [ U5V s/sH n [ R "U "U5X(X4S9PM" n n [ U5V s/sH n [ R "U "U5X&U4S9PM" n n [R"X-5 SSS5 URT5 URUR55 URUR5S5 U$s sn fs sn f!,(df  Nj=f)N*c>^UU4SjnU$)Nch>T"U0UD6 g![anTRU5 SnAgSnAff=fr) BaseExceptionr)rkwargsrM exceptionsfs rwrapperHBaseSimpleQueueTest.run_threads..log_exceptions..wrapper|s6)t&v&$)%%a(()s 1,1r1)rrrs` rlog_exceptions7BaseSimpleQueueTest.run_threads..log_exceptions{s ) Nrr~r)copyreverserRandomrnrr r start_threadsrgrfrdrlr)r" n_threadsrinputs feed_func consume_funcrrrrrrtfeeders consumersrs @r run_threadsBaseSimpleQueueTest.run_threadsss*kkm mmB  "),.,q##>)+D*+#)@B, . $I.0.%%^L-I,-+AC. 0 + +G,? @ A $  " A&.0A @s'D$'D)D.. D<cURnURUR55 URUR 5S5 UR S5 UR UR55 URUR 5S5 UR S5 URS5 UR S5 UR UR55 URUR 5S5 URUR5S5 URUR 5S5 URUR5S5 URUR 5S5 URURSS9S5 UR UR55 URUR 5S5 URURSS 9S5 URUR55 URUR 5S5 URURR5 URSS9 SSS5 URURR5 URS S 9 SSS5 URURR5 UR5 SSS5 URUR55 URUR 5S5 g!,(df  N=f!,(df  N=f!,(df  Np=f) NrrWrZrrFr]r%r_r) rrfrdrlrrirgrrkrrrrqrs rrBaseSimpleQueueTest.test_basicsN FF  " A& a # A& a Q a # A& !$ A& + A& U+Q/ # A& s+Q/  " A&   tzz// 0 EEE 1   tzz// 0 EE$E 1   tzz// 0 LLN1  " A&1 0 0 0 0 0s$/M,M)M$ M M!$ M2cURnURS5 UR[5 UR SS9 SSS5 g!,(df  g=fr)rrirrrkrs rr:BaseSimpleQueueTest.test_negative_timeout_raises_exceptions> FF a   z * EE"E + * *s A  AcURn[[S55nURSXURUR 5nUR X25 g)NrrW)rlistrnrrrrl)r"rrrs r test_orderBaseSimpleQueueTest.test_ordersG FFeCj!""1aDLLI )r2i@F)sizememusedry_runcURn[[S55nURXX0RUR 5nUR [U5U5 gN')rrrnrrrrlrr"rrrrs rtest_many_threads%BaseSimpleQueueTest.test_many_threadssM FFeEl#""4FIIt||L &1rcURn[[S55nURXUURUR 5nUR [U5U5 gr)rrrnrrrrlrrs rtest_many_threads_nonblock.BaseSimpleQueueTest.test_many_threads_nonblocksU FFeEl#""4F#'99d.C.CE &1rcURn[[S55nURXUURUR 5nUR [U5U5 g)Ni)rrrnrrrrlrrs rtest_many_threads_timeout-BaseSimpleQueueTest.test_many_threads_timeoutsU FFeDk"""4F#'99d.B.BD &1rc0"SS5nSnURn[U5HnURU"55 M [U5HGn[R"UR 55n[ 5 URU"55 MI g)Nc\rSrSrSrg).BaseSimpleQueueTest.test_references..Cir1Nr{r1rrCrs rr)rrnriweakrefrefrkr assertIsNone)r"rNrrtwrs rtest_references#BaseSimpleQueueTest.test_referencessn    FFqA EE!#JqAQUUW%B L   bd #rrN)r,r-r.r/rMrrrrrrrrrrrrrr0r1rrrrBs" 0     @#'J *R 592:2R 592:2R 592:2 $rrc,^\rSrSr\rU4SjrSrU=r$)PySimpleQueueTesticX>URRUl[TU]5 gr)r_PySimpleQueuerrWrMrXs rrMPySimpleQueueTest.setUps22  rrZ) r,r-r.r/rbrrMr0r\r]s@rrrs Errc8^\rSrSr\rU4SjrSrSrSr U=r $)CSimpleQueueTesticX>URRUl[TU]5 gr)r SimpleQueuerrWrMrXs rrMCSimpleQueueTest.setUps//  rcURURURR5 URURURR5 gr)assertIsrrrr)s rtest_is_default CSimpleQueueTest.test_is_defaults: dnndjj&<&<= dnndjj&<&<=rc b^^URm[R"5mSn/n"UU4SjS[5nU"5nTR [ T55 AUR TR55 USU:aOMMURU[[US-555 g)Nrc*>\rSrSrSrUU4SjrSrg)2CSimpleQueueTest.test_reentrancy..CircularicXlgrcircularr)s rr!;CSimpleQueueTest.test_reentrancy..Circular.__init__s $ rc:>TR[T55 gr)rinext)r"genrs r__del__:CSimpleQueueTest.test_reentrancy..Circular.__del__sd3i rrN)r,r-r.r/r!rr0)rrsrCircularrs % ! !rr rrW) r itertoolsrobjectrirrrkrlrrn)r"rrr orrs @@rtest_reentrancy CSimpleQueueTest.test_reentrancy s FFoo   ! !v ! A EE$s)  NN1557 #r{a  $uQU|"45rrZ) r,r-r.r/rgrrMrr r0r\r]s@rrrs E>66rr__main__),r rsysrr&unittestr test.supportrrrrrequires_working_threadingimport_fresh_modulerbrg skipUnless need_c_queuerorr rr3rGrUTestCaser`rerjrnrprrrvrxrLrzr}rrrrrr,mainr1rrrs*  /&)++48  , ,Wxj I  + +GH: F""7,DE  4Y%%@FFDq?*q?h" )X..H--&mX%6%6]H$5$5*+X->->*H,=,= -I,q#(q#j)8+<+<((*;*;q$q$h+X->->&6*H,=,=&6&6R z MMOr