+
    i '                        R t ^ 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IHt ^ RIt^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^RIHt ]P,                  R,          R8  t]P,                  R,          R8  t]P,                  R,          R8  t]P4                  P7                  R4      t]P:                  P=                  R4      t]P:                  P=                  R4      ;'       g    ]t ]P:                  P=                  R4      t!] ;'       g    ]!t"]P:                  P=                  R4      t#]$! ]PJ                  ! R4      4      t& ! R R]'4      t( ! R R]PR                  ](R7      t)R# )z
Tests for greenlet.

N)collect)get_objects)active_count)sleep)time)greenlet)
getcurrent)get_pending_cleanup_count)get_total_main_greenlets)	leakcheck:N   NwinGITHUB_ACTIONSTRAVISAPPVEYORGREENLET_MANYLINUXPy_GIL_DISABLEDc                   &   a  ] tR t^/t o R tRtV tR# )TestCaseMetaClassc                4   R p\        VP                  4       4       Fd  w  rVVP                  R4      '       g   K  \        V4      '       g   K1  VP	                  V4       V'       d   \
        P                  ! V4      pWcV&   Kf  	  \        P                  WW#4      # )Ttest)	listitems
startswithcallablepopr   wrap_refcounttype__new__)cls	classnamebases	classDictcheck_totalrefcountkeyvalues   &&&&   qC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\greenlet/tests/__init__.pyr   TestCaseMetaClass.__new__2   st    
 #
 y01JC~~f%%(5//c"&%33E:E!&# 2 ||CE==     N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell__)__classdict__s   @r&   r   r   /   s     > >r(   r   c                      a a ] tR t^Et oRt^tRR lt]R3R lt^ t	^ t
^ tRtR tV 3R ltV 3R ltR	 tR
 tRR ltRR ltRtVtV ;t# )TestCasegMbP?c                   T;'       g    V P                   pT;'       g    V P                  pV P                  p\        V4       \	        4       V P
                  ,           p\        4       '       g1   \        4       V8  g"   V P                  '       gd   \        4       V8  dU   \        V4       \	        4       V8  g   K\  \        R 4       \        RVR\        4       4       \        RVR\        4       4        \        4        R# )zTime limit exceeded.zThreads: Waiting for onlyz-->zMGlets : Waiting for onlyN)threads_before_testmain_greenlets_before_testcleanup_attempt_sleep_durationr   r   cleanup_max_sleep_secondsr	   active_thread_countexpect_greenlet_leakr
   printr   )selfinitial_active_threadsinitial_main_greenlets
sleep_time
quit_afters   &&&  r&   wait_for_pending_cleanups"TestCase.wait_for_pending_cleanupsJ   s     "8!S!S4;S;S!7!Z!Z4;Z;Z88
 	jVd<<<
 *++&(+AA111025KK*v
",-13I02413I579	r(   Tc                   a \        ^4       F  p\        4        K  	  V'       d   \        V3R l\        4        4       4      # \        V3R l\        4        4       4      # )   c              3   J   <"   T F  p\        V4      SJ g   K  ^x  K  	  R# 5i   N)r   .0xkinds   & r&   	<genexpr>)TestCase.count_objects.<locals>.<genexpr>r   s%      &A7d? &s   #
#c              3   P   <"   T F  p\        VS4      '       g   K  ^x  K  	  R# 5irE   )
isinstancerG   s   & r&   rK   rL   x   s$      
"!T" A"s   &
&)ranger   sumr   )r;   rJ   
exact_kind_s   &f& r&   count_objectsTestCase.count_objectsl   sU     qAI  $    
 ]
 
 	
r(   Fc                .    V P                  \        R4      # )z:
Find all the greenlets and subclasses tracked by the GC.
F)rS   RawGreenlet)r;   s   &r&   count_greenletsTestCase.count_greenlets   s     !!+u55r(   c                   < \         SV `  4        \        4        \        4       V n        \        4       V n        V P                  V P                  V P                  4       V P                  4       V n	        R # N)
supersetUpr   r8   r4   r
   r5   r@   rW   greenlets_before_testr;   	__class__s   &r&   r\   TestCase.setUp   sV     	#6#8 *B*D'&&t'?'?A`A`a%)%9%9%;"r(   c                   < \        V R R4      '       d   R# V P                  V P                  V P                  4       \        SV `  4        R# )skipTearDownFN)getattrr@   r4   r5   r[   tearDownr^   s   &r&   rd   TestCase.tearDown   s<    4//&&t'?'?A`A`ar(   c                b    ^ RI p\        '       g   VP                  ) VP                  ) 3pV# RpV# )    N)rC   l   	   l       )signalWINSIGABRTSIGSEGV)r;   rh   expected_exits   &  r&   ,get_expected_returncodes_for_aborted_process5TestCase.get_expected_returncodes_for_aborted_process   sD    J  ^^O
 ^^O
 
 	 r(   c                     \         P                  ! 4       P                  4       P                  #   \         d   p\
        P                  ! R4      ThRp?ii ; i)aH  
Return the current process's USS in bytes.

uss is available on Linux, macOS, Windows. Also known as
"Unique Set Size", this is the memory which is unique to a
process and which would be freed if the process was terminated
right now.

If this is not supported by ``psutil``, this raises the
:exc:`unittest.SkipTest` exception.
zuss not supportedN)psutilProcessmemory_full_infoussAttributeErrorunittestSkipTest)r;   es   & r&   get_process_ussTestCase.get_process_uss   sJ    	@>>#446::: 	@##$78a?	@s   ,/ AAAc                   ^ RI p\        P                  P                  \        P                  P	                  \
        4      V4      p VP                  \        P                  V.RVP                  R7      #   TP                   dQ   pT'       dC   \        R4       \        RT4       \        R4       \        TP                  4       \        R4       h Rp?ii ; i)rg   Nzutf-8)encodingstderrz-----zFailed to run scriptz~~~~~z------)
subprocessospathjoindirname__file__check_outputsys
executableSTDOUTCalledProcessErrorr:   output)r;   script_nameshow_outputr}   scriptexs   &&&   r&   
run_scriptTestCase.run_script   s    GGOOH%

	**CNNF+C4;2<2C2C + E E ,, 	g,f5gbii h	s   -A5 5CACCc                >   ^ RI pV P                  VP                  4      ;_uu_ 4       pV P                  VRR7      pTpRRR4       Vf   V P	                  4       pV P                  XP                  P                  V4       VP                  #   + '       g   i     LV; i)rg   NF)r   )r}   assertRaisesr   r   rm   assertIn	exception
returncode)r;   r   	exitcodesr}   excr   __traceback_info__s   &&&    r&   assertScriptRaisesTestCase.assertScriptRaises   s|    z<<==__[e_DF!' > IIKIcmm..	:}} >=s   BB	)r]   r5   r4   )NN)TrZ   )r*   r+   r,   r-   r6   r7   r@   r   rS   r]   r4   r5   r9   rW   r\   rd   rm   rx   r   r   r.   r/   __classcell__)r_   r0   s   @@r&   r2   r2   E   sg     %*" ! D "&$ 
$ !" 6<+Z@"* r(   r2   )	metaclass)rC      )rC      )rC      )*__doc__r~   r   	sysconfigru   gcr   r   	threadingr   r8   r   r   rp   r   rV   r   greenlet._greenletr	   r
    r   version_infoPY312PY313PY314platformr   ri   environgetRUNNING_ON_GITHUB_ACTIONSRUNNING_ON_TRAVISRUNNING_ON_APPVEYORRUNNING_ON_CIRUNNING_ON_MANYLINUXboolget_config_varRUNNING_ON_FREETHREAD_BUILDr   r   r2   r)   r(   r&   <module>r      s/   
 
     9    ,  8 7 '' 	'	lle$JJNN+;< JJNN8,II0I jjnnZ0 !88%8zz~~&:;  #9#;#;<M#NO > >,sx  ,= sr(   