U :e@sddlZddlZddlZddlZddlZddlZddlmZddlm Z m Z ddZ ddZ dd Z dd d ZGd ddejZGdddejZGdddejZGdddejZedkredS)N)_Outcome) LoggingResult#ResultWithNoStartTestRunStopTestRuncGstSN)unittest TestResult)_r >/usr/local/python38/lib/python3.8/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 assertEqualZ _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> assertFalserAsuccessreversederrorsr=) r%r+rBZoutcomer4r6rZType1Z instance1ZType2Z instance2r )rrEr testCleanUpWithErrorsKs        z!TestCleanUp.testCleanUpWithErrorsc sdgGfdddtj}|dfdd}fdd}||fd d }t}||_|d d d dddgdg|d||d dgdS)NFcs2eZdZfddZfddZfddZdS)z2TestCleanUp.testCleanupInRun..TestableTestcsdrtddS)NsetUprDrr$r!r r r rKks z8TestCleanUp.testCleanupInRun..TestableTest.setUpcsddSNrBr.r$r r r r&psz>TestCleanUp.testCleanupInRun..TestableTest.testNothingcsddSNtearDownr.r$rNr r rPssz;TestCleanUp.testCleanupInRun..TestableTest.tearDownNr(r)r*rKr&rPr rLr r r+js r+r&csddSNr4r.r rNr r r4xsz.TestCleanUp.testCleanupInRun..cleanup1csddSNr6r.r rNr r r6zsz.TestCleanUp.testCleanupInRun..cleanup2cs|ddS)NrG)r=r)Z some_test)r r%rBr r rGs z-TestCleanUp.testCleanupInRun..successrKrBrPr6r4rGT)rr<r>rZ addSuccessrr=)r%r+r4r6rGresultr )r!r r%rBr testCleanupInRunfs.         zTestCleanUp.testCleanupInRuncsbgGfdddtj}|dfddfdd|dd d d d gdS) Ncs2eZdZfddZfddZfddZdS)zCTestCleanUp.testTestCaseDebugExecutesCleanups..TestableTestcsd|dSNrKrr>r$r4r r r rKs zITestCleanUp.testTestCaseDebugExecutesCleanups..TestableTest.setUpcsddSrMr.r$rNr r r&szOTestCleanUp.testTestCaseDebugExecutesCleanups..TestableTest.testNothingcsddSrOr.r$rNr r rPszLTestCleanUp.testTestCaseDebugExecutesCleanups..TestableTest.tearDownNrQr rXr r r+s r+r&csddSrRrWr )r6r rBr r r4s z?TestCleanUp.testTestCaseDebugExecutesCleanups..cleanup1csddSrSr.r rNr r r6sz?TestCleanUp.testTestCaseDebugExecutesCleanups..cleanup2rKrBrPr4r6)rr<debugr=r%r+r )r4r6r rBr !testTestCaseDebugExecutesCleanupss  z-TestCleanUp.testTestCaseDebugExecutesCleanupsN)r(r)r*rCrJrUr[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 ra)rr<r=Z_class_cleanupsaddClassCleanupr?doClassCleanups)r%r+rBr_rbr r^r test_addClassCleanUps,      z%TestClassCleanup.test_addClassCleanUpcs`gdGfdddtj}t||ddggdt||ddddgdS) NTcs:eZdZefddZfddZefddZdS)z=TestClassCleanup.test_run_class_cleanUp..TestableTestcs$d|tr tdSN setUpClassrrcr"rclsrLr r rgs  zHTestClassCleanup.test_run_class_cleanUp..TestableTest.setUpClasscsddSrMr.r$rNr r r&szITestClassCleanup.test_run_class_cleanUp..TestableTest.testNothingcsddSN tearDownClassr.rirNr r rlszKTestClassCleanup.test_run_class_cleanUp..TestableTest.tearDownClassNr(r)r* classmethodrgr&rlr rLr r r+s  r+rgrFrBrl)rr<rr=rZr rLr test_run_class_cleanUps  z'TestClassCleanup.test_run_class_cleanUpcsFgGfdddtj}tj|}||ddddgdS)Ncs8eZdZefddZfddZefddZdS)zGTestClassCleanup.test_debug_executes_classCleanUp..TestableTestcsd|tdSrfrrcr"rirNr r rgs zRTestClassCleanup.test_debug_executes_classCleanUp..TestableTest.setUpClasscsddSrMr.r$rNr r r&szSTestClassCleanup.test_debug_executes_classCleanUp..TestableTest.testNothingcsddSrkr.rirNr r rlszUTestClassCleanup.test_debug_executes_classCleanUp..TestableTest.tearDownClassNrmr rNr r r+s  r+rgrBrlr)rr<rrrYr=)r%r+rr rNr test_debug_executes_classCleanUps  z1TestClassCleanup.test_debug_executes_classCleanUpc CsdGdddtj}dd}dd}|||||t}|||dW5QRXdS)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 tddSrRrr r r r r4szSTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp..cleanup1cSs tddSrSrrr r r r r6szSTestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUp..cleanup2r4)rr<rc assertRaisesrrdr=)r%r+r4r6er r r 0test_doClassCleanups_with_errors_addClassCleanUps   zATestClassCleanup.test_doClassCleanups_with_errors_addClassCleanUpcsZgGfdddtj}t|}||jdddd|ddd d d gdS) Ncs@eZdZefddZfddZddZefddZd S) zBTestClassCleanup.test_with_errors_addCleanUp..TestableTestcsd|tdSrfrprirNr r rgs zMTestClassCleanup.test_with_errors_addCleanUp..TestableTest.setUpClasscsd|jtdddSNrKTr!rr>r"r$rNr r rK s zHTestClassCleanup.test_with_errors_addCleanUp..TestableTest.setUpcSsdSrr r$r r r r&szNTestClassCleanup.test_with_errors_addCleanUp..TestableTest.testNothingcsddSrkr.rirNr r rlszPTestClassCleanup.test_with_errors_addCleanUp..TestableTest.tearDownClassNr(r)r*rnrgrKr&rlr rNr r r+s  r+rr-Exception: CleanUpExcrgrKrrlrrr<rr=rI splitlinesr%r+rTr rNr test_with_errors_addCleanUpsz,TestClassCleanup.test_with_errors_addCleanUpc s\gGfdddtj}t|}||jdddd|ddd d d d gdS) NcsDeZdZefddZfddZfddZefddZd S) zKTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTestcsd|jtdddSNrgTrwrprirNr r rgs zVTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTest.setUpClasscsd|tdSrVrxr$rNr r rK#s zQTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTest.setUpcsddSrMr.r$rNr r r&&szWTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTest.testNothingcsddSrkr.rirNr r rl(szYTestClassCleanup.test_run_with_errors_addClassCleanUp..TestableTest.tearDownClassNryr rNr r r+s   r+rr-rzr{rgrKrBrrlrr|r~r rNr $test_run_with_errors_addClassCleanUpsz5TestClassCleanup.test_run_with_errors_addClassCleanUpcs*gddGfdddtj}t|}||jdddd|dd d d d ggd dt|}||jdddd||jdddd|dd ggdd t|}||jdddd||jdddd|dd d d gdS)NFcsHeZdZefddZfddZfddZefddZd S) zUTestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTestcs*d|jtddr&tddS)NrgTrwClassExcrhri class_blow_upr r r rg9s z`TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTest.setUpClasscsdrtddSNrKZ MethodExcrr$method_blow_upr r r rK?s z[TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTest.setUpcsddSrMr.r$rNr r r&CszaTestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTest.testNothingcsddSrkr.rirNr r rlEszcTestClassCleanup.test_with_errors_in_addClassCleanup_and_setUps..TestableTest.tearDownClassNryr rrr r r r+8s  r+rr-rzr{rgrKrBrlrTException: ClassExcException: MethodExcr|r~r rr .test_with_errors_in_addClassCleanup_and_setUps3sTz?TestClassCleanup.test_with_errors_in_addClassCleanup_and_setUpsN) r(r)r*rerorqrurrrr 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||fdSr`r.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 rar7)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}tjW5QRX|t |j d |tjjgdS) Ncsd||fdSr]r.r/rr r module_cleanup_goodszcTestModuleCleanUp.test_doModuleCleanup_with_errors_in_addModuleCleanup..module_cleanup_goodc_s tddS)Nrrrr/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?rsrrstr exception)r%rrtr )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..cleanupc s`eZdZejddddeejddW5QRXeeW5QRXdS)zBTestModuleCleanUp.test_addModuleCleanup_arg_errors..Moduler-r5r8)functionrargN)r(r)r*rrrs TypeErrorr r"r%r r rs   rr-r5rr8)rrrrr=rr r"r3r%r test_addModuleCleanup_arg_errorss   z2TestModuleCleanUp.test_addModuleCleanup_arg_errorsc sdgGfdddt}Gfdddtj}d|_|tjd<t|}|ddg||jdd  d d gd t||dd ddddg|tj j gdS)NTcs.eZdZefddZefddZdS)z9TestModuleCleanUp.test_run_module_cleanUp..Modulecs&dttr"tddS)N setUpModulezsetUpModule Excrrrr"rr rLr r rs  zETestModuleCleanUp.test_run_module_cleanUp..Module.setUpModulecsddSNtearDownModuler.r rNr r rszHTestModuleCleanUp.test_run_module_cleanUp..Module.tearDownModuleNr(r)r* staticmethodrrr rLr r rsrcs8eZdZefddZfddZefddZdS)z?TestModuleCleanUp.test_run_module_cleanUp..TestableTestcsddSrfr.rirNr r rgszJTestModuleCleanUp.test_run_module_cleanUp..TestableTest.setUpClasscsddSrMr.r$rNr r r&szKTestModuleCleanUp.test_run_module_cleanUp..TestableTest.testNothingcsddSrkr.rirNr r rlszMTestModuleCleanUp.test_run_module_cleanUp..TestableTest.tearDownClassNrmr rNr r r+s  r+rrrr-rzzException: setUpModule ExcFrgrBrlr) rrr<r)sysmodulesrr=rIr}rrr%rr+rTr rLr test_run_module_cleanUps*   z)TestModuleCleanUp.test_run_module_cleanUpcs*ddgGfdddt}Gfdddt}Gfdddtj}Gfd d d tj}d|_|tjd<d|_|tjd<t|||d d d ddddd ggddt|||d ddddd d d ggddt|||d ddddd d ddddd g |tjj gdS)NTFcs.eZdZefddZefddZdS)zCTestModuleCleanUp.test_run_multiple_module_cleanUp..Module1cs$dttr tdSNrrr rLr r rs  zOTestModuleCleanUp.test_run_multiple_module_cleanUp..Module1.setUpModulecsddSrr.r rNr r rszRTestModuleCleanUp.test_run_multiple_module_cleanUp..Module1.tearDownModuleNrr rLr 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 rNr r rszRTestModuleCleanUp.test_run_multiple_module_cleanUp..Module2.tearDownModuleNrr rr r Module2srcs8eZdZefddZfddZefddZdS)zHTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTestcsddSrfr.rirNr r rgszSTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest.setUpClasscsddSrMr.r$rNr r r&szTTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest.testNothingcsddSrkr.rirNr r rlszVTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest.tearDownClassNrmr rNr r r+s  r+cs8eZdZefddZfddZefddZdS)zITestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest2csddS)N setUpClass2r.rirNr r rgszTTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest2.setUpClasscsddSNtest2r.r$rNr r r&szUTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest2.testNothingcsddS)NtearDownClass2r.rirNr r rlszWTestModuleCleanUp.test_run_multiple_module_cleanUp..TestableTest2.tearDownClassNrmr rNr r TestableTest2s  rrrrrrrrrgrBrlr) rrr<r)rrrr=rr)r%rrr+rr )r!rr r test_run_multiple_module_cleanUps`           z2TestModuleCleanUp.test_run_multiple_module_cleanUpc s~gGfdddt}Gfdddtj}d|_|tjd<tj|}|| ddddd d g| tj j gdS) Ncs,eZdZefddZefddZdS)zDTestModuleCleanUp.test_debug_module_executes_cleanUp..ModulecsdttdSrrrrr"r rNr r rs zPTestModuleCleanUp.test_debug_module_executes_cleanUp..Module.setUpModulecsddSrr.r rNr r rszSTestModuleCleanUp.test_debug_module_executes_cleanUp..Module.tearDownModuleNrr rNr r rsrcs8eZdZefddZfddZefddZdS)zJTestModuleCleanUp.test_debug_module_executes_cleanUp..TestableTestcsddSrfr.rirNr r rg#szUTestModuleCleanUp.test_debug_module_executes_cleanUp..TestableTest.setUpClasscsddSrMr.r$rNr r r&&szVTestModuleCleanUp.test_debug_module_executes_cleanUp..TestableTest.testNothingcsddSrkr.rirNr r rl(szXTestModuleCleanUp.test_debug_module_executes_cleanUp..TestableTest.tearDownClassNrmr rNr r r+"s  r+rrgrBrlrr) rrr<r)rrrrrYr=rr)r%rr+rr rNr "test_debug_module_executes_cleanUps    z4TestModuleCleanUp.test_debug_module_executes_cleanUpc sgfddGfdddtj}t|W5QRXttjj|dW5QRXt|dddd fgdS) Ncs||fdSrr.r/r2r r r"7szBTestModuleCleanUp.test_addClassCleanup_arg_errors..cleanupcs&eZdZefddZddZdS)zGTestModuleCleanUp.test_addClassCleanup_arg_errors..TestableTestc s<|jdddddt|jddW5QRXdS)Nr-r5r7rarrjr8r)rcrsrrirr r rg;s zRTestModuleCleanUp.test_addClassCleanup_arg_errors..TestableTest.setUpClasscSsdSrr r$r r r r&@szSTestModuleCleanUp.test_addClassCleanup_arg_errors..TestableTest.testNothingN)r(r)r*rnrgr&r rr r r+:sr+)rjrrr7rar)rr<rsrrcr>rr=rZr rr test_addClassCleanup_arg_errors5s   z1TestModuleCleanUp.test_addClassCleanup_arg_errorsc sgfddGfdddtj}t|W5QRXttjj|dW5QRXt|dddifd d d d fgdS) Ncs||fdSrr.r/r2r r r"Msz=TestModuleCleanUp.test_addCleanup_arg_errors..cleanupcs"eZdZfddZddZdS)zBTestModuleCleanUp.test_addCleanup_arg_errors..TestableTestc s<|jdddddt|jddW5QRXdS)Nr-r5r7rarr%r8r)r>Z assertWarnsDeprecationWarning)Zself2rr r rKQs zHTestModuleCleanUp.test_addCleanup_arg_errors..TestableTest.setUpcSsdSrr r$r r r r&UszNTestModuleCleanUp.test_addCleanup_arg_errors..TestableTest.testNothingN)r(r)r*rKr&r rr r r+Psr+)r%rr rr8rr7rar)rr<rsrr>rr=rZr rr test_addCleanup_arg_errorsKs     z,TestModuleCleanUp.test_addCleanup_arg_errorsc sgGfdddt}Gfdddtj}d|_|tjd<t|}||jdd dd|d d d d d ddgdS)Ncs,eZdZefddZefddZdS)zETestModuleCleanUp.test_with_errors_in_addClassCleanup..ModulecsdttdSrrr rNr r res zQTestModuleCleanUp.test_with_errors_in_addClassCleanup..Module.setUpModulecsddSrr.r rNr r riszTTestModuleCleanUp.test_with_errors_in_addClassCleanup..Module.tearDownModuleNrr rNr r rdsrcs8eZdZefddZfddZefddZdS)zKTestModuleCleanUp.test_with_errors_in_addClassCleanup..TestableTestcsd|jtdddSrrprirNr r rgns zVTestModuleCleanUp.test_with_errors_in_addClassCleanup..TestableTest.setUpClasscsddSrMr.r$rNr r r&rszWTestModuleCleanUp.test_with_errors_in_addClassCleanup..TestableTest.testNothingcsddSrkr.rirNr r rltszYTestModuleCleanUp.test_with_errors_in_addClassCleanup..TestableTest.tearDownClassNrmr rNr r r+ms  r+rr-rzr{rrgrBrlrrr rrr<r)rrrr=rIr}rr rNr #test_with_errors_in_addClassCleanupas    z5TestModuleCleanUp.test_with_errors_in_addClassCleanupc sgGfdddt}Gfdddtj}d|_|tjd<t|}||jdd dd|d d d d d ddgdS)Ncs,eZdZefddZefddZdS)z@TestModuleCleanUp.test_with_errors_in_addCleanup..ModulecsdttdSrrr rNr r rs zLTestModuleCleanUp.test_with_errors_in_addCleanup..Module.setUpModulecsddSrr.r rNr r rszOTestModuleCleanUp.test_with_errors_in_addCleanup..Module.tearDownModuleNrr rNr r rsrcs0eZdZfddZfddZfddZdS)zFTestModuleCleanUp.test_with_errors_in_addCleanup..TestableTestcsd|jtdddSrvrxr$rNr r rKs zLTestModuleCleanUp.test_with_errors_in_addCleanup..TestableTest.setUpcsddSrMr.r$rNr r r&szRTestModuleCleanUp.test_with_errors_in_addCleanup..TestableTest.testNothingcsddSrOr.r$rNr r rPszOTestModuleCleanUp.test_with_errors_in_addCleanup..TestableTest.tearDownNrQr rNr r r+s  r+rr-rzr{rrKrBrPrrrrrr rNr test_with_errors_in_addCleanups    z0TestModuleCleanUp.test_with_errors_in_addCleanupc sgdddGfdddt}Gfdddtj}d|_|tjd<t|}||jdd dd |d d d d dddggdddt|}||jdd dd ||jdd dd|d dggdddt|}||jdd dd||jdd dd |d d ddggdddt|}||jdd dd||jdd dd |d d d dddgdS)NFcs.eZdZefddZefddZdS)zQTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..Modulecs*dtjtddr&tddS)NrTrwZ ModuleExcrr module_blow_upr r r rs z]TestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..Module.setUpModulecsddSrr.r rNr 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)Nrgrrrirr r rgs zbTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTest.setUpClasscsdrtddSrrr$rr r rKs z]TestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTest.setUpcsddSrMr.r$rNr r r&szcTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTest.testNothingcsddSrkr.rirNr r rlszeTestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUps..TestableTest.tearDownClassNryr rr r r+s  r+rr-rzr{rrgrKrBrlrrTzException: ModuleExcrrrrr )rrrr r /test_with_errors_in_addModuleCleanup_and_setUpss|    zATestModuleCleanUp.test_with_errors_in_addModuleCleanup_and_setUpscsgfddfddfddGfdddt}Gfd d d tj}Gfd d d tj}d|_d|_|tjd<t|||d ddddddddddg dS)NcsddSrRr.r rNr r r4szMTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..cleanup1csddSrSr.r rNr r r6szMTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..cleanup2csddS)Ncleanup3r.r rNr r rszMTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..cleanup3cs.eZdZefddZefddZdS)zKTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..ModulecsdtdSr)rrrr rXr r rs zWTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..Module.setUpModulecsddSrr.r rNr r rszZTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..Module.tearDownModuleNrr rXr r rsrcs2eZdZfddZfddZfddZdS)zQTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..TestableTestcsd|dSrVrWr$r6r r r rKs zWTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..TestableTest.setUpcsddSrMr.r$rNr r r&sz]TestModuleCleanUp.test_module_cleanUp_with_multiple_classes..TestableTest.testNothingcsddSrOr.r$rNr r rP szZTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..TestableTest.tearDownNrQr rr r r+s r+cs2eZdZfddZfddZfddZdS)zVTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..OtherTestableTestcsd|dS)NsetUp2rWr$rr r r rK s z\TestModuleCleanUp.test_module_cleanUp_with_multiple_classes..OtherTestableTest.setUpcsddSrr.r$rNr r r&szbTestModuleCleanUp.test_module_cleanUp_with_multiple_classes..OtherTestableTest.testNothingcsddS)N tearDown2r.r$rNr r rPsz_TestModuleCleanUp.test_module_cleanUp_with_multiple_classes..OtherTestableTest.tearDownNrQr rr r OtherTestableTest s rrrKrBrPr6rrrrrr4)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@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZdS)Test_TextTestRunnerzTests for TextTestRunner.cCs tjd|_|jrtjd=dSNZPYTHONWARNINGS)osenvirongetpythonwarningsr$r r r rK"szTest_TextTestRunner.setUpcCs|jr|jtjd<dSr)rrrr$r r r rP)szTest_TextTestRunner.tearDowncCsht}||j||j||jd||jd||j ||j tj ||j dSr,) rrrFfailfastbufferr= verbositywarningsr@ 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 r:szGTest_TextTestRunner.test_multiple_inheritance..AResult.__init__)r(r)r*r __classcell__r rrr r9src@s eZdZdS)zBTest_TextTestRunner.test_multiple_inheritance..ATextResultN)r(r)r*r r r r ATextResult=srr-)rrr)r%rr rr test_multiple_inheritance8sz-Test_TextTestRunner.test_multiple_inheritancecsfGdddtj}ttjtddd}fdd|_||d|j |j dS)Nc@seZdZddZdS)z7Test_TextTestRunner.testBufferAndFailfast..TestcSsdSrr r$r r r testFooFsz?Test_TextTestRunner.testBufferAndFailfast..Test.testFooNr(r)r*rr r r r TestEsrT)r rrcsSrr r rTr r Lz;Test_TextTestRunner.testBufferAndFailfast..r) rr<rrrr _makeResultrr@rr)r%rrr rr testBufferAndFailfastDs  z)Test_TextTestRunner.testBufferAndFailfastcCs2tjtdd}|t}|d|jdS)NT)r r)rrrrrrr=r)r%rrTr r r test_localsRszTest_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 rYszCTest_TextTestRunner.testRunnerRegistersResult..Test.testFooNrr r r r rXsrcs tj_dSr)rrregisterResultr )originalRegisterResultr r r"\sz>Test_TextTestRunner.testRunnerRegistersResult..cleanup)r csSrr r rr r rcrz?Test_TextTestRunner.testRunnerRegistersResult..rcsjd7_|dSr,) wasRegisteredr=)Z thisResult)rTr%r r fakeRegisterResultfszITest_TextTestRunner.testRunnerRegistersResult..fakeRegisterResultr-)rr<rrr>rrrrrrrrr=)r%rr"rrr )rrTr%r testRunnerRegistersResultWs  z-Test_TextTestRunner.testRunnerRegistersResultcs@GdddtGfdddtj}|tdS)Nc@seZdZdZddZdS)zbTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..OldTextResultcSsdSrr r$r r r printErrorsqsznTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..OldTextResult.printErrorsNr(r)r*Z separator2rr r r r OldTextResultosrcs*eZdZfddZfddZZS)z[Test_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..Runnercst|tdSr)rrrrr$)Runnerrr r ruszdTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..Runner.__init__csSrr r$)rr r rxszgTest_TextTestRunner.test_works_with_result_without_startTestRun_stopTestRun..Runner._makeResultr(r)r*rrrr rrrr rtsr)rrrrrrr rr 7test_works_with_result_without_startTestRun_stopTestRunnszKTest_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 LoggingTextResultsrcs*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)NrDr5r-) 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 ddgf|}|||\}}W5QRX| d|| t |d d D]}| | |d q|||d fD]}| | |d qtj ddgtj dddgtj ddgf} | D]J} tj| f|}|||\}}W5QRX| d|| t |dqtjtj ddgf|}|||\}}W5QRX| d|| t |ddD]}| | |d q|||fD]}| | |d qdS)zx Check that warnings argument of TextTestRunner correctly affects the behavior of the warnings. cSsdd|DS)NcSsg|] }|qSr )r}).0br r r szPTest_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)rrrrN)r? subprocessPIPErpathdirname__file__Popenr executableZassertInr=lencount) r%rZoptsZae_msgZat_msgrouterrmsgZ args_listr0r r r test_warningssH          z!Test_TextTestRunner.test_warningscCs@tj}t}|t_zt}||jj|kW5|t_XdSr)rrrrrrr@r )r%Z old_stderrfrr r r %testStdErrLookedUpAtInstantiationTimesz9Test_TextTestRunner.testStdErrLookedUpAtInstantiationTimecCs(t}t|}||jj|kdSr)rrrrr@r )r%r/rr r r testSpecifiedStreamUseds z+Test_TextTestRunner.testSpecifiedStreamUsedN)r(r)r*__doc__rKrPrrrrrrrrrr.r0r1r r r r rs    9 r__main__)F)rrrrr"rZ unittest.caserZunittest.test.supportrrr rrr"r<r#r\rrr(mainr r r r s,  {=;W