B
     S]
                 @   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