
    sh                         S SK r S SKrS SKrS SKrS SKrS SKrS SKJr  S SK	J
r
JrJrJr  S SKJr  S SKJr   " S S\R$                  5      r\S:X  a  \R*                  " 5         gg)	    N)jit)NumbaWarning
deprecatedNumbaDeprecationWarningNumbaPendingDeprecationWarning)errors)ignore_internal_warningsc                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)TestBuiltins   c                     SnU R                  UR                  [        5        U R                  U[	        UR
                  5      5        g )NzbFall-back from the nopython compilation path to the object mode compilation path has been detectedassertEqualcategoryr   assertInstrmessageselfwmsgs      m/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_warnings.py!check_objmode_deprecation_warning.TestBuiltins.check_objmode_deprecation_warning   s4    9%<=c3qyy>*    c                     SnU R                  UR                  [        5        U R                  U[	        UR
                  5      5        g )Nz0The 'nopython' keyword argument was not suppliedr   r   s      r   $check_nopython_kwarg_missing_warning1TestBuiltins.check_nopython_kwarg_missing_warning   s5     D%<=c3qyy>*r   c                 `  ^ [         R                  " S[         R                  S9mU4S jn[        R                  " SS9 n[        R
                  " S[        5        [        5         [        SS9" U5      nU" 5         U R                  [        U5      S5        S	S	S	5        g	! , (       d  f       g	= f)
z)
Rerun test_return_type_warning with nrt
   )dtypec                     > T $ N )ys   r   return_external_arrayMTestBuiltins.test_return_type_warning_with_nrt.<locals>.return_external_array)   s    Hr   Trecordalways)nopythonr   N)nponesfloat32warningscatch_warningssimplefilterr   r	   r   r   len)r   r&   r   cfuncr%   s       @r   !test_return_type_warning_with_nrt.TestBuiltins.test_return_type_warning_with_nrt#   s{     GGARZZ(	 $$D1Q!!(L9$&&'<=EGSVQ' 211s   AB
B-c                    S n[         R                  " SS9 n[         R                  " S[        5        [	        5         [        USS9nU" SS5        U R                  [        U5      S5        S S S 5        g ! , (       d  f       g = f)	Nc                     / nX-   $ r#   r$   )xr%   as      r   add7TestBuiltins.test_no_warning_with_forceobj.<locals>.add6   s    A5Lr   Tr(   r*   )forceobj      r   )r/   r0   r1   r   r	   r   r   r2   )r   r:   r   r3   s       r   test_no_warning_with_forceobj*TestBuiltins.test_no_warning_with_forceobj5   sd    	 $$D1Q!!(L9$&d+E!QKSVQ' 211s   AA55
Bc                    [        S5      S 5       n[        R                  " SS9 n[        R                  " S5        [	        5         U" 5         U R                  [        U5      S5        U R                  US   R                  [        5        U R                  S[        US   R                  5      5        U R                  S[        US   R                  5      5        S S S 5        g ! , (       d  f       g = f)	Nfooc                      g r#   r$   r$   r   r   bar)TestBuiltins.test_deprecated.<locals>.barD   s    r   Tr(   r*   r=   r   rD   )r   r/   r0   r1   r	   r   r2   r   DeprecationWarningr   r   r   )r   rD   r   s      r   test_deprecatedTestBuiltins.test_deprecatedC   s    	E		 
	 $$D1Q!!(+$&ESVQ'QqT]],>?MM%QqT\\!23MM%QqT\\!23 211s   B6C%%
C3c                    [         R                  " [         R                  5      nUR                  SS5         [        R
                  " [         R                  " S5      5        [        R
                  " [         R                  " S5      5        [        5         S S S 5        [        R                  " SS9 n[        R                  " S5        [        5         UR                  5         U R                  [        U5      S5        U R                  US   R                  [        5        U R                  US	   R                  [        5        U R                  S[        US   R                  5      5        U R                  S[        US	   R                  5      5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       g = f)
NrB   
   sameTr(   r*   r>   r   r=   )r   WarningsFixerr   r0   r/   warnr   r	   r1   flushr   r2   r   r   r   r   )r   wfixr   s      r   test_warnings_fixer TestBuiltins.test_warnings_fixerR   s)    ##F$7$78  +MM&--f56MM&88@A$& ,
 $$D1Q!!(+$&JJLSVQ' QqT]],CDQqT]]L9MM&#adll"34MM&#adll"34 21 ,+
 21s   AF2C"F/
F,/
F=c                    SnSnSnSU< SU< SU< S3n[         R                  " [        R                  SU/5      nUR	                  5       u  pgU R                  UR                  U5        [        [        R                  5      nS	US
'   [         R                  " [        R                  SU/US9nUR	                  5       u  pgU R                  UR                  U5        g )N7   c   z3'parallel=True' was specified but no transformationa  if 1:
            import warnings
            from numba.tests.error_usecases import foo
            import numba
            from numba.tests.support import ignore_internal_warnings
            with warnings.catch_warnings(record=True) as w:
                warnings.simplefilter('always')
                ignore_internal_warnings()
                foo()
            for x in w:
                if x.category == numba.errors.NumbaPerformanceWarning:
                    if "z2" in str(x.message):
                        exit(z)
            exit(z
)
        z-c1"NUMBA_DISABLE_PERFORMANCE_WARNINGS)env)

subprocessPopensys
executablecommunicater   
returncodedictosenviron)	r   not_found_ret_codefound_ret_codeexpectedparallel_codepopenouterrrW   s	            r   !test_disable_performance_warnings.TestBuiltins.test_disable_performance_warningsi   s    H& );="   #..$!FG$$&))>: 2::4701  #..$!FCP$$&))+=>r   c                    [         R                  " 5          [         R                  " S5        [         R                  " S[        S9  [         R                  " S[        S9  [         R
                  " [        S5      5        [         R
                  " [	        S5      5        [         R
                  " [        S5      5        [         R
                  " [        S5      5        U R                  [        5         [         R
                  " [        S5      5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nerrorignorer   this is ignoredthis is not ignored)
r/   r0   r1   rF   PendingDeprecationWarningrM   r   r   assertRaisesr   r   s    r    test_filter_deprecation_warnings-TestBuiltins.test_filter_deprecation_warnings   s     $$&!!'*!!(5GH!!(5NOMM,->?@MM34EFGMM12CDEMM89JKL""<0l+@AB 1 '& 10 '&s$   CD20 D!D2!
D/	+D22
E c                 ~   [         R                  " 5          [         R                  " S[        S9  [         R                  " S[        S9  [         R                  " S[
        S9  [         R                  " S[        S9  U R                  [        5         [         R                  " [        S5      5        S S S 5        U R                  [        5         [         R                  " [	        S5      5        S S S 5        [         R                  " [        S5      5        [         R                  " [        S5      5        [         R                  " S[
        S9  [         R                  " S[        S9  U R                  [        5         [         R                  " [        S5      5        S S S 5        U R                  [        5         [         R                  " [        S5      5        S S S 5        S S S 5        g ! , (       d  f       GN?= f! , (       d  f       GN= f! , (       d  f       Nx= f! , (       d  f       NL= f! , (       d  f       g = f)Nrk   rm   rl   ro   rn   )	r/   r0   r1   rF   rp   r   r   rq   rM   rr   s    r   )test_filter_ignore_numba_deprecation_only6TestBuiltins.test_filter_ignore_numba_deprecation_only   s{    $$&!!'4FG!!'4MN!!(5LM!!(+IK ""#5601FGH 7""#<=78MNO > MM12CDEMM89JKL !!'4KL!!'+IK ""#5656KLM 7""#<=<)+ , >- '& 76== 76==- '&sm   A:H. G(0H. G:-BH.: HH.7 HH.(
G7	2H.:
H		H.
H	H.
H+	'H..
H<r$   N)__name__
__module____qualname____firstlineno__r   r   r4   r?   rG   rP   rh   rs   rv   __static_attributes__r$   r   r   r   r      s1    ++($(45.#?JC,r   r   __main__)r_   rX   rZ   r/   numpyr,   unittestnumbar   numba.core.errorsr   r   r   r   
numba.corer   numba.tests.supportr	   TestCaser   rx   mainr$   r   r   <module>r      sY    	  
       8d,8$$ d,N zMMO r   