o b#@sdZddlmZmZmZddlmZddlmZddl m Z Gdddej Z Gdd d ej ZGd d d ej ZGd d d ej ZGdddej ZGdddej ZGdddej ZGdddej ZGdddej ZdS)zD Tests for Deferred handling by L{twisted.trial.unittest.TestCase}. )deferreactorthreads)runWithWarningsSuppressed)unittest)suppressc@s$eZdZddZddZddZdS)DeferredSetUpOKcCtd}||j|SNvaluersucceed addCallback_cb_setUpCalledselfdrsz+DeferredTests.test_thread..)r deferToThreadrrrr test_threadr.zDeferredTests.test_threadcCr )NtodorRrrrrtest_expectedFailurerz"DeferredTests.test_expectedFailurezExpected failureN)r!r"r#rEr?r@rArFrrIrKrSUPPRESSrdeferredGeneratorinlineCallbacksrMrOrPrSrUrXrZrYrrrrr<Ys4  r<c@seZdZdZddZde_ddZddZd e_d d Zd e_d dZ d e _de _ ddZ d e _de _ ddZ d e _ddZd e_dS) TimeoutTestsNcCt}td|jd|SNrzhoorj!rr6r callLatercallbackrrrrrIszTimeoutTests.test_passcCr_r`rarrrrtest_passDefaultszTimeoutTests.test_passDefaultcCr4rr5rrrr test_timeoutr7zTimeoutTests.test_timeoutg?cCr4rr5rrrrtest_timeoutZeror7zTimeoutTests.test_timeoutZerorcCr4rr5rrrrrZr7z!TimeoutTests.test_expectedFailurezi will get it right, eventuallycCr4rr5rrrrrUr7zTimeoutTests.test_skipcs"fdd}t}|||S)Ncs |j_|Sr)rDtimedOut)errrrrrhsz4TimeoutTests.test_errorPropagation..timedOut)rr6 addErrback)rrhrrrrtest_errorPropagations  z"TimeoutTests.test_errorPropagationcCs(t}dd}|||d|S)NcSr4rr5)rrrr neverFirer7z;TimeoutTests.test_calledButNeverCallback..neverFire)rr6rrc)rrrmrrrtest_calledButNeverCallbacks   z(TimeoutTests.test_calledButNeverCallback)r!r"r#rhrItimeoutrerfrgrZrYrUrTrkrorrrrr^s&  r^c@r$)TestClassTimeoutAttributeg?cCst|_dSr)rr6rrrrrrr.zTestClassTimeoutAttribute.setUpcCs d|_|jSr) methodCalledrrrrr testMethodsz$TestClassTimeoutAttribute.testMethodN)r!r"r#rprrsrrrrrqr*rqN)__doc__twisted.internetrrrtwisted.python.utilr twisted.trialrtwisted.trial.utilrr[TestCaserr%r,r1r3r8r<r^rqrrrrs       I>