Ë
    pPêjÎ	  ã                  óº   — 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y)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y)ÚASTDiffSuitez	diff.testc           	     óð  — dj                  |j                  «      }t        |j                  «      }|d   }t	        ||d«      }|j
                  t        j                  kD  rt        j                  d«       | j                  ||«      \  }}| j                  ||«      \  }}	g }
|r|
j                  |«       |r"|
j                  d«       |
j                  |«       |�|	€J d«       ‚d}t        ||d   j                  «      }t        ||	d   j                  «      }t        |||«      }t!        |«      D ]  }|
j                  |«       Œ t#        |j$                  |
d|j&                  › d	|j(                  › d
�«       y )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)ÚselfÚtestcaseÚ	first_srcÚ
files_dictÚ
second_srcÚoptionsÚ	messages1Úfiles1Ú	messages2Úfiles2ÚaÚprefixÚ	snapshot1Ú	snapshot2ÚdiffÚtriggers                   úW/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/test/testdiff.pyÚrun_casezASTDiffSuite.run_case   sa  € Ø—I‘I˜hŸn™nÓ-ˆ	Ü˜(Ÿ.™.Ó)ˆ
Ø Ñ.ˆ
Ü 	¨8°QÓ7ˆØ×!Ñ!¤C×$4Ñ$4Ò4Ü�K‰KÐCÔDà ŸJ™J y°'Ó:Ñˆ	�6Ø ŸJ™J z°7Ó;Ñˆ	�6àˆÙØ�H‰H�YÔÙØ�H‰H�\Ô"Ø�H‰H�YÔð Ð 6Ð#5ð	Aà@ó	AØ5àˆÜ)¨&°&¸Ñ2D×2JÑ2JÓKˆ	Ü)¨&°&¸Ñ2D×2JÑ2JÓKˆ	Ü-¨f°iÀÓKˆÜ˜d“|ò 	ˆGØ�H‰H�WÕð	ô 	#Ø�O‰O˜QÐ"2°8·=±=°/ÀÈÏÉÈÐWXÐ Yõ	
ó    c                ó   — d|_         d|_        t        j                  |_        d|_        	 t        j                  t        dd |«      g|t        ¬«      }|j                  |j                  fS # t        $ r}|j                  d fcY d }~S d }~ww xY w)NTÚmain)Úsourcesr,   Úalt_lib_path)Úuse_builtins_fixturesÚshow_tracebackÚosÚdevnullÚ	cache_dirÚallow_empty_bodiesr   r   r   r   ÚmessagesÚerrorsr   )r'   Úsourcer,   ÚresultÚes        r7   r   zASTDiffSuite.build8   s„   € Ø(,ˆÔ%Ø!%ˆÔÜŸJ™JˆÔØ%)ˆÔ"ð	$Ü—[‘[Ü$ V¨T°6Ó:Ð;ØÜ*ôˆFð �}‰}˜fŸl™lÐ*Ð*øô ò 	$à—:‘:˜tÐ#Õ#ûð	$ús   ¬(A, Á,	BÁ5BÂBÂBN)r(   r   ÚreturnÚNone)rF   Ústrr,   r   rI   z,tuple[list[str], dict[str, MypyFile] | None])Ú__name__Ú
__module__Ú__qualname__r   r8   r   © r9   r7   r   r      s   „ ØˆM€Eó
ô@+r9   r   )Ú__doc__Ú
__future__r   r@   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   rO   r9   r7   ú<module>r[      s;   ðÙ Jå "ã 	Û 
ã å Ý $Ý )Ý Ý  ß UÝ *ß 8ß Gô1+�9õ 1+r9   