ó
\K]c           @` sð   d  d l  m Z m Z m 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 m Z d d l m Z m Z m Z d  d l m Z d  d l j Z d „  Z d	 „  Z d d d d d e d
 „ Z d S(   i    (   t   print_functiont   divisiont   absolute_importN(   t   fnmatch(   t   joint   isfilet   relpatht   normpatht   splitexti   (   t   NumbaTestProgramt   SerialSuitet   make_tag_decorator(   t   configc         C` s>  yt  j ƒ  } g  } x t j | ƒ D]n } t | | ƒ } t | ƒ re t | d ƒ re | j | ƒ q% t t | d ƒ ƒ r% | j |  j	 | ƒ ƒ q% q% Wxg | D]_ } t
 t | | ƒ |  j ƒ } t t | j t j j d ƒ ƒ ƒ d } | j |  j | ƒ ƒ qž W| SWn1 t k
 r9t j d t j ƒ t j d ƒ n Xd S(   s   Find tests in 'dir'.s	   test_*.pys   __init__.pyt   .i    t   fileiÿÿÿÿN(   t   unittestt	   TestSuitet   ost   listdirR   R   R   t   appendt   addTestst   discoverR   t   _top_level_dirR   R   t   replacet   patht   sept   loadTestsFromNamet	   Exceptiont	   tracebackt	   print_exct   syst   stderrt   exit(   t   loadert   dirt   suitet   filest   fR   (    (    s5   lib/python2.7/site-packages/numba/testing/__init__.pyt   load_testsuite   s"    (c         ` s"   t  j ˆ  ƒ ‡  f d †  ƒ } | S(   s*   Temporarily re-enable intepreter mode
    c          ` s+   t  t _ z ˆ  |  | Ž  Wd  t t _ Xd  S(   N(   t   TrueR   t   COMPATIBILITY_MODEt   False(   t   argst   kws(   t   fn(    s5   lib/python2.7/site-packages/numba/testing/__init__.pyt   _core)   s    	(   t	   functoolst   wraps(   R,   R-   (    (   R,   s5   lib/python2.7/site-packages/numba/testing/__init__.pyt   allow_interpreter_mode&   s    c   	      C` ss   | d k	 r- d d l } | j d | ƒ } n d } t d |  d d d | d | d | d	 t d
 | d | ƒ } | j S(   sæ   
    args
    ----
    - xmloutput [str or None]
        Path of XML output directory (optional)
    - verbosity [int]
        Verbosity level of tests output

    Returns the TestResult object after running the test *suite*.
    i    Nt   outputt   argvt   modulet   defaultTestt   topleveldirt
   testRunnerR    t	   verbosityt   nomultiproc(   t   Nonet	   xmlrunnert   XMLTestRunnerR	   R)   t   result(	   R2   R4   R5   t	   xmloutputR7   R8   R:   t   runnert   prog(    (    s5   lib/python2.7/site-packages/numba/testing/__init__.pyt	   run_tests3   s    	(   t
   __future__R    R   R   R   R   R.   R   R   t   os.pathR   R   R   R   R   t   mainR	   R
   R   t   numbaR   t   numba.unittest_supportt   unittest_supportR   R&   R0   R9   R)   R@   (    (    (    s5   lib/python2.7/site-packages/numba/testing/__init__.pyt   <module>   s   (			