a
    ze
                     @   sh   d dl Z d dlZd dlZd dlmZmZ d dlmZmZ G dd de j	Z
dd Zedkrdee  dS )	    N)check_warningsrun_unittest)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   4/usr/lib/python3.9/distutils/tests/test_extension.py
<listcomp>       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  qp| |jd  | |jd  t	 ,}t
d tdddgdd	}W d    n1 s0    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$    

0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_suiteA   s    r/   __main__)r.   r   r#   Ztest.supportr   r   Zdistutils.extensionr   r   ZTestCaser   r/   r+   r   r   r   r   <module>   s   8