Ë
    pPêj±  ã                  óÀ   — d dl m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 d dlmZ d dlmZ  G d„ d	ej"                  «      Z G d
„ dej"                  «      Zy)é    )ÚannotationsN)Úget_header_depsÚresolve_cfile_deps)Ú
BasicBlock)Úformat_blocksÚgenerate_names_for_ir)ÚLowLevelIRBuilder)ÚCompilerOptionsc                  ó   — e Zd Zdd„Zy)ÚTestMiscc                óØ   — t        «       }t        d t        d¬«      ¬«      }|j                  |«       |j	                  d«       t        g |g«      }t        |g|i «      }|d d g d¢k(  sJ ‚y )NT)Ústrict_traceback_checks)ÚerrorsÚoptionsÚfooéÿÿÿÿ)zL0:z    r0 = 'foo'z    CPyDebug_PrintObject(r0))r   r	   r
   Úactivate_blockÚdebug_printr   r   )ÚselfÚblockÚbuilderÚnamesÚcodes        úY/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypyc/test/test_misc.pyÚtest_debug_opzTestMisc.test_debug_op   sn   € Ü“ˆÜ#Ø¤ÈÔ!Nô
ˆð 	×Ñ˜uÔ%Ø×Ñ˜EÔ"ä% b¨5¨'Ó2ˆÜ˜e˜W e¨RÓ0ˆØ�C�RˆyÒUÒUÐUÑUó    N©ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r      s   „ ô
Vr   r   c                  ó@   — e Zd ZdZd	d„Zd	d„Zd	d„Zd	d„Zd	d„Zd	d„Z	y)
ÚTestHeaderDepszÅ
    Tests for the header-dependency tracking used to build `Extension.depends`, which drives
    setuptools' `newer_group` decision about whether to recompile a .o file on incremental builds.
    c                ó2   — d}t        d|fg«      ddgk(  sJ ‚y )NzC#include "__native_caller.h"
#include "__native_internal_caller.h"
úcaller.c©Fú__native_caller.h©Fú__native_internal_caller.h©r   ©r   Úcfiles     r   Ú$test_get_header_deps_quoted_includesz3TestHeaderDeps.test_get_header_deps_quoted_includes"   s4   € ð XˆÜ ¨UÐ 3Ð4Ó5Ø(Ø1ð:
ò 
ð 	
ñ 
r   c                ó2   — d}t        d|fg«      ddgk(  sJ ‚y )Nz8#include <Python.h>
#include <lib/__native_functions.h>
r'   ©TzPython.h)Tzlib/__native_functions.hr,   r-   s     r   Ú+test_get_header_deps_angle_bracket_includesz:TestHeaderDeps.test_get_header_deps_angle_bracket_includes,   s4   € ð MˆÜ ¨UÐ 3Ð4Ó5ØØ.ð:
ò 
ð 	
ñ 
r   c                ó2   — d}t        d|fg«      g d¢k(  sJ ‚y )Nz1# include "a.h"
#  include  <b.h>
#include	"c.h"
zx.c))Fza.h)Fzc.h)Tzb.hr,   r-   s     r   Ú)test_get_header_deps_mixed_and_whitespacez8TestHeaderDeps.test_get_header_deps_mixed_and_whitespace8   s%   € ð HˆÜ ¨ Ð/Ó0Ò4cÒcÐcÑcr   c                ó  — t        j                  «       5 }|}t        j                  t        j                  j                  |d«      «       t        j                  t        j                  j                  |d«      «       t        j                  j                  |d«      }t        j                  j                  |d«      }t        j                  j                  |dd«      }t        j                  j                  |dd«      }t        |d«      5 }|j                  d«       d d d «       t        |d«      5 }|j                  d	«       d d d «       t        |d«      5 }|j                  d
«       d d d «       t        |d«      5 }|j                  d«       d d d «       t        |ddg|¬«      }||||hk(  sJ dt        |«      ›�«       ‚	 d d d «       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   ŒbxY w# 1 sw Y   y xY w)NÚlibÚother_groupr+   r)   z__native_functions.hz__native_other.hÚwz%#include <Python.h>
#include <CPy.h>
zU#include <Python.h>
#include "__native_caller.h"
#include <lib/__native_functions.h>
z0struct export_table_lib___functions { int x; };
zstruct unrelated { int x; };
r(   r*   ©Ú	cfile_dirÚdirect_includesÚ
target_dirz@expected the cross-group header to be reached transitively; got )
ÚtempfileÚTemporaryDirectoryÚosÚmakedirsÚpathÚjoinÚopenÚwriter   Úsorted)	r   ÚtmpÚ	build_dirÚ
internal_hÚcaller_hÚcross_group_hÚunrelated_hÚfÚdepss	            r   Ú/test_resolve_walks_transitively_through_headersz>TestHeaderDeps.test_resolve_walks_transitively_through_headers>   sß  € ô ×(Ñ(Ó*ð -	¨cØˆIÜ�K‰KœŸ™Ÿ™ Y°Ó6Ô7Ü�K‰KœŸ™Ÿ™ Y°Ó>Ô?ô Ÿ™Ÿ™ iÐ1MÓNˆJÜ—w‘w—|‘| IÐ/BÓCˆHÜŸG™GŸL™L¨°EÐ;QÓRˆMÜŸ'™'Ÿ,™, y°-ÐASÓTˆKä�h Ó$ð C¨ð —‘ÐAÔB÷Cô �j #Ó&ð ¨!ð —‘ð<ô÷ô �m SÓ)ð M¨QØ—‘ÐKÔL÷Mä�k 3Ó'ð :¨1à—‘Ð8Ô9÷:ô &Ø#à0Ø9ð!ð %ôˆDð ˜H j°-Ð@Ò@ð ðÜ˜d“|Ð&ð(óÑ@÷U-	ð -	÷Cð Cú÷ð ú÷Mð Mú÷:ð :ú÷5-	ð -	úsl   •C7G=ÄGÄG=Ä2GÅG=ÅG%Å*G=Å>G1Æ3G=ÇG	ÇG=ÇG"	ÇG=Ç%G.	Ç*G=Ç1G:	Ç6G=Ç=Hc                óš   — t        j                  «       5 }|}t        |g d¢|¬«      }|t        «       k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)N)r1   )TzCPy.h)Fzinit.cr9   )r=   r>   r   Úset)r   rF   r:   rM   s       r   Ú(test_resolve_drops_unresolvable_includesz7TestHeaderDeps.test_resolve_drops_unresolvable_includesq   sO   € ô ×(Ñ(Ó*ð 	!¨cØˆIÜ%Ø#Ú XØ$ôˆDð
 œ3›5’=Ð ‘=÷	!÷ 	!ñ 	!ús   •"AÁA
c                óÈ  — t        j                  «       5 }t        j                  j	                  |d«      }t        j                  j	                  |d«      }t        j
                  |«       t        j
                  |«       t        j                  j	                  |d«      }t        j                  j	                  |d«      }t        |d«      5 }|j                  d«       d d d «       t        |d«      5 }|j                  d«       d d d «       t        |dg|¬«      |hk(  sJ ‚t        |d	g|¬«      |hk(  sJ ‚	 d d d «       y # 1 sw Y   ŒcxY w# 1 sw Y   ŒIxY w# 1 sw Y   y xY w)
NÚgroupAÚbuildúshared.hr8   z/* local */
z/* global */
)FrU   r9   )TrU   )	r=   r>   r?   rA   rB   r@   rC   rD   r   )r   rF   ÚincluderÚtargetÚlocal_hÚglobal_hrL   s          r   Ú.test_resolve_search_order_matches_preprocessorz=TestHeaderDeps.test_resolve_search_order_matches_preprocessor~   sC  € ô
 ×(Ñ(Ó*ð 	¨cÜ—w‘w—|‘| C¨Ó2ˆHÜ—W‘W—\‘\ # wÓ/ˆFÜ�K‰K˜Ô!Ü�K‰K˜Ôä—g‘g—l‘l 8¨ZÓ8ˆGÜ—w‘w—|‘| F¨JÓ7ˆHÜ�g˜sÓ#ð ) qØ—‘˜Ô(÷)ä�h Ó$ð *¨Ø—‘Ð(Ô)÷*ô &Ø"Ð5HÐ4IÐV\ôà�òð ð ô
 &Ø"Ð5GÐ4HÐU[ôà�òð ñ ÷'	ð 	÷)ð )ú÷*ð *ú÷	ð 	ús<   •B7EÃE ÃEÃ2EÄ2EÅ E		ÅEÅE	ÅEÅE!Nr   )
r    r!   r"   Ú__doc__r/   r2   r4   rN   rQ   rZ   r#   r   r   r%   r%      s'   „ ñó

ó

ódó1óf!ôr   r%   )Ú
__future__r   r?   r=   ÚunittestÚmypyc.buildr   r   Úmypyc.ir.opsr   Úmypyc.ir.pprintr   r   Úmypyc.irbuild.ll_builderr	   Úmypyc.optionsr
   ÚTestCaser   r%   r#   r   r   ú<module>rd      sH   ðÝ "ã 	Û Û ç ;Ý #ß @Ý 6Ý )ôVˆx× Ñ ô Vô|�X×&Ñ&õ |r   