ó
\K]c           @@ s÷   d  d l  m Z m Z 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 m Z m Z m Z m Z d  d l m Z m Z m Z d  d l j Z d  d l m Z d e j f d „  ƒ  YZ e d k ró e j ƒ  n  d S(	   i    (   t   print_functiont   absolute_importN(   t   jitt   autojitt
   SmartArrayt   cudat   config(   t   NumbaDeprecationWarningt   NumbaPendingDeprecationWarningt   NumbaWarning(   t   iternext_implt   TestDeprecationc           B@ su   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e d „ Z	 e
 j e j ƒ  pa e j d ƒ d „  ƒ Z RS(	   c         C@ sU   t  j d t ƒ = } t  j d ƒ d „  } t | ƒ |  j t | ƒ d ƒ Wd  QXd  S(   Nt   recordt   alwaysc           S@ s   d  S(   N(    (    (    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt   dummy   s    i   (   t   warningst   catch_warningst   Truet   simplefilterR   t   assertEqualt   len(   t   selft   wR   (    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt   test_autojit   s
    	
c         C@ sk   |  j  t | ƒ d ƒ |  j  | d j | ƒ |  j | t | d j ƒ ƒ |  j d t | d j ƒ ƒ d  S(   Ni   i    s   http://numba.pydata.org(   R   R   t   categoryt   assertInt   strt   message(   R   R   t   expected_strR   (    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt   check_warning   s    c         C@ st   t  j d t ƒ \ } t  j d d t ƒt  j d d t ƒd „  } t | ƒ ƒ  d } |  j | | t ƒ Wd  QXd  S(   NR   t   ignoreR   R   c           S@ s   g  S(   N(    (    (    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt   foo'   s    sP   Fall-back from the nopython compilation path to the object mode compilation path(   R   R   R   R   R	   R   R   R   (   R   R   R   t   msg(    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt   test_jitfallback    s    	c   	   	   C@ s.  d „  } d „  } x| | g D]} | j  j d ƒ } t | ƒ d g ƒ } t j d t ƒ Æ } t j d d t ƒt j d d t ƒt	 d	 t ƒ | ƒ | ƒ |  j
 t | ƒ d
 ƒ |  j
 | d j t ƒ t | d j ƒ } d } |  j | | ƒ d | } |  j | | ƒ |  j d | ƒ Wd  QXq Wd  S(   Nc         S@ s   |  j  d ƒ S(   Ni   (   t   append(   t   a(    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt   foo_list1   s    c         S@ s   |  j  d ƒ S(   Ni   (   t   add(   R#   (    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt   foo_set4   s    t   foo_i
   R   R   R   R   t   nopythoni   i    s?   Encountered the use of a type that is scheduled for deprecations!   'reflected %s' found for arguments   http://numba.pydata.org(   t   __name__t   stript   evalR   R   R   R   R	   R   R   R   R   R   R   R   R   (	   R   R$   R&   t   ft	   containert   inpR   t   warn_msgR    (    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt$   test_reflection_of_mutable_container/   s$    		
c         C@ s¾   t  j d t ƒ ¦ } t  j d d t ƒt  j d d t ƒt t j d ƒ ƒ |  j	 t
 | ƒ d ƒ |  j	 | d j t ƒ t | d j ƒ } d } |  j | | ƒ |  j d | ƒ Wd  QXd  S(	   NR   R   R   R   i   i    s   SmartArray is deprecateds   http://numba.pydata.org(   R   R   R   R   R	   R   R   t   npt   zerosR   R   R   R   R   R   (   R   R   R/   R    (    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt   test_smartarrayI   s    c         C@ s‡   t  j d t ƒ o } t  j d d t ƒt d „  ƒ } |  j t | ƒ d ƒ |  j | d j t ƒ t	 | d j
 ƒ } d } Wd  QXd  S(   NR   R   R   c         S@ s   d  S(   N(    (   t   ctxt   buildert   sigt   argst   res(    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyR   Z   s    i   i    sZ   The use of iternext_impl without specifying a numba.targets.imputils.RefType is deprecated(   R   R   R   R   R   R
   R   R   R   R   R   (   R   R   R   R/   R    (    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt   test_iternext_implV   s    c   	   
   @ sÓ   t  j | d t  j d t  j d | d t ƒ‰  ‡  f d †  } t j d | ƒ } zs | j ƒ  ˆ  j ƒ  \ } } ˆ  j } | d k rª t	 d | | j
 ƒ  | j
 ƒ  f ƒ ‚ n  | j
 ƒ  | j
 ƒ  f SWd  | j ƒ  Xd	 S(
   Nt   stdoutt   stderrt   envt   shellc           @ s(   ˆ  j  j ƒ  ˆ  j j ƒ  ˆ  j ƒ  d  S(   N(   R:   t   flushR;   t   kill(    (   t   popen(    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyR?   k   s    g      4@i    s9   process failed with code %s: stderr follows
%s
stdout :%s(   NN(   t
   subprocesst   Popent   PIPER   t	   threadingt   Timert   startt   communicatet
   returncodet   AssertionErrort   decodet   cancelt   None(	   R   t   cmdlineR<   t
   kill_is_okR?   t   timeoutt   outt   errt   retcode(    (   R@   s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt   run_cmdc   s&    			
		s   Needs real CUDA stackc         C@ sì   d } d d d g d f d g d f g } x» | D]³ \ } } x¤ | D]œ } d | } t  j j ƒ  } | | | <d	 } t j d
 | g }	 |  j d j |	 ƒ | ƒ \ }
 } |  j d | ƒ |  j | | | f | ƒ |  j d | ƒ qD Wq1 Wd  S(   NsS   Environment variables with the 'NUMBAPRO' prefix are deprecated, found use of %s=%st   NVVMt   CUDALIBt	   LIBDEVICEt   /t   VERBOSE_CU_JIT_LOGt   1s   NUMBAPRO_%ss2   'from numba.cuda.cudadrv.libs import test; test()'s   -ct    s   NumbaDeprecationWarning:s   http://numba.pydata.org(   t   ost   environt   copyt   syst
   executableRS   t   joinR   (   R   t   expectedt   NUMBAPRO_VARSt   varzt   valt   vt   numbapro_vart   env_copyt   callRM   RP   RQ   (    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt   test_numbapro_vars~   s    

!(   R)   t
   __module__R   R   R!   R0   R3   R9   t   FalseRS   t   unittestt   skipIfR   t   is_availableR   t   ENABLE_CUDASIMRi   (    (    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyR      s   							t   __main__(   t
   __future__R    R   R[   RA   R^   RD   R   t   numpyR1   t   numbaR   R   R   R   R   t   numba.errorsR   R   R	   t   numba.unittest_supportt   unittest_supportRl   t   numba.targets.imputilsR
   t   TestCaseR   R)   t   main(    (    (    s<   lib/python2.7/site-packages/numba/tests/test_deprecations.pyt   <module>   s   (‰