a
    þ
þd
  ã                   @   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rže ¡  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   úa/var/www/html/stable-diffusion-webui/venv/lib/python3.9/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   sZ   t }t|tjtjf|d}|j}|  t¡ |tƒ dƒ W d   ƒ n1 sL0    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   sd   t }t|tjf|d}|j}tƒ }d|_||ƒ |  t¡ |j W d   ƒ n1 sV0    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   sT   t }t|tjf|d}|j}|  t¡ |tƒ ƒ W d   ƒ n1 sF0    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    $