o
    tBh                     @  s   d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ dd	lmZmZ dd
lmZ ddlmZ ddlmZ ddlmZmZ ddlmZmZmZ ddlmZ ddl m!Z! g dZ"G dd deZ#dS )zYTest cases for generating node-level dependencies (for fine-grained incremental checking)    )annotationsN)defaultdict)DefaultDict)build)CompileError)BuildSource)
ExpressionMypyFile)Options)get_dependencies)test_temp_dir)DataDrivenTestCase	DataSuite)assert_string_arrays_equalfind_test_filesparse_options)Type)	TypeState)__main__pkgzpkg.modc                   @  s*   e Zd ZeddZdddZdddZdS )GetDependenciesSuitez
deps*.test)patterntestcaser   returnNonec                 C  sH  d |j}d|v }t||dd}d|_d|_tj|_d|_d|_	| 
||\}}}|}|d u s4|d u r:|s9dg}nXtt}	|D ]$}
|
tv sL|rd|
dvrdt||
 ||j|}|D ]}|	| ||  qXq@t|	 t|	 D ]!\}}|drzqp| d	d
 t| }|dd}|| qpt|j|d|j d|j d d S )N
z# __dump_all__   )incremental_stepTzCUnknown compile error (likely syntax error in test case or fixture))abctypingmypy_extensionstyping_extensionsenum)z<enumz<typingz<mypyz -> z, r   mzInvalid output (z, line ))joininputr   use_builtins_fixturesshow_tracebackosdevnull	cache_direxport_typespreserve_astsr   r   setdumped_modulesr   python_versionupdater   add_all_protocol_depssorteditems
startswithreplaceappendr   outputfileline)selfr   srcdump_alloptionsmessagesfilestype_mapadepsmodulenew_depssourcetargetsr:    rH   i/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/mypy/test/testdeps.pyrun_case   sL   

zGetDependenciesSuite.run_caserF   strr>   r
   Ktuple[list[str], dict[str, MypyFile] | None, dict[Expression, Type] | None]c              
   C  s`   zt j tdd |g|td}W n ty' } z|jd d fW  Y d }~S d }~ww |j|j|jfS )Nmain)sourcesr>   alt_lib_path)r   r   r   r   r?   errorsr@   types)r;   rF   r>   resulterH   rH   rI   r   H   s   
zGetDependenciesSuite.buildN)r   r   r   r   )rF   rK   r>   r
   r   rL   )__name__
__module____qualname__r   r@   rJ   r   rH   rH   rH   rI   r      s    

,r   )$__doc__
__future__r   r)   collectionsr   r   r   mypyr   mypy.errorsr   mypy.modulefinderr   
mypy.nodesr   r	   mypy.optionsr
   mypy.server.depsr   mypy.test.configr   mypy.test.datar   r   mypy.test.helpersr   r   r   
mypy.typesr   mypy.typestater   r/   r   rH   rH   rH   rI   <module>   s$    