
    ,h1                       d dl mZ d dlZd dlZd dlmZmZ er
d dlmZm	Z	m
Z
 d dlZd dlZd dlmZmZ ddlmZ ddlmZmZ dd	lmZmZmZmZmZmZmZmZmZ dd
lm Z  ejB                  dk  rd dl"m#Z#m$Z$ erd dlmZ  ed      Z%ddZ&ddZ'ddZ(ejR                  jU                  d      dd       Z+ddZ,ddZ-ddZ.ddZ/ddZ0y)    )annotationsN)TYPE_CHECKINGTypeVar)AsyncGenerator	Coroutine	Generator)MatcherRaisesGroup   )_core)!create_asyncio_future_in_new_loop'ignore_coroutine_never_awaited_warnings)	ConflictDetectorMultipleExceptionErrorNoPublicConstructorcoroutine_or_errorfinalfixup_module_metadatageneric_functionis_main_thread!raise_single_exception_from_groupwait_all_tasks_blocked      )BaseExceptionGroupExceptionGroup)r   Tc                   K   t        d      t        d      } 5  | 5  t        d       d d d        d d d        t        j                  t        j
                  d      5  5  5  	 d d d        d d d        d d d        dfd}t        t        t        j
                  d            5  t	        j                         4 d {   }|j                  |       |j                  |       d d d       d {    d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w7 {7 K# 1 d {  7  sw Y   [xY w# 1 sw Y   y xY ww)Nul1ul2okmatchc                 d   K    5  t                d {    d d d        y 7 # 1 sw Y   y xY wwNr   )r!   s   W/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/trio/_tests/test_util.pywait_with_ul1z,test_ConflictDetector.<locals>.wait_with_ul16   s3      	+(***	+ 	+*	+ 	+s    0$"$	0$-0returnNone)
r   printpytestraisesr   BusyResourceErrorr
   r	   open_nursery
start_soon)r"   r)   nurseryr!   s      @r(   test_ConflictDetectorr4   )   s?    
5
!C
5
!C	  	$K	 
u..e	<  	 	
+ 
WU44e<	= .%%' 	. 	.7}-}-	. 	.. .	 	  	 	 	. 	. 	. 	. 	.. .s   E#DDD-E# D2#D&&D(D&0D281E#)ED>E#E)E4E 5E9	E#D	DDE#D#D&&D/	+D22D;7E#>E EE	E	E	EE E#c                    dd l } dd l} | j                  j                  dk(  sJ | j                  j                  dk(  sJ | j
                  j                  j                  dk(  sJ | j                  j                  j                  dk(  sJ | j                  j                  j                  dk(  sJ | j                  j                  j                  j                  dk(  sJ | j
                  j                  j                  j                  dk(  sJ | j                  j                  dk(  sJ | j                  j                  dk(  sJ | j
                  j                   j                  j                  dk(  sJ | j
                  j                   j                  j                  dk(  sJ | j"                  j                  d	k(  sJ | j"                  j$                  j                  d
k(  sJ | j"                  j$                  j                  d
k(  sJ y )Nr   trioztrio.abcztrio.lowlevelztrio.testing	Cancelledsend_allzSendStream.send_allztrio.to_threadrun_sync)r6   trio.testingr7   
__module__r1   abcStreamlowlevelwait_task_rescheduledtesting	trio_test
ParkingLot__init__r8   __name____qualname__
SendStream	to_threadr9   )r6   s    r(    test_module_metadata_is_fixed_uprH   @   s   >>$$..''61188??%%33==..99_LL<<!!,,>> ==##,,77?JJ88??##..*<< >>""k11>>&&+5588''00J>>88''448MMM>>""&666>>""++z99>>""//:===    c                 ~   K   t               sJ dd} t        j                  j                  |        d {    y 7 w)Nc                     t               rJ y r'   )r    rI   r(   not_main_threadz,test_is_main_thread.<locals>.not_main_thread[   s    !###rI   r*   )r   r6   rG   r9   )rM   s    r(   test_is_main_threadrN   X   s.     $ ..
!
!/
222s   3=;=z(ignore:.*@coroutine.*:DeprecationWarningc                 P    G d d      t               5  dd} t        j                  t              5 }t	         |               d d d        dt        j                        v sJ dd lt        j                  dk  rbj                  	 	 dfd       }t        j                  t              5 }t	         |              d d d        dt        |j                        v sJ t        j                  t              5 }t	        t                      d d d        dt        |j                        v sJ t        j                  t              5 }t	        t               d d d        dt        |j                        v sJ t        j                  t              5 }t	                       d d d        d	t        |j                        v sJ t        j                  t              5 }t	        fd
       d d d        d	t        |j                        v sJ t        j                  t              5 }t	        t        g dg       d d d        dt        |j                        v sJ 	 	 	 	 dd}t        j                  t              5 }t	        |dg       d d d        d}|t        |j                        v sJ ~d d d        y # 1 sw Y   rxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   JxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nc                      e Zd ZdZy))test_coroutine_or_error.<locals>.DeferredzJust kiddingN)rD   r;   rE   __doc__rL   rI   r(   DeferredrQ   d   s    rI   rS   c                    K   y wr'   rL   rL   rI   r(   fz"test_coroutine_or_error.<locals>.fi   s	     s   zexpecting an async functionr   r   c               3  D   K    j                  d      E d {    y 7 w)N   )sleep)asyncios   r(   generator_based_coroz5test_coroutine_or_error.<locals>.generator_based_corot   s      #==+++s     rY   twistedc                              S r'   rL   )rS   s   r(   <lambda>z)test_coroutine_or_error.<locals>.<lambda>   s	    xz rI   )rW   r   r   zappears to be synchronousc                  K   d  y wr'   rL   )_s    r(   	async_genz*test_coroutine_or_error.<locals>.async_gen   s      s   	z5expected an async function but got an async generatorr*   )r+   z2Generator[Coroutine[None, None, None], None, None])r_   objectr+   zAsyncGenerator[None, None])r   r.   r/   	TypeErrorr   strvaluerY   sysversion_info	coroutiner   len)rU   excinforZ   r`   msgrS   rY   s        @@r(   test_coroutine_or_errorrk   b   s     
1	2 8	 ]]9% 	$qs#	$,GMM0BBBg%,B, ,
 y) ;W"#7#9:;GMM 222]]9% 	D@BC	DC... ]]9% 	B@A	BC...]]9% 	+xz*	+C...]]9% 	312	3C...]]9% 	1sYK0	1 +c'--.@@@		'	
 ]]9% 	/y1#.	/Ec'--((( q8 8
	$ 	$; ;	D 	D
	B 	B	+ 	+	3 	3	1 	1	/ 	/e8 8s   LJ6A(L.K?:L9K:LK:LK*":LK7+:L%L9AL;L	$L6K 	;LK	LK	LK'	"L*K4	/L7L	<LL		LL	LL%c                 8   t         dd       } | | t           cxu r| t        t        f   u sJ  J  | d       | t           d      cxk(  rdk(  sJ  J | j                  dk(  sJ | j                  dk(  sJ | j
                  dk(  sJ | j                  t
        k(  sJ y )Nc                    | S )Look, a docstring!rL   )args    r(   	test_funcz(test_generic_function.<locals>.test_func   s	     
rI   *   rn   z(test_generic_function.<locals>.test_funcrp   )ro   r   r+   r   )r   intrc   rR   rE   rD   r;   )rp   s    r(   test_generic_functionrs      s      	#=)CH*=====R=NIcN2.4"4444 444!!%OOO,,8+++rI   c                     t          G d d             } t        j                  t              5   G d d|       }ddd       y# 1 sw Y   yxY w)zTest that subclassing a @final-annotated class is not allowed.

    This checks both runtime results, and verifies that type checkers detect
    the error statically through the type-ignore comment.
    c                      e Zd Zy)(test_final_decorator.<locals>.FinalClassNrD   r;   rE   rL   rI   r(   
FinalClassrv      s    rI   rx   c                      e Zd Zy)&test_final_decorator.<locals>.SubClassNrw   rL   rI   r(   SubClassrz      s    rI   r{   N)r   r.   r/   rb   )rx   r{   s     r(   test_final_decoratorr|      sJ        
y	! 	z 	  s   AAc                      G d dt               } t        j                  t              5   | dd       ddd       t	        | j                  dd      |       sJ y# 1 sw Y   )xY w)zLThe NoPublicConstructor metaclass prevents calling the constructor directly.c                      e Zd ZddZy):test_no_public_constructor_metaclass.<locals>.SpecialClassc                     |dk(  sJ |dk(  sJ y)z*Check arguments can be passed to __init__.   333333	@NrL   )selfabs      r(   rC   zCtest_no_public_constructor_metaclass.<locals>.SpecialClass.__init__   s    6M99rI   N)r   rr   r   floatr+   r,   )rD   r;   rE   rC   rL   rI   r(   SpecialClassr      s    	rI   r   )	metaclassr   r   N)r   )r   r.   r/   rb   
isinstance_create)r   s    r(   $test_no_public_constructor_metaclassr      s^    !4  
y	! Q l**1*5|DDD	 s   
AA%c                    t        j                  d      } d | _        d| j                  _        d| j                  _        t        | j                  t        |              | j                  j                  dk(  sJ | j                  j                  dk(  sJ t        j                  d      }d |_        d|j                  _        d|j                  _        t        j                         |_        d|j                  _        t        j                         |_	        d|j                  _
        d|j                  _        d	 |_        d|j                  _
        d
x|j                  _        |j                  _        t        ddd d d      |_        |j                  |j                  _        t        dt        |             |j                  j                  dk(  sJ |j                  j                  dk(  sJ |j                  j                  dk(  sJ |j                  j                  dk(  sJ |j                  j                  d
k(  sJ |j                  j                  dk(  sJ |j                  j                  d
k(  sJ |j                  j                  dk(  sJ |j                  j                  dk(  sJ t        |j                  d      rJ |j                  j                   j                  dk(  sJ |j                  j                   j                  dk(  sJ |j                  j                   j                  dk(  sJ | j                          |j                          |j                          |j                         j!                          y )Nnot_trioc                      y r'   rL   rL   rI   r(   r]   z,test_fixup_module_metadata.<locals>.<lambda>       rI   	some_funcztrio._somemodule_implc                      y r'   rL   rL   rI   r(   r]   z,test_fixup_module_metadata.<locals>.<lambda>   r   rI   _something_elsenot_funclike	only_namec                      y r'   rL   rL   rI   r(   r]   z,test_fixup_module_metadata.<locals>.<lambda>   r   rI   _private	SomeClassrL   c                     y r'   rL   r   s    r(   r]   z,test_fixup_module_metadata.<locals>.<lambda>   r   rI   c                     y r'   rL   r   s    r(   r]   z,test_fixup_module_metadata.<locals>.<lambda>   r   rI   )rC   methodztrio.somemoduleonly_has_namerE   r   zSomeClass.method)types
ModuleTyper   rD   rE   r   varsSimpleNamespacer   r   r;   r   typer   	recursionhasattrr   )non_trio_modulemods     r(   test_fixup_module_metadatar      s   &&z2O ,O)4O&-8O*/22D4IJ$$--<<$$11[@@ 

2
3C CM.CMM!2CMM ,,.C .C --/C#:C !,C  CL5CLL8BBCLLCLL5 
)'	
CM "mmCMM+T#Y7==!![00==##'888==%%44$$66<<  J..<<""&===<<$$
22%%88''+<<<s((.99==((H44==**.???==,,0BBBMMOLLNMMOrI   c            	       K   t        d      } t        d      }t        d      }|| _        || _        t
        j                  j                         }t        j                  t         d      5 }t        t        d| g             d d d        j                  j                  |k(  sJ |j                  j                  |k(  sJ t        d| g      }t        d      }t        d      }||_        ||_        t        t        t         d	      d
      5 }t        t        d|g             d d d        j                  j                  |k(  sJ |j                  j                  |k(  sJ t        j                  t         d      5 }t        t        d||| g             d d d        |j                  j                  |k(  sJ |j                  j                  |k(  sJ t        dt        d      t        d      g      }	t        j                  t         d      5 }t        |	       d d d        |j                  j                  |	u sJ |j                  j                  J t        dt        d      t        d      t#        d      g      }
t        j                  t"        d      5 }t        |
       d d d        |j                  j                  |
u sJ |j                  j                  J t        dt        d      t        d      t%        d      g      }t        j                  t$        d      5 }t        |       d d d        |j                  j                  |u sJ |j                  j                  J t        j                  t
        j                  d      5 }t        t        d|t
        j                  j                         g             d d d        |j                  |u sJ |j                  j                  J |j                  j                  J y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY ww)Nfoocausecontextr$    zinner egzinner eg causezinner eg contextz^foo$z
^inner eg$barzy^Attempted to unwrap exceptiongroup with multiple non-cancelled exceptions. This is often caused by a bug in the caller.$zthis exc doesn't get reraisedz^$z^Cancelled$)
ValueErrorSyntaxErrorrb   	__cause____context__r6   r7   r   r.   r/   r   r   rd   r
   r	   r   r   KeyboardInterrupt
SystemExit)excr   r   	cancelledri   inner_eginner_causeinner_contexteginfoegeg_kisystemexit_kis               r(   &test_raise_single_exception_from_groupr     s     U
C E	"GCMCO&&(I	z	/ E7).cU*CDE==""e++==$$// j3%0H./K01M$H(H	WZw7|	L JPV).hZ*HIJ<<!![00<<##}44	z	/ 
7)rIy##>?	

 ==""e++==$$// 
Z.
50AB	CB	 K
 . 
)"-	.
 ==""b((==$$,, 
uu=>	
E 
(	6 1')%01==""e++==$$,, '
uu67	
M 
z	/ 97)-89==""m33==$$,, 
t~~^	< 
)rIt~~/E/E/G#HI	

 ==I%%==""**==$$,,,IE EJ J

 
. ."1 19 9
 
s   A)Q'+PBQ'P$AQ'=P'A9Q'P4A?Q'Q&A?Q'%Q1AQ'4QA	Q'PQ'P$Q''P1,Q'4P>9Q'QQ'QQ'Q$ Q'r*   )1
__future__r   re   r   typingr   r   collections.abcr   r   r   r.   r6   r:   r	   r
   r   r   _core._tests.tutilr   r   _utilr   r   r   r   r   r   r   r   r   r@   r   rf   exceptiongroupr   r   r   r4   rH   rN   markfilterwarningsrk   rs   r|   r   r   r   rL   rI   r(   <module>r      s    " 
  )DD   - 
 
 
 -gA.CL..>03 FG< H<~,"E AHN-rI   