Ë
    æØjj_  ã                  ó   — 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„Z ej$                  d¬«      	 	 	 	 	 	 dd„«       Z	 	 	 	 	 	 dd„Z	 	 	 	 	 	 	 	 dd„Z ej$                  d¬«      dd„«       Zy
)é    )Úannotations)Ú	Generator)Úsaferepr)ÚConfig)ÚExitCode)ÚParser)Ú
FixtureDef)Ú
SubRequest)ÚScopeNc                óz   — | j                  d«      }|j                  dddd¬«       |j                  dddd	¬«       y )
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)ÚparserÚgroups     úS/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/_pytest/setuponly.pyÚpytest_addoptionr      sL   € Ø�O‰O˜MÓ*€EØ	‡O�OØØØØ8ð	 ô ð 
‡O�OØØØØ;ð	 õ ó    T)Úwrapperc              #  óÖ  K  — 	 d –—|j                   j                  j                  rŽt        |d«      rj| j                  rKt        | j                  «      r| j	                  |j                  «      }n&| j                  |j                     }n|j                  }|| _        t        | |j                   d«       S S # |j                   j                  j                  rŽt        |d«      rj| j                  rKt        | j                  «      r| j	                  |j                  «      }n&| j                  |j                     }n|j                  }|| _        t        | |j                   d«       w w xY w­w)NÚparamÚSETUP)
ÚconfigÚoptionÚ	setupshowÚhasattrÚidsÚcallabler   Úparam_indexÚcached_paramÚ_show_fixture_action)Ú
fixturedefÚrequestr   s      r   Úpytest_fixture_setupr'      s  è ø€ ðFÚà�>‰>× Ñ ×*Ò*Ü�w Ô(ð —>’>Ü 
§¡Ô/Ø *§¡¨w¯}©}Ó =™à *§¡¨w×/BÑ/BÑ C™à#ŸM™M�EØ*/�
Ô'Ü  ¨W¯^©^¸WÕEð +øˆ7�>‰>× Ñ ×*Ò*Ü�w Ô(ð —>’>Ü 
§¡Ô/Ø *§¡¨w¯}©}Ó =™à *§¡¨w×/BÑ/BÑ C™à#ŸM™M�EØ*/�
Ô'Ü  ¨W¯^©^¸WÕEð +üs   ‚E)„B6 ‡B/E)Â6B0E&Å&E)c                ó°   — | j                   �J|j                  }|j                  j                  r't	        | |j                  d«       t        | d«      r| `y y y y )NÚTEARDOWNr#   )Úcached_resultr   r   r   r$   r   r#   )r%   r&   r   s      r   Úpytest_fixture_post_finalizerr+   5   sU   € ð ×ÑÐ+Ø—‘ˆØ�=‰=×"Ò"Ü  ¨W¯^©^¸ZÔHÜ�z >Ô2ØÑ+ð 3ð #ð ,r   c                ó   — |j                   j                  d«      }|r|j                  «        |j                  «       }|j	                  «        t        t        t        «      «      j                  | j                  «      }|j                  d|z  «       | j                  d   j                  «       }|j                  |d›d|› d| j                  › �«       |dk(  rMt        d„ | j                  D «       «      }|r/|j                  dj!                  d	j#                  |«      «      «       t%        | d
«      r*|j                  dt'        | j(                  d¬«      › d�«       |j+                  «        |r|j-                  «        y y )NÚcapturemanagerz  r   z<8ú r   c              3  ó,   K  — | ]  }|d k7  sŒ	|–— Œ y­w)r&   N© )Ú.0Úargs     r   ú	<genexpr>z'_show_fixture_action.<locals>.<genexpr>Q   s   è ø€ ÒM˜c¸CÀ9Ó<L”cÑMùs   ‚
�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   ÚmsgÚcapmanÚtwÚscope_indentÚ	scopenameÚdepss           r   r$   r$   @   s:  € ð ×!Ñ!×+Ñ+Ð,<Ó=€FÙØ×%Ñ%Ô'à	×	#Ñ	#Ó	%€BØ‡G�G„Iäœ¤›Ó(×.Ñ.¨z×/@Ñ/@ÓA€LØ‡H�HˆW�|Ñ#Ô$à× Ñ  Ñ#×)Ñ)Ó+€IØ‡H�H��Bˆx�q˜˜ 1 Z×%7Ñ%7Ð$8Ð9Ô:à
ˆg‚~ÜÑM Z×%8Ñ%8ÔMÓMˆÙØ�H‰HÐ+×2Ñ2°4·9±9¸T³?ÓCÔDäˆz˜>Ô*Ø
�‰�1”X˜j×5Ñ5¸rÔBÐCÀ1ÐEÔFà‡H�H„JáØ×$Ñ$Õ&ð r   )Útryfirstc                óR   — | j                   j                  rd| j                   _        y )NT)r   Ú	setuponlyr   )r   s    r   Úpytest_cmdline_mainrT   ^   s   € à‡}�}×ÒØ"&ˆ�‰ÔØr   )r   r   ÚreturnÚNone)r%   úFixtureDef[object]r&   r
   rU   zGenerator[None, object, object])r%   rW   r&   r
   rU   rV   )r%   rW   r   r   rK   ÚstrrU   rV   )r   r   rU   zint | ExitCode | None)Ú
__future__r   Úcollections.abcr   Ú_pytest._io.safereprr   Ú_pytest.configr   r   Ú_pytest.config.argparsingr   Ú_pytest.fixturesr	   r
   Ú_pytest.scoper   Úpytestr   Úhookimplr'   r+   r$   rT   r0   r   r   ú<module>rb      sÅ   ðÝ "å %å )Ý !Ý #Ý ,Ý 'Ý 'Ý Û óð  €‡�˜ÔðFØ"ðFØ-7ðFà$òFó ðFð*,Ø"ð,Ø-7ð,à	ó,ð'Ø"ð'Ø,2ð'Ø9<ð'à	ó'ð< €‡�˜$Ôòó  ñr   