a :dgd@sddlZddlZddlZddlZddlZddlZddlmZddlm Z m Z ddZ ddZ dd Z dd d ZGd ddejZGdddejZGdddejZGdddejZedkredS)N)_Outcome) LoggingResult#ResultWithNoStartTestRunStopTestRuncGstSN)unittest TestResult)_r 5/usr/local/lib/python3.9/unittest/test/test_runner.py resultFactorysr cCstjttdS)N) resultclassstream)rTextTestRunnerr ioStringIOr r r r getRunnersrcGsft}|D]}tj|}||q t}t}|||t|t||Sr)r TestSuitedefaultTestLoaderloadTestsFromTestCaseZaddTestsrZaddTestrun)ZcasessuitecaseZtestsrunnerZ realSuiter r r runTestss   rFcCs&|s|dn|dtddS)N cleanup_good cleanup_exc CleanUpExcappend Exception)orderingblowUpr r r cleanup(s  r"c@s,eZdZddZddZddZddZd S) TestCleanUpc sGdddtj}|d}||jggfdd}fdd}|j|dd d d d d ||||j|dtd d d f|difg|||d difddtd d d fgdS)Nc@seZdZddZdS)z-TestCleanUp.testCleanUp..TestableTestcSsdSrr selfr r r testNothing3sz9TestCleanUp.testCleanUp..TestableTest.testNothingN__name__ __module__ __qualname__r&r r r r TestableTest2sr+r&csd||fdSNrargskwargscleanupsr r cleanup1;sz)TestCleanUp.testCleanUp..cleanup1csd||fdS)Nr.r/r2r r cleanup2>sz)TestCleanUp.testCleanUp..cleanup2r-r5hellogoodbyeZfourZfiver-r5r7r )rTestCase assertEqual _cleanups addCleanupdict assertTrue doCleanups)r%r+testr4r6r r2r testCleanUp1s   zTestCleanUp.testCleanUpc sGdddtj}|d}t}|_tdtdfdd}fdd }||||||||jt |j \\}\}}}\}\} } }| ||ftf| | | ftfdS) Nc@seZdZddZdS)z7TestCleanUp.testCleanUpWithErrors..TestableTestcSsdSrr r$r r r r&MszCTestCleanUp.testCleanUpWithErrors..TestableTest.testNothingNr'r r r r r+Lsr+r&fooZbarcsdSrr r )rr r r4Usz3TestCleanUp.testCleanUpWithErrors..cleanup1csdSrr r )exc2r r r6Xsz3TestCleanUp.testCleanUpWithErrors..cleanup2) rr<rZ_outcomerr? assertFalserBsuccessreversederrorsr=) r%r+rCoutcomer4r6rZType1Z instance1ZType2Z instance2r )rrFr testCleanUpWithErrorsKs        z!TestCleanUp.testCleanUpWithErrorscsdgGfdddtj}|dfdd}fdd}||fd d }t}||_|gd d g|d||d dgdS)NFcs2eZdZfddZfddZfddZdS)z2TestCleanUp.testCleanupInRun..TestableTestcsdrtddS)NsetUprErr$r!r r r rMks z8TestCleanUp.testCleanupInRun..TestableTest.setUpcsddSNrCr.r$r r r r&psz>TestCleanUp.testCleanupInRun..TestableTest.testNothingcsddSNtearDownr.r$rPr r rRssz;TestCleanUp.testCleanupInRun..TestableTest.tearDownNr(r)r*rMr&rRr rNr r r+js r+r&csddSNr4r.r rPr r r4xsz.TestCleanUp.testCleanupInRun..cleanup1csddSNr6r.r rPr r r6zsz.TestCleanUp.testCleanupInRun..cleanup2cs|ddS)NrH)r=r)Z some_test)r r%rCr r rHs z-TestCleanUp.testCleanupInRun..success)rMrCrRr6r4rHTrMr4)rr<r?rZ addSuccessrr=)r%r+r4r6rHresultr )r!r r%rCr testCleanupInRunfs&        zTestCleanUp.testCleanupInRuncs\gGfdddtj}|dfddfdd|gddS) Ncs2eZdZfddZfddZfddZdS)zCTestCleanUp.testTestCaseDebugExecutesCleanups..TestableTestcsd|dSNrMrr?r$r4r r r rMs zITestCleanUp.testTestCaseDebugExecutesCleanups..TestableTest.setUpcsddSrOr.r$rPr r r&szOTestCleanUp.testTestCaseDebugExecutesCleanups..TestableTest.testNothingcsddSrQr.r$rPr r rRszLTestCleanUp.testTestCaseDebugExecutesCleanups..TestableTest.tearDownNrSr rZr r r+s r+r&csddSrTrYr )r6r rCr r r4s z?TestCleanUp.testTestCaseDebugExecutesCleanups..cleanup1csddSrUr.r rPr r r6sz?TestCleanUp.testTestCaseDebugExecutesCleanups..cleanup2)rMrCrRr4r6)rr<debugr=r%r+r )r4r6r rCr !testTestCaseDebugExecutesCleanupss  z-TestCleanUp.testTestCaseDebugExecutesCleanupsN)r(r)r*rDrLrWr]r r r r r#0s+r#c@sDeZdZddZddZddZddZd d Zd d Zd dZ dS)TestClassCleanupc sGdddtj}|d}||jggfdd}fdd}|j|dd d d d d ||||j|dtd d d f|difg||ddifd dtd d d fgdS)Nc@seZdZddZdS)z;TestClassCleanup.test_addClassCleanUp..TestableTestcSsdSrr r$r r r r&szGTestClassCleanup.test_addClassCleanUp..TestableTest.testNothingNr'r r r r r+sr+r&csd||fdSNr7r.r/Zclass_cleanupsr r class_cleanup1sz=TestClassCleanup.test_addClassCleanUp..class_cleanup1csd||fdSNr.r/r`r r class_cleanup2sz=TestClassCleanup.test_addClassCleanUp..class_cleanup2r-r5r7r8r9r:r;r rc)rr<r=Z_class_cleanupsaddClassCleanupr@doClassCleanups)r%r+rCrardr r`r test_addClassCleanUps*      z%TestClassCleanup.test_addClassCleanUpcs\gdGfdddtj}t||ddggdt||gddS)NTcs:eZdZefddZfddZefddZdS)z=TestClassCleanup.test_run_class_cleanUp..TestableTestcs$d|tr tdSN setUpClassrrer"rclsrNr r ris  zHTestClassCleanup.test_run_class_cleanUp..TestableTest.setUpClasscsddSrOr.r$rPr r r&szITestClassCleanup.test_run_class_cleanUp..TestableTest.testNothingcsddSN tearDownClassr.rkrPr r rnszKTestClassCleanup.test_run_class_cleanUp..TestableTest.tearDownClassNr(r)r* classmethodrir&rnr rNr r r+s  r+rirFrirCrnr)rr<rr=r\r rNr test_run_class_cleanUps z'TestClassCleanup.test_run_class_cleanUpcsBgGfdddtj}tj|}||gddS)Ncs8eZdZefddZfddZefddZdS)zGTestClassCleanup.test_debug_executes_classCleanUp..TestableTestcsd|tdSrhrrer"rkrPr r ris zRTestClassCleanup.test_debug_executes_classCleanUp..TestableTest.setUpClasscsddSrOr.r$rPr r r&szSTestClassCleanup.test_debug_executes_classCleanUp..TestableTest.testNothingcsddSrmr.rkrPr r rnszUTestClassCleanup.test_debug_executes_classCleanUp..TestableTest.tearDownClassNror rPr r r+s  r+rq)rr<rrr[r=)r%r+rr rPr test_debug_executes_classCleanUps z1TestClassCleanup.test_debug_executes_classCleanUpcCsxGdddtj}dd}dd}|||||t$}|||dWdn1sj0YdS)Nc@seZdZddZdS)zWTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp..TestableTestcSsdSrr r$r r r r&szcTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp..TestableTest.testNothingNr'r r r r r+sr+cSs tddSrTrr r r r r4szSTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp..cleanup1cSs tddSrUrur r r r r6szSTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp..cleanup2r4)rr<re assertRaisesrrfr=)r%r+r4r6er r r 0test_doClassCleanups_with_errors_addClassCleanUps   zATestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUpcsTgGfdddtj}t|}||jdddd|gddS)Ncs@eZdZefddZfddZddZefddZd S) zBTestClassCleanup.test_with_errors_addCleanUp..TestableTestcsd|tdSrhrsrkrPr r ris zMTestClassCleanup.test_with_errors_addCleanUp..TestableTest.setUpClasscsd|jtdddSNrMTr!rr?r"r$rPr r rM s zHTestClassCleanup.test_with_errors_addCleanUp..TestableTest.setUpcSsdSrr r$r r r r&szNTestClassCleanup.test_with_errors_addCleanUp..TestableTest.testNothingcsddSrmr.rkrPr r rnszPTestClassCleanup.test_with_errors_addCleanUp..TestableTest.tearDownClassNr(r)r*rprirMr&rnr rPr r r+s  r+rr-Exception: CleanUpExc)rirMrrnrrr<rr=rJ splitlinesr%r+rVr rPr test_with_errors_addCleanUpsz,TestClassCleanup.test_with_errors_addCleanUpcsTgGfdddtj}t|}||jdddd|gddS)NcsDeZdZefddZfddZfddZefddZd S) zKTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTestcsd|jtdddSNriTrzrsrkrPr r ris zVTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTest.setUpClasscsd|tdSrXr{r$rPr r rM#s zQTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTest.setUpcsddSrOr.r$rPr r r&&szWTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTest.testNothingcsddSrmr.rkrPr r rn(szYTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTest.tearDownClassNr|r rPr r r+s   r+rr-r}r~)rirMrCrrnrrrr rPr $test_run_with_errors_addClassCleanUpsz5TestClassCleanup.test_run_with_errors_addClassCleanUpcs gddGfdddtj}t|}||jdddd|gdgd dt|}||jdddd ||jdddd|d d ggdd t|}||jdddd ||jdddd|gddS)NFcsHeZdZefddZfddZfddZefddZd S) zUTestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTestcs*d|jtddr&tddS)NriTrzClassExcrjrk class_blow_upr r r ri9s z`TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTest.setUpClasscsdrtddSNrMZ MethodExcrr$method_blow_upr r r rM?s z[TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTest.setUpcsddSrOr.r$rPr r r&CszaTestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTest.testNothingcsddSrmr.rkrPr r rnEszcTestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTest.tearDownClassNr|r rrr r r r+8s  r+rr-r}r~)rirMrCrnrTException: ClassExcrirException: MethodExc)rirMrnrrrr rr .test_with_errors_in_addClassCleanup_and_setUps3sJz?TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUpsN) r(r)r*rgrrrtrxrrrr r r r r^sr^c@sleZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZdS)TestModuleCleanUpc sgfddfddGfdddt}|tjjdtdd d fd ifgtj|d d ifd dtdd d fg|tjjgdS)Ncsd||fdSr_r.r/module_cleanupsr r module_cleanup1kszHTestModuleCleanUp.test_add_and_do_ModuleCleanup..module_cleanup1csd||fdSrbr.r/rr r module_cleanup2nszHTestModuleCleanUp.test_add_and_do_ModuleCleanup..module_cleanup2cs,eZdZejddddddedS)z?TestModuleCleanUp.test_add_and_do_ModuleCleanup..Moduler-r5r7r8r9r:Nr(r)r*raddModuleCleanupr )rrr r Moduleqs rr;r8r9r:r rcr7)objectr=rr_module_cleanupsr@doModuleCleanupsr%rr )rrrr test_add_and_do_ModuleCleanuphs       z/TestModuleCleanUp.test_add_and_do_ModuleCleanupc sgfddddGfdddt}|tjjdtdd d fd ifg|t}tjWdn1s0Y|t |j d |tjjgdS) Ncsd||fdSr_r.r/rr r module_cleanup_goodszcTestModuleCleanUp.test_doModuleCleanup_with_errors_in_addModuleCleanup..module_cleanup_goodc_s tddS)Nrrur/r r r module_cleanup_badszbTestModuleCleanUp.test_doModuleCleanup_with_errors_in_addModuleCleanup..module_cleanup_badcs,eZdZejddddddedS)zVTestModuleCleanUp.test_doModuleCleanup_with_errors_in_addModuleCleanup..Moduler-r5r7r8r9r:Nrr )rrr r rs rr;r8r9r:r r) rr=rrrr@rvrrstr exception)r%rrwr )rrrr 4test_doModuleCleanup_with_errors_in_addModuleCleanups    (zFTestModuleCleanUp.test_doModuleCleanup_with_errors_in_addModuleCleanupcsJgfddGfdddt}tjdddifgdS)Ncs||fdSrr.r/r2r r r"szCTestModuleCleanUp.test_addModuleCleanup_arg_errors..cleanupcseZdZejddddeejddWdn1sH0YeeWdn1sz0YdS)zBTestModuleCleanUp.test_addModuleCleanup_arg_errors..Moduler-r5r8)functionrargN)r(r)r*rrrv TypeErrorr r"r%r r rs  , rr-r5rr8)rrrrr=rr r"r3r%r test_addModuleCleanup_arg_errorss   z2TestModuleCleanUp.test_addModuleCleanup_arg_errorscsdgGfdddt}Gfdddtj}d|_|tjd<t|}|ddg||jdd  d d gd t||gd |tj j gdS)NTcs.eZdZefddZefddZdS)z9TestModuleCleanUp.test_run_module_cleanUp..Modulecs&dttr"tddS)N setUpModulezsetUpModule Excrrrr"rr rNr r rs  zETestModuleCleanUp.test_run_module_cleanUp..Module.setUpModulecsddSNtearDownModuler.r rPr r rszHTestModuleCleanUp.test_run_module_cleanUp..Module.tearDownModuleNr(r)r* staticmethodrrr rNr r rsrcs8eZdZefddZfddZefddZdS)z?TestModuleCleanUp.test_run_module_cleanUp..TestableTestcsddSrhr.rkrPr r riszJTestModuleCleanUp.test_run_module_cleanUp..TestableTest.setUpClasscsddSrOr.r$rPr r r&szKTestModuleCleanUp.test_run_module_cleanUp..TestableTest.testNothingcsddSrmr.rkrPr r rnszMTestModuleCleanUp.test_run_module_cleanUp..TestableTest.tearDownClassNror rPr r r+s  r+rrrr-r}zException: setUpModule ExcFrrirCrnrr) rrr<r)sysmodulesrr=rJrrrr%rr+rVr rNr test_run_module_cleanUps$   z)TestModuleCleanUp.test_run_module_cleanUpcsddgGfdddt}Gfdddt}Gfdddtj}Gfd d d tj}d|_|tjd<d|_|tjd<t|||gd gddt|||gd gddt|||gd |tjj gdS)NTFcs.eZdZefddZefddZdS)zCTestModuleCleanUp.test_run_multiple_module_cleanUp..Module1cs$dttr tdSNrrr rNr r rs  zOTestModuleCleanUp.test_run_multiple_module_cleanUp..Module1.setUpModulecsddSrr.r rPr r rszRTestModuleCleanUp.test_run_multiple_module_cleanUp..Module1.tearDownModuleNrr rNr r Module1srcs.eZdZefddZefddZdS)zCTestModuleCleanUp.test_run_multiple_module_cleanUp..Module2cs$dttr tdS)N setUpModule2rr blowUp2r r r rs  zOTestModuleCleanUp.test_run_multiple_module_cleanUp..Module2.setUpModulecsddS)NtearDownModule2r.r rPr r rszRTestModuleCleanUp.test_run_multiple_module_cleanUp..Module2.tearDownModuleNrr rr r Module2srcs8eZdZefddZfddZefddZdS)zHTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTestcsddSrhr.rkrPr r riszSTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest.setUpClasscsddSrOr.r$rPr r r&szTTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest.testNothingcsddSrmr.rkrPr r rnszVTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest.tearDownClassNror rPr r r+s  r+cs8eZdZefddZfddZefddZdS)zITestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest2csddS)N setUpClass2r.rkrPr r riszTTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest2.setUpClasscsddSNtest2r.r$rPr r r&szUTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest2.testNothingcsddS)NtearDownClass2r.rkrPr r rnszWTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest2.tearDownClassNror rPr r TestableTest2s  r)rrrrrrrr)rrirCrnrrrr) rrirCrnrrrrrrrr) rrr<r)rrrr=rr)r%rrr+rr )r!rr r test_run_multiple_module_cleanUps4         z2TestModuleCleanUp.test_run_multiple_module_cleanUpcsvgGfdddt}Gfdddtj}d|_|tjd<tj|}|| gd| tj j gdS)Ncs,eZdZefddZefddZdS)zDTestModuleCleanUp.test_debug_module_executes_cleanUp..ModulecsdttdSrrrrr"r rPr r rs zPTestModuleCleanUp.test_debug_module_executes_cleanUp..Module.setUpModulecsddSrr.r rPr r rszSTestModuleCleanUp.test_debug_module_executes_cleanUp..Module.tearDownModuleNrr rPr r rsrcs8eZdZefddZfddZefddZdS)zJTestModuleCleanUp.test_debug_module_executes_cleanUp..TestableTestcsddSrhr.rkrPr r ri#szUTestModuleCleanUp.test_debug_module_executes_cleanUp..TestableTest.setUpClasscsddSrOr.r$rPr r r&&szVTestModuleCleanUp.test_debug_module_executes_cleanUp..TestableTest.testNothingcsddSrmr.rkrPr r rn(szXTestModuleCleanUp.test_debug_module_executes_cleanUp..TestableTest.tearDownClassNror rPr r r+"s  r+r) rrr<r)rrrrr[r=rr)r%rr+rr rPr "test_debug_module_executes_cleanUps    z4TestModuleCleanUp.test_debug_module_executes_cleanUpcsgfddGfdddtj}t|Wdn1sP0Yt"tjj|dWdn1s0Yt|dddd fgdS) Ncs||fdSrr.r/r2r r r"7szBTestModuleCleanUp.test_addClassCleanup_arg_errors..cleanupcs&eZdZefddZddZdS)zGTestModuleCleanUp.test_addClassCleanup_arg_errors..TestableTestcsP|jdddddt|jddWdn1sB0YdS)Nr-r5r7rcrrlr8r)rervrrkrr r ri;s zRTestModuleCleanUp.test_addClassCleanup_arg_errors..TestableTest.setUpClasscSsdSrr r$r r r r&@szSTestModuleCleanUp.test_addClassCleanup_arg_errors..TestableTest.testNothingN)r(r)r*rprir&r rr r r+:sr+)rlrrr7rcr)rr<rvrrer?rr=r\r rr test_addClassCleanup_arg_errors5s  & 0z1TestModuleCleanUp.test_addClassCleanup_arg_errorscsgfddGfdddtj}t|Wdn1sR0Yt"tjj|dWdn1s0Yt|dddd fgdS) Ncs||fdSrr.r/r2r r r"Msz=TestModuleCleanUp.test_addCleanup_arg_errors..cleanupcs"eZdZfddZddZdS)zBTestModuleCleanUp.test_addCleanup_arg_errors..TestableTestcsP|jdddddt|jddWdn1sB0YdS)Nr-r5r7rcrr%r8r)r?rvr)Zself2rr r rMQs zHTestModuleCleanUp.test_addCleanup_arg_errors..TestableTest.setUpcSsdSrr r$r r r r&UszNTestModuleCleanUp.test_addCleanup_arg_errors..TestableTest.testNothingN)r(r)r*rMr&r rr r r+Psr+)r%rrr7rcr)rr<rvrr?rr=r\r rr test_addCleanup_arg_errorsKs  ( 0z,TestModuleCleanUp.test_addCleanup_arg_errorscsxgGfdddt}Gfdddtj}d|_|tjd<t|}||jdd dd|gd dS) Ncs,eZdZefddZefddZdS)zETestModuleCleanUp.test_with_errors_in_addClassCleanup..ModulecsdttdSrrr rPr r rds zQTestModuleCleanUp.test_with_errors_in_addClassCleanup..Module.setUpModulecsddSrr.r rPr r rhszTTestModuleCleanUp.test_with_errors_in_addClassCleanup..Module.tearDownModuleNrr rPr r rcsrcs8eZdZefddZfddZefddZdS)zKTestModuleCleanUp.test_with_errors_in_addClassCleanup..TestableTestcsd|jtdddSrrsrkrPr r rims zVTestModuleCleanUp.test_with_errors_in_addClassCleanup..TestableTest.setUpClasscsddSrOr.r$rPr r r&qszWTestModuleCleanUp.test_with_errors_in_addClassCleanup..TestableTest.testNothingcsddSrmr.rkrPr r rnsszYTestModuleCleanUp.test_with_errors_in_addClassCleanup..TestableTest.tearDownClassNror rPr r r+ls  r+rr-r}r~)rrirCrnrrr rrr<r)rrrr=rJrrr rPr #test_with_errors_in_addClassCleanup`s   z5TestModuleCleanUp.test_with_errors_in_addClassCleanupcsxgGfdddt}Gfdddtj}d|_|tjd<t|}||jdd dd|gd dS) Ncs,eZdZefddZefddZdS)z@TestModuleCleanUp.test_with_errors_in_addCleanup..ModulecsdttdSrrr rPr r rs zLTestModuleCleanUp.test_with_errors_in_addCleanup..Module.setUpModulecsddSrr.r rPr r rszOTestModuleCleanUp.test_with_errors_in_addCleanup..Module.tearDownModuleNrr rPr r rsrcs0eZdZfddZfddZfddZdS)zFTestModuleCleanUp.test_with_errors_in_addCleanup..TestableTestcsd|jtdddSryr{r$rPr r rMs zLTestModuleCleanUp.test_with_errors_in_addCleanup..TestableTest.setUpcsddSrOr.r$rPr r r&szRTestModuleCleanUp.test_with_errors_in_addCleanup..TestableTest.testNothingcsddSrQr.r$rPr r rRszOTestModuleCleanUp.test_with_errors_in_addCleanup..TestableTest.tearDownNrSr rPr r r+s  r+rr-r}r~)rrMrCrRrrrrrr rPr test_with_errors_in_addCleanups   z0TestModuleCleanUp.test_with_errors_in_addCleanupcsgdddGfdddt}Gfdddtj}d|_|tjd<t|}||jdd dd |gd gd ddt|}||jdd dd ||jdd dd |d dggdd dt|}||jdd dd||jdd dd |gdgddd t|}||jdd dd||jdd dd |gddS)NFcs.eZdZefddZefddZdS)zQTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..Modulecs*dtjtddr&tddS)NrTrzZ ModuleExcrr module_blow_upr r r rs z]TestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..Module.setUpModulecsddSrr.r rPr r rsz`TestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..Module.tearDownModuleNrr rr r rsrcsHeZdZefddZfddZfddZefddZd S) zWTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTestcsdrtddS)Nrirrrkrr r ris zbTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTest.setUpClasscsdrtddSrrr$rr r rMs z]TestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTest.setUpcsddSrOr.r$rPr r r&szcTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTest.testNothingcsddSrmr.rkrPr r rnszeTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTest.tearDownClassNr|r rr r r+s  r+rr-r}r~)rrirMrCrnrrTzException: ModuleExcrrr)rrirrr)rrirMrnrrrrr )rrrr r /test_with_errors_in_addModuleCleanup_and_setUpssf  zATestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUpscsgfddfddfddGfdddt}Gfd d d tj}Gfd d d tj}d|_d|_|tjd<t|||gd dS)NcsddSrTr.r rPr r r4szMTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..cleanup1csddSrUr.r rPr r r6szMTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..cleanup2csddS)Ncleanup3r.r rPr r rszMTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..cleanup3cs.eZdZefddZefddZdS)zKTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..ModulecsdtdSr)rrrr rZr r rs zWTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..Module.setUpModulecsddSrr.r rPr r rszZTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..Module.tearDownModuleNrr rZr r rsrcs2eZdZfddZfddZfddZdS)zQTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..TestableTestcsd|dSrXrYr$r6r r r rMs zWTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..TestableTest.setUpcsddSrOr.r$rPr r r&sz]TestModuleCleanUp.test_module_cleanUp_with_multiple_classes..TestableTest.testNothingcsddSrQr.r$rPr r rRszZTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..TestableTest.tearDownNrSr rr r r+s r+cs2eZdZfddZfddZfddZdS)zVTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..OtherTestableTestcsd|dS)NsetUp2rYr$rr r r rM s z\TestModuleCleanUp.test_module_cleanUp_with_multiple_classes..OtherTestableTest.setUpcsddSrr.r$rPr r r&szbTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..OtherTestableTest.testNothingcsddS)N tearDown2r.r$rPr r rRsz_TestModuleCleanUp.test_module_cleanUp_with_multiple_classes..OtherTestableTest.tearDownNrSr rr r OtherTestableTest s r) rrMrCrRr6rrrrrr4)rrr<r)rrrr=)r%rr+rr )r4r6rr r )test_module_cleanUp_with_multiple_classess        z;TestModuleCleanUp.test_module_cleanUp_with_multiple_classesN)r(r)r*rrrrrrrrrrrrr r r r rgs'K!Orc@s|eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZdS)Test_TextTestRunnercCs tjd|_|jrtjd=dSNZPYTHONWARNINGS)osenvirongetpythonwarningsr$r r r rM!szTest_TextTestRunner.setUpcCs|jr|jtjd<dSr)rrrr$r r r rR(szTest_TextTestRunner.tearDowncCsht}||j||j||jd||jd||j ||j tj ||j dSr,) rrrGfailfastbufferr= verbositywarningsrA descriptionsr TextTestResult tb_localsr%rr r r test_init-s   zTest_TextTestRunner.test_initcs:GfdddtjGdddtj}|ddddS)NcseZdZfddZZS)z>Test_TextTestRunner.test_multiple_inheritance..AResultcst||||dSr)super__init__)r%r rr)AResult __class__r r r9szGTest_TextTestRunner.test_multiple_inheritance..AResult.__init__)r(r)r*r __classcell__r rrr r8src@s eZdZdS)zBTest_TextTestRunner.test_multiple_inheritance..ATextResultN)r(r)r*r r r r ATextResult<srr-)rrr)r%rr rr test_multiple_inheritance7sz-Test_TextTestRunner.test_multiple_inheritancecsfGdddtj}ttjtddd}fdd|_||d|j |j dS)Nc@seZdZddZdS)z7Test_TextTestRunner.testBufferAndFailfast..TestcSsdSrr r$r r r testFooEsz?Test_TextTestRunner.testBufferAndFailfast..Test.testFooNr(r)r*rr r r r TestDsrT)r rrcsSrr r rVr r Kz;Test_TextTestRunner.testBufferAndFailfast..r) rr<rrrr _makeResultrrArr)r%rrr rr testBufferAndFailfastCs  z)Test_TextTestRunner.testBufferAndFailfastcCs2tjtdd}|t}|d|jdS)NT)r r)rrrrrrr=r)r%rrVr r r test_localsQszTest_TextTestRunner.test_localscsGdddtj}tjjfdd}|ttjtd}fdd|_ d_ fd d }|tj_| t  j d dS) Nc@seZdZddZdS)z;Test_TextTestRunner.testRunnerRegistersResult..TestcSsdSrr r$r r r rXszCTest_TextTestRunner.testRunnerRegistersResult..Test.testFooNrr r r r rWsrcs tj_dSr)rrregisterResultr )originalRegisterResultr r r"[sz>Test_TextTestRunner.testRunnerRegistersResult..cleanup)r csSrr r rr r rbrz?Test_TextTestRunner.testRunnerRegistersResult..rcsjd7_|dSr,) wasRegisteredr=)Z thisResult)rVr%r r fakeRegisterResulteszITest_TextTestRunner.testRunnerRegistersResult..fakeRegisterResultr-)rr<rrr?rrrrrrrrr=)r%rr"rrr )rrVr%r testRunnerRegistersResultVs  z-Test_TextTestRunner.testRunnerRegistersResultcs@GdddtGfdddtj}|tdS)Nc@seZdZdZddZdS)zbTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..OldTextResultcSsdSrr r$r r r printErrorspsznTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..OldTextResult.printErrorsNr(r)r*Z separator2rr r r r OldTextResultnsrcs*eZdZfddZfddZZS)z[Test_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..Runnercst|tdSr)rrrrr$)Runnerrr r rtszdTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..Runner.__init__csSrr r$)rr r rwszgTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..Runner._makeResultr(r)r*rrrr rrrr rssr)rrrrrrr rr 7test_works_with_result_without_startTestRun_stopTestRunmszKTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRuncsZGdddtGfdddtjg}|}|tddg}|||dS)Nc@seZdZdZddZdS)zSTest_TextTestRunner.test_startTestRun_stopTestRun_called..LoggingTextResultrcSsdSrr r$r r r rsz_Test_TextTestRunner.test_startTestRun_stopTestRun_called..LoggingTextResult.printErrorsNrr r r r LoggingTextResult~srcs*eZdZfddZfddZZS)zOTest_TextTestRunner.test_startTestRun_stopTestRun_called..LoggingRunnercst|t||_dSr)rrrr_events)r%events) LoggingRunnerrr r rszXTest_TextTestRunner.test_startTestRun_stopTestRun_called..LoggingRunner.__init__cs |jSr)rr$)rr r rsz[Test_TextTestRunner.test_startTestRun_stopTestRun_called..LoggingRunner._makeResultrr rrrr rsrZ startTestRunZ stopTestRun)rrrrrr=)r%rrZexpectedr rr $test_startTestRun_stopTestRun_called}sz8Test_TextTestRunner.test_startTestRun_stopTestRun_calledcCsZtd}t|}tdtjdD]0}t||}t|}| |j | q$dS)NrEr5r-) rrrrrangepickleHIGHEST_PROTOCOLdumpsloadsr=r getvalue)r%r rprotocolsobjr r r test_pickle_unpickles     z(Test_TextTestRunner.test_pickle_unpicklecCsZdd}t}t}t}tj||||d}||j||j||f}|||dS)NcWs|Srr )r0r r r MockResultClasssz=Test_TextTestRunner.test_resultclass..MockResultClass)r )rrrr=r r r)r%rZSTREAMZ DESCRIPTIONSZ VERBOSITYrZexpectedresultr r r test_resultclasss  z$Test_TextTestRunner.test_resultclassc Csdd}ttjtjtjtd}d}d}tjtj ddgfi|}|||\}}Wdn1sj0Y| d|| t |d d D]}| | |d q||d fD]}| | |d qtj ddgtj dddgtj ddgf} | D]d} tj| fi|}|||\}}Wdn1s40Y| d|| t |dqtjtj ddgfi|}|||\}}Wdn1s0Y| d|| t |ddD]}| | |d q||fD]}| | |d qdS)NcSsdd|DS)NcSsg|] }|qSr )r).0br r r rzPTest_TextTestRunner.test_warnings..get_parse_out_err..) communicate)pr r r get_parse_out_errsz.get_parse_out_err)stdoutstderrcwdsPlease use assertEqual instead.sPlease use assertTrue instead.z-Ez_test_warnings.pysOK )dwiwuwr7rwr-ignorez-Waz-Wiralways)rrr r!)r@ subprocessPIPErpathdirname__file__Popenr executableZassertInr=lencount) r%rZoptsZae_msgZat_msgrouterrmsgZ args_listr0r r r test_warningssH  *     , ,  z!Test_TextTestRunner.test_warningscCsFtj}t}|t_z$t}||jj|uW|t_n|t_0dSr)rrrrrrrAr )r%Z old_stderrfrr r r %testStdErrLookedUpAtInstantiationTimesz9Test_TextTestRunner.testStdErrLookedUpAtInstantiationTimecCs(t}t|}||jj|udSr)rrrrrAr )r%r2rr r r testSpecifiedStreamUseds z+Test_TextTestRunner.testSpecifiedStreamUsedN)r(r)r*rMrRrrrrrrrrrr1r3r4r r r r rs    9 r__main__)F)rrrr r%rZ unittest.caserZunittest.test.supportrrr rrr"r<r#r^rrr(mainr r r r s,  {=:W