Ë
    pPêj  ã                  óÎ   — d Z ddlmZ ddlZddlmZ ddlmZm	Z	m
Z
mZ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 ddlmZ ddlmZ ddlmZmZ ddlm Z   G d„ de«      Z!y)z1Test cases for graph processing code in build.py.é    )ÚannotationsN)ÚSet)ÚBuildManagerÚBuildSourceSetÚStateÚ
order_asccÚsorted_components)ÚErrors)ÚFileSystemCache)Ústrongly_connected_componentsÚtopsort)ÚSearchPaths)ÚOptions)ÚPlugin)ÚReports)ÚSuiteÚassert_equal)Ú__version__c                  ól   — e Zd Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd	„Zdd
„Zdd„Zdd„Zy)Ú
GraphSuitec                óD   — i }t        t        t        |«      «      g «       y ©N)r   Úlistr   )ÚselfÚdatas     úX/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/test/testgraph.pyÚtest_topsort_emptyzGraphSuite.test_topsort_empty   s   € Ø>@ˆÜ”Tœ' $›-Ó(¨"Õ-ó    c                óÊ   — t        dh«      }t        dh«      }t        dh«      }t        dh«      }|||h||h||hi}t        t        |«      «      }t        ||h||h|hg«       y ©NÚAÚBÚCÚD©Ú	frozensetr   r   r   ©r   ÚaÚbÚcÚdr   Úress          r   Útest_topsortzGraphSuite.test_topsort   sv   € Ü�s�eÓˆÜ�s�eÓˆÜ�s�eÓˆÜ�s�eÓˆØ?@À1ÀaÀ&È!ÈaÈSÐRSÐVWÐUXÐ>YˆÜ”7˜4“=Ó!ˆÜ�S˜A˜3  A ¨¨Ð,Õ-r   c                ó†   — t        dh«      }t        dh«      }||hi}t        t        |«      «      }t        ||h|hg«       y ©Nr!   r"   r%   ©r   r(   r)   r   r,   s        r   Útest_topsort_orphanzGraphSuite.test_topsort_orphan"   sE   € Ü�s�eÓˆÜ�s�eÓˆØ?@À1À#¸hˆÜ”7˜4“=Ó!ˆÜ�S˜A˜3  ˜*Õ%r   c                óÔ   — t        dh«      }t        dh«      }t        dh«      }|t        «       |t        «       |t        «       i}t        t        |«      «      }t	        ||||hg«       y ©Nr!   r"   r#   ©r&   Úsetr   r   r   ©r   r(   r)   r*   r   r,   s         r   Útest_topsort_independentz#GraphSuite.test_topsort_independent)   sa   € Ü�s�eÓˆÜ�s�eÓˆÜ�s�eÓˆØ?@Ä#Ã%ÈÌCËEÐSTÔVYÓV[Ð>\ˆÜ”7˜4“=Ó!ˆÜ�S˜A˜q !˜9˜+Õ&r   c           	     óÞ   — t        dh«      }t        dh«      }t        dh«      }t        dh«      }||h||h||h|t        «       i}t        t        |«      «      }t	        ||h|h|h|hg«       y r    r4   r'   s          r   Útest_topsort_linear_chainz$GraphSuite.test_topsort_linear_chain1   s~   € Ü�s�eÓˆÜ�s�eÓˆÜ�s�eÓˆÜ�s�eÓˆØ?@À1À#ÀqÈ1È#ÈqÐSTÐRUÐWXÔZ]ÓZ_Ð>`ˆÜ”7˜4“=Ó!ˆÜ�S˜A˜3   a S¨1¨#Ð.Õ/r   c                óœ   — t        dh«      }t        dh«      }|||h|t        «       i}t        t        |«      «      }t	        ||h|hg«       y r/   r4   r0   s        r   Útest_topsort_self_dependencyz'GraphSuite.test_topsort_self_dependency:   sN   € Ü�s�eÓˆÜ�s�eÓˆØ?@À1ÀaÀ&È!ÌSËUÐ>SˆÜ”7˜4“=Ó!ˆÜ�S˜A˜3  ˜*Õ%r   c                ó¢   — t        dh«      }t        dh«      }t        dh«      }|||hi}t        t        |«      «      }t        |||h|hg«       y r3   r%   r6   s         r   Útest_topsort_orphan_diamondz&GraphSuite.test_topsort_orphan_diamondA   sU   € Ü�s�eÓˆÜ�s�eÓˆÜ�s�eÓˆà?@À1ÀaÀ&¸kˆÜ”7˜4“=Ó!ˆÜ�S˜A˜q˜6 A 3˜-Õ(r   c                óÀ   — t        dh«      }t        dh«      }||h||hi}| j                  t        «      5  t        t	        |«      «       d d d «       y # 1 sw Y   y xY wr/   )r&   ÚassertRaisesÚAssertionErrorr   r   )r   r(   r)   r   s       r   Útest_topsort_cyclezGraphSuite.test_topsort_cycleJ   s[   € Ü�s�eÓˆÜ�s�eÓˆØ?@À1À#ÀqÈ1È#Ð>NˆØ×Ñœ~Ó.ñ 	 Ü”˜“Ô÷	 ÷ 	 ñ 	 ús   ¶AÁAc                óÎ   — h d£}ddgdgddgg dœ}t        ||«      D �ch c]  }t        |«      ’Œ }}t        |t        dh«      t        ddh«      t        dh«      h«       y c c}w )N>   r!   r"   r#   r$   r"   r#   r$   )r!   r"   r#   r$   r!   )r   r&   r   )r   ÚverticesÚedgesÚxÚsccss        r   Útest_scczGraphSuite.test_sccQ   sm   € Ú'ˆØ-0°#¨J¸c¸UÈ#ÈsÈÐZ\Ñ&]ˆÜ&CÀHÈeÓ&TÖU ”	˜!•ÐUˆÐUÜ�TœI s eÓ,¬i¸¸c¸
Ó.CÄYÐPSÈuÓEUÐVÕWùò Vs   ŸA"c                ó  — t        «       }d|_        t        |«      }t        «       }t	        dddd«      }t        d|dt        g «      t        di «      |t        t        |«      i |d„ |t        j                  t        j                  ¬«      }|S )NT© Ú c                 ó   — y r   rI   )ÚfilenameÚmsgsÚseriouss      r   ú<lambda>z*GraphSuite._make_manager.<locals>.<lambda>h   s   � r   )Údata_dirÚsearch_pathsÚignore_prefixÚ
source_setÚreportsÚoptionsÚ
version_idÚpluginÚplugins_snapshotÚerrorsÚflush_errorsÚfscacheÚstdoutÚstderr)r   Úuse_builtins_fixturesr
   r   r   r   r   r   r   r   Úsysr\   r]   )r   rU   rY   r[   rQ   Úmanagers         r   Ú_make_managerzGraphSuite._make_managerW   s„   € Ü“)ˆØ(,ˆÔ%Ü˜“ˆÜ!Ó#ˆÜ" 2 r¨2¨rÓ2ˆÜØØ%ØÜ% bÓ)Ü˜B “OØÜ"Ü˜'“?ØØÙ=ØÜ—:‘:Ü—:‘:ô
ˆð  ˆr   c           
     óØ  — | j                  «       }t        j                  dd d|«      t        j                  dd d|«      t        j                  dd d|«      t        j                  dd d|«      t        j                  d	d d
|«      dœ}|j                  t	        |j                  «       «      «       t        |«      D �cg c]  }|j                  ‘Œ }}t        |d	hdhddhdhg«       y c c}w )Nr(   úimport b, cr+   Úpassr)   úimport cr*   úimport b, dÚbuiltinsrJ   ©r(   r+   r)   r*   rg   )	ra   r   Ú	new_stateÚ	parse_allr   Úvaluesr	   Úmod_idsr   )r   r`   ÚgraphÚsccr,   s        r   Útest_sorted_componentsz!GraphSuite.test_sorted_componentso   sË   € Ø×$Ñ$Ó&ˆä—‘  d¨M¸7ÓCÜ—‘  d¨F°GÓ<Ü—‘  d¨J¸Ó@Ü—‘  d¨M¸7ÓCÜŸ™¨
°D¸"¸gÓFñ
ˆð 	×Ñœ$˜uŸ|™|›~Ó.Ô/Ü&7¸Ó&>Ö?˜sˆs�{‹{Ð?ˆÐ?Ü�S˜J˜<¨#¨°°c°
¸S¸EÐBÕCùò @s   Â<C'c           
     ó  — | j                  «       }t        j                  dd d|«      t        j                  dd d|«      t        j                  dd d|«      t        j                  dd d|«      t        j                  d	d d
|«      dœ}|j                  t	        |j                  «       «      «       t        |«      D �cg c]  }|j                  ‘Œ }}t        |d	hh d£g«       |d   }t        ||«      }t        |g d¢«       y c c}w )Nr(   rc   r+   zdef f(): import ar)   re   r*   rf   rg   rJ   rh   >   r(   r)   r*   r+   é   )r+   r*   r)   r(   )
ra   r   ri   rj   r   rk   r	   rl   r   r   )r   r`   rm   rn   r,   Úasccs         r   Útest_order_ascczGraphSuite.test_order_ascc|   sá   € Ø×$Ñ$Ó&ˆä—‘  d¨M¸7ÓCÜ—‘  dÐ,?ÀÓIÜ—‘  d¨J¸Ó@Ü—‘  d¨M¸7ÓCÜŸ™¨
°D¸"¸gÓFñ
ˆð 	×Ñœ$˜uŸ|™|›~Ó.Ô/Ü&7¸Ó&>Ö?˜sˆs�{‹{Ð?ˆÐ?Ü�S˜J˜<Ò)=Ð>Ô?Ø�1‰vˆÜ˜ Ó%ˆÜ�SÒ.Õ/ùò	 @s   Â<DN)ÚreturnÚNone)rt   r   )Ú__name__Ú
__module__Ú__qualname__r   r-   r1   r7   r9   r;   r=   rA   rG   ra   ro   rs   rI   r   r   r   r      s@   „ ó.ó.ó&ó'ó0ó&ó)ó óXóó0Dô0r   r   )"Ú__doc__Ú
__future__r   r_   Úcollections.abcr   ÚAbstractSetÚ
mypy.buildr   r   r   r   r	   Úmypy.errorsr
   Úmypy.fscacher   Úmypy.graph_utilsr   r   Úmypy.modulefinderr   Úmypy.optionsr   Úmypy.pluginr   Úmypy.reportr   Úmypy.test.helpersr   r   Úmypy.versionr   r   rI   r   r   ú<module>r‡      s@   ðÙ 7å "ã 
Ý .ç YÕ YÝ Ý (ß CÝ )Ý  Ý Ý ß 1Ý $ôv0�õ v0r   