Ë
    pPêj\O  ã                  ó:  — d Z ddlmZ ddlZddlZddlZddlZddlZddl	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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! 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l0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8 g d¢Z9ejt                  dk\  re9jw                  d«       dZ<dZ=d&d„Z>ej~                  d'd„«       Z@ G d„ de3«      ZA G d„ deA«      ZB G d „ d!eA«      ZC G d"„ d#eA«      ZDd(d$„ZEd)d%„ZFy)*z6Test cases for building an C extension and running it.é    )ÚannotationsN)ÚIterator)ÚAny)Úbuild)ÚCompileError)ÚOptions)Úmypyc_output_dirÚtest_temp_dir)ÚDataDrivenTestCase)Úassert_module_equivalenceÚperform_file_operations)Úconstruct_groups)Ú
emitmodule)Úcollect_source_dependencies)ÚErrors)ÚCompilerOptions)Útest_data_prefix)Úget_librt_path)Úcheck_serialization_roundtrip)ÚICODE_GEN_BUILTINSÚTESTUTIL_PATHÚMypycDataSuiteÚassert_test_outputÚfudge_dir_mtimesÚhas_test_name_tagÚshow_cÚuse_custom_builtins)2zrun-async.testzrun-misc.testzrun-functions.testzrun-integers.testzrun-i64.testzrun-i32.testzrun-i16.testzrun-u8.testúrun-floats.testzrun-math.testzrun-bools.testzrun-strings.testzrun-bytes.testzrun-tuples.testzrun-lists.testzrun-dicts.testzrun-sets.testzrun-primitives.testzrun-loops.testzrun-exceptions.testzrun-imports.testzrun-classes.testzrun-traits.testzrun-generators.testzrun-generics.testúrun-multimodule.testzrun-bench.testúrun-mypy-sim.testúrun-dunders.testzrun-dunders-special.testzrun-singledispatch.testzrun-attrs.testzrun-signatures.testzrun-weakref.testzrun-python37.testzrun-python38.testzrun-librt-strings.testzrun-base64.testzrun-librt-time.testzrun-librt-random.testzrun-threading.testzrun-match.testzrun-vecs-i64-interp.testzrun-vecs-misc-interp.testzrun-vecs-t-interp.testzrun-vecs-nested-interp.testzrun-vecs-i64.testzrun-vecs-misc.testzrun-vecs-t.testzrun-vecs-nested.test©é   é   zrun-python312.testaV  from setuptools import setup
from mypyc.build import mypycify

setup(name='test_run_output',
      ext_modules=mypycify({}, separate={}, skip_cgen_input={!r}, strip_asserts=False,
                           multi_file={}, opt_level='{}', install_librt={},
                           experimental_features={}, depends_on_librt_internal={}),
)
r   c                óÚ  — t         j                  j                  «       }d| i}	 	 | t         j                  d<   |t         j                  dd t        | d«      5 }t	        |j                  «       |«       ddd«       |t         _        y# 1 sw Y   ŒxY w# |t         _        w xY w# t        $ r?}|j                  dk(  rt        |‚|j                  dk(  xs |j                  du cY d}~S d}~ww xY w)aÍ  Run a setup script in a somewhat controlled environment.

    This is adapted from code in distutils and our goal here is that is
    faster to not need to spin up a python interpreter to run it.

    We had to fork it because the real run_setup swallows errors
    and KeyboardInterrupt with no way to recover them (!).
    The real version has some extra features that we removed since
    we weren't using them.

    Returns whether the setup succeeded.
    Ú__file__r   é   NÚrbÚinterruptedT)	ÚsysÚargvÚcopyÚopenÚexecÚreadÚ
SystemExitÚcodeÚKeyboardInterrupt)Úscript_nameÚscript_argsÚ	save_argvÚgÚfÚes         úX/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypyc/test/test_run.pyÚ	run_setupr:   r   sÌ   € ô —‘—‘“€IØ	�[Ð!€Að-ð	!Ø%ŒC�H‰H�Q‰KØ&ŒC�H‰H�Q�RˆLÜ�k 4Ó(ð "¨AÜ�Q—V‘V“X˜qÔ!÷"ð !ŒCŒHð ÷"ð "ûð !ŒC�HûÜò -ð �6‰6�]Ò"Ü#¨Ð*à�v‰v˜‰{Ò,˜aŸf™f¨˜nÕ,ûð-úsG   ¥2B ÁBÁ2B Á:B" ÂBÂB ÂBÂB" Â"	C*Â+4C%ÃC*Ã%C*c              #  óÆ   K  — t        j                  «       }t        j                  | «       	 d –— t        j                  |«       y # t        j                  |«       w xY w­w©N)ÚosÚgetcwdÚchdir)ÚtargetÚdirs     r9   Úchdir_managerrB   •   s;   è ø€ ä
�)‰)‹+€CÜ‡H�HˆVÔðÛä
�‰��øŒ�‰��üs   ‚*A!­A ±A!ÁAÁA!c                  óH   — e Zd ZdZeZeZdZdZdZ	dZ
d	d„Zd	d„Zd
d„Zdd„Zy)ÚTestRunz1Test cases that build a C extension and run code.TFc                óŒ  — t         j                  j                  «       5 }|j                  dd¬«       t	        t
        j                  j                  | j                  t        «      |«      5  t        d«      5  | j                  |«       d d d «       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)NÚCFLAGSF)ÚraisingÚtmp)ÚpytestÚMonkeyPatchÚcontextÚdelenvr   r=   ÚpathÚjoinÚdata_prefixr   rB   Úrun_case_inner)ÚselfÚtestcaseÚmps      r9   Úrun_casezTestRun.run_case©   s¥   € Ü×Ñ×'Ñ'Ó)ð 	.¨RØ�I‰I�h¨ˆIÔ.ô $¤B§G¡G§L¡L°×1AÑ1AÔCUÓ$VÐX`Óañ.ä˜eÓ$ñ.ð ×#Ñ# HÔ-÷	.÷ .÷		.ð 	.÷.ð .ú÷ .ð .ú÷		.ð 	.ús<   ŸAB:Á+B.Á7B"Â	B.ÂB:Â"B+Â'B.Â.B7	Â3B:Â:Cc                óê  — t         j                  j                  t        «      st        j                  t        «       dj                  |j                  «      }t        ddd¬«      5 }|j                  |«       d d d «       t        ddd¬«      5 }|j                  |«       d d d «       t        j                  t        d«       d}| j                  ||«       |j                  «       }|g gk(  rg }|D ]]  }t        t        d	«       t        j                   d
«       |dz  }t#        d«      5  t%        |«       d d d «       | j                  ||«       Œ_ y # 1 sw Y   ŒÚxY w# 1 sw Y   Œ¾xY w# 1 sw Y   Œ6xY w)Nú
ú	native.pyÚwúutf-8©Úencodingzinterpreted.pyztestutil.pyr'   éÿÿÿÿg      ð?z..)r=   rM   ÚisdirÚWORKDIRÚmkdirrN   Úinputr-   ÚwriteÚshutilÚcopyfiler   Úrun_case_stepÚ
find_stepsr   ÚtimeÚsleeprB   r   )rQ   rR   Útextr7   ÚstepÚstepsÚ
operationss          r9   rP   zTestRun.run_case_inner´   s4  € Ü�w‰w�}‰}œWÔ%Ü�H‰H”WÔà�y‰y˜Ÿ™Ó(ˆä�+˜s¨WÔ5ð 	¸Ø�G‰G�DŒM÷	äÐ" C°'Ô:ð 	¸aØ�G‰G�DŒM÷	ô 	�‰œ }Ô5àˆØ×Ñ˜8 TÔ*à×#Ñ#Ó%ˆØ�R�DŠ=ØˆEàò 	/ˆJô œW bÔ)ô �J‰J�sŒOà�A‰IˆDÜ˜tÓ$ñ 4Ü'¨
Ô3÷4à×Ñ˜x¨Õ.ñ	/÷	ð 	ú÷	ð 	ú÷.4ð 4ús$   Á&EÂEÄ(E)ÅEÅE&Å)E2	c                ór  — t        |j                  d«      }|j                  j                  dd«      xr |xs d|j                  v }t	        «       }d|_        d|_        d|_        d|_        d|_	        d|_
        t        j                  d d |_        d|_        d|_        d|_        | j"                  |_        d|_        ddi|j(                  d	<   dd
i|j(                  d<   dd
i|j(                  d<   t+        j,                  ddd «      }|g}dg}dg}	g }
|j.                  D �]%  \  }}t0        j2                  j5                  |t6        «      }t0        j2                  j9                  |«      j;                  d«      rò|j=                  d«      rá|j?                  d«      d   jA                  t0        jB                  d«      }|jE                  |«       |jE                  t+        j,                  ||d «      «       |
jE                  |«       |	jE                  |«       tG        jH                  |t0        j2                  jK                  t0        j2                  jM                  |«      |dz   «      «       �ŒK|j=                  d«      s�Œ^t0        j2                  jM                  |«      }t0        j2                  j9                  |«      j;                  d«      s�Œ­|jA                  t0        jB                  d«      }|jE                  |«       |jE                  t+        j,                  ||d «      «       |
jE                  |«       |	jE                  |«       �Œ( |D ]+  }d|j(                  jO                  |jP                  i «      d<   Œ- | j"                  r+| jS                  djK                  |jT                  «      |«      nd}tW        ||tY        |«      dkD  d «      }t        |j                  d«      }t        |j                  d«      }t        |j                  d«      }d }	 t[        | j\                  | j"                  | j^                  ||d¬«      }ta        jb                  ||||d¬«      }te        |«      }ta        jf                  ||||¬«      \  }}}ti        d„ tk        |«      D «       d„ ¬ «      }|jl                  r|jo                  «        J d!«       ‚	 |�%|j|                  j~                  j�                  «        	 |dk(  rtƒ        |«       |rd"n(t…        t0        j†                  j‰                  d#d«      «      }t0        j2                  j‹                  t0        j2                  jK                  tŒ        d$«      «      }t�        |d%d&¬'«      5 }|j‘                  t’        j•                  |	|||f| j\                  |d||«      «       d d d «       |rJt—        |t™        |«      ¬(«      } tG        jš                  t0        j2                  jK                  | d«      d«       t�        |d)d*g«      s<|j                  j                  d+«      rtŸ        |«       t¡        t¢        «       J d,«       ‚t        j¤                  d-k(  rd.nd/}!t§        j¦                  d0|!› �«      st§        j¦                  d1|!› �«      sJ ‚d2}"t0        j2                  j©                  |"«      s;t0        j2                  jK                  tª        d3d2«      }#tG        j¬                  |#|"«       t0        j†                  j­                  «       }$|rd4nd5|$d6<   |j                  j                  d7«      }%|%rl|%d8k(  r*t¯        j°                  d8d9t        j²                  |"g|$¬:«       n6|%d;k(  r*t¯        j°                  d;d<t        j²                  |"g|$¬:«       nJ d=«       ‚J d>«       ‚t¯        j´                  t        j²                  |"gt®        j¶                  t®        j¸                  |$¬?«      }&t        j                  d@k\  r|&j»                  dA¬B«       |&j½                  «       d   j¿                  dC«      }'|'jA                  dDt1        jÀ                  «       › t0        jB                  › �dD«      }'|'jÃ                  «       }(|j                  j                  d+«      rtŸ        |«       |&jÄ                  dk7  r°tu        «        |&jÄ                  dEk(  })dF}*|)rdG}*tu        dH|&jÄ                  › |*› �«       |)rft        j¤                  j;                  dI«      sGtu        «        t        j¤                  dJk(  rd8}%nd;}%tu        dK|%› dL�«       tu        dM«       tu        dN«       t¡        t¢        «       |rtu        dO«       tu        |'«       nt|dk(  rdP}+|jÆ                  },n"dQ|› dR�}+|jÈ                  j‰                  |g «      },|,s.|(D �cg c]#  }tw        ||jx                  |jz                  «      ‘Œ% }(}tË        ||(|+|,«       |dkD  r©|j$                  r�|dk(  rdFnt™        |dz
  «      }!|jÌ                  j‰                  |dz
  «      }-|-�$tÏ        dS|!z   |-|j|                  jÐ                  «       |jÒ                  j‰                  |dz
  «      }.|.�$tÏ        dT|!z   |.|j|                  jÔ                  «       |&jÄ                  dk(  sJ ‚y # tp        $ rG}|jr                  D ],  }tu        tw        ||jx                  |jz                  «      «       Œ. J d!«       ‚d }~ww xY w# |�%|j|                  j~                  j�                  «        w w xY w# 1 sw Y   �ŒyxY wc c}w )UNÚ	benchmarkz--benchFÚ	BenchmarkTé   Úfollow_importsÚerrorzunchecked.*ÚskipÚskippedz	skipped.*rW   ÚnativeÚotherz.pyú.r   z_interpreted.pyz__init__.pyÚmypycrV   r'   Úlibrt_internalÚlibrtÚexperimental)Ú
multi_fileÚseparateÚstrict_dunder_typingÚdepends_on_librt_internalÚexperimental_featuresÚstrict_traceback_checks)ÚsourcesÚoptionsÚcompiler_optionsÚgroupsÚalt_lib_path)rƒ   Úerrorsr„   c              3  ób   K  — | ]'  }|j                   |j                  |j                  f–— Œ) y ­wr<   )rM   Úinclude_dirsÚinternal)Ú.0Údeps     r9   ú	<genexpr>z(TestRun.run_case_step.<locals>.<genexpr>5  s-   è ø€ ò àð —X‘X˜s×/Ñ/°·±Ô>ñùs   ‚-/c                ó   — | d   S )Nr   © )Útups    r9   ú<lambda>z'TestRun.run_case_step.<locals>.<lambda>9  s
   €   A¡€ ó    )ÚkeyzCompile errorr#   ÚMYPYC_OPT_LEVELzsetup.pyrX   rY   rZ   )Ú	opt_levelÚ	build_extz	--inplacez--mypyc-showczCompilation failedÚwin32ÚpydÚsoz	native.*.znative.z	driver.pyÚdriverÚ1Ú0ÚMYPYC_RUN_BENCHÚdebuggerÚlldbz--)ÚenvÚgdbz--argszUnsupported debuggerzaTest can't pass in debugging mode. (Make sure to pass -s to pytest to interact with the debugger))ÚstdoutÚstderrrŸ   r"   é   )ÚtimeoutÚutf8z  File "iõÿÿÿÚ z (likely segmentation fault)z*** Exit status: ÚwinÚdarwinz'hint: Use "pytest -n0 -s --mypyc-debug=z- -k <name-substring>" to run test in debuggerzFhint: You may need to build a debug version of Python first and use itz>hint: See also "Debugging Segfaults" in mypyc/doc/dev-intro.mdzTest output:zInvalid outputzInvalid output (step ú)Ú	recheckedÚstale)kr   ÚnameÚconfigÚ	getoptionr   Úuse_builtins_fixturesÚshow_tracebackÚstrict_optionalÚstrict_bytesÚdisable_bytearray_promotionÚdisable_memoryview_promotionr*   Úversion_infoÚpython_versionÚexport_typesÚpreserve_astsÚallow_empty_bodiesr|   ÚincrementalÚcheck_untyped_defsÚper_module_optionsr   ÚBuildSourceÚfilesr=   rM   Úrelpathr
   ÚbasenameÚ
startswithÚendswithÚsplitÚreplaceÚsepÚappendrb   rc   rN   ÚdirnameÚ
setdefaultÚmoduleÚget_separater`   r   Úlenr   r{   r}   r   Úparse_and_typecheckr   Úcompile_modules_to_cÚsortedr   Ú
num_errorsÚflush_errorsr   ÚmessagesÚprintÚfix_native_line_numberÚfileÚlineÚmanagerÚ	metastoreÚcloser   ÚintÚenvironÚgetÚabspathr^   r-   ra   Úsetup_formatÚformatr   ÚstrÚcopytreer:   r   Úcopy_output_filesr	   ÚplatformÚglobÚisfiler   r,   Ú
subprocessÚ
check_callÚ
executableÚPopenÚPIPEÚSTDOUTÚwaitÚcommunicateÚdecoder>   Ú
splitlinesÚ
returncodeÚoutputÚoutput2r   Úexpected_rechecked_modulesr   Úrechecked_modulesÚexpected_stale_modulesÚstale_modules)/rQ   rR   Úincremental_stepÚbenchmark_buildÚbenchr‚   Úsourcer�   Úmodule_namesÚmodule_pathsÚ	to_deleteÚfnrh   r¬   Úpkg_dirr|   r„   rx   ry   r   Úresultrƒ   r†   ÚirÚcfilesÚ_Údepsr8   rÕ   r”   Ú
setup_filer7   Úcached_librtÚsuffixÚdriver_pathÚdefault_driverrŸ   r�   Úprocrð   ÚoutlinesÚsignalÚextraÚmsgÚexpectedÚexpected_recheckedÚexpected_stales/                                                  r9   rd   zTestRun.run_case_step×   s´	  € Ü+¨H¯M©M¸;ÓGˆØ—‘×)Ñ)¨)°UÓ;ò 
ØÒ;˜{¨h¯m©mÐ;ð 	ô “)ˆØ(,ˆÔ%Ø!%ˆÔØ"&ˆÔØ#ˆÔØ.2ˆÔ+Ø/3ˆÔ,Ü!$×!1Ñ!1°"°1Ð!5ˆÔØ#ˆÔØ $ˆÔØ%)ˆÔ"Ø"Ÿm™mˆÔØ%)ˆÔ"ð 6FÀwÐ4Oˆ×"Ñ" =Ñ1ð 2BÀ6Ð0Jˆ×"Ñ" 9Ñ-Ø3CÀVÐ2Lˆ×"Ñ" ;Ñ/ä×"Ñ" ;°¸$Ó?ˆØ�(ˆØ �zˆØ#�}ˆð ˆ	Ø Ÿ™ó 	,‰HˆB�Ü—‘—‘ ¤]Ó3ˆBä�w‰w×Ñ Ó#×.Ñ.¨wÔ7¸B¿K¹KÈÔ<NØ—x‘x “} QÑ'×/Ñ/´·±¸Ó<�Ø×#Ñ# DÔ)Ø—‘œu×0Ñ0°°T¸4Ó@ÔAØ× Ñ  Ô$Ø×#Ñ# BÔ'ä—‘ ¤B§G¡G§L¡L´·±·±ÀÓ1DÀdÐM^ÑF^Ó$_Ö`Ø—‘˜]Ö+ÜŸ'™'Ÿ/™/¨"Ó-�Ü—7‘7×#Ñ# GÓ,×7Ñ7¸Ö@Ø"Ÿ?™?¬2¯6©6°3Ó7�DØ ×'Ñ'¨Ô-Ø—N‘N¤5×#4Ñ#4°R¸¸tÓ#DÔEØ×$Ñ$ RÔ(Ø ×'Ñ'¨Ö+ð%	,ð( ò 	UˆFØPTˆG×&Ñ&×1Ñ1°&·-±-ÀÓDÀWÒMð	Uð
 �}Š}ð ×Ñ˜dŸi™i¨¯©Ó7Ð9IÔJàð 	ô " '¨8´S¸Ó5FÈÑ5JÈDÓQˆô +¨8¯=©=Ð:JÓKˆÜ! (§-¡-°Ó9ˆä 1°(·-±-ÀÓ PÐØˆð$	1Ü.ØŸ?™?ØŸ™Ø%)×%>Ñ%>Ø*8Ø&;Ø(,ô Ðô  ×3Ñ3ØØØ!1ØØ ôˆFô ˜G“_ˆFÜ&×;Ñ;ØÐ)9À&ÐQWô‰MˆB�˜ô ñä:¸2Ó>ôñ 'ôˆDð × Ò Ø×#Ñ#Ô%Ø-˜oÓ-�uð !ð Ð!Ø—‘×(Ñ(×.Ñ.Õ0ð ˜qÒ Ü)¨"Ô-á(‘A¬c´"·*±*·.±.ÐARÐTUÓ2VÓ.Wˆ	ä—W‘W—_‘_¤R§W¡W§\¡\´'¸:Ó%FÓGˆ
ô �*˜c¨GÔ4ð 	¸Ø�G‰GÜ×#Ñ#Ø ØØ˜T�NØ—O‘OØØØ)Ø"ó	ô÷	ñ ä)Ð*?Ì3ÈyË>ÔZˆLÜ�O‰OœBŸG™GŸL™L¨°wÓ?ÀÔIä˜ k°;Ð%?Ô@Ø�‰×(Ñ(¨Ô9Ü�v”ÜÔ.Ô/Ø.Ð.Ó.�5ô Ÿ,™,¨'Ò1‘°tˆÜ�y‰y˜9 V HÐ-Ô.´$·)±)¸gÀfÀXÐ<NÔ2OÐOÐOà!ˆÜ�w‰w�~‰~˜kÔ*ô  ŸW™WŸ\™\Ô*:¸HÀkÓRˆNÜ�K‰K˜¨Ô4Ü�j‰j�o‰oÓˆÙ(-¡°3ˆÐÑà—?‘?×,Ñ,¨ZÓ8ˆÙØ˜6Ò!Ü×%Ñ% v¨t´S·^±^À[Ð&QÐWZÖ[Ø˜UÒ"Ü×%Ñ% u¨h¼¿¹ÈÐ&TÐZ]Ö^à4Ð4Ó4�uððQó�5ô ×ÑÜ�^‰^˜[Ð)Ü—?‘?Ü×$Ñ$Øô	
ˆô ×Ñ˜wÒ&à�I‰I˜bˆIÔ!Ø×!Ñ!Ó# AÑ&×-Ñ-¨fÓ5ˆØ—‘ (¬2¯9©9«;¨-¼¿¹°xÐ @À*ÓMˆØ×$Ñ$Ó&ˆà�?‰?×$Ñ$ _Ô5Ü�6ŒNØ�?‰?˜aÒÜŒGØ—_‘_¨Ñ+ˆFØˆEÙØ6�ÜÐ% d§o¡oÐ%6°u°gÐ>Ô?ÙœcŸl™l×5Ñ5°eÔ<Ü”Ü—<‘< 8Ò+Ø%‘Hà$�HÜØ=¸h¸ZÐGtÐuôô Ð^Ô_ÜÐVÔWÜÔ.Ô/ñ Ü�.Ô!Ü�&�Mà 1Ò$Ø&�Ø#Ÿ?™?‘à-Ð.>Ð-?¸qÐA�Ø#×+Ñ+×/Ñ/Ð0@À"ÓE�áð \döØSWÔ*¨4°·±ÀÇÁÕNð�ð ô ˜x¨°3¸ÔAà˜aÒ G×$7Ò$7Ø+¨qÒ0‘R´cÐ:JÈQÑ:NÓ6OˆFØ!)×!DÑ!D×!HÑ!HÐIYÐ\]ÑI]Ó!^ÐØ!Ð-Ü)Ø &Ñ(Ð*<¸f¿n¹n×>^Ñ>^ôð &×<Ñ<×@Ñ@ÐAQÐTUÑAUÓVˆNØÐ)Ü)Ø˜fÑ$ n°f·n±n×6RÑ6Rôð �‰ !Ò#Ð#Ñ#øôW ò 	*ØŸ
™
ò R�ÜÔ,¨T°8·=±=À(Ç-Á-ÓPÕQðRà)˜/Ó)�5ûð	*ûð
 Ð!Ø—‘×(Ñ(×.Ñ.Õ0ð "ú÷	ñ 	üòNs8   ÐB2j( Õ88l'æ0(l4ê(	k8ê1Ak3ë3k8ë8k; ë;)l$ì'l1c                ó,  — d}t        j                  |j                  |«      |t         j                  ¬«      }|s5t        j                  |j                  d«      |t         j                  ¬«      }|r$t	        j
                  |j                  d«      «      S y)Nz# separate{}: (\[.*\])$)Úflagsr¦   r'   T)ÚreÚsearchrÞ   Ú	MULTILINEÚastÚliteral_evalÚgroup)rQ   Úprogram_textrö   ÚtemplateÚms        r9   rÊ   zTestRun.get_separateË  sh   € Ø-ˆÜ�I‰I�h—o‘oÐ&6Ó7¸ÌRÏ\É\ÔZˆÙÜ—	‘	˜(Ÿ/™/¨"Ó-¨|Ä2Ç<Á<ÔPˆAÙÜ×#Ñ# A§G¡G¨A£JÓ/Ð/àr‘   N)rR   r   ÚreturnÚNone)rR   r   rö   rÙ   r  r  )r  rß   rö   rÙ   r  r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r¾   r
   Ú	base_pathÚoptional_outr{   r|   r}   rT   rP   rd   rÊ   rŽ   r‘   r9   rD   rD   Ÿ   s;   „ Ù;à€EØ€IØ€LØ€JØ€HØ Ðó	.ó!/óFr$ôhr‘   rD   c                  ó    — e Zd ZdZdZdZddgZy)ÚTestRunMultiFilezÃRun the main multi-module tests in multi-file compilation mode.

    In multi-file mode each module gets compiled into a separate C file,
    but all modules (C files) are compiled together.
    TÚ_multir   r    N)r  r  r   r!  r{   Útest_name_suffixr¾   rŽ   r‘   r9   r%  r%  Ö  s   „ ñð €JØÐØ#Ð%8Ð9�Er‘   r%  c                  ó    — e Zd ZdZdZdZddgZy)ÚTestRunSeparateaY  Run the main multi-module tests in separate compilation mode.

    In this mode there are multiple compilation groups, which are compiled
    incrementally. Each group is compiled to a separate C file, and these C
    files are compiled separately.

    Each compiled module is placed into a separate compilation group, unless
    overridden by a special comment. Consider this example:

      # separate: [(["other.py", "other_b.py"], "stuff")]

    This puts other.py and other_b.py into a compilation group named "stuff".
    Any files not mentioned in the comment will get single-file groups.
    TÚ	_separater   r    N)r  r  r   r!  r|   r'  r¾   rŽ   r‘   r9   r)  r)  â  s   „ ñð €HØ"ÐØ#Ð%8Ð9�Er‘   r)  c                  ó    — e Zd ZdZdZdZddgZy)ÚTestRunStrictDunderTypingz(Run the tests with strict dunder typing.TÚ_dunder_typingr!   r   N)r  r  r   r!  r}   r'  r¾   rŽ   r‘   r9   r,  r,  ÷  s   „ Ù2àÐØ'ÐØÐ!2Ð3�Er‘   r,  c                ó´   ‡‡— t         j                  j                  ‰«      Št        j                  dˆˆfd„| «      } t        j                  dˆˆfd„| «      } | S )ap  Update code locations in test case output to point to the .test file.

    The description of the test case is written to native.py, and line numbers
    in test case output often are relative to native.py. This translates the
    line numbers to be relative to the .test file that contains the test case
    description, and also updates the file name to the .test file name.

    Args:
        message: message to update
        fnam: path of the .test file
        delta: line number of the beginning of the test case in the .test file

    Returns updated message (or original message if we couldn't find anything).
    znative\.py:([0-9]+):c                óH   •— d‰t        | j                  d«      «      ‰z   fz  S )Nz%s:%d:r'   ©rÙ   r  ©r  ÚdeltaÚfnams    €€r9   r�   z(fix_native_line_number.<locals>.<lambda>  s"   ø€ ¨8°t¼SÀÇÁÈÃ»_ÈuÑ=TÐ6UÑ+U€ r‘   z"native.py", line ([0-9]+),c                óH   •— d‰t        | j                  d«      «      ‰z   fz  S )Nz"%s", line %d,r'   r0  r1  s    €€r9   r�   z(fix_native_line_number.<locals>.<lambda>  s#   ø€ Ð" d¬C°·±¸³
«O¸eÑ,CÐ%DÑD€ r‘   )r=   rM   rÀ   r  Úsub)Úmessager3  r2  s    ``r9   rÓ   rÓ   ÿ  sP   ù€ ô �7‰7×Ñ˜DÓ!€DÜ�f‰fØÔ!UÐW^ó€Gô �f‰fØ&ÜDØó€Gð
 €Nr‘   c                óô   — 	 t        j                  | «       t        j                  d«      D ]  }t	        j
                  || «       Œ t        j                  j                  d| › d�«       y # t        $ r Y y w xY w)Nzbuild/*.[ch]z
Generated files: z (for first failure only)

)	r=   r_   ÚOSErrorrã   rb   r,   r*   r¢   ra   )Ú
target_dirr3  s     r9   rá   rá     sp   € ðÜ
�‰�Ôô —	‘	˜.Ó)ò &ˆÜ�‰�D˜*Õ%ð&ô ‡J�J×ÑÐ*¨:¨,Ð6SÐTÕUøô ò ñ 	ðús   ‚A+ Á+	A7Á6A7)r3   rß   r4   z	list[str]r  Úbool)r@   rß   r  zIterator[None])r6  rß   r3  rß   r2  rÙ   r  rß   )r9  rß   r  r  )Gr!  Ú
__future__r   r  Ú
contextlibrã   Úos.pathr=   r  rb   rå   r*   rf   Úcollections.abcr   Útypingr   rI   Úmypyr   Úmypy.errorsr   Úmypy.optionsr   Úmypy.test.configr	   r
   Úmypy.test.datar   Úmypy.test.helpersr   r   Úmypyc.buildr   Úmypyc.codegenr   Úmypyc.codegen.emitmoduler   Úmypyc.errorsr   Úmypyc.optionsr   Úmypyc.test.configr   Úmypyc.test.librt_cacher   Úmypyc.test.test_serializationr   Úmypyc.test.testutilr   r   r   r   r   r   r   r   r¾   rµ   rÆ   rÝ   r^   r:   ÚcontextmanagerrB   rD   r%  r)  r,  rÓ   rá   rŽ   r‘   r9   ú<module>rP     sù   ðÙ <å "ã 
Û Û Û Û 	Û Û Û 
Û Ý $Ý ã å Ý $Ý  ß <Ý -ß PÝ (Ý $Ý @Ý Ý )Ý .Ý 1Ý G÷	÷ 	ó 	ò3	€ðj ×Ñ�wÒØ	‡L�LÐ%Ô&ð	€ð €ó ðF ×Ñòó ðôtˆnô tôn		:�wô 	:ô:�gô :ô*4 ô 4óô6Vr‘   