ó
    ÷Þ jÔ  ã                   ó†   • S SK r S SKrSSKJr  SSKJr  SSKJr   " S S\5      r\S:X  a  S SK	r	\	R                  " 5         gg)	é    Né   )Ú_test_extension)ÚTestCase)Úignores_leakcheckc                   óf   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS r\S 5       rSrg)Ú	CAPITestsé
   c                 óz   • U R                  S[        R                  " [        R                  " S 5      5      5        g )Né2   c                  ó   • g)Nr   © r   ó    Úa/var/www/html/gaurav/venv/lib/python3.13/site-packages/greenlet/tests/test_extension_interface.pyÚ<lambda>Ú'CAPITests.test_switch.<locals>.<lambda>   s   € Àbr   )ÚassertEqualr   Útest_switchÚgreenlet©Úselfs    r   r   ÚCAPITests.test_switch   s,   € Ø×ÑØ”×+Ò+¬H×,=Ò,=¹jÓ,IÓJõ	Lr   c           	      ó  • S n[         R                   " U5      nU R                  S[        R                  " USSS95        U R	                  [
        S5         [        R                  " S5        S S S 5        g ! , (       d  f       g = f)Nc                 ó
   • X-  $ ©Nr   ©ÚxÚys     r   ÚadderÚ+CAPITests.test_switch_kwargs.<locals>.adder   s	   € Ø‘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#   ÚCAPITests.test_switch_kwargs   sc   € ò	ä×Ò˜eÓ$ˆØ×Ñ˜œO×>Ò>¸qÀAÈÑKÔLà×#Ñ#¤IÐ/LÕMÜ×.Ò.Ð/?Ô@÷ N×MÖMús   ÁA6Á6
Bc                 óž   • S n[         R                   " U5      R                  5       nU R                  S [        R                  " U5      5        g )Nc                  ó   • S n [         R                   " U 5      nUR                  5         [         R                  " 5       R                  R                  U5        [         R                  " 5       R                  R	                  [        S5      5        g )Nc                  óÌ   • [         R                  " 5       R                  R                  5         [         R                  " 5       R                  R                  5         [	        S5      e)Nz#Should never have reached this code)r   Ú
getcurrentÚparentÚswitchÚAssertionErrorr   r   r   ÚbarÚ2CAPITests.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   ÚfooÚ%CAPITests.test_setparent.<locals>.foo   sg   € òLô ×%Ò% cÓ*ˆEØ�L‰LŒNÜ×ÒÓ!×(Ñ(×/Ñ/°Ô6Ü×ÒÓ!×(Ñ(×.Ñ.ÜÐ=Ó>õ@r   )r   r-   r   r   Útest_setparent)r   r3   Ú	foo_childs      r   r5   ÚCAPITests.test_setparent   s>   € ò	@ô ×%Ò% cÓ*×1Ñ1Ó3ˆ	Ø×Ñ˜œ×=Ò=¸iÓHÕIr   c                 ó.   • [         R                  " 5         g r   )r   Útest_getcurrentr   s    r   r9   ÚCAPITests.test_getcurrent+   s   € Ü×'Ò'Õ)r   c                 óR   • U R                  S[        R                  " S 5      5        g )Néñÿÿÿc                  ó   • g)Nr<   r   r   r   r   r   Ú-CAPITests.test_new_greenlet.<locals>.<lambda>/   s   € Èr   )r   r   Útest_new_greenletr   s    r   r?   ÚCAPITests.test_new_greenlet.   s   € Ø×Ñ˜œo×?Ò?ÁÓLÕMr   c                 ó`   • U R                  [        R                  [        R                  5        g r   )ÚassertRaisesr   ÚGreenletExitr   Útest_raise_dead_greenletr   s    r   Útest_raise_greenlet_deadÚ"CAPITests.test_raise_greenlet_dead1   s"   € Ø×ÑÜ×!Ñ!¤?×#KÑ#Kõ	Mr   c                 ó`   • U R                  [        R                  [        R                  5        g r   )rB   r   Úerrorr   Útest_raise_greenlet_errorr   s    r   rI   Ú#CAPITests.test_raise_greenlet_error5   s    € Ø×ÑÜ�N‰NœO×EÑEõ	Gr   c                 óH  ^• / mU4S jn[         R                   " U5      nUR                  5         [        R                  " U5        U R	                  [        T5      S5        U R                  [        TS   [        5      S5        U R	                  [        TS   5      SS5        g )Nc                  ó  >•  [         R                  " 5       R                  R                  5         g ! [         a*    T R                  [        R                  " 5       S   5         g [         R                   a    [        ef = f)Nr   )
r   r+   r,   r-   Ú
ValueErrorÚappendÚsysÚexc_inforC   r.   )Úseens   €r   r3   Ú!CAPITests.test_throw.<locals>.foo<   s]   ø€ ð%Ü×#Ò#Ó%×,Ñ,×3Ñ3Õ5øÜó /Ø—‘œCŸLšL›N¨1Ñ-Ö.Ü×(Ñ(ó %Ü$Ð$ð%ús   ƒ-1 ±1A>Á$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Ú
isinstancerM   Ústr)r   r3   r&   rQ   s      @r   rS   ÚCAPITests.test_throw9   sˆ   ø€ Øˆõ	%ô ×Ò˜cÓ"ˆØ	�‰Œ
Ü×"Ò" 1Ô%Ø×Ñœ˜T› AÔ&Ø�‰Ü�t˜A‘w¤
Ó+Ø0ô	2ð 	×ÑÜ��Q‘‹LØØ#õ	%r   c                 ó  • U R                  [        5       n[        R                  " [        R
                  " 5       [        [        5       U 5        S S S 5        U R                  [        WR                  5      S5        g ! , (       d  f       N4= f)Nz1throw() third argument must be a traceback object)
rB   r%   r   Útest_throw_exactr   r+   Ú	Exceptionr   rW   Ú	exception©r   Úexcs     r   Útest_non_traceback_paramÚ"CAPITests.test_non_traceback_paramO   sd   € Ø×ÑœyÔ)¨SÜ×,Ò,Ü×#Ò#Ó%ÜÜ“Øô	÷ *ð 	×Ñœ˜SŸ]™]Ó+ØLõ	N÷ *Õ)ús   –9A=Á=
Bc                 ó$  • U R                  [        5       n[        R                  " [        R
                  " 5       [        5       [        5       S 5        S S S 5        U R                  [        WR                  5      S5        g ! , (       d  f       N4= f)Nz0instance exception may not have a separate value)rB   r%   r   rZ   r   r+   r[   ÚBaseExceptionr   rW   r\   r]   s     r   Útest_instance_of_wrong_typeÚ%CAPITests.test_instance_of_wrong_typeZ   sf   € Ø×ÑœyÔ)¨SÜ×,Ò,Ü×#Ò#Ó%Ü“Ü“Øô	÷ *ð 	×Ñœ˜SŸ]™]Ó+ØKõ	M÷ *Õ)ús   –=BÂ
Bc                 ó  • U R                  [        5       n[        R                  " [        R
                  " 5       SS S 5        S S S 5        U R                  [        WR                  5      S5        g ! , (       d  f       N4= f)NÚabcz1exceptions must be classes, or instances, not str)	rB   r%   r   rZ   r   r+   r   rW   r\   r]   s     r   Útest_not_throwableÚCAPITests.test_not_throwablef   sb   € Ø×ÑœyÔ)¨SÜ×,Ò,Ü×#Ò#Ó%ØØØô	÷ *ð 	×Ñœ˜SŸ]™]Ó+ØLõ	N÷ *Õ)ús   –-A1Á1
A?c                 ó„  • SSK Jn  SnU(       a  S/U-  nOS/U-  nSS 4SS 4S	S
 44 Hv  u  pEU R                  U5         [        U5       Vs/ sH	  oe" 5       PM     nnU Vs/ sH  n[        R
                  " U5      S-
  PM     n	nU R                  X“5        S S S 5        Mx     g s  snf s  snf ! , (       d  f       M”  = f)Nr   )ÚPY314éd   r"   r   c                  ó^   • [         R                  " [        R                  " [        5      5      $ r   )r   r   r   Úobjectr   r   r   r   Ú&CAPITests.test_leaks.<locals>.<lambda>{   s   € ”_×0Ò0´×1BÒ1BÄ6Ó1JÔKr   r#   c                  ó^   • [         R                  " [        R                  " [        5      5      $ r   )r   r#   r   rm   r   r   r   r   rn   }   s   € ”_×7Ò7¼×8IÒ8IÌ&Ó8QÔRr   r?   c                  ó6   • [         R                  " [        5      $ r   )r   r?   rm   r   r   r   r   rn      s   € ”_×6Ò6´vÔ>r   )Ú rj   ÚsubTestÚrangerO   Úgetrefcountr   )
r   rj   ÚitersÚexpected_refsÚnameÚcallerÚ_ÚresultsÚiÚrefss
             r   Ú
test_leaksÚCAPITests.test_leaksq   sÝ   € åØˆÞØ˜C %™K‰Mà˜C %™KˆMàÙKðMà!ÙRðTà Ù>ð@ó
‰LˆDð —‘˜dÕ#Ü-2°5¬\Ó:©\¨˜6ž8©\�Ð:ñ óñ ð ô —O’O AÓ&¨Ô*áð ð ð
 × Ñ  Ô5÷ $Ñ#ò
ùò ;ùò÷ $Ö#ús*   ÁB0ÁB&ÁB0Á$"B+ÂB0Â&
B0Â0
B?	r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r#   r5   r9   r?   rE   rI   rS   r_   rc   rg   r   r}   Ú__static_attributes__r   r   r   r   r   
   sV   † òLòAòJò&*òNòMòGò%ò,	Nò
Mò	Nð ñ6ó ó6r   r   Ú__main__)rO   r   rq   r   r   Ú	leakcheckr   r   r   ÚunittestÚmainr   r   r   Ú<module>rˆ      s>   ðÛ 
ã Ý Ý Ý (ô~6�ô ~6ðB ˆzÓÛØ‡M‚M…Oð r   