
    Eg                    R    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Z	dd	Z
dd
ZdS )    )annotationsN   )abc)TaskreturnNonec            
     $   ddt           ft           ft           ft           ft           fddd	} t          j                    }|                                 D ]=\  }}t	          ||          sJ t          ||          }t          |          sJ  ||  >d S )N )gffffff
@)	
before_run	after_runtask_spawnedtask_scheduledbefore_task_stepafter_task_steptask_exitedbefore_io_waitafter_io_wait)r   tabc
Instrumentitemshasattrgetattrcallable)attrs
mayonnaisemethod_nameargsmethods        I/var/www/sysmax/venv/lib/python3.11/site-packages/trio/_tests/test_abc.py'test_instrument_implements_hook_methodsr    
   s    '!G 7w 
 
E ""J"[[]]  Tz;/////[11	     c                 "  K   t           j         G d dt          j                              }  |             4 d {V }t	          ||           sJ |j        g k    sJ 	 d d d           d {V  n# 1 d {V swxY w Y   |j        dgk    sJ d S )Nc                  D    e Zd ZU  ej        e          Zded<   ddZdS )	)test_AsyncResource_defaults.<locals>.MyAR)factoryz	list[str]recordr   r   c                >   K   | j                             d           d S )Nac)r&   appendselfs    r   aclosez0test_AsyncResource_defaults.<locals>.MyAR.aclose%   s"      Kt$$$$$r!   Nr   r   )	__name__
__module____qualname__attriblistr&   __annotations__r,   r
   r!   r   MyARr$   !   sJ         #DGD1111111	% 	% 	% 	% 	% 	%r!   r5   r(   )r1   sr   AsyncResource
isinstancer&   )r5   myars     r   test_AsyncResource_defaultsr:       sB     	V% % % % %t! % % V% tvv ! ! ! ! ! ! !$%%%%%{b     ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ;4&      s    A00
A:=A:c                      G d dt           j        t           j                           }  |             }t          j        t
                    5  |                    d            d d d            d S # 1 swxY w Y   d S )Nc                  2    e Zd ZdZddZddZddZdd	Zd
S ))test_abc_generics.<locals>.SlottedChannel)xvalueobjectr   r   c                    t           NRuntimeErrorr+   r?   s     r   send_nowaitz5test_abc_generics.<locals>.SlottedChannel.send_nowait:       r!   c                   K   t           rB   rC   rE   s     r   sendz.test_abc_generics.<locals>.SlottedChannel.send=   s      r!   c                    t           rB   rC   r*   s    r   clonez/test_abc_generics.<locals>.SlottedChannel.clone@   rG   r!   c                
   K   d S rB   r
   r*   s    r   r,   z0test_abc_generics.<locals>.SlottedChannel.acloseC   s      Dr!   N)r?   r@   r   r   r-   )r.   r/   r0   	__slots__rF   rI   rK   r,   r
   r!   r   SlottedChannelr=   7   si        		 	 	 		 	 	 		 	 	 		 	 	 	 	 	r!   rN   )r   SendChannelStreampytestraisesrD   rF   )rN   channels     r   test_abc_genericsrT   /   s        )$+6    nG	|	$	$ " "D!!!" " " " " " " " " " " " " " " " " "s   A//A36A3r-   )
__future__r   r1   rQ    r   r   lowlevelr   r    r:   rT   r
   r!   r   <module>rX      s    " " " " " "                 ,! ! ! !" " " " " "r!   