o
    ‘i
  ã                   @   s¦   d Z ddlZddlmZ ddlmZmZ ddlmZ ddl	m
Z
 eƒ Zde_eƒ Zde_eƒ ZG dd	„ d	eƒZd
d„ Zdd„ ZG dd„ de
ƒZedkrQe ¡  dS dS )z'
Test generic manipulation of objects.
é    N)Únjit)Úcompile_isolatedÚFlags)Útypes)ÚTestCaseTc                   @   s   e Zd ZdS )ÚCN)Ú__name__Ú
__module__Ú__qualname__© r   r   úg/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/numba/tests/test_objects.pyr      s    r   c                 C   s
   || _ d S ©N©Úx)ÚoÚvr   r   r   Úsetattr_usecase   s   
r   c                 C   s   | ` d S r   r   )r   r   r   r   Údelattr_usecase   s   r   c                   @   s<   e Zd Zefdd„Zefdd„Zefdd„Zefdd„Zd	S )
ÚTestAttributesc                 C   sB   t }t|tjtjf|d}|j}tƒ }||dƒ |  |jd¡ d S ©N©Úflagsé{   )	r   r   r   ÚpyobjectÚint32Úentry_pointr   ÚassertEqualr   ©Úselfr   ÚpyfuncÚcrÚcfuncÚcr   r   r   Útest_setattr!   s   
zTestAttributes.test_setattrc                 C   s\   t }t|tjtjf|d}|j}|  t¡ |tƒ dƒ W d   ƒ d S 1 s'w   Y  d S r   )	r   r   r   r   r   r   ÚassertRaisesÚAttributeErrorÚobject©r   r   r   r    r!   r   r   r   Útest_setattr_attribute_error)   s   "ÿz+TestAttributes.test_setattr_attribute_errorc                 C   sf   t }t|tjf|d}|j}tƒ }d|_||ƒ |  t¡ |j W d   ƒ d S 1 s,w   Y  d S r   )	r   r   r   r   r   r   r   r$   r%   r   r   r   r   Útest_delattr1   s   "ÿzTestAttributes.test_delattrc                 C   sV   t }t|tjf|d}|j}|  t¡ |tƒ ƒ W d   ƒ d S 1 s$w   Y  d S )Nr   )r   r   r   r   r   r$   r%   r   r'   r   r   r   Útest_delattr_attribute_error;   s   "ÿz+TestAttributes.test_delattr_attribute_errorN)r   r	   r
   Úenable_pyobj_flagsr#   r(   r)   r*   r   r   r   r   r       s
    
r   Ú__main__)Ú__doc__ZunittestZnumbar   Znumba.core.compilerr   r   Z
numba.corer   Znumba.tests.supportr   r+   Zenable_pyobjectZforce_pyobj_flagsZforce_pyobjectZno_pyobj_flagsr&   r   r   r   r   r   Úmainr   r   r   r   Ú<module>   s$    $ÿ