o
    UÌh  ã                   @   s  d dl Z d dlZd dlZd$dd„Zd$dd„Zdd„ Zdd	„ Zd
d„ Zdd„ Ze 	¡ dd„ ƒZ
ej deeg¡dd„ ƒZej deeg¡dd„ ƒZej deeg¡dd„ ƒZej deeg¡dd„ ƒZdd„ Zej dddg¡dd„ ƒZej dddg¡d d!„ ƒZej dddg¡d"d#„ ƒZdS )%é    Nc                 C   ó&   ddl m} |d ur|| |ƒS || ƒS )Nr   ©ÚSDist)Úpkginfo.sdistr   )ÚfilenameÚmetadata_versionr   © r   úl/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/pkginfo/tests/test_sdist.pyÚ_make_sdist   ó   
r
   c                 C   r   )Nr   )ÚUnpackedSDist)r   r   )r   r   r   r   r   r	   Ú_make_unpacked_sdist   r   r   c                 C   sN   | j |ksJ ‚| jdksJ ‚| jdksJ ‚| jd ksJ ‚t| jƒg ks%J ‚d S )NÚ	mypackagez0.1)r   ÚnameÚversionÚkeywordsÚlistÚsupported_platforms)Úsdistr   r   r   r	   Ú_check_sample   s
   r   c                 C   s   t | jƒddgksJ ‚d S )NzDevelopment Status :: 4 - Betaz#Environment :: Console (Text Based))r   Úclassifiers)r   r   r   r	   Ú_check_classifiers   s   þr   c                 C   s&   t |  d¡ƒ}t|ƒdksJ ‚|d S )NÚ*é   r   )r   ÚglobÚlen)ÚtempdirÚ
file_pathsr   r   r	   Ú_top_dir%   s   r   c                 C   sr   ddl m} i }tjdkrt |¡}d|jv rd|d< | |¡\}}}z|j| fi |¤Ž W | 	¡  d S | 	¡  w )Nr   r   )é   é   z.tarÚdataÚfilter)
r   r   ÚsysÚversion_infoÚpathlibÚPathÚsuffixesÚ_get_archiveÚ
extractallÚclose)r   r   r   ÚkwargsÚfn_pathÚarchiveÚ_r   r   r	   Ú_unpack*   s   


r/   c                 C   s   t | |ƒ t| ƒS )N)r/   r   )Útemp_dirr-   r   r   r	   Úunpacked_dir:   s   
r1   Úfactoryc                 C   sL   ddl m} | d }t |¡ ||ƒ W d   ƒ d S 1 sw   Y  d S )Nr   )Ú
NoSuchFileznonesuch-0.1.tar.gz)r   r3   ÚpytestÚraises)Úexamples_dirr2   r3   r   r   r   r	   Ú"test_sdist_ctor_w_invalid_filename?   s
   
"ÿr7   c                 C   ób   |t u rddlm} nddlm} | d }t |¡ ||ƒ W d   ƒ d S 1 s*w   Y  d S )Nr   )Ú	NoPkgInfo©ÚInvalidUnpackedSDistznopkginfo-0.1.zip)r
   r   r9   r;   r4   r5   ©r6   r2   Úto_raiser   r   r   r	   Útest_sdist_ctor_wo_PKG_INFOH   ó   
"ÿr>   c                 C   r8   )Nr   )ÚInvalidPkgInfor:   zinvpkginfo-0.1.zip)r
   r   r@   r;   r4   r5   r<   r   r   r	   Ú"test_sdist_ctor_w_invalid_PKG_INFOT   r?   rA   c                 C   sD   | d }t  t¡ ||dd W d   ƒ d S 1 sw   Y  d S )Nzmypackage-0.1.bogusú1.1©r   )r4   r5   Ú
ValueError)r6   r2   r   r   r   r	   Útest_sdist_ctor_w_bogus`   s   "ÿrE   c                 C   s&   | d }t |dd}|jdksJ ‚d S )Nzbroken-tarball.tar.gzrB   rC   Ú
ratarmount)r
   r   )r6   r   r   r   r   r	   Ú,test_sdist_ctor_w_tarball_fooling_is_zipfileg   s   rG   Úw_metadata_versionFTc                 C   óL   |rt | dd}|jdksJ ‚t|ƒ nt | ƒ}|jdksJ ‚t|| ƒ d S ©NrB   rC   ú1.0)r
   r   r   r   )r-   rH   r   r   r   r	   Útest_sdist_ctor_w_archiven   ó   
rL   c                 C   rI   rJ   ©r   r   r   r   )r1   rH   r   r   r   r	   Útest_sdist_ctor_w_unpacked_diry   rM   rO   c                 C   sT   | d }|rt |dd}|jdksJ ‚t|ƒ nt |ƒ}|jdks#J ‚t|| ƒ d S )Nzsetup.pyrB   rC   rK   rN   )r1   rH   Úsetup_pyr   r   r   r	   Ú test_sdist_ctor_w_unpacked_setup„   s   
rQ   )NN)r%   r#   r4   r
   r   r   r   r   r/   Úfixturer1   ÚmarkÚparametrizer7   r>   rA   rE   rG   rL   rO   rQ   r   r   r   r	   Ú<module>   s4    










