
    xKg                         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
mZmZmZ d dlmZ d dlmZ  G d dej$                        Zedk(  r ej*                          yy)	    N)jit)NumbaWarning
deprecatedNumbaDeprecationWarningNumbaPendingDeprecationWarning)errors)ignore_internal_warningsc                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)TestBuiltinsc                     d}| j                  |j                  t               | j                  |t	        |j
                               y )NzbFall-back from the nopython compilation path to the object mode compilation path has been detectedassertEqualcategoryr   assertInstrmessageselfwmsgs      ]/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/tests/test_warnings.py!check_objmode_deprecation_warningz.TestBuiltins.check_objmode_deprecation_warning   s4    9%<=c3qyy>*    c                     d}| j                  |j                  t               | j                  |t	        |j
                               y )Nz0The 'nopython' keyword argument was not suppliedr   r   s      r   $check_nopython_kwarg_missing_warningz1TestBuiltins.check_nopython_kwarg_missing_warning   s5     D%<=c3qyy>*r   c                 `   t        j                  dt         j                        fd}t        j                  d      5 }t        j
                  dt               t                 t        d      |      } |        | j                  t        |      d       d	d	d	       y	# 1 sw Y   y	xY w)
z9
        Rerun test_return_type_warning with nrt
           )dtypec                       S N )ys   r   return_external_arrayzMTestBuiltins.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_nrtz.TestBuiltins.test_return_type_warning_with_nrt#   s}     GGARZZ(	 $$D1Q!!(L9$&&C&'<=EGSVQ' 211s   AB$$B-c                 
   d }t        j                  d      5 }t        j                  dt               t	                t        |d      } |dd       | j                  t        |      d       d d d        y # 1 sw Y   y xY w)	Nc                     g }| |z   S r    r!   )xr"   as      r   addz7TestBuiltins.test_no_warning_with_forceobj.<locals>.add6   s    Aq5Lr   Tr$   r&   )forceobj      r   )r+   r,   r-   r   r	   r   r   r.   )r   r5   r   r/   s       r   test_no_warning_with_forceobjz*TestBuiltins.test_no_warning_with_forceobj5   sd    	 $$D1Q!!(L9$&d+E!QKSVQ' 211s   AA99Bc                    t        d      d        }t        j                  d      5 }t        j                  d       t	                 |        | j                  t        |      d       | j                  |d   j                  t               | j                  dt        |d   j                               | j                  dt        |d   j                               d d d        y # 1 sw Y   y xY w)	Nfooc                       y r    r!   r!   r   r   barz)TestBuiltins.test_deprecated.<locals>.barD   s    r   Tr$   r&   r7   r   r=   )r   r+   r,   r-   r	   r   r.   r   DeprecationWarningr   r   r   )r   r=   r   s      r   test_deprecatedzTestBuiltins.test_deprecatedC   s    	E		 
	 $$D1Q!!(+$&ESVQ'QqT]],>?MM%QqT\\!23MM%QqT\\!23 211s   B5C&&C/c                 d   t        j                  t         j                        }|j                  dd      5  t	        j
                  t        j                  d             t	        j
                  t        j                  d             t                d d d        t	        j                  d      5 }t	        j                  d       t                |j                          | j                  t        |      d       | j                  |d   j                  t               | j                  |d	   j                  t               | j                  dt        |d   j                               | j                  dt        |d	   j                               d d d        y # 1 sw Y   
xY w# 1 sw Y   y xY w)
Nr;   
   sameTr$   r&   r8   r   r7   )r   WarningsFixerr   r,   r+   warnr   r	   r-   flushr   r.   r   r   r   r   )r   wfixr   s      r   test_warnings_fixerz 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/C!F&F#&F/c                    d}d}d}d|d|d|d}t        j                  t        j                  d|g      }|j	                         \  }}| j                  |j                  |       t        t        j                        }d	|d
<   t        j                  t        j                  d|g|      }|j	                         \  }}| j                  |j                  |       y )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errrM   s	            r   !test_disable_performance_warningsz.TestBuiltins.test_disable_performance_warningsi   s    H& );="   #..$!FG$$&S))>: 2::4701  #..$!FCP$$&S))+=>r   c                 l   t        j                         5  t        j                  d       t        j                  dt               t        j                  dt               t        j
                  t        d             t        j
                  t	        d             t        j
                  t        d             t        j
                  t        d             | j                  t              5  t        j
                  t        d             d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nerrorignorer   this is ignoredthis is not ignored)
r+   r,   r-   r>   PendingDeprecationWarningrD   r   r   assertRaisesr   r   s    r    test_filter_deprecation_warningsz-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D*.DD*D'	#D**D3c                 V   t        j                         5  t        j                  dt               t        j                  dt               t        j                  dt
               t        j                  dt               | j                  t              5  t        j                  t        d             d d d        | j                  t              5  t        j                  t	        d             d d d        t        j                  t        d             t        j                  t        d             t        j                  dt
               t        j                  dt               | j                  t              5  t        j                  t        d             d d d        | j                  t              5  t        j                  t        d             d d d        d d d        y # 1 sw Y   9xY w# 1 sw Y   
xY w# 1 sw Y   hxY w# 1 sw Y   8xY w# 1 sw Y   y xY w)Nr`   rb   ra   rd   rc   )	r+   r,   r-   r>   re   r   r   rf   rD   rg   s    r   )test_filter_ignore_numba_deprecation_onlyz6TestBuiltins.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   BHG-6HG:2BHH H=HH-G7	2H:H	?HH	HH	HH(N)__name__
__module____qualname__r   r   r0   r9   r?   rG   r^   rh   rj   r!   r   r   r   r      s1    ++($(45.#?JC,r   r   __main__)rU   rN   rP   r+   numpyr(   unittestnumbar   numba.core.errorsr   r   r   r   
numba.corer   numba.tests.supportr	   TestCaser   rk   mainr!   r   r   <module>rw      s[    	  
       8d,8$$ d,N zHMMO r   