o
    h_                     @  s   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	m
Z
 d dlmZ d dlmZ d d	lmZ d d
lZd&ddZejddd'ddZd(ddZd)d d!Zejdd"d*d$d%Zd
S )+    )annotations)	Generator)saferepr)Config)ExitCode)Parser)
FixtureDef)
SubRequest)ScopeNparserr   returnNonec                 C  s2   |  d}|jddddd |jdddd	d d S )
Ndebugconfigz--setuponlyz--setup-only
store_truez)Only setup fixtures, do not execute tests)actionhelpz--setupshowz--setup-showz,Show setup of fixtures while executing tests)getgroup	addoption)r   group r   R/var/www/html/openai_agents/venv/lib/python3.10/site-packages/_pytest/setuponly.pypytest_addoption   s   

r   T)wrapper
fixturedefFixtureDef[object]requestr	   Generator[None, object, object]c              
   c  s    z2d V W |j jjr3t|dr+| jr%t| jr| |j}n
| j|j }n|j}|| _t	| |j d S S |j jjrbt|drZ| jrTt| jrM| |j}n
| j|j }n|j}|| _t	| |j d w w )NparamSETUP)
configoption	setupshowhasattridscallabler   param_indexcached_param_show_fixture_action)r   r   r   r   r   r   pytest_fixture_setup   s,   




r(   c                 C  sD   | j d ur|j}|jjrt| |jd t| dr | `d S d S d S d S )NTEARDOWNr&   )cached_resultr   r    r!   r'   r"   r&   )r   r   r   r   r   r   pytest_fixture_post_finalizer5   s   

r+   r   r   msgstrc                 C  s   |j d}|r|  | }|  ttt| j	}|
d|  | jd  }|
|dd| d| j  |dkrVtdd | jD }|rV|
d	d
| t| dri|
dt| jdd d |  |ru|  d S d S )Ncapturemanagerz  r   z<8 r   c                 s  s    | ]	}|d kr|V  qdS )r   Nr   ).0argr   r   r   	<genexpr>Q   s    z'_show_fixture_action.<locals>.<genexpr>z (fixtures used: {})z, r&   [*   )maxsize])pluginmanager	getpluginsuspend_global_captureget_terminal_writerlinelistreversedr
   index_scopewritescopeupperargnamesortedargnamesformatjoinr"   r   r&   flushresume_global_capture)r   r   r,   capmantwscope_indent	scopenamedepsr   r   r   r'   @   s&   
r'   )tryfirstint | ExitCode | Nonec                 C  s   | j jrd| j _d S )NT)r    	setuponlyr!   )r   r   r   r   pytest_cmdline_main^   s   rR   )r   r   r   r   )r   r   r   r	   r   r   )r   r   r   r	   r   r   )r   r   r   r   r,   r-   r   r   )r   r   r   rP   )
__future__r   collections.abcr   _pytest._io.safereprr   _pytest.configr   r   _pytest.config.argparsingr   _pytest.fixturesr   r	   _pytest.scoper
   pytestr   hookimplr(   r+   r'   rR   r   r   r   r   <module>   s"    




