§
    øyIf€  ã                  óú   — d Z ddlmZ ddlZddlZddlmZmZmZ ddl	m
Z
mZ ddlmZmZ ddlmZ erddlmZ dd	lmZ dd
lmZ ddlmZ  ej        e¦  «        Z G d„ de¦  «        Zd$d„Zd%d„Zd&d„Zd'd"„Z d#Z!dS )(z,Defines how to run a single tox environment.é    )ÚannotationsN)ÚTYPE_CHECKINGÚ
NamedTupleÚcast)ÚOutcomeÚStdinSource)ÚFailÚSkip)ÚToxBackendFailed)ÚPath)ÚCommand)ÚToxEnv)Ú	RunToxEnvc                  óP   — e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   dZded<   dS )ÚToxEnvRunResultÚstrÚnameÚboolÚskippedÚintÚcodeúlist[Outcome]ÚoutcomesÚfloatÚdurationFÚignore_outcomeN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r   © ó    úN/var/www/piapp/venv/lib/python3.11/site-packages/tox/session/cmd/run/single.pyr   r      sS   € € € € € € Ø€I€I�IØ€M€M�MØ€I€I�IØÐÐÑØ€O€O�OØ €NÐ Ð Ð Ñ Ð Ð r"   r   Útox_envr   Úno_testr   Úsuspend_displayÚreturnc           	     ó,  — t          j        ¦   «         }| j        j        }|                      |¦  «        5  t          | |¦  «        \  }}}d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «         |z
  }t          |||||| j        d         ¦  «        S )Nr   )ÚtimeÚ	monotonicÚconfr   Údisplay_contextÚ	_evaluater   )	r$   r%   r&   Ú	start_oner   r   r   r   r   s	            r#   Úrun_oner/       sÊ   € Ý”Ñ Ô €IØŒ<Ô€DØ	×	 Ò	  Ñ	1Ô	1ð >ð >Ý"+¨G°WÑ"=Ô"=Ñˆ��xð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >åŒ~ÑÔ )Ñ+€HÝ˜4 ¨$°¸(ÀGÄLÐQaÔDbÑcÔcÐcs   µAÁAÁAútuple[bool, int, list[Outcome]]c                ó¼  — d}d}g }	 	 |                       ¦   «          t          | |¦  «        \  }}nÈ# t          $ r)}t                               d|¦  «         d}d}Y d }~nšd }~wt
          $ r4}t                               d|¦  «         t          |j        ¦  «        ‚d }~wt          $ r'}t                               d|¦  «         d}Y d }~n/d }~wt          $ r t                               d¦  «         d	}Y nw xY w|                      ¦   «          n# |                      ¦   «          w xY wn1# t          $ r$}t          t          |j        ¦  «        }Y d }~nd }~ww xY w|||fS )
NFr   zskipped because %sTz%szfailed with %sé   zinternal erroré   )ÚsetupÚrun_commandsr
   ÚLOGGERÚwarningr   ÚerrorÚ
SystemExitr   r	   Ú	ExceptionÚ	exceptionÚteardownr   r   )r$   r%   r   r   r   r;   s         r#   r-   r-   )   s¢  € Ø€GØ€DØ €Hð)ð	Ø�MŠM‰OŒOˆOÝ)¨'°7Ñ;Ô;‰NˆD�(�(øÝð 	ð 	ð 	Ý�NŠNÐ/°Ñ;Ô;Ð;ØˆDØˆGˆGˆGˆGˆGˆGøøøøÝð 	-ð 	-ð 	-Ý�LŠL˜˜yÑ)Ô)Ð)Ý˜Yœ^Ñ,Ô,Ð,øøøøÝð 	ð 	ð 	Ý�LŠLÐ)¨9Ñ5Ô5Ð5ØˆDˆDˆDˆDˆDˆDøøøøÝð 	ð 	ð 	Ý×ÒÐ-Ñ.Ô.Ð.ØˆDˆDˆDð	øøøð ×ÒÑÔÐÐøˆG×ÒÑÔÐÐøøøÐøÝð )ð )ð )Ý•C˜œÑ(Ô(ˆˆˆˆˆˆøøøøð)øøøà�D˜(Ð"Ð"ss   ‰'1 °D ±
C6»AÁD ÁC6Á,/BÂC6Â(C
ÃD Ã
)C6Ã3D Ã5C6Ã6D Ã9D( ÄD$Ä$D( Ä(
EÄ2EÅEútuple[int, list[Outcome]]c           	     ó:  — g }|rt           j        }�nddlm} | j        d         }|                     dd¬¦  «         | j        d         }|                     | ¦  «         d\  }}}		 	 t          | d|||¦  «        }|t           j        k    s|rt          | d	|||¦  «        }nt           j        }t          | d
|||¦  «        }	n# t          | d
|||¦  «        }	w xY w	 |p|p|	}|                     | ||¦  «         n"# |p|p|	}|                     | ||¦  «         w xY w||fS )Nr   )ÚMANAGERÚ
change_dirT)Úexist_okÚparentsÚignore_errors)éÿÿÿÿrD   rD   Úcommands_preÚcommandsÚcommands_post)	r   ÚOKÚtox.plugin.managerr?   r+   ÚmkdirÚtox_before_run_commandsÚrun_command_setÚtox_after_run_commands)
r$   r%   r   Ú	exit_coder?   ÚchdirrC   Ú
status_preÚstatus_mainÚstatus_posts
             r#   r5   r5   E   sm  € Ø €HØð IÝ”Jˆ	‰	à.Ð.Ð.Ð.Ð.Ð.à”l <Ô0ˆØ�Š˜T¨4ˆÑ0Ô0Ð0Ø%œl¨?Ô;ˆØ×'Ò'¨Ñ0Ô0Ð0Ø/9Ñ,ˆ
�K ð	IðhÝ,¨W°nÀeÈ]Ð\dÑeÔe�
Ø¥¤Ò+Ð+¨}Ð+Ý"1°'¸:ÀuÈmÐ]eÑ"fÔ"f�K�Kå")¤*�Kå-¨g°ÈÈ}Ð^fÑgÔg��ø�o¨g°ÈÈ}Ð^fÑgÔg�ÐgÐgÐgÐg�à"Ð@ kÐ@°[ˆIØ×*Ò*¨7°I¸xÑHÔHÐHÐHøð #Ð@ kÐ@°[ˆIØ×*Ò*¨7°I¸xÑHÔHÐHÐHøøøØ�hÐÐs   Á'AC  Â,C7 Ã CÃC7 Ã7Dr   Úkeyr   Úcwdr   rC   r   r   r   c                ód  — t           j        }| j        |         }t          |¦  «        D �]\  }}|                      |j        |t          j        ¦   «         d|› d|› d�¬¦  «        }	|                     |	¦  «         	 |j	        r|	 
                    ¦   «          n|	                     ¦   «          Œƒ# t          $ rw}
|j        rt          j        d¦  «         Y d }
~
Œ­|r/|t           j        k    rt!          t"          |
j        ¦  «        }Y d }
~
ŒÞt!          t"          |
j        ¦  «        cY d }
~
c S d }
~
ww xY w|S )NTú[ú])rT   ÚstdinÚshowÚrun_idzEcommand failed but is marked ignore outcome so handling it as success)r   rH   r+   Ú	enumerateÚexecuteÚargsr   Ú	user_onlyÚappendÚinvert_exit_codeÚassert_failureÚassert_successr9   Úignore_exit_codeÚloggingr7   r   r   r   )r$   rS   rT   rC   r   rN   Úcommand_setÚatÚcmdÚcurrent_outcomer;   s              r#   rL   rL   `   sb  € õ ”
€IØ!(¤¨cÔ!2€KÝ˜[Ñ)Ô)ð -ñ -‰ˆˆCØ!Ÿ/š/ØŒHØÝÔ'Ñ)Ô)ØØ�>�>˜B�>�>�>ð *ñ 
ô 
ˆð 	�Š˜Ñ(Ô(Ð(ð	-ØÔ#ð 1Ø×.Ò.Ñ0Ô0Ð0Ð0à×.Ò.Ñ0Ô0Ð0øøÝð 	-ð 	-ð 	-ØÔ#ð Ý”Ð gÑhÔhÐhØ����Øð Ø¥¤
Ò*Ð*Ý $¥S¨)¬.Ñ 9Ô 9�IØ����Ý�˜Yœ^Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,øøøøð	-øøøð Ðs*   Á;0B,Â,
D-Â6D(Ã,D(ÄD(Ä D-Ä(D-)r   rL   r/   )r$   r   r%   r   r&   r   r'   r   )r$   r   r%   r   r'   r0   )r$   r   r%   r   r'   r=   )r$   r   rS   r   rT   r   rC   r   r   r   r'   r   )"Ú__doc__Ú
__future__r   rd   r)   Útypingr   r   r   Útox.execute.apir   r   Útox.tox_env.errorsr	   r
   Ú0tox.tox_env.python.virtual_env.package.pyprojectr   Úpathlibr   Útox.config.typesr   Útox.tox_env.apir   Útox.tox_env.runnerr   Ú	getLoggerr   r6   r   r/   r-   r5   rL   Ú__all__r!   r"   r#   ú<module>ru      s{  ðØ 2Ð 2à "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2à 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø MÐ MÐ MÐ MÐ MÐ Màð -ØÐÐÐÐÐà(Ð(Ð(Ð(Ð(Ð(Ø&Ð&Ð&Ð&Ð&Ð&Ø,Ð,Ð,Ð,Ð,Ð,à	ˆÔ	˜8Ñ	$Ô	$€ð!ð !ð !ð !ð !�jñ !ô !ð !ðdð dð dð dð#ð #ð #ð #ð8ð ð ð ð6 ð  ð  ð  ðF€€€r"   