a  ze­@sddlZddlZddlZddlZddlZddlZddlmZddlm Z m Z ddZ ddZ dd Z dd d ZGd ddejZGdddejZGdddejZGdddejZedkredS)N)_Outcome) LoggingResult#ResultWithNoStartTestRunStopTestRuncGstSN)unittest TestResult)_r M/opt/bitninja-python-dojo/embedded/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@s\eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ 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=_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 setUpClassrrfr"rclsrNr r rjs  zHTestClassCleanup.test_run_class_cleanUp..TestableTest.setUpClasscsddSrOr.r$rPr r r&szITestClassCleanup.test_run_class_cleanUp..TestableTest.testNothingcsddSN tearDownClassr.rlrPr r roszKTestClassCleanup.test_run_class_cleanUp..TestableTest.tearDownClassNr(r)r* classmethodrjr&ror rNr r r+s  r+rjrFrjrCrorrr<rr=r\r rNr test_run_class_cleanUps z'TestClassCleanup.test_run_class_cleanUpcs\gdGfdddtj}t||ddggdt||gddS)NTcs:eZdZefddZfddZeeddZdS)zSTestClassCleanup.test_run_class_cleanUp_without_tearDownClass..TestableTestcs$d|tr tdSrirkrlrNr r rjs  z^TestClassCleanup.test_run_class_cleanUp_without_tearDownClass..TestableTest.setUpClasscsddSrOr.r$rPr r r&sz_TestClassCleanup.test_run_class_cleanUp_without_tearDownClass..TestableTest.testNothingcSstdSr)AttributeErrorrlr r r roszaTestClassCleanup.test_run_class_cleanUp_without_tearDownClass..TestableTest.tearDownClassN)r(r)r*rqrjr&propertyror rNr r r+s  r+rjrF)rjrCrrsr\r rNr ,test_run_class_cleanUp_without_tearDownClasssz=TestClassCleanup.test_run_class_cleanUp_without_tearDownClasscsgdGfdddtj}tj|}||gdgdtj|}|t}|Wdn1s0Y|t|j d|gddS)NFcs:eZdZefddZfddZefddZdS)zGTestClassCleanup.test_debug_executes_classCleanUp..TestableTestcsd|jtddSNrjr!rrfr"rlrNr r rjs zRTestClassCleanup.test_debug_executes_classCleanUp..TestableTest.setUpClasscsddSrOr.r$rPr r r&szSTestClassCleanup.test_debug_executes_classCleanUp..TestableTest.testNothingcsddSrnr.rlrPr r roszUTestClassCleanup.test_debug_executes_classCleanUp..TestableTest.tearDownClassNrpr rNr r r+s  r+rrTr)rjrCror) rr<rrr[r= assertRaisesrstr exceptionr%r+rcmr rNr test_debug_executes_classCleanUps"   &z1TestClassCleanup.test_debug_executes_classCleanUpcsgdGfdddtj}tj|}|t}|Wdn1sT0Y|t|j d|ddg| |j |j gdtj|}|t}|Wdn1s0Y|t|j d|ddg| |j |j dS)NFcs6eZdZefddZfddZeddZdS)z_TestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exception..TestableTestcsd|jtddSrxrzrlrNr r rjs zjTestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exception..TestableTest.setUpClasscsddSrOr.r$rPr r r&"szkTestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exception..TestableTest.testNothingcSs tddS)NTearDownClassExcrrlr r r ro$szmTestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exception..TestableTest.tearDownClassNrpr rNr r r+s  r+rrjrCT) rr<rrr{rr[r=r|r}rAreclearr~r rNr 8test_debug_executes_classCleanUp_when_teardown_exceptions&  &    & zITestClassCleanup.test_debug_executes_classCleanUp_when_teardown_exceptioncCsxGdddtj}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 r4?szSTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp..cleanup1cSs tddSrUrr r r r r6BszSTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp..cleanup2r4)rr<rfr{rrgr=)r%r+r4r6er r r 0test_doClassCleanups_with_errors_addClassCleanUp:s   zATestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUpcsTgGfdddtj}t|}||jdddd|gddS)Ncs@eZdZefddZfddZddZefddZd S) zBTestClassCleanup.test_with_errors_addCleanUp..TestableTestcsd|tdSrirzrlrPr r rjNs zMTestClassCleanup.test_with_errors_addCleanUp..TestableTest.setUpClasscsd|jtdddSNrMTryrr?r"r$rPr r rMRs zHTestClassCleanup.test_with_errors_addCleanUp..TestableTest.setUpcSsdSrr r$r r r r&UszNTestClassCleanup.test_with_errors_addCleanUp..TestableTest.testNothingcsddSrnr.rlrPr r roWszPTestClassCleanup.test_with_errors_addCleanUp..TestableTest.tearDownClassNr(r)r*rqrjrMr&ror rPr r r+Ms  r+rr-Exception: CleanUpExc)rjrMrrorrr<rr=rJ splitlinesr%r+rVr rPr test_with_errors_addCleanUpKsz,TestClassCleanup.test_with_errors_addCleanUpcsTgGfdddtj}t|}||jdddd|gddS)NcsDeZdZefddZfddZfddZefddZd S) zKTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTestcsd|jtdddSNrjTryrzrlrPr r rjes zVTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTest.setUpClasscsd|tdSrXrr$rPr r rMis zQTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTest.setUpcsddSrOr.r$rPr r r&lszWTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTest.testNothingcsddSrnr.rlrPr r ronszYTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTest.tearDownClassNrr rPr r r+ds   r+rr-rr)rjrMrCrrorrrr rPr $test_run_with_errors_addClassCleanUpbsz5TestClassCleanup.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)NrjTryClassExcrkrl class_blow_upr r r rjs z`TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTest.setUpClasscsdrtddSNrMZ MethodExcrr$method_blow_upr r r rMs z[TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTest.setUpcsddSrOr.r$rPr r r&szaTestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTest.testNothingcsddSrnr.rlrPr r roszcTestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTest.tearDownClassNrr rrr r r r+~s  r+rr-rr)rjrMrCrorTException: ClassExcrjrException: MethodExc)rjrMrorrrr rr .test_with_errors_in_addClassCleanup_and_setUpsysJz?TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUpscsTgGfdddtj}t|}||jdddd|gddS)Ncs8eZdZefddZfddZefddZdS)zHTestClassCleanup.test_with_errors_in_tearDownClass..TestableTestcsd|tdSrirzrlrPr r rjs zSTestClassCleanup.test_with_errors_in_tearDownClass..TestableTest.setUpClasscsddSrOr.r$rPr r r&szTTestClassCleanup.test_with_errors_in_tearDownClass..TestableTest.testNothingcsdtddS)NroZ TearDownExcrrlrPr r ros zVTestClassCleanup.test_with_errors_in_tearDownClass..TestableTest.tearDownClassNrpr rPr r r+s  r+rr-rzException: TearDownExcrrrrr rPr !test_with_errors_in_tearDownClasss z2TestClassCleanup.test_with_errors_in_tearDownClassN) r(r)r*rhrtrwrrrrrrrr r r r r^s!4r^c@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdS) TestModuleCleanUpc sgfddfddGfdddt}|tjjdtdd d fd ifgtj|d d ifd dtdd d fg|tjjgdS)Ncsd||fdSr_r.r/module_cleanupsr r module_cleanup1szHTestModuleCleanUp.test_add_and_do_ModuleCleanup..module_cleanup1csd||fdSrbr.r/rr r module_cleanup2szHTestModuleCleanUp.test_add_and_do_ModuleCleanup..module_cleanup2cs,eZdZejddddddedS)z?TestModuleCleanUp.test_add_and_do_ModuleCleanup..Moduler-r5r7r8r9r:Nr(r)r*raddModuleCleanupr )rrr r Modules rr;r8r9r:r rcr7)objectr=rr_module_cleanupsr@doModuleCleanupsr%rr )rrrr test_add_and_do_ModuleCleanups       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 tddSNrrr/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@r{rrr|r})r%rrr )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*rrr{ 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 r szHTestModuleCleanUp.test_run_module_cleanUp..Module.tearDownModuleNr(r)r* staticmethodrrr rNr r rsrcs8eZdZefddZfddZefddZdS)z?TestModuleCleanUp.test_run_module_cleanUp..TestableTestcsddSrir.rlrPr r rjszJTestModuleCleanUp.test_run_module_cleanUp..TestableTest.setUpClasscsddSrOr.r$rPr r r&szKTestModuleCleanUp.test_run_module_cleanUp..TestableTest.testNothingcsddSrnr.rlrPr r roszMTestModuleCleanUp.test_run_module_cleanUp..TestableTest.tearDownClassNrpr rPr r r+s  r+rrrr-rzException: setUpModule ExcFrrjrCrorr 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 r,s  zOTestModuleCleanUp.test_run_multiple_module_cleanUp..Module1.setUpModulecsddSrr.r rPr r r2szRTestModuleCleanUp.test_run_multiple_module_cleanUp..Module1.tearDownModuleNrr rNr r Module1+srcs.eZdZefddZefddZdS)zCTestModuleCleanUp.test_run_multiple_module_cleanUp..Module2cs$dttr tdS)N setUpModule2rr blowUp2r r r r7s  zOTestModuleCleanUp.test_run_multiple_module_cleanUp..Module2.setUpModulecsddS)NtearDownModule2r.r rPr r r=szRTestModuleCleanUp.test_run_multiple_module_cleanUp..Module2.tearDownModuleNrr rr r Module26srcs8eZdZefddZfddZefddZdS)zHTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTestcsddSrir.rlrPr r rjBszSTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest.setUpClasscsddSrOr.r$rPr r r&EszTTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest.testNothingcsddSrnr.rlrPr r roGszVTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest.tearDownClassNrpr rPr r r+As  r+cs8eZdZefddZfddZefddZdS)zITestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest2csddS)N setUpClass2r.rlrPr r rjLszTTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest2.setUpClasscsddSNtest2r.r$rPr r r&OszUTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest2.testNothingcsddS)NtearDownClass2r.rlrPr r roQszWTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest2.tearDownClassNrpr rPr r TestableTest2Ks  r)rrrrrrrr)rrjrCrorrrr) rrjrCrorrrrrrrr rrr<r)rrrr=rr)r%rrr+rr )r!rr r test_run_multiple_module_cleanUp's4         z2TestModuleCleanUp.test_run_multiple_module_cleanUpcsjgGfdddt}Gfdddtj}d|_|tjd<t||gd|tjj gdS)NcseZdZefddZdS)zJTestModuleCleanUp.test_run_module_cleanUp_without_teardown..ModulecsdttdSrrrrr"r rPr r rus zVTestModuleCleanUp.test_run_module_cleanUp_without_teardown..Module.setUpModuleN)r(r)r*rrr rPr r rtsrcs8eZdZefddZfddZefddZdS)zPTestModuleCleanUp.test_run_module_cleanUp_without_teardown..TestableTestcsddSrir.rlrPr r rj{sz[TestModuleCleanUp.test_run_module_cleanUp_without_teardown..TestableTest.setUpClasscsddSrOr.r$rPr r r&~sz\TestModuleCleanUp.test_run_module_cleanUp_without_teardown..TestableTest.testNothingcsddSrnr.rlrPr r rosz^TestModuleCleanUp.test_run_module_cleanUp_without_teardown..TestableTest.tearDownClassNrpr rPr r r+zs  r+rrjrCrorr)r%rr+r rPr (test_run_module_cleanUp_without_teardownrs  z:TestModuleCleanUp.test_run_module_cleanUp_without_teardowncsgGfdddt}Gfdddtj}d|_|tjd<t|}||jdd dd|gd |tj j gdS) Ncs(eZdZefddZeddZdS)zQTestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception..ModulecsdttdSrrr rPr r rs z]TestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception..Module.setUpModulecSs tddSrrr r r r rsz`TestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception..Module.tearDownModuleNrr rPr r rsrcs8eZdZefddZfddZefddZdS)zWTestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception..TestableTestcsddSrir.rlrPr r rjszbTestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception..TestableTest.setUpClasscsddSrOr.r$rPr r r&szcTestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception..TestableTest.testNothingcsddSrnr.rlrPr r roszeTestModuleCleanUp.test_run_module_cleanUp_when_teardown_exception..TestableTest.tearDownClassNrpr rPr r r+s  r+rr-rrrrrr rPr /test_run_module_cleanUp_when_teardown_exceptions   zATestModuleCleanUp.test_run_module_cleanUp_when_teardown_exceptioncsgdGfdddt}Gfdddtj}d|_|tjd<tj|}|| gd| tj j ggdtj|}| t }|Wdn1s0Y| t|jd| gd | tj j gdS) NFcs.eZdZefddZefddZdS)zDTestModuleCleanUp.test_debug_module_executes_cleanUp..ModulecsdtjtddSNrryrr rNr r rs zPTestModuleCleanUp.test_debug_module_executes_cleanUp..Module.setUpModulecsddSrr.r rPr r rszSTestModuleCleanUp.test_debug_module_executes_cleanUp..Module.tearDownModuleNrr rNr r rsrcs8eZdZefddZfddZefddZdS)zJTestModuleCleanUp.test_debug_module_executes_cleanUp..TestableTestcsddSrir.rlrPr r rjszUTestModuleCleanUp.test_debug_module_executes_cleanUp..TestableTest.setUpClasscsddSrOr.r$rPr r r&szVTestModuleCleanUp.test_debug_module_executes_cleanUp..TestableTest.testNothingcsddSrnr.rlrPr r roszXTestModuleCleanUp.test_debug_module_executes_cleanUp..TestableTest.tearDownClassNrpr rPr r r+s  r+rTr)rrjrCrorr)rrr<r)rrrrr[r=rrr{rr|r}r%rr+rrr rNr "test_debug_module_executes_cleanUps(      &z4TestModuleCleanUp.test_debug_module_executes_cleanUpcsDgdGfdddt}Gfdddtj}d|_|tjd<tj|}|t }| Wdn1sx0Y| t |j d| gd|tjjtjjgdtj|}|t }| Wdn1s0Y| t |j d| gd|tjjtjjdS) NFcs*eZdZefddZeddZdS)zSTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception..ModulecsdtjtddSrrr rNr r rs z_TestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception..Module.setUpModulecSs tddS)NTearDownModuleExcrr r r r rszbTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception..Module.tearDownModuleNrr rNr r rsrcs8eZdZefddZfddZefddZdS)zYTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception..TestableTestcsddSrir.rlrPr r rjszdTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception..TestableTest.setUpClasscsddSrOr.r$rPr r r&szeTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception..TestableTest.testNothingcsddSrnr.rlrPr r roszgTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exception..TestableTest.tearDownClassNrpr rPr r r+s  r+r)rrjrCroT)rrr<r)rrrrr{rr[r=r|r}rArrrrr rNr 1test_debug_module_cleanUp_when_teardown_exceptions,     &   &zCTestModuleCleanUp.test_debug_module_cleanUp_when_teardown_exceptioncsgfddGfdddtj}t|Wdn1sP0Yt"tjj|dWdn1s0Yt|dddd fgdS) Ncs||fdSrr.r/r2r r r"szBTestModuleCleanUp.test_addClassCleanup_arg_errors..cleanupcs&eZdZefddZddZdS)zGTestModuleCleanUp.test_addClassCleanup_arg_errors..TestableTestcsP|jdddddt|jddWdn1sB0YdS)Nr-r5r7rcrrmr8r)rfr{rrlrr r rjs zRTestModuleCleanUp.test_addClassCleanup_arg_errors..TestableTest.setUpClasscSsdSrr r$r r r r& szSTestModuleCleanUp.test_addClassCleanup_arg_errors..TestableTest.testNothingN)r(r)r*rqrjr&r rr r r+sr+)rmrrr7rcr)rr<r{rrfr?rr=r\r rr test_addClassCleanup_arg_errorss  & 0z1TestModuleCleanUp.test_addClassCleanup_arg_errorscsgfddGfdddtj}t|Wdn1sR0Yt"tjj|dWdn1s0Yt|dddd fgdS) Ncs||fdSrr.r/r2r r r"sz=TestModuleCleanUp.test_addCleanup_arg_errors..cleanupcs"eZdZfddZddZdS)zBTestModuleCleanUp.test_addCleanup_arg_errors..TestableTestcsP|jdddddt|jddWdn1sB0YdS)Nr-r5r7rcrr%r8r)r?r{r)Zself2rr r rMs zHTestModuleCleanUp.test_addCleanup_arg_errors..TestableTest.setUpcSsdSrr r$r r r r&szNTestModuleCleanUp.test_addCleanup_arg_errors..TestableTest.testNothingN)r(r)r*rMr&r rr r r+sr+)r%rrr7rcr)rr<r{rr?rr=r\r rr test_addCleanup_arg_errorss  ( 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 r-s zQTestModuleCleanUp.test_with_errors_in_addClassCleanup..Module.setUpModulecsddSrr.r rPr r r1szTTestModuleCleanUp.test_with_errors_in_addClassCleanup..Module.tearDownModuleNrr rPr r r,srcs8eZdZefddZfddZefddZdS)zKTestModuleCleanUp.test_with_errors_in_addClassCleanup..TestableTestcsd|jtdddSrrzrlrPr r rj6s zVTestModuleCleanUp.test_with_errors_in_addClassCleanup..TestableTest.setUpClasscsddSrOr.r$rPr r r&:szWTestModuleCleanUp.test_with_errors_in_addClassCleanup..TestableTest.testNothingcsddSrnr.rlrPr r ro<szYTestModuleCleanUp.test_with_errors_in_addClassCleanup..TestableTest.tearDownClassNrpr rPr r r+5s  r+rr-rr)rrjrCrorrr 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 rMs zLTestModuleCleanUp.test_with_errors_in_addCleanup..Module.setUpModulecsddSrr.r rPr r rQszOTestModuleCleanUp.test_with_errors_in_addCleanup..Module.tearDownModuleNrr rPr r rLsrcs0eZdZfddZfddZfddZdS)zFTestModuleCleanUp.test_with_errors_in_addCleanup..TestableTestcsd|jtdddSrrr$rPr r rMVs zLTestModuleCleanUp.test_with_errors_in_addCleanup..TestableTest.setUpcsddSrOr.r$rPr r r&YszRTestModuleCleanUp.test_with_errors_in_addCleanup..TestableTest.testNothingcsddSrQr.r$rPr r rR[szOTestModuleCleanUp.test_with_errors_in_addCleanup..TestableTest.tearDownNrSr rPr r r+Us  r+rr-rr)rrMrCrRrrrrrr rPr test_with_errors_in_addCleanupJs   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)NrTryZ ModuleExcrr module_blow_upr r r rns z]TestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..Module.setUpModulecsddSrr.r rPr r rtsz`TestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..Module.tearDownModuleNrr rr r rmsrcsHeZdZefddZfddZfddZefddZd S) zWTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTestcsdrtddS)Nrjrrrlrr r rjys zbTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTest.setUpClasscsdrtddSrrr$rr r rM~s z]TestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTest.setUpcsddSrOr.r$rPr r r&szcTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTest.testNothingcsddSrnr.rlrPr r roszeTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTest.tearDownClassNrr rr r r+xs  r+rr-rr)rrjrMrCrorrTzException: ModuleExcrrr)rrjrrr)rrjrMrorrrrr )rrrr r /test_with_errors_in_addModuleCleanup_and_setUpshsf  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 rMs 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 OtherTestableTests 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*rrrrrrrrrrrrrrrr r r r rs'K),!Orc@s|eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZdS)Test_TextTestRunnercCs tjd|_|jrtjd=dSNZPYTHONWARNINGS)osenvirongetpythonwarningsr$r r r rMszTest_TextTestRunner.setUpcCs|jr|jtjd<dSr)rrrr$r r r rRszTest_TextTestRunner.tearDowncCsht}||j||j||jd||jd||j ||j tj ||j dSr,) rrrGfailfastbufferr= verbositywarningsrA descriptionsr TextTestResult tb_localsr%rr r r test_inits   zTest_TextTestRunner.test_initcs:GfdddtjGdddtj}|ddddS)NcseZdZfddZZS)z>Test_TextTestRunner.test_multiple_inheritance..AResultcst||||dSr)super__init__)r%r rr)AResult __class__r r rszGTest_TextTestRunner.test_multiple_inheritance..AResult.__init__)r(r)r*r __classcell__r rrr rsrc@s eZdZdS)zBTest_TextTestRunner.test_multiple_inheritance..ATextResultN)r(r)r*r r r r ATextResultsrr-)rrr)r%rr rr test_multiple_inheritancesz-Test_TextTestRunner.test_multiple_inheritancecsfGdddtj}ttjtddd}fdd|_||d|j |j dS)Nc@seZdZddZdS)z7Test_TextTestRunner.testBufferAndFailfast..TestcSsdSrr r$r r r testFoosz?Test_TextTestRunner.testBufferAndFailfast..Test.testFooNr(r)r*rr r r r Test srT)r rrcsSrr r rVr r z;Test_TextTestRunner.testBufferAndFailfast..r) rr<rrrr _makeResultrrArr)r%rrr rr testBufferAndFailfast s  z)Test_TextTestRunner.testBufferAndFailfastcCs2tjtdd}|t}|d|jdS)NT)r r)rrrrrrr=r)r%rrVr r r test_localsszTest_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 r!szCTest_TextTestRunner.testRunnerRegistersResult..Test.testFooNrr r r r r srcs tj_dSr)rrregisterResultr )originalRegisterResultr r r"$sz>Test_TextTestRunner.testRunnerRegistersResult..cleanup)r csSrr r rr r r+rz?Test_TextTestRunner.testRunnerRegistersResult..rcsjd7_|dSr,) wasRegisteredr=)Z thisResult)rVr%r r fakeRegisterResult.szITest_TextTestRunner.testRunnerRegistersResult..fakeRegisterResultr-)rr<rr r?rrrrrr rrr=)r%rr"rrr )r rVr%r testRunnerRegistersResults  z-Test_TextTestRunner.testRunnerRegistersResultcs@GdddtGfdddtj}|tdS)Nc@seZdZdZddZdS)zbTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..OldTextResultcSsdSrr r$r r r printErrors9sznTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..OldTextResult.printErrorsNr(r)r*Z separator2rr r r r OldTextResult7srcs*eZdZfddZfddZZS)z[Test_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..Runnercst|tdSr)rrrrr$)Runnerrr r r=szdTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..Runner.__init__csSrr r$)rr r r@szgTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..Runner._makeResultr(r)r*rrrr rrrr r<sr)rrrrrrr rr 7test_works_with_result_without_startTestRun_stopTestRun6szKTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRuncsZGdddtGfdddtjg}|}|tddg}|||dS)Nc@seZdZdZddZdS)zSTest_TextTestRunner.test_startTestRun_stopTestRun_called..LoggingTextResultrcSsdSrr r$r r r rIsz_Test_TextTestRunner.test_startTestRun_stopTestRun_called..LoggingTextResult.printErrorsNrr r r r LoggingTextResultGsrcs*eZdZfddZfddZZS)zOTest_TextTestRunner.test_startTestRun_stopTestRun_called..LoggingRunnercst|t||_dSr)rrrr_events)r%events) LoggingRunnerrr r rMszXTest_TextTestRunner.test_startTestRun_stopTestRun_called..LoggingRunner.__init__cs |jSr)rr$)rr r rQsz[Test_TextTestRunner.test_startTestRun_stopTestRun_called..LoggingRunner._makeResultrr rrrr rLsrZ startTestRunZ stopTestRun)rrrrrr=)r%rrZexpectedr rr $test_startTestRun_stopTestRun_calledFsz8Test_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_unpickleZs     z(Test_TextTestRunner.test_pickle_unpicklecCsZdd}t}t}t}tj||||d}||j||j||f}|||dS)NcWs|Srr )r0r r r MockResultClassfsz=Test_TextTestRunner.test_resultclass..MockResultClass)r )rrrr=r r r)r%r(ZSTREAMZ DESCRIPTIONSZ VERBOSITYrZexpectedresultr r r test_resultclasses  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 zrzPTest_TextTestRunner.test_warnings..get_parse_out_err..) communicate)pr r r get_parse_out_errysz.get_parse_out_err)stdoutstderrcwdsPlease use assertEqual instead.sPlease use assertTrue instead.z-Ez_test_warnings.pysOK )dwiwuwr7rwr-ignorez-Waz-Wiralways)r4r5r6r7)r@ subprocessPIPErpathdirname__file__Popenr executableZassertInr=lencount) r%r/ZoptsZae_msgZat_msgr.outerrmsgZ args_listr0r r r test_warningsrsH  *     , ,  z!Test_TextTestRunner.test_warningscCsFtj}t}|t_z$t}||jj|uW|t_n|t_0dSr)rr1rrrrrAr )r%Z old_stderrfrr r r %testStdErrLookedUpAtInstantiationTimesz9Test_TextTestRunner.testStdErrLookedUpAtInstantiationTimecCs(t}t|}||jj|udSr)rrrrrAr )r%rHrr r r testSpecifiedStreamUseds z+Test_TextTestRunner.testSpecifiedStreamUsedN)r(r)r*rMrRrrr r rrrr'r)rGrIrJr r r r rs    9 r__main__)F)rrrrr;rZ unittest.caserZunittest.test.supportrrr rrr"r<r#r^rrr(mainr r r r s0  {)W