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@sDeZdZdZGdd„dejƒZGdd„deƒZGdd„dejƒZdS) ÚTestz5Keep these TestCase classes out of the main namespacec@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+r2r3©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Úfailr9rrrÚ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+r2ZcountTestCases©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+ÚdefaultTestResultr2Ú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 rr7r2©rr!rFÚexpectedrrLrÚ#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!rrrrrC¬sz_Test_TestCase.test_run_call_order__error_in_setUp_default_result..Foo.defaultTestResultcstˆ|ƒ ¡tdƒ‚dSrHrIrrKrrr$¯szSTest_TestCase.test_run_call_order__error_in_setUp_default_result..Foo.setUp)rrrrCr$r)rrLr"rr«srÚ startTestRunrMr$rNrOÚ stopTestRun©r rr7r2©rr!rRrrLrÚ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©rrrJrrKrrrÄszBTest_TestCase.test_run_call_order__error_in_test..Foo.test©rrrrr)rrLr"rrÃsrrMr$rr'rNrOrPrQrrLrÚ"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ƒSrrTrrrrrCÓsz^Test_TestCase.test_run_call_order__error_in_test_default_result..Foo.defaultTestResultcstˆ|ƒ ¡tdƒ‚dSrZr\rrKrrrÖszQTest_TestCase.test_run_call_order__error_in_test_default_result..Foo.test©rrrrCrr)rrLr"rrÒsrrUrMr$rr'rNrOrVrWrXrrLrÚ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¡dSrZ©rrr<rrKrrrëszDTest_TestCase.test_run_call_order__failure_in_test..Foo.testr]rrLr"rrêsrrMr$rr'Ú addFailurerOrPrQrrLrÚ$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ƒSrrTrrrrrCøsz`Test_TestCase.test_run_call_order__failure_in_test_default_result..Foo.defaultTestResultcstˆ|ƒ ¡| d¡dSrZrarrKrrrúszSTest_TestCase.test_run_call_order__failure_in_test_default_result..Foo.testr_rrLr"rr÷srrUrMr$rr'rbrOrVrW)rrRr!rrLrÚ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'rJrrKrrr'szJTest_TestCase.test_run_call_order__error_in_tearDown..Foo.tearDown)rrrr'r)rrLr"rrsrrMr$rr'rNrOrPrQrrLrÚ&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ƒSrrTrrrrrCszbTest_TestCase.test_run_call_order__error_in_tearDown_default_result..Foo.defaultTestResultcstˆ|ƒ ¡tdƒ‚dSrerfrrKrrr'szYTest_TestCase.test_run_call_order__error_in_tearDown_default_result..Foo.tearDown)rrrrCr'r)rrLr"rrsrrUrMr$rr'rNrOrVrWrXrrLrÚ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)rrrrrrC.szOTest_TestCase.test_run_call_order_default_result..Foo.defaultTestResultcSsdSrrrrrrr0szBTest_TestCase.test_run_call_order_default_result..Foo.testN)rrrrCrrrrrr-srr)r*r+r7r@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?r1r0©Úir?Úfailure©r1r0©Újér[r)rrÚsubTestr<rJ©rrkrorKrrr7s   z;Test_TestCase._check_call_order__subtests..Foo.testr]rrLr"rr6srrW©rrFr!Zexpected_eventsrrLrÚ_check_call_order__subtests5sz)Test_TestCase._check_call_order__subtestsc Cs8g}t|ƒ}dddddddddddg }| |||¡dS) NrMr$rr'ÚaddSubTestFailureÚaddSubTestSuccessrNrO)rrtrQrrrÚtest_run_call_order__subtestsMsýz+Test_TestCase.test_run_call_order__subtestscCs.g}t|ƒ}ddddddg}| |||¡dS)NrMr$rr'rbrO)rrtrQrrrÚ$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?r1rjrmrn)rrrqrrrKrrras zCTest_TestCase._check_call_order__subtests_success..Foo.testr]rrLr"rr`srrWrsrrLrÚ#_check_call_order__subtests_success_s z1Test_TestCase._check_call_order__subtests_successcCs<g}t|ƒ}ddddgddgddg}| |||¡dS) NrMr$rr'rprvÚ addSuccessrO)rryrQrrrÚ%test_run_call_order__subtests_successls ÿþz3Test_TestCase.test_run_call_order__subtests_successcCs.g}t|ƒ}ddddddg}| |||¡dS)NrMr$rr'rzrO)rryrQrrrÚ,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?rjrlr1)rrrqr<rrKrrr„s zFTest_TestCase.test_run_call_order__subtests_failfast..Foo.testr]rrLr"rrƒsrrMr$rr'rurO)rÚfailfastr rr7r2rQrrLrÚ&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)rqr&r©r!rrÚtest_a–s z8Test_TestCase.test_subtests_failfast..Foo.test_ac sJ| ¡ˆ d¡W5QRX| ¡| d¡W5QRXˆ d¡dS)NÚb1rlZb2)rqr&r<rrrrÚtest_b›s   z8Test_TestCase.test_subtests_failfast..Foo.test_bcsˆ d¡dS)NÚc©r&rrrrÚtest_c¢sz8Test_TestCase.test_subtests_failfast..Foo.test_cN)rrrr‚r„r‡rrrrr•s  rTrr€rƒ)r*r+rEr}Z makeSuiter7r2)rrrFZsuiterRrrrÚ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&rqrrrrr‚²s  z5Test_TestCase.test_subtests_debug..Foo.test_aN)rrrr‚rrrrr±srr‚r‰rŠ)r*r+Údebugr2r@rrrÚ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+ÚassertIsr5Ú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)rJrrrrrÒszRTest_TestCase.test_failureException__subclassing__explicit_raise..Foo.testN©rrrrrJr5rrrrrÑsrrrMrbrO©rr*r+rr5rJr7r2©rr!rFrrRrrrÚ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èsrrrMrbrOr‘r’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.runTestNrBrrrrr÷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.runTestNrBrrrrrsr)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.runTestNrBrrrrrsr)r*r+ÚassertIsInstancer3Ú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†rrrrrsz@Test_TestCase.test_run__uses_defaultTestResult..Foo.testcsˆSrrr)Ú defaultResultrrrC!szMTest_TestCase.test_run__uses_defaultTestResult..Foo.defaultTestResultN)rrrrrCr©r›r!rrrs rrrUrMrzrOrV)rr*r+r7rr2)rrrFrRrrœ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+rEr7r)rrrFÚ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)rrF©ZresultInZ resultOutrrr7Ds zOTest_TestCase.test_call__invoking_an_instance_delegates_to_run..Foo.runN)rrrrr7rr rrr@srr)r*rEr+r)rrržrr 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.testShortDescriptionWithoutDocstringr1z)Docstrings are omitted with -O2 and abovecCs| | ¡d¡dS)z7Tests shortDescription() for a method with a docstring.N©r2r£rrrrÚ(testShortDescriptionWithOneLineDocstringPsþz6Test_TestCase.testShortDescriptionWithOneLineDocstringcCs| | ¡d¡dS)zîTests shortDescription() for a method with a longer docstring. This method ensures that only the first line of a docstring is returned used in the short description, no matter how long the whole thing is. z>Tests shortDescription() for a method with a longer docstring.Nr¥rrrrÚ*testShortDescriptionWithMultiLineDocstringXs þz8Test_TestCase.testShortDescriptionWithMultiLineDocstringcCs| | ¡d¡dS)z– Tests shortDescription() whitespace is trimmed, so that the first line of nonwhite-space text becomes the docstring. zATests shortDescription() whitespace is trimmed, so that the firstNr¥rrrrÚ&testShortDescriptionWhitespaceTrimmingfsþz4Test_TestCase.testShortDescriptionWhitespaceTrimmingcsVGdd„dtƒ‰ˆƒˆƒ}}| ||k¡d‡fdd„ }| ˆ|¡| ||¡dS)Nc@seZdZdZdS)z7Test_TestCase.testAddTypeEqualityFunc..SadSnakez)Dummy class for test_addTypeEqualityFunc.N)rrrr(rrrrÚSadSnakepsr©cs t|ƒt|ƒkoˆkSSr)rD)ÚaÚbÚmsg©r©rrÚAllSnakesCreatedEqualtszDTest_TestCase.testAddTypeEqualityFunc..AllSnakesCreatedEqual)N)ÚobjectÚ assertFalseZaddTypeEqualityFuncr2)rÚs1Ús2r®rr­rÚtestAddTypeEqualityFuncos  z%Test_TestCase.testAddTypeEqualityFunccCs,tƒ}| ||¡| |j|j|tƒ¡dSr)r¯rr4r5©rÚthingrrrÚ testAssertIs|s zTest_TestCase.testAssertIscCs,tƒ}| |tƒ¡| |j|j||¡dSr)r¯Z assertIsNotr4r5r´rrrÚtestAssertIsNotszTest_TestCase.testAssertIsNotcCs(g}| |t¡| |j|j|t¡dSr)r˜Úlistr4r5Údictr´rrrÚtestAssertIsInstance†s   ÿz"Test_TestCase.testAssertIsInstancecCs(g}| |t¡| |j|j|t¡dSr)ZassertNotIsInstancer¹r4r5r¸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ªÚabcr1r?r0r¼ÚdrZotterÚxéZelephantr…r½)ÚassertInÚ assertNotInr4r5)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?r1©rªr«Úoner…)rªr…Úcss|]}t|ƒVqdSr)Úchr)Ú.0rkrrrÚ Àsz=Test_TestCase.testAssertDictContainsSubset..éÿr u�) ÚwarningsÚcatch_warningsÚ simplefilterÚDeprecationWarningÚassertDictContainsSubsetr4r5Ú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?r1ér0)ÚsetÚ frozensetr2r5r<r4)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ÚassertSequenceEqualr4r*r+r5Ú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?r1rz!assertSequenceEqual did not fail.)r2ÚmaxDiffrÒÚdifflibZndiffÚpprintZpformatÚ splitlinesr*ÚcaseÚ DIFF_OMITTEDÚlenrÜr5Ú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ér2)rÚmessagerîrrrÚtestTruncateMessageFs    z!Test_TestCase.testTruncateMessagec Cspt d¡}dd„}||_z| iddi¡Wn4|jk r`}z| t|ƒd¡W5d}~XYn X| d¡dS)Nr2cSsdSr”r©r¬rírrrÚtruncateVsz.truncater?rr zassertDictEqual did not fail)r*r+rórßr5r2r™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)Nr2cSsdSr”rrörrrr÷bszATest_TestCase.testAssertMultiLineEqualTruncates..truncater rñz!assertMultiLineEqual did not fail)r*r+róÚassertMultiLineEqualr5r2r™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) r2rþrãÚ addCleanupr4r5rÂ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þrr4r5r2r™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?r1r0r rñZbazÚ2rªTédé é rÁrFrÀy@y@r«éÿÿÿÿZaaabccdZabbbcce)r0r?rª)r?r0r«)r?rr¿)rr?rï) r¯ÚassertCountEqualr4r5ÚiterÚdivmodrØr×r*ÚutilZ_count_diff_all_purposer2Z_count_diff_hashable)rrªr«ZdiffsrRrrrÚ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?rm)rÁrÖ)r×ÚassertSetEqualr4r5rØ)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) Nr1r?gš™™™™™ñ?gð?ZbugZantsbugsant)rìZassertGreaterEqualrëZassertLessEqualr4r5rrrrÚ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úr5r™Úsplitr2©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?)r2r5r™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#r4r5r2ZassertNotEqualrÚ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¢r4r5ZassertIsNotNonerrrrÚtestAssertIsNoneÈs  zTest_TestCase.testAssertIsNonecCs$| dd¡| |j|jdd¡dS)NZ asdfabasdfzab+ZsaaasZaaaa)Z assertRegexr4r5rrrrÚ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..ExceptionMockN©rrrrrrrÚ ExceptionMockÔsr-cs ˆdƒ‚dS©Nú We expectrr©r-rrÚStubÖsz4Test_TestCase.testAssertRaisesCallable..StubÚ19é©ÚbasecSsdS©Nrrrrrrrßrz8Test_TestCase.testAssertRaisesCallable..)Ú Exceptionr4r;Úintr5Ú TypeError©rr1rr0rÚ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.rrr0rrr1êsz3Test_TestCase.testAssertRaisesContext..Stubrr/r2r3r4ròrÕé*©rò) r7r4r;r˜r r2rêr8r5ÚassertRaisesRegexr9)rr1r rr0rÚtestAssertRaisesContextçs*     z%Test_TestCase.testAssertRaisesContextc Csª| t¡| ¡W5QRX| t¡| d¡W5QRX| t¡| t¡W5QRX| t¡| tdf¡W5QRX| t¡| ttf¡W5QRXdS©Nr?)r4r9r¯r;rrrrÚtestAssertRaisesNoExceptionTypes     z-Test_TestCase.testAssertRaisesNoExceptionTypecCs4dd„}t |¡}| t|¡| |t |¡¡dS)NcSs&zt‚Wntk r t‚YnXdSr)r;rrrrÚfuncsz4Test_TestCase.testAssertRaisesRefcount..func)r'Ú getrefcountr4r;r2)rrBZrefcountrrrÚ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.rrr0rrr1$sz1Test_TestCase.testAssertRaisesRegex..Stubzexpect$)r7r>ÚreÚcompiler4r9r:rr0rÚ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>r5r7rErFr9rrrrÚtestAssertNotRaisesRegex,s,ýýz&Test_TestCase.testAssertNotRaisesRegexcCs*Gdd„dtƒ}| t|j|dd„¡dS)Nc@s eZdZdS)z>Test_TestCase.testAssertRaisesRegexInvalidRegex..MyExcNr,rrrrÚMyExc@srJcSsdS©NTrrrrrrBrzATest_TestCase.testAssertRaisesRegexInvalidRegex..)r7r4r9r>)rrJrrrÚ!testAssertRaisesRegexInvalidRegex>sz/Test_TestCase.testAssertRaisesRegexInvalidRegexcCs*Gdd„dtƒ}| t|j|dd„¡dS)Nc@s eZdZdS)z>Test_TestCase.testAssertWarnsRegexInvalidRegex..MyWarnNr,rrrrÚMyWarnFsrMcSsdSrKrrrrrrHrz@Test_TestCase.testAssertWarnsRegexInvalidRegex..)ÚWarningr4r9r!)rrMrrrÚ 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ÚpropertyrRrrrrrLsrr z@foo@rPrR)ÚtypesÚ ModuleTyper'rQÚ assertWarnsÚ UserWarningrÍÚwarnr@rrrÚtestAssertWarnsModifySysModulesJs z-Test_TestCase.testAssertWarnsModifySysModulesc CsBdd„}| |jd|jtd|¡| |jd|jtt d¡|¡dS)NcSs tdƒ‚dS)NZ Unexpected)r7rrrrr1Ysz9Test_TestCase.testAssertRaisesRegexMismatch..Stubz*"\^Expected\$" does not match "Unexpected"z ^Expected$)r>r5r7rErFr:rrrÚ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 r0rrr1ksz4Test_TestCase.testAssertRaisesExcValue..Stubzparticular valuer)r7r4r r˜r2rê)rr1ÚvÚctxrïrr0rÚtestAssertRaisesExcValuegs   z&Test_TestCase.testAssertRaisesExcValuec CsÒ| t¡| ¡W5QRX| t¡| t¡W5QRX| t¡| dd¡W5QRX| t¡| td¡W5QRX| t¡| tdfd¡W5QRX| t¡| ttfd¡W5QRXdS©Nr?rH)r4r9r>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ÍrXÚRuntimeWarningrrrrÚ _runtime_warn…sz._runtime_warnr ©ÚcategorycSsdSr6rrrrrr‘rz7Test_TestCase.testAssertWarnsCallable..Údefaultr) rVrarÐrÍrXr4r5r9rÎrÏ©rrbrrrÚ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`rrrrrb¤sz;Test_TestCase.testAssertWarnsContext.._runtime_warnr?rr ú test_case.pyrcròrÕr<r=rer)ÚinspectÚgetsourcelinesrVrarÐr˜Úwarningr2rêrÂÚfilenameÚlinenorÍrXr4r5r>r9rÎrÏ©rrbZ_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@)r4r9rVr¯rWr7rrrrÚ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ÕrrrrbàszATest_TestCase.testAssertWarnsRegexCallable.._runtime_warnúo+ÚfooxcSsdSr6rrrrrrçrz.reÚbarzr) r!rar4r5r9rÍrÎrÏrÐrfrrrÚ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Õrrrrbsz@Test_TestCase.testAssertWarnsRegexContext.._runtime_warnr?rqrrrrhròrÕr<r=rersr)rirjr!rar˜rkr2rêrÂrlrmr4r5r>r9rÍrÎrÏrÐrnrrrÚ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^)r4r9r!rWr¯r7rrrrÚ#testAssertWarnsRegexNoExceptionType,s       z1Test_TestCase.testAssertWarnsRegexNoExceptionTypec cs,tƒ }dVW5QRX| | ¡d¡dS)NrÈ)r r2Ú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‡r4r5r‘rrrrrÚ&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)zY Test that the deprecated methods raise a DeprecationWarning. See #9424. )r0rÖ©r0r0)ç@r£)g@g@)TcSsddS)Ng…ëQ¸ @Zspamr)Ú_rrrr£rz9Test_TestCase.testDeprecatedMethodNames..)Fr?r1rÆr0)rªr«r…r cSsidSr”rrrrrr¦r)rñrñN)Ú failIfEqualZassertNotEqualsÚfailUnlessEqualZ assertEqualsÚfailUnlessAlmostEqualZassertAlmostEqualsÚfailIfAlmostEqualZassertNotAlmostEqualsÚ failUnlessZassert_ÚfailUnlessRaisesr9ÚfailIfrÑr¹ZassertRaisesRegexpÚKeyErrorZassertRegexpMatchesrVrÐ)rÚoldÚmethrêrrrÚtestDeprecatedMethodNames”s&ñ  z'Test_TestCase.testDeprecatedMethodNamesc CsXtjdd…dkrdSdddddd d d g}|D]$}| t¡t||ƒW5QRXq.dS) z9Test that the deprecated fail* methods get removed in 3.xNr1r¢r¥r¦r§r¨r©rªr«rÑ)r'Ú version_infor4r6r~)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)Nr7r?)Úprotocol) r*r+rÓÚpickleÚHIGHEST_PROTOCOLÚdumpsÚloadsr2r×)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+r4r»r7)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+rEr7r2réZskippedÚtestsRun©rrÁrÄrÆrÈrÉrFrrÍ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+rEr7r2réÚ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@)Ú ninstancer7r 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)r7r*r+r7r2rØ)rr+Z method_nameZtestcaserr-rÚtest_no_exception_leak/s  z$Test_TestCase.test_no_exception_leakN)rrrrr rZeq_pairsrZne_pairsr8r:r=rArGrSrYr^r`rcrdrgrhrirtrwrxryr{r|r~rˆrŒrr“r•r–r—ršrrŸ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?rArDrGrIrLrOrYrZr]r_rgrorprtrurvr$Úcontextmanagerryrƒrr’r–r˜r›rržr r¡r¯r±r´rºrÊrÐrÓrZ cpython_onlyr×rÚrrrrr,9sÜþ          ÿ ÿ   %4(  $>(:L    0!,       r,Ú__main__)"r$rärår¶rEr'r{rÍrÔrirTÚcopyrrrr*Zunittest.test.supportrrrrrZ test.supportr rœrˆrŠr‘r¯r r+r,rÚmainrrrrÚsH