§
    ïyIfõ  ã                   ó˜   — d dl mZ d dl mZ d dlZd dlZddlmZ ddlmZ  G d„ de¦  «        Ze	d	k    rd dl
Z
 e
j        ¦   «          dS dS )
é    )Úprint_function)Úabsolute_importNé   )Ú_test_extension)ÚTestCasec                   óP   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ ZdS )Ú	CAPITestsc                 ó|   — |                       dt          j        t          j        d„ ¦  «        ¦  «        ¦  «         d S )Né2   c                  ó   — dS )Nr   © r   ó    ú[/var/www/piapp/venv/lib/python3.11/site-packages/greenlet/tests/test_extension_interface.pyú<lambda>z'CAPITests.test_switch.<locals>.<lambda>   s   € Àb€ r   )ÚassertEqualr   Útest_switchÚgreenlet©Úselfs    r   r   zCAPITests.test_switch   sF   € Ø×ÒØ•Ô+­HÔ,=¸j¸jÑ,IÔ,IÑJÔJñ	Lô 	Lð 	Lð 	Lð 	Lr   c                 óŠ   — d„ }t          j         |¦  «        }|                      dt          j        |dd¬¦  «        ¦  «         d S )Nc                 ó   — | |z  S ©Nr   ©ÚxÚys     r   Úadderz+CAPITests.test_switch_kwargs.<locals>.adder   s   € Ø�q‘5ˆLr   é   é   é   r   )r   r   r   Útest_switch_kwargs)r   r   Úgs      r   r    zCAPITests.test_switch_kwargs   sO   € ð	ð 	ð 	åÔ˜eÑ$Ô$ˆØ×Ò˜�OÔ>¸qÀAÈÐKÑKÔKÑLÔLÐLÐLÐLr   c                 ó¨   — d„ }t          j         |¦  «                             ¦   «         }|                      d t          j        |¦  «        ¦  «         d S )Nc                  ó"  — d„ } t          j         | ¦  «        }|                     ¦   «          t          j        ¦   «         j                             |¦  «         t          j        ¦   «         j                             t          d¦  «        ¦  «         d S )Nc                  óÈ   — t          j        ¦   «         j                             ¦   «          t          j        ¦   «         j                             ¦   «          t	          d¦  «        ‚)Nz#Should never have reached this code)r   Ú
getcurrentÚparentÚswitchÚAssertionErrorr   r   r   Úbarz2CAPITests.test_setparent.<locals>.foo.<locals>.bar   sO   € ÝÔ#Ñ%Ô%Ô,×3Ò3Ñ5Ô5Ð5õ
 Ô#Ñ%Ô%Ô,×3Ò3Ñ5Ô5Ð5Ý$Ð%JÑKÔKÐKr   zShould never reach this code)r   r'   r%   r&   Úthrowr(   )r)   Úchilds     r   Úfooz%CAPITests.test_setparent.<locals>.foo   s’   € ðLð Lð Lõ Ô% cÑ*Ô*ˆEØ�LŠL‰NŒNˆNÝÔÑ!Ô!Ô(×/Ò/°Ñ6Ô6Ð6ÝÔÑ!Ô!Ô(×.Ò.ÝÐ=Ñ>Ô>ñ@ô @ð @ð @ð @r   )r   r'   r   r   Útest_setparent)r   r,   Ú	foo_childs      r   r-   zCAPITests.test_setparent   sY   € ð	@ð 	@ð 	@õ Ô% cÑ*Ô*×1Ò1Ñ3Ô3ˆ	Ø×Ò˜�Ô=¸iÑHÔHÑIÔIÐIÐIÐIr   c                 ó,   — t          j        ¦   «          d S r   )r   Útest_getcurrentr   s    r   r0   zCAPITests.test_getcurrent*   s   € ÝÔ'Ñ)Ô)Ð)Ð)Ð)r   c                 óX   — |                       dt          j        d„ ¦  «        ¦  «         d S )Néñÿÿÿc                  ó   — dS )Nr2   r   r   r   r   r   z-CAPITests.test_new_greenlet.<locals>.<lambda>.   s   € È€ r   )r   r   Útest_new_greenletr   s    r   r4   zCAPITests.test_new_greenlet-   s+   € Ø×Ò˜�oÔ?ÀÀÑLÔLÑMÔMÐMÐMÐMr   c                 óZ   — |                       t          j        t          j        ¦  «         d S r   )ÚassertRaisesr   ÚGreenletExitr   Útest_raise_dead_greenletr   s    r   Útest_raise_greenlet_deadz"CAPITests.test_raise_greenlet_dead0   s4   € Ø×ÒÝÔ!¥?Ô#Kñ	Mô 	Mð 	Mð 	Mð 	Mr   c                 óZ   — |                       t          j        t          j        ¦  «         d S r   )r6   r   Úerrorr   Útest_raise_greenlet_errorr   s    r   r<   z#CAPITests.test_raise_greenlet_error4   s3   € Ø×ÒÝŒN�OÔEñ	Gô 	Gð 	Gð 	Gð 	Gr   c                 ó†  ‡— g Šˆfd„}t          j         |¦  «        }|                     ¦   «          t          j        |¦  «         |                      t          ‰¦  «        d¦  «         |                      t          ‰d         t          ¦  «        d¦  «         |                      t          ‰d         ¦  «        dd¦  «         d S )Nc                  ó  •— 	 t          j        ¦   «         j                             ¦   «          d S # t          $ r0 ‰                      t          j        ¦   «         d         ¦  «         Y d S t           j        $ r t          ‚w xY w)Nr   )
r   r%   r&   r'   Ú
ValueErrorÚappendÚsysÚexc_infor7   r(   )Úseens   €r   r,   z!CAPITests.test_throw.<locals>.foo;   sˆ   ø€ ð%ÝÔ#Ñ%Ô%Ô,×3Ò3Ñ5Ô5Ð5Ð5Ð5øÝð /ð /ð /Ø—’�CœL™NœN¨1Ô-Ñ.Ô.Ð.Ð.Ð.Ð.ÝÔ(ð %ð %ð %Ý$Ð$ð%øøøs   ƒ*/ ¯6A>Á(A>r   r   z"ValueError was not raised in foo()ztake that sucka!zmessage doesn't match)
r   r'   r   Ú
test_throwr   ÚlenÚ
assertTrueÚ
isinstancer?   Ústr)r   r,   r!   rC   s      @r   rD   zCAPITests.test_throw8   sÎ   ø€ Øˆð	%ð 	%ð 	%ð 	%ð 	%õ Ô˜cÑ"Ô"ˆØ	�Š‰
Œ
ˆ
ÝÔ" 1Ñ%Ô%Ð%Ø×Ò�˜T™œ AÑ&Ô&Ð&Ø�ŠÝ�t˜A”w¥
Ñ+Ô+Ø0ñ	2ô 	2ð 	2ð 	×ÒÝ��Q”‰LŒLØØ#ñ	%ô 	%ð 	%ð 	%ð 	%r   c                 ó,  — |                       t          ¦  «        5 }t          j        t	          j        ¦   «         t          t          ¦   «         | ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j	        ¦  «        d¦  «         d S )Nz1throw() third argument must be a traceback object)
r6   Ú	TypeErrorr   Útest_throw_exactr   r%   Ú	Exceptionr   rH   Ú	exception©r   Úexcs     r   Útest_non_traceback_paramz"CAPITests.test_non_traceback_paramN   sÎ   € Ø×Ò�yÑ)Ô)ð 	¨SÝÔ,ÝÔ#Ñ%Ô%ÝÝ‘”Øñ	ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò�˜Sœ]Ñ+Ô+ØLñ	Nô 	Nð 	Nð 	Nð 	Ns   ›:A!Á!A%Á(A%c                 ó:  — |                       t          ¦  «        5 }t          j        t	          j        ¦   «         t          ¦   «         t          ¦   «         d ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j
        ¦  «        d¦  «         d S )Nz0instance exception may not have a separate value)r6   rJ   r   rK   r   r%   rL   ÚBaseExceptionr   rH   rM   rN   s     r   Útest_instance_of_wrong_typez%CAPITests.test_instance_of_wrong_typeY   sÒ   € Ø×Ò�yÑ)Ô)ð 	¨SÝÔ,ÝÔ#Ñ%Ô%Ý‘”Ý‘”Øñ	ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò�˜Sœ]Ñ+Ô+ØKñ	Mô 	Mð 	Mð 	Mð 	Ms   ›AA(Á(A,Á/A,c                 ó
  — |                       t          ¦  «        5 }t          j        t	          j        ¦   «         dd d ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         d S )NÚabcz1exceptions must be classes, or instances, not str)	r6   rJ   r   rK   r   r%   r   rH   rM   rN   s     r   Útest_not_throwablezCAPITests.test_not_throwablee   sÊ   € Ø×Ò�yÑ)Ô)ð 	¨SÝÔ,ÝÔ#Ñ%Ô%ØØØñ	ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	×Ò�˜Sœ]Ñ+Ô+ØLñ	Nô 	Nð 	Nð 	Nð 	Ns   ›)AÁAÁAN)Ú__name__Ú
__module__Ú__qualname__r   r    r-   r0   r4   r9   r<   rD   rP   rS   rV   r   r   r   r	   r	      sÖ   € € € € € ðLð Lð LðMð Mð MðJð Jð Jð&*ð *ð *ðNð Nð NðMð Mð MðGð Gð Gð%ð %ð %ð,	Nð 	Nð 	Nð
Mð 
Mð 
Mð	Nð 	Nð 	Nð 	Nð 	Nr   r	   Ú__main__)Ú
__future__r   r   rA   r   Ú r   r   r	   rW   ÚunittestÚmainr   r   r   ú<module>r_      sÉ   ðØ %Ð %Ð %Ð %Ð %Ð %Ø &Ð &Ð &Ð &Ð &Ð &à 
€
€
€
à €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðbNð bNð bNð bNð bN�ñ bNô bNð bNðJ ˆzÒÐØ€O€O€OØ€H„M�O„O€O€O€Oð Ðr   