Ë
    ojˆ&  ã                  ó   — d Z ddlmZ ddlZddlmZ ddlmZ ddl	m
Z
mZ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«      Z G d„ de«      Z[y)z0
Tests for returning Deferreds from a TestCase.
é    )ÚannotationsN)Údefer)ÚFailure)ÚreporterÚunittestÚutil)Údetestsc                  óD   — e Zd Z	 	 	 	 dd„Zd	d„Zd	d„Zd	d„Zd	d„Zd	d„Zy)
Ú
SetUpTestsc                ó|   — t        j                  «       }t        j                  «       }|j	                  |«      }||fS ©N©ÚpyunitÚ
TestLoaderr   Ú
TestResultÚloadTestsFromTestCase©ÚselfÚklassÚloaderÚrÚss        úB/usr/lib/python3/dist-packages/twisted/trial/test/test_deferred.pyÚ
_loadSuitezSetUpTests._loadSuite   ó9   € ô ×"Ñ"Ó$ˆÜ×ÑÓ!ˆØ×(Ñ(¨Ó/ˆØ�!ˆtˆó    c                óÎ   — | j                  t        j                  «      \  }} ||«       | j                  |j	                  «       «       | j                  |j                  d«       y )Né   )r   r	   ÚDeferredSetUpOKÚ
assertTrueÚwasSuccessfulÚassertEqualÚtestsRun©r   ÚresultÚsuites      r   Útest_successzSetUpTests.test_success   sJ   € ØŸ™¬×(?Ñ(?Ó@‰ˆ�ÙˆfŒØ�‰˜×,Ñ,Ó.Ô/Ø×Ñ˜Ÿ™¨!Õ,r   c                ó  — | j                  t        j                  j                  «       | j	                  t        j                  «      \  }} ||«       | j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       | j                  t        |j                  «      d«       | j                  t        j                  j                  «       y ©Nr   r   )ÚassertFalser	   ÚDeferredSetUpFailÚ
testCalledr   r!   r"   r#   ÚlenÚfailuresÚerrorsr$   s      r   Ú	test_failzSetUpTests.test_fail    s²   € Ø×Ñœ×2Ñ2×=Ñ=Ô>ØŸ™¬×(AÑ(AÓB‰ˆ�ÙˆfŒØ×Ñ˜×-Ñ-Ó/Ô0Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ_™_Ó-¨qÔ1Ø×Ñœ˜VŸ]™]Ó+¨QÔ/Ø×Ñœ×2Ñ2×=Ñ=Õ>r   c                ó  — | j                  t        j                  j                  «       | j	                  t        j                  «      \  }} ||«       | j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       | j                  t        |j                  «      d«       | j                  t        j                  j                  «       y r)   )r*   r	   ÚDeferredSetUpCallbackFailr,   r   r!   r"   r#   r-   r.   r/   r$   s      r   Útest_callbackFailzSetUpTests.test_callbackFail*   s²   € Ø×Ñœ×:Ñ:×EÑEÔFØŸ™¬×(IÑ(IÓJ‰ˆ�ÙˆfŒØ×Ñ˜×-Ñ-Ó/Ô0Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ_™_Ó-¨qÔ1Ø×Ñœ˜VŸ]™]Ó+¨QÔ/Ø×Ñœ×:Ñ:×EÑEÕFr   c                ó  — | j                  t        j                  j                  «       | j	                  t        j                  «      \  }} ||«       | j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       | j                  t        |j                  «      d«       | j                  t        j                  j                  «       y r)   )r*   r	   ÚDeferredSetUpErrorr,   r   r!   r"   r#   r-   r.   r/   r$   s      r   Ú
test_errorzSetUpTests.test_error4   s²   € Ø×Ñœ×3Ñ3×>Ñ>Ô?ØŸ™¬×(BÑ(BÓC‰ˆ�ÙˆfŒØ×Ñ˜×-Ñ-Ó/Ô0Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ_™_Ó-¨qÔ1Ø×Ñœ˜VŸ]™]Ó+¨QÔ/Ø×Ñœ×3Ñ3×>Ñ>Õ?r   c                óP  — | j                  t        j                  j                  «       | j	                  t        j                  «      \  }} ||«       | j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       | j                  t        |j                  «      d«       | j                  t        |j                  «      d«       | j                  t        j                  j                  «       y r)   )r*   r	   ÚDeferredSetUpSkipr,   r   r    r!   r"   r#   r-   r.   r/   Úskipsr$   s      r   Ú	test_skipzSetUpTests.test_skip>   sÉ   € Ø×Ñœ×2Ñ2×=Ñ=Ô>ØŸ™¬×(AÑ(AÓB‰ˆ�ÙˆfŒØ�‰˜×,Ñ,Ó.Ô/Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ_™_Ó-¨qÔ1Ø×Ñœ˜VŸ]™]Ó+¨QÔ/Ø×Ñœ˜VŸ\™\Ó*¨AÔ.Ø×Ñœ×2Ñ2×=Ñ=Õ>r   N©r   ztype[pyunit.TestCase]Úreturnz,tuple[reporter.TestResult, pyunit.TestSuite]©r<   ÚNone)	Ú__name__Ú
__module__Ú__qualname__r   r'   r0   r3   r6   r:   © r   r   r   r      s2   „ ðØ*ðà	5óó-ó?óGó@ô	?r   r   c                  ó4   — e Zd Zdd„Zdd„Z	 	 	 	 dd„Zdd„Zy)ÚNeverFireTestsc                óD   — t         j                  | _        dt         _        y )Ngš™™™™™¹?)r   ÚDEFAULT_TIMEOUT_DURATIONÚ_oldTimeout©r   s    r   ÚsetUpzNeverFireTests.setUpK   s   € Ü×8Ñ8ˆÔØ(+ŒÕ%r   c                ó.   — | j                   t        _        y r   )rG   r   rF   rH   s    r   ÚtearDownzNeverFireTests.tearDownO   s   € Ø(,×(8Ñ(8ŒÕ%r   c                ó|   — t        j                  «       }t        j                  «       }|j	                  |«      }||fS r   r   r   s        r   r   zNeverFireTests._loadSuiteR   r   r   c                óÆ  — | j                  t        j                  j                  «       | j	                  t        j                  «      \  }} ||«       | j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       | j                  t        |j                  «      d«       | j                  t        j                  j                  «       t        |j                  d   d   t        «      sJ ‚| j                  |j                  d   d   j                  t        j                   «      «       y r)   )r*   r	   ÚDeferredSetUpNeverFirer,   r   r!   r"   r#   r-   r.   r/   Ú
isinstancer   r    Úcheckr   ÚTimeoutErrorr$   s      r   Ú
test_setUpzNeverFireTests.test_setUpZ   sû   € Ø×Ñœ×7Ñ7×BÑBÔCØŸ™¬×(FÑ(FÓG‰ˆ�ÙˆfŒØ×Ñ˜×-Ñ-Ó/Ô0Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ_™_Ó-¨qÔ1Ø×Ñœ˜VŸ]™]Ó+¨QÔ/Ø×Ñœ×7Ñ7×BÑBÔCÜ˜&Ÿ-™-¨Ñ*¨1Ñ-¬wÔ7Ð7Ð7Ø�‰˜Ÿ™ aÑ(¨Ñ+×1Ñ1´%×2DÑ2DÓEÕFr   Nr=   r;   )r?   r@   rA   rI   rK   r   rR   rB   r   r   rD   rD   J   s'   „ ó,ó9ðØ*ðà	5óô
Gr   rD   c                  ó   — e Zd Zdd„Zdd„Zy)Ú
TestTesterc                ó   — t        d«      ‚)Nzmust override me)ÚNotImplementedError©r   Únames     r   ÚgetTestzTestTester.getTesth   s   € Ü!Ð"4Ó5Ð5r   c                ón   — t        j                  «       }| j                  |«      j                  |«       |S r   )r   r   rY   Úrun)r   rX   r%   s      r   ÚrunTestzTestTester.runTestk   s,   € Ü×$Ñ$Ó&ˆØ�‰�TÓ×Ñ˜vÔ&Øˆr   N)rX   Ústrr<   zpyunit.TestCase)rX   r]   r<   zreporter.TestResult)r?   r@   rA   rY   r\   rB   r   r   rT   rT   g   s   „ ó6ôr   rT   c                  óŽ   — e Zd Zdd„Zdd„Zdd„Z ej                  d¬«      ge_        dd„Z	dd„Z
dd„Zdd	„Zdd
„Zdd„Zdd„Zy)ÚDeferredTestsc                ó,   — t        j                  |«      S r   )r	   r_   rW   s     r   rY   zDeferredTests.getTestr   s   € Ü×$Ñ$ TÓ*Ð*r   c                óœ   — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       y ©NÚ	test_passr   ©r\   r    r!   r"   r#   ©r   r%   s     r   rc   zDeferredTests.test_passu   ó9   € Ø—‘˜kÓ*ˆØ�‰˜×,Ñ,Ó.Ô/Ø×Ñ˜Ÿ™¨!Õ,r   c                óî   — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       | j                  t
        j                  j                  «       y )NÚtest_passGeneratedr   ©r\   r    r!   r"   r#   r	   r_   Útouchedre   s     r   rh   z DeferredTests.test_passGeneratedz   sR   € Ø—‘Ð2Ó3ˆØ�‰˜×,Ñ,Ó.Ô/Ø×Ñ˜Ÿ™¨!Ô,Ø�‰œ×-Ñ-×5Ñ5Õ6r   z6twisted.internet.defer.deferredGenerator is deprecated)Úmessagec                óî   — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       | j                  t
        j                  j                  «       y)zQ
        The body of a L{defer.inlineCallbacks} decorated test gets run.
        Útest_passInlineCallbacksr   Nri   re   s     r   rm   z&DeferredTests.test_passInlineCallbacks„   sT   € ð —‘Ð8Ó9ˆØ�‰˜×,Ñ,Ó.Ô/Ø×Ñ˜Ÿ™¨!Ô,Ø�‰œ×-Ñ-×5Ñ5Õ6r   c                óæ   — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       y )Nr0   r   ©r\   r*   r!   r"   r#   r-   r.   re   s     r   r0   zDeferredTests.test_fail�   sT   € Ø—‘˜kÓ*ˆØ×Ñ˜×-Ñ-Ó/Ô0Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ_™_Ó-¨qÕ1r   c                óæ   — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       y )NÚtest_failureInCallbackr   ro   re   s     r   rq   z$DeferredTests.test_failureInCallback“   sU   € Ø—‘Ð6Ó7ˆØ×Ñ˜×-Ñ-Ó/Ô0Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ_™_Ó-¨qÕ1r   c                óæ   — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       y )NÚtest_errorInCallbackr   )r\   r*   r!   r"   r#   r-   r/   re   s     r   rs   z"DeferredTests.test_errorInCallback™   sU   € Ø—‘Ð4Ó5ˆØ×Ñ˜×-Ñ-Ó/Ô0Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ]™]Ó+¨QÕ/r   c                ó8  — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       | j                  t        j                  j                  «       y ©Nr:   r   )r\   r    r!   r"   r#   r-   r9   r*   r	   r_   rj   re   s     r   r:   zDeferredTests.test_skipŸ   sl   € Ø—‘˜kÓ*ˆØ�‰˜×,Ñ,Ó.Ô/Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ\™\Ó*¨AÔ.Ø×Ñœ×.Ñ.×6Ñ6Õ7r   c                óz  — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       | j                  t        |j                  «      d«       | j                  t        |j                  «      d«       y ©NÚtest_expectedFailurer   r   )	r\   r    r!   r"   r#   r-   r/   r.   ÚexpectedFailuresre   s     r   Ú	test_todozDeferredTests.test_todo¦   s‡   € Ø—‘Ð4Ó5ˆØ�‰˜×,Ñ,Ó.Ô/Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ]™]Ó+¨QÔ/Ø×Ñœ˜VŸ_™_Ó-¨qÔ1Ø×Ñœ˜V×4Ñ4Ó5°qÕ9r   c                ó²   — | j                  d«      }| j                  |j                  d«       | j                  |j	                  «       |j
                  «       y )NÚtest_threadr   )r\   r"   r#   r    r!   r/   re   s     r   r|   zDeferredTests.test_thread®   s?   € Ø—‘˜mÓ,ˆØ×Ñ˜Ÿ™¨!Ô,Ø�‰˜×,Ñ,Ó.°·±Õ>r   N)rX   r]   r<   zdetests.DeferredTestsr=   )r?   r@   rA   rY   rc   rh   r   ÚsuppressÚsupressrm   r0   rq   rs   r:   rz   r|   rB   r   r   r_   r_   q   sP   „ ó+ó-ó
7ð 	ˆ�‰ÐVÔWð"ÐÔó7ó2ó2ó0ó8ó:ô?r   r_   c                  ód   — e Zd Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd	„Zdd
„Zdd„Zy)ÚTimeoutTestsc                ó,   — t        j                  |«      S r   )r	   r€   rW   s     r   rY   zTimeoutTests.getTestµ   s   € Ü×#Ñ# DÓ)Ð)r   c                ó~   — | j                  |j                  t        j                  «      t        j                  «       y r   )r"   rP   r   rQ   )r   Úerrors     r   Ú_wasTimeoutzTimeoutTests._wasTimeout¸   s'   € Ø×Ñ˜Ÿ™¤U×%7Ñ%7Ó8¼%×:LÑ:LÕMr   c                óœ   — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       y rb   rd   re   s     r   rc   zTimeoutTests.test_pass»   rf   r   c                óœ   — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       y )NÚtest_passDefaultr   rd   re   s     r   r‡   zTimeoutTests.test_passDefaultÀ   s:   € Ø—‘Ð0Ó1ˆØ�‰˜×,Ñ,Ó.Ô/Ø×Ñ˜Ÿ™¨!Õ,r   c                ól  — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       t        |j                  d   d   t        «      sJ ‚| j                  |j                  d   d   «       y )NÚtest_timeoutr   r   ©
r\   r*   r!   r"   r#   r-   r/   rO   r   r„   re   s     r   r‰   zTimeoutTests.test_timeoutÅ   sŽ   € Ø—‘˜nÓ-ˆØ×Ñ˜×-Ñ-Ó/Ô0Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ]™]Ó+¨QÔ/Ü˜&Ÿ-™-¨Ñ*¨1Ñ-¬wÔ7Ð7Ð7Ø×Ñ˜Ÿ™ qÑ)¨!Ñ,Õ-r   c                ól  — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       t        |j                  d   d   t        «      sJ ‚| j                  |j                  d   d   «       y )NÚtest_timeoutZeror   r   rŠ   re   s     r   rŒ   zTimeoutTests.test_timeoutZeroÍ   s�   € Ø—‘Ð0Ó1ˆØ×Ñ˜×-Ñ-Ó/Ô0Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ]™]Ó+¨QÔ/Ü˜&Ÿ-™-¨Ñ*¨1Ñ-¬wÔ7Ð7Ð7Ø×Ñ˜Ÿ™ qÑ)¨!Ñ,Õ-r   c                óæ   — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       y ru   )r\   r    r!   r"   r#   r-   r9   re   s     r   r:   zTimeoutTests.test_skipÕ   sR   € Ø—‘˜kÓ*ˆØ�‰˜×,Ñ,Ó.Ô/Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜VŸ\™\Ó*¨AÕ.r   c                ól  — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       | j                  t        |j                  «      d«       t        |j                  d   d   t        «      sJ ‚| j                  |j                  d   d   «       y rw   )
r\   r    r!   r"   r#   r-   ry   rO   r   r„   re   s     r   rz   zTimeoutTests.test_todoÛ   s“   € Ø—‘Ð4Ó5ˆØ�‰˜×,Ñ,Ó.Ô/Ø×Ñ˜Ÿ™¨!Ô,Ø×Ñœ˜V×4Ñ4Ó5°qÔ9Ü˜&×1Ñ1°!Ñ4°QÑ7¼ÔAÐAÐAØ×Ñ˜×0Ñ0°Ñ3°AÑ6Õ7r   c                ó&  — | j                  d«      }| j                  |j                  «       «       | j                  |j                  d«       t
        j                  j                  €J ‚| j                  t
        j                  j                  «       y )NÚtest_errorPropagationr   )	r\   r*   r!   r"   r#   r	   r€   ÚtimedOutr„   re   s     r   r�   z"TimeoutTests.test_errorPropagationã   sn   € Ø—‘Ð5Ó6ˆØ×Ñ˜×-Ñ-Ó/Ô0Ø×Ñ˜Ÿ™¨!Ô,Ü×#Ñ#×,Ñ,Ð8Ð8Ð8Ø×Ñœ×-Ñ-×6Ñ6Õ7r   c                ó„  — t        j                  «       }|j                  t        j                  «      }t        j                  «       }|j                  |«       | j                  t        |j                  «      d«       t        |j                  d   d   t        «      sJ ‚| j                  |j                  d   d   «       y r)   )r   r   r   r	   ÚTestClassTimeoutAttributer   r   r[   r"   r-   r/   rO   r   r„   )r   r   r&   r%   s       r   Útest_classTimeoutzTimeoutTests.test_classTimeoutê   s“   € Ü×"Ñ"Ó$ˆØ×,Ñ,¬W×-NÑ-NÓOˆÜ×$Ñ$Ó&ˆØ�	‰	�&ÔØ×Ñœ˜VŸ]™]Ó+¨QÔ/Ü˜&Ÿ-™-¨Ñ*¨1Ñ-¬wÔ7Ð7Ð7Ø×Ñ˜Ÿ™ qÑ)¨!Ñ,Õ-r   c                ón  — ddl m} |j                  d|j                  «      }| j	                  d«      }|j                  «       r|j                  «        | j                  |j                  «       «       t        |j                  d   d   t        «      sJ ‚| j                  |j                  d   d   «       y )Nr   )Úreactoré   Útest_calledButNeverCallbackr   )Útwisted.internetr–   Ú	callLaterÚcrashr\   ÚactiveÚcancelr*   r!   rO   r/   r   r„   )r   r–   Úcallr%   s       r   Ú&test_callbackReturnsNonCallingDeferredz3TimeoutTests.test_callbackReturnsNonCallingDeferredó   s�   € õ 	-à× Ñ   G§M¡MÓ2ˆØ—‘Ð;Ó<ˆØ�;‰;Œ=Ø�K‰KŒMØ×Ñ˜×-Ñ-Ó/Ô0Ü˜&Ÿ-™-¨Ñ*¨1Ñ-¬wÔ7Ð7Ð7Ø×Ñ˜Ÿ™ qÑ)¨!Ñ,Õ-r   N)rX   r]   r<   zdetests.TimeoutTests)rƒ   r   r<   r>   r=   )r?   r@   rA   rY   r„   rc   r‡   r‰   rŒ   r:   rz   r�   r”   rŸ   rB   r   r   r€   r€   ´   s:   „ ó*óNó-ó
-ó
.ó.ó/ó8ó8ó.ô.r   r€   )Ú__doc__Ú
__future__r   r   r   r™   r   Útwisted.python.failurer   Útwisted.trialr   r   Útwisted.trial.testr	   ÚTestCaser   rD   rT   r_   r€   rB   r   r   ú<module>r¦      s}   ðñõ #ã å "Ý *ß 2Ñ 2Ý &ô6?�×"Ñ"ô 6?ôrG�X×&Ñ&ô Gô:�×"Ñ"ô ô@?�Jô @?ôFJ.�:ô J.ñ\ r   