a  ze$@sddlZddlZddlZddlmZddlmZddlZddlZddl m Z Gddde Z ddZ d d Zd d ZGd ddejZeejjZdD] Zee=qdddZeed<ede feZGdddejZGdddejZedkredS)N)support)captured_stdout)strclassc@seZdZGdddZdS) MockTracebackc@seZdZddZddZdS)z MockTraceback.TracebackExceptioncOs|dd|_dS)Ncapture_localsF)getr)selfargskwargsr M/opt/bitninja-python-dojo/embedded/lib/python3.9/unittest/test/test_result.py__init__sz)MockTraceback.TracebackException.__init__cCsdg}|jr|d|S)Nz A tracebacklocals)rappendrresultr r r formats z'MockTraceback.TracebackException.formatN)__name__ __module__ __qualname__r rr r r r TracebackExceptionsrN)rrrrr r r r r srcCs ttj_dSN) tracebackunittestrr r r r restore_tracebacksrcCstdtddS)Nz do cleanup1z bad cleanup1)print TypeErrorr r r r bad_cleanup1srcCstdtddS)Nz do cleanup2z bad cleanup2)r ValueErrorr r r r bad_cleanup2 src@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zeejjd!kd"d#d$Zeejjd!kd"d%d&Zeejjd!kd"d'd(Zeejjd!kd"d)d*Zd+d,Zd-d.Zd/d0Zd1S)2Test_TestResultcCsrt}|||t|jd|t|jd||jd||j d| |j | |j dSNrF) r TestResult assertTrue wasSuccessful assertEquallenerrorsfailurestestsRun shouldStopZ assertIsNoneZ_stdout_bufferZ_stderr_bufferrr r r test_init/s zTest_TestResult.test_initcCs"t}|||jddSNT)rr"stopr%r*rr r r test_stop=szTest_TestResult.test_stopcCsGdddtj}|d}t}|||||t|jd|t|j d||j d||j d| |dS)Nc@seZdZddZdS)z+Test_TestResult.test_startTest..FoocSsdSrr rr r r test_1Hsz2Test_TestResult.test_startTest..Foo.test_1Nrrrr0r r r r FooGsr2r0rF rTestCaser" startTestr#r$r%r&r'r(r)r*stopTestrr2testrr r r test_startTestFs zTest_TestResult.test_startTestcCsGdddtj}|d}t}|||||t|jd|t|j d||j d||j d| ||||t|jd|t|j d||j d||j ddS)Nc@seZdZddZdS)z*Test_TestResult.test_stopTest..FoocSsdSrr r/r r r r0]sz1Test_TestResult.test_stopTest..Foo.test_1Nr1r r r r r2\sr2r0rr3Fr4r8r r r test_stopTest[s  zTest_TestResult.test_stopTestcCst}||dSr)rr" startTestRun stopTestRunrr r r test_startTestRun_stopTestRunvsz-Test_TestResult.test_startTestRun_stopTestRuncCsGdddtj}|d}t}|||||||||t |j d|t |j d||j d||j ddS)Nc@seZdZddZdS)z,Test_TestResult.test_addSuccess..FoocSsdSrr r/r r r r0sz3Test_TestResult.test_addSuccess..Foo.test_1Nr1r r r r r2sr2r0rr3F)rr5r"r6 addSuccessr7r#r$r%r&r'r(r)r*r8r r r test_addSuccesss   zTest_TestResult.test_addSuccesscCsGdddtj}|d}z|dWnt}Yn0t}|||||||| | | t |j d| t |jd| |jd| |jd|jd\}}|||||tdS)Nc@seZdZddZdS)z,Test_TestResult.test_addFailure..FoocSsdSrr r/r r r r0sz3Test_TestResult.test_addFailure..Foo.test_1Nr1r r r r r2sr2r0foorr3F)rr5failsysexc_infor"r6 addFailurer7 assertFalser$r%r&r'r(r)r*assertIsassertIsInstancestrrr2r9exc_info_tupler test_case formatted_excr r r test_addFailures$    zTest_TestResult.test_addFailurecCsGdddtj}|d}z tWnt}Yn0t}|||||||| | | t |j d| t |jd| |jd| |jd|j d\}}|||||tdS)Nc@seZdZddZdS)z*Test_TestResult.test_addError..FoocSsdSrr r/r r r r0sz1Test_TestResult.test_addError..Foo.test_1Nr1r r r r r2sr2r0r3rF)rr5rrCrDr"r6addErrorr7rFr$r%r&r'r(r)r*rGrHrIrJr r r test_addErrors$     zTest_TestResult.test_addErrorcCsGdddtj}|d}t}d|_ttj_|t| | || | t |jd|jd\}}| d|dS)Nc@seZdZddZdS)z1Test_TestResult.test_addError_locals..FoocSs dddS)Nr3rr r/r r r r0sz8Test_TestResult.test_addError_locals..Foo.test_1Nr1r r r r r2sr2r0Tr3rzA tracebacklocals)rr5r" tb_localsrrr addCleanuprr<runr=r%r&r')rr2r9rrLrMr r r test_addError_localss  z$Test_TestResult.test_addError_localscsGfdddtj}d|dt||tjd|tj d|j d|j djd\}}| || d|j d\}}| || d|dS) NcseZdZfddZdS)z,Test_TestResult.test_addSubTest..Fooc sv|jddV|jz ddWnty:t}Yn0||dWdn1sh0YdS)Nr3rArsome recognizable failure)subTest_subtestZeroDivisionErrorrCrDZ addSubTestrB)rrKrZsubtestr9r r r0s  z3Test_TestResult.test_addSubTest..Foo.test_1Nr1r rZr r r2sr2r0r3FrrYrV)rr5r"rSrFr$r%r&r'r(r)r*rGassertIn)rr2rLrMr rZr test_addSubTests     zTest_TestResult.test_addSubTestcCs,tddd}|||dtddS)NTr3z$testGetDescriptionWithoutDocstring (z.Test_TestResult)rTextTestResultr%getDescriptionrrr r r "testGetDescriptionWithoutDocstring5sz2Test_TestResult.testGetDescriptionWithoutDocstringcCs|jddd:tddd}|||jdtdWdn1sN0Y|d:tddd}|||jdtdWdn1s0YdS) Nr3rAbarTz+testGetSubTestDescriptionWithoutDocstring (z .Test_TestResult) (foo=1, bar=2)z some messagez .Test_TestResult) [some message]rWrr^r%r_rXrrr r r )testGetSubTestDescriptionWithoutDocstring<s  "  z9Test_TestResult.testGetSubTestDescriptionWithoutDocstringcCsV|:tddd}|||jdtdWdn1sH0YdS)NTr3z4testGetSubTestDescriptionWithoutDocstringAndParams (z.Test_TestResult) ()rdrr r r 2testGetSubTestDescriptionWithoutDocstringAndParamsJs  zBTest_TestResult.testGetSubTestDescriptionWithoutDocstringAndParamsc Csld}tddd}ddgfD]J}||,|||j|t|fWdq1s\0YqdS)NzAtestGetSubTestDescriptionForFalsyValues (%s.Test_TestResult) [%s]Tr3rrr^rWr%r_rXr)rZexpectedrargr r r 'testGetSubTestDescriptionForFalsyValuesRs   z7Test_TestResult.testGetSubTestDescriptionForFalsyValuesc Cs|jddh|jddd:tddd}|||jdtdWdn1s\0YWdn1sz0YdS) Nr3rUraZbazrcTz1testGetNestedSubTestDescriptionWithoutDocstring (z'.Test_TestResult) (baz=2, bar=3, foo=1)rdrr r r /testGetNestedSubTestDescriptionWithoutDocstring\s z?Test_TestResult.testGetNestedSubTestDescriptionWithoutDocstringc Cs|jdddh|jddd:tddd}|||jdtd Wdn1s^0YWdn1s|0YdS) Nr3rarbrjrkTz;testGetDuplicatedNestedSubTestDescriptionWithoutDocstring (z'.Test_TestResult) (baz=3, bar=4, foo=1)rdrr r r 9testGetDuplicatedNestedSubTestDescriptionWithoutDocstringes zITest_TestResult.testGetDuplicatedNestedSubTestDescriptionWithoutDocstringraz)Docstrings are omitted with -O2 and abovecCs,tddd}|||dtddS)5Tests getDescription() for a method with a docstring.NTr3z(testGetDescriptionWithOneLineDocstring (zG.Test_TestResult) Tests getDescription() for a method with a docstring.r]rr r r &testGetDescriptionWithOneLineDocstringnsz6Test_TestResult.testGetDescriptionWithOneLineDocstringcCs\tddd}|jddd,|||jdtdWdn1sN0YdS)roNTr3rarbz/testGetSubTestDescriptionWithOneLineDocstring (zV.Test_TestResult) (foo=1, bar=2) Tests getDescription() for a method with a docstring.rgrr r r -testGetSubTestDescriptionWithOneLineDocstringys z=Test_TestResult.testGetSubTestDescriptionWithOneLineDocstringcCs,tddd}|||dtddS)oTests getDescription() for a method with a longer docstring. The second line of the docstring. NTr3z*testGetDescriptionWithMultiLineDocstring (zN.Test_TestResult) Tests getDescription() for a method with a longer docstring.r]rr r r (testGetDescriptionWithMultiLineDocstringsz8Test_TestResult.testGetDescriptionWithMultiLineDocstringcCs\tddd}|jddd,|||jdtdWdn1sN0YdS)rrNTr3rarbz1testGetSubTestDescriptionWithMultiLineDocstring (z].Test_TestResult) (foo=1, bar=2) Tests getDescription() for a method with a longer docstring.rgrr r r /testGetSubTestDescriptionWithMultiLineDocstrings z?Test_TestResult.testGetSubTestDescriptionWithMultiLineDocstringcCsHGdddt}t}|||d|jjd<|||dS)Nc@seZdZGdddeZdS)z5Test_TestResult.testStackFrameTrimming..Framec@seZdZiZdS)z>Test_TestResult.testStackFrameTrimming..Frame.tb_frameN)rrr f_globalsr r r r tb_framesrvN)rrrobjectrvr r r r FramesrxTZ __unittest)rwrr"rFZ_is_relevant_tb_levelrvrur#)rrxrr r r testStackFrameTrimmings  z&Test_TestResult.testStackFrameTrimmingcCst}dd|_d|_|dd||jt}dd|_d|_|dd||jt}dd|_d|_|d||jdS)NcWsdSNr _r r r z.Test_TestResult.testFailFast..TcWsdSrzr r|r r r r~rcWsdSrzr r|r r r r~r) rr"Z_exc_info_to_stringfailfastrOr#r*rEaddUnexpectedSuccessrr r r testFailFasts        zTest_TestResult.testFailFastcs,tjtdd}fdd}||}dS)NT)streamrcs|jdSr)r#r)rr/r r r9sz5Test_TestResult.testFailFastSetByRunner..test)rTextTestRunnerioStringIOrS)rrunnerr9rr r/r testFailFastSetByRunners z'Test_TestResult.testFailFastSetByRunnerN)rrrr+r.r:r;r>r@rNrPrTr\r`rerfrirlrnrZskipIfrCflagsoptimizerprqrsrtryrrr r r r r %sF  '0"        r )ZaddSkipZaddExpectedFailurerr cCs(g|_g|_d|_d|_d|_d|_dSr!)r(r'r)r*bufferrQ)rrZ descriptions verbosityr r r r s r OldResultc@s4eZdZddZddZddZddZd d Zd S) Test_OldTestResultcCsTtdtf2t}|||t|j|Wdn1sF0YdS)NzTestResult has no add.+ method,)rZcheck_warningsRuntimeWarningrrSr%r&r()rr9r(rr r r assertOldResultWarnings  z)Test_OldTestResult.assertOldResultWarningcCs>Gdddtj}dD]"\}}||}||t| qdS)Nc@s0eZdZddZejddZejddZdS)z2Test_OldTestResult.testOldTestResult..TestcSs|ddS)NZfoobarZskipTestr/r r r testSkipsz;Test_OldTestResult.testOldTestResult..Test.testSkipcSstdSr)rr/r r r testExpectedFailszCTest_OldTestResult.testOldTestResult..Test.testExpectedFailcSsdSrr r/r r r testUnexpectedSuccessszHTest_OldTestResult.testOldTestResult..Test.testUnexpectedSuccessN)rrrrrZexpectedFailurerrr r r r Tests  r))rT)rT)rF)rr5rint)rrZ test_nameZ should_passr9r r r testOldTestResults z$Test_OldTestResult.testOldTestResultcCs&Gdddtj}||dddS)Nc@seZdZddZddZdS)z7Test_OldTestResult.testOldTestTesultSetup..TestcSs|ddS)N no reasonrr/r r r setUpsz=Test_OldTestResult.testOldTestTesultSetup..Test.setUpcSsdSrr r/r r r testFoosz?Test_OldTestResult.testOldTestTesultSetup..Test.testFooN)rrrrrr r r r rsrrr)rr5rrrr r r testOldTestTesultSetupsz)Test_OldTestResult.testOldTestTesultSetupcCs0tdGdddtj}||dddS)Nrc@seZdZddZdS)z7Test_OldTestResult.testOldTestResultClass..TestcSsdSrr r/r r r rsz?Test_OldTestResult.testOldTestResultClass..Test.testFooNrrrrr r r r rsrrr)rskipr5rrr r r testOldTestResultClasssz)Test_OldTestResult.testOldTestResultClasscCs6Gdddtj}tjttd}||ddS)Nc@seZdZddZdS)z8Test_OldTestResult.testOldResultWithRunner..TestcSsdSrr r/r r r rsz@Test_OldTestResult.testOldResultWithRunner..Test.testFooNrr r r r rsr)Z resultclassrr)rr5rrrrrS)rrrr r r testOldResultWithRunners z*Test_OldTestResult.testOldResultWithRunnerN)rrrrrrrrr r r r rs rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+S),TestOutputBufferingcCstj|_tj|_dSr)rCstdout _real_outstderr _real_errr/r r r r szTestOutputBuffering.setUpcCs|jt_|jt_dSr)rrCrrrr/r r r tearDownszTestOutputBuffering.tearDowncCsf|j}|j}t}||j||tj||tj | |||tj||tj dSr) rrrr"rFrrGrCrrr6)rreal_outreal_errrr r r testBufferOutputOffs  z'TestOutputBuffering.testBufferOutputOffcCs|j}|j}t}||jd|_||tj||tj | || |tj| |tj | tjt j| tj t j| tjtj tj}tj }t |_t |_tdtdtj d||d||d||jd||jd|||||tj|j|tj |j||jd||jd||d||ddS)NTrArcfilezfoo zbar r{)rrrr"rFrrGrCrrr6Z assertIsNotrHrr_original_stdout_original_stderrrr%getvaluer?r7)rrrrZ out_streamZ err_streamr r r #testBufferOutputStartTestAddSuccess#s>      z7TestOutputBuffering.testBufferOutputStartTestAddSuccesscCst}d|_|||Sr,)rr"rr6rr r r getStartedResultSs z$TestOutputBuffering.getStartedResultcCsttj_|tdD]\}}}|}tj}tj }t |_ t |_ tdtjd|rhtdtj dt||}||d||t||}|t|d|d\} } td} d } |rtd } d | | f} || |||j | ||j | || | qdS) N)r'rOTr(rEFrrrArrc)NNNr3rz9 Stdout: foo r{z9 Stderr: bar zA traceback%s%s)rrrrrRrrrCrrrrrrrgetattrr7r%r&textwrapdedentrGrZassertMultiLineEqual)rZ message_attrZadd_attrZ include_errorrZ buffered_outZ buffered_errZ addFunctionZ result_listr9messageZexpectedOutMessageZexpectedErrMessageZexpectedFullMessager r r !testBufferOutputAddErrorOrFailureYs4            z5TestOutputBuffering.testBufferOutputAddErrorOrFailurec Cst}t}Wdn1s$0Yd|_Gdddtj}t|dg}||d}||||t|j ddt |d}|j d \}}|t ||| d || ||dS) NTc@seZdZddZddZdS)z0TestOutputBuffering.testBufferSetUp..FoocSstddddSNset upr3rrr/r r r rsz6TestOutputBuffering.testBufferSetUp..Foo.setUpcSsdSrr r/r r r test_foosz9TestOutputBuffering.testBufferSetUp..Foo.test_fooNrrrrrr r r r r2sr2rz Stdout: set up r3 test_foo ()r#ZeroDivisionError: division by zero rrr"rr5 TestSuiter%rr&r'rrIr[ rrrr2suite expected_out descriptionrLrMr r r testBufferSetUps& z#TestOutputBuffering.testBufferSetUpc Cst}t}Wdn1s$0Yd|_Gdddtj}t|dg}||d}||||t|j ddt |d}|j d \}}|t ||| d || ||dS) NTc@seZdZddZddZdS)z3TestOutputBuffering.testBufferTearDown..FoocSstddddSNz tear downr3rrr/r r r rsz.Foo.tearDowncSsdSrr r/r r r rsz.Foo.test_fooN)rrrrrr r r r r2sr2rz Stdout: tear down r3rrrrrrr r r testBufferTearDowns& z&TestOutputBuffering.testBufferTearDownc Cst}t}Wdn1s$0Yd|_Gdddtj}t|dg}||d}||||t|j ddt |d}|j d \}}|t ||| d || d || |||j d \}}|t ||| d || d|| ||dS)NTc@seZdZddZddZdS)z5TestOutputBuffering.testBufferDoCleanups..FoocSs td|t|tdSNrrrRrrr/r r r rs z;TestOutputBuffering.testBufferDoCleanups..Foo.setUpcSsdSrr r/r r r rsz>TestOutputBuffering.testBufferDoCleanups..Foo.test_fooNrr r r r r2sr2r( Stdout: set up do cleanup2 do cleanup1 rarrrValueError: bad cleanup2rr3TypeError: bad cleanup1rrrr"rr5rr%rr&r'rrIr[ assertNotInrr r r testBufferDoCleanupss(&     z(TestOutputBuffering.testBufferDoCleanupsc Cst}t}Wdn1s$0Yd|_Gdddtj}t|dg}||d}||||t|j ddt |d}|j d \}}|t ||| d || d || d || |||j d \}}|t ||| d|| d|| d || |||j d\}}|t ||| d|| d|| d || ||dS)NTc@seZdZddZddZdS)z;TestOutputBuffering.testBufferSetUp_DoCleanups..FoocSs(td|t|tdddSrrr/r r r rs  zATestOutputBuffering.testBufferSetUp_DoCleanups..Foo.setUpcSsdSrr r/r r r rszDTestOutputBuffering.testBufferSetUp_DoCleanups..Foo.test_fooNrr r r r r2sr2rrrjrrrrrrr3rrYrarrrr r r testBufferSetUp_DoCleanupss8&           z.TestOutputBuffering.testBufferSetUp_DoCleanupsc Cst}t}Wdn1s$0Yd|_Gdddtj}t|dg}||d}||||t|j ddt |d}|j d \}}|t ||| d || d || d || |||j d \}}|t ||| d|| d|| d || |||j d\}}|t ||| d|| d|| d || ||dS)NTc@s$eZdZddZddZddZdS)z>TestOutputBuffering.testBufferTearDown_DoCleanups..FoocSs td|t|tdSrrr/r r r rs zDTestOutputBuffering.testBufferTearDown_DoCleanups..Foo.setUpcSstddddSrrr/r r r rszGTestOutputBuffering.testBufferTearDown_DoCleanups..Foo.tearDowncSsdSrr r/r r r rszGTestOutputBuffering.testBufferTearDown_DoCleanups..Foo.test_fooN)rrrrrrr r r r r2sr2rz2 Stdout: set up tear down do cleanup2 do cleanup1 rjrrrrrrr3rrYrarrrr r r testBufferTearDown_DoCleanupss8&            z1TestOutputBuffering.testBufferTearDown_DoCleanupsc Cst}t}Wdn1s$0Yd|_Gdddtj}t|dg}||d}||||t|j ddt |d}|j d \}}||j || d || ||dS) NTc@s eZdZeddZddZdS)z5TestOutputBuffering.testBufferSetupClass..FoocSstddddSN set up classr3rrclsr r r setUpClass%sz@TestOutputBuffering.testBufferSetupClass..Foo.setUpClasscSsdSrr r/r r r r)sz>TestOutputBuffering.testBufferSetupClass..Foo.test_fooNrrr classmethodrrr r r r r2$s r2r Stdout: set up class r3 setUpClass (rrr rrr"rr5rr%rr&r'rrr[rr r r testBufferSetupClasss& z(TestOutputBuffering.testBufferSetupClassc Cst}t}Wdn1s$0Yd|_Gdddtj}t|dg}||d}||||t|j ddt |d}|j d \}}||j || d || ||dS) NTc@s eZdZeddZddZdS)z8TestOutputBuffering.testBufferTearDownClass..FoocSstddddSNtear down classr3rrrr r r tearDownClass<szFTestOutputBuffering.testBufferTearDownClass..Foo.tearDownClasscSsdSrr r/r r r r@szATestOutputBuffering.testBufferTearDownClass..Foo.test_fooN)rrrrrrr r r r r2;s r2r Stdout: tear down class r3tearDownClass (rrrrrr r r testBufferTearDownClass6s& z+TestOutputBuffering.testBufferTearDownClassc Cst}t}Wdn1s$0Yd|_Gdddtj}t|dg}||d}||||t|j ddt |d}|j d \}}||j || d || d || |||j d \}}||j || d || d|| ||dS)NTc@s,eZdZeddZeddZddZdS)z:TestOutputBuffering.testBufferDoClassCleanups..FoocSs td|t|tdSNrrZaddClassCleanuprrrr r r rSs zETestOutputBuffering.testBufferDoClassCleanups..Foo.setUpClasscSs tddS)Nrrrr r r rXszHTestOutputBuffering.testBufferDoClassCleanups..Foo.tearDownClasscSsdSrr r/r r r r[szCTestOutputBuffering.testBufferDoClassCleanups..Foo.test_fooNrrrrrrrr r r r r2Rs   r2r1 Stdout: tear down class do cleanup2 do cleanup1 rarrrrrr3rrrrr"rr5rr%rr&r'rrr[rrr r r testBufferDoClassCleanupsMs(&      z-TestOutputBuffering.testBufferDoClassCleanupsc Cs|t}t}Wdn1s$0Yd|_Gdddtj}t|dg}||d}||||t|j ddt |d}|j d \}}||j || d || d || d || d ||j d\}}||j || d|| d|| d || |||j d\}}||j || d|| d|| d || ||dS)NTc@s eZdZeddZddZdS)zETestOutputBuffering.testBufferSetupClass_DoClassCleanups..FoocSs(td|t|tdddSrrrr r r rts  zPTestOutputBuffering.testBufferSetupClass_DoClassCleanups..Foo.setUpClasscSsdSrr r/r r r rzszNTestOutputBuffering.testBufferSetupClass_DoClassCleanups..Foo.test_fooNrr r r r r2ss r2rz. Stdout: set up class do cleanup2 do cleanup1 rjrrrrrrrr3rrYrarrrr r r $testBufferSetupClass_DoClassCleanupsns8&            z8TestOutputBuffering.testBufferSetupClass_DoClassCleanupsc Cs|t}t}Wdn1s$0Yd|_Gdddtj}t|dg}||d}||||t|j ddt |d}|j d \}}||j || d || d || d || d ||j d\}}||j || d|| d|| d || |||j d\}}||j || d|| d|| d || ||dS)NTc@s,eZdZeddZeddZddZdS)zHTestOutputBuffering.testBufferTearDownClass_DoClassCleanups..FoocSs td|t|tdSrrrr r r rs zSTestOutputBuffering.testBufferTearDownClass_DoClassCleanups..Foo.setUpClasscSstddddSrrrr r r rszVTestOutputBuffering.testBufferTearDownClass_DoClassCleanups..Foo.tearDownClasscSsdSrr r/r r r rszQTestOutputBuffering.testBufferTearDownClass_DoClassCleanups..Foo.test_fooNrr r r r r2s   r2rrrjrrrrrrrr3rrYrarrrr r r 'testBufferTearDownClass_DoClassCleanupss8&            z;TestOutputBuffering.testBufferTearDownClass_DoClassCleanupsc Cst}t}Wdn1s$0Yd|_Gdddtj}Gdddt}d|_|tjd<| tjj dt |dg}||d}| | || t|jdd }|jd \}} | |j||d | ||| dS) NTc@seZdZddZdS)z6TestOutputBuffering.testBufferSetUpModule..FoocSsdSrr r/r r r rsz?TestOutputBuffering.testBufferSetUpModule..Foo.test_fooNrrrrr r r r r2sr2c@seZdZeddZdS)z9TestOutputBuffering.testBufferSetUpModule..ModulecSstddddSN set up moduler3rrr r r r setUpModuleszETestOutputBuffering.testBufferSetUpModule..Module.setUpModuleNrrr staticmethodrr r r r Modulesrr Stdout: set up module r3setUpModule (Module)rrrrr"rr5rwrrCmodulesrRpoprr%rr&r'rr[ rrrr2rrrrrLrMr r r testBufferSetUpModules$&  z)TestOutputBuffering.testBufferSetUpModulec Cst}t}Wdn1s$0Yd|_Gdddtj}Gdddt}d|_|tjd<| tjj dt |dg}||d}| | || t|jdd }|jd \}} | |j||d | ||| dS) NTc@seZdZddZdS)z9TestOutputBuffering.testBufferTearDownModule..FoocSsdSrr r/r r r rszBTestOutputBuffering.testBufferTearDownModule..Foo.test_fooNrr r r r r2sr2c@seZdZeddZdS)z.ModulecSstddddSNztear down moduler3rrr r r r tearDownModuleszKTestOutputBuffering.testBufferTearDownModule..Module.tearDownModuleN)rrrrrr r r r rsrr Stdout: tear down module r3tearDownModule (Module)rrrrr r r testBufferTearDownModules$&  z,TestOutputBuffering.testBufferTearDownModulec Cst}t}Wdn1s$0Yd|_Gdddtj}Gdddt}d|_|tjd<| tjj dt |dg}||d}| | || t|jdd }|jd \}} | |j||d | |d | ||| dS) NTc@seZdZddZdS)z;TestOutputBuffering.testBufferDoModuleCleanups..FoocSsdSrr r/r r r rszDTestOutputBuffering.testBufferDoModuleCleanups..Foo.test_fooNrr r r r r2sr2c@seZdZeddZdS)z>TestOutputBuffering.testBufferDoModuleCleanups..ModulecSs tdttttdSNrrrZaddModuleCleanuprrr r r r rs zJTestOutputBuffering.testBufferDoModuleCleanups..Module.setUpModuleNrr r r r rsrrz! Stdout: do cleanup2 do cleanup1 r3rrrrrrr"rr5rwrrCrrRrrr%rr&r'rr[rrr r r testBufferDoModuleCleanupss&&   z.TestOutputBuffering.testBufferDoModuleCleanupsc Cs`t}t}Wdn1s$0Yd|_Gdddtj}Gdddt}d|_|tjd<| tjj dt |dg}||d}| | || t|jdd }|jd \}} | |j||d | |d | |d | |d| |jd\}} ||| | |j||d| |d| |d | ||| dS)NTc@seZdZddZdS)zGTestOutputBuffering.testBufferSetUpModule_DoModuleCleanups..FoocSsdSrr r/r r r rszPTestOutputBuffering.testBufferSetUpModule_DoModuleCleanups..Foo.test_fooNrr r r r r2sr2c@seZdZeddZdS)zJTestOutputBuffering.testBufferSetUpModule_DoModuleCleanups..ModulecSs(tdttttdddSrrr r r r rs  zVTestOutputBuffering.testBufferSetUpModule_DoModuleCleanups..Module.setUpModuleNrr r r r rsrrz/ Stdout: set up module do cleanup2 do cleanup1 rarrrrrrr3rrYrrr r r &testBufferSetUpModule_DoModuleCleanupss6&         z:TestOutputBuffering.testBufferSetUpModule_DoModuleCleanupsc CsTt}t}Wdn1s$0Yd|_Gdddtj}Gdddt}d|_|tjd<| tjj dt |dg}||d}| | || t|jdd }|jd \}} | |j||d | |d | |d | |d| |jd\}} | |j||d| |d| |d | ||| dS)NTc@seZdZddZdS)zJTestOutputBuffering.testBufferTearDownModule_DoModuleCleanups..FoocSsdSrr r/r r r rBszSTestOutputBuffering.testBufferTearDownModule_DoModuleCleanups..Foo.test_fooNrr r r r r2Asr2c@s$eZdZeddZeddZdS)zMTestOutputBuffering.testBufferTearDownModule_DoModuleCleanups..ModulecSs tdttttdSrrr r r r rEs zYTestOutputBuffering.testBufferTearDownModule_DoModuleCleanups..Module.setUpModulecSstddddSrrr r r r rJsz\TestOutputBuffering.testBufferTearDownModule_DoModuleCleanups..Module.tearDownModuleN)rrrrrrr r r r rDs rrz2 Stdout: tear down module do cleanup2 do cleanup1 rarrrrrrr3rrYrrr r r )testBufferTearDownModule_DoModuleCleanups<s4&         z=TestOutputBuffering.testBufferTearDownModule_DoModuleCleanupsN)rrrrrrrrrrrrrrrrrrrrrrrrr r r r r s*0/&(!'*'r__main__)NNN)rrCrr9rZ test.supportrrrZ unittest.utilrrwrrrrr5r dictr"__dict__Z classDictmr typerrrrmainr r r r s:    $  4`