Ë
    pPêjÁ  ã                  óÄ   — 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 ddlmZmZ ddlmZmZmZmZmZ ddlmZ dgZ G d„ de«      Zy)z.Test runner for data-flow analysis test cases.é    )ÚannotationsN)ÚCompileError)Útest_temp_dir)ÚDataDrivenTestCase)Údataflow)ÚTOP_LEVEL_NAME)Ú
all_values)ÚValue)Úformat_funcÚgenerate_names_for_ir)ÚICODE_GEN_BUILTINSÚMypycDataSuiteÚassert_test_outputÚbuild_ir_for_single_fileÚuse_custom_builtins)Ú
exceptionszanalysis.testc                  ó    — e Zd ZeZeZdZdd„Zy)ÚTestAnalysisTc                ó   ‡— t        t        j                  j                  | j                  t
        «      |«      5  	 t        |j                  «      }g }|D �]r  }|j                  t        k(  r|j                  j                  d«      sŒ3t        j                  |d«       |j                  t        |«      «       t        j                   |j"                  «      }t%        |j&                  «      }|j                  }|j                  d«      r"t        j(                  |j"                  ||«      }n¿|j                  d«      r!t        j*                  |j"                  |«      }n�|j                  d«      rBt        j,                  |j"                  ||t/        |j&                  |j"                  «      ¬«      }n:|j                  d«      r"t        j0                  |j"                  ||«      }nJ d«       ‚t3        |j&                  |j"                  «      Št5        |j6                  j9                  «       d	„ ¬
«      D ]•  }	dj                  t5        ˆfd„|j6                  |	   D «       «      «      }
dj                  t5        ˆfd„|j:                  |	   D «       «      «      }|j=                  |	d   j>                  |	d   fd›dd|
z  d›dd|z  ›�«       Œ— �Œu 	 tE        ||d«       ddd«       y# t@        $ r}|jB                  }Y d}~Œ0d}~ww xY w# 1 sw Y   yxY w)z'Perform a data-flow analysis test case.Ú	_toplevelTÚ_MaybeDefinedÚ	_LivenessÚ_MustDefined)ÚregsÚ_BorrowedArgumentz/No recognized _AnalysisName suffix in test casec                ó*   — | d   j                   | d   fS )Nr   é   )Úlabel)Úxs    ú]/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypyc/test/test_analysis.pyú<lambda>z'TestAnalysis.run_case.<locals>.<lambda>F   s   € ÀaÈÁdÇjÁjÐRSÐTUÑRVÐEW€ ó    )Úkeyz, c              3  ó(   •K  — | ]	  }‰|   –— Œ y ­w©N© ©Ú.0ÚregÚnamess     €r    ú	<genexpr>z(TestAnalysis.run_case.<locals>.<genexpr>H   s   øè ø€ Ò.a¸c¨u°S­zÑ.aùó   ƒc              3  ó(   •K  — | ]	  }‰|   –— Œ y ­wr%   r&   r'   s     €r    r+   z(TestAnalysis.run_case.<locals>.<genexpr>I   s   øè ø€ Ò/a¸s°°cµ
Ñ/aùr,   r   r   Ú8ú z{%s}Ú23NzInvalid source code output)#r   ÚosÚpathÚjoinÚdata_prefixr   r   ÚinputÚnamer   Úendswithr   Úinsert_exception_handlingÚextendr   r   Úget_cfgÚblocksÚsetÚarg_regsÚanalyze_maybe_defined_regsÚanalyze_live_regsÚanalyze_must_defined_regsr	   Úanalyze_borrowed_argumentsr   ÚsortedÚbeforeÚkeysÚafterÚappendr   r   Úmessagesr   )ÚselfÚtestcaseÚirÚactualÚfnÚcfgÚargsr6   Úanalysis_resultr#   ÚpreÚpostÚer*   s                @r    Úrun_casezTestAnalysis.run_case    sw  ø€ ô !¤§¡§¡¨d×.>Ñ.>Ô@RÓ!SÐU]Ó^ñ *	Oð(Ü-¨h¯n©nÓ=�ð �Øó "�BØ—w‘w¤.Ò0¸¿¹×9OÑ9OÐP[Ô9\Ø Ü×8Ñ8¸¸TÔBØ—M‘M¤+¨b£/Ô2Ü"×*Ñ*¨2¯9©9Ó5�CÜ'*¨2¯;©;Ó'7�DØ#Ÿ=™=�DØ—}‘} _Ô5ä*2×*MÑ*MÈbÏiÉiÐY\Ð^bÓ*c™ØŸ™ {Ô3ä*2×*DÑ*DÀRÇYÁYÐPSÓ*T™ØŸ™ ~Ô6ä*2×*LÑ*LØŸI™I s¨D´zÀ"Ç+Á+ÈrÏyÉyÓ7Yô+™ð Ÿ™Ð':Ô;ä*2×*MÑ*MÈbÏiÉiÐY\Ð^bÓ*c™àWÐ&WÓW˜uä1°"·+±+¸r¿y¹yÓI�Eä%Ø'×.Ñ.×3Ñ3Ó5Ñ;Wô ò ˜ð #Ÿi™i¬Ó.aÀ_×E[ÑE[Ð\_ÑE`Ô.aÓ(aÓb˜Ø#Ÿy™y¬Ó/aÀo×F[ÑF[Ð\_ÑF`Ô/aÓ)aÓb˜ØŸ™Ø03°A±·±¸cÀ!¹fÓ/EÀvÐPSÄ|ÐU[Ð^bÒUbÐcõòñ7"ôF ˜x¨Ð1MÔN÷U*	Oð *	Oøô  ò $ØŸ™•ûð$ú÷*	Oð *	Oús5   ºL¼K"ÁJLË"	LË+K<Ë7LË<LÌLÌLN)rI   r   ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Úfilesr   Ú	base_pathÚoptional_outrS   r&   r"   r    r   r      s   „ Ø€EØ€IØ€Lô-Or"   r   ) Ú__doc__Ú
__future__r   Úos.pathr1   Úmypy.errorsr   Úmypy.test.configr   Úmypy.test.datar   Úmypyc.analysisr   Úmypyc.commonr   Úmypyc.ir.func_irr	   Úmypyc.ir.opsr
   Úmypyc.ir.pprintr   r   Úmypyc.test.testutilr   r   r   r   r   Úmypyc.transformr   rY   r   r&   r"   r    ú<module>ri      sK   ðÙ 4å "ã å $Ý *Ý -Ý #Ý 'Ý 'Ý ß >÷õ õ 'à	Ð€ô2O�>õ 2Or"   