B
    ?™cÐ
  ã               @   sl   d Z 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rheeƒ ƒ dS )
zTests for distutils.extension.é    N)Úcheck_warningsÚrun_unittest)Úread_setup_fileÚ	Extensionc               @   s   e Zd Zdd„ Zdd„ ZdS )ÚExtensionTestCasec          "   C   sŒ   t j t j t¡d¡}t|ƒ}dd„ |D ƒ}| ¡  dddddd	d
dddddddddddddddddddddd d!d"d#d$d%g"}|  ||¡ d S )&NzSetup.samplec             S   s   g | ]
}|j ‘qS © )Úname)Ú.0Úextr   r   ú/lib/python3.7/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drawZeventZ	fasteventZfontZgfxdrawZimageZimageextZjoystickÚkeyÚmaskZmixerZmixer_musicZmouseZmovieZoverlayZ
pixelarrayZpypmZrectZrwobjectZscrapZsurfaceZsurflockZ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¡ xdD ]}|  t||ƒg ¡ qrW |  |jd ¡ |  |jd ¡ t	ƒ "}t
 d¡ tdddgdd	}W d Q R X |  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ÚgetattrZ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_suiteA   s    r+   Ú__main__)Ú__doc__r*   r   r   Ztest.supportr   r   Zdistutils.extensionr   r   ZTestCaser   r+   r'   r   r   r   r   Ú<module>   s   8