
    2hh                     6   S SK r S SKrS SKrS SKrS SK Jr  S r " S S5      r\R                  " \" \S5      S5       " S S	\\R                  5      5       r
 " S
 S\\R                  5      r " S S\R                  5      r\S:X  a  \R                  " 5         gg)    N)tasksc                  0    [         R                  " S 5        g N)asyncioset_event_loop_policy     H/opt/python-3.13.8/usr/lib/python3.13/test/test_asyncio/test_futures2.pytearDownModuler   	   s    !!$'r	   c                   &    \ rS rSrS rS rS rSrg)FutureTests   c                 n  #    S nU R                  U" 5       5      n[        S5       H  n UI S h  vN   U R                  S5        M!     g  N! [         a[  nSR	                  [
        R                  " UR                  5      5      nU R                  UR                  S5      S5         S nAM  S nAff = f7f)Nc                      #    [        S5      e7f)N*   )	TypeErrorr   r	   r
   	raise_exc4FutureTests.test_future_traceback.<locals>.raise_exc   s     B-s      zTypeError was not raised zawait future   )
clsrangefailr   join	traceback	format_tb__traceback__assertEqualcount)selfr   future_etbs         r
   test_future_traceback!FutureTests.test_future_traceback   s     	  )+&qA6
 		45  >WWY00AB  .!91==>s>   (B5AAAB5A
B2AB-'B5-B22B5c                 6  ^ ^^#    [         R                  " SSS9mSmUUU 4S jnU4S jn[        R                  " 5       nUR	                  U5        T R                  U" 5       5        [        R                  " S5      I S h  vN   T R                  T5        g  N7f)NnamefoodefaultFc                  J   > TR                  TR                  5       S5        Smg NbarTr   getargsexc_handler_calledr)   r!   s    r
   exc_handlerFFutureTests.test_task_exc_handler_correct_context.<locals>.exc_handler$       TXXZ/!%r	   c                  :   >#    T R                  S5        SS-    g 7fNr/   r   r   setr)   s   r
   task?FutureTests.test_task_exc_handler_correct_context.<locals>.task)   s     HHUOaCs   r   )contextvars
ContextVarr   get_running_loopset_exception_handlerr   sleep
assertTrue)r!   r5   r=   loopr4   r)   s   `   @@r
   %test_task_exc_handler_correct_context1FutureTests.test_task_exc_handler_correct_context   sx     %%fe<"	&
	 '')"";/mmA*+ 	s   A;B BBc                 ,  ^ ^^#    [         R                  " SSS9mSmUUU 4S jnU4S jn[        R                  " 5       nUR	                  U5        UR                  U5        [        R                  " S5      I S h  vN   T R                  T5        g  N7f)Nr)   r*   r+   Fc                  J   > TR                  TR                  5       S5        Smg r.   r0   r2   s    r
   r5   HFutureTests.test_handle_exc_handler_correct_context.<locals>.exc_handler8   r7   r	   c                  2   > T R                  S5        SS-    g r9   r:   r<   s   r
   callbackEFutureTests.test_handle_exc_handler_correct_context.<locals>.callback=   s    HHUOaCr	   r   )r?   r@   r   rA   rB   	call_soonrC   rD   )r!   r5   rL   rE   r4   r)   s   `   @@r
   'test_handle_exc_handler_correct_context3FutureTests.test_handle_exc_handler_correct_context3   sv     %%fe<"	&
	 '')"";/x mmA*+ 	s   A6B;B<Br   N)__name__
__module____qualname____firstlineno__r&   rF   rO   __static_attributes__r   r	   r
   r   r      s    6 ,(,r	   r   _CTaskzrequires the C _asyncio modulec                   ,    \ rS rSr\R
                  rSrg)CFutureTestsG   r   N)rQ   rR   rS   rT   r   rV   r   rU   r   r	   r
   rX   rX   G   s     ,,Cr	   rX   c                   ,    \ rS rSr\R
                  rSrg)PyFutureTestsL   r   N)rQ   rR   rS   rT   r   _PyTaskr   rU   r   r	   r
   r[   r[   L   s    
--Cr	   r[   c                       \ rS rSrS rSrg)FutureReprTestsO   c                    #    S n[         R                  " [         R                  " U" 5       5      SS9I S h  vN nU R                  S[	        U5      5        g  N 7f)Nc                  4   #    [         R                  " 5       $ 7fr   )r   	all_tasksr   r	   r
   funcCFutureReprTests.test_recursive_repr_for_pending_tasks.<locals>.funcV   s     $$&&s   
   )timeoutz...)r   wait_forTaskassertInrepr)r!   rd   waiters      r
   %test_recursive_repr_for_pending_tasks5FutureReprTests.test_recursive_repr_for_pending_tasksQ   sD     
	' ''TV(<RHHeT&\* Is   5AA!Ar   N)rQ   rR   rS   rT   rm   rU   r   r	   r
   r_   r_   O   s    
+r	   r_   __main__)r   r?   r   unittestr   r   r   
skipUnlesshasattrIsolatedAsyncioTestCaserX   r[   r_   rQ   mainr   r	   r
   <module>ru      s        (8, 8,t 
WUH-79; @ @ 9K!A!A +h66 + zMMO r	   