B
    18\
                 @   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   b/oak/stanford/groups/akundaje/marinovg/programs/Python-3.7.3/Lib/distutils/tests/test_extension.py
<listcomp>   s    z:ExtensionTestCase.test_read_setup_file.<locals>.<listcomp>Z_arraysurfarrayZ_cameraZ_numericsndarrayZ_numericsurfarraybaseZbufferproxyZcdromZcolor	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)selfsetupZextsnames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)include_dirsdefine_macrosundef_macroslibrary_dirs	librariesruntime_library_dirsextra_objectsextra_compile_argsextra_link_argsexport_symbols	swig_optsdependsalwaysT)Zchicr   z!Unknown Extension options: 'chic')assertRaisesAssertionErrorr   r   r   sourcesgetattrlanguage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)unittest	makeSuiter   r   r   r   r   
test_suiteA   s    rA   __main__)__doc__r?   r   r4   Ztest.supportr   r   distutils.extensionr   r   TestCaser   rA   r<   r   r   r   r   <module>   s   8