o
    5‘ði"I  ã                   @  s€  U d Z 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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ZddlmZ ddlmZ ddlmZ ddlmZ d	d
lmZ d	dlmZ ddlmZ ddlmZ de fddddddddœfddddddddœfddddddddœfdddd d!d"d#dœffZ!ej"j#d$e!d%d&„ e!D ƒd'�d(d)„ ƒZ$ej%d›d*d+„ƒZ&d,d-„ Z'd.d/„ Z(d0d1„ Z)d2d3„ Z*G d4d5„ d5ƒZ+e,d6d7d8d9iie,d7gd:�e(d;g d<¢d8gd=œiƒd>�e,d?e,d@dA�dB�e,dCdDedEƒie,dFdDgfgdG�e(d;g d<¢dDgdHœiƒd>�e,dIdJedKƒie,e+dLdIdJgdM�gdN�e(dOdPdQg d<¢igiƒd>�e,dRdSedTƒie,dSgdU�e(d;dSdQg d<¢igiƒd>�e,dVedWƒedXƒdYœe,dZd[gd\�e(d;dQd]d^d_d`dadZd[gigiiƒd>�e,dbdce(d;dQg dd¢iiƒedeƒdf�e,dgdhe
j-›di�edjƒdk�e,dldme
j-›dn�do�e,dpdqdrdsiedtƒdu�e,dvdrdwe
j-›dx�idyedzƒ d{�e,d|d}drd~iedƒdu�e,d€d7d�d8d9iiie,d7gd‚gdƒ�e(d;d„dQg d…¢id7d8d�d8gigigiƒd>�e,d†d‡d8dˆiie,d‡gd‡gdƒ�e(d;d„dQg d…¢id‡d8gigiƒd>�e,d‰d7d9dDedŠƒid‹œie,d7gdŒd�gfgdŽ�e(d;g d<¢d8dFdDgigd=œiƒd>�fZ.d�e/d�< ej"j#d‘e.d’d&„ e.D ƒd'�d“d”„ ƒZ0d•d–„ Z1d—d˜„ Z2d™dš„ Z3dS )œzwheel testsé    )ÚannotationsN)ÚAny©Úpath©Ú	parse_tag)Úmetadata)ÚWheelé   )Útempdir)ÚDALS)Úget_config_var)Úget_platformzinvalid.whlz&simplewheel-2.0-1-py2.py3-none-any.whlÚsimplewheelz2.0Ú1zpy2.py3ÚnoneÚany)Úproject_nameÚversionÚbuildÚ
py_versionÚabiÚplatformz$simple.dist-0.1-py2.py3-none-any.whlzsimple.distz0.1z example_pkg_a-1-py3-none-any.whlÚexample_pkg_aÚpy3z9PyQt5-5.9-5.9.1-cp35.cp36.cp37-abi3-manylinux1_x86_64.whlÚPyQt5z5.9z5.9.1zcp35.cp36.cp37Úabi3Úmanylinux1_x86_64©ÚfilenameÚinfoc                 C  ó   g | ]}|d  ‘qS )r   © ©Ú.0Útr"   r"   úZ/root/parts/websockify/install/lib/python3.10/site-packages/setuptools/tests/test_wheel.pyÚ
<listcomp>P   ó    r'   )Úidsc                   sl   t  |¡r!t |¡� t| ƒ W d   ƒ d S 1 sw   Y  d S t| ƒ‰ ‡ fdd„| ¡ D ƒ|ks4J ‚d S )Nc                   s   i | ]}|t ˆ |ƒ“qS r"   )Úgetattr)r$   Úk©Úwr"   r&   Ú
<dictcomp>X   s    z#test_wheel_info.<locals>.<dictcomp>)ÚinspectÚisclassÚpytestÚraisesr	   Úkeysr   r"   r,   r&   Útest_wheel_infoO   s   


ÿþ"r4   c                 k  s’   � dt dƒ|  d¡i}| r| | ¡ tƒ �)}t ||¡ tjtj	dddf|d� t
 
tj |dd¡¡d	 V  W d   ƒ d S 1 sBw   Y  d S )
Núsetup.pyz�
            # -*- coding: utf-8 -*-
            from setuptools import setup
            import setuptools
            setup(**%r)
            úutf-8ú-qÚbdist_wheel©ÚcwdÚdistú*.whlr   )r   ÚencodeÚupdater   r   r   Ú
subprocessÚ
check_callÚsysÚ
executableÚglobÚosÚjoin)Úextra_file_defsÚkwargsÚ	file_defsÚ
source_dirr"   r"   r&   Úbuild_wheel[   s$   €ÿø	õ
ÿ"ûrJ   c                   s   ‡ fdd„t  ˆ ¡D ƒS )Nc              	     s4   h | ]\}}}|D ]}t j t j |ˆ ¡|¡’q	qS r"   )rD   r   rE   Úrelpath)r$   ÚdirpathÚdirnamesÚ	filenamesr   ©Úrootr"   r&   Ú	<setcomp>u   s    ýþÿztree_set.<locals>.<setcomp>)rD   ÚwalkrO   r"   rO   r&   Útree_sett   s   
þrS   c                   sr   t ƒ }|  ¡ D ]/\‰ }t|tƒrt|ƒ}|D ]}t|tƒr+|‡ fdd„t|ƒD ƒO }q| tj ˆ |¡¡ qq|S )z8Flatten nested dicts and lists into a full list of pathsc                   s   h | ]	}t j ˆ |¡’qS r"   )rD   r   rE   )r$   Úval©Únoder"   r&   rQ   …   s    zflatten_tree.<locals>.<setcomp>)	ÚsetÚitemsÚ
isinstanceÚdictÚflatten_treeÚaddrD   r   rE   )ÚtreeÚoutputÚcontentsÚelemr"   rU   r&   r[   |   s   

ür[   c                 C  s   dd„ | D ƒS )Nc                 S  s.   h | ]}|j t ¡ tƒ td ƒptdƒd�’qS )Ú
EXT_SUFFIXÚSO)r   r   Ú	shlib_ext)ÚformatÚ	sysconfigÚget_python_versionr   r   )r$   Úxr"   r"   r&   rQ   Œ   s    ûýÿz&format_install_tree.<locals>.<setcomp>r"   )r]   r"   r"   r&   Úformat_install_tree‹   s   úrh   c                 C  sž   t | ƒ}tj || ¡ ¡}| |¡ |d ur)t|ƒ}t|ƒ}	| |	¡s)J ||	 ƒ‚t	j
j|gd�\}
|
j	d |ks;J ‚|
j	d |ksDJ ‚|
 d¡|ksMJ ‚d S )Nr   ÚNameÚVersionúrequires.txt)r	   rD   r   rE   Úegg_nameÚinstall_as_eggrh   rS   Úissubsetr   ÚDistributionÚdiscoverÚ	read_text)r   Úinstall_dirÚinstall_tree_includesr   r   Úrequires_txtr-   Úegg_pathÚinstall_treeÚexpr;   r"   r"   r&   Ú_check_wheel_install–   s   
rx   c                   @  s    e Zd Zd	dd„Zd
dd„ZdS )ÚRecordÚreturnÚNonec                 K  s   || _ || _d S ©N©Ú_idÚ_fields)ÚselfÚidrG   r"   r"   r&   Ú__init__«   s   
zRecord.__init__Ústrc                 C  s   | j › d| j›d�S )Nz(**ú)r}   )r€   r"   r"   r&   Ú__repr__¯   s   zRecord.__repr__N)rz   r{   )rz   rƒ   )Ú__name__Ú
__module__Ú__qualname__r‚   r…   r"   r"   r"   r&   ry   ª   s    
ry   ÚbasicÚfooú__init__.pyÚ )Úpackagesúfoo-1.0-py{py_version}.egg)úPKG-INFOÚRECORDÚWHEELútop_level.txt)úEGG-INFOrŠ   ©r�   rH   Úsetup_kwargsrv   r6   u   Description accentuÃ©e)Údescription)r�   r•   Údatazdata.txtz.
                Some data...
                Údata_dir)Ú
data_files)r“   r˜   Ú	extensionzextension.can  
                #include "Python.h"

                #if PY_MAJOR_VERSION >= 3

                static struct PyModuleDef moduledef = {
                        PyModuleDef_HEAD_INIT,
                        "extension",
                        NULL,
                        0,
                        NULL,
                        NULL,
                        NULL,
                        NULL,
                        NULL
                };

                #define INITERROR return NULL

                PyMODINIT_FUNC PyInit_extension(void)

                #else

                #define INITERROR return

                void initextension(void)

                #endif
                {
                #if PY_MAJOR_VERSION >= 3
                    PyObject *module = PyModule_Create(&moduledef);
                #else
                    PyObject *module = Py_InitModule("extension", NULL);
                #endif
                    if (module == NULL)
                        INITERROR;
                #if PY_MAJOR_VERSION >= 3
                    return module;
                #endif
                }
                zsetuptools.Extension)ÚnameÚsources)Úext_modulesz%foo-1.0-py{py_version}-{platform}.eggzextension{shlib_ext}r“   Úheaderzheader.hz
                )ÚheadersÚscriptúX
                #/usr/bin/python
                print('hello world!')
                úN
                #/bin/sh
                echo 'hello world!'
                ©ú	script.pyú	script.shr¤   r¥   ©Úscriptsr�   r�   r‘   r’   r§   Ú	requires1zfoobar==2.0)r�   r�   r‘   rk   r’   z%
            foobar==2.0
            )r�   Úinstall_requiresrv   rt   Ú	requires2z
        bar
        foo<=2.0; z in sys_platform
        z2
            bar
            foo<=2.0
            )r�   r©   rt   Ú	requires3z
        bar; z != sys_platform
        )r�   r©   Ú	requires4z
        foo
        Úextrazfoobar>3zG
            foo

            [extra]
            foobar>3
            )r�   r©   Úextras_requirert   Ú	requires5zfoobar; z != sys_platformÚ
z!
            [extra]
            )r�   r®   rt   Úrequires_ensure_orderz9
        foo
        bar
        baz
        qux
        za
            foobar>3
            barbaz>4
            bazqux>5
            quxzap>6
            z¶
            foo
            bar
            baz
            qux

            [extra]
            foobar>3
            barbaz>4
            bazqux>5
            quxzap>6
            Únamespace_packageÚbarzfoo.bar)Únamespace_packagesr�   z foo-1.0-py{py_version}-nspkg.pth)r�   r�   r‘   znamespace_packages.txtr’   Úempty_namespace_packageÚfoobarz7__import__('pkg_resources').declare_namespace(__name__)Údata_in_packagez>
                        Some data...
                        )r‹   r˜   zfoo/data_dirzfoo/data_dir/data.txt)r�   r™   ztuple[dict[str, Any], ...]ÚWHEEL_INSTALL_TESTSÚparamsc                 C  r!   )r�   r"   )r$   r¹   r"   r"   r&   r'   (  r(   c              	   C  sæ   |   dd¡}|   dd¡}|   dg ¡}|   di ¡}|   dd ¡}|   d¡}|   d	i ¡}|   d
i ¡}td|||||dœ|¤Ž�-}	tƒ �}
t|	|
||||ƒ W d   ƒ n1 sTw   Y  W d   ƒ d S W d   ƒ d S 1 slw   Y  d S )Nr›   rŠ   r   ú1.0r©   r®   rt   rv   rH   r•   ©r›   r   r©   r®   rF   r"   )ÚgetrJ   r   rx   )r¹   r   r   r©   r®   rt   rv   rH   r•   r   rr   r"   r"   r&   Útest_wheel_install%  s4   
ûúÿ÷	ÿPõr½   c               
   C  sÔ   d} d}| › d|› d�}t ƒ �Q}tj ||¡}t |d¡ ¡  t ƒ �&}t t	¡� t
||d | |d ƒ W d   ƒ n1 s<w   Y  W d   ƒ n1 sKw   Y  W d   ƒ d S W d   ƒ d S 1 scw   Y  d S )NÚ
nodistinforº   ú-z-py2.py3-none-any.whlr-   )r   rD   r   rE   ÚzipfileÚZipFileÚcloser1   r2   Ú
ValueErrorrx   )r   r   Ú
wheel_namerI   Ú
wheel_pathrr   r"   r"   r&   Útest_wheel_no_dist_dirC  s"   ÿÿ€ÿü"ürÆ   c                 C  s(   dd„ }|   d|¡ tdƒ ¡ sJ ‚d S )Nc                   S  s   dd„ t dƒD ƒS )Nc                 S  s   h | ]
}|j |j|jf’qS r"   )Úinterpreterr   r   r#   r"   r"   r&   rQ   T  s    ÿÿz=test_wheel_is_compatible.<locals>.sys_tags.<locals>.<setcomp>zcp36-cp36m-manylinux1_x86_64r   r"   r"   r"   r&   Úsys_tagsS  s   þz*test_wheel_is_compatible.<locals>.sys_tagsz$setuptools.wheel._get_supported_tagsz2onnxruntime-0.1.2-cp36-cp36m-manylinux1_x86_64.whl)Úsetattrr	   Úis_compatible)ÚmonkeypatchrÈ   r"   r"   r&   Útest_wheel_is_compatibleR  s   rÌ   c                  C  st  t jddd„ƒ} tdtdƒtdƒdœtddgd	�td
ddddddddgigiiƒd�}| dd¡}| dd¡}| d¡}| di ¡}| di ¡}| d||g i |dœ|¤Ž�[}tƒ �?}t|||||d ƒ t|ƒ}	t	 
|¡|	 ¡  }
|
d d d }| ¡ s~J ‚tjdkr‘tt | ¡ j¡ƒdks‘J ‚W d   ƒ n1 s›w   Y  W d   ƒ d S W d   ƒ d S 1 s³w   Y  d S )Nc                 {  s¬   � dt dƒ|  d¡i}| r| | ¡ tƒ �6}t ||¡ t |¡d }t 	|d¡ t
jtjdddf|d� t tj |d	d
¡¡d V  W d   ƒ d S 1 sOw   Y  d S )Nr5   z¤
                # -*- coding: utf-8 -*-
                from setuptools import setup
                import setuptools
                setup(**%r)
                r6   r¥   iÿ  r7   r8   r9   r;   r<   r   )r   r=   r>   r   r   r   ÚpathlibÚPathrD   Úchmodr?   r@   rA   rB   rC   rE   )rF   rG   rH   rI   Úrunshr"   r"   r&   rJ   ^  s(   €ÿø	õ
ÿ"ùz$test_wheel_mode.<locals>.build_wheelr    r¡   r¢   r£   r¤   r¥   r¦   rŽ   r“   r�   r�   r‘   r’   r§   r”   r›   rŠ   r   rº   rv   rH   r•   r»   Úwin32Ú0o777r|   r"   )Ú
contextlibÚcontextmanagerrZ   r   r[   r¼   r   rx   r	   rÍ   rÎ   rl   ÚexistsrA   r   ÚoctÚstatÚS_IMODEÚst_mode)rJ   r¹   r   r   rv   rH   r•   r   rr   r-   ÚbaseÚ	script_shr"   r"   r&   Útest_wheel_mode]  sp   ÿÿùÿ
ûÿÿí 
ûúÿ÷	ÿ
€PìrÜ   r|   )4Ú__doc__Ú
__future__r   rÓ   rC   r/   rD   rÍ   r×   r?   rA   re   rÀ   Útypingr   r1   Újaracor   Úpackaging.tagsr   Úsetuptools._importlibr   Úsetuptools.wheelr	   Úcontextsr   Útextwrapr   Údistutils.sysconfigr   Údistutils.utilr   rÃ   ÚWHEEL_INFO_TESTSÚmarkÚparametrizer4   rÔ   rJ   rS   r[   rh   rx   ry   rZ   r   r¸   Ú__annotations__r½   rÆ   rÌ   rÜ   r"   r"   r"   r&   Ú<module>   sh   úþúþúþúþÝ1ÿ
	
ÿþÿúÿþÿÿ
ÿþÿôÿÿ-ÿÿÿÿþÿÊDÿÿÿÿþÿõÿÿùÿ
ûÿÿíÿÿÿòþÿúÿþÿÿøÿÿÿûÿÿðÿÿþÿ
þÿõÿõ þÿþÿ
ÿÿõÿó!ÿÿþÿ
þÿÿþùÿî � �·  qý
