o
    ¯N iÝ  ã                   @   sr   d dl Z d dlZd dlmZ z
d dlZejjZW n e	y)   d dl
Z
dd„ ZY nw dd„ ZG dd„ dejƒZdS )	é    N)Úbasec                   C   s   dd„ t jD ƒS )Nc                 S   s   g | ]}|d  ‘qS )r   © )Ú.0Úxr   r   úY/home/ubuntu/.local/lib/python3.10/site-packages/pbr/tests/functional/test_c_extension.pyÚ
<listcomp>:   s    z get_suffixes.<locals>.<listcomp>)ÚimpÚget_suffixesr   r   r   r   r	   9   s   r	   c                  C   sœ   d } zt  d¡} t  d¡}W n	 ty   Y nw | r(|r(dt  ¡ v r(d| |f } | d u rLdt  ¡ v rLtƒ D ]}| d¡rK| d¡rK| d¡d }  | S q5| S )	NÚSOABIÚ	MULTIARCHÚpypyz%s-%sz.pypyz.soÚ.é   )Ú	sysconfigÚget_config_varÚIOErrorÚget_scheme_namesr	   Ú
startswithÚendswithÚsplit)ÚsoabiÚarchÚsuffixr   r   r   Ú	get_soabi=   s"   
ÿ
€ r   c                   @   s   e Zd Zdd„ ZdS )ÚTestCExtensionc                 C   sz   t j | jd¡}d}t d¡}|d urd| }n
tƒ }|r"d |¡}t j ||¡}|  t j 	|¡¡ |  t j 	|¡¡ d S )NÚpbr_testpackagez
testext.soÚ
EXT_SUFFIXÚtestextztestext.{0}.so)
ÚosÚpathÚjoinÚextracted_wheel_dirr   r   r   ÚformatÚ
assertTrueÚexists)ÚselfÚbuilt_package_dirÚstatic_object_filenameÚ
ext_suffixr   Ústatic_object_pathr   r   r   Útest_generates_c_extensionsS   s   ÿ


ÿz*TestCExtension.test_generates_c_extensionsN)Ú__name__Ú
__module__Ú__qualname__r*   r   r   r   r   r   Q   s    r   )r   r   Úpbr.tests.functionalr   Úimportlib.machineryÚ	importlibÚ	machineryÚall_suffixesr	   ÚImportErrorr   r   ÚBaseWheelTestCaser   r   r   r   r   Ú<module>   s   (ú
