ó
Û³Y]c           @@ sh   d  d l  m Z m Z d  d l Z d  d l Z d  d l m Z d d l m	 Z	 d e	 f d „  ƒ  YZ
 d S(   i    (   t   print_functiont   absolute_importN(   t   unittest_supporti   (   t   TestCaset   TestNumbaImportc           B@ s   e  Z d  Z d „  Z RS(   s,   
    Test behaviour of importing Numba.
    c   	   
   C@ s  d d d d d d d d d	 d
 g
 } x' | D] } | d k r+ t  | ƒ q+ q+ Wd } t j t j d | g d t j d t j ƒ} | j ƒ  \ } } | j d k rÄ t d | j | j	 ƒ  f ƒ ‚ n  t
 t | j ƒ  ƒ ƒ } t
 | ƒ t
 | ƒ @} |  j | d ƒ d S(   sX   
        Importing top-level numba features should not import too many modules.
        t   cffit	   distutilss
   numba.cudas	   numba.hsas   numba.targets.mathimpls   numba.targets.randomimpls   numba.testss   numba.typing.collectionss   numba.typing.listdecls   numba.typing.npdatetimes‚   if 1:
            from numba import jit, types, vectorize
            import sys
            print(list(sys.modules))
            s   -ct   stdoutt   stderri    s/   process failed with code %s: stderr follows
%s
s"   some modules unexpectedly importedN(   R   s	   numba.hsa(   t
   __import__t
   subprocesst   Popent   syst
   executablet   PIPEt   communicatet
   returncodet   AssertionErrort   decodet   sett   evalt   stript   assertFalse(	   t   selft	   blacklistt   modt   codet   popent   outt   errt   modlistt
   unexpected(    (    s6   lib/python2.7/site-packages/numba/tests/test_import.pyt   test_laziness   s.    	(   t   __name__t
   __module__t   __doc__R    (    (    (    s6   lib/python2.7/site-packages/numba/tests/test_import.pyR   
   s   (   t
   __future__R    R   R
   R   t   numbaR   t   unittestt   supportR   R   (    (    (    s6   lib/python2.7/site-packages/numba/tests/test_import.pyt   <module>   s
   