
    ESj                       U d dl mZ d dlZd dlmZ d dlZd dlZd dlZd dlZd dl	m
Z
 d dl	mZ d dlZd dlmZ d dlmZ d dlmZ d d	lmZ d dlZer	 ej,                  d
k  rd dlmZ  ee          ZddZ G d de
      Z e       Zded<   ddZ	 	 	 	 	 	 ddZ 	 	 	 	 	 	 ddZ!ddZ"ddZ# ejH                  d      dd       Z% ejH                  d      dd       Z& ejH                  d      dd       Z'y)     )annotationsN)Callable)
NamedTuple)TYPE_CHECKING)Config)Item)StashKey)tracemalloc_message)      )ExceptionGroupc                L    t        |       D ]  }t        j                           y N)rangegccollect)
iterations_s     l/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/_pytest/unraisableexception.pygc_collect_harderr      s    :


     c                  ,    e Zd ZU ded<   ded<   ded<   y)UnraisableMetastrmsg	cause_msgzBaseException | None	exc_valueN)__name__
__module____qualname____annotations__ r   r   r   r   $   s    	HN##r   r   z;StashKey[collections.deque[UnraisableMeta | BaseException]]unraisable_exceptionsc                j   | j                   t           j                  }g }d }d }	 	 	  |       }t	        |t
              r$t        d      }||_        |j                  |       =|j                  }	 t        j                  t        j                  |             r# t        $ r Y ndw xY w# t        j                  $ rJ}|j                  #|j                  f|_        |j                  |_        |j                  |       Y d }~hd }~ww xY wt#        |      dk(  r|d   |rt%        d|      	 ~~~y # ~~~w xY w)Nz&Failed to process unraisable exception   r   z&multiple unraisable exception warnings)stashr#   pop
IndexError
isinstanceBaseExceptionRuntimeError	__cause__appendr   warningswarnpytest PytestUnraisableExceptionWarningr   r   argslenr   )configpop_unraisableerrorsmeta
hook_errorr   es          r   collect_unraisabler:   /   s0   \\"78<<NKMFDJ%%' $.)*RS
'+
$j)((C
!fEEcJK    :: !>>- #nn.AF"&..AKa  ! v;!)O !I6RR  D*FD*sY   D- B A D- /(B' D- 	B$!D- #B$$D- 'D:A C?:D- ?D$D- -D2c                <   t         j                  j                  dk(  rdnd}| j                  j	                  t
        |      }	 	 t        |       t        |        |t         _        	 | j                  t        = y # |t         _        w xY w# | j                  t        = w xY wNpypy   r%   )
sysimplementationnamer&   getgc_collect_iterations_keyr   r:   unraisablehookr#   )r4   	prev_hook_default_gc_collect_iterationsgc_collect_iterationss       r   cleanuprH   V   s     +.*<*<*A*AV*KQQR""LL,,!#A0	+34v&!*CLL./ "+CLL./s   A8 B 8BB Bc                 	 | j                   dn| j                   }| d| j                  }ddj                  t        j                  | j
                  | j                  | j                              z   }dt        | j                        z   }||z   |z   }||z   } |t        ||| j                               y # t        $ r} ||        d }~ww xY w)NzException ignored inz: z

 
)r   r   r   )err_msgobjectjoin	tracebackformat_exceptionexc_typer   exc_tracebackr
   r   r*   )	
unraisabler-   rL   summarytraceback_messagetracemalloc_tbr   r   r9   s	            r   unraisable_hookrW   k   s     
 '1&8&8&@"jFXFX 	 IR
 1 145"RWW&&##$$((&
 
  3J4E4E FF))N:n,	#$..	
  q	
 	s   B5B8 8	C	C

Cc                $   t         j                  }t        j                         }|| j                  t
        <   | j                  t        j                  t        | |             t        j                  t        |j                        t         _        y )N)r4   rE   )r-   )r?   rD   collectionsdequer&   r#   add_cleanup	functoolspartialrH   rW   r-   )r4   rE   rZ   s      r   pytest_configurer^      s`    ""I?J?P?P?RE*/FLL&'
y((9UV"**?5<<PCr   c                    t         | j                  vry t        j                  j                  dk(  rdnd}| j                  j                  t        |      }t        |       t        |        y r<   )	r#   r&   r?   r@   rA   rB   rC   r   r:   )r4   rF   rG   s      r   pytest_unconfigurer`      sa     FLL0 	 +.*<*<*A*AV*KQQR""LL,,!#A +,vr   T)trylastc                .    t        | j                         y r   r:   r4   items    r   pytest_runtest_setuprf          t{{#r   c                .    t        | j                         y r   rc   rd   s    r   pytest_runtest_callri      rg   r   c                .    t        | j                         y r   rc   rd   s    r   pytest_runtest_teardownrk      rg   r   )r   intreturnNone)r4   r   rm   rn   )r4   r   rE   z*Callable[[sys.UnraisableHookArgs], object]rm   rn   )rS   zsys.UnraisableHookArgsr-   z2Callable[[UnraisableMeta | BaseException], object]rm   rn   )re   r   rm   rn   )(
__future__r   rY   collections.abcr   r\   r   r?   rO   typingr   r   r.   _pytest.configr   _pytest.nodesr   _pytest.stashr	   _pytest.tracemallocr
   r0   version_infoexceptiongroupr   rl   rC   r   r   r#   r!   r:   rH   rW   r^   r`   hookimplrf   ri   rk   r"   r   r   <module>ry      s-   "  $  	 
      !  " 3  g- *HSMO 
$Z $ J R 
$%N00"L0	0*&&& ?	&
 
&RQ( $ $ $ $ $ $r   