
    ,h"                        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	m
Z
 ddlmZ ddlmZ ddlmZ d dlmZ d	 Z ed
dddddddg      Zd Zddgdgddfdddgfddgffdfdddgidfddidfdd dD        id ffZej0                  j3                  d!e      d"        Zd# Zd$ Zej0                  j3                  d%g d&      d'        Zej0                  j3                  d(d)dd*d+gd,gfd-dd*d+gd,gfd,dd*d+gd,gfd)dd.gd/d)gfd,dd0d1gd,d2gfd,d3d4d5g d6g d7fg      d8        Zej0                  j3                  d9d:dd;gfd)dd.d<gfd,dd=gfd,dd*d>gfd,dd0d?gfd,d3d4d@g d6fdAddBdCgfdAddDdEgfg      dF        Zy)G    N)Distribution)check_package_datacheck_specifier   )make_trivial_sdist)ensure_files)DALS)DistutilsSetupErrorc                    | j                  d      t        j                  j                  dt        j                  j                  t                          }fd} |dd        |dd       | j                  d      j                  d	      5 }|j                  t        d
      j                  |             ddd       dj                         }| j                         5  t               }|j                          |D cg c]  }|j!                  |       }}ddd       D cg c]  }|s|j"                   c}|k(  sJ y# 1 sw Y   xY wc c}w # 1 sw Y   =xY wc c}w )zR
    Check multiple calls to `Distribution.fetch_build_egg` work as expected.
    indexzfile://c                 @   j                  |       }|  d| d}t        t        |j                  |            | |       |j                  d      j	                  d      5 }|j                  t        d      j                  |             d d d        y # 1 sw Y   y xY w)N-z.tar.gzz
index.htmlwz
                <!DOCTYPE html><html><body>
                <a href="{dist_sdist}" rel="internal">{dist_sdist}</a><br/>
                </body></html>
                )
dist_sdist)mkdirr   strjoinopenwriter	   format)distnameversiondist_dirr   fpr   s        \/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/setuptools/tests/test_dist.pysdist_with_indexz3test_dist_fetch_build_egg.<locals>.sdist_with_index   s    ;;x( z7)73
3x}}Z898WM]]<(--c2 		bHH &J&/		 		 		s    +BB
barbazquuxz3.2.0zbarbazquux-runnerz2.11.1z	setup.cfgr   zL
            [easy_install]
            index_url = {index_url}
            )	index_urlNz*
    barbazquux-runner
    barbazquux
    )r   urllibparseurljoinrequestpathname2urlr   r   r   r   r	   r   splitas_cwdr   parse_config_filesfetch_build_eggkey)	tmpdirr   r   r   reqsdistrresolved_distsr   s	           @r   test_dist_fetch_build_eggr.      s@    LL!E$$Y0K0KCPUJ0WXI \7+((3	[	!	&	&s	+ 
r

 fyf)	

 	 	 
 A~!;?@a$..q1@@A "084DHH8D@@@#
 
  AA A 9s6   +E#EEE(E$0E$EEE!packagez0.0.1zFoo Barzfoo@bar.netzLong
descriptionzShort descriptiononetwo)namer   authorauthor_emaillong_descriptiondescriptionkeywordsc                  J   t        t        dgdg            } t        |       }t        |j                  j                        ddgk(  sJ t        t        | d   j                                     | d<   t        |       }t        |j                  j                        ddgk(  sJ y )Nfoobar)ab)extras_requirer;   r<   r=   )dictr   listmetadataprovides_extrasreverseditemsattrsr+   s     r   (test_provides_extras_deterministic_orderrF   I   s    w5' :;ED--.3*<<"8E2B,C,I,I,K#LME
D--.3*<<<    z*.txtz*.rstz*.msg) hellorH   rI   z^'package_data' must be a dictionary mapping package names to lists of string wildcard patternsi  z5keys of 'package_data' dict must be strings (got 400)z["values of 'package_data' dict" must be of type <tuple[str, ...] | list[str]> (got '*.msg')c              #       K   | ]  }|  y w)N ).0xs     r   	<genexpr>rN   z   s     -Aa-s   	generatorzd"values of 'package_data' dict" must be of type <tuple[str, ...] | list[str]> (got <generator objectpackage_dataexpected_messagec                     |t        d d|       J y t        j                  t        t	        j
                  |            5  t        d d|        d d d        y # 1 sw Y   y xY w)NrQ   match)r   pytestraisesr
   reescaperP   s     r   test_check_package_datarZ      s[    !$EMMM]].bii@P6QR 	Ct^\B	C 	C 	Cs   AA!c                     ddd} t        |       }t        || | d          dddgd} t        |       }t        || | d          ddd} t        j                  t              5  t        |       }d d d        y # 1 sw Y   y xY w)Nr9   z>=3.0, !=3.1)r2   python_requiresr\   z>=3.0z!=3.1z>=invalid-version)r   r   rV   rW   r
   rD   s     r   test_check_specifierr]      s    ~>EDD%'8!9:/ABEDD%'8!9: /BCE	*	+ #E"# # #s   !A66A?c                      t        j                  t        d      5  t               j	                          d d d        y # 1 sw Y   y xY w)Nzmissing.*namerT   )rV   rW   r
   r   _validate_metadatarK   rG   r   test_metadata_namer`      s4    	*/	B ,))+, , ,s	   >A)	dist_name	py_module))my.pkgmy_pkg)my-pkgrd   )rd   rd   )pkgrf   c                    | | dz  j                          | dz  j                          | dz  j                          i t        |t        |       d}t        |      }|j	                          |j
                  |gk(  sJ t        i |ddgi      }|j	                          |j
                  dgk(  sJ t        i |ddgi      }|j	                          |j
                  rJ y )	Nz.pysetup.py
noxfile.py)r2   src_root
py_modulesexplicity_py_modulepackagesexplicity_package)touchEXAMPLE_BASE_INFOr   r   set_defaultsrk   )tmp_pathra   rb   rE   r+   s        r   test_dist_default_py_modulesrs      s     9+S!!((*
!!###% P O)XOED??yk))H5H,1F0GHID??4555D5D*/B.CDEDrG   )ra   package_dirpackage_filesrm   rc   zmy_pkg/__init__.pyzmy_pkg/mod.pyrd   re   zmy/pkg/__init__.pymyzsrc/my_pkg/__init__.pyzsrc/my_pkg2/__init__.pymy_pkg2liblib2)rf   pkg2)zlib/__init__.pyzlib/nested/__init__.pytzlib2/__init__.py)rf   z
pkg.nestedrz   c                 v   t        | |       | dz  j                          | dz  j                          i t        |t        |       |d}t	        |      }|j                          |j                  rJ |j                  rJ t        |j                        t        |      k(  sJ t	        i |ddgi      }|j                          |j                  rJ t        |j                        dhk(  sJ t	        i |ddgi      }|j                          |j                  rJ t        |j                        dhk(  sJ y )Nrh   ri   )r2   rj   rt   rk   explicit_py_modulerm   explicit_package)	r   ro   rp   r   r   rq   rk   setrm   )rr   ra   rt   ru   rm   rE   r+   s          r   test_dist_default_packagesr      s*   0 =)
!!###%
M"	E Dt}}X..G5G,1E0FGHD}}t$8#999C5C*/A.BCDDt}}"4!5555rG   )ra   rt   ru   zmy.pkg.nestedzmy/pkg/nested/__init__.pyzmy/pkg/file.pyz	my_pkg.pyzmy_pkg/nested/__init__.pyzsrc/my_pkg/nested/__init__.py)rd   zmy_pkg.lib2UNKNOWNzsrc/mod1.pyzsrc/mod2.pyzsrc/pkg1/__ini__.pyzsrc/pkg2/__init__.pyc                 (   t        | |       i t        dj                  t        j                  j                  |             |d}|d= t        |      }|j                          |j                  s|j                  sJ |j                         |k(  sJ y)z:Make sure dist.name is discovered from packages/py_modules/)rj   rt   r2   N)r   rp   r   ospathr$   r   rq   rk   rm   get_name)rr   ra   rt   ru   rE   r+   s         r   test_dist_default_namer      s    ( =)
HHRWW]]845"E
 	fD??dmm+==?i'''rG   ) r   rX   urllib.parser   urllib.requestrV   
setuptoolsr   setuptools.distr   r   fixturesr   test_find_packagesr   textwrapr	   distutils.errorsr
   r.   r>   rp   rF   CHECK_PACKAGE_DATA_TESTSmarkparametrizerZ   r]   r`   rs   r   r   rK   rG   r   <module>r      s   	 	    # ? ( ,  0)AX 	(#U^ = '"Y	
 	 '7#$wi 	

:	 '7#	
 
A	 W	
 --	
&M/ d =?WXC YC# ,
 , =	4.@8*M	4.@8*M	4.@8*M	4./$1AB%'@Ay!		
 6*N)		
*6+*6B 1	$!< =>	4.0@AB	4+'	4.0KLM	424STUV4N	
 
D=-89	D02HIJ$(%$(rG   