Ë
    pPêj…6  ã                  óê   — d dl mZ d dlZd dlmZmZmZ d dlmZ d dl	m
Z
 d dlmZmZ ej                  j                  ej                  j!                  e
d«      «      Z G d„ d	e«      Z G d
„ de«      Zy)é    )ÚannotationsN)ÚFindModuleCacheÚModuleNotFoundReasonÚSearchPaths)ÚOptions)Úpackage_path)ÚSuiteÚassert_equalÚmodulefinderc                  ó„   — e Zd Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd	„Zdd
„Zdd„Zdd„Zdd„Zdd„Zdd„Zy)ÚModuleFinderSuitec                óÎ  — t        dt        j                  j                  t        d«      t        j                  j                  t        d«      t        j                  j                  t        d«      t        j                  j                  t        d«      t        j                  j                  t        d«      t        j                  j                  t        d«      t        j                  j                  t        d«      fdd¬	«      | _        t        «       }d
|_        t        | j
                  d |¬«      | _	        t        «       }d|_        t        | j
                  d |¬«      | _
        y )N© únsx-pkg1únsx-pkg2únsx-pkg3únsy-pkg1únsy-pkg2Úpkg1Úpkg2©Úpython_pathÚ	mypy_pathr   Útypeshed_pathT©ÚfscacheÚoptionsF)r   ÚosÚpathÚjoinÚ	data_pathÚsearch_pathsr   Únamespace_packagesr   Úfmc_nsÚfmc_nons)Úselfr   s     ú_/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/test/testmodulefinder.pyÚsetUpzModuleFinderSuite.setUp   sê   € Ü'Øä—‘—‘œY¨
Ó3Ü—‘—‘œY¨
Ó3Ü—‘—‘œY¨
Ó3Ü—‘—‘œY¨
Ó3Ü—‘—‘œY¨
Ó3Ü—‘—‘œY¨Ó/Ü—‘—‘œY¨Ó/ðð Øô
ˆÔô “)ˆØ%)ˆÔ"Ü% d×&7Ñ&7ÀÈwÔWˆŒä“)ˆØ%*ˆÔ"Ü'¨×(9Ñ(9À4ÐQXÔYˆ�ó    c                ón   — | j                   j                  d«      }t        t        j                  |«       y)zG
        If namespace_packages is False, we shouldn't find nsx
        ÚnsxN©r%   Úfind_moduler
   r   Ú	NOT_FOUND©r&   Úfound_modules     r'   Ú test__no_namespace_packages__nsxz2ModuleFinderSuite.test__no_namespace_packages__nsx%   s)   € ð —}‘}×0Ñ0°Ó7ˆÜÔ)×3Ñ3°\ÕBr)   c                ón   — | j                   j                  d«      }t        t        j                  |«       y)zJ
        If namespace_packages is False, we shouldn't find nsx.a.
        únsx.aNr,   r/   s     r'   Ú"test__no_namespace_packages__nsx_az4ModuleFinderSuite.test__no_namespace_packages__nsx_a,   s)   € ð —}‘}×0Ñ0°Ó9ˆÜÔ)×3Ñ3°\ÕBr)   c                óÖ   — | j                   j                  d«      }t        j                  j	                  t        j                  j                  t        dd«      «      }t        ||«       y)zL
        Find find pkg1/a.py for "a" with namespace_packages False.
        Úar   úa.pyN)r%   r-   r   r   Úabspathr    r!   r
   ©r&   r0   Úexpecteds      r'   Ú+test__no_namespace_packages__find_a_in_pkg1z=ModuleFinderSuite.test__no_namespace_packages__find_a_in_pkg13   sE   € ð —}‘}×0Ñ0°Ó5ˆÜ—7‘7—?‘?¤2§7¡7§<¡<´	¸6À6Ó#JÓKˆÜ�X˜|Õ,r)   c                óØ   — | j                   j                  d«      }t        j                  j	                  t        j                  j                  t        ddd«      «      }t        ||«       y ©NÚbr   ú__init__.py©r$   r-   r   r   r8   r    r!   r
   r9   s      r'   Ú+test__no_namespace_packages__find_b_in_pkg2z=ModuleFinderSuite.test__no_namespace_packages__find_b_in_pkg2;   óE   € Ø—{‘{×.Ñ.¨sÓ3ˆÜ—7‘7—?‘?¤2§7¡7§<¡<´	¸6À3ÈÓ#VÓWˆÜ�X˜|Õ,r)   c                óÖ   — | j                   j                  d«      }t        j                  j	                  t        j                  j                  t        dd«      «      }t        ||«       y)z|
        There's no __init__.py in any of the nsx dirs, return
        the path to the first one found in mypypath.
        r+   r   Nr@   r9   s      r'   Ú'test__find_nsx_as_namespace_pkg_in_pkg1z9ModuleFinderSuite.test__find_nsx_as_namespace_pkg_in_pkg1@   sE   € ð
 —{‘{×.Ñ.¨uÓ5ˆÜ—7‘7—?‘?¤2§7¡7§<¡<´	¸:ÀuÓ#MÓNˆÜ�X˜|Õ,r)   c           	     óÚ   — | j                   j                  d«      }t        j                  j	                  t        j                  j                  t        dddd«      «      }t        ||«       y)zP
        Find nsx-pkg1/nsx/a/__init__.py for "nsx.a" in namespace mode.
        r3   r   r+   r6   r?   Nr@   r9   s      r'   Útest__find_nsx_a_init_in_pkg1z/ModuleFinderSuite.test__find_nsx_a_init_in_pkg1I   óJ   € ð —{‘{×.Ñ.¨wÓ7ˆÜ—7‘7—?‘?¤2§7¡7§<¡<´	¸:ÀuÈcÐS`Ó#aÓbˆÜ�X˜|Õ,r)   c           	     óÚ   — | j                   j                  d«      }t        j                  j	                  t        j                  j                  t        dddd«      «      }t        ||«       y)zP
        Find nsx-pkg2/nsx/b/__init__.py for "nsx.b" in namespace mode.
        znsx.br   r+   r>   r?   Nr@   r9   s      r'   Útest__find_nsx_b_init_in_pkg2z/ModuleFinderSuite.test__find_nsx_b_init_in_pkg2Q   rG   r)   c           	     óÚ   — | j                   j                  d«      }t        j                  j	                  t        j                  j                  t        dddd«      «      }t        ||«       y)zK
        Find nsx-pkg3/nsx/c/c.py for "nsx.c.c" in namespace mode.
        znsx.c.cr   r+   Úcúc.pyNr@   r9   s      r'   Útest__find_nsx_c_c_in_pkg3z,ModuleFinderSuite.test__find_nsx_c_c_in_pkg3Y   sJ   € ð —{‘{×.Ñ.¨yÓ9ˆÜ—7‘7—?‘?¤2§7¡7§<¡<´	¸:ÀuÈcÐSYÓ#ZÓ[ˆÜ�X˜|Õ,r)   c           	     óÚ   — | j                   j                  d«      }t        j                  j	                  t        j                  j                  t        dddd«      «      }t        ||«       y)zG
        Prefer nsy-pkg1/a/__init__.pyi file over __init__.py.
        znsy.ar   Únsyr6   ú__init__.pyiNr@   r9   s      r'   Útest__find_nsy_a__init_pyiz,ModuleFinderSuite.test__find_nsy_a__init_pyia   sJ   € ð —{‘{×.Ñ.¨wÓ7ˆÜ—7‘7—?‘?¤2§7¡7§<¡<´	¸:ÀuÈcÐSaÓ#bÓcˆÜ�X˜|Õ,r)   c           	     óÚ   — | j                   j                  d«      }t        j                  j	                  t        j                  j                  t        dddd«      «      }t        ||«       y)zÅ
        There is a nsy-pkg2/nsy/b.pyi, but also a nsy-pkg2/nsy/b/__init__.py.
        We expect to find the latter when looking up "nsy.b" as
        a package is preferred over a module.
        znsy.br   rO   r>   r?   Nr@   r9   s      r'   Útest__find_nsy_b__init_pyz+ModuleFinderSuite.test__find_nsy_b__init_pyi   sJ   € ð —{‘{×.Ñ.¨wÓ7ˆÜ—7‘7—?‘?¤2§7¡7§<¡<´	¸:ÀuÈcÐS`Ó#aÓbˆÜ�X˜|Õ,r)   c                óØ   — | j                   j                  d«      }t        j                  j	                  t        j                  j                  t        ddd«      «      }t        ||«       y)z©
        There is a nsy-pkg2/nsy/c.pyi and nsy-pkg2/nsy/c.py
        We expect to find the former when looking up "nsy.b" as
        .pyi is preferred over .py.
        znsy.cr   rO   zc.pyiNr@   r9   s      r'   Útest__find_nsy_c_pyiz&ModuleFinderSuite.test__find_nsy_c_pyis   sG   € ð —{‘{×.Ñ.¨wÓ7ˆÜ—7‘7—?‘?¤2§7¡7§<¡<´	¸:ÀuÈgÓ#VÓWˆÜ�X˜|Õ,r)   c                óÖ   — | j                   j                  d«      }t        j                  j	                  t        j                  j                  t        dd«      «      }t        ||«       y )Nr6   r   r7   r@   r9   s      r'   Útest__find_a_in_pkg1z&ModuleFinderSuite.test__find_a_in_pkg1}   sC   € Ø—{‘{×.Ñ.¨sÓ3ˆÜ—7‘7—?‘?¤2§7¡7§<¡<´	¸6À6Ó#JÓKˆÜ�X˜|Õ,r)   c                óØ   — | j                   j                  d«      }t        j                  j	                  t        j                  j                  t        ddd«      «      }t        ||«       y r=   r@   r9   s      r'   Útest__find_b_init_in_pkg2z+ModuleFinderSuite.test__find_b_init_in_pkg2‚   rB   r)   c                ón   — | j                   j                  d«      }t        t        j                  |«       y )NÚd)r$   r-   r
   r   r.   r/   s     r'   Útest__find_d_nowherez&ModuleFinderSuite.test__find_d_nowhere‡   s'   € Ø—{‘{×.Ñ.¨sÓ3ˆÜÔ)×3Ñ3°\ÕBr)   N©ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__r(   r1   r4   r;   rA   rD   rF   rI   rM   rQ   rS   rU   rW   rY   r\   r   r)   r'   r   r      sQ   „ óZó.CóCó-ó-ó
-ó-ó-ó-ó-ó-ó-ó-ó
-ô
Cr)   r   c                  ó,   — e Zd Zdd„Zdd„Zdd„Zdd„Zy)ÚModuleFinderSitePackagesSuitec                óÜ  — t         j                  j                  t         j                  j                  t        d«      «      | _        t         j                  j                  | j
                  d«      t         j                  j                  | j
                  dd«      t         j                  j                  | j
                  dd«      | j
                  f}t        dt         j                  j                  t        d«      ft        |«      d¬«      | _	        t        «       }d	|_        t        | j                  d |¬
«      | _        t        «       }d|_        t        | j                  d |¬
«      | _        y )Nzmodulefinder-site-packagesÚbazú..znot-a-directoryúmodulefinder-srcr   r   r   Tr   F)r   r   Úrelpathr    r   Úpackage_dirr   r!   Útupler"   r   r#   r   r$   r%   )r&   Úpackage_pathsr   s      r'   r(   z#ModuleFinderSitePackagesSuite.setUp�   s	  € ÜŸ7™7Ÿ?™?Ü�G‰G�L‰LœÐ'CÓDó
ˆÔô
 �G‰G�L‰L˜×)Ñ)¨5Ó1Ü�G‰G�L‰L˜×)Ñ)¨4Ð1BÓCÜ�G‰G�L‰L˜×)Ñ)¨4Ð1CÓDØ×Ñð	
ˆô (ØÜ—w‘w—|‘|¤I¨vÓ6Ð8Ü˜}Ó-Øô	
ˆÔô “)ˆØ%)ˆÔ"Ü% d×&7Ñ&7ÀÈwÔWˆŒä“)ˆØ%*ˆÔ"Ü'¨×(9Ñ(9À4ÐQXÔYˆ�r)   c                ó�   — t         j                  j                  t        j                  j                  | j                  g|¢­Ž «      S )N)r   r   r8   r    rj   )r&   Úpartss     r'   r   z"ModuleFinderSitePackagesSuite.path§   s-   € Ü�w‰w�‰œrŸw™wŸ|™|¨D×,<Ñ,<ÐE¸uÒEÓFÐFr)   c           	     ó&  — g d| j                  d«      f‘d| j                  dd«      f‘d| j                  dd«      f‘d| j                  ddd«      f‘dt        j                  f‘d	t        j                  f‘d
t        j                  f‘dt        j                  f‘dt        j                  f‘dt        j                  f‘d| j                  d«      f‘d| j                  ddd«      f‘d| j                  ddd«      f‘dt        j                  f‘d| j                  dd«      f‘d| j                  dd«      f‘d| j                  ddd«      f‘d| j                  ddd«      f‘dt        j                  f‘d| j                  dd«      f‘d| j                  dd«      f‘d t        j                  f‘d!t        j                  f‘d"t        j                  f‘d#t        j                  f‘d$t        j                  f‘d%t        j                  f‘d&t        j                  f‘d'| j                  d(d'd«      f‘d)| j                  d(d*d«      f‘d+| j                  d,d-d+d«      f‘d.| j                  d,d-d/d«      f‘d0t        j                  f‘d1| j                  d2d3«      f‘d4t        j                   j                  t        j                   j                  t        d5d«      «      f‘}|D ]5  \  }}d6|z   d7z   }| j                  j                  |«      }t        |||«       Œ7 y )8NÚns_pkg_typedúns_pkg_typed.ar7   úns_pkg_typed.br>   úns_pkg_typed.b.crL   úns_pkg_typed.a.a_varÚns_pkg_untypedúns_pkg_untyped.aúns_pkg_untyped.búns_pkg_untyped.b.cúns_pkg_untyped.a.a_varÚns_pkg_w_stubsúns_pkg_w_stubs.typedzns_pkg_w_stubs-stubsÚtypedrP   úns_pkg_w_stubs.typed_inlineÚtyped_inliner?   úns_pkg_w_stubs.untypedÚ	pkg_typedúpkg_typed.aúpkg_typed.búpkg_typed.b.cúpkg_typed.a.a_varÚpkg_typed_w_stubsúpkg_typed_w_stubs-stubsúpkg_typed_w_stubs.spamúspam.pyiÚpkg_untypedúpkg_untyped.aúpkg_untyped.búpkg_untyped.b.cúpkg_untyped.a.a_varÚ
standaloneústandalone.standalone_varÚbaz_pkgrf   úns_baz_pkg.aÚ
ns_baz_pkgÚneighbor_pkgrg   rh   úns_neighbor_pkg.aÚns_neighbor_pkgÚdoes_not_existúfoo.barú	foo-stubsúbar.pyir6   r   úFind(ú) got {}; expected {})r   r   r.   ÚFOUND_WITHOUT_TYPE_HINTSr   r8   r    r!   r$   r-   r
   ©r&   ÚcasesÚmoduler:   ÚtemplateÚactuals         r'   Útest__packages_with_nsz4ModuleFinderSitePackagesSuite.test__packages_with_nsª   sé  € ð2
à˜TŸY™Y ~Ó6Ð7ð2
ð ˜tŸy™y¨¸Ó@ÐAð2
ð ˜tŸy™y¨¸Ó=Ð>ð	2
ð
   §¡¨>¸3ÀÓ!GÐHð2
ð $Ô%9×%CÑ%CÐDð2
ð Ô3×LÑLÐMð2
ð  Ô!5×!NÑ!NÐOð2
ð  Ô!5×!NÑ!NÐOð2
ð "Ô#7×#PÑ#PÐQð2
ð &Ô';×'TÑ'TÐUð2
ð ˜tŸy™yÐ)9Ó:Ð;ð2
ð $ T§Y¡YÐ/EÀwÐP^Ó%_Ð`ð2
ð" .Ø—	‘	Ð*¨N¸MÓJðð!2
ð( &Ô';×'TÑ'TÐUð)2
ð, ˜$Ÿ)™) K°Ó?Ð@ð-2
ð. ˜DŸI™I k°6Ó:Ð;ð/2
ð0 ˜DŸI™I k°3¸ÓFÐGð12
ð2 ˜dŸi™i¨°S¸&ÓAÐBð32
ð4 !Ô"6×"@Ñ"@ÐAð52
ð8 ! $§)¡)Ð,EÀ~Ó"VÐWð92
ð: & t§y¡yÐ1JÈJÓ'WÐXð;2
ð> Ô0×IÑIÐJð?2
ð@ Ô2×KÑKÐLðA2
ðB Ô2×KÑKÐLðC2
ðD Ô 4× MÑ MÐNðE2
ðF #Ô$8×$QÑ$QÐRðG2
ðJ Ô/×HÑHÐIðK2
ðL )Ô*>×*WÑ*WÐXðM2
ðP ˜Ÿ	™	 %¨°MÓBÐCðQ2
ðR ˜TŸY™Y u¨l¸FÓCÐDðS2
ðT ˜TŸY™Y tÐ-?ÀÐQ^Ó_Ð`ðU2
ðV ! $§)¡)¨DÐ2DÐFWÐY_Ó"`ÐaðW2
ðZ Ô3×=Ñ=Ð>ð[2
ð^ ˜Ÿ	™	 +¨yÓ9Ð:ð_2
ðb ”"—'‘'—/‘/¤"§'¡'§,¡,¬y¸&À&Ó"IÓJÐKðc2
ˆðf !&ò 	5ÑˆF�HØ Ñ'Ð*AÑAˆHà—[‘[×,Ñ,¨VÓ4ˆFÜ˜ ¨8Õ4ñ		5r)   c           	     ó   — g dt         j                  f‘dt         j                  f‘dt         j                  f‘dt         j                  f‘dt         j                  f‘dt         j                  f‘dt         j                  f‘dt         j                  f‘d	t         j                  f‘d
t         j                  f‘dt         j                  f‘dt         j                  f‘d| j                  ddd«      f‘dt         j                  f‘d| j                  dd«      f‘d| j                  dd«      f‘d| j                  ddd«      f‘d| j                  ddd«      f‘dt         j                  f‘d| j                  dd«      f‘d| j                  dd«      f‘dt         j                  f‘dt         j                  f‘d t         j                  f‘d!t         j                  f‘d"t         j                  f‘d#t         j                  f‘d$t         j                  f‘d%| j                  d&d%d«      f‘d't         j                  f‘d(| j                  d)d*d(d«      f‘d+t         j                  f‘d,t         j                  f‘d-| j                  d.d/«      f‘d0t        j                  j                  t        j                  j                  t        d1d«      «      f‘}|D ]5  \  }}d2|z   d3z   }| j                  j                  |«      }t        |||«       Œ7 y )4Nrp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r}   r~   r?   r   r€   r�   r7   r‚   r>   rƒ   rL   r„   r…   r†   rP   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   rf   r‘   r“   rg   rh   r”   r–   r—   r˜   r™   r6   r   rš   r›   )r   r.   rœ   r   r   r8   r    r!   r%   r-   r
   r�   s         r'   Útest__packages_without_nsz7ModuleFinderSitePackagesSuite.test__packages_without_nsä   s½  € ð2
àÔ1×;Ñ;Ð<ð2
ð Ô3×=Ñ=Ð>ð2
ð Ô3×=Ñ=Ð>ð	2
ð
  Ô!5×!?Ñ!?Ð@ð2
ð $Ô%9×%CÑ%CÐDð2
ð Ô3×LÑLÐMð2
ð  Ô!5×!NÑ!NÐOð2
ð  Ô!5×!NÑ!NÐOð2
ð "Ô#7×#PÑ#PÐQð2
ð &Ô';×'TÑ'TÐUð2
ð Ô3×LÑLÐMð2
ð $Ô%9×%RÑ%RÐSð2
ð" .Ø—	‘	Ð*¨N¸MÓJðð!2
ð( &Ô';×'TÑ'TÐUð)2
ð, ˜$Ÿ)™) K°Ó?Ð@ð-2
ð. ˜DŸI™I k°6Ó:Ð;ð/2
ð0 ˜DŸI™I k°3¸ÓFÐGð12
ð2 ˜dŸi™i¨°S¸&ÓAÐBð32
ð4 !Ô"6×"@Ñ"@ÐAð52
ð8 ! $§)¡)Ð,EÀ~Ó"VÐWð92
ð: & t§y¡yÐ1JÈJÓ'WÐXð;2
ð> Ô0×IÑIÐJð?2
ð@ Ô2×KÑKÐLðA2
ðB Ô2×KÑKÐLðC2
ðD Ô 4× MÑ MÐNðE2
ðF #Ô$8×$QÑ$QÐRðG2
ðJ Ô/×HÑHÐIðK2
ðL )Ô*>×*WÑ*WÐXðM2
ðP ˜Ÿ	™	 %¨°MÓBÐCðQ2
ðR Ô1×;Ñ;Ð<ðS2
ðT ˜TŸY™Y tÐ-?ÀÐQ^Ó_Ð`ðU2
ðV !Ô"6×"@Ñ"@ÐAðW2
ðZ Ô3×=Ñ=Ð>ð[2
ð^ ˜Ÿ	™	 +¨yÓ9Ð:ð_2
ðb ”"—'‘'—/‘/¤"§'¡'§,¡,¬y¸&À&Ó"IÓJÐKðc2
ˆðf !&ò 	5ÑˆF�HØ Ñ'Ð*AÑAˆHà—]‘]×.Ñ.¨vÓ6ˆFÜ˜ ¨8Õ4ñ		5r)   Nr]   )rn   Ústrr^   r¥   )r`   ra   rb   r(   r   r¢   r¤   r   r)   r'   rd   rd   Œ   s   „ óZó4Gó85ôt85r)   rd   )Ú
__future__r   r   Úmypy.modulefinderr   r   r   Úmypy.optionsr   Úmypy.test.configr   Úmypy.test.helpersr	   r
   r   ri   r    r!   r   rd   r   r)   r'   ú<module>r«      sZ   ðÝ "ã 	ç PÑ PÝ  Ý )ß 1à�G‰G�O‰O˜BŸG™GŸL™L¨°~ÓFÓG€	ô|C˜ô |Cô~P5 Eõ P5r)   