o bM@sdZddlmZmZmZmZGdddZGdddeeZGdddeeZGd d d Z Gd d d e eZ Gd dde eZ GdddZ Gddde eZ Gddde eZGdddZGdddeeZGdddeeZGdddZGdddeeZGdd d eeZGd!d"d"ZGd#d$d$eeZGd%d&d&eeZGd'd(d(ZGd)d*d*eeZGd+d,d,eeZGd-d.d.ZGd/d0d0eeZGd1d2d2eeZGd3d4d4ZGd5d6d6eeZGd7d8d8eeZ Gd9d:d:Z!Gd;d<dd>e!eZ#d?S)@a$ Definitions of test cases with various interesting behaviors, to be used by L{twisted.trial.test.test_tests} and other test modules to exercise different features of trial's test runner. See the L{twisted.trial.test.test_tests} module docstring for details about how this code is arranged. )FailTestSkipTestSynchronousTestCaseTestCasec@s0eZdZddZddZde_ddZde_d S) SkippingMixincCtdNskip1rselfr =/usr/lib/python3/dist-packages/twisted/trial/test/skipping.py test_skip1zSkippingMixin.test_skip1cCr)NzI should not get raised RuntimeErrorr r r r test_skip2rzSkippingMixin.test_skip2skip2cC|ddS)NzI should not failfailr r r r test_skip3zSkippingMixin.test_skip3skip3N)__name__ __module__ __qualname__rrskiprr r r rrs  rc@ eZdZdS)SynchronousSkippingNrrrr r r rr !r c@r)AsynchronousSkippingNr!r r r rr#%r"r#c@s$eZdZddZddZddZdS)SkippingSetUpMixincCr)N skipSetUpr r r r rsetUp*rzSkippingSetUpMixin.setUpcCdSNr r r r rtest_1-zSkippingSetUpMixin.test_1cCr'r(r r r r rtest_20r*zSkippingSetUpMixin.test_2N)rrrr&r)r+r r r rr$)s r$c@r)SynchronousSkippingSetUpNr!r r r rr,4r"r,c@r)AsynchronousSkippingSetUpNr!r r r rr-8r"r-c@seZdZddZdS)DeprecatedReasonlessSkipMixincCstr(r r r r rr)=sz$DeprecatedReasonlessSkipMixin.test_1N)rrrr)r r r rr.<s r.c@r)#SynchronousDeprecatedReasonlessSkipNr!r r r rr/Asr/c@r)$AsynchronousDeprecatedReasonlessSkipNr!r r r rr0Gr"r0c@s>eZdZdZddZddZddZde_d d Zd d Zd S)SkippedClassMixinclasscCs d|j_dS)NT) __class__ _setUpRanr r r rr&N zSkippedClassMixin.setUpcCrrr r r r rrQrzSkippedClassMixin.test_skip1cCr)NzOught to skip merr r r rrTrzSkippedClassMixin.test_skip2rcCr'r(r r r r rrYr*zSkippedClassMixin.test_skip3cCr)Nz Skip me toorr r r r test_skip4\rzSkippedClassMixin.test_skip4N) rrrrr&rrrr6r r r rr1Ks r1c@r)SynchronousSkippedClassNr!r r r rr7`r"r7c@r)AsynchronousSkippedClassNr!r r r rr8dr"r8c@s6eZdZddZde_ddZde_ddZd e_d S) TodoMixincCrNzdeliberate failurerr r r r test_todo1irzTodoMixin.test_todo1todo1cCrNzdeliberate errorrr r r r test_todo2nrzTodoMixin.test_todo2todo2cCsdS)zunexpected successNr r r r r test_todo3sszTodoMixin.test_todo3todo3N)rrrr;todor>r@r r r rr9hs r9c@r)SynchronousTodoNr!r r r rrCyr"rCc@r)AsynchronousTodoNr!r r r rrD}r"rDc@"eZdZddZddZde_dS)SetUpTodoMixincCrr=rr r r rr&rzSetUpTodoMixin.setUpcCr'r(r r r r rr;r*zSetUpTodoMixin.test_todo1z setUp todo1N)rrrr&r;rBr r r rrF rFc@r)SynchronousSetUpTodoNr!r r r rrHr"rHc@r)AsynchronousSetUpTodoNr!r r r rrIr"rIc@rE)TearDownTodoMixincCrr=rr r r rtearDownrzTearDownTodoMixin.tearDowncCr'r(r r r r rr;r*zTearDownTodoMixin.test_todo1ztearDown todo1N)rrrrKr;rBr r r rrJrGrJc@r)SynchronousTearDownTodoNr!r r r rrLr"rLc@r)AsynchronousTearDownTodoNr!r r r rrMr"rMc@s<eZdZdZddZde_ddZddZde_d d Zd S) TodoClassMixinr2cCr'r(r r r r rr;r*zTodoClassMixin.test_todo1methodcCr'r(r r r r rr>r*zTodoClassMixin.test_todo2cCrNzDeliberate Failurerr r r rr@rzTodoClassMixin.test_todo3cCrrPrr r r r test_todo4rzTodoClassMixin.test_todo4N)rrrrBr;r>r@rQr r r rrNs rNc@r)SynchronousTodoClassNr!r r r rrRr"rRc@r)AsynchronousTodoClassNr!r r r rrSr"rSc@seZdZddZedfe_ddZeefdfe_ddZed fe_d d Z ee fd fe _d dZ e dfe _ddZ edfe _ddZedfe_dS)StrictTodoMixincCrNzexpected failurerr r r rr;rzStrictTodoMixin.test_todo1r<cCrrUrr r r rr>rzStrictTodoMixin.test_todo2r?cCrNzwe had no idea!rr r r rr@rzStrictTodoMixin.test_todo3rAcCrrVrr r r rrQrzStrictTodoMixin.test_todo4todo4cCrr:rr r r r test_todo5rzStrictTodoMixin.test_todo5todo5cCrr:rr r r r test_todo6rzStrictTodoMixin.test_todo6todo6cCr'r(r r r r r test_todo7r*zStrictTodoMixin.test_todo7todo7N)rrrr;rrBr>OSErrorr@rQ SyntaxErrorrXrrZr\r r r rrTs    rTc@r)SynchronousStrictTodoNr!r r r rr`r"r`c@r)AsynchronousStrictTodoNr!r r r rrar"rac@s<eZdZddZddZddZddZd d Zd d Zd S)AddCleanupMixincCs dg|_dS)Nr&)logr r r rr&r5zAddCleanupMixin.setUpcCdg|_td)Nr&zDeliberate failure)rcrr r r r brokenSetUpzAddCleanupMixin.brokenSetUpcCrd)Nr&z Don't do this)rcrr r r r skippingSetUprfzAddCleanupMixin.skippingSetUpcCs|j|dSr(rcappend)r thingr r rrizAddCleanupMixin.appendcC|jddS)NrKrhr r r rrKrkzAddCleanupMixin.tearDowncCrl)NrunTestrhr r r rrmrkzAddCleanupMixin.runTestN) rrrr&rergrirKrmr r r rrbs rbc@r)SynchronousAddCleanupNr!r r r rrnr"rnc@r)AsynchronousAddCleanupNr!r r r rror"roN)$__doc__twisted.trial.unittestrrrrrr r#r$r,r-r.r/r0r1r7r8r9rCrDrFrHrIrJrLrMrNrRrSrTr`rarbrnror r r rsD     %