Ë
    oj€  ã                  óÒ  — d Z ddlmZ ddlmZmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ  G d„ d	ej                   «      Z G d
„ dej                   «      Z G d„ dej                   «      Z G d„ dej                   «      Z G d„ dej                   «      Z G d„ dej                   «      Z G d„ dej                   «      Z G d„ dej                   «      Z G d„ dej                   «      Zy)zD
Tests for Deferred handling by L{twisted.trial.unittest.TestCase}.
é    )Úannotations)ÚdeferÚreactorÚthreads)ÚFailure)ÚrunWithWarningsSuppressed)Úunittest)Úsuppressc                  ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚDeferredSetUpOKc                óf   — t        j                  d«      }|j                  | j                  «       |S ©NÚvalue©r   ÚsucceedÚaddCallbackÚ_cb_setUpCalled©ÚselfÚds     ú</usr/lib/python3/dist-packages/twisted/trial/test/detests.pyÚsetUpzDeferredSetUpOK.setUp   ó'   € Ü�M‰M˜'Ó"ˆØ	�‰�d×*Ñ*Ô+Øˆó    c                ó   — d| _         y ©NT)Ú_setUpCalled©r   Úignoreds     r   r   zDeferredSetUpOK._cb_setUpCalled   s
   € Ø ˆÕr   c                ó:   — | j                  | j                  «       y ©N)Ú
assertTruer   ©r   s    r   Útest_okzDeferredSetUpOK.test_ok   s   € Ø�‰˜×)Ñ)Õ*r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r$   © r   r   r   r      s   „ òò
!ó+r   r   c                  ó   — e Zd ZdZd„ Zd„ Zy)ÚDeferredSetUpFailFc                óR   — t        j                  t        j                  d«      «      S )Nzi fail)r   Úfailr	   ÚFailTestr#   s    r   r   zDeferredSetUpFail.setUp    s   € Ü�z‰zœ(×+Ñ+¨HÓ5Ó6Ð6r   c                ó<   — dt         _        | j                  d«       y )NTzI should not get called)r*   Ú
testCalledr,   r#   s    r   r$   zDeferredSetUpFail.test_ok#   s   € Ø'+ÔÔ$Ø�	‰	Ð+Õ,r   N©r%   r&   r'   r/   r   r$   r(   r   r   r*   r*      s   „ Ø€Jò7ó-r   r*   c                  ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚDeferredSetUpCallbackFailFc                óf   — t        j                  d«      }|j                  | j                  «       |S r   r   r   s     r   r   zDeferredSetUpCallbackFail.setUp+   r   r   c                ó&   — | j                  d«       y )Nzdeliberate failure©r,   r   s     r   r   z)DeferredSetUpCallbackFail._cb_setUpCalled0   s   € Ø�	‰	Ð&Õ'r   c                ó   — dt         _        y r   )r2   r/   r#   s    r   r$   z!DeferredSetUpCallbackFail.test_ok3   s   € Ø/3Ô!Õ,r   N)r%   r&   r'   r/   r   r   r$   r(   r   r   r2   r2   (   s   „ Ø€Jòò
(ó4r   r2   c                  ó   — e Zd ZdZd„ Zd„ Zy)ÚDeferredSetUpErrorFc                ó>   — t        j                  t        d«      «      S )Nzdeliberate error)r   r,   ÚRuntimeErrorr#   s    r   r   zDeferredSetUpError.setUp:   s   € Ü�z‰zœ,Ð'9Ó:Ó;Ð;r   c                ó   — dt         _        y r   )r8   r/   r#   s    r   r$   zDeferredSetUpError.test_ok=   s   € Ø(,ÔÕ%r   Nr0   r(   r   r   r8   r8   7   s   „ Ø€Jò<ó-r   r8   c                  ó   — e Zd ZdZd„ Zd„ Zy)ÚDeferredSetUpNeverFireFc                ó*   — t        j                  «       S r!   ©r   ÚDeferredr#   s    r   r   zDeferredSetUpNeverFire.setUpD   ó   € Ü�~‰~ÓÐr   c                ó   — dt         _        y r   )r=   r/   r#   s    r   r$   zDeferredSetUpNeverFire.test_okG   s   € Ø,0ÔÕ)r   Nr0   r(   r   r   r=   r=   A   s   „ Ø€Jò ó1r   r=   c                  ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚDeferredSetUpSkipFc                óf   — t        j                  d«      }|j                  | j                  «       |S r   )r   r   r   Ú_cb1r   s     r   r   zDeferredSetUpSkip.setUpN   s%   € Ü�M‰M˜'Ó"ˆØ	�‰�d—i‘iÔ Øˆr   c                ó,   — t        j                  d«      ‚)Nzskip me©r	   ÚSkipTestr   s     r   rF   zDeferredSetUpSkip._cb1S   s   € Ü×Ñ 	Ó*Ð*r   c                ó   — dt         _        y r   )rD   r/   r#   s    r   r$   zDeferredSetUpSkip.test_okV   s   € Ø'+ÔÕ$r   N)r%   r&   r'   r/   r   rF   r$   r(   r   r   rD   rD   K   s   „ Ø€Jòò
+ó,r   rD   c                  óÈ   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
 e ed	¬
«      gej                  e
«      Z
ej                  d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zde_        y)ÚDeferredTestsFc                ó&   — | j                  |«       y r!   r5   ©r   Úreasons     r   Ú_cb_failzDeferredTests._cb_fail]   s   € Ø�	‰	�&Õr   c                ó   — t        |«      ‚r!   )r:   rN   s     r   Ú	_cb_errorzDeferredTests._cb_error`   s   € Ü˜6Ó"Ð"r   c                ó,   — t        j                  |«      ‚r!   rH   rN   s     r   Ú_cb_skipzDeferredTests._cb_skipc   s   € Ü×Ñ Ó'Ð'r   c                ó&   — d| j                   _        y r   ©Ú	__class__Útouchedr   s     r   Ú_touchClasszDeferredTests._touchClassf   s   € Ø!%ˆ�‰Õr   c                ó&   — d| j                   _        y )NFrV   r#   s    r   r   zDeferredTests.setUpi   s   € Ø!&ˆ�‰Õr   c                ó,   — t        j                  d«      S )NÚsuccess)r   r   r#   s    r   Ú	test_passzDeferredTests.test_passl   s   € Ü�}‰}˜YÓ'Ð'r   c              #  ó6   K  — | j                  d «       d –— y ­wr!   ©rY   r#   s    r   Útest_passGeneratedz DeferredTests.test_passGeneratedo   s   è ø€ Ø×Ñ˜ÔØ‹
ùó   ‚z7twisted.internet.defer.deferredGenerator was deprecated)Úmessagec              #  ó6   K  — | j                  d«       d–— y­w)zL
        Test case that is decorated with L{defer.inlineCallbacks}.
        Nr_   r#   s    r   Útest_passInlineCallbacksz&DeferredTests.test_passInlineCallbacks}   s   è ø€ ð
 	×Ñ˜ÔØ‹
ùra   c                óJ   — t        j                  | j                  d«      «      S )NzI fail)r   r,   ÚfailureExceptionr#   s    r   Ú	test_failzDeferredTests.test_fail…   s   € Ü�z‰z˜$×/Ñ/°Ó9Ó:Ð:r   c                óf   — t        j                  d«      }|j                  | j                  «       |S )Nr,   )r   r   r   rP   r   s     r   Útest_failureInCallbackz$DeferredTests.test_failureInCallbackˆ   s%   € Ü�M‰M˜&Ó!ˆØ	�‰�d—m‘mÔ$Øˆr   c                óf   — t        j                  d«      }|j                  | j                  «       |S )NÚerror©r   r   r   rR   r   s     r   Útest_errorInCallbackz"DeferredTests.test_errorInCallback�   s%   € Ü�M‰M˜'Ó"ˆØ	�‰�d—n‘nÔ%Øˆr   c                óœ   — t        j                  d«      }|j                  | j                  «       |j                  | j                  «       |S )NÚskip)r   r   r   rT   rY   r   s     r   Ú	test_skipzDeferredTests.test_skip’   s7   € Ü�M‰M˜&Ó!ˆØ	�‰�d—m‘mÔ$Ø	�‰�d×&Ñ&Ô'Øˆr   c                ó.   — t        j                  d„ «      S )Nc                  ó   — y r!   r(   r(   r   r   ú<lambda>z+DeferredTests.test_thread.<locals>.<lambda>™   s   � r   )r   ÚdeferToThreadr#   s    r   Útest_threadzDeferredTests.test_thread˜   s   € Ü×$Ñ$¡\Ó2Ð2r   c                óf   — t        j                  d«      }|j                  | j                  «       |S )NÚtodorl   r   s     r   Útest_expectedFailurez"DeferredTests.test_expectedFailure›   s%   € Ü�M‰M˜&Ó!ˆØ	�‰�d—n‘nÔ%Øˆr   zExpected failureN)r%   r&   r'   rX   rP   rR   rT   rY   r   r]   r`   r   ÚSUPPRESSr   ÚdeferredGeneratorÚinlineCallbacksrd   rg   ri   rm   rp   ru   rx   rw   r(   r   r   rL   rL   Z   s˜   „ Ø€Gòò#ò(ò&ò'ò(òñ 3áØTôð	
ð
 	×ÑØóÐð ×Ññó ðò;òò
ò
ò3òð
 !3ÐÕr   rL   c                  óÊ   — e Zd ZU dZded<   d„ Zde_        d„ Zd„ Zde_        d	„ Z	d
e	_        d„ Z
de
_        de
_        d„ Zde_        de_        d„ Zde_        d„ Zde_        y)ÚTimeoutTestsNzFailure | NoneÚtimedOutc                óp   — t        j                  «       }t        j                  d|j                  d«       |S ©Nr   zhoorj!©r   r@   r   Ú	callLaterÚcallbackr   s     r   r]   zTimeoutTests.test_pass¦   s)   € Ü�N‰NÓˆÜ×Ñ˜!˜QŸZ™Z¨Ô2Øˆr   é   c                óp   — t        j                  «       }t        j                  d|j                  d«       |S r€   r�   r   s     r   Útest_passDefaultzTimeoutTests.test_passDefault­   s)   € ä�N‰NÓˆÜ×Ñ˜!˜QŸZ™Z¨Ô2Øˆr   c                ó*   — t        j                  «       S r!   r?   r#   s    r   Útest_timeoutzTimeoutTests.test_timeout³   rA   r   gš™™™™™¹?c                ó*   — t        j                  «       S r!   r?   r#   s    r   Útest_timeoutZerozTimeoutTests.test_timeoutZero¸   rA   r   r   c                ó*   — t        j                  «       S r!   r?   r#   s    r   rx   z!TimeoutTests.test_expectedFailure½   rA   r   zi will get it right, eventuallyc                ó*   — t        j                  «       S r!   r?   r#   s    r   rp   zTimeoutTests.test_skipÃ   rA   r   c                ó\   ‡ — ˆ fd„}t        j                  «       }|j                  |«       |S )Nc                ó*   •— | ‰j                   _        | S r!   )rW   r~   )Úerrr   s    €r   r~   z4TimeoutTests.test_errorPropagation.<locals>.timedOutÊ   s   ø€ Ø&)ˆD�N‰NÔ#ØˆJr   )r   r@   Ú
addErrback)r   r~   r   s   `  r   Útest_errorPropagationz"TimeoutTests.test_errorPropagationÉ   s'   ø€ ô	ô �N‰NÓˆØ	�‰�XÔØˆr   c                óx   — t        j                  «       }d„ }|j                  |«       |j                  d«       |S )Nc                ó*   — t        j                  «       S r!   r?   )Úrs    r   Ú	neverFirez;TimeoutTests.test_calledButNeverCallback.<locals>.neverFire×   s   € Ü—>‘>Ó#Ð#r   é   )r   r@   r   rƒ   )r   r   r•   s      r   Útest_calledButNeverCallbackz(TimeoutTests.test_calledButNeverCallbackÔ   s1   € Ü�N‰NÓˆò	$ð 	
�‰�iÔ Ø	�
‰
�1ŒØˆr   )r%   r&   r'   r~   Ú__annotations__r]   Útimeoutr†   rˆ   rŠ   rx   rw   rp   ro   r‘   r—   r(   r   r   r}   r}   £   sŽ   … Ø#€HˆnÓ#òð
 €IÔòò ð €LÔò ð  !ÐÔò ð $'ÐÔ Ø AÐÔò ð €IÔØ6€I„Nòð %(ÐÔ!òð +.ÐÕ'r   r}   c                  ó   — e Zd ZdZd„ Zd„ Zy)ÚTestClassTimeoutAttributegš™™™™™É?c                ó6   — t        j                  «       | _        y r!   )r   r@   r   r#   s    r   r   zTestClassTimeoutAttribute.setUpä   s   € Ü—‘Ó!ˆ�r   c                ó(   — d| _         | j                  S r   )ÚmethodCalledr   r#   s    r   Ú
testMethodz$TestClassTimeoutAttribute.testMethodç   s   € Ø ˆÔØ�v‰vˆr   N)r%   r&   r'   r™   r   rŸ   r(   r   r   r›   r›   á   s   „ Ø€Gò"ór   r›   N)Ú__doc__Ú
__future__r   Útwisted.internetr   r   r   Útwisted.python.failurer   Útwisted.python.utilr   Útwisted.trialr	   Útwisted.trial.utilr
   ry   ÚTestCaser   r*   r2   r8   r=   rD   rL   r}   r›   r(   r   r   ú<module>r¨      sÇ   ðñõ #ç 4Ñ 4Ý *Ý 9Ý "Ý 3ô
+�h×'Ñ'ô 
+ô-˜×)Ñ)ô -ô4 × 1Ñ 1ô 4ô-˜×*Ñ*ô -ô1˜X×.Ñ.ô 1ô,˜×)Ñ)ô ,ôF3�H×%Ñ%ô F3ôR;.�8×$Ñ$ô ;.ô| × 1Ñ 1õ r   