U
    \g%i©  ã                   @   s  d Z ddlZdZdZdZe ¡ Zg Zdd„ Zdd„ Z	G dd„ dejƒZ
G d	d
„ d
ejƒZG dd„ dejƒZe
eƒZeedZee	eƒZe ¡ Ze def¡ e ¡  e dejdejdejf¡ ejsÊt‚ejsÔt‚ejrÞt‚e ¡ Ze def¡ ejsþt‚edeƒ dS )z<
Testing initialstub throwing an already started exception.
é    Nc                  G   s   t  d| f¡ d S )NzBegin A)ÚresultsÚappend)Úargs© r   ún/var/www/html/api-medvista/venv/lib/python3.8/site-packages/greenlet/tests/fail_initialstub_already_started.pyÚa_run   s    r   c                   C   s"   t  d¡ t d¡ t  d¡ d S )NzBegin CzFrom CzC done)r   r   ÚbÚswitchr   r   r   r   Úc_run   s    

r
   c                   @   s   e Zd ZdS )ÚAN©Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r      s    r   c                   @   s    e Zd ZdZdd„ Zdd„ ZdS )ÚBFc                 C   st   |dkr\| j s\t ¡ tkst‚d| _ t dtt ¡ ƒj ¡ t	 
¡  t dtt ¡ ƒj ¡ |dkrhd}t | |¡S )NÚrunTz'Switch to b from B.__getattribute__ in z%B.__getattribute__ back from main in Ú_B_run)Údoing_itÚgreenletÚ
getcurrentÚcÚAssertionErrorr   r   Útyper   r   r	   ÚobjectÚ__getattribute__)ÚselfÚnamer   r   r   r       s    ÿÿzB.__getattribute__c                 G   s&   t  d|f¡ t  d¡ t d¡ d S )NzBegin Bz_B_run switching to mainzFrom B)r   r   Úmainr	   )r   Úargr   r   r   r   -   s    
zB._B_runN)r   r   r   r   r   r   r   r   r   r   r      s   r   c                   @   s   e Zd ZdS )ÚCNr   r   r   r   r   r   2   s   r   )Úparentzmain from czA dead?zB dead?zC dead?zmain from c.2zRESULTS:)Ú__doc__r   Úar   r   r   r   r   r   r
   r   r   r   r	   Úresultr   Zdeadr   Úprintr   r   r   r   Ú<module>   s2   





