
    Yf&                       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[dS )z0
Tests for returning Deferreds from a TestCase.
    )annotationsN)defer)Failure)reporterunittestutil)detestsc                  >    e Zd ZddZddZddZdd	Zdd
ZddZdS )
SetUpTestsklasstype[pyunit.TestCase]return,tuple[reporter.TestResult, pyunit.TestSuite]c                    t          j                    }t          j                    }|                    |          }||fS Npyunit
TestLoaderr   
TestResultloadTestsFromTestCaseselfr   loaderrss        R/var/www/html/env/lib/python3.11/site-packages/twisted/trial/test/test_deferred.py
_loadSuitezSetUpTests._loadSuite   <     "$$!!((//!t    Nonec                    |                      t          j                  \  }} ||           |                     |                                           |                     |j        d           d S )N   )r   r	   DeferredSetUpOK
assertTruewasSuccessfulassertEqualtestsRunr   resultsuites      r   test_successzSetUpTests.test_success   sc    (?@@f,,..///!,,,,,r   c                   |                      t          j        j                   |                     t          j                  \  }} ||           |                      |                                           |                     |j        d           |                     t          |j	                  d           |                     t          |j
                  d           |                      t          j        j                   d S Nr"   r   )assertFalser	   DeferredSetUpFail
testCalledr   r%   r&   r'   lenfailureserrorsr(   s      r   	test_failzSetUpTests.test_fail    s    2=>>>(ABBf--//000!,,,V_--q111V]++Q///2=>>>>>r   c                   |                      t          j        j                   |                     t          j                  \  }} ||           |                      |                                           |                     |j        d           |                     t          |j	                  d           |                     t          |j
                  d           |                      t          j        j                   d S r-   )r.   r	   DeferredSetUpCallbackFailr0   r   r%   r&   r'   r1   r2   r3   r(   s      r   test_callbackFailzSetUpTests.test_callbackFail*   s    :EFFF(IJJf--//000!,,,V_--q111V]++Q///:EFFFFFr   c                   |                      t          j        j                   |                     t          j                  \  }} ||           |                      |                                           |                     |j        d           |                     t          |j	                  d           |                     t          |j
                  d           |                      t          j        j                   d S r-   )r.   r	   DeferredSetUpErrorr0   r   r%   r&   r'   r1   r2   r3   r(   s      r   
test_errorzSetUpTests.test_error4   s    3>???(BCCf--//000!,,,V_--q111V]++Q///3>?????r   c                d   |                      t          j        j                   |                     t          j                  \  }} ||           |                     |                                           |                     |j        d           |                     t          |j
                  d           |                     t          |j                  d           |                     t          |j                  d           |                      t          j        j                   d S r-   )r.   r	   DeferredSetUpSkipr0   r   r$   r%   r&   r'   r1   r2   r3   skipsr(   s      r   	test_skipzSetUpTests.test_skip>   s    2=>>>(ABBf,,..///!,,,V_--q111V]++Q///V\**A...2=>>>>>r   Nr   r   r   r   r   r    )	__name__
__module____qualname__r   r+   r4   r7   r:   r>    r   r   r   r      s           - - - -? ? ? ?G G G G@ @ @ @	? 	? 	? 	? 	? 	?r   r   c                  .    e Zd ZddZddZddZdd	Zd
S )NeverFireTestsr   r    c                @    t           j        | _        dt           _        d S )Ng?)r   DEFAULT_TIMEOUT_DURATION_oldTimeoutr   s    r   setUpzNeverFireTests.setUpK   s    8(+%%%r   c                (    | j         t          _        d S r   )rI   r   rH   rJ   s    r   tearDownzNeverFireTests.tearDownO   s    (,(8%%%r   r   r   r   c                    t          j                    }t          j                    }|                    |          }||fS r   r   r   s        r   r   zNeverFireTests._loadSuiteR   r   r   c                   |                      t          j        j                   |                     t          j                  \  }} ||           |                      |                                           |                     |j        d           |                     t          |j	                  d           |                     t          |j
                  d           |                      t          j        j                   t          |j
        d         d         t                    sJ |                     |j
        d         d                             t          j                             d S r-   )r.   r	   DeferredSetUpNeverFirer0   r   r%   r&   r'   r1   r2   r3   
isinstancer   r$   checkr   TimeoutErrorr(   s      r   
test_setUpzNeverFireTests.test_setUpZ   s*   7BCCC(FGGf--//000!,,,V_--q111V]++Q///7BCCC&-*1-w77777a(+11%2DEEFFFFFr   Nr@   r?   )rA   rB   rC   rK   rM   r   rT   rD   r   r   rF   rF   J   sj        , , , ,9 9 9 9   
G 
G 
G 
G 
G 
Gr   rF   c                      e Zd Zd	dZd
dZdS )
TestTesternamestrr   pyunit.TestCasec                     t          d          )Nzmust override me)NotImplementedErrorr   rW   s     r   getTestzTestTester.getTesth   s    !"4555r   reporter.TestResultc                |    t          j                    }|                     |                              |           |S r   )r   r   r]   run)r   rW   r)   s      r   runTestzTestTester.runTestk   s5    $&&Tv&&&r   N)rW   rX   r   rY   )rW   rX   r   r^   )rA   rB   rC   r]   ra   rD   r   r   rV   rV   g   s<        6 6 6 6     r   rV   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dS )DeferredTestsrW   rX   r   detests.DeferredTestsc                *    t          j        |          S r   )r	   rc   r\   s     r   r]   zDeferredTests.getTestr   s    $T***r   r    c                    |                      d          }|                     |                                           |                     |j        d           d S N	test_passr"   ra   r$   r%   r&   r'   r   r)   s     r   rh   zDeferredTests.test_passu   O    k**,,..///!,,,,,r   c                    |                      d          }|                     |                                           |                     |j        d           |                     t
          j        j                   d S )Ntest_passGeneratedr"   ra   r$   r%   r&   r'   r	   rc   touchedrj   s     r   rm   z DeferredTests.test_passGeneratedz   sh    233,,..///!,,,-566666r   z6twisted.internet.defer.deferredGenerator is deprecated)messagec                    |                      d          }|                     |                                           |                     |j        d           |                     t
          j        j                   dS )zQ
        The body of a L{defer.inlineCallbacks} decorated test gets run.
        test_passInlineCallbacksr"   Nrn   rj   s     r   rr   z&DeferredTests.test_passInlineCallbacks   sj     899,,..///!,,,-566666r   c                   |                      d          }|                     |                                           |                     |j        d           |                     t          |j                  d           d S )Nr4   r"   ra   r.   r%   r&   r'   r1   r2   rj   s     r   r4   zDeferredTests.test_fail   sq    k**--//000!,,,V_--q11111r   c                   |                      d          }|                     |                                           |                     |j        d           |                     t          |j                  d           d S )Ntest_failureInCallbackr"   rt   rj   s     r   rv   z$DeferredTests.test_failureInCallback   sr    677--//000!,,,V_--q11111r   c                   |                      d          }|                     |                                           |                     |j        d           |                     t          |j                  d           d S )Ntest_errorInCallbackr"   )ra   r.   r%   r&   r'   r1   r3   rj   s     r   rx   z"DeferredTests.test_errorInCallback   sr    455--//000!,,,V]++Q/////r   c                L   |                      d          }|                     |                                           |                     |j        d           |                     t          |j                  d           |                     t          j	        j
                   d S Nr>   r"   )ra   r$   r%   r&   r'   r1   r=   r.   r	   rc   ro   rj   s     r   r>   zDeferredTests.test_skip   s    k**,,..///!,,,V\**A....677777r   c                   |                      d          }|                     |                                           |                     |j        d           |                     t          |j                  d           |                     t          |j                  d           |                     t          |j                  d           d S Ntest_expectedFailurer"   r   )	ra   r$   r%   r&   r'   r1   r3   r2   expectedFailuresrj   s     r   	test_todozDeferredTests.test_todo   s    455,,..///!,,,V]++Q///V_--q111V455q99999r   c                    |                      d          }|                     |j        d           |                     |                                |j                   d S )Ntest_threadr"   )ra   r&   r'   r$   r%   r3   rj   s     r   r   zDeferredTests.test_thread   sS    m,,!,,,,,..>>>>>r   N)rW   rX   r   rd   r@   )rA   rB   rC   r]   rh   rm   r   suppresssupressrr   r4   rv   rx   r>   r   r   rD   r   r   rc   rc   q   s        + + + +- - - -
7 7 7 7 	VWWW"7 7 7 72 2 2 22 2 2 20 0 0 08 8 8 8: : : :? ? ? ? ? ?r   rc   c                  f    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dS )TimeoutTestsrW   rX   r   detests.TimeoutTestsc                *    t          j        |          S r   )r	   r   r\   s     r   r]   zTimeoutTests.getTest   s    #D)))r   errorr   r    c                    |                      |                    t          j                  t          j                   d S r   )r&   rR   r   rS   )r   r   s     r   _wasTimeoutzTimeoutTests._wasTimeout   s0    U%788%:LMMMMMr   c                    |                      d          }|                     |                                           |                     |j        d           d S rg   ri   rj   s     r   rh   zTimeoutTests.test_pass   rk   r   c                    |                      d          }|                     |                                           |                     |j        d           d S )Ntest_passDefaultr"   ri   rj   s     r   r   zTimeoutTests.test_passDefault   sP    011,,..///!,,,,,r   c                   |                      d          }|                     |                                           |                     |j        d           |                     t          |j                  d           t          |j        d         d         t                    sJ | 	                    |j        d         d                    d S )Ntest_timeoutr"   r   
ra   r.   r%   r&   r'   r1   r3   rQ   r   r   rj   s     r   r   zTimeoutTests.test_timeout   s    n----//000!,,,V]++Q///&-*1-w77777q)!,-----r   c                   |                      d          }|                     |                                           |                     |j        d           |                     t          |j                  d           t          |j        d         d         t                    sJ | 	                    |j        d         d                    d S )Ntest_timeoutZeror"   r   r   rj   s     r   r   zTimeoutTests.test_timeoutZero   s    011--//000!,,,V]++Q///&-*1-w77777q)!,-----r   c                   |                      d          }|                     |                                           |                     |j        d           |                     t          |j                  d           d S rz   )ra   r$   r%   r&   r'   r1   r=   rj   s     r   r>   zTimeoutTests.test_skip   so    k**,,..///!,,,V\**A.....r   c                   |                      d          }|                     |                                           |                     |j        d           |                     t          |j                  d           t          |j        d         d         t                    sJ | 	                    |j        d         d                    d S r|   )
ra   r$   r%   r&   r'   r1   r~   rQ   r   r   rj   s     r   r   zTimeoutTests.test_todo   s    455,,..///!,,,V455q999&1!4Q7AAAAA03A677777r   c                "   |                      d          }|                     |                                           |                     |j        d           t
          j        j        J |                     t
          j        j                   d S )Ntest_errorPropagationr"   )	ra   r.   r%   r&   r'   r	   r   timedOutr   rj   s     r   r   z"TimeoutTests.test_errorPropagation   s~    566--//000!,,,#,888-677777r   c                   t          j                    }|                    t          j                  }t          j                    }|                    |           |                     t          |j
                  d           t          |j
        d         d         t                    sJ |                     |j
        d         d                    d S r-   )r   r   r   r	   TestClassTimeoutAttributer   r   r`   r&   r1   r3   rQ   r   r   )r   r   r*   r)   s       r   test_classTimeoutzTimeoutTests.test_classTimeout   s    "$$,,W-NOO$&&		&V]++Q///&-*1-w77777q)!,-----r   c                   ddl m} |                    d|j                  }|                     d          }|                                r|                                 |                     |                                           t          |j
        d         d         t                    sJ |                     |j
        d         d                    d S )Nr   )reactor   test_calledButNeverCallbackr"   )twisted.internetr   	callLatercrashra   activecancelr.   r%   rQ   r3   r   r   )r   r   callr)   s       r   &test_callbackReturnsNonCallingDeferredz3TimeoutTests.test_callbackReturnsNonCallingDeferred   s     	-,,,,,  GM22;<<;;== 	KKMMM--//000&-*1-w77777q)!,-----r   N)rW   rX   r   r   )r   r   r   r    r@   )rA   rB   rC   r]   r   rh   r   r   r   r>   r   r   r   r   rD   r   r   r   r      s        * * * *N N N N- - - -
- - - -
. . . .. . . ./ / / /8 8 8 88 8 8 8. . . .. . . . . .r   r   )__doc__
__future__r   r   r   r   r   twisted.python.failurer   twisted.trialr   r   twisted.trial.testr	   TestCaser   rF   rV   rc   r   rD   r   r   <module>r      s    # " " " " "     " " " " " " * * * * * * 2 2 2 2 2 2 2 2 2 2 & & & & & &6? 6? 6? 6? 6?" 6? 6? 6?rG G G G GX& G G G:    "   @? @? @? @? @?J @? @? @?FJ. J. J. J. J.: J. J. J.\ JJr   