o
    JAf
                     @   sx   d Z ddlZddlZddlZddlmZ ddlmZ ddlm	Z	m
Z
 G dd dejZdd	 Zed
kr:ee  dS dS )zTests for distutils.extension.    N)run_unittest)check_warnings)read_setup_file	Extensionc                   @   s   e Zd Zdd Zdd ZdS )ExtensionTestCasec                 C   sL   t jt jtd}t|}dd |D }|  g d}| || d S )NzSetup.samplec                 S   s   g | ]}|j qS  )name).0extr   r   5/usr/lib/python3.10/distutils/tests/test_extension.py
<listcomp>   s    z:ExtensionTestCase.test_read_setup_file.<locals>.<listcomp>)"Z_arraysurfarrayZ_cameraZ_numericsndarrayZ_numericsurfarraybaseZbufferproxyZcdromZcolorZ	constantsZdisplayZdraweventZ	fasteventZfontZgfxdrawZimageZimageextZjoystickkeymaskZmixerZmixer_musicZmouseZmovieZoverlayZ
pixelarrayZpypmZrectZrwobjectZscrapZsurfaceZsurflocktimeZ	transform)ospathjoindirname__file__r   sortassertEqual)selfZsetupZextsnamesZwantedr   r   r   test_read_setup_file   s   	z&ExtensionTestCase.test_read_setup_filec                 C   s  |  ttdg  tdg }| |jd |  ttdd |  ttdddg tdddg}| |jddg dD ]}| t||g  q8| |jd  | |jd  t	 }t
d tdddgdd	}W d    n1 snw   Y  | t|j
d | t|j
d
 jd d S )N   r   fileZfile1Zfile2)Zinclude_dirsZdefine_macrosZundef_macrosZlibrary_dirsZ	librariesZruntime_library_dirsZextra_objectsZextra_compile_argsZextra_link_argsZexport_symbolsZ	swig_optsZdependsalwaysT)Zchicr   z!Unknown Extension options: 'chic')ZassertRaisesAssertionErrorr   r   r   ZsourcesgetattrlanguageZoptionalr   warningssimplefilterlenstrmessage)r   r
   attrwr   r   r   test_extension_init"   s&   

z%ExtensionTestCase.test_extension_initN)__name__
__module____qualname__r   r)   r   r   r   r   r   
   s    r   c                   C   s
   t tS )N)unittestZ	makeSuiter   r   r   r   r   
test_suiteB   s   
r.   __main__)__doc__r-   r   r"   Ztest.supportr   Ztest.support.warnings_helperr   Zdistutils.extensionr   r   ZTestCaser   r.   r*   r   r   r   r   <module>   s    8