
    X-Ph	                        d Z ddlmZ ddlZddl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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)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          }|j        t          j        k    rt          j	        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)Test case requires a newer Python versionz
== next ==z3cases where CompileError occurred should not be run__main__zInvalid output (z, line ))joininputdictfilesr   python_versionsysversion_infopytestskipr   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                   R/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mypy/test/testdiff.pyrun_casezASTDiffSuite.run_case   s   IIhn--	(.))
.
	8Q77!C$444KCDDD 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        |_        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_dirallow_empty_bodiesr   r   r   r   messageserrorsr   )r*   r<   r.   resultes        r9   r   zASTDiffSuite.build8   s    (,%!%J%)"	$[$VT6::;*  FF
  	$ 	$ 	$:t#######	$ }fl**s   ,A 
A2A-'A2-A2N)r   r   r   r   )r<   r=   r.   r   r   r>   )__name__
__module____qualname__r   r:   r    r;   r9   r   r      sD        ME
 
 
 
@+ + + + + +r;   r   )__doc__
__future__r   rE   r   r!   mypyr   mypy.errorsr   mypy.modulefinderr   
mypy.nodesr   mypy.optionsr   mypy.server.astdiffr	   r
   mypy.test.configr   mypy.test.datar   r   mypy.test.helpersr   r   r   rP   r;   r9   <module>r\      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1+ 1+ 1+ 1+ 1+9 1+ 1+ 1+ 1+ 1+r;   