a :êdg¨aã@sÒddlZddlZddlZddlmZddlZddlZGdd„deƒZdd„Z Gdd„dej ƒZ e ej jƒZd D] Zee=qndd d „Zeed <ed efeƒZGd d„dej ƒZGdd„dej ƒZedkrÎe ¡dS)éN)Úsupportc@seZdZGdd„dƒZdS)Ú MockTracebackc@seZdZdd„Zdd„ZdS)z MockTraceback.TracebackExceptioncOs| dd¡|_dS)NÚcapture_localsF)Úgetr)ÚselfÚargsÚkwargs©r ú5/usr/local/lib/python3.9/unittest/test/test_result.pyÚ__init__ sz)MockTraceback.TracebackException.__init__cCsdg}|jr| d¡|S)Nz A tracebackÚlocals)rÚappend©rÚresultr r r Úformats z'MockTraceback.TracebackException.formatN)Ú__name__Ú __module__Ú __qualname__r rr r r r ÚTracebackException srN)rrrrr r r r r srcCs ttj_dS©N)Ú tracebackÚunittestrr r r r Úrestore_tracebacksrc@seZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Ze ejjd!kd"¡d#d$„ƒZe ejjd!kd"¡d%d&„ƒZe ejjd!kd"¡d'd(„ƒZe ejjd!kd"¡d)d*„ƒZd+d,„Zd-d.„Zd/d0„Zd1S)2ÚTest_TestResultcCsrt ¡}| | ¡¡| t|jƒd¡| t|jƒd¡| |jd¡| |j d¡|  |j ¡|  |j ¡dS©NrF) rÚ TestResultÚ assertTrueÚ wasSuccessfulÚ assertEqualÚlenÚerrorsÚfailuresÚtestsRunÚ shouldStopZ assertIsNoneZ_stdout_bufferZ_stderr_bufferrr r r Ú test_init#s zTest_TestResult.test_initcCs"t ¡}| ¡| |jd¡dS©NT)rrÚstoprr#rr r r Ú test_stop1szTest_TestResult.test_stopcCsˆGdd„dtjƒ}|dƒ}t ¡}| |¡| | ¡¡| t|jƒd¡| t|j ƒd¡| |j d¡| |j d¡|  |¡dS)Nc@seZdZdd„ZdS)z+Test_TestResult.test_startTest..FoocSsdSrr ©rr r r Útest_1<sz2Test_TestResult.test_startTest..Foo.test_1N©rrrr)r r r r ÚFoo;sr+r)réF© rÚTestCaserÚ startTestrrrrr r!r"r#ÚstopTest©rr+Útestrr r r Útest_startTest:s zTest_TestResult.test_startTestcCsÖGdd„dtjƒ}|dƒ}t ¡}| |¡| | ¡¡| t|jƒd¡| t|j ƒd¡| |j d¡| |j d¡|  |¡| | ¡¡| t|jƒd¡| t|j ƒd¡| |j d¡| |j d¡dS)Nc@seZdZdd„ZdS)z*Test_TestResult.test_stopTest..FoocSsdSrr r(r r r r)Qsz1Test_TestResult.test_stopTest..Foo.test_1Nr*r r r r r+Psr+r)rr,Fr-r1r r r Ú test_stopTestOs  zTest_TestResult.test_stopTestcCst ¡}| ¡| ¡dSr)rrÚ startTestRunÚ stopTestRunrr r r Útest_startTestRun_stopTestRunjsz-Test_TestResult.test_startTestRun_stopTestRuncCs’Gdd„dtjƒ}|dƒ}t ¡}| |¡| |¡| |¡| | ¡¡| t |j ƒd¡| t |j ƒd¡| |j d¡| |j d¡dS)Nc@seZdZdd„ZdS)z,Test_TestResult.test_addSuccess..FoocSsdSrr r(r r r r)„sz3Test_TestResult.test_addSuccess..Foo.test_1Nr*r r r r r+ƒsr+r)rr,F)rr.rr/Ú addSuccessr0rrrrr r!r"r#r1r r r Útest_addSuccess‚s   zTest_TestResult.test_addSuccesscCsÞGdd„dtjƒ}|dƒ}z| d¡Wnt ¡}Yn0t ¡}| |¡| ||¡| |¡|  |  ¡¡|  t |j ƒd¡|  t |jƒd¡|  |jd¡|  |jd¡|jd\}}| ||¡| |t¡dS)Nc@seZdZdd„ZdS)z,Test_TestResult.test_addFailure..FoocSsdSrr r(r r r r)«sz3Test_TestResult.test_addFailure..Foo.test_1Nr*r r r r r+ªsr+r)Úfoorr,F)rr.ÚfailÚsysÚexc_inforr/Ú addFailurer0Ú assertFalserrrr r!r"r#ÚassertIsÚassertIsInstanceÚstr©rr+r2Úexc_info_tuplerÚ test_caseÚ formatted_excr r r Útest_addFailure©s$    zTest_TestResult.test_addFailurecCsÚGdd„dtjƒ}|dƒ}z tƒ‚Wnt ¡}Yn0t ¡}| |¡| ||¡| |¡|  |  ¡¡|  t |j ƒd¡|  t |jƒd¡|  |jd¡|  |jd¡|j d\}}| ||¡| |t¡dS)Nc@seZdZdd„ZdS)z*Test_TestResult.test_addError..FoocSsdSrr r(r r r r)Ûsz1Test_TestResult.test_addError..Foo.test_1Nr*r r r r r+Úsr+r)r,rF)rr.Ú TypeErrorr<r=rr/ÚaddErrorr0r?rrrr r!r"r#r@rArBrCr r r Ú test_addErrorÙs$     zTest_TestResult.test_addErrorcCs„Gdd„dtjƒ}|dƒ}t ¡}d|_ttj_| t¡|  ¡|  |¡|  ¡|  t |jƒd¡|jd\}}|  d|¡dS)Nc@seZdZdd„ZdS)z1Test_TestResult.test_addError_locals..FoocSs dddS©Nr,rr r(r r r r)ösz8Test_TestResult.test_addError_locals..Foo.test_1Nr*r r r r r+õsr+r)Tr,rzA tracebacklocals)rr.rÚ tb_localsrrrÚ addCleanuprr5Úrunr6rrr )rr+r2rrErFr r r Útest_addError_localsôs  z$Test_TestResult.test_addError_localscsÖG‡‡‡fdd„dtjƒ}d‰|dƒ‰t ¡‰ˆ ˆ¡| ˆ ¡¡| tˆjƒd¡| tˆj ƒd¡| ˆj d¡| ˆj d¡ˆjd\}}|  |ˆ¡|  d|¡ˆj d\}}|  |ˆ¡|  d|¡dS) NcseZdZ‡‡‡fdd„ZdS)z,Test_TestResult.test_addSubTest..Fooc sv|jddV|j‰z ddWnty:t ¡}Yn0ˆ ˆˆ|¡| d¡Wdƒn1sh0YdS)Nr,©r:rúsome recognizable failure)ÚsubTestÚ_subtestÚZeroDivisionErrorr<r=Z addSubTestr;)rrD©rZsubtestr2r r r) s  z3Test_TestResult.test_addSubTest..Foo.test_1Nr*r rUr r r+sr+r)r,FrrTrQ)rr.rrNr?rrrr r!r"r#r@ZassertIn)rr+rErFr rUr Útest_addSubTests     zTest_TestResult.test_addSubTestcCs,t ddd¡}| | |¡dtd¡dS)NTr,z$testGetDescriptionWithoutDocstring (z.Test_TestResult)©rÚTextTestResultrÚgetDescriptionrrr r r Ú"testGetDescriptionWithoutDocstring)sÿþz2Test_TestResult.testGetDescriptionWithoutDocstringcCs°|jddd:t ddd¡}| | |j¡dtd¡Wdƒn1sN0Y| d¡:t ddd¡}| | |j¡dtd¡Wdƒn1s¢0YdS) Nr,é©r:ÚbarTz+testGetSubTestDescriptionWithoutDocstring (z .Test_TestResult) (foo=1, bar=2)z some messagez .Test_TestResult) [some message]©rRrrXrrYrSrrr r r Ú)testGetSubTestDescriptionWithoutDocstring0s  ÿþ"  ÿþz9Test_TestResult.testGetSubTestDescriptionWithoutDocstringcCsV| ¡:t ddd¡}| | |j¡dtd¡Wdƒn1sH0YdS)NTr,z4testGetSubTestDescriptionWithoutDocstringAndParams (z.Test_TestResult) ()r^rr r r Ú2testGetSubTestDescriptionWithoutDocstringAndParams>s  ÿÿþzBTest_TestResult.testGetSubTestDescriptionWithoutDocstringAndParamsc Csld}t ddd¡}ddgfD]J}| |¡,| | |j¡|t|f¡Wdƒq1s\0YqdS)NzAtestGetSubTestDescriptionForFalsyValues (%s.Test_TestResult) [%s]Tr,r©rrXrRrrYrSr)rZexpectedrÚargr r r Ú'testGetSubTestDescriptionForFalsyValuesFs   þz7Test_TestResult.testGetSubTestDescriptionForFalsyValuesc Csˆ|jddh|jddd:t ddd¡}| | |j¡dtd¡Wdƒn1s\0YWdƒn1sz0YdS) Nr,rPr[é©Zbazr]Tz1testGetNestedSubTestDescriptionWithoutDocstring (z'.Test_TestResult) (baz=2, bar=3, foo=1)r^rr r r Ú/testGetNestedSubTestDescriptionWithoutDocstringPs ÿÿþz?Test_TestResult.testGetNestedSubTestDescriptionWithoutDocstringc CsŠ|jdddh|jddd:t ddd¡}| | |j¡dtd ¡Wdƒn1s^0YWdƒn1s|0YdS) Nr,r[r\rdéreTz;testGetDuplicatedNestedSubTestDescriptionWithoutDocstring (z'.Test_TestResult) (baz=3, bar=4, foo=1)r^rr r r Ú9testGetDuplicatedNestedSubTestDescriptionWithoutDocstringYs ÿÿþzITest_TestResult.testGetDuplicatedNestedSubTestDescriptionWithoutDocstringr[z)Docstrings are omitted with -O2 and abovecCs,t ddd¡}| | |¡dtd¡dS)NTr,z(testGetDescriptionWithOneLineDocstring (zG.Test_TestResult) Tests getDescription() for a method with a docstring.rWrr r r Ú&testGetDescriptionWithOneLineDocstringbsÿÿþz6Test_TestResult.testGetDescriptionWithOneLineDocstringcCs\t ddd¡}|jddd,| | |j¡dtd¡Wdƒn1sN0YdS)NTr,r[r\z/testGetSubTestDescriptionWithOneLineDocstring (zV.Test_TestResult) (foo=1, bar=2) Tests getDescription() for a method with a docstring.rarr r r Ú-testGetSubTestDescriptionWithOneLineDocstringms ÿÿþz=Test_TestResult.testGetSubTestDescriptionWithOneLineDocstringcCs,t ddd¡}| | |¡dtd¡dS)NTr,z*testGetDescriptionWithMultiLineDocstring (zN.Test_TestResult) Tests getDescription() for a method with a longer docstring.rWrr r r Ú(testGetDescriptionWithMultiLineDocstringysÿÿþz8Test_TestResult.testGetDescriptionWithMultiLineDocstringcCs\t ddd¡}|jddd,| | |j¡dtd¡Wdƒn1sN0YdS)NTr,r[r\z1testGetSubTestDescriptionWithMultiLineDocstring (z].Test_TestResult) (foo=1, bar=2) Tests getDescription() for a method with a longer docstring.rarr r r Ú/testGetSubTestDescriptionWithMultiLineDocstring‡s ÿÿþz?Test_TestResult.testGetSubTestDescriptionWithMultiLineDocstringcCsHGdd„dtƒ}t ¡}| | |¡¡d|jjd<| | |¡¡dS)Nc@seZdZGdd„deƒZdS)z5Test_TestResult.testStackFrameTrimming..Framec@seZdZiZdS)z>Test_TestResult.testStackFrameTrimming..Frame.tb_frameN)rrrÚ f_globalsr r r r Útb_frame˜srnN)rrrÚobjectrnr r r r ÚFrame—srpTZ __unittest)rorrr?Z_is_relevant_tb_levelrnrmr)rrprr r r ÚtestStackFrameTrimming–s  z&Test_TestResult.testStackFrameTrimmingcCs’t ¡}dd„|_d|_| dd¡| |j¡t ¡}dd„|_d|_| dd¡| |j¡t ¡}dd„|_d|_| d¡| |j¡dS)NcWsdS©NÚr ©Ú_r r r Ú¢óz.Test_TestResult.testFailFast..TcWsdSrrr rtr r r rv¨rwcWsdSrrr rtr r r rv®rw) rrZ_exc_info_to_stringÚfailfastrIrr#r>ÚaddUnexpectedSuccessrr r r Ú testFailFast s        zTest_TestResult.testFailFastcs,tjt ¡dd}‡fdd„}| |¡}dS)NT)Ústreamrxcsˆ |j¡dSr)rrx)rr(r r r2µsz5Test_TestResult.testFailFastSetByRunner..test)rÚTextTestRunnerÚioÚStringIOrN)rÚrunnerr2rr r(r ÚtestFailFastSetByRunner³s z'Test_TestResult.testFailFastSetByRunnerN)rrrr$r'r3r4r7r9rGrJrOrVrZr_r`rcrfrhrZskipIfr<ÚflagsÚoptimizerirjrkrlrqrzr€r r r r rsF  '0"   ÿ ÿ ÿ ÿ  r)ZaddSkipZaddExpectedFailureryr cCs(g|_g|_d|_d|_d|_d|_dSr)r!r r"r#ÚbufferrL)rr{Z descriptionsÚ verbosityr r r r ¿s r Ú OldResultc@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) ÚTest_OldTestResultcCsTt dtf¡2tƒ}| |¡| t|jƒ|¡Wdƒn1sF0YdS)NzTestResult has no add.+ method,)rZcheck_warningsÚRuntimeWarningr…rNrrr!)rr2r!rr r r ÚassertOldResultWarningÌs ÿ z)Test_OldTestResult.assertOldResultWarningcCs>Gdd„dtjƒ}dD]"\}}||ƒ}| |t| ƒ¡qdS)Nc@s0eZdZdd„Zejdd„ƒZejdd„ƒZdS)z2Test_OldTestResult.testOldTestResult..TestcSs| d¡dS)NZfoobar©ZskipTestr(r r r ÚtestSkipÕsz;Test_OldTestResult.testOldTestResult..Test.testSkipcSst‚dSr)rHr(r r r ÚtestExpectedFail×szCTest_OldTestResult.testOldTestResult..Test.testExpectedFailcSsdSrr r(r r r ÚtestUnexpectedSuccessÚszHTest_OldTestResult.testOldTestResult..Test.testUnexpectedSuccessN)rrrrŠrZexpectedFailurer‹rŒr r r r ÚTestÔs  r))rŠT)r‹T)rŒF)rr.rˆÚint)rrZ test_nameZ should_passr2r r r ÚtestOldTestResultÓs z$Test_OldTestResult.testOldTestResultcCs&Gdd„dtjƒ}| |dƒd¡dS)Nc@seZdZdd„Zdd„ZdS)z7Test_OldTestResult.testOldTestTesultSetup..TestcSs| d¡dS)Nú no reasonr‰r(r r r ÚsetUpæsz=Test_OldTestResult.testOldTestTesultSetup..Test.setUpcSsdSrr r(r r r ÚtestFooèsz?Test_OldTestResult.testOldTestTesultSetup..Test.testFooN)rrrr‘r’r r r r råsrr’r)rr.rˆ©rrr r r ÚtestOldTestTesultSetupäsz)Test_OldTestResult.testOldTestTesultSetupcCs0t d¡Gdd„dtjƒƒ}| |dƒd¡dS)Nrc@seZdZdd„ZdS)z7Test_OldTestResult.testOldTestResultClass..TestcSsdSrr r(r r r r’ïsz?Test_OldTestResult.testOldTestResultClass..Test.testFooN©rrrr’r r r r rísrr’r)rÚskipr.rˆr“r r r ÚtestOldTestResultClassìsz)Test_OldTestResult.testOldTestResultClasscCs6Gdd„dtjƒ}tjtt ¡d}| |dƒ¡dS)Nc@seZdZdd„ZdS)z8Test_OldTestResult.testOldResultWithRunner..TestcSsdSrr r(r r r r’õsz@Test_OldTestResult.testOldResultWithRunner..Test.testFooNr•r r r r rôsr)Z resultclassr{r’)rr.r|r…r}r~rN)rrrr r r ÚtestOldResultWithRunnerós ÿz*Test_OldTestResult.testOldResultWithRunnerN)rrrrˆrr”r—r˜r r r r r†Ês r†c@s\eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dS)ÚTestOutputBufferingcCstj|_tj|_dSr)r<ÚstdoutÚ _real_outÚstderrÚ _real_errr(r r r r‘szTestOutputBuffering.setUpcCs|jt_|jt_dSr)r›r<ršrrœr(r r r ÚtearDownszTestOutputBuffering.tearDowncCsf|j}|j}t ¡}| |j¡| |tj¡| |tj ¡|  |¡| |tj¡| |tj ¡dSr) r›rrrr?rƒr@r<ršrœr/)rÚreal_outÚreal_errrr r r ÚtestBufferOutputOffs  z'TestOutputBuffering.testBufferOutputOffcCsŽ|j}|j}t ¡}| |j¡d|_| |tj¡| |tj ¡|  |¡|  |tj¡|  |tj ¡|  tjt j¡|  tj t j¡|  tjtj ¡tj}tj }t  ¡|_t  ¡|_tdƒtdtj d| | ¡d¡| | ¡d¡| |j ¡d¡| |j ¡d¡| |¡| |¡| tj|j¡| tj |j¡| |j ¡d¡| |j ¡d¡| | ¡d¡| | ¡d¡dS)NTr:r]©Úfilezfoo zbar rs)r›rrrr?rƒr@r<ršrœr/Z assertIsNotrAr}r~Ú_original_stdoutÚ_original_stderrÚprintrÚgetvaluer8r0)rrŸr rZ out_streamZ err_streamr r r Ú#testBufferOutputStartTestAddSuccesss>      z7TestOutputBuffering.testBufferOutputStartTestAddSuccesscCst ¡}d|_| |¡|Sr%)rrrƒr/rr r r ÚgetStartedResultGs z$TestOutputBuffering.getStartedResultcCsttj_| t¡dD]ú\}}}| ¡}tj}tj }t   ¡|_ t   ¡|_ tdtjd|rhtdtj dt||ƒ}||dƒ| |¡t||ƒ}| t|ƒd¡|d\} } t d¡} d } |rÈt d ¡} d | | f} | | |¡| |j  ¡| ¡| |j  ¡| ¡| | | ¡qdS) N)©r rIT©r!r>Frªr«r:r¢r])NNNr,rz9 Stdout: foo rsz9 Stderr: bar zA traceback%s%s)rrrrrMrr©r<ršrœr}r~r¤r¥r¦Úgetattrr0rrÚtextwrapÚdedentr@r§ZassertMultiLineEqual)rZ message_attrZadd_attrZ include_errorrZ buffered_outZ buffered_errZ addFunctionZ result_listr2ÚmessageZexpectedOutMessageZexpectedErrMessageZexpectedFullMessager r r Ú!testBufferOutputAddErrorOrFailureMs4            z5TestOutputBuffering.testBufferOutputAddErrorOrFailurecCsNt ¡}d|_Gdd„dtjƒ}t |dƒg¡}||ƒ| t|jƒd¡dS)NTc@s eZdZedd„ƒZdd„ZdS)z5TestOutputBuffering.testBufferSetupClass..FoocSs dddSrKr ©Úclsr r r Ú setUpClasssz@TestOutputBuffering.testBufferSetupClass..Foo.setUpClasscSsdSrr r(r r r Útest_foo„sz>TestOutputBuffering.testBufferSetupClass..Foo.test_fooN)rrrÚ classmethodr³r´r r r r r+€s r+r´r,©rrrƒr.Ú TestSuiterrr ©rrr+Úsuiter r r ÚtestBufferSetupClass|s z(TestOutputBuffering.testBufferSetupClasscCsNt ¡}d|_Gdd„dtjƒ}t |dƒg¡}||ƒ| t|jƒd¡dS)NTc@s eZdZedd„ƒZdd„ZdS)z8TestOutputBuffering.testBufferTearDownClass..FoocSs dddSrKr r±r r r Ú tearDownClassszFTestOutputBuffering.testBufferTearDownClass..Foo.tearDownClasscSsdSrr r(r r r r´’szATestOutputBuffering.testBufferTearDownClass..Foo.test_fooN)rrrrµr»r´r r r r r+Žs r+r´r,r¶r¸r r r ÚtestBufferTearDownClassŠs z+TestOutputBuffering.testBufferTearDownClasscCs~t ¡}d|_Gdd„dtjƒ}Gdd„dtƒ}d|_|tjd<| tjj d¡t  |dƒg¡}||ƒ|  t |j ƒd¡dS)NTc@seZdZdd„ZdS)z6TestOutputBuffering.testBufferSetUpModule..FoocSsdSrr r(r r r r´sz?TestOutputBuffering.testBufferSetUpModule..Foo.test_fooN©rrrr´r r r r r+œsr+c@seZdZedd„ƒZdS)z9TestOutputBuffering.testBufferSetUpModule..ModulecSs dddSrKr r r r r Ú setUpModule szETestOutputBuffering.testBufferSetUpModule..Module.setUpModuleN)rrrÚ staticmethodr¾r r r r ÚModuleŸsrÀr´r,©rrrƒr.rorr<ÚmodulesrMÚpopr·rrr ©rrr+rÀr¹r r r ÚtestBufferSetUpModule˜s z)TestOutputBuffering.testBufferSetUpModulecCs~t ¡}d|_Gdd„dtjƒ}Gdd„dtƒ}d|_|tjd<| tjj d¡t  |dƒg¡}||ƒ|  t |j ƒd¡dS)NTc@seZdZdd„ZdS)z9TestOutputBuffering.testBufferTearDownModule..FoocSsdSrr r(r r r r´°szBTestOutputBuffering.testBufferTearDownModule..Foo.test_fooNr½r r r r r+¯sr+c@seZdZedd„ƒZdS)z.ModulecSs dddSrKr r r r r ÚtearDownModule³szKTestOutputBuffering.testBufferTearDownModule..Module.tearDownModuleN)rrrr¿rÆr r r r rÀ²srÀr´r,rÁrÄr r r ÚtestBufferTearDownModule«s z,TestOutputBuffering.testBufferTearDownModuleN) rrrr‘ržr¡r¨r©r°rºr¼rÅrÇr r r r r™þs0/r™Ú__main__)NNN)r}r<r­r2rrrrorrr.rÚdictrÚ__dict__Z classDictÚmr Útyper…r†r™rÚmainr r r r Ús,  $  4B