U Æ:âetã@søddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z ddl mZddlZddlmZmZmZmZmZddlmZe d¡Ze d¡Ze d¡ZGd d „d eƒZGd d „d ejeeƒZe d krôe !¡dS)éN)Údeepcopy)Úsupport)Ú TestEqualityÚ TestHashingÚ LoggingResultÚLegacyLoggingResultÚ#ResultWithNoStartTestRunStopTestRun)Úcaptured_stderrÚfooúfoo.barÚquuxc@s@eZdZGdd„dejƒZGdd„deƒZGdd„dejƒZdS)ÚTestc@seZdZdd„Zdd„ZdS)zTest.FoocCsdS©N©©Úselfrrúd?„Z%d@dA„Z&dBdC„Z'dDdE„Z(e) *e+j,j-dFkdG¡dHdI„ƒZ.e) *e+j,j-dFkdG¡dJdK„ƒZ/dLdM„Z0dNdO„Z1dPdQ„Z2dRdS„Z3dTdU„Z4dVdW„Z5dXdY„Z6dZd[„Z7d\d]„Z8d^d_„Z9d`da„Z:dbdc„Z;ddde„Zdjdk„Z?dldm„Z@dndo„ZAdpdq„ZBdrds„ZCdtdu„ZDdvdw„ZEdxdy„ZFdzd{„ZGd|d}„ZHd~d„ZId€d„ZJd‚dƒ„ZKd„d…„ZLd†d‡„ZMdˆd‰„ZNdŠd‹„ZOdŒd„ZPdŽd„ZQdd‘„ZRd’d“„ZSd”d•„ZTd–d—„ZUd˜d™„ZVdšd›„ZWdœd„ZXdždŸ„ZYeZj[d d¡„ƒZ\d¢d£„Z]d¤d¥„Z^d¦d§„Z_d¨d©„Z`dªd«„Zad¬d­„Zbd®d¯„Zcd°d±„Zdd²d³„Zed´dµ„Zfd¶d·„Zgd¸d¹„Zhdºd»„Zid¼d½„Zjd¾d¿„ZkdÀdÁ„ZldÂdÄZmenjodÄdÅ„ƒZpdÆdÇ„ZqdÈS)ÉÚ Test_TestCaserrrc Cs†Gdd„dtjƒ}| |ƒ ¡dd…d¡t ¡}| dd¡| |j¡| dd¡W5QRX| t¡| ¡W5QRXdS)Nc@seZdZdd„Zdd„ZdS)z3Test_TestCase.test_init__no_test_name..TestcSs tƒ‚dSr©Ú MyExceptionrrrrrUrz;Test_TestCase.test_init__no_test_name..Test.runTestcSsdSrrrrrrrVrz8Test_TestCase.test_init__no_test_name..Test.testN©rrrrrrrrrr Tsr ióÿÿÿz .Test.runTestéé)r)r*Ú assertEqualÚidÚ assertRaisesÚfailureExceptionÚAttributeErrorÚrun)rr rrrrÚtest_init__no_test_nameSs  z%Test_TestCase.test_init__no_test_namecCs2Gdd„dtjƒ}| |dƒ ¡dd…d¡dS)Nc@seZdZdd„Zdd„ZdS)z7Test_TestCase.test_init__test_name__valid..TestcSs tƒ‚dSrr,rrrrrjrz?Test_TestCase.test_init__test_name__valid..Test.runTestcSsdSrrrrrrrkrz.Test.testNr.rrrrr isr riöÿÿÿz .Test.test)r)r*r1r2©rr rrrÚtest_init__test_name__validhsz)Test_TestCase.test_init__test_name__validcCsBGdd„dtjƒ}z |dƒWntk r2Yn X| d¡dS)Nc@seZdZdd„Zdd„ZdS)z9Test_TestCase.test_init__test_name__invalid..TestcSs tƒ‚dSrr,rrrrrurzATest_TestCase.test_init__test_name__invalid..Test.runTestcSsdSrrrrrrrvrz>Test_TestCase.test_init__test_name__invalid..Test.testNr.rrrrr tsr ZtestfoozFailed to raise ValueError)r)r*Ú ValueErrorÚfailr8rrrÚtest_init__test_name__invalidss  z+Test_TestCase.test_init__test_name__invalidcCs*Gdd„dtjƒ}| |dƒ ¡d¡dS)Nc@seZdZdd„ZdS)z.Test_TestCase.test_countTestCases..FoocSsdSrrrrrrrƒrz3Test_TestCase.test_countTestCases..Foo.testN©rrrrrrrrr‚srré)r)r*r1ZcountTestCases©rrrrrÚtest_countTestCasessz!Test_TestCase.test_countTestCasescCs2Gdd„dtjƒ}|ƒ ¡}| t|ƒtj¡dS)Nc@seZdZdd„ZdS)z1Test_TestCase.test_defaultTestResult..FoocSsdSrrrrrrrsz9Test_TestCase.test_defaultTestResult..Foo.runTestN©rrrrrrrrrŒsr)r)r*ÚdefaultTestResultr1ÚtypeÚ TestResult)rrÚresultrrrÚtest_defaultTestResult‹s z$Test_TestCase.test_defaultTestResultcsLg}t|ƒ}G‡fdd„dtjƒ‰ˆ|ƒ |¡ddddg}| ||¡dS)NcseZdZ‡‡fdd„Z‡ZS)z>Test_TestCase.test_run_call_order__error_in_setUp..Foocstˆ|ƒ ¡tdƒ‚dS©Nzraised by Foo.setUp©rr$Ú RuntimeErrorr©rr#rrr$ŸszDTest_TestCase.test_run_call_order__error_in_setUp..Foo.setUp)rrrr$r(r©rr"rržsrÚ startTestr$ÚaddErrorÚstopTest©rr rr6r1©rr!rEÚexpectedrrKrÚ#test_run_call_order__error_in_setUpšs  z1Test_TestCase.test_run_call_order__error_in_setUpcsFg}G‡fdd„dtjƒ‰ˆ|ƒ ¡ddddddg}| ||¡dS) Ncs&eZdZdd„Z‡‡fdd„Z‡ZS)zMTest_TestCase.test_run_call_order__error_in_setUp_default_result..FoocSs t|jƒSr©rr!rrrrrB¬sz_Test_TestCase.test_run_call_order__error_in_setUp_default_result..Foo.defaultTestResultcstˆ|ƒ ¡tdƒ‚dSrGrHrrJrrr$¯szSTest_TestCase.test_run_call_order__error_in_setUp_default_result..Foo.setUp)rrrrBr$r(rrKr"rr«srÚ startTestRunrLr$rMrNÚ stopTestRun©r rr6r1©rr!rQrrKrÚ2test_run_call_order__error_in_setUp_default_result¨s ÿz@Test_TestCase.test_run_call_order__error_in_setUp_default_resultcsPg}t|ƒ}G‡fdd„dtjƒ‰ddddddg}ˆ|ƒ |¡| ||¡dS) NcseZdZ‡‡fdd„Z‡ZS)z=Test_TestCase.test_run_call_order__error_in_test..Foocstˆ|ƒ ¡tdƒ‚dS©Núraised by Foo.test©rrrIrrJrrrÄszBTest_TestCase.test_run_call_order__error_in_test..Foo.test©rrrrr(rrKr"rrÃsrrLr$rr'rMrNrOrPrrKrÚ"test_run_call_order__error_in_test¿sÿz0Test_TestCase.test_run_call_order__error_in_testcsJg}G‡fdd„dtjƒ‰ddddddd d g}ˆ|ƒ ¡| ||¡dS) Ncs&eZdZdd„Z‡‡fdd„Z‡ZS)zLTest_TestCase.test_run_call_order__error_in_test_default_result..FoocSs t|jƒSrrSrrrrrBÓsz^Test_TestCase.test_run_call_order__error_in_test_default_result..Foo.defaultTestResultcstˆ|ƒ ¡tdƒ‚dSrYr[rrJrrrÖszQTest_TestCase.test_run_call_order__error_in_test_default_result..Foo.test©rrrrBrr(rrKr"rrÒsrrTrLr$rr'rMrNrUrVrWrrKrÚ1test_run_call_order__error_in_test_default_resultÏsÿ z?Test_TestCase.test_run_call_order__error_in_test_default_resultcsPg}t|ƒ}G‡fdd„dtjƒ‰ddddddg}ˆ|ƒ |¡| ||¡dS) NcseZdZ‡‡fdd„Z‡ZS)z?Test_TestCase.test_run_call_order__failure_in_test..Foocstˆ|ƒ ¡| d¡dSrY©rrr;rrJrrrëszDTest_TestCase.test_run_call_order__failure_in_test..Foo.testr\rrKr"rrêsrrLr$rr'Ú addFailurerNrOrPrrKrÚ$test_run_call_order__failure_in_testæsÿz2Test_TestCase.test_run_call_order__failure_in_testcsJG‡fdd„dtjƒ‰ddddddd d g}g}ˆ|ƒ ¡| ||¡dS) Ncs&eZdZdd„Z‡‡fdd„Z‡ZS)zNTest_TestCase.test_run_call_order__failure_in_test_default_result..FoocSs t|jƒSrrSrrrrrBøsz`Test_TestCase.test_run_call_order__failure_in_test_default_result..Foo.defaultTestResultcstˆ|ƒ ¡| d¡dSrYr`rrJrrrúszSTest_TestCase.test_run_call_order__failure_in_test_default_result..Foo.testr^rrKr"rr÷srrTrLr$rr'rarNrUrV)rrQr!rrKrÚ3test_run_call_order__failure_in_test_default_resultõsÿ zATest_TestCase.test_run_call_order__failure_in_test_default_resultcsPg}t|ƒ}G‡fdd„dtjƒ‰ˆ|ƒ |¡ddddddg}| ||¡dS) NcseZdZ‡‡fdd„Z‡ZS)zATest_TestCase.test_run_call_order__error_in_tearDown..Foocstˆ|ƒ ¡tdƒ‚dS©Nzraised by Foo.tearDown©rr'rIrrJrrr'szJTest_TestCase.test_run_call_order__error_in_tearDown..Foo.tearDown)rrrr'r(rrKr"rrsrrLr$rr'rMrNrOrPrrKrÚ&test_run_call_order__error_in_tearDown s ÿz4Test_TestCase.test_run_call_order__error_in_tearDowncsJG‡fdd„dtjƒ‰g}ˆ|ƒ ¡ddddddd d g}| ||¡dS) Ncs&eZdZdd„Z‡‡fdd„Z‡ZS)zPTest_TestCase.test_run_call_order__error_in_tearDown_default_result..FoocSs t|jƒSrrSrrrrrBszbTest_TestCase.test_run_call_order__error_in_tearDown_default_result..Foo.defaultTestResultcstˆ|ƒ ¡tdƒ‚dSrdrerrJrrr'szYTest_TestCase.test_run_call_order__error_in_tearDown_default_result..Foo.tearDown)rrrrBr'r(rrKr"rrsrrTrLr$rr'rMrNrUrVrWrrKrÚ5test_run_call_order__error_in_tearDown_default_results  ÿzCTest_TestCase.test_run_call_order__error_in_tearDown_default_resultcCs"Gdd„dtjƒ}|dƒ ¡dS)Nc@seZdZdd„Zdd„ZdS)z=Test_TestCase.test_run_call_order_default_result..FoocSstƒSr)rrrrrrB.szOTest_TestCase.test_run_call_order_default_result..Foo.defaultTestResultcSsdSrrrrrrr0szBTest_TestCase.test_run_call_order_default_result..Foo.testN)rrrrBrrrrrr-srr)r)r*r6r?rrrÚ"test_run_call_order_default_result+sz0Test_TestCase.test_run_call_order_default_resultcs4G‡fdd„dtjƒ‰ˆ|ƒ |¡| ||¡dS)NcseZdZ‡‡fdd„Z‡ZS)z6Test_TestCase._check_call_order__subtests..Fooc s„tˆ|ƒ ¡dD]d}|j|dN|dkr6| d¡dD]0}|j|d||dkr`tdƒ‚W5QRXq:W5QRXqdd dS) N)r>r0r/©Úir>Úfailure©r0r/©ÚjérZr)rrÚsubTestr;rI©rrjrnrJrrr7s   z;Test_TestCase._check_call_order__subtests..Foo.testr\rrKr"rr6srrV©rrEr!Zexpected_eventsrrKrÚ_check_call_order__subtests5sz)Test_TestCase._check_call_order__subtestsc Cs8g}t|ƒ}dddddddddddg }| |||¡dS) NrLr$rr'ÚaddSubTestFailureÚaddSubTestSuccessrMrN)rrsrPrrrÚtest_run_call_order__subtestsMsýz+Test_TestCase.test_run_call_order__subtestscCs.g}t|ƒ}ddddddg}| |||¡dS)NrLr$rr'rarN)rrsrPrrrÚ$test_run_call_order__subtests_legacyVsÿz2Test_TestCase.test_run_call_order__subtests_legacycs4G‡fdd„dtjƒ‰ˆ|ƒ |¡| ||¡dS)NcseZdZ‡‡fdd„Z‡ZS)z>Test_TestCase._check_call_order__subtests_success..Fooc sVtˆ|ƒ ¡dD]>}|j|d(dD]}|j|dW5QRXq(W5QRXqdS)N)r>r0rirlrm)rrrprqrJrrras zCTest_TestCase._check_call_order__subtests_success..Foo.testr\rrKr"rr`srrVrrrrKrÚ#_check_call_order__subtests_success_s z1Test_TestCase._check_call_order__subtests_successcCs<g}t|ƒ}ddddgddgddg}| |||¡dS) NrLr$rr'roruÚ addSuccessrN)rrxrPrrrÚ%test_run_call_order__subtests_successls ÿþz3Test_TestCase.test_run_call_order__subtests_successcCs.g}t|ƒ}ddddddg}| |||¡dS)NrLr$rr'ryrN)rrxrPrrrÚ,test_run_call_order__subtests_success_legacyvsÿz:Test_TestCase.test_run_call_order__subtests_success_legacycsVg}t|ƒ}d|_G‡fdd„dtjƒ‰dddddd g}ˆ|ƒ |¡| ||¡dS) NTcseZdZ‡‡fdd„Z‡ZS)zATest_TestCase.test_run_call_order__subtests_failfast..Fooc s`tˆ|ƒ ¡|jdd| d¡W5QRX|jdd| d¡W5QRX| d¡dS)Nr>rirkr0)rrrpr;rrJrrr„s zFTest_TestCase.test_run_call_order__subtests_failfast..Foo.testr\rrKr"rrƒsrrLr$rr'rtrN)rÚfailfastr rr6r1rPrrKrÚ&test_run_call_order__subtests_failfast~s ÿz4Test_TestCase.test_run_call_order__subtests_failfastcsVg‰G‡fdd„dtjƒ}t ¡}d|_t |¡}| |¡dddg}| ˆ|¡dS)Ncs0eZdZ‡fdd„Z‡fdd„Z‡fdd„ZdS)z1Test_TestCase.test_subtests_failfast..Fooc s,| ¡ˆ d¡W5QRXˆ d¡dS)NÚa1Úa2)rpr&r©r!rrÚtest_a–s z8Test_TestCase.test_subtests_failfast..Foo.test_ac sJ| ¡ˆ d¡W5QRX| ¡| d¡W5QRXˆ d¡dS)NÚb1rkZb2)rpr&r;rr€rrÚtest_b›s   z8Test_TestCase.test_subtests_failfast..Foo.test_bcsˆ d¡dS)NÚc©r&rr€rrÚtest_c¢sz8Test_TestCase.test_subtests_failfast..Foo.test_cN)rrrrrƒr†rr€rrr•s  rTr~rr‚)r)r*rDr|Z makeSuiter6r1)rrrEZsuiterQrr€rÚtest_subtests_failfast‘s   z$Test_TestCase.test_subtests_failfastcs:g‰G‡fdd„dtjƒ}|dƒ ¡| ˆddg¡dS)NcseZdZ‡fdd„ZdS)z.Test_TestCase.test_subtests_debug..Fooc s,ˆ d¡| ¡ˆ d¡W5QRXdS)Nú test caseú subtest 1)r&rprr€rrr²s  z5Test_TestCase.test_subtests_debug..Foo.test_aN)rrrrrr€rrr±srrrˆr‰)r)r*Údebugr1r?rr€rÚtest_subtests_debug­s z!Test_TestCase.test_subtests_debugcCs(Gdd„dtjƒ}| |dƒjt¡dS)Nc@seZdZdd„ZdS)z9Test_TestCase.test_failureException__default..FoocSsdSrrrrrrrÂsz>Test_TestCase.test_failureException__default..Foo.testNr=rrrrrÁsrr)r)r*ÚassertIsr4ÚAssertionErrorr?rrrÚtest_failureException__defaultÀsz,Test_TestCase.test_failureException__defaultcCsXg}t|ƒ}Gdd„dtjƒ}| |dƒjt¡|dƒ |¡dddg}| ||¡dS)Nc@seZdZdd„ZeZdS)zMTest_TestCase.test_failureException__subclassing__explicit_raise..FoocSs tƒ‚dSr)rIrrrrrÒszRTest_TestCase.test_failureException__subclassing__explicit_raise..Foo.testN©rrrrrIr4rrrrrÑsrrrLrarN©rr)r*rŒr4rIr6r1©rr!rErrQrrrÚ2test_failureException__subclassing__explicit_raiseÍs z@Test_TestCase.test_failureException__subclassing__explicit_raisecCsXg}t|ƒ}Gdd„dtjƒ}| |dƒjt¡|dƒ |¡dddg}| ||¡dS)Nc@seZdZdd„ZeZdS)zMTest_TestCase.test_failureException__subclassing__implicit_raise..FoocSs| d¡dS©Nr )r;rrrrrészRTest_TestCase.test_failureException__subclassing__implicit_raise..Foo.testNrrrrrrèsrrrLrarNrr‘rrrÚ2test_failureException__subclassing__implicit_raiseäs z@Test_TestCase.test_failureException__subclassing__implicit_raisecCs Gdd„dtjƒ}|ƒ ¡dS)Nc@seZdZdd„ZdS)z%Test_TestCase.test_setUp..FoocSsdSrrrrrrrøsz-Test_TestCase.test_setUp..Foo.runTestNrArrrrr÷sr)r)r*r$r?rrrÚ test_setUpöszTest_TestCase.test_setUpcCs Gdd„dtjƒ}|ƒ ¡dS)Nc@seZdZdd„ZdS)z(Test_TestCase.test_tearDown..FoocSsdSrrrrrrrsz0Test_TestCase.test_tearDown..Foo.runTestNrArrrrrsr)r)r*r'r?rrrÚ test_tearDownÿszTest_TestCase.test_tearDowncCs(Gdd„dtjƒ}| |ƒ ¡t¡dS)Nc@seZdZdd„ZdS)z"Test_TestCase.test_id..FoocSsdSrrrrrrrsz*Test_TestCase.test_id..Foo.runTestNrArrrrrsr)r)r*ÚassertIsInstancer2Ústrr?rrrÚtest_id szTest_TestCase.test_idcs\g‰tˆƒ‰G‡‡fdd„dtjƒ}|dƒ ¡}| |ˆ¡ddddddg}| ˆ|¡dS) Ncs$eZdZ‡fdd„Z‡fdd„ZdS)z;Test_TestCase.test_run__uses_defaultTestResult..Foocsˆ d¡dSrr…rr€rrrsz@Test_TestCase.test_run__uses_defaultTestResult..Foo.testcsˆSrrr)Ú defaultResultrrrB!szMTest_TestCase.test_run__uses_defaultTestResult..Foo.defaultTestResultN)rrrrrBr©ršr!rrrs rrrTrLryrNrU)rr)r*r6rŒr1)rrrErQrr›rÚ test_run__uses_defaultTestResults  ÿz.Test_TestCase.test_run__uses_defaultTestResultcCs8Gdd„dtjƒ}t ¡}|dƒ |¡}| ||¡dS)Nc@seZdZdd„ZdS)z9Test_TestCase.test_run__returns_given_result..FoocSsdSrrrrrrr1sz>Test_TestCase.test_run__returns_given_result..Foo.testNr=rrrrr0srr)r)r*rDr6rŒ)rrrEÚretvalrrrÚtest_run__returns_given_result.sz,Test_TestCase.test_run__returns_given_resultcsDt ¡‰t ¡‰G‡‡fdd„dtjƒ}|dƒˆƒ}| |ˆ¡dS)Ncs"eZdZdd„Z‡‡fdd„ZdS)zKTest_TestCase.test_call__invoking_an_instance_delegates_to_run..FoocSsdSrrrrrrrAszPTest_TestCase.test_call__invoking_an_instance_delegates_to_run..Foo.testcs| |ˆ¡ˆSr)rŒ)rrE©ZresultInZ resultOutrrr6Ds zOTest_TestCase.test_call__invoking_an_instance_delegates_to_run..Foo.runN)rrrrr6rrŸrrr@srr)r)rDr*rŒ)rrrrrŸrÚ0test_call__invoking_an_instance_delegates_to_run<s  z>Test_TestCase.test_call__invoking_an_instance_delegates_to_runcCs| | ¡¡dSr)Ú assertIsNoneÚshortDescriptionrrrrÚ$testShortDescriptionWithoutDocstringMsz2Test_TestCase.testShortDescriptionWithoutDocstringr0z)Docstrings are omitted with -O2 and abovecCs| | ¡d¡dS)Nz7Tests shortDescription() for a method with a docstring.©r1r¢rrrrÚ(testShortDescriptionWithOneLineDocstringPsþz6Test_TestCase.testShortDescriptionWithOneLineDocstringcCs| | ¡d¡dS)Nz>Tests shortDescription() for a method with a longer docstring.r¤rrrrÚ*testShortDescriptionWithMultiLineDocstringXs þz8Test_TestCase.testShortDescriptionWithMultiLineDocstringcCs| | ¡d¡dS)NzATests shortDescription() whitespace is trimmed, so that the firstr¤rrrrÚ&testShortDescriptionWhitespaceTrimmingfsþz4Test_TestCase.testShortDescriptionWhitespaceTrimmingcsVGdd„dtƒ‰ˆƒˆƒ}}| ||k¡d‡fdd„ }| ˆ|¡| ||¡dS)Nc@s eZdZdS)z7Test_TestCase.testAddTypeEqualityFunc..SadSnakeN©rrrrrrrÚSadSnakepsr©cs t|ƒt|ƒkoˆkSSr)rC)ÚaÚbÚmsg©r©rrÚAllSnakesCreatedEqualtszDTest_TestCase.testAddTypeEqualityFunc..AllSnakesCreatedEqual)N)ÚobjectÚ assertFalseZaddTypeEqualityFuncr1)rÚs1Ús2r®rr­rÚtestAddTypeEqualityFuncos  z%Test_TestCase.testAddTypeEqualityFunccCs,tƒ}| ||¡| |j|j|tƒ¡dSr)r¯rŒr3r4©rÚthingrrrÚ testAssertIs|s zTest_TestCase.testAssertIscCs,tƒ}| |tƒ¡| |j|j||¡dSr)r¯Z assertIsNotr3r4r´rrrÚtestAssertIsNotszTest_TestCase.testAssertIsNotcCs(g}| |t¡| |j|j|t¡dSr)r—Úlistr3r4Údictr´rrrÚtestAssertIsInstance†s   ÿz"Test_TestCase.testAssertIsInstancecCs(g}| |t¡| |j|j|t¡dSr)ZassertNotIsInstancer¹r3r4r¸r´rrrÚtestAssertNotIsInstanceŒs   ÿz%Test_TestCase.testAssertNotIsInstancecCsèddddœ}| dd¡| dddd g¡| d |¡| d d¡| d ddd g¡| d |¡| |j|jdd¡| |j|jdddd g¡| |j|jd|¡| |j|jdd¡| |j|jdddd g¡| |j|jd|¡dS)NZbananaZgrassZfish)ÚmonkeyÚcowZsealrªÚabcr0r>r/r¼ÚdrZotterÚxéZelephantr„r½)ÚassertInÚ assertNotInr3r4)rZanimalsrrrÚ testAssertIn’s"     ÿÿzTest_TestCase.testAssertInc Cs¤t ¡t dt¡| ii¡| iddi¡| ddiddi¡| ddidddœ¡| dddœdddœ¡| |j¡| ddii¡W5QRX| |j¡| ddiddi¡W5QRX| |j¡| ddiddi¡W5QRX| |j¡| dddœddi¡W5QRX| |j¡| dddœddi¡W5QRXd  d d „td ƒDƒ¡}| |j¡| d |id di¡W5QRXW5QRXdS)NÚignorerªr>r0©rªr«Úoner„)rªr„Úcss|]}t|ƒVqdSr)Úchr)Ú.0rjrrrÚ Àsz=Test_TestCase.testAssertDictContainsSubset..éÿr u�) ÚwarningsÚcatch_warningsÚ simplefilterÚDeprecationWarningÚassertDictContainsSubsetr3r4ÚjoinÚrange)rrÇrrrÚtestAssertDictContainsSubset§s(     z*Test_TestCase.testAssertDictContainsSubsetc Cs’diifggftƒtƒftƒtƒfg}|D]¼\}}z| ||¡Wn(|jk rj| d||f¡YnXz|j||ddWn(|jk r¨| d||f¡YnXz| ||d¡Wq*|jk rä| d||f¡Yq*Xq*dgfitƒftdd gƒtdd gƒftdd gƒtd d gƒftd dgƒtd dgƒfg}|D]L\}}| |j|j||¡| |j|j||d¡|j|j|j||ddq@dS) N)rrzassertEqual(%r, %r) failedr ©r¬z$assertEqual(%r, %r) with msg= failedz/assertEqual(%r, %r) with third parameter failedrrÁr>r0ér/)ÚsetÚ frozensetr1r4r;r3)rZ equal_pairsrªr«Z unequal_pairsrrrÚtestAssertEqualÅsF  û ÿû ÿÿzTest_TestCase.testAssertEqualcCs| gg¡| dd¡| gd¡ddgg}g}| tjj|j||¡| tjj|jt|ƒt|ƒ¡| tjj|j|t|ƒ¡| |¡| ||¡| t|ƒt|ƒ¡| |t|ƒ¡| t|ƒ|¡| |j|j|t|ƒ¡| |j|jt|ƒ|¡| |j|jd|¡| |j|jdt|ƒ¡| |j|jdt|ƒ¡| |j|jdd¡| |j|jdd¡| |j|jdd¡|  ii¡ddi}i}| tjj|j ||¡|  |¡|  ||¡d|d<| tjj|j ||d¡| |j|j d|¡| |j|j g|¡| |j|j dd¡dS)Nrrrªr>rÀzThese are unequal) ÚassertListEqualÚassertTupleEqualÚassertSequenceEqualr3r)r*r4ÚtupleÚextendÚassertDictEqualÚupdate)rrªr«r„r¿rrrÚ testEqualityês†     ÿ ÿ ÿ   ÿ ÿÿ ÿ ÿ  ÿ   ÿzTest_TestCase.testEqualityc CsÊ| |jd¡ddd}ddd}d t t |¡ ¡t |¡ ¡¡¡}tj j t |ƒdf}t |ƒd|_z|  ||¡Wn.|j k r®}z|jd }W5d}~XYn X| d ¡| t |ƒt |ƒ¡| ||¡t |ƒd|_z|  ||¡Wn0|j k r(}z|jd }W5d}~XYn X| d ¡| t |ƒt |ƒ¡| ||¡d|_z|  ||¡Wn0|j k rš}z|jd }W5d}~XYn X| d ¡| t |ƒt |ƒ¡| ||¡dS) Ni€rªrÀir«Ú r>r0rz!assertSequenceEqual did not fail.)r1ÚmaxDiffrÒÚdifflibZndiffÚpprintZpformatÚ splitlinesr)ÚcaseÚ DIFF_OMITTEDÚlenrÜr4Úargsr;Ú assertLessrÂÚ assertGreaterrÃ)rZseq1Zseq2ÚdiffÚomittedÚer¬rrrÚtestAssertSequenceEqualMaxDiffs>   ÿ     z,Test_TestCase.testAssertSequenceEqualMaxDiffcCsrd|_| dd¡}tjjtdƒ}| |d|¡d|_| dd¡}| |d¡d|_| dd¡}| |d¡dS)Nr>r ÚbarÚfoobarrÁ)rãÚ_truncateMessager)rçrèrér1)rÚmessagerîrrrÚtestTruncateMessageFs    z!Test_TestCase.testTruncateMessagec Cspt d¡}dd„}||_z| iddi¡Wn4|jk r`}z| t|ƒd¡W5d}~XYn X| d¡dS)Nr1cSsdSr“r©r¬rírrrÚtruncateVsz.truncater>rr zassertDictEqual did not fail)r)r*rórßr4r1r˜r;©rrr÷rïrrrÚtestAssertDictEqualTruncatesTs "z*Test_TestCase.testAssertDictEqualTruncatesc Cslt d¡}dd„}||_z| dd¡Wn4|jk r\}z| t|ƒd¡W5d}~XYn X| d¡dS)Nr1cSsdSr“rrörrrr÷bszATest_TestCase.testAssertMultiLineEqualTruncates..truncater rñz!assertMultiLineEqual did not fail)r)r*róÚassertMultiLineEqualr4r1r˜r;rørrrÚ!testAssertMultiLineEqualTruncates`s "z/Test_TestCase.testAssertMultiLineEqualTruncatesc s0ˆ ˆjd¡dˆ_ˆj‰dˆ_ˆ ‡‡fdd„¡d}ˆ ˆj¡}ˆ |d|d¡W5QRXˆ dt|jƒ¡ˆ |d|d¡d }d d „}ˆj ‰|ˆ_ ˆ ‡‡fd d„¡|d|d}}ˆ ˆj¡}ˆ ||¡W5QRXˆ  dt|jƒ¡ˆ t|jƒd ||f¡ˆ |d|d¡dS)Nié cs tˆdˆƒS©NÚ_diffThreshold©Úsetattrr©Ú old_thresholdrrrÚurz=Test_TestCase.testAssertEqual_diffThreshold..Zxxxxxxxxxxxxxxxxrªr«ú^Z@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcSs tdƒ‚dS)Nzthis should not be raised)Ú SystemError)rôrírrrÚexplodingTruncationƒszHTest_TestCase.testAssertEqual_diffThreshold..explodingTruncationcs tˆdˆƒS)Nrórÿr)Ú old_truncaterrrr‡rz%r != %r) r1rþrãÚ addCleanupr3r4rÂr˜Ú exceptionrórÃ)rÚsÚcmrr±r²r)rrrrÚtestAssertEqual_diffThresholdls*z+Test_TestCase.testAssertEqual_diffThresholdc s\ˆj‰dˆ_ˆ ‡‡fdd„¡d}|d|d}}ˆ ˆj¡}ˆ ||¡W5QRXd}ˆ t|jƒd||f¡ˆ |d|d¡d }|d||d|}}ˆ ˆj¡}ˆ ||¡W5QRXd }ˆ t|jƒd ||||f¡d }|d||d|}}ˆ ˆj¡}ˆ ||¡W5QRXd }d}ˆ t|jƒd ||||f¡dS)Nrcs tˆdˆƒSrýrÿrrrrr”rz7Test_TestCase.testAssertEqual_shorten..Zdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrªr«zKxxxx[35 chars]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz'%sa' != '%sb'Z2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzxxxx[85 chars]xxxxxxxxxxxz'%sa%s' != '%sb%s'Zdyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzxxxx[91 chars]xxxxxz6yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy[56 chars]yyyy)rþrr3r4r1r˜r )rr r±r²r r„Úpr¿rrrÚtestAssertEqual_shortens.z%Test_TestCase.testAssertEqual_shortenc Cstƒ}| dddgdddg¡| dddgdddg¡| ||dddg|dd|df¡| ddddgddd dg¡| |j|jddgdgd dgd ddg¡| |j|jddddgddd dg¡| |j|jd gd d g¡| |j|jd d gd g¡| |j|jd d d gd d g¡| ddgdd gdgddd gddgg¡| tddgdd gƒtddgdd gƒ¡| |j|jgtddddtƒg¡| ddiddigddiddig¡| ddtggtgddg¡| |j|jgtgddddtƒg¡| |j|jdggdgg¡| |j|jdddgddg¡| |j|jdddddgddd dg¡| |j|jdddidd gddid dg¡dd hddhg}|ddd…}| ||¡ttj   dd¡ƒ}ddddh}|  ||¡tj   ggg¡}|  |ddgfg¡ttj   dd¡ƒ}ddddh}|  ||¡dS)Nr>r0r/r rñZbazÚ2rªTédé é rÁrFrÀy@y@r«éÿÿÿÿZaaabccdZabbbcce)r/r>rª)r>r/r«)r>rr¿)rr>rï) r¯ÚassertCountEqualr3r4ÚiterÚdivmodrØr×r)ÚutilZ_count_diff_all_purposer1Z_count_diff_hashable)rrªr«ZdiffsrQrrrÚtestAssertCountEqual­s„  ÿ  ÿ ÿ ÿ ÿ(ÿ ÿ$ ÿ ÿ ÿ  ÿ  ÿ    z"Test_TestCase.testAssertCountEqualcCs„tƒ}tƒ}| ||¡| |j|jd|¡| |j|jg|¡| |j|j|d¡| |j|j|g¡tdgƒ}tƒ}| |j|j||¡tdgƒ}tdgƒ}| ||¡tdgƒ}tddgƒ}| |j|j||¡tdgƒ}tddgƒ}| |j|j||¡tddgƒ}tddgƒ}| ||¡tƒ}d}| |j|j||¡| |j|j||¡tddgƒ}tdgƒ}| |j|j||¡dS)Nrªr«r )rr>rl)rÁrÖ)r×ÚassertSetEqualr3r4rØ)rZset1Zset2rrrÚtestAssertSetEqualës:              z Test_TestCase.testAssertSetEqualcCs| dd¡| dd¡| dd¡| dd¡| dd¡| dd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| dd¡| dd¡| dd¡| dd¡| dd¡| dd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| dd¡| dd¡| dd¡| dd¡| dd¡| dd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| dd¡| dd¡| dd¡| dd¡| dd¡| dd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡| |j|jdd¡dS) Nr0r>gš™™™™™ñ?gð?ZbugZantsbugsant)rìZassertGreaterEqualrëZassertLessEqualr3r4rrrrÚtestInequalitysd                        ÿzTest_TestCase.testInequalityc Csld}d}d}d|_z| ||¡WnD|jk rf}z$t|ƒ dd¡d}| ||¡W5d}~XYnXdS)Nzxhttp://www.python.org/doc/2.3/lib/module-unittest.html test case A test case is the smallest unit of testing. [...] z×http://www.python.org/doc/2.4.1/lib/module-unittest.html test case A test case is the smallest unit of testing. [...] You may provide your own implementation that does not subclass from TestCase, of course. aá- http://www.python.org/doc/2.3/lib/module-unittest.html ? ^ + http://www.python.org/doc/2.4.1/lib/module-unittest.html ? ^^^ test case - A test case is the smallest unit of testing. [...] + A test case is the smallest unit of testing. [...] You may provide your ? +++++++++++++++++++++ + own implementation that does not subclass from TestCase, of course. râr>)rãrúr4r˜Úsplitr1©rZ sample_textZrevised_sample_textZsample_text_errorrïÚerrorrrrÚtestAssertMultiLineEqualMs z&Test_TestCase.testAssertMultiLineEqualc Csfd}d}d}z| ||¡WnD|jk r`}z$t|ƒ dd¡d}| ||¡W5d}~XYnXdS)Nzladen swallows fly slowlyzunladen swallows fly quicklyzr- laden swallows fly slowly ? ^^^^ + unladen swallows fly quickly ? ++ ^^^^^ râr>)r1r4r˜rrrrrÚtestAssertEqualSingleLinelsz'Test_TestCase.testAssertEqualSingleLinec sHtjjr‡fdd„}ndd„}|ƒ*ˆ ˆj¡ˆ dd¡W5QRXW5QRX|ƒˆ dd¡W5QRXddg}ddg}|ƒ*ˆ ˆj¡ˆ ||¡W5QRXW5QRX|ƒ2ˆ ˆj¡ˆ t |ƒt |ƒ¡W5QRXW5QRX|ƒ.ˆ ˆj¡ˆ  |t |ƒ¡W5QRXW5QRX|ƒ.ˆ ˆj¡ˆ  t |ƒ|¡W5QRXW5QRX|ƒ*ˆ ˆj¡ˆ  dd¡W5QRXW5QRX|ƒ2ˆ ˆj¡ˆ  t |ƒt |ƒ¡W5QRXW5QRXˆ ˆj¡ˆ |t |ƒ¡W5QRXˆ ˆj¡ˆ t |ƒ|¡W5QRXddg}dg}ˆ ˆj¡ˆ ||¡W5QRXˆ ˆj¡ˆ t |ƒt |ƒ¡W5QRXˆ ˆj¡ˆ  |t |ƒ¡W5QRXˆ ˆj¡ˆ  t |ƒ|¡W5QRXˆ ˆj¡ˆ  t |ƒt |ƒ¡W5QRXdg}ddg}ˆ ˆj¡ˆ ||¡W5QRXˆ ˆj¡ˆ t |ƒt |ƒ¡W5QRXˆ ˆj¡ˆ  |t |ƒ¡W5QRXˆ ˆj¡ˆ  t |ƒ|¡W5QRXˆ ˆj¡ˆ  t |ƒt |ƒ¡W5QRX|ƒ2ˆ ˆj¡ˆ  ddiddi¡W5QRXW5QRXˆ ˆj¡ˆ  iddi¡W5QRXˆ ˆj¡ˆ  ddii¡W5QRXˆ ˆj¡ˆ ddgdddg¡W5QRX|ƒˆ ddgddg¡W5QRX|ƒ2ˆ ˆj¡ˆ ddgddg¡W5QRXW5QRX|ƒ6ˆ ˆj¡ˆ ddggddgg¡W5QRXW5QRXdS)Ncs ˆ td¡S)Nz#Comparison between bytes and string)ÚassertWarnsRegexÚ BytesWarningrrrrÚ bytes_warning~sÿz=Test_TestCase.testEqualityBytesWarning..bytes_warningcSst ¡Sr)Ú contextlibÚ ExitStackrrrrr#‚srªóar)ÚsysÚflagsr#r3r4r1ZassertNotEqualrÚrÛrÝrÜrr×rßr)rr#rªr«rrrÚtestEqualityBytesWarning|s~  ($$ (( (z&Test_TestCase.testEqualityBytesWarningcCs<| d¡| |j|jd¡| d¡| |j|jd¡dS)NFzDjZoPloGears on Rails)r¡r3r4ZassertIsNotNonerrrrÚtestAssertIsNoneÈs  zTest_TestCase.testAssertIsNonecCs$| dd¡| |j|jdd¡dS)NZ asdfabasdfzab+ZsaaasZaaaa)Z assertRegexr3r4rrrrÚtestAssertRegexÎs   ÿzTest_TestCase.testAssertRegexc sºGdd„dtƒ‰‡fdd„}| ˆ|¡| tˆf|¡|jttddd| |j¡| ˆdd „¡W5QRX| t¡| ˆd¡W5QRX| ˆ¡| t|¡W5QRXdS) Nc@s eZdZdS)z=Test_TestCase.testAssertRaisesCallable..ExceptionMockNr¨rrrrÚ ExceptionMockÔsr,cs ˆdƒ‚dS©Nú We expectrr©r,rrÚStubÖsz4Test_TestCase.testAssertRaisesCallable..StubÚ19é©ÚbasecSsdS©Nrrrrrrrßrz8Test_TestCase.testAssertRaisesCallable..)Ú Exceptionr3r:Úintr4Ú TypeError©rr0rr/rÚtestAssertRaisesCallableÓs    z&Test_TestCase.testAssertRaisesCallablec sVGdd„dtƒ‰‡fdd„}| ˆ¡ |ƒW5QRX| tˆf¡ }|ƒW5QRX| |jˆ¡| |jjdd¡| t¡tddd W5QRX| |j¡| ˆ¡W5QRXW5QRX|  |jd ¡ |jˆd d W5QRXW5QRX|  t d ¡ |jˆd d W5QRXW5QRX| ˆ¡| t|¡W5QRXdS)Nc@s eZdZdS)z.ExceptionMockNr¨rrrrr,èsr,cs ˆdƒ‚dSr-rrr/rrr0êsz3Test_TestCase.testAssertRaisesContext..Stubrr.r1r2r3ròrÕé*©rò) r6r3r:r—r r1rêr7r4ÚassertRaisesRegexr8)rr0r rr/rÚtestAssertRaisesContextçs*     z%Test_TestCase.testAssertRaisesContextc Csª| t¡| ¡W5QRX| t¡| d¡W5QRX| t¡| t¡W5QRX| t¡| tdf¡W5QRX| t¡| ttf¡W5QRXdS©Nr>)r3r8r¯r:rrrrÚtestAssertRaisesNoExceptionTypes     z-Test_TestCase.testAssertRaisesNoExceptionTypecCs4dd„}t |¡}| t|¡| |t |¡¡dS)NcSs&zt‚Wntk r t‚YnXdSr)r:rrrrÚfuncsz4Test_TestCase.testAssertRaisesRefcount..func)r'Ú getrefcountr3r:r1)rrAZrefcountrrrÚtestAssertRaisesRefcounts  z&Test_TestCase.testAssertRaisesRefcountc sfGdd„dtƒ‰‡fdd„}| ˆt d¡|¡| ˆd|¡| t¡| ˆdd¡W5QRXdS)Nc@s eZdZdS)z:Test_TestCase.testAssertRaisesRegex..ExceptionMockNr¨rrrrr,!sr,cs ˆdƒ‚dSr-rrr/rrr0$sz1Test_TestCase.testAssertRaisesRegex..Stubzexpect$)r6r=ÚreÚcompiler3r8r9rr/rÚtestAssertRaisesRegex s   z#Test_TestCase.testAssertRaisesRegexc Cs¬| |jd|jtt d¡dd„¡| |jd|jtddd„¡| |jd¡"|jtdddW5QRXW5QRX| td¡"|jtdd d W5QRXW5QRXdS) Nz"^Exception not raised by $rÀcSsdSrrrrrrr0rz8Test_TestCase.testAssertNotRaisesRegex..cSsdSrrrrrrr4rròÚexpectrÕr;r<)r=r4r6rDrEr8rrrrÚtestAssertNotRaisesRegex,s,ýýz&Test_TestCase.testAssertNotRaisesRegexcCs*Gdd„dtƒ}| t|j|dd„¡dS)Nc@s eZdZdS)z>Test_TestCase.testAssertRaisesRegexInvalidRegex..MyExcNr¨rrrrÚMyExc@srIcSsdS©NTrrrrrrBrzATest_TestCase.testAssertRaisesRegexInvalidRegex..)r6r3r8r=)rrIrrrÚ!testAssertRaisesRegexInvalidRegex>sz/Test_TestCase.testAssertRaisesRegexInvalidRegexcCs*Gdd„dtƒ}| t|j|dd„¡dS)Nc@s eZdZdS)z>Test_TestCase.testAssertWarnsRegexInvalidRegex..MyWarnNr¨rrrrÚMyWarnFsrLcSsdSrJrrrrrrHrz@Test_TestCase.testAssertWarnsRegexInvalidRegex..)ÚWarningr3r8r!)rrLrrrÚ testAssertWarnsRegexInvalidRegexDsz.Test_TestCase.testAssertWarnsRegexInvalidRegexcCsLGdd„dtjƒ}|dƒtjd<z| ttjd¡W5tjd=tjd=XdS)Nc@seZdZedd„ƒZdS)z:Test_TestCase.testAssertWarnsModifySysModules..FoocSsdtjd<dS)Nrñú@bar@)r'ÚmodulesrrrrÚ__warningregistry__MszNTest_TestCase.testAssertWarnsModifySysModules..Foo.__warningregistry__N)rrrÚpropertyrQrrrrrLsrr z@foo@rOrQ)ÚtypesÚ ModuleTyper'rPÚ assertWarnsÚ UserWarningrÍÚwarnr?rrrÚtestAssertWarnsModifySysModulesJs z-Test_TestCase.testAssertWarnsModifySysModulesc CsBdd„}| |jd|jtd|¡| |jd|jtt d¡|¡dS)NcSs tdƒ‚dS)NZ Unexpected)r6rrrrr0Ysz9Test_TestCase.testAssertRaisesRegexMismatch..Stubz*"\^Expected\$" does not match "Unexpected"z ^Expected$)r=r4r6rDrEr9rrrÚtestAssertRaisesRegexMismatchXs"üüz+Test_TestCase.testAssertRaisesRegexMismatchc sjGdd„dtƒ‰‡fdd„}d}| ˆ¡}|||ƒW5QRX|j}| |ˆ¡| |jd|¡dS)Nc@s eZdZdS)z=Test_TestCase.testAssertRaisesExcValue..ExceptionMockNr¨rrrrr,hsr,cs ˆ|ƒ‚dSrr)r r/rrr0ksz4Test_TestCase.testAssertRaisesExcValue..Stubzparticular valuer)r6r3r r—r1rê)rr0ÚvÚctxrïrr/rÚtestAssertRaisesExcValuegs   z&Test_TestCase.testAssertRaisesExcValuec CsÒ| t¡| ¡W5QRX| t¡| t¡W5QRX| t¡| dd¡W5QRX| t¡| td¡W5QRX| t¡| tdfd¡W5QRX| t¡| ttfd¡W5QRXdS©Nr>rG)r3r8r=r:r¯rrrrÚ$testAssertRaisesRegexNoExceptionTypevs      z2Test_TestCase.testAssertRaisesRegexNoExceptionTypec Csdd„}| t|¡| t|¡| ttf|¡|jttjdtd| |j¡| tdd„¡W5QRX| t¡| td¡W5QRXt ¡6t  dt¡| |j¡| t|¡W5QRXW5QRXt ¡4t  dt¡| t¡| t|¡W5QRXW5QRXdS) NcSst dt¡dSr“©rÍrWÚRuntimeWarningrrrrÚ _runtime_warn…sz._runtime_warnr ©ÚcategorycSsdSr5rrrrrr‘rz7Test_TestCase.testAssertWarnsCallable..Údefaultr) rUr`rÐrÍrWr3r4r8rÎrÏ©rrarrrÚtestAssertWarnsCallable„s*  ÿ       z%Test_TestCase.testAssertWarnsCallablec Csdd„}t |¡d}| t¡ }|ƒW5QRX| ttf¡ }|ƒW5QRX| |jt¡| |jjdd¡|  d|j ¡| |j |d¡| t¡|ƒ|ƒW5QRX| t¡t j dtdW5QRX| |j¡| t¡W5QRXW5QRX| |jd¡ |jtdd W5QRXW5QRX| td¡ |jtd d W5QRXW5QRXt  ¡Ft  d t¡| |j¡"| t¡ |ƒW5QRXW5QRXW5QRXt  ¡Dt  d t¡| t¡"| t¡ |ƒW5QRXW5QRXW5QRXdS)NcSst dt¡dSr“r_rrrrra¤sz;Test_TestCase.testAssertWarnsContext.._runtime_warnr>rr ú test_case.pyrbròrÕr;r<rdr)ÚinspectÚgetsourcelinesrUr`rÐr—Úwarningr1rêrÂÚfilenameÚlinenorÍrWr3r4r=r8rÎrÏ©rraZ_runtime_warn_linenor rrrÚtestAssertWarnsContext¡sD       $    z$Test_TestCase.testAssertWarnsContextc CsÎ| t¡| ¡W5QRX| t¡| d¡W5QRX| t¡| t¡W5QRX| t¡| tdf¡W5QRX| t¡| ttf¡W5QRX| t¡| ttf¡W5QRXdSr?)r3r8rUr¯rVr6rrrrÚtestAssertWarnsNoExceptionTypeÑs      z,Test_TestCase.testAssertWarnsNoExceptionTypec Cs&dd„}| td|d¡| |j¡| tddd„¡W5QRX| t¡| tdd¡W5QRXt ¡:t dt¡| |j¡| td|d¡W5QRXW5QRX| |j¡| td|d¡W5QRXt ¡>t d t¡| t|jf¡| td|d¡W5QRXW5QRXdS) NcSst |t¡dSrr_rÕrrrraàszATest_TestCase.testAssertWarnsRegexCallable.._runtime_warnúo+ÚfooxcSsdSr5rrrrrrçrz.rdÚbarzr) r!r`r3r4r8rÍrÎrÏrÐrerrrÚtestAssertWarnsRegexCallableßs<ÿÿ   ÿÿ  ÿz*Test_TestCase.testAssertWarnsRegexCallablec Csdd„}t |¡d}| td¡}|dƒW5QRX| |jt¡| |jjdd¡| d|j ¡| |j |d¡|  |j ¡| td¡W5QRXW5QRX|  |j d¡"|jtddd W5QRXW5QRX|  td¡"|jtdd d W5QRXW5QRXt ¡Jt d t¡|  |j ¡&| td¡|dƒW5QRXW5QRXW5QRX|  |j ¡&| td¡|d ƒW5QRXW5QRXt ¡Nt dt¡|  t|j f¡&| td¡|d ƒW5QRXW5QRXW5QRXdS)NcSst |t¡dSrr_rÕrrrrasz@Test_TestCase.testAssertWarnsRegexContext.._runtime_warnr>rprqrrgròrÕr;r<rdrrr)rhrir!r`r—rjr1rêrÂrkrlr3r4r=r8rÍrÎrÏrÐrmrrrÚtestAssertWarnsRegexContexts<  &  z)Test_TestCase.testAssertWarnsRegexContextc Csø| t¡| ¡W5QRX| t¡| t¡W5QRX| t¡| dd¡W5QRX| t¡| td¡W5QRX| t¡| tdfd¡W5QRX| t¡| ttfd¡W5QRX| t¡| ttfd¡W5QRXdSr])r3r8r!rVr¯r6rrrrÚ#testAssertWarnsRegexNoExceptionType,s       z1Test_TestCase.testAssertWarnsRegexNoExceptionTypec cs,tƒ }dVW5QRX| | ¡d¡dS)NrÈ)r r1Úgetvalue)rÚbufrrrÚassertNoStderr<szTest_TestCase.assertNoStderrcCs^| t|ƒt|ƒ¡t||ƒD]:\}}| |tj¡| ¡D]\}}| t||ƒ|¡q| |j¡&| d¡t d¡W5QRXW5QRXW5QRXdS)Nr r–r’r rƒ)r†r3r4rrrrrrÚ&testAssertLogsFailureMismatchingLoggerŒs z4Test_TestCase.testAssertLogsFailureMismatchingLoggercCsÔ|jdf|jdf|jdf|jdf|jdf|jdf|jdf|jdf|jdf|j df|j t dd„ff|j df|j td d d td d d d ff|jtddd„ff|jdff}|D]&\}}| t¡||ŽW5QRXq¨dS)N)r/rÖ©r/r/)ç@r¢)g@g@)TcSsddS)Ng…ëQ¸ @Zspamr)Ú_rrrr£rz9Test_TestCase.testDeprecatedMethodNames..)Fr>r0rÆr/)rªr«r„r cSsidSr“rrrrrr¦r)rñrñ)Ú failIfEqualZassertNotEqualsÚfailUnlessEqualZ assertEqualsÚfailUnlessAlmostEqualZassertAlmostEqualsÚfailIfAlmostEqualZassertNotAlmostEqualsÚ failUnlessZassert_ÚfailUnlessRaisesr8ÚfailIfrÑr¹ZassertRaisesRegexpÚKeyErrorZassertRegexpMatchesrUrÐ)rÚoldÚmethrêrrrÚtestDeprecatedMethodNames”s&ñ  z'Test_TestCase.testDeprecatedMethodNamesc CsXtjdd…dkrdSddddddd d g}|D]$}| t¡t||ƒW5QRXq.dS) Nr0r¡r¤r¥r¦r§r¨r©rªrÑ)r'Ú version_infor3r5r})rZdeprecated_namesZdeprecated_namerrrÚ_testDeprecatedFailMethods¯sý z(Test_TestCase._testDeprecatedFailMethodscCs&Gdd„dtjƒ}|dƒ}t|ƒdS)Nc@seZdZdd„ZdS)z0Test_TestCase.testDeepcopy..TestableTestcSsdSrrrrrrÚ testNothing¿sz.TestableTest.testNothingN)rrrr±rrrrÚ TestableTest¾sr²r±)r)r*r)rr²rrrrÚ testDeepcopy¼szTest_TestCase.testDeepcopycCsVt d¡}ttjdƒD]8}tj||d}t |¡}| ||¡| tƒtƒ¡qdS)Nr6r>)Úprotocol) r)r*rÓÚpickleÚHIGHEST_PROTOCOLÚdumpsÚloadsr1r×)rrr´Z pickled_testZunpickled_testrrrÚ testPickleÇs    zTest_TestCase.testPicklec s¦ddd„‰dd„‰G‡fdd„dtjƒ}G‡‡fdd„dtjƒ}G‡‡fd d „d tjƒ}G‡fd d „d tjƒ}||||fD]&}| t¡|d ƒ ¡W5QRXqzdS)NcSst‚dSr)ÚKeyboardInterruptrrrrÚ_raiseÙsz3Test_TestCase.testKeyboardInterrupt.._raisecSsdSrrrrrrÚnothingÛsz4Test_TestCase.testKeyboardInterrupt..nothingcseZdZ”ZdS)z2Test_TestCase.testKeyboardInterrupt..Test1N©rrrÚtest_somethingr©r»rrÚTest1ÞsrÀcseZdZ”Z”ZdS)z2Test_TestCase.testKeyboardInterrupt..Test2N©rrrr$r¾r©r»r¼rrÚTest2ásrÃcseZdZ”Z”ZdS)z2Test_TestCase.testKeyboardInterrupt..Test3N©rrrr¾r'rrÂrrÚTest3åsrÅcseZdZ‡fdd„ZdS)z2Test_TestCase.testKeyboardInterrupt..Test4cs| ˆ¡dSr©rrr¿rrr¾êszATest_TestCase.testKeyboardInterrupt..Test4.test_somethingNr½rr¿rrÚTest4ésrÇr¾)N)r)r*r3rºr6)rrÀrÃrÅrÇÚklassrrÂrÚtestKeyboardInterruptØs  z#Test_TestCase.testKeyboardInterruptcsºddd„‰dd„‰G‡fdd„dtjƒ}G‡‡fdd„dtjƒ}G‡‡fd d „d tjƒ}G‡fd d „d tjƒ}||||fD]:}t ¡}|d ƒ |¡| t|jƒd¡| |jd¡qzdS)NcSst d¡‚dS)Nz some reason)r)ZSkipTestrrrrÚ_skipòsz3Test_TestCase.testSkippingEverywhere.._skipcSsdSrrrrrrr¼ôsz5Test_TestCase.testSkippingEverywhere..nothingcseZdZ”ZdS)z3Test_TestCase.testSkippingEverywhere..Test1Nr½r©rÊrrrÀ÷srÀcseZdZ”Z”ZdS)z3Test_TestCase.testSkippingEverywhere..Test2NrÁr©rÊr¼rrrÃúsrÃcseZdZ”Z”ZdS)z3Test_TestCase.testSkippingEverywhere..Test3NrÄrrÌrrrÅþsrÅcseZdZ‡fdd„ZdS)z3Test_TestCase.testSkippingEverywhere..Test4cs| ˆ¡dSrrÆrrËrrr¾szBTest_TestCase.testSkippingEverywhere..Test4.test_somethingNr½rrËrrrÇsrÇr¾r>)N)r)r*rDr6r1réZskippedÚtestsRun©rrÀrÃrÅrÇrÈrErrÌrÚtestSkippingEverywhereñs z$Test_TestCase.testSkippingEverywherecsºddd„‰dd„‰G‡fdd„dtjƒ}G‡‡fdd„dtjƒ}G‡‡fd d „d tjƒ}G‡fd d „d tjƒ}||||fD]:}t ¡}|d ƒ |¡| t|jƒd¡| |jd¡qzdS)NcSst‚dSr)Ú SystemExitrrrrr» sz,Test_TestCase.testSystemExit.._raisecSsdSrrrrrrr¼sz-Test_TestCase.testSystemExit..nothingcseZdZ”ZdS)z+Test_TestCase.testSystemExit..Test1Nr½rr¿rrrÀsrÀcseZdZ”Z”ZdS)z+Test_TestCase.testSystemExit..Test2NrÁrrÂrrrÃsrÃcseZdZ”Z”ZdS)z+Test_TestCase.testSystemExit..Test3NrÄrrÂrrrÅsrÅcseZdZ‡fdd„ZdS)z+Test_TestCase.testSystemExit..Test4cs| ˆ¡dSrrÆrr¿rrr¾sz:Test_TestCase.testSystemExit..Test4.test_somethingNr½rr¿rrrÇsrÇr¾r>)N)r)r*rDr6r1réÚerrorsrÍrÎrrÂrÚtestSystemExit s zTest_TestCase.testSystemExitc Cs8t ¡}t |¡}t ¡~| |ƒ¡W5QRXdSr)r)r*ÚweakrefÚrefrZ disable_gcr°)rrçÚwrrrrÚ testNoCycles's   zTest_TestCase.testNoCyclescsVG‡fdd„dtƒ‰G‡fdd„dtjƒ}dD]"}||ƒ}| ¡| ˆjd¡q.dS)Ncs(eZdZdZ‡fdd„Z‡fdd„ZdS)z9Test_TestCase.test_no_exception_leak..MyExceptionrcsˆjd7_t |¡dSr?)Ú ninstancer6r rr,rrr 5szBTest_TestCase.test_no_exception_leak..MyException.__init__csˆjd8_dSr?)r×rr,rrÚ__del__9szATest_TestCase.test_no_exception_leak..MyException.__del__N)rrrr×r rØrr,rrr-2s r-cs*eZdZ‡fdd„Zej‡fdd„ƒZdS)z6Test_TestCase.test_no_exception_leak..TestCasecs ˆƒ‚dSrrrr,rrr=sz.TestCase.test1cs ˆƒ‚dSrrrr,rrr@sz.TestCase.test2N)rrrrr)ZexpectedFailurerrr,rrr*<s r*)rrr)r6r)r*r6r1r×)rr*Z method_nameZtestcaserr,rÚtest_no_exception_leak/s  z$Test_TestCase.test_no_exception_leakN)rrrrr rZeq_pairsrZne_pairsr7r9r<r@rFrRrXr]r_rbrcrfrgrhrsrvrwrxrzr{r}r‡r‹rŽr’r”r•r–r™rœržr r£r)ZskipIfr'r(Úoptimizer¥r¦r§r³r¶r·rºr»rÄrÔrÙrárðrõrùrûr rrrrrr r)r*r+r:r>r@rCrFrHrKrNrXrYr\r^rfrnrorsrtrur$Úcontextmanagerrxr‚rŒr‘r•r—ršrœrrŸr r®r°r³r¹rÉrÏrÒrZ cpython_onlyrÖrÙrrrrr+9sÜþ          ÿ ÿ   %4(  $>(:L    0!,       r+Ú__main__)"r$rärårµrDr'rzrÍrÓrhrSÚcopyrrrr)Zunittest.test.supportrrrrrZ test.supportr r›r‡r‰rr¯r r*r+rÚmainrrrrÚsH