Ë
    pPêjk  ã                  ó(  — d dl mZ d dl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Zd dlmZmZmZmZ d dlmZmZ d dlmZmZ  G d„ d	e«      Ze
ej4                  fdd
„«       Zdd„Zej4                  df	 	 	 	 	 	 	 dd„Zdd„Zdd„Zdd„Z y)é    )ÚannotationsN)ÚIterator)Úcontextmanager)Úpackage_pathÚpip_lockÚpip_timeoutÚtest_temp_dir)ÚDataDrivenTestCaseÚ	DataSuite)Úassert_string_arrays_equalÚperform_file_operationsc                  ó   — e Zd ZdgZdZdd„Zy)ÚPEP561Suitezpep561.testú.c                ó   — t        |«       y )N)Útest_pep561)ÚselfÚtestcases     úY/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/test/testpep561.pyÚrun_casezPEP561Suite.run_case   s
   € Ü�HÕó    N©r   r
   ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__ÚfilesÚ	base_pathr   © r   r   r   r      s   „ ØˆO€EØ€Iôr   r   c           	   #  ó’  K  — t        j                  «       5 }t        j                  | dd|gt	        j
                  «       d¬«      }|j                  dk7  rE|j                  j                  d«      |j                  j                  d«      z   }t        d|z   «      ‚t        j                  dk(  rC|t        j                  j                  t        j                  j                  |d	d
«      «      f–— nB|t        j                  j                  t        j                  j                  |dd
«      «      f–— ddd«       y# 1 sw Y   yxY w­w)z~Context manager that creates a virtualenv in a temporary directory

    Returns the path to the created Python executable
    ú-mÚvenvT)ÚcwdÚcapture_outputr   úutf-8zFailed to create venv.
Úwin32ÚScriptsÚpythonÚbinN)ÚtempfileÚTemporaryDirectoryÚ
subprocessÚrunÚosÚgetcwdÚ
returncodeÚstdoutÚdecodeÚstderrÚ	ExceptionÚsysÚplatformÚpathÚabspathÚjoin)Úpython_executableÚvenv_dirÚprocÚerrs       r   Ú
virtualenvr?      sø   è ø€ ô 
×	$Ñ	$Ó	&ð 
U¨(Ü�~‰~Ø  f¨hÐ7¼R¿Y¹Y»[ÐY]ô
ˆð �?‰?˜aÒØ—+‘+×$Ñ$ WÓ-°·±×0BÑ0BÀ7Ó0KÑKˆCÜÐ6¸Ñ<Ó=Ð=Ü�<‰<˜7Ò"ØœBŸG™GŸO™O¬B¯G©G¯L©L¸À9ÈhÓ,WÓXÐXÓXàœBŸG™GŸO™O¬B¯G©G¯L©L¸À5È(Ó,SÓTÐTÒT÷
U÷ 
Uñ 
Uüs   ‚E—DD;Ä2	EÄ;EÅ Ec                ó"  — t         j                  dk\  sdt         j                  cxk  rdk  ry ny| ddddg}	 t        j                  t        t
        ¬«      5  t        j                  |d	t        j                  ¬
«      }ddd«       j                  dk7  r@t        |j                  j                  d«      |j                  j                  d«      z   «      ‚y# 1 sw Y   ŒYxY w# t        j                  $ r}t        dt        › �«      |‚d}~ww xY w)zAInstall pip>=21.3.1. Required for editable installs with PEP 660.)é   é   )rA   é
   rA   Nr"   ÚpipÚinstallzpip>=21.3.1©ÚtimeoutT)r%   ÚenvúFailed to acquire r   r&   )r6   Úversion_infoÚfilelockÚFileLockr   r   r-   r.   r/   ÚenvironÚTimeoutr5   r1   r2   r3   r4   )r;   Úinstall_cmdr=   r>   s       r   Úupgrade_piprP   1   sô   € ä
×Ñ˜7Ò" j´C×4DÑ4DÔ&NÀwÒ&Nð 	ñ 'Oð 	à$ d¨E°9¸mÐL€KðBÜ×Ñœx´Ô=ñ 	TÜ—>‘> +¸dÌÏ
É
ÔSˆD÷	Tð ‡�˜!ÒÜ˜Ÿ™×*Ñ*¨7Ó3°d·k±k×6HÑ6HÈÓ6QÑQÓRÐRð ÷		Tð 	Tûä×Ñò BÜÐ,¬X¨JÐ7Ó8¸cÐAûðBús/   ¹C# Á'CÁ?C# ÃC ÃC# Ã#DÃ6D	Ä	DFc                óÎ  — t         j                  j                  t        | «      }t	        j
                  «       5 }|dddg}|r|j                  d«       |j                  d«       d|i}|j                  t         j                  «       	 t        j                  t        t        ¬«      5  t        j                  ||d|¬	«      }d
d
d
«       d
d
d
«       j"                  dk7  r@t!        |j$                  j'                  d«      |j(                  j'                  d«      z   «      ‚y
# 1 sw Y   ŒaxY w# t        j                  $ r}t!        dt        › �«      |‚d
}~ww xY w# 1 sw Y   Œ“xY w)z.Install a package from test-data/packages/pkg/r"   rD   rE   z-er   Ú	PIP_BUILDrF   T)r$   r%   rH   NrI   r   r&   )r/   r8   r:   r   r+   r,   ÚappendÚupdaterM   rK   rL   r   r   r-   r.   rN   r5   r1   r2   r3   r4   )	Úpkgr;   ÚeditableÚworking_dirÚdirrO   rH   r=   r>   s	            r   Úinstall_packagerY   B   s:  € ô —'‘'—,‘,œ|¨SÓ1€KÜ	×	$Ñ	$Ó	&ð F¨#Ø(¨$°°yÐAˆÙØ×Ñ˜tÔ$Ø×Ñ˜3Ôð ˜CÐ ˆà�
‰
”2—:‘:Ôð	FÜ×"Ñ"¤8´[ÔAñ bÜ!—~‘~ k°{ÐSWÐ]`Ôa�÷b÷Fð  ‡�˜!ÒÜ˜Ÿ™×*Ñ*¨7Ó3°d·k±k×6HÑ6HÈÓ6QÑQÓRÐRð ÷	bð bûä×Ñò 	FÜÐ0´°
Ð;Ó<À#ÐEûð	Fú÷Fð FúsB   ¹AEÂD-Â'D!ÃD-Ä!D*	Ä&D-Ä-EÅ EÅEÅEÅE$c                ó¨  — | j                   €J d«       ‚t        j                  }|€J d«       ‚t        | j                  d   «      \  }}t        | j                  d   «      }d}|D ]  }|dk(  rd}Œt        d	|› �«      ‚ |sJ d
«       ‚t        |«      5 }|\  }}	|rt        |	«       |D ]  }
t        |
|	|«       Œ t        |«      }d|v xs d|v  }|r]| j                  dz   }t        |dd¬«      5 }| j                  D ]  }|j                  |› d�«       Œ 	 ddd«       |j                  |«       |j                  ddg«       |	t        j                  k7  r|j                  d|	› �«       | j!                  «       }|g gk7  rg g|z   }t#        |«      D �]ˆ  \  }}t%        |«       g }t&        j(                  j+                  |«      \  }}}||z   j-                  «       D ]Ó  }|j/                  t0        t2        j4                  z   «      rB|j                  |t7        t0        t2        j4                  z   «      d j9                  d«      «       Œk|j;                  dd¬«      ^}}|r |j=                  t2        j4                  d«      }|j                  dj?                  |g|¢«      j9                  d«      «       ŒÕ |dk(  rdnd|dz   › �}|dk(  r| j@                  n| jB                  jE                  |dz   g «      }tG        ||d| jH                  › d| jJ                  › d|› �«       �Œ‹ |rt3        jL                  «       ddd«       y# 1 sw Y   �Œ(xY w# 1 sw Y   yxY w)z;Test running mypy on files that depend on PEP 561 packages.Nztest was not properly set upzShould be impossibler   é   FrV   TzUnknown pip argument: z(No packages to install for PEP 561 test?z-pz	--packagez.pyÚwr&   )Úencodingú
z--no-error-summaryz--hide-error-codesz--python-executable=z
ú:)Úmaxsplitú/Ú z on iteration zInvalid output (z, line ú))'Úold_cwdr6   Ú
executableÚ
parse_pkgsÚinputÚparse_mypy_argsÚ
ValueErrorr?   rP   rY   ÚlistÚnameÚopenÚwriterS   ÚextendÚ
find_stepsÚ	enumerater   ÚmypyÚapir.   Ú
splitlinesÚ
startswithr	   r/   ÚsepÚlenÚrstripÚsplitÚreplacer:   ÚoutputÚoutput2Úgetr   ÚfileÚlineÚremove)r   r)   ÚpkgsÚpip_argsÚ	mypy_argsrV   Úargr#   r<   r;   rU   Úcmd_lineÚhas_programÚprogramÚfÚsÚstepsÚiÚ
operationsrz   Úoutr>   r1   r~   r8   ÚrestÚ
iter_countÚexpecteds                               r   r   r   [   sP  € à×ÑÐ'ÐGÐ)GÓGÐ'Ü�^‰^€FàÐÐ5Ð5Ó5ÐÜ §¡¨qÑ 1Ó2�N€Dˆ(Ü §¡¨qÑ 1Ó2€IØ€HØò =ˆØ�*ÒØ‰HäÐ5°c°UÐ;Ó<Ð<ð	=ñ
 Ð;Ð;Ó;ˆ4Ü	�FÓ	ð 5˜tØ&*Ñ#ˆÐ#ÙäÐ)Ô*Øò 	>ˆCÜ˜CÐ!2°HÕ=ð	>ô ˜	“?ˆØ 8Ð+ÒF¨{¸hÐ/FÐGˆÙØ—m‘m eÑ+ˆGÜ�g˜s¨WÔ5ð &¸Ø!Ÿ™ò &�AØ—G‘G˜q˜c ˜HÕ%ñ&÷&ð �O‰O˜GÔ$à�‰Ð-Ð/CÐDÔEØ¤§¡Ò.Ø�O‰OÐ2Ð3DÐ2EÐFÔGà×#Ñ#Ó%ˆØ�R�DŠ=Ø�D˜5‘LˆEä& uÓ-ó 	‰MˆAˆzÜ# JÔ/àˆFä#'§8¡8§<¡<°Ó#9Ñ ˆC��jð ˜s™×.Ñ.Ó0ò 	J�Ø—?‘?¤=´2·6±6Ñ#9Ô:Ø—M‘M $¤s¬=¼2¿6¹6Ñ+AÓ'BÐ'DÐ"E×"LÑ"LÈVÓ"TÕUð #'§*¡*¨S¸1 *Ó"=�K�D˜4ÙØ#Ÿ|™|¬B¯F©F°CÓ8˜Ø—M‘M #§(¡(¨D¨=°4¨=Ó"9×"@Ñ"@ÀÓ"HÕIð	Jð  ! Ašv™¨^¸AÀ¹E¸7Ð+CˆJØ*+¨qª&�x—’°h×6FÑ6F×6JÑ6JÈ1ÈqÉ5ÐRTÓ6UˆHä&ØØØ" 8§=¡= /°¸¿¹¸ÀqÈÈÐUöð+	ñ6 Ü�I‰I�gÔ÷k5ð 5÷&ñ &ú÷5ð 5ús&   ÂAMÃ.&L;ÄHMÌ;M	Í MÍMc                ó  — | j                  d«      sg g fS | dd  j                  d«      ^}}|j                  d«      D �cg c]  }|j                  «       ‘Œ c}|D �cg c]  }|j                  «       ‘Œ c}fS c c}w c c}w )Nz# pkgs:é   ú;ú,)rt   rx   Ústrip)ÚcommentÚpkgs_strÚargsrU   rƒ   s        r   rf   rf   ¢   sp   € Ø×Ñ˜iÔ(Ø�Bˆxˆà! ! "˜+×+Ñ+¨CÓ0ˆˆ�4Ø(0¯©°sÓ(;Ö< �—‘•Ò<ÐVZÖ>[Ès¸s¿y¹y½{Ò>[Ð\Ð\ùÒ<ùÒ>[s   ¿A7ÁA<c                ót   — t        j                  d| «      }|sg S |j                  d«      j                  «       S )Nz# flags: (.*)$r[   )ÚreÚmatchÚgrouprx   )r~   Úms     r   rh   rh   ª   s2   € Ü
�‰Ð! 4Ó(€AÙØˆ	Ø�7‰7�1‹:×ÑÓÐr   )r;   Ústrr   zIterator[tuple[str, str]])r;   r�   r   r   )rU   r�   r;   r�   rV   Úboolr   r   r   )r•   r�   r   ztuple[list[str], list[str]])r~   r�   r   z	list[str])!Ú
__future__r   r/   r™   r-   r6   r+   Úcollections.abcr   Ú
contextlibr   rK   Úmypy.apirq   Úmypy.test.configr   r   r   r	   Úmypy.test.datar
   r   Úmypy.test.helpersr   r   r   re   r?   rP   rY   r   rf   rh   r    r   r   ú<module>r¦      s¥   ðÝ "ã 	Û 	Û Û 
Û Ý $Ý %ã ã ß OÓ Oß 8ß Qô�)ô ð Ø(+¯©ó Uó ðUó$Sð$ (+§~¡~ÈðSØ	ðSØ!$ðSØAEðSà	óSó2DóN]ôr   