+
    Bi(+                        ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^RIHt ^ RIH	t	H
t
HtHtHtHtHtHt ]P"                  R 4       t ! R R]P&                  ]P(                  ]P*                  ]P,                  ]P.                  ]P0                  ]P2                  ]P4                  ]P6                  4      t ! R R]P:                  ]P6                  4      t ! R	 R
]P>                  ]P6                  4      t  ! R R]P6                  4      t!R# )    N)fixtures)DistributionPackageNotFoundErrordistributionentry_pointsfilesmetadatarequiresversionc               #      "   \         P                  ! R R7      ;_uu_ 4       p \         P                  ! R\        R7       V x  RRR4       R#   + '       g   i     R# ; i5i)T)recorddefault)categoryN)warningscatch_warningssimplefilterDeprecationWarning)ctxs    </usr/lib/python3.14/test/test_importlib/metadata/test_api.pysuppress_known_deprecationr      s<     		 	 	-	-i2DE	 
.	-	-	-s    A!!A
A!A		A!c                      a  ] tR t^t o RtR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR t]R 4       tR tR tR tR tR tR tR tR tR t R t!R t"R t#R t$V t%R!# )"APITestsz\d+\.\d+(\.\d)?c                    \        R 4      p\        V\        4      '       g   Q h\        P                  ! V P
                  V4      '       g   Q hR# )egginfo-pkgNr   
isinstancestrrematchversion_patternselfpkg_versions   & r   test_retrieves_version_of_self'APITests.test_retrieves_version_of_self)   s<    m,+s++++xx,,k::::    c                    \        R 4      p\        V\        4      '       g   Q h\        P                  ! V P
                  V4      '       g   Q hR# distinfo-pkgNr   r!   s   & r   &test_retrieves_version_of_distinfo_pkg/APITests.test_retrieves_version_of_distinfo_pkg.   s<    n-+s++++xx,,k::::r&   c                    V P                  \        4      ;_uu_ 4        \        R 4       RRR4       R#   + '       g   i     R# ; i)does-not-existN)assertRaisesr   r   r"   s   &r   test_for_name_does_not_exist%APITests.test_for_name_does_not_exist3   s,    344)* 5444s	   4A	c                    RpV FI  pV P                  V4      ;_uu_ 4        \        V4      P                  R,          R 8X  g   Q h RRR4       KK  	  R#   + '       g   i     K`  ; ipkg.dotNameN)r4   pkg_dotzpkg-dotzpkg..dotzPkg.DotsubTestr   r	   r"   namesnames   &  r   test_name_normalization APITests.test_name_normalization7   P    FDd###D)226:iGGG $# ###   $AA%c           
        RpV FV  pV P                  V4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        \        V4       RRR4       RRR4       KX  	  R#   + '       g   i     L; i  + '       g   i     K  ; i)pN)rA   pkgzpkg.)r8   r.   r   r   )r"   prefixesprefixs   &  r   test_prefix_not_matched APITests.test_prefix_not_matched=   sZ    %Ff%%&&';<< ( = &% << &%%s"   A4A!A4!A1,A44Bc                    RR.pV F_  w  r#V P                  V4      ;_uu_ 4        V P                  \        V4      P                  R4      P	                  4       V4       RRR4       Ka  	  R#   + '       g   i     Kv  ; i)r   top_level.txtN)r   mod)egg_with_no_modules-pkg )r8   assertEqualr   	read_textstrip)r"   testspkg_nameexpect_contents   &   r   test_for_top_levelAPITests.test_for_top_levelD   sl    "+
 ).$Hh''   *44_EKKM" (' ).'''s   9A,,A=c                B   RR.pV F{  w  r#V P                  V4      ;_uu_ 4        \        V4       Uu. uF  qDP                  R8X  g   K  VNK  	  up^ ,          pV P                  VP	                  4       V4       RRR4       K}  	  R# u upi   + '       g   i     K  ; i)r   rH   N)r   zmod
)rJ   
)r8   r   r;   rL   rM   )r"   rO   rP   rQ   path	top_levels   &     r   test_read_textAPITests.test_read_textP   s    $-
 ).$Hh''%*8_%4T		_8TDD_	   !4!4!6G	 (' ). (''s"   BB

B
*BBBc                   \        4       pR VP                  9   g   Q hVP                  R R7      pRVP                  9   g   Q hVR,          pV P	                  VP
                  R4       V P	                  VP                  . 4       R# )entriesgroupmainzmod:mainN)r   groupsselectr:   rL   valueextras)r"   epsr[   eps   &   r   test_entry_pointsAPITests.test_entry_points\   sn    nCJJ&&&**9*-&&&V_:.B'r&   c                    \        R R7      pR FW  pW,          pV P                  VP                  P                  R4       V P	                  VP                  P
                  R4       KY  	  R# )r[   r\   1.0.0N)r^   ns:sub)r)   r   )r   assertIndistr;   rL   r   )r"   r[   entryrd   s   &   r   test_entry_points_distribution'APITests.test_entry_points_distributione   sL    Y/'EBMM"'',,(GHRWW__g6 (r&   c                   V P                   P                  \         P                  ! 4       4      pV P                   P                  V P                  V4      4       RRRRR//p\         P                  ! W!4       \        RR7      p\        ;QJ d    R V 4       F  '       g   K   R	M	  R
M! R V 4       4      '       d   Q hRVP                  9  g   Q hR# )zq
Entry points should only be exposed for the first package
on sys.path with a given name (even when normalized).
zDistInfo_pkg-1.1.0.dist-infoMETADATAzS
                Name: distinfo-pkg
                Version: 1.1.0
                zentry_points.txtzJ
                [entries]
                main = mod:altmain
            r[   r\   c              3      "   T F?  pVP                   P                  R 8H  ;'       d    VP                   P                  R8H  x  KA  	  R# 5i)r)   rh   N)rk   r;   r   ).0rd   s   & r   	<genexpr>HAPITests.test_entry_points_unique_packages_normalized.<locals>.<genexpr>   s<      
 GGLLN*IIrww'/IIs
   $A	"A	TFri   N)r   enter_contexttmp_pathadd_sys_pathbuild_filesr   anyr:   )r"   alt_site_diralt_pkgr[   s   &   r   ,test_entry_points_unique_packages_normalized5APITests.test_entry_points_unique_packages_normalizedl   s    
 }}2283D3D3FG##D$5$5l$CD*  # %	-
 	W3Y/3 

333 

 
 
 	
 

 w}},,,r&   c                    V P                  \        4      ;_uu_ 4        \        R R7      R,           RRR4       R#   + '       g   i     R# ; i)r[   r\   missingN)r.   KeyErrorr   r/   s   &r   test_entry_points_missing_name'APITests.test_entry_points_missing_name   s/    x((y))4 )(((s	   <A	c                ,    \        R R7      R8X  g   Q hR# )r   r\   N )r   r/   s   &r   test_entry_points_missing_group(APITests.test_entry_points_missing_group   s    ),222r&   c                    \        4       P                  R RR7      pV P                  \        4      ;_uu_ 4        ^Vn        RRR4       R#   + '       g   i     R# ; i)r[   r^   )r]   r;   N)r   r`   r.   AttributeErrorfoo)r"   rd   s   & r   &test_entry_points_allows_no_attributes/APITests.test_entry_points_allows_no_attributes   s@    ^"""@~..BF /...s   AA	c                    \        R 4      pVR,          R8X  g   Q hVR,          R8X  g   Q hVR,          R 8X  g   Q hVP                  R4      pRV9   g   Q hR# )	r   authorz	Steven MaLICENSEUnknownr5   
Classifierz*Topic :: Software Development :: LibrariesN)r	   get_all)r"   mdclassifierss   &  r   test_metadata_for_this_package'APITests.test_metadata_for_this_package   s^    m$(|{***)}	)))&z]***jj.;{JJJr&   c                    \        R4      p\        4       ;_uu_ 4        VR,          e   Q h RRR4       R#   + '       g   i     R# ; i)z<
Requesting a missing key will still return None, but warn.
r)   r-   N)r	   r   r"   r   s   & r   test_missing_key_legacy APITests.test_missing_key_legacy   s8     n%'))&'/// *)))s	   7A	c                L    \        R4      pVP                  R4      R8X  g   Q hR# )z
Getting a key gets the key.
r   r5   Nr	   getr   s   & r   test_get_keyAPITests.test_get_key   s$     m$vvf~...r&   c                F    \        R4      pVP                  R4      e   Q hR# )z,
Requesting a missing key will return None.
r)   r-   Nr   r   s   & r   test_get_missing_keyAPITests.test_get_missing_key   s$     n%vv&'///r&   c                p   V ^ ,          P                   pV  EF  pVP                   V8X  g   Q hVP                  '       d   VP                  P                  '       g   Q hVP                  '       d   VP                  P                  R8X  g   Q hVP                  '       d   VP                  ^ 8  g   Q hVP                  4       P                  4       '       g   Q h\        VP                  4       \        4      '       g   Q hVP                  P                  R4      '       g   EK  VP                  4        EK  	  R# )r   sha256z.pyN)roothashra   modesizelocateexistsr   read_binarybytesr;   endswithrM   )r   r   files   &  r   _test_filesAPITests._test_files   s    Qx}}D99$$$yyyDIIOOO33yyyDIINNh$>>>yyyDIIN22;;=''))))d..0%8888yy!!%((  r&   c                    \        R 4       Uu. uF  qP                  R8X  g   K  VNK  	  up^ ,          pV P                  \        VP                  4      R4       R# u upi )r)   zmod.pyz!<FileHash mode: sha256 value: .*>N)r   r;   assertRegexreprr   )r"   rA   utils   &  r   test_file_hash_reprAPITests.test_file_hash_repr   sL     0G0aFFh4F0GJdii*MN Hs
   AAc                :    V P                  \        R 4      4       R# r(   r   r   r/   s   &r   test_files_dist_infoAPITests.test_files_dist_info   s    ~./r&   c                    V P                  \        R 4      4       V P                  \        R4      4       V P                  \        R4      4       V P                  \        R4      4       R# )r   zegg_with_module-pkgrJ   zsources_fallback-pkgNr   r/   s   &r   test_files_egg_infoAPITests.test_files_egg_info   sQ    }-.45689:567r&   c                <    V P                  \        R 4      R4       R# )egginfo-filez0.1N)rL   r   r/   s   &r   test_version_egg_info_file#APITests.test_version_egg_info_file   s    0%8r&   c                >    \        R 4      pV P                  V4       R# )r   N)r
   assertIsNone)r"   requirementss   & r   test_requires_egg_info_file$APITests.test_requires_egg_info_file   s    /,'r&   c                    \        R 4      p\        V4      ^8X  g   Q h\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   Q hR# )r   c              3   *   "   T F	  qR 8H  x  K  	  R# 5i)z%wheel >= 1.0; python_version >= "2.7"Nr   )rr   deps   & r   rs   2APITests.test_requires_egg_info.<locals>.<genexpr>   s     RTcAATs   TFN)r
   lenry   r"   depss   & r   test_requires_egg_infoAPITests.test_requires_egg_info   sC    &4yA~~sRTRsssRTRRRRRr&   c                    \         P                  ! R R/V P                  P                  R4      4       \	        R4      pV. 8X  g   Q hR# )zrequires.txtrK   zegginfo_pkg.egg-infor   N)r   rx   site_dirjoinpathr
   r   s   & r   test_requires_egg_info_empty%APITests.test_requires_egg_info_empty   sG     MM""#9:		
 &rzzr&   c                    \        R 4      p\        V4      ^8X  g   Q h\        V4      '       g   Q hRV9   g   Q hRV9   g   Q hR# )r)   zwheel >= 1.0zpytest; extra == 'test'N)r
   r   allr   s   & r   test_requires_dist_info APITests.test_requires_dist_info   sF    '4yA~~4yyy%%%(D000r&   c                    \         P                  ! R 4      p\        \        P                  ! V4      4      p. ROpW#8X  g   Q hR# )a  
            dep1
            dep2

            [:python_version < "3"]
            dep3

            [extra1]
            dep4
            dep6@ git+https://example.com/python/dep.git@v1.0.0

            [extra2:python_version < "3"]
            dep5
            N)dep1dep2zdep3; python_version < "3"zdep4; extra == "extra1"z2dep5; (python_version < "3") and extra == "extra2"zGdep6@ git+https://example.com/python/dep.git@v1.0.0 ; extra == "extra1")textwrapdedentsortedr   _deps_from_requires_text)r"   r
   r   expecteds   &   r   $test_more_complex_deps_requires_text-APITests.test_more_complex_deps_requires_text   sA    ??
  l;;HEF
 r&   c                    \        R 4      P                  pRV9   g   Q hVR,          RR.8X  g   Q hVR,          pVP                  R4      '       g   Q h\        VR,          4      ^8X  g   Q hR# )	r)   r;   keywordssamplepackagedescriptionOnce upon a time
There wasrequires_distNr	   json
startswithr   r"   r   descs   &  r   test_as_jsonAPITests.test_as_json	  sm    n%**||*~(I!6666- <====2o&'1,,,r&   c                    \        R 4      P                  pRV9   g   Q hVR,          RR.8X  g   Q hVR,          pVP                  R4      '       g   Q h\        VR,          4      ^8X  g   Q hR# )	r   r;   r   r   r   r   r   
classifierNr   r   s   &  r   test_as_json_egg_infoAPITests.test_as_json_egg_info  sm    m$))||*~(I!6666- <====2l#$)))r&   c                    V P                  4        \        R 4      P                  pRV9   g   Q h\        VR,          4      ^8X  g   Q hVR,          RR.8X  g   Q hR# )r)   r;   r   r   SAMPLEPACKAGEN)make_uppercaser	   r   r   r   s   & r   test_as_json_odd_caseAPITests.test_as_json_odd_case  sY    n%**||2o&'1,,,*~(I!6666r&   r   N)&__name__
__module____qualname____firstlineno__r    r$   r*   r0   r<   rE   rR   rX   re   rm   r|   r   r   r   r   r   r   r   staticmethodr   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r   r   r      s      )O;
;
+H)

H(7-853
K0/0 
! 
!O089(S
1 @-*7 7r&   r   c                   ,   a  ] tR tRt o R tR tRtV tR# )
LegacyDotsi!  c                    RpV FI  pV P                  V4      ;_uu_ 4        \        V4      P                  R,          R 8X  g   Q h RRR4       KK  	  R#   + '       g   i     K`  ; ir3   r7   r9   s   &  r   r<   "LegacyDots.test_name_normalization"  r>   r?   c                    RpV FI  pV P                  V4      ;_uu_ 4        \        V4      P                  R,          R 8X  g   Q h RRR4       KK  	  R#   + '       g   i     K`  ; i)pkg.lotr5   N)r  pkg_lotzpkg-lotzpkg..lotzPkg.Lotr7   r9   s   &  r   ,test_name_normalization_versionless_egg_info7LegacyDots.test_name_normalization_versionless_egg_info(  r>   r?   r   N)r   r   r   r   r<   r
  r   r   r  s   @r   r  r  !  s     HH Hr&   r  c                   2   a  ] tR tRt o R tR tR tRtV tR# )OffSysPathTestsi/  c                    \         P                  ! \        V P                  4      .R 7      p\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       g   Q hR# ))rV   c              3   L   "   T F  qP                   R ,          R8H  x  K  	  R# 5i)r5   r)   N)r	   )rr   rk   s   & r   rs   IOffSysPathTests.test_find_distributions_specified_path.<locals>.<genexpr>2  s     Mut==(N:us   "$TFN)r   discoverr   r   ry   )r"   distss   & r   &test_find_distributions_specified_path6OffSysPathTests.test_find_distributions_specified_path0  sE    %%C,>+?@sMuMsssMuMMMMMr&   c                ~    V P                   R,          p\        P                  ! V4      pVP                  R8X  g   Q hR# )z9Demonstrate how to load metadata direct from a directory.distinfo_pkg-1.0.0.dist-inforh   N)r   r   atr   r"   dist_info_pathrk   s   &  r   test_distribution_at_pathlib,OffSysPathTests.test_distribution_at_pathlib4  s1    )GG~.||w&&&r&   c                    V P                   R ,          p\        P                  ! \        V4      4      pVP                  R8X  g   Q hR# )r  rh   N)r   r   r  r   r   r  s   &  r   test_distribution_at_str(OffSysPathTests.test_distribution_at_str:  s6    )GGs>23||w&&&r&   r   N)	r   r   r   r   r  r  r  r   r   r  s   @r   r  r  /  s     N'' 'r&   r  c                   &   a  ] tR tRt o R tRtV tR# )InvalidateCachei@  c                0    \         P                  ! 4        R # )N)	importlibinvalidate_cachesr/   s   &r   test_invalidate_cache%InvalidateCache.test_invalidate_cacheA  s    ##%r&   r   N)r   r   r   r   r$  r   r   r  s   @r   r   r   @  s     & &r&   r   )"r   r   unittestr   r"  
contextlibrK   r   importlib.metadatar   r   r   r   r   r	   r
   r   contextmanagerr   
EggInfoPkg EggInfoPkgPipInstalledNoToplevelEggInfoPkgPipInstalledNoModules'EggInfoPkgPipInstalledExternalDataFilesEggInfoPkgSourcesFallbackDistInfoPkgDistInfoPkgWithDotEggInfoFileTestCaser   DistInfoPkgWithDotLegacyr  DistInfoPkgOffPathr  r   r   r&   r   <module>r5     s    	      	 	 	  B7--,,44&&B7JH22H4E4E H'h1183D3D '"&h'' &r&   