
    6 f	                        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 dd
lmZmZ ddlmZ ddlmZmZ ddlmZmZ  G d de          ZdS )zDTest cases for AST diff (used for fine-grained incremental checking)    )annotationsN)build)PYTHON3_VERSION)CompileError)BuildSource)MypyFile)Options)compare_symbol_table_snapshotssnapshot_symbol_table)test_temp_dir)DataDrivenTestCase	DataSuite)assert_string_arrays_equalparse_optionsc                  $    e Zd ZdgZddZddZdS )ASTDiffSuitez	diff.testtestcaser   returnNonec           	        d                     |j                  }t          |j                  }|d         }t	          ||d          }|                     ||          \  }}|                     ||          \  }}	g }
|r|
                    |           |r*|
                    d           |
                    |           ||	
J d            d}t          ||d         j	                  }t          ||	d         j	                  }t          |||          }t          |          D ]}|
                    |           t          |j        |
d|j         d|j         d	           d S )
N
ztmp/next.py   z
== next ==z3cases where CompileError occurred should not be run__main__zInvalid output (z, line ))joininputdictfilesr   r   extendappendr   namesr
   sortedr   outputfileline)selfr   	first_src
files_dict
second_srcoptions	messages1files1	messages2files2aprefix	snapshot1	snapshot2difftriggers                   H/var/www/equiseq/venv/lib/python3.11/site-packages/mypy/test/testdiff.pyrun_casezASTDiffSuite.run_case   s   IIhn--	(.))
.
	8Q77 JJy'::	6 JJz7;;	6 	 HHY 	 HH\"""HHY 6#5#5@ $6#55)&&2D2JKK	)&&2D2JKK	-fiKKd|| 	 	GHHW"OQ Y8= Y Y Y Y Y	
 	
 	
 	
 	
    sourcestrr*   r	   ,tuple[list[str], dict[str, MypyFile] | None]c                   d|_         d|_        t          j        |_        t
          |_        d|_        	 t          j        t          dd |          g|t                    }n # t          $ r}|j        d fcY d }~S d }~ww xY w|j        |j        fS )NTmain)sourcesr*   alt_lib_path)use_builtins_fixturesshow_tracebackosdevnull	cache_dirr   python_versionallow_empty_bodiesr   r   r   r   messageserrorsr   )r&   r8   r*   resultes        r5   r   zASTDiffSuite.build4   s    (,%!%J!0%)"	$[$VT6::;*  FF
  	$ 	$ 	$:t#######	$ }fl**s   ,A! !
A>+A93A>9A>N)r   r   r   r   )r8   r9   r*   r	   r   r:   )__name__
__module____qualname__r   r6   r    r7   r5   r   r      sC        ME
 
 
 
<+ + + + + +r7   r   )__doc__
__future__r   rA   mypyr   mypy.defaultsr   mypy.errorsr   mypy.modulefinderr   
mypy.nodesr   mypy.optionsr	   mypy.server.astdiffr
   r   mypy.test.configr   mypy.test.datar   r   mypy.test.helpersr   r   r   rM   r7   r5   <module>rZ      s    J J " " " " " " 				       ) ) ) ) ) ) $ $ $ $ $ $ ) ) ) ) ) )                   U U U U U U U U * * * * * * 8 8 8 8 8 8 8 8 G G G G G G G G0+ 0+ 0+ 0+ 0+9 0+ 0+ 0+ 0+ 0+r7   