+
    Bi!                         ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht R tR t ! R R	]4      tR
 tRR lt ! R R]4      t ! R R]4      t ! R R4      tR# )    N)futures)add)support)Py_GIL_DISABLEDc                     W,          # N )xys   &&</usr/lib/python3.14/test/test_concurrent_futures/executor.pymulr      s	    5L    c                      W3# r   r	   )argskwargss   *,r   capturer      s
    <r   c                   &   a  ] tR t^t o R tRtV tR# )MyObjectc                    R # r   r	   selfs   &r   	my_methodMyObject.my_method   s    r   r	   N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell____classdict__s   @r   r   r      s      r   r   c                     \        4       # r   )r   )_s   &r   make_dummy_objectr$      s
    :r   c                     V ! V4      hr   r	   )	exceptionmsgs   &&r   raiserr(      s    
C.r   c                   &   a  ] tR t^ t o R tRtV tR# )FalseyBoolExceptionc                    R # )Fr	   r   s   &r   __bool__FalseyBoolException.__bool__!   s    r   r	   N)r   r   r   r   r,   r   r   r    s   @r   r*   r*       s      r   r*   c                   &   a  ] tR t^%t o R tRtV tR# )FalseyLenExceptionc                    ^ # )r   r	   r   s   &r   __len__FalseyLenException.__len__&   s    r   r	   N)r   r   r   r   r1   r   r   r    s   @r   r/   r/   %   s      r   r/   c                      a  ] tR t^*t o 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]P*                  R 4       tR tR tR tRtV tR# )ExecutorTestc                    V P                   P                  \        ^^4      pV P                  RVP	                  4       4       R# )      N)executorsubmitpowassertEqualresultr   futures   & r   test_submitExecutorTest.test_submit.   s0    %%c1a0fmmo.r   c                |   V P                   P                  \        ^^R7      pV P                  ^VP	                  4       4       V P                   P                  \
        ^^^R7      pV P                  VP	                  4       RR^R^/34       V P                  \        4      ;_uu_ 4        V P                   P                  \
        ^R7       RRR4       V P                  \        4      ;_uu_ 4        V P                   P                  ^R7       RRR4       R#   + '       g   i     LT; i  + '       g   i     R# ; i)	r6   )r   )r   fnr   rB   )rB   argN)rC   )   )r8   r9   r   r;   r<   r   assertRaises	TypeErrorr=   s   & r   test_submit_keyword ExecutorTest.test_submit_keyword2   s    %%c1%2V]]_-%%gqqQ%?4&!T11E*FGy))MM  G 3 *y))MM  Q ' *) *))))s   )"D0D*D'	*D;	c                   V P                  \        V P                  P                  \        \        ^
4      \        ^
4      4      4      \        \        \        \        ^
4      \        ^
4      4      4      4       V P                  \        V P                  P                  \        \        ^
4      \        ^
4      ^R7      4      \        \        \        \        ^
4      \        ^
4      4      4      4       R# )
   )	chunksizeN)r;   listr8   mapr:   ranger   s   &r   test_mapExecutorTest.test_map<   s    T]]&&sE"IuRyABSeBir34	6 	T]]&&sE"IuRyA&NOSeBir34	6r   c                d   V P                   P                  \        . RO. RO4      pV P                  VP	                  4       R4       V P                  VP	                  4       R4       V P                  \        4      ;_uu_ 4        VP	                  4        RRR4       R#   + '       g   i     R# ; i)rD   N)rD   rD   rD   rD   )r6      r      )r   rD   )r8   rM   divmodr;   __next__rE   ZeroDivisionError)r   is   & r   test_map_exceptionExecutorTest.test_map_exceptionE   sp    MMflLAv.v.011JJL 2111s   BB/	walltimec                    . p V P                   P                  \        P                  . RO^R7       F  pVP	                  V4       K  	  V P                  R4       V P                  VRR.R.. 34       R#   \        P                   d     L1i ; i)r   timeoutzexpected TimeoutErrorN)r   r      )	r8   rM   timesleepappendfailr   TimeoutErrorassertIn)r   resultsrW   s   &  r   test_map_timeoutExecutorTest.test_map_timeoutL   s    	/]]&&tzz'0/0 ' 2 q!2 II-. 	gttfb9: ## 		s   AA5 5BBc                P   R Fx  pV P                  VR7      ;_uu_ 4        V P                  \        R4      ;_uu_ 4        V P                  P	                  \
        \        ^4      VR7       RRR4       RRR4       Kz  	  R#   + '       g   i     L; i  + '       g   i     K  ; i)foo
buffersizez%buffersize must be an integer or NoneN)ri   g       @)subTestassertRaisesRegexrF   r8   rM   strrN   r   rk   s   & r   #test_map_buffersize_type_validation0ExecutorTest.test_map_buffersize_type_validation]   sy    &J44++;  MM%%c58
%K	 54 '  544"   B,B+BBBB%c                P   R Fx  pV P                  VR7      ;_uu_ 4        V P                  \        R4      ;_uu_ 4        V P                  P	                  \
        \        ^4      VR7       RRR4       RRR4       Kz  	  R#   + '       g   i     L; i  + '       g   i     K  ; i)r   rj   zbuffersize must be None or > 0Nr   )rl   rm   
ValueErrorr8   rM   rn   rN   ro   s   & r   $test_map_buffersize_value_validation1ExecutorTest.test_map_buffersize_value_validationf   sy    !J44++4  MM%%c58
%K	 54 "  544rr   c           	     R   \        ^4      p^^\        V4      \        V4      ^,          3 Fd  pV P                  VR7      ;_uu_ 4        V P                  P	                  \
        WR7      pV P                  \        V4      . RO4       RRR4       Kf  	  R#   + '       g   i     K{  ; i)   rj   N)0123)rN   lenrl   r8   rM   rn   assertListEqualrL   r   intsrk   ress   &   r   test_map_buffersize ExecutorTest.test_map_buffersizeo   s{    QxaTCIM:J44mm''T'I$$T#Y0DE 54 ;444s   ?BB&c           
     T   \        ^4      p^^\        V4      \        V4      ^,          3 Fe  pV P                  VR7      ;_uu_ 4        V P                  P	                  \
        WVR7      pV P                  \        V4      . RO4       RRR4       Kg  	  R#   + '       g   i     K|  ; i)rz   rj   N)r   r6   rz   r^   )rN   r   rl   r8   rM   r   r   rL   r   s   &   r   )test_map_buffersize_on_multiple_iterables6ExecutorTest.test_map_buffersize_on_multiple_iterablesv   s|    QxaTCIM:J44mm''TJ'O$$T#Y= 54 ;444s   A BB'c                   V P                   P                  \        \        P                  ! 4       ^R7      pV P                  \        VR4      R4       V P                  \        VR4      R4       V P                  \        VR4      R4       R# )r6   rj   Nr{   r|   r}   )r8   rM   rn   	itertoolscountr;   nextr   r   s   & r   (test_map_buffersize_on_infinite_iterable5ExecutorTest.test_map_buffersize_on_infinite_iterable}   sf    mmY__%61Ec4#.c4#.c4#.r   c                @   V P                   P                  \        \        P                  ! 4       \        P                  ! 4       ^R7      pV P                  \        VR4      ^ 4       V P                  \        VR4      ^4       V P                  \        VR4      ^4       R# r6   rj   N)r8   rM   r   r   r   r;   r   r   s   & r   2test_map_buffersize_on_multiple_infinite_iterables?ExecutorTest.test_map_buffersize_on_multiple_infinite_iterables   sy    mmOOOO	   
 	c4!,c4!,c4!,r   c                    V P                   P                  \        . ^R7      pV P                  \	        VR4      4       R# r   r8   rM   rn   assertIsNoner   r   s   & r   %test_map_buffersize_on_empty_iterable2ExecutorTest.test_map_buffersize_on_empty_iterable   s1    mmRA6$sD/*r   c                ~    V P                   P                  \        ^R7      pV P                  \	        VR4      4       R# r   r   r   s   & r   $test_map_buffersize_without_iterable1ExecutorTest.test_map_buffersize_without_iterable   s/    mm2$sD/*r   c                    \        \        ^4      4      p^pV P                  P                  \        WR7       V P                  P                  RR7       V P                  \        V4      VRR7       R# )rz   rj   T)waitz;should have fetched only `buffersize` elements from `ints`.)r'   N)iterrN   r8   rM   rn   shutdownr;   r   )r   r   rk   s   &  r   'test_map_buffersize_when_buffer_is_full4ExecutorTest.test_map_buffersize_when_buffer_is_full   s`    E!H~
#t;D)JM 	 	
r   c                    V P                   P                  \        ^.V P                  ^,           ,          4       V P                   P	                  4        R# )r6   N)r8   rM   rn   worker_countr   r   s   &r   test_shutdown_race_issue12456*ExecutorTest.test_shutdown_race_issue12456   s:     	#sd&7&7!&;<= r   c                  aa \        4       p\        P                  ! 4       oV3R  lo\        P                  ! VV3R l4      pV P
                  P                  VP                  4       ?\        '       dU   ^ pRpV'       gH   V\        P                  8:  d3   \        P                  ! 4        SP                  RR7      pVR,          pKO  M SP                  \        P                  R7      pV P                  VR4       R# )c                     < \         '       d2   \        P                  ! S P                  R 7      P	                  4        R# S P                  4        R# ))targetN)r   	threadingThreadsetstart)my_object_collecteds   r   	set_event8ExecutorTest.test_no_stale_references.<locals>.set_event   s4    
   (;(?(?@FFH#'')r   c                    < S! 4       # r   r	   )objr   s   &r   <lambda>7ExecutorTest.test_no_stale_references.<locals>.<lambda>   s    	r   Fg      ?r\   z-Stale reference not collected within timeout.N)r   r   Eventweakrefrefr8   r9   r   r   r   SHORT_TIMEOUT
gc_collectr   
assertTrue)r   	my_objectmy_object_callback	wait_time	collectedr   r   s   &    @@r   test_no_stale_references%ExecutorTest.test_no_stale_references   s     J	'oo/	* %[[4KLY001? III1F1F$F""$/44S4A	S 	+009N9N0OI	G	Ir   c                    R F<  pV P                  \        R4      ;_uu_ 4        V P                  VR7       RRR4       K>  	  R#   + '       g   i     KS  ; i)r   z"max_workers must be greater than 0)max_workersNrt   )rm   rv   executor_type)r   numbers   & r   test_max_workers_negative&ExecutorTest.test_max_workers_negative   sS    F''
)12 2 ""v"62 2 2 2 2s   AAc                ,   V P                   P                  \        \        ^
4      4       Ff  p\        P
                  ! V4      p?\        P                  ! 4        \        P                  ! \        P                  4       F  pV! 4       e   K   Kd  	  Kh  	  R# )rJ   N)
r8   rM   r$   rN   r   r   r   r   sleeping_retryr   )r   r   wrr#   s   &   r   test_free_reference ExecutorTest.test_free_reference   sh     ==$$%6b	BCS!B ++G,A,AB4< C Cr   c                   R pV P                  \        V4      ;_uu_ 4        V P                  P                  \        \        V4      P                  4        RRR4       RpV P                  \        V4      ;_uu_ 4        V P                  P                  \        \        V4      P                  4        RRR4       R#   + '       g   i     Ln; i  + '       g   i     R# ; i)boolboolNlenlen)rm   r*   r8   r9   r(   r<   r/   )r   r'   s   & r   test_swallows_falsey_exceptions,ExecutorTest.test_swallows_falsey_exceptions   s    
 ##$7==MM  )<cBIIK > ##$6<<MM  );SAHHJ =<	 >= =<<s   4B;=4C;C	C	r	   N)r   r   r   r   r?   rG   rO   rX   r   requires_resourcerf   rp   rw   r   r   r   r   r   r   r   r   cpython_onlyr   r   r   r   r   r   r    s   @r   r4   r4   *   s     /(6 z*; +; LLF>/	-++	
! "I "IH7
K Kr   r4   )std)r   r   r_   r   
concurrentr   operatorr   testr   test.supportr   r   r   objectr   r$   r(   	Exceptionr*   r/   r4   r	   r   r   <module>r      sc           (v 

) 
 
AK AKr   