ó
Û³Y]c           @   su   d  Z  d d l m Z m Z d d l m Z d d l m Z m Z d e f d „  ƒ  YZ	 e
 d k rq e j ƒ  n  d	 S(
   sW   
Test function name mangling.
The mangling affects the ABI of numba compiled binaries.
iÿÿÿÿ(   t   typest   utils(   t   default_mangleri   (   t   unittestt   TestCaset   TestManglingc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s5   d } t  j f } t | | ƒ } |  j | d ƒ d  S(   Nt   foot   _Z3fooi(   R    t   int32R   t   assertEqual(   t   selft   fnamet   argtypest   name(    (    s8   lib/python2.7/site-packages/numba/tests/test_mangling.pyt   test_one_args   s    c         C   s;   d } t  j t  j f } t | | ƒ } |  j | d ƒ d  S(   NR   t   _Z3fooif(   R    R   t   float32R   R	   (   R
   R   R   R   (    (    s8   lib/python2.7/site-packages/numba/tests/test_mangling.pyt   test_two_args   s    c         C   s©   d } t  j t  j f } t | | ƒ } |  j | t ƒ | d } d j d „  | j d ƒ Dƒ ƒ } d | } d j t	 | ƒ | ƒ } |  j
 | | ƒ |  j | d ƒ d  S(	   Nu   foà² i   t    c         s   s'   |  ] } d  j  t j | ƒ ƒ Vq d S(   s   ${:02x}N(   t   formatR   t	   asbyteint(   t   .0t   c(    (    s8   lib/python2.7/site-packages/numba/tests/test_mangling.pys	   <genexpr>    s   t   utf8t   fos   _Z{}{}ifs   ^_Z[a-zA-Z0-9_\$]+$(   R    R   R   R   t   assertIsInstancet   strt   joint   encodeR   t   lenR	   t   assertRegexpMatches(   R
   R   R   R   t   unichart   enct   textt   expect(    (    s8   lib/python2.7/site-packages/numba/tests/test_mangling.pyt   test_unicode_fname   s    

(   t   __name__t
   __module__R   R   R#   (    (    (    s8   lib/python2.7/site-packages/numba/tests/test_mangling.pyR      s   		t   __main__N(   t   __doc__t   numbaR    R   t   numba.funcdescR   t   supportR   R   R   R$   t   main(    (    (    s8   lib/python2.7/site-packages/numba/tests/test_mangling.pyt   <module>   s   