ó
\K]c           @  sū   d  Z  d d l m Z d d l j Z d d l m Z m Z d d l	 m
 Z
 d d l m Z d d l m Z e   Z e j d	  e   Z e j d
  e   Z d e f d     YZ d   Z d   Z d e f d     YZ e d k r÷ e j   n  d S(   s'   
Test generic manipulation of objects.
i’’’’(   t   print_functionN(   t   compile_isolatedt   Flags(   t	   PYVERSION(   t   typesi   (   t   TestCaset   enable_pyobjectt   force_pyobjectt   Cc           B  s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s7   lib/python2.7/site-packages/numba/tests/test_objects.pyR      s   c         C  s   | |  _  d  S(   N(   t   x(   t   ot   v(    (    s7   lib/python2.7/site-packages/numba/tests/test_objects.pyt   setattr_usecase   s    c         C  s
   |  `  d  S(   N(   R   (   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_objects.pyt   delattr_usecase   s    t   TestAttributesc           B  s8   e  Z e d   Z e d  Z e d  Z e d  Z RS(   c         C  s]   t  } t | t j t j f d | } | j } t   } | | d  |  j | j d  d  S(   Nt   flagsi{   (	   R   R   R   t   pyobjectt   int32t   entry_pointR   t   assertEqualR   (   t   selfR   t   pyfunct   crt   cfunct   c(    (    s7   lib/python2.7/site-packages/numba/tests/test_objects.pyt   test_setattr$   s    !		c         C  sZ   t  } t | t j t j f d | } | j } |  j t   | t   d  Wd  QXd  S(   NR   i{   (	   R   R   R   R   R   R   t   assertRaisest   AttributeErrort   object(   R   R   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_objects.pyt   test_setattr_attribute_error,   s
    !	c         C  sg   t  } t | t j f d | } | j } t   } d | _ | |  |  j t   | j Wd  QXd  S(   NR   i{   (	   R   R   R   R   R   R   R   R   R   (   R   R   R   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_objects.pyt   test_delattr4   s    			
c         C  sQ   t  } t | t j f d | } | j } |  j t   | t    Wd  QXd  S(   NR   (   R   R   R   R   R   R   R   R   (   R   R   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_objects.pyt   test_delattr_attribute_error>   s
    	(   R	   R
   t   enable_pyobj_flagsR   R   R    R!   (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_objects.pyR   "   s   
t   __main__(   t   __doc__t
   __future__R    t   numba.unittest_supportt   unittest_supportt   unittestt   numba.compilerR   R   t   numba.utilsR   t   numbaR   t   supportR   R"   t   sett   force_pyobj_flagst   no_pyobj_flagsR   R   R   R   R   R	   t   main(    (    (    s7   lib/python2.7/site-packages/numba/tests/test_objects.pyt   <module>   s"   					%