Ë
    Ð~ïiÔ  ã                   ó„   — d dl Z d dlZddlm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                  «        yy)	é    Né   )Ú_test_extension)ÚTestCase)Úignores_leakcheckc                   ó^   — 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ed„ «       Zy)Ú	CAPITestsc                 óv   — | j                  dt        j                  t        j                  d„ «      «      «       y )Né2   c                   ó   — y)Nr
   © r   ó    ú~/var/www/acinvestment.org/public_html/aci/backend/venv/lib/python3.12/site-packages/greenlet/tests/test_extension_interface.pyú<lambda>z'CAPITests.test_switch.<locals>.<lambda>   ó   � r   )ÚassertEqualr   Útest_switchÚgreenlet©Úselfs    r   r   zCAPITests.test_switch   s,   € Ø×ÑØ”×+Ñ+¬H×,=Ñ,=¹jÓ,IÓJõ	Lr   c                 ó  — d„ }t        j                   |«      }| j                  dt        j                  |dd¬«      «       | j	                  t
        d«      5  t        j                  d«       d d d «       y # 1 sw Y   y xY w)Nc                 ó   — | |z  S ©Nr   ©ÚxÚys     r   Úadderz+CAPITests.test_switch_kwargs.<locals>.adder   s   € Ø�q‘5ˆLr   é   é   é   r   zargument 1 must be greenletznot a greenlet)r   r   r   Útest_switch_kwargsÚassertRaisesRegexÚ	TypeError)r   r   Úgs      r   r    zCAPITests.test_switch_kwargs   so   € ò	ä×Ñ˜eÓ$ˆØ×Ñ˜œO×>Ñ>¸qÀAÈÔKÔLà×#Ñ#¤IÐ/LÓMñ 	AÜ×.Ñ.Ð/?Ô@÷	A÷ 	Añ 	Aús   ÁA6Á6A?c                 óš   — d„ }t        j                   |«      j                  «       }| j                  d t        j                  |«      «       y )Nc                  ó  — d„ } t        j                   | «      }|j                  «        t        j                  «       j                  j                  |«       t        j                  «       j                  j	                  t        d«      «       y )Nc                  óÈ   — t        j                  «       j                  j                  «        t        j                  «       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   sF   € Ü×#Ñ#Ó%×,Ñ,×3Ñ3Ô5ô
 ×#Ñ#Ó%×,Ñ,×3Ñ3Ô5Ü$Ð%JÓKÐKr   zShould never reach this code)r   r)   r'   r(   Úthrowr*   )r+   Úchilds     r   Úfooz%CAPITests.test_setparent.<locals>.foo   sg   € òLô ×%Ñ% cÓ*ˆEØ�L‰LŒNÜ×ÑÓ!×(Ñ(×/Ñ/°Ô6Ü×ÑÓ!×(Ñ(×.Ñ.ÜÐ=Ó>õ@r   )r   r)   r   r   Útest_setparent)r   r.   Ú	foo_childs      r   r/   zCAPITests.test_setparent   s>   € ò	@ô ×%Ñ% cÓ*×1Ñ1Ó3ˆ	Ø×Ñ˜œ×=Ñ=¸iÓHÕIr   c                 ó,   — t        j                  «        y r   )r   Útest_getcurrentr   s    r   r2   zCAPITests.test_getcurrent+   s   € Ü×'Ñ'Õ)r   c                 óP   — | j                  dt        j                  d„ «      «       y )Néñÿÿÿc                   ó   — y)Nr4   r   r   r   r   r   z-CAPITests.test_new_greenlet.<locals>.<lambda>/   r   r   )r   r   Útest_new_greenletr   s    r   r6   zCAPITests.test_new_greenlet.   s   € Ø×Ñ˜œo×?Ñ?ÁÓLÕMr   c                 ó`   — | j                  t        j                  t        j                  «       y r   )ÚassertRaisesr   ÚGreenletExitr   Útest_raise_dead_greenletr   s    r   Útest_raise_greenlet_deadz"CAPITests.test_raise_greenlet_dead1   s"   € Ø×ÑÜ×!Ñ!¤?×#KÑ#Kõ	Mr   c                 ó`   — | j                  t        j                  t        j                  «       y r   )r8   r   Úerrorr   Útest_raise_greenlet_errorr   s    r   r>   z#CAPITests.test_raise_greenlet_error5   s    € Ø×ÑÜ�N‰NœO×EÑEõ	Gr   c                 óB  ‡— g Šˆfd„}t        j                   |«      }|j                  «        t        j                  |«       | j	                  t        ‰«      d«       | j                  t        ‰d   t        «      d«       | j	                  t        ‰d   «      dd«       y )Nc                  óú   •— 	 t        j                  «       j                  j                  «        y # t        $ r) ‰ j                  t        j                  «       d   «       Y y t         j                  $ r t        ‚w xY w)Nr   )
r   r'   r(   r)   Ú
ValueErrorÚappendÚsysÚexc_infor9   r*   )Úseens   €r   r.   z!CAPITests.test_throw.<locals>.foo<   s]   ø€ ð%Ü×#Ñ#Ó%×,Ñ,×3Ñ3Õ5øÜò /Ø—‘œCŸL™L›N¨1Ñ-Ö.Ü×(Ñ(ò %Ü$Ð$ð%ús   ƒ,0 °/A:Á!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Ú
isinstancerA   Ústr)r   r.   r#   rE   s      @r   rF   zCAPITests.test_throw9   sˆ   ø€ Øˆô	%ô ×Ñ˜cÓ"ˆØ	�‰Œ
Ü×"Ñ" 1Ô%Ø×Ñœ˜T› AÔ&Ø�‰Ü�t˜A‘w¤
Ó+Ø0ô	2ð 	×ÑÜ��Q‘‹LØØ#õ	%r   c                 ó  — | j                  t        «      5 }t        j                  t	        j
                  «       t        t        «       | «       d d d «       | j                  t        j                  «      d«       y # 1 sw Y   Œ/xY w)Nz1throw() third argument must be a traceback object)
r8   r"   r   Útest_throw_exactr   r'   Ú	Exceptionr   rJ   Ú	exception©r   Úexcs     r   Útest_non_traceback_paramz"CAPITests.test_non_traceback_paramO   sk   € Ø×ÑœyÓ)ð 	¨SÜ×,Ñ,Ü×#Ñ#Ó%ÜÜ“Øô	÷	ð 	×Ñœ˜SŸ]™]Ó+ØLõ	N÷	ð 	ús   –7A;Á;Bc                 ó  — | j                  t        «      5 }t        j                  t	        j
                  «       t        «       t        «       d «       d d d «       | j                  t        j                  «      d«       y # 1 sw Y   Œ/xY w)Nz0instance exception may not have a separate value)r8   r"   r   rL   r   r'   rM   ÚBaseExceptionr   rJ   rN   rO   s     r   Útest_instance_of_wrong_typez%CAPITests.test_instance_of_wrong_typeZ   sm   € Ø×ÑœyÓ)ð 	¨SÜ×,Ñ,Ü×#Ñ#Ó%Ü“Ü“Øô	÷	ð 	×Ñœ˜SŸ]™]Ó+ØKõ	M÷	ð 	ús   –;A?Á?Bc                 óö   — | j                  t        «      5 }t        j                  t	        j
                  «       dd d «       d d d «       | j                  t        j                  «      d«       y # 1 sw Y   Œ/xY w)NÚabcz1exceptions must be classes, or instances, not str)	r8   r"   r   rL   r   r'   r   rJ   rN   rO   s     r   Útest_not_throwablezCAPITests.test_not_throwablef   si   € Ø×ÑœyÓ)ð 	¨SÜ×,Ñ,Ü×#Ñ#Ó%ØØØô	÷	ð 	×Ñœ˜SŸ]™]Ó+ØLõ	N÷	ð 	ús   –+A/Á/A8c                 óf  — ddl m} d}|rdg|z  }ndg|z  }dd„ fdd„ fd	d
„ ffD ]s  \  }}| j                  |«      5  t        |«      D �cg c]	  } |«       ‘Œ }}|D �cg c]  }t	        j
                  |«      dz
  ‘Œ }	}| j                  |	|«       d d d «       Œu y c c}w c c}w # 1 sw Y   ŒŠxY w)Nr   )ÚPY314éd   r   r   c                  óZ   — t        j                  t        j                  t        «      «      S r   )r   r   r   Úobjectr   r   r   r   z&CAPITests.test_leaks.<locals>.<lambda>{   s   € ”_×0Ñ0´×1BÑ1BÄ6Ó1JÓK€ r   r    c                  óZ   — t        j                  t        j                  t        «      «      S r   )r   r    r   r\   r   r   r   r   z&CAPITests.test_leaks.<locals>.<lambda>}   s   € ”_×7Ñ7¼×8IÑ8IÌ&Ó8QÓR€ r   r6   c                  ó4   — t        j                  t        «      S r   )r   r6   r\   r   r   r   r   z&CAPITests.test_leaks.<locals>.<lambda>   s   € ”_×6Ñ6´vÓ>€ r   )Ú rY   ÚsubTestÚrangerC   Úgetrefcountr   )
r   rY   ÚitersÚexpected_refsÚnameÚcallerÚ_ÚresultsÚiÚrefss
             r   Ú
test_leakszCAPITests.test_leaksq   sæ   € åØˆÙØ˜C %™K‰Mà˜C %™KˆMàÙKðMà!ÙRðTà Ù>ð@ð
ò 	6‰LˆD�&ð —‘˜dÓ#ñ 6Ü-2°5«\Ö:¨™6�8Ð:�Ð:ð öàô —O‘O AÓ&¨Ó*ð�ð ð
 × Ñ   }Ô5÷6ð 6ñ	6ùò ;ùò÷6ð 6ús)   ½B'ÁBÁB'ÁB"Á>B'Â
B'Â'B0	N)Ú__name__Ú
__module__Ú__qualname__r   r    r/   r2   r6   r;   r>   rF   rQ   rT   rW   r   rk   r   r   r   r   r   
   sV   „ òLòAòJò&*òNòMòGò%ò,	Nò
Mò	Nð ñ6ó ñ6r   r   Ú__main__)rC   r   r_   r   r   Ú	leakcheckr   r   rl   ÚunittestÚmainr   r   r   ú<module>rs      s@   ðÛ 
ã Ý Ý Ý (ô~6�ô ~6ðB ˆzÒÛØ€H‡M�M…Oð r   