a
    QIh                     @  sb   d dl mZ d dlZd dlZddlmZ ddlmZ dddd	Z	ddd
dZ
ddddZdS )    )annotationsN   )abc)TaskNonereturnc               
   C  sl   ddt ft ft ft ft fddd	} t }|  D ]4\}}t||sHJ t||}t|s^J ||  q2d S )N )gffffff
@)	Z
before_runZ	after_runZtask_spawnedZtask_scheduledZbefore_task_stepZafter_task_stepZtask_exitedZbefore_io_waitZafter_io_wait)r   tabcZ
Instrumentitemshasattrgetattrcallable)attrsZ
mayonnaisemethod_nameargsmethodr	   r	   N/var/www/html/venv_bot_3.9/lib/python3.9/site-packages/trio/_tests/test_abc.py'test_instrument_implements_hook_methods
   s     
r   c               	     s   t jddG dd dtj} |  4 I d H 2}t|| s<J |jg ksJJ W d   I d H  qt1 I d H sj0    Y  |jdgksJ d S )NF)slotsc                   @  s.   e Zd ZU eeZded< ddddZdS )z)test_AsyncResource_defaults.<locals>.MyARz	list[str]recordr   r   c                   s   | j d d S )Nac)r   appendselfr	   r	   r   aclose%   s    z0test_AsyncResource_defaults.<locals>.MyAR.acloseN)	__name__
__module____qualname__r   Factorylistr   __annotations__r   r	   r	   r	   r   MyAR!   s   
r"   r   )r   Zdefiner
   ZAsyncResource
isinstancer   )r"   Zmyarr	   r	   r   test_AsyncResource_defaults    s    
8r$   c                  C  sV   G dd dt jt j } |  }tt |d  W d    n1 sH0    Y  d S )Nc                   @  sL   e Zd ZdZdddddZdddddZdd	d
dZdd	ddZdS )z)test_abc_generics.<locals>.SlottedChannel)xobjectr   )valuer   c                 S  s   t d S NRuntimeErrorr   r'   r	   r	   r   send_nowait:   s    z5test_abc_generics.<locals>.SlottedChannel.send_nowaitc                   s   t d S r(   r)   r+   r	   r	   r   send=   s    z.test_abc_generics.<locals>.SlottedChannel.sendr   c                 S  s   t d S r(   r)   r   r	   r	   r   clone@   s    z/test_abc_generics.<locals>.SlottedChannel.clonec                   s   d S r(   r	   r   r	   r	   r   r   C   s    z0test_abc_generics.<locals>.SlottedChannel.acloseN)r   r   r   	__slots__r,   r-   r.   r   r	   r	   r	   r   SlottedChannel7   s
   r0   )r
   ZSendChannelZStreampytestZraisesr*   r,   )r0   Zchannelr	   r	   r   test_abc_generics/   s    r2   )
__future__r   r   r1    r   r
   Zlowlevelr   r   r$   r2   r	   r	   r	   r   <module>   s   