Ë
    pPêj¶  ã                  óÂ   — 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mZm	Z	 ddl
mZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ  G d„ dej:                  «      Zy)	zPTest that C functions used in primitives are declared in a header such as CPy.h.é    )ÚannotationsN)Ú	HeaderDepÚ	SourceDep)ÚPrimitiveDescription)Úbytearray_opsÚ	bytes_opsÚdict_opsÚexc_opsÚ	float_opsÚgeneric_opsÚint_opsÚlibrt_strings_opsÚlibrt_vecs_opsÚlist_opsÚmisc_opsÚregistryÚset_opsÚstr_opsÚ	tuple_opsÚweakref_opsc                  ó   — e Zd Zdd„Zy)ÚTestHeaderInclusionc                óŒ  ‡— t         j                  j                  t         j                  j                  t        «      dd«      }t        t         j                  j                  |d«      «      5 }|j                  «       Šd d d «       t        t         j                  j                  |d«      «      5 }‰|j                  «       z  Šd d d «       d	ˆfd„}g }t        j                  j                  «       t        j                  j                  «       t        j                  j                  «       t        j                  j                  «       fD ]  }|D ]  }|j                  |«       Œ Œ t        t        t         t"        t$        t&        t(        t*        t,        t.        t0        t2        t4        t6        t8        fD ]A  }t;        |«      D ]1  }t=        ||d «      }	t?        |	t@        «      sŒ!|jC                  |	«       Œ3 ŒC |D ]Ê  }
|
jD                  sŒ|
jD                  D ]¬  }t?        |tF        tH        f«      sŒt         j                  j                  ||jK                  «       «      }t         j                  jM                  |«      sŒht        t         j                  j                  ||«      «      5 }‰|j                  «       z  Šd d d «       Œ® ŒÌ |D ]!  }
|
jN                  €Œ ||
jN                  «       Œ# t         j                  j                  t         j                  j                  t        «      dd«      }tQ        jP                  |› d�«      D ]I  }t        |«      5 }|j                  «       }d d d «       tS        jT                  d«      D ]
  } ||«       Œ ŒK y # 1 sw Y   �ŒxY w# 1 sw Y   �ŒßxY w# 1 sw Y   �Œ¢xY w# 1 sw Y   ŒVxY w)
Nz..zlib-rtzCPy.hzpythonsupport.hc                ót   •— | j                  d«      r&t        j                  d| › d�‰«      sJ d| › d�«       ‚y y )NÚCPyz\bú"z7" is used in mypyc.primitives but not declared in CPy.h)Ú
startswithÚreÚsearch)ÚnameÚheaders    €ú\/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypyc/test/test_cheader.pyÚ
check_namezJTestHeaderInclusion.test_primitives_included_in_header.<locals>.check_name(   sK   ø€ Ø�‰˜uÔ%Ü—y‘yØ˜$˜˜r�N Fôð Uà�t�fÐSÐTóUñ ð &ó    Ú
primitivesz/*.pyz'c_function_name=["\'](CPy[A-Z_a-z0-9]+))r    ÚstrÚreturnÚNone)+ÚosÚpathÚjoinÚdirnameÚ__file__ÚopenÚreadr   Úmethod_call_opsÚvaluesÚ
binary_opsÚ	unary_opsÚfunction_opsÚextendr   r   r	   r   r   r   r   r   r   r
   r   r   r   r   r   ÚdirÚgetattrÚ
isinstancer   ÚappendÚdependenciesr   r   Ú
get_headerÚisfileÚc_function_nameÚglobr   Úfindall)ÚselfÚbase_dirÚfr#   Úall_opsr1   ÚopsÚmoduler    ÚvalÚopÚdepÚheader_fnamÚprimitives_pathÚfnamÚcontentr!   s                   @r"   Ú"test_primitives_included_in_headerz6TestHeaderInclusion.test_primitives_included_in_header!   s  ø€ Ü—7‘7—<‘<¤§¡§¡´Ó 9¸4ÀÓJˆÜ”"—'‘'—,‘,˜x¨Ó1Ó2ð 	°aØ—V‘V“XˆF÷	ä”"—'‘'—,‘,˜xÐ):Ó;Ó<ð 	ÀØ�a—f‘f“hÑˆF÷	õ	Uð ˆä×$Ñ$×+Ñ+Ó-Ü×Ñ×&Ñ&Ó(Ü×Ñ×%Ñ%Ó'Ü×!Ñ!×(Ñ(Ó*ð	
ò 	$ˆFð ò $�Ø—‘˜sÕ#ñ$ð	$ô ÜÜÜÜÜÜÜÜÜÜÜÜÜÜð
ò 	(ˆFô" ˜F›ò (�Ü˜f d¨DÓ1�Ü˜cÔ#7Õ8Ø—N‘N 3Õ'ñ(ð#	(ð. ò 	3ˆBØ�‹ØŸ?™?ò 3�CÜ! #¬	´9Ð'=Õ>Ü&(§g¡g§l¡l°8¸S¿^¹^Ó=MÓ&N˜ÜŸ7™7Ÿ>™>¨+Õ6Ü!%¤b§g¡g§l¡l°8¸[Ó&IÓ!Jð 3ÈaØ &¨!¯&©&«(Ñ 2 ÷3ð 3ñ	3ð	3ð ò 	/ˆBØ×!Ñ!Ñ-Ù˜2×-Ñ-Õ.ð	/ô Ÿ'™'Ÿ,™,¤r§w¡w§¡´xÓ'@À$ÈÓUˆÜ—I‘I Ð 1°Ð7Ó8ò 	!ˆDÜ�d“ð #˜qØŸ&™&›(�÷#äŸ
™
Ð#MÈwÓWò !�Ù˜4Õ ñ!ñ	!÷u	ñ 	ú÷	ñ 	ú÷`3ñ 3ú÷#ð #ús0   Á-NÂ/N Ê&N-ÍN:ÎNÎ N*Î-N7Î:O	N)r'   r(   )Ú__name__Ú
__module__Ú__qualname__rM   © r$   r"   r   r       s   „ ô@!r$   r   )Ú__doc__Ú
__future__r   r>   r)   r   ÚunittestÚmypyc.ir.depsr   r   Úmypyc.ir.opsr   Úmypyc.primitivesr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   ÚTestCaser   rQ   r$   r"   ú<module>rY      sJ   ðÙ Vå "ã Û 	Û 	Û ç .Ý -÷÷ ÷ ÷ ó ô(A!˜(×+Ñ+õ A!r$   