B
    '(b
                 @   s   d Z ddlZddlmZ ddlmZ ddlmZm	Z	m
Z
 ddlmZmZ ddlmZ ddlmZ dd	lmZ G d
d deZeddddZdS )z!Identity AST transform test cases    N)build)BuildSource)assert_string_arrays_equalnormalize_error_messagesparse_options)DataDrivenTestCase	DataSuite)test_temp_dir)TypeAssertTransformVisitor)CompileErrorc               @   s8   e Zd ZdZdddddddd	gZdZed
dddZd
S )TransformSuiteTzsemanal-basic.testzsemanal-expressions.testzsemanal-classes.testzsemanal-types.testzsemanal-modules.testzsemanal-statements.testzsemanal-abstractclasses.testzsemanal-python2.testN)testcasereturnc             C   s   t | d S )N)test_transform)selfr    r   F/home/dcms/DCMS/lib/python3.7/site-packages/mypy/test/testtransform.pyrun_case   s    zTransformSuite.run_case)__name__
__module____qualname__Zrequired_out_sectionfilesZ
native_sepr   r   r   r   r   r   r      s   r   )r   r   c       	   
   C   sZ  yd | j}t|| d}d|_d|_d|_d|_tjtdd|g|t	d}|j
}|r^t|xt|j D ]}|j| }|jtjd dd	d
dfsntj|jdsntjtj|jd dsnt }d|_||}|t|d7 }qnW W n* tk
r$ } z
|j}W dd}~X Y nX | jr6t|}t| j|d| j  d| j! d dS )z(Perform an identity transform test case.
   TmainN)sourcesoptionsZalt_lib_pathzbuiltins.pyiztyping_extensions.pyiz
typing.pyizabc.pyizsys.pyi_r   z"Invalid semantic analyzer output (z, line ))"joininputr   Zuse_builtins_fixturesZsemantic_analysis_onlyZenable_incomplete_featuresshow_tracebackr   r   r	   errorsr   sortedr   keyspathendswithossepbasename
startswithsplitextr
   Z	test_onlyZmypyfilestrsplitmessagesZnormalize_outputr   r   outputfileline)	r   srcr   resultaZfnamfter   r   r   r   !   sD    

r   )__doc__os.pathr'   Zmypyr   Zmypy.modulefinderr   Zmypy.test.helpersr   r   r   Zmypy.test.datar   r   Zmypy.test.configr	   Zmypy.test.visitorsr
   Zmypy.errorsr   r   r   r   r   r   r   <module>   s   