+
    Bi)N                     4   ^ RI t ^ RIt^ RIt^ RIHt ^ RIt^ RIt^ RIHt ]P                  ! R4      t
^ RIHt ^ RIHt ^RIHtHt  ! R R	]4      t ! R
 R]4      t ! R R]4      t ! R R]4      t ! R R]4      t]R8X  d   ]P.                  ! 4        R# R# )    N)dedent)import_helper_interpchannels)interpreterschannels)_run_outputTestBasec                   &   a  ] tR t^t o R tRtV tR# )LowLevelTestsc                :    \         P                  ! \        4       R # N)	importlibreloadr   )selfs   &;/usr/lib/python3.14/test/test_interpreters/test_channels.pytest_highlevel_reloaded%LowLevelTests.test_highlevel_reloaded   s    "     N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell____classdict__s   @r   r   r      s     # #r   r   c                   8   a  ] tR t^"t o R tR tR tR tRtV t	R# )TestChannelsc                    \         P                  ! 4       w  rV P                  V\         P                  4       V P                  V\         P                  4       R # r   )r   createassertIsInstanceRecvChannelSendChannel)r   rss   &  r   test_createTestChannels.test_create$   s<     a!5!56a!5!56r   c                2   V P                  \        P                  ! 4       . 4       \        4       p\	        ^4       F)  p\        P
                  ! 4       pVP                  V4       K+  	  \        \        P                  ! 4       4      pV P                  WA4       R# )   N)assertEqualr   list_allsetranger"   add)r   created_chafters   &    r   test_list_allTestChannels.test_list_all)   sj    **,b1%qA"BKKO  H%%'((r   c                   \         P                  ! 4       p\        P                  ! 4       w  r#V P                  \         P                  ! V4      4       V P                  \         P                  ! V4      4       VP                  V4       VP                  V4       VP                  4       pVP                  4       pVP                  W#R 7       VP                  V4       VP                  V4       VP                  \        R4      4       VP                  4       pVP                  4       pV P                  WB4       V P                  WS4       V P                  Wb4       V P                  Ws4       R# ))rchschz
            rch2 = rch.recv()
            sch2 = rch.recv()
            assert rch2 == rch
            assert sch2 == sch

            sch.send_nowait(rch2)
            sch.send_nowait(sch2)
            N)r   r"   r   
assertTrueis_shareablesend_nowaitrecvprepare_mainexecr   r,   )r   interpr8   r9   rch2sch2rch3sch3s   &       r   test_shareableTestChannels.test_shareable2   s   $$&??$%%c*	,%%c*	, 	xxzxxz-F   	 xxzxxz####r   c                <   \         P                  ! 4       w  rVP                  pVP                  pVP                  4        VP                  pVP                  pV P	                  V4       V P	                  V4       V P                  V4       V P                  V4       R # r   )r   r"   	is_closedcloseassertFalser:   )r   r8   r9   rbeforesbeforeraftersafters   &      r   test_is_closedTestChannels.test_is_closedT   sq    ??$----		!!r   r   N)
r   r   r   r   r(   r5   rE   rO   r   r   r   s   @r   r    r    "   s     7
) $D   r   r    c                   >   a  ] tR t^bt o R tR tR tR tR tRt	V t
R# )TestRecvChannelAttrsc                    \         P                  ! 4       w  rV P                  VP                  \        P
                  4       R # r   r   r"   r#   id	_channels	ChannelID)r   r8   r2   s   &  r   test_id_type!TestRecvChannelAttrs.test_id_typed   s*    "cffi&9&9:r   c                
   \         P                  ! ^4      pV P                  VP                  ^4       V P	                  \
        4      ;_uu_ 4        \         P                  ! R4       RRR4       R#   + '       g   i     R# ; i   1N)r   r$   r,   rU   assertRaises	TypeErrorr   r8   s   & r   test_custom_id#TestRecvChannelAttrs.test_custom_idh   T    ""1%#y))  % *)))   A11B	c                    \         P                  ! ^4      pV P                  \        4      ;_uu_ 4        ^Vn        RRR4       R#   + '       g   i     R# ; ir\   N)r   r$   r^   AttributeErrorrU   r`   s   & r   test_id_readonly%TestRecvChannelAttrs.test_id_readonlyo   9    ""1%~..CF /...   AA	c                    \         P                  ! 4       w  r\         P                  ! 4       w  r2V P                  W4       V P                  W4       R # r   r   r"   r,   assertNotEqual)r   ch1r2   ch2s   &   r   test_equality"TestRecvChannelAttrs.test_equalityt   s:    """C%r   c                j   \         P                  ! 4       w  r\        \        P                  ^,           4       Fc  pV P                  VR7      ;_uu_ 4        \        P                  ! W4      p\        P                  ! V4      pV P                  WQ4       RRR4       Ke  	  R#   + '       g   i     Kz  ; ir\   )protocolN	r   r"   r/   pickleHIGHEST_PROTOCOLsubTestdumpsloadsr,   )r   r3   r2   ru   data	unpickleds   &     r   test_pickle TestRecvChannelAttrs.test_picklez   sw    !f559:Hx00||B1"LL.	  / 10 ;000   >B!!B2r   Nr   r   r   r   rX   ra   rh   rq   r~   r   r   r   s   @r   rR   rR   b   #     ;&
&0 0r   rR   c                   >   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )TestSendChannelAttrsc                    \         P                  ! 4       w  rV P                  VP                  \        P
                  4       R # r   rT   )r   r2   r9   s   &  r   rX   !TestSendChannelAttrs.test_id_type   s*    "cffi&9&9:r   c                
   \         P                  ! ^4      pV P                  VP                  ^4       V P	                  \
        4      ;_uu_ 4        \         P                  ! R4       RRR4       R#   + '       g   i     R# ; ir[   )r   r%   r,   rU   r^   r_   r   r9   s   & r   ra   #TestSendChannelAttrs.test_custom_id   rc   rd   c                    \         P                  ! ^4      pV P                  \        4      ;_uu_ 4        ^Vn        RRR4       R#   + '       g   i     R# ; irf   )r   r%   r^   rg   rU   r   s   & r   rh   %TestSendChannelAttrs.test_id_readonly   rj   rk   c                    \         P                  ! 4       w  r\         P                  ! 4       w  rV P                  W"4       V P                  W#4       R # r   rm   )r   r2   ro   rp   s   &   r   rq   "TestSendChannelAttrs.test_equality   s:    """C%r   c                j   \         P                  ! 4       w  r\        \        P                  ^,           4       Fc  pV P                  VR7      ;_uu_ 4        \        P                  ! W#4      p\        P                  ! V4      pV P                  WR4       RRR4       Ke  	  R#   + '       g   i     Kz  ; irt   rv   )r   r2   r3   ru   r|   r}   s   &     r   r~    TestSendChannelAttrs.test_pickle   sw    !f559:Hx00||B1"LL.	  / 10 ;000r   r   Nr   r   s   @r   r   r      r   r   r   c                      a  ] tR t^t o R tR t]P                  ! R4      R 4       tR t	R t
R tR t]P                  ! R4      R	 4       tR
 tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )TestSendRecvc                    \         P                  ! 4       w  rR pVP                  V4       VP                  4       pV P	                  WC4       V P                  WC4       R#    spamN)r   r"   r<   r=   r,   assertIsNotr   r&   r'   origobjs   &    r   test_send_recv_main TestSendRecv.test_send_recv_main   sH     	dffh##r   c                d    \         P                  ! 4       pVP                  \        R 4      4       R# )a.  
            from test.support import channels
            r, s = channels.create()
            orig = b'spam'
            s.send_nowait(orig)
            obj = r.recv()
            assert obj == orig, 'expected: obj == orig'
            assert obj is not orig, 'expected: obj is not orig'
            Nr   r"   r?   r   r   r@   s   & r   test_send_recv_same_interpreter,TestSendRecv.test_send_recv_same_interpreter   s(    $$&F   	r   zbroken (see BPO-...)c           	        \         P                  ! 4       w  r\         P                  ! 4       w  r4R pVP                  V4       \        \        P                  ! 4       \        R\        V4       R24      \        WR7      R7      pVP                  4       pV P                  VR4       V P                  \        V4      \        V4      4       R# )r   z
                obj1 = r.recv()
                assert obj1 == b'spam', 'expected: obj1 == orig1'
                # When going to another interpreter we get a copy.
                assert id(obj1) != , 'expected: obj1 is not orig1'
                orig2 = b'eggs'
                print(id(orig2))
                s.send_nowait(orig2)
                r&   r'   r      eggsN)r   r"   r<   r	   r   r   rU   dictr=   r,   rn   intr   r1s1r2s2orig1outobj2s   &       r   %test_send_recv_different_interpreters2TestSendRecv.test_send_recv_different_interpreters   s    ""
u! $ %'uI; /	  B% wwyw'BtHc#h/r   c                @  aa \         P                  ! 4       w  ooVV3R  lp\        P                  ! VR7      pVP	                  4        RpSP                  V4       SP                  4       pVP                  4        V P                  WC4       V P                  WC4       R# )c                     <   SP                  4       p  SP                  T 4       R#   \        P                   d    \        P                  ! R4        KT  i ; iTg?N)r=   r   ChannelEmptyErrortimesleepsend)r   r&   r'   s    r   f8TestSendRecv.test_send_recv_different_threads.<locals>.f   sH    $&&(C FF3K  11 $JJsO$s   ( +AAtargetr   N)
r   r"   	threadingThreadstartr   r=   joinr,   r   )r   r   tr   r   r&   r'   s   &    @@r    test_send_recv_different_threads-TestSendRecv.test_send_recv_different_threads   ss     1	 A&			tffh	##r   c                    \         P                  ! 4       w  rR pVP                  V4       VP                  4       pV P	                  WC4       V P                  WC4       R# r   )r   r"   r<   recv_nowaitr,   r   r   s   &    r   test_send_recv_nowait_main'TestSendRecv.test_send_recv_nowait_main   sH     	dmmo##r   c                x    \         P                  ! 4       w  rVP                  R 4      pV P                  V4       R # r   )r   r"   r   assertIsNone)r   r&   r2   r   s   &   r   'test_send_recv_nowait_main_with_default4TestSendRecv.test_send_recv_nowait_main_with_default   s,     mmD!#r   c                d    \         P                  ! 4       pVP                  \        R 4      4       R# )a  
            from test.support import channels
            r, s = channels.create()
            orig = b'spam'
            s.send_nowait(orig)
            obj = r.recv_nowait()
            assert obj == orig, 'expected: obj == orig'
            # When going back to the same interpreter we get the same object.
            assert obj is not orig, 'expected: obj is not orig'
            Nr   r   s   & r   &test_send_recv_nowait_same_interpreter3TestSendRecv.test_send_recv_nowait_same_interpreter   s(    $$&F 	 	 		r   c           	        \         P                  ! 4       w  r\         P                  ! 4       w  r4R pVP                  V4       \        \        P                  ! 4       \        R\        V4       R24      \        WR7      R7      pVP                  4       pV P                  VR4       V P                  \        V4      \        V4      4       R# )r   z
                obj1 = r.recv_nowait()
                assert obj1 == b'spam', 'expected: obj1 == orig1'
                # When going to another interpreter we get a copy.
                assert id(obj1) != r   r   r   r   N)r   r"   r<   r	   r   r   rU   r   r   r,   rn   r   r   s   &       r   ,test_send_recv_nowait_different_interpreters9TestSendRecv.test_send_recv_nowait_different_interpreters  s    ""
u! $ %'uI; /	  B% ~~w'BtHc#h/r   c                    \         P                  ! 4       w  rV P                  \        4      ;_uu_ 4        VP	                  ^R7       RRR4       R#   + '       g   i     R# ; i)r\   )timeoutN)r   r"   r^   TimeoutErrorr=   )r   r&   r2   s   &  r   test_recv_timeoutTestSendRecv.test_recv_timeout  s>     |,,FF1F -,,,s   AA#	c                    \         P                  ! R 4      pV P                  \         P                  4      ;_uu_ 4        VP	                  4        RRR4       R#   + '       g   i     R# ; i@B N)r   r$   r^   ChannelNotFoundErrorr=   r   r3   s   & r    test_recv_channel_does_not_exist-TestSendRecv.test_recv_channel_does_not_exist"  sA    !!),x<<==GGI >===   AA*	c                    \         P                  ! R 4      pV P                  \         P                  4      ;_uu_ 4        VP	                  R4       RRR4       R#   + '       g   i     R# ; ir   r   N)r   r%   r^   r   r   r   s   & r    test_send_channel_does_not_exist-TestSendRecv.test_send_channel_does_not_exist'  sD    !!),x<<==GGG >===   AA+	c                    \         P                  ! R 4      pV P                  \         P                  4      ;_uu_ 4        VP	                  4        RRR4       R#   + '       g   i     R# ; ir   )r   r$   r^   r   r   r   s   & r   'test_recv_nowait_channel_does_not_exist4TestSendRecv.test_recv_nowait_channel_does_not_exist,  sB    !!),x<<==NN >===r   c                    \         P                  ! R 4      pV P                  \         P                  4      ;_uu_ 4        VP	                  R4       RRR4       R#   + '       g   i     R# ; ir   )r   r%   r^   r   r<   r   s   & r   'test_send_nowait_channel_does_not_exist4TestSendRecv.test_send_nowait_channel_does_not_exist1  sD    !!),x<<==NN7# >===r   c                    \         P                  ! 4       w  rV P                  \         P                  4      ;_uu_ 4        VP	                  4        R R R 4       R #   + '       g   i     R # ; ir   )r   r"   r^   r   r   )r   r3   r2   s   &  r   test_recv_nowait_empty#TestSendRecv.test_recv_nowait_empty6  s@    !x99::NN ;:::s   AA+	c                n   \        4       p\        P                  ! 4       w  r#VP                  V4      pVP	                  R 4       VP	                  ^4       VP	                  R4       VP	                  R4       VP                  V4      pVP                  V4      pVP                  4       pVP                  V4      pVP                  V4      p	V P                  WA4       V P                  VR 4       V P                  V^4       V P                  VR4       V P                  VR4       V P                  W4       R # )Nr   r   )objectr   r"   r   r<   assertIsr,   )
r   defaultr8   r9   obj1r   obj3obj4obj5obj6s
   &         r   test_recv_nowait_default%TestSendRecv.test_recv_nowait_default;  s    (??$w'  w'w' w'w'd$dD!q!w'w'd$r   c                  aa \        R 4      pRo\        P                  ! 4       w  opVV3R lp\        P                  ! VR7      pVP                  4        VP                  V4       VP                  4        V P                  SV4       V P                  S\        4       V P                  SV4       RVR&   V P                  SV4       RSR&   V P                  SV4       R# )   spamspamspamNc                     <   SP                  4       o R#   \        P                   d    \        P                  ! R4        KB  i ; ir   )r=   r   r   r   r   )r   r8   s   r   r   (TestSendRecv.test_send_buffer.<locals>.fU  s9    $((*C11 $JJsO$s    +AAr   r         N   ham.)	bytearrayr   r"   r   r   r   send_bufferr   r   r#   
memoryviewr,   )r   bufr9   r   r   r   r8   s   &    @@r   test_send_bufferTestSendRecv.test_send_bufferP  s    (??$S	$ A&			c"c:.c"Cc"Cc"r   c                T   \        R 4      p\        P                  ! 4       w  r#VP                  V4       VP	                  4       pV P                  WA4       V P                  V\        4       V P                  WA4       RVR&   V P                  WA4       RVR&   V P                  WA4       R# )r   r   r   r   N)	r   r   r"   send_buffer_nowaitr=   r   r#   r   r,   )r   r  r8   r9   r   s   &    r   test_send_buffer_nowait$TestSendRecv.test_send_buffer_nowaitl  s    (??$s#hhj"c:."C"C"r   c           	       a  RV 3R llpS P                  R4      ;_uu_ 4        \        P                  ! 4       w  r#V! W#4      p?S P                  \        P                  VP                  4      ^4       VP                  4       pS P                  \        P                  VP                  4      ^ 4       S P                  V\        P                  4       S P                  \        P                  VP                  4      ^ 4       S P                  \        P                  4      ;_uu_ 4        VP                  4        R R R 4       R R R 4       S P                  R4      ;_uu_ 4        \        P                  ! 4       w  r#V! W#\        P                  4      p?S P                  \        P                  VP                  4      ^4       VP                  4       pS P                  V\        P                  4       S P                  \        P                  VP                  4      ^ 4       S P                  \        P                  4      ;_uu_ 4        VP                  4        R R R 4       R R R 4       S P                  R4      ;_uu_ 4        \        P                  ! 4       w  r#V! W#\        P                  4      p?S P                  \        P                  VP                  4      ^4       S P                  \        P                  4      ;_uu_ 4        VP                  4        R R R 4       S P                  \        P                  VP                  4      ^ 4       S P                  \        P                  4      ;_uu_ 4        VP                  4        R R R 4       R R R 4       S P                  R4      ;_uu_ 4        \        P                  ! 4       w  r#V! W#\        P                  4      p?S P                  \        P                  VP                  4      ^ 4       S P                  \        P                  4      ;_uu_ 4        VP                  4        R R R 4       VP!                  R\        P                  R7       S P                  \        P                  VP                  4      ^4       V! W#\        P                  ^4      pS P                  \        P                  VP                  4      ^4       VP!                  ^*\        P                  R7       S P                  \        P                  VP                  4      ^4       ?S P                  \        P                  VP                  4      ^4       VP                  4       pVP                  4       pS P                  VR4       S P                  V^*4       S P                  \        P                  VP                  4      ^ 4       S P                  \        P                  4      ;_uu_ 4        VP                  4        R R R 4       R R R 4       R #   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELd; i  + '       g   i     EL	; i  + '       g   i     EL; i  + '       g   i     ELq; i  + '       g   i     L; i  + '       g   i     R # ; i)	Nc                 v  < V'       g   R pMYV\         P                  J d   RpMBV\         P                  J d   RpM+V\         P                  J d   RpM\	        \        V4      4      h\        P                  ! 4       p\        V\        RVP                   RV RV R24      4       SP                  \        P                  V P                  4      V^,           4       V^ 8X  dY   V P                  4       pSP                  VR4       SP                  \        P                  V P                  4      V^,           4       V# )	 z, unbounditems=channels.UNBOUNDz%, unbounditems=channels.UNBOUND_ERRORz&, unbounditems=channels.UNBOUND_REMOVEz^
                from test.support import channels
                sch = channels.SendChannel(zd)
                obj1 = b'spam'
                obj2 = b'eggs'
                sch.send_nowait(obj1z&)
                sch.send_nowait(obj2z)
                r   )r   UNBOUNDUNBOUND_ERRORUNBOUND_REMOVENotImplementedErrorreprr   r"   r	   r   rU   r,   rV   	get_countr=   )r8   r9   unboundpresize	extraargsr@   r   r   s   &&&&   r   commonBTestSendRecv.test_send_cleared_with_subinterpreter.<locals>.common|  s   	H,,,=	H222C	H333D	)$w-88!((*F ,,,/FF8 4% &/K 0%%.K 0( !  ##CFF+!
 !|xxz  w/  ''/aK
 Mr   r   r  r  r  s   ham)unbounditems)Nr   )ry   r   r"   r,   rV   r  rU   r=   r   r  r^   r   r   r  ItemInterpreterDestroyedr  r<   )r   r  r8   r9   r@   r   r   s   f      r   %test_send_cleared_with_subinterpreter2TestSendRecv.test_send_cleared_with_subinterpreter{  s   "	H \\)$$(HCC%FY008!<88:DY008!<MM$ 0 01Y008!<""8#=#=>>! ? % \\)$$(HCCh&6&67FY008!<88:DMM$ 0 01Y008!<""8#=#=>>! ? % \\/**(HCCh&<&<=FY008!<""8#D#DEE
 F Y008!<""8#=#=>>! ? + \\*++(HCCh&=&=>FY008!<""8#=#=>>! ? OOF1H1HOIY008!<Ch&=&=qAFY008!<OOBX-D-DOEY008!<Y008!<88:D88:DT6*T2&Y008!<""8#=#=>>! ?- ,+7 ?>> %$$( ?>> %$$" FEE ?>> +**& ?>>  ?>- ,++s   DX7(X#	9X7"C%YY	YBZY3	AZ6Z	Z0B[6Z/	F9[ [	[#X4.	X77Y	Y	YY0	3Z>	ZZ	ZZ,	/[ :	[[[['	c                @   \         P                  ! 4       w  r\        P                  ! 4       pVP                  R 4       VP	                  4        V P                  \        P                  VP                  4      ^ 4       \        V\        RVP                   R24      4       V P                  \        P                  VP                  4      ^4       ?V P                  \        P                  VP                  4      ^4       VP	                  4       pV P                  V\         P                  4       V P                  \        P                  VP                  4      ^4       V P                  \         P                  4      ;_uu_ 4        VP	                  4        R R R 4       V P                  \        P                  VP                  4      ^4       VP	                  4       pV P                  V\         P                  4       V P                  \        P                  VP                  4      ^4       VP	                  4       pV P                  V\         P                  4       V P                  \        P                  VP                  4      ^ 4       R #   + '       g   i     L; i)NzV
            from test.support import channels
            sch = channels.SendChannel(a2  )
            sch.send_nowait(1, unbounditems=channels.UNBOUND)
            sch.send_nowait(2, unbounditems=channels.UNBOUND_ERROR)
            sch.send_nowait(3)
            sch.send_nowait(4, unbounditems=channels.UNBOUND_REMOVE)
            sch.send_nowait(5, unbounditems=channels.UNBOUND)
            )r   r"   r   r<   r=   r,   rV   r  rU   r	   r   r   r  r^   r  )r   r8   r9   r@   r   r   r   s   &      r   +test_send_cleared_with_subinterpreter_mixed8TestSendRecv.test_send_cleared_with_subinterpreter_mixed  s   ??$$$&
 	
,,SVV4a8FF (((+x 0$  	 	,,SVV4a8,,SVV4a8xxzdH,,-,,SVV4a8x@@AAHHJ B,,SVV4a8xxzdH,,-,,SVV4a8xxzdH,,-,,SVV4a8 BAs   JJ	c           
        \         P                  ! 4       w  r\        P                  ! 4       p\        P                  ! 4       pVP                  ^4       \	        V\        RVP                   RVP                   R24      4       \	        V\        RVP                   RVP                   R24      4       V P                  \        P                  VP                  4      ^ 4       VP                  ^4       \	        V\        R4      4       \	        V\        R4      4       \	        V\        R4      4       V P                  \        P                  VP                  4      ^
4       VP                  4       pV P                  V^4       V P                  \        P                  VP                  4      ^	4       VP                  4       pV P                  V^4       V P                  \        P                  VP                  4      ^4       ?V P                  \        P                  VP                  4      ^4       VP                  4       pV P                  V\         P                  4       V P                  \        P                  VP                  4      ^4       VP                  4       pV P                  V^4       V P                  \        P                  VP                  4      ^4       ?V P                  \        P                  VP                  4      ^4       V P                  \         P                  4      ;_uu_ 4        VP                  4        RRR4       V P                  \        P                  VP                  4      ^4       VP                  4       p	V P                  V	\         P                  4       V P                  \        P                  VP                  4      ^4       VP                  4       p
V P                  V
\         P                  4       V P                  \        P                  VP                  4      ^ 4       R#   + '       g   i     EL ; i)	r\   zV
            from test.support import channels
            rch = channels.RecvChannel(z))
            sch = channels.SendChannel(z)
            obj1 = rch.recv()
            sch.send_nowait(2, unbounditems=channels.UNBOUND)
            sch.send_nowait(obj1, unbounditems=channels.UNBOUND_REMOVE)
            zJ)
            obj2 = rch.recv()
            obj1 = rch.recv()
            z
            sch.send_nowait(4, unbounditems=channels.UNBOUND)
            # interp closed here
            sch.send_nowait(5, unbounditems=channels.UNBOUND_REMOVE)
            sch.send_nowait(6, unbounditems=channels.UNBOUND)
            a?  
            sch.send_nowait(7, unbounditems=channels.UNBOUND_ERROR)
            # interp closed here
            sch.send_nowait(obj1, unbounditems=channels.UNBOUND_ERROR)
            sch.send_nowait(obj2, unbounditems=channels.UNBOUND_REMOVE)
            sch.send_nowait(8, unbounditems=channels.UNBOUND)
            z
            sch.send_nowait(9, unbounditems=channels.UNBOUND_REMOVE)
            sch.send_nowait(10, unbounditems=channels.UNBOUND)
            N)r   r"   r   r<   r	   r   rU   r,   rV   r  r=   r   r  r^   r  )r   r8   r9   interp1interp2r   r   r   obj7obj8obj10s   &          r   .test_send_cleared_with_subinterpreter_multiple;TestSendRecv.test_send_cleared_with_subinterpreter_multiple  sB   ??$%%'%%'GV )((+x 0((+x 0%  	 	GV )((+x 0((+x 0%  	 	,,SVV4a8GV %  	 	GV %  	 	GV %  	 	,,SVV4b9xxzq!,,SVV4a8xxzq!,,SVV4a8,,SVV4a8 xxzdH,,-,,SVV4a8xxzq!,,SVV4a8,,SVV4a8 x@@AAHHJ B,,SVV4a8 xxzdH,,-,,SVV4a8 
eX--.,,SVV4a8 BAAs   :QQ	r   N)r   r   r   r   r   r   unittestskipr   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r#  r   r   r   s   @r   r   r      s     $
 ]])*0 +0.$,$ ]])*0 +0.



$

%*#8#`"D'9RQ9 Q9r   r   __main__)r   rw   r   textwrapr   r%  r   test.supportr   import_modulerV   
concurrentr   r   utilsr	   r
   r   r    rR   r   r   r   mainr   r   r   <module>r.     s          &''(9:	 # ! (#H #$= 8 = @08 0B08 0Bs98 s9l zMMO r   