
    9[gZ                    R   d dl mZ d dl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mZ d dlZ ee          Z ee          ZddZdd	Zdd
ZddZddZ ej.                  dd      dd       Z ej.                  d      dd       Z ej.                  d      dd       Zy)    )annotationsN)	Generator)Config)Parser)Item)StashKeyc                0    d}| j                  d|d       y )NzUDump the traceback of all threads if a test takes more than TIMEOUT seconds to finishfaulthandler_timeout        )default)addini)parserhelps     O/var/www/html/bid-api/venv/lib/python3.12/site-packages/_pytest/faulthandler.pypytest_addoptionr      s!    	. 	 MM($M<    c                    dd l }t               }|j                         r|| j                  t        <   t        j                  |      | j                  t        <   |j                  | j                  t                  y Nr   )file)	faulthandlerget_stderr_fileno
is_enabledstash$fault_handler_original_stderr_fd_keyosdupfault_handler_stderr_fd_keyenable)configr   stderr_filenos      r   pytest_configurer!      s]     &'M =J9:02}0EFLL,-V\\*EFGr   c                J   dd l }|j                          t        | j                  v r7t	        j
                  | j                  t                  | j                  t        = t        | j                  v r4|j                  | j                  t                  | j                  t        = y y )Nr   )r   disabler   r   r   closer   r   )r   r   s     r   pytest_unconfigurer%   )   sv    "fll2
9:;LL45+v||;FLL)MNOLL=> <r   c                     	 t         j                  j                         } | dk(  r
t               | S # t        t        f$ r3 t         j
                  J t         j
                  j                         cY S w xY w)N)sysstderrfilenoAttributeError
ValueError
__stderr__)r*   s    r   r   r   7   si    '""$ R< ""J' ' ~~)))~~$$&&'s   .1 ?A32A3c                >    t        | j                  d      xs d      S )Nr
   r   )floatgetini)r   s    r   get_timeout_config_valuer1   G   s    56=#>>r   T)wrappertrylastc              #    K   t        | j                        }|dkD  rIdd l}| j                  j                  t           }|j                  ||       	 d |j                          S d S # |j                          w xY wwr   )r1   r   r   r   r   dump_traceback_latercancel_dump_traceback_later)itemtimeoutr   r)   s       r   pytest_runtest_protocolr9   K   sn     &t{{3G{""#>?))')?	7446 446s   AA?A* A?*A<<A?)tryfirstc                 ,    ddl } | j                          y)z@Cancel any traceback dumping due to timeout before entering pdb.r   Nr   r6   r   s    r   pytest_enter_pdbr>   [   s     ,,.r   c                 ,    ddl } | j                          y)zNCancel any traceback dumping due to an interactive exception being
    raised.r   Nr<   r=   s    r   pytest_exception_interactr@   c   s     ,,.r   )r   r   returnNone)r   r   rA   rB   )rA   int)r   r   rA   r/   )r7   r   rA   zGenerator[None, object, object])rA   rB   )
__future__r   r   r(   typingr   _pytest.configr   _pytest.config.argparsingr   _pytest.nodesr   _pytest.stashr   pytestrC   r   r   r   r!   r%   r   r1   hookimplr9   r>   r@    r   r   <module>rM      s    " 	 
  ! ,  "  (5x} $+hsmo =H?' ? t, - $/  / $/  /r   