ó
\K]c           @` sí   d  d l  m Z m Z m 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 e j d  d k Z e e d	 ƒ Z e
 j e d
 ƒ Z e
 j e d ƒ Z d „  Z d „  Z d „  Z d „  Z d e e f d „  ƒ  YZ d S(   i    (   t   print_functiont   absolute_importt   divisionN(   t   njiti   (   t   unittestt   TestCaset   SerialMixint   run_in_new_process_cachingi   i   i   t   get_contexts   unicode requires py3.4+s$   requires multiprocessing.get_contextc          C` s   d }  t  |  ƒ |  f S(   Nt   abcd(   t   hash(   t   c(    (    s7   lib/python2.7/site-packages/numba/tests/test_caching.pyt   constant_unicode_cache   s    c          C` sa   t  }  t d t ƒ |  ƒ } |  ƒ  \ } } | ƒ  \ } } | | k sK t ‚ | | k s] t ‚ d  S(   Nt   cache(   R   R   t   Truet   AssertionError(   t   pyfunct   cfunct   exp_hvt   exp_strt   got_hvt   got_str(    (    s7   lib/python2.7/site-packages/numba/tests/test_caching.pyt   check_constant_unicode_cache    s    c           C` s   i d d 6d d 6S(   Ni   t   ai   t   b(    (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_caching.pyt
   dict_cache)   s    c          C` sC   t  }  t d t ƒ |  ƒ } |  ƒ  } | ƒ  } | | k s? t ‚ d  S(   NR   (   R   R   R   R   (   R   R   t   expt   got(    (    s7   lib/python2.7/site-packages/numba/tests/test_caching.pyt   check_dict_cache-   s
    		t   TestCachingc           B` s;   e  Z d  „  Z e e d „  ƒ ƒ Z e e d „  ƒ ƒ Z RS(   c         C` s+   | ƒ  t  | ƒ } |  j | d d ƒ d  S(   Nt   exitcodei    (   R   t   assertEqual(   t   selft   funct   res(    (    s7   lib/python2.7/site-packages/numba/tests/test_caching.pyt   run_test6   s    c         C` s   |  j  t ƒ d  S(   N(   R#   R   (   R    (    (    s7   lib/python2.7/site-packages/numba/tests/test_caching.pyt   test_constant_unicode_cache;   s    c         C` s   |  j  t ƒ d  S(   N(   R#   R   (   R    (    (    s7   lib/python2.7/site-packages/numba/tests/test_caching.pyt   test_dict_cache@   s    (   t   __name__t
   __module__R#   t   _skip_no_unicodet   _skip_no_mp_spawnR$   R%   (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_caching.pyR   5   s
   	(   i   i   (   t
   __future__R    R   R   t   syst   multiprocessingt   mpt   numbaR   t   supportR   R   R   R   t   version_infot   _py34_or_latert   hasattrt   _has_mp_get_contextt
   skipUnlessR(   R)   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_caching.pyt   <module>   s"   "							