
    4hhY                        S SK r S SKrS SKrS SKrS SKrS SKJr  S SKJr  S SKJ	r	J
r
  S SKJr   " S S\5      rS rS	 rS
 r\
 " S S\R$                  5      5       r\
 " S S\R$                  5      5       r\" \R,                  R.                  5      rS H  r\\	 M     SS jr\\S'   \" S\4\5      r " S S\R$                  5      r\
 " S S\R$                  5      5       r\S:X  a  \R@                  " 5         gg)    N)strclass)warnings_helper)captured_stdoutforce_not_colorized_test_class)BufferedWriterc                   (    \ rS rSr " S S5      rSrg)MockTraceback   c                        \ rS rSrS rS rSrg) MockTraceback.TracebackException   c                 2    UR                  SS5      U l        g )Ncapture_localsF)getr   )selfargskwargss      G/opt/python-3.13.8/usr/lib/python3.13/test/test_unittest/test_result.py__init__)MockTraceback.TracebackException.__init__   s    "(**-=u"ED    c                 P    S/nU R                   (       a  UR                  S5        U$ )NA tracebacklocals)r   appendr   results     r   format'MockTraceback.TracebackException.format   s#    #_F""h'Mr   )r   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__ r   r   TracebackExceptionr      s    	F	r   r&   r%   N)r    r!   r"   r#   r&   r$   r%   r   r   r	   r	      s     r   r	   c                  6    [         [        R                  l         g N)	tracebackunittestr   r%   r   r   restore_tracebackr+      s     )HOOr   c                  .    [        S5        [        S5      e)Nzdo cleanup1zbad cleanup1)print	TypeErrorr%   r   r   bad_cleanup1r/      s    	-
N
##r   c                  .    [        S5        [        S5      e)Nzdo cleanup2zbad cleanup2)r-   
ValueErrorr%   r   r   bad_cleanup2r2      s    	-
^
$$r   c                   z    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rSrg)Test_TestResult$   c                    [         R                  " 5       nU R                  UR                  5       5        U R	                  [        UR                  5      S5        U R	                  [        UR                  5      S5        U R	                  UR                  S5        U R	                  UR                  S5        U R                  UR                  5        U R                  UR                  5        g Nr   F)r*   
TestResult
assertTruewasSuccessfulassertEquallenerrorsfailurestestsRun
shouldStopassertIsNone_stdout_buffer_stderr_bufferr   s     r   	test_initTest_TestResult.test_init/   s    $$&,,./V]]+Q/V__-q1!,**E2&//0&//0r   c                     [         R                  " 5       nUR                  5         U R                  UR                  S5        g NT)r*   r8   stopr;   r@   r   s     r   	test_stopTest_TestResult.test_stop=   s/    $$&**D1r   c                     " S S[         R                  5      nU" S5      n[         R                  " 5       nUR                  U5        U R	                  UR                  5       5        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        U R                  UR                  S5        U R                  UR                  S5        UR                  U5        g )Nc                       \ rS rSrS rSrg)+Test_TestResult.test_startTest.<locals>.FooG   c                     g r(   r%   r   s    r   test_12Test_TestResult.test_startTest.<locals>.Foo.test_1H       r   r%   Nr    r!   r"   r#   rQ   r$   r%   r   r   FoorM   G       r   rU   rQ   r      Fr*   TestCaser8   	startTestr9   r:   r;   r<   r=   r>   r?   r@   stopTestr   rU   testr   s       r   test_startTestTest_TestResult.test_startTestF   s    	(## 	 8}$$&,,./V]]+Q/V__-q1!,**E2r   c                 8    " S S[         R                  5      nU" S5      n[         R                  " 5       nUR                  U5        U R	                  UR                  5       5        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        U R                  UR                  S5        U R                  UR                  S5        UR                  U5        U R	                  UR                  5       5        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        U R                  UR                  S5        U R                  UR                  S5        g )Nc                       \ rS rSrS rSrg)*Test_TestResult.test_stopTest.<locals>.Foo\   c                     g r(   r%   rP   s    r   rQ   1Test_TestResult.test_stopTest.<locals>.Foo.test_1]   rS   r   r%   NrT   r%   r   r   rU   rb   \   rV   r   rU   rQ   r   rW   FrX   r\   s       r   test_stopTestTest_TestResult.test_stopTest[   s+   	(## 	 8}$$&,,./V]]+Q/V__-q1!,**E2 	,,./V]]+Q/V__-q1!,**E2r   c                 n    [         R                  " 5       nUR                  5         UR                  5         g r(   )r*   r8   startTestRunstopTestRunr   s     r   test_startTestRun_stopTestRun-Test_TestResult.test_startTestRun_stopTestRunv   s(    $$&r   c                     " S S[         R                  5      nU" S5      n[         R                  " 5       nUR                  U5        UR	                  U5        UR                  U5        U R                  UR                  5       5        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        U R                  UR                  S5        U R                  UR                  S5        g )Nc                       \ rS rSrS rSrg),Test_TestResult.test_addSuccess.<locals>.Foo   c                     g r(   r%   rP   s    r   rQ   3Test_TestResult.test_addSuccess.<locals>.Foo.test_1   rS   r   r%   NrT   r%   r   r   rU   ro      rV   r   rU   rQ   r   rW   F)r*   rY   r8   rZ   
addSuccessr[   r9   r:   r;   r<   r=   r>   r?   r@   r\   s       r   test_addSuccessTest_TestResult.test_addSuccess   s    	(## 	 8}$$&$,,./V]]+Q/V__-q1!,**E2r   c                     " S S[         R                  5      nU" S5      n UR                  S5        [         R
                  " 5       nUR                  U5        UR                  UW5        UR                  U5        U R                  UR                  5       5        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        U R                  UR                  S5        U R                  UR                   S5        UR                  S   u  pVU R#                  XR5        U R%                  U[&        5        g !   [        R                  " 5       n GN== f)Nc                       \ rS rSrS rSrg),Test_TestResult.test_addFailure.<locals>.Foo   c                     g r(   r%   rP   s    r   rQ   3Test_TestResult.test_addFailure.<locals>.Foo.test_1   rS   r   r%   NrT   r%   r   r   rU   rx      rV   r   rU   rQ   foor   rW   F)r*   rY   failsysexc_infor8   rZ   
addFailurer[   assertFalser:   r;   r<   r=   r>   r?   r@   assertIsassertIsInstancestrr   rU   r]   exc_info_tupler   	test_caseformatted_excs          r   test_addFailureTest_TestResult.test_addFailure   s   	(## 	 8}	,IIe $$&$/--/0V]]+Q/V__-q1!,**E2#)??1#5 	i&mS1#	, \\^Ns   E E1c                   ^	  " S S[         R                  5      nU" S5      m	U	4S jnU" 5       n[        R                  " U6 n[         R                  " 5       nUR                  T	5        UR                  T	U5        UR                  T	5        UR                  S   S   nU Vs/ s H  owU;  d  M
  UPM     nnU R                  [        U5      S5        U R                  SUS   5        g s  snf )Nc                       \ rS rSrS rSrg)DTest_TestResult.test_addFailure_filter_traceback_frames.<locals>.Foo   c                     g r(   r%   rP   s    r   rQ   KTest_TestResult.test_addFailure_filter_traceback_frames.<locals>.Foo.test_1   rS   r   r%   NrT   r%   r   r   rU   r      rV   r   rU   rQ   c                  b   >  T R                  S5        g !   [        R                  " 5       s $ = f)Nr|   )r}   r~   r   r]   s   r   get_exc_infoMTest_TestResult.test_addFailure_filter_traceback_frames.<locals>.get_exc_info   s'    &		% &||~%s    .r   rW    raise self.failureException(msg)r*   rY   r)   format_exceptionr8   rZ   r   r[   r>   r;   r<   assertIn
r   rU   r   r   full_excr   r   ldroppedr]   s
            @r   'test_addFailure_filter_traceback_frames7Test_TestResult.test_addFailure_filter_traceback_frames   s    	(## 	 8}	& &--~>$$&$/*1-&Ah=*@1hAWq)8'!*E B   "	C(/C(c                   ^	  " S S[         R                  5      nU" S5      m	U	4S jnU" 5       n[        R                  " U6 n[         R                  " 5       nUR                  T	5        UR                  T	U5        UR                  T	5        UR                  S   S   nU Vs/ s H  owU;  d  M
  UPM     nnU R                  [        U5      S5        U R                  SUS   5        g s  snf )Nc                       \ rS rSrS rSrg)LTest_TestResult.test_addFailure_filter_traceback_frames_context.<locals>.Foo   c                     g r(   r%   rP   s    r   rQ   STest_TestResult.test_addFailure_filter_traceback_frames_context.<locals>.Foo.test_1   rS   r   r%   NrT   r%   r   r   rU   r      rV   r   rU   rQ   c                     >   T R                  S5        g !   [        S5      e= f!   [        R                  " 5       s $ = f)Nr|   *   )r}   r1   r~   r   r   s   r   r   UTest_TestResult.test_addFailure_filter_traceback_frames_context.<locals>.get_exc_info   s<    &)IIe$)$R.(&||~%s    #& ?r   rW   r   r   r   s
            @r   /test_addFailure_filter_traceback_frames_context?Test_TestResult.test_addFailure_filter_traceback_frames_context   s    	(## 	 8}	& &--~>$$&$/*1-&Ah=*@1hAWq)8'!*E Br   c                 P    " S S[         R                  5      nS nU" 5       nU" S5      n[         R                  " 5       nUR                  U5        UR	                  XC5        UR                  U5        UR                  S   S   nU R                  UR                  S5      S5        g )Nc                       \ rS rSrS rSrg)`Test_TestResult.test_addFailure_filter_traceback_frames_chained_exception_self_loop.<locals>.Fooi  c                     g r(   r%   rP   s    r   rQ   gTest_TestResult.test_addFailure_filter_traceback_frames_chained_exception_self_loop.<locals>.Foo.test_1	  rS   r   r%   NrT   r%   r   r   rU   r     rV   r   rU   c                  n     [        S5      n X l        X l        U e!   [        R                  " 5       s $ = f)NLoop	Exception	__cause____context__r~   r   )loops    r   r   iTest_TestResult.test_addFailure_filter_traceback_frames_chained_exception_self_loop.<locals>.get_exc_info  s4    & (!%#' 
&||~%s    4rQ   r   rW   zException: Loop
	r*   rY   r8   rZ   r   r[   r>   r;   countr   rU   r   r   r]   r   r   s          r   Ctest_addFailure_filter_traceback_frames_chained_exception_self_loopSTest_TestResult.test_addFailure_filter_traceback_frames_chained_exception_self_loop  s    	(## 		& &8}$$&$/*1-,,-@A1Er   c                     " S S[         R                  5      nS nU" 5       nU" S5      n[         R                  " 5       nUR                  U5        UR	                  XC5        UR                  U5        UR                  S   S   nU R                  UR                  S5      S5        U R                  UR                  S5      S5        U R                  UR                  S	5      S5        g )
Nc                       \ rS rSrS rSrg)\Test_TestResult.test_addFailure_filter_traceback_frames_chained_exception_cycle.<locals>.Fooi!  c                     g r(   r%   rP   s    r   rQ   cTest_TestResult.test_addFailure_filter_traceback_frames_chained_exception_cycle.<locals>.Foo.test_1"  rS   r   r%   NrT   r%   r   r   rU   r   !  rV   r   rU   c                       [        S5      [        S5      [        S5      p!n X!4X4X4/nU H  u  pEXTl        XEl        M     Ue!   [        R                  " 5       s $ = f)NABCr   )r   r   r   edgesex1ex2s         r   r   eTest_TestResult.test_addFailure_filter_traceback_frames_chained_exception_cycle.<locals>.get_exc_info%  sb    
& $C.)C.)C.a!!0 %HC$'M&)O !& &||~%s   AA ArQ   r   rW   zException: A
zException: B
zException: C
r   r   s          r   ?test_addFailure_filter_traceback_frames_chained_exception_cycleOTest_TestResult.test_addFailure_filter_traceback_frames_chained_exception_cycle   s    	(## 		& &8}$$&$/*1-,,-=>B,,-=>B,,-=>Br   c                     " S S[         R                  5      nU" S5      n [        5       e!   [        R                  " 5       n O= f[         R
                  " 5       nUR                  U5        UR                  X#5        UR                  U5        U R                  UR                  5       5        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        U R                  UR                  S5        U R                  UR                   S5        UR                  S   u  pVU R#                  XR5        U R%                  U[&        5        g )Nc                       \ rS rSrS rSrg)*Test_TestResult.test_addError.<locals>.FooiU  c                     g r(   r%   rP   s    r   rQ   1Test_TestResult.test_addError.<locals>.Foo.test_1V  rS   r   r%   NrT   r%   r   r   rU   r   U  rV   r   rU   rQ   rW   r   F)r*   rY   r.   r~   r   r8   rZ   addErrorr[   r   r:   r;   r<   r=   r>   r?   r@   r   r   r   r   s          r   test_addErrorTest_TestResult.test_addErrorT  s   	(## 	 8}	,+	, \\^N$$&---/0V]]+Q/V__-q1!,**E2#)==#3 	i&mS1s	   
- Ac                     " S S[         R                  5      nU" S5      n[         R                  " 5       nSUl        [        [         R
                  l        U R                  [        5        UR                  5         UR                  U5        UR                  5         U R                  [        UR                  5      S5        UR                  S   u  pEU R                  SU5        g )Nc                       \ rS rSrS rSrg)1Test_TestResult.test_addError_locals.<locals>.Fooip  c                     SS-    g )NrW   r   r%   rP   s    r   rQ   8Test_TestResult.test_addError_locals.<locals>.Foo.test_1q  s	    !r   r%   NrT   r%   r   r   rU   r   p  s    r   rU   rQ   TrW   r   zA tracebacklocals)r*   rY   r8   	tb_localsr	   r   r)   
addCleanupr+   ri   runrj   r;   r<   r=   )r   rU   r]   r   r   r   s         r   test_addError_locals$Test_TestResult.test_addError_localso  s    	(## 	 8}$$&$1!)*V]]+Q/#)==#3 	,m<r   c                   ^^^  " UUU4S jS[         R                  5      nS mU" S5      m[         R                  " 5       mTR                  T5        U R	                  TR                  5       5        U R                  [        TR                  5      S5        U R                  [        TR                  5      S5        U R                  TR                  S5        U R                  TR                  S5        TR                  S   u  p#U R                  UT5        U R                  SU5        TR                  S   u  p#U R                  UT5        U R                  SU5        g )	Nc                   &   > \ rS rSrU UU4S jrSrg),Test_TestResult.test_addSubTest.<locals>.Fooi  c                   > U R                  SS9   U R                  m SS-    TR                  TTW5        U R                  S5        S S S 5        g ! [         a    [        R                  " 5       n NNf = f! , (       d  f       g = f)NrW   r|   r   some recognizable failure)subTest_subtestZeroDivisionErrorr~   r   
addSubTestr}   )r   r   r   subtestr]   s     r   rQ   3Test_TestResult.test_addSubTest.<locals>.Foo.test_1  st    \\a\("mmG8! %%dG^DII9: )( - 8),8	 )(s-   A6A$A6A30A62A33A66
Br%   NrT   )r   r   r]   s   r   rU   r     s    ; ;r   rU   rQ   rW   Fr   r   r   )r*   rY   r8   r   r   r:   r;   r<   r=   r>   r?   r@   r   r   )r   rU   r   r   r   r   r]   s       @@@r   test_addSubTestTest_TestResult.test_addSubTest  s   	; 	;(## 	; 8}$$&--/0V]]+Q/V__-q1!,**E2#)==#3 	i))=9#)??1#5 	i)1=Ar   c                      " S S[         5      n[        R                  " 5       nU R                  UR	                  U5      5        SUR
                  R                  S'   U R                  UR	                  U5      5        g )Nc                   *    \ rS rSr " S S\5      rSrg)5Test_TestResult.testStackFrameTrimming.<locals>.Framei  c                       \ rS rSr0 rSrg)>Test_TestResult.testStackFrameTrimming.<locals>.Frame.tb_framei  r%   N)r    r!   r"   r#   	f_globalsr$   r%   r   r   tb_framer     s    	r   r   r%   N)r    r!   r"   r#   objectr   r$   r%   r   r   Framer     s    6 r   r   T
__unittest)r   r*   r8   r   _is_relevant_tb_levelr   r   r9   )r   r   r   s      r   testStackFrameTrimming&Test_TestResult.testStackFrameTrimming  sb    	F 	 $$&55e<=15  .44U;<r   c                    [         R                  " 5       nS Ul        SUl        UR	                  S S 5        U R                  UR                  5        [         R                  " 5       nS Ul        SUl        UR                  S S 5        U R                  UR                  5        [         R                  " 5       nS Ul        SUl        UR                  S 5        U R                  UR                  5        g )Nc                      gN r%   _s    r   <lambda>.Test_TestResult.testFailFast.<locals>.<lambda>      r   Tc                      gr   r%   r   s    r   r   r     r  r   c                      gr   r%   r   s    r   r   r     r  r   )	r*   r8   _exc_info_to_stringfailfastr   r9   r@   r   addUnexpectedSuccessr   s     r   testFailFastTest_TestResult.testFailFast  s    $$&%2"d#))*$$&%2"$%))*$$&%2"##D)))*r   c                    ^  [        5       n[        R                  " USS9nU 4S jnUR                  U5      nUR	                  5         T R                  UR                  5       R                  S5      5        g )NT)streamr  c                 f   > U =R                   S-  sl         TR                  U R                  5        g )NrW   )r?   r9   r  )r   r   s    r   r]   5Test_TestResult.testFailFastSetByRunner.<locals>.test  s!    OOq OOOFOO,r   z

OK
)r   r*   TextTestRunnerr   flushr9   getvalueendswith)r   r
  runnerr]   r   s   `    r   testFailFastSetByRunner'Test_TestResult.testFailFastSetByRunner  sY    !((F	- D!)22:>?r   r%   N)r    r!   r"   r#   rD   rI   r^   rf   rk   rt   r   r   r   r   r   r   r   r   r   r  r  r$   r%   r   r   r4   r4   $   s`    	12*3603N26F4F:F2Ch26=& BD=+&@r   r4   c                       \ rS rSrSrS rS rS rS rS r	S r
\R                  " \R                  R                  S	:  S
5      S 5       r\R                  " \R                  R                  S	:  S
5      S 5       r\R                  " \R                  R                  S	:  S
5      S 5       r\R                  " \R                  R                  S	:  S
5      S 5       r " S S\R(                  5      rSS jrS rS rS rS rS rS rS rS rSrg)Test_TextTestResulti  Nc                     [         R                  " S SS5      nU R                  UR                  U 5      S[        -   S-   5        g )NTrW   z$testGetDescriptionWithoutDocstring (z8.Test_TextTestResult.testGetDescriptionWithoutDocstring)r*   TextTestResultr;   getDescriptionr    r   s     r   "testGetDescriptionWithoutDocstring6Test_TextTestResult.testGetDescriptionWithoutDocstring  sD    ((tQ7%%d+6AJK	Lr   c                    U R                  SSS9   [        R                  " S SS5      nU R                  UR	                  U R
                  5      S[        -   S-   5        S S S 5        U R                  S5         [        R                  " S SS5      nU R                  UR	                  U R
                  5      S[        -   S-   5        S S S 5        g ! , (       d  f       Nv= f! , (       d  f       g = f)	NrW      r|   barTz+testGetSubTestDescriptionWithoutDocstring (zN.Test_TextTestResult.testGetSubTestDescriptionWithoutDocstring) (foo=1, bar=2)zsome messagezN.Test_TextTestResult.testGetSubTestDescriptionWithoutDocstring) [some message]r   r*   r  r;   r  r   r    r   s     r   )testGetSubTestDescriptionWithoutDocstring=Test_TextTestResult.testGetSubTestDescriptionWithoutDocstring  s    \\aQ\',,T4;F))$--8AHLdef ( \\.),,T4;F))$--8AHLdef *) (' *)s   AC8AC 
C 
C.c                     U R                  5          [        R                  " S SS5      nU R                  UR	                  U R
                  5      S[        -   S-   5        S S S 5        g ! , (       d  f       g = f)NTrW   z4testGetSubTestDescriptionWithoutDocstringAndParams (zT.Test_TextTestResult.testGetSubTestDescriptionWithoutDocstringAndParams) (<subtest>)r   r   s     r   2testGetSubTestDescriptionWithoutDocstringAndParamsFTest_TextTestResult.testGetSubTestDescriptionWithoutDocstringAndParams  s`    \\^,,T4;F))$--8"#&""# ^^s   AA((
A6c                    Sn[         R                  " S SS5      nSS / 4 HQ  nU R                  U5         U R                  UR	                  U R
                  5      U[        U4-  5        S S S 5        MS     g ! , (       d  f       Me  = f)NzmtestGetSubTestDescriptionForFalseValues (%s.Test_TextTestResult.testGetSubTestDescriptionForFalseValues) [%s]TrW   r   r*   r  r   r;   r  r   r    )r   expectedr   args       r   'testGetSubTestDescriptionForFalseValues;Test_TextTestResult.testGetSubTestDescriptionForFalseValues  su     C((tQ7tR=Cc"  ))$--8#. #" !""s   5A66
B	c                 D   U R                  SS9   U R                  SSS9   [        R                  " S SS5      nU R                  UR	                  U R
                  5      S[        -   S-   5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)	NrW   r   r     bazr  Tz1testGetNestedSubTestDescriptionWithoutDocstring (z[.Test_TextTestResult.testGetNestedSubTestDescriptionWithoutDocstring) (baz=2, bar=3, foo=1)r   r   s     r   /testGetNestedSubTestDescriptionWithoutDocstringCTest_TextTestResult.testGetNestedSubTestDescriptionWithoutDocstring  s    \\a\ !+!00tQ?  --dmm<&'*001 , ! ++ ! s#   BAB /B 
B	
B
Bc                 F   U R                  SSS9   U R                  SSS9   [        R                  " S SS5      nU R                  UR	                  U R
                  5      S[        -   S	-   5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)
NrW   r  r  r-     r.  Tz;testGetDuplicatedNestedSubTestDescriptionWithoutDocstring (ze.Test_TextTestResult.testGetDuplicatedNestedSubTestDescriptionWithoutDocstring) (baz=3, bar=4, foo=1)r   r   s     r   9testGetDuplicatedNestedSubTestDescriptionWithoutDocstringMTest_TextTestResult.testGetDuplicatedNestedSubTestDescriptionWithoutDocstring  s    \\aQ\'!+!00tQ?  --dmm<&' *QQR , ('++ ('s#   BAB0B
B	B
B r  z)Docstrings are omitted with -O2 and abovec                     [         R                  " S SS5      nU R                  UR                  U 5      S[        -   S-   5        g )NTrW   z(testGetDescriptionWithOneLineDocstring (zr.Test_TextTestResult.testGetDescriptionWithOneLineDocstring)
Tests getDescription() for a method with a docstring.r  r   s     r   &testGetDescriptionWithOneLineDocstring:Test_TextTestResult.testGetDescriptionWithOneLineDocstring  sN     ((tQ7%%d+"HH	Jr   c                     [         R                  " S SS5      nU R                  SSS9   U R                  UR	                  U R
                  5      S[        -   S-   5        S S S 5        g ! , (       d  f       g = f)NTrW   r  r  z/testGetSubTestDescriptionWithOneLineDocstring (z.Test_TextTestResult.testGetSubTestDescriptionWithOneLineDocstring) (foo=1, bar=2)
Tests getDescription() for a method with a docstring.r'  r   s     r   -testGetSubTestDescriptionWithOneLineDocstringATest_TextTestResult.testGetSubTestDescriptionWithOneLineDocstring  sn     ((tQ7\\aQ\'%%dmm4"HHJ (''   6A((
A6c                     [         R                  " S SS5      nU R                  UR                  U 5      S[        -   S-   5        g )NTrW   z*testGetDescriptionWithMultiLineDocstring (z{.Test_TextTestResult.testGetDescriptionWithMultiLineDocstring)
Tests getDescription() for a method with a longer docstring.r  r   s     r   (testGetDescriptionWithMultiLineDocstring<Test_TextTestResult.testGetDescriptionWithMultiLineDocstring%  sK     ((tQ7%%d+"	r   c                     [         R                  " S SS5      nU R                  SSS9   U R                  UR	                  U R
                  5      S[        -   S-   5        S S S 5        g ! , (       d  f       g = f)NTrW   r  r  z1testGetSubTestDescriptionWithMultiLineDocstring (z.Test_TextTestResult.testGetSubTestDescriptionWithMultiLineDocstring) (foo=1, bar=2)
Tests getDescription() for a method with a longer docstring.r'  r   s     r   /testGetSubTestDescriptionWithMultiLineDocstringCTest_TextTestResult.testGetSubTestDescriptionWithMultiLineDocstring3  sk     ((tQ7\\aQ\'%%dmm4" (''r<  c                       \ rS rSrS rS rS rS r\R                  S 5       r
\R                  S 5       rS rS	 rS
rS rSrg
)Test_TextTestResult.TestiC  c                     g r(   r%   rP   s    r   testSuccess$Test_TextTestResult.Test.testSuccessD  s    r   c                 &    U R                  S5        g )NskipskipTestrP   s    r   testSkip!Test_TextTestResult.Test.testSkipF  s    MM&!r   c                 &    U R                  S5        g Nr}   r}   rP   s    r   testFail!Test_TextTestResult.Test.testFailH  s    IIfr   c                     [        S5      e)Nerror)r   rP   s    r   	testError"Test_TextTestResult.Test.testErrorJ  s    G$$r   c                 &    U R                  S5        g rO  rP  rP   s    r   testExpectedFailure,Test_TextTestResult.Test.testExpectedFailureL  s    IIfr   c                     g r(   r%   rP   s    r   testUnexpectedSuccess.Test_TextTestResult.Test.testUnexpectedSuccessO  s    r   c                     U R                  SSS9    S S S 5        U R                  SSS9    S S S 5        g ! , (       d  f       N)= f! , (       d  f       g = f)NonerW   atwor  b)r   rP   s    r   testSubTestSuccess+Test_TextTestResult.Test.testSubTestSuccessR  sE    eq) *eq) *) *)))s   6A
A
Ac                    U R                  SSS9    S S S 5        U R                  SSS9   U R                  S5        S S S 5        U R                  SSS	9   U R                  S5        S S S 5        U R                  S
SS9   [        S
5      e! , (       d  f       N~= f! , (       d  f       Ne= f! , (       d  f       NL= f! , (       d  f       g = f)NsuccessrW   r_  rI  r  rb  r}   r-  )crT  r3  )d)r   rK  r}   r   rP   s    r   testSubTestMixed)Test_TextTestResult.Test.testSubTestMixedW  s    i1- .f*f% +f*		&! +g+(( .-****++s.   BBB-?B>
B
B*-
B;>
CNc                 6    U R                   b  U R                   eg r(   )tearDownErrorrP   s    r   tearDown!Test_TextTestResult.Test.tearDownb  s    !!-((( .r   r%   )r    r!   r"   r#   rF  rL  rQ  rU  r*   expectedFailurerX  r[  rd  rj  rm  rn  r$   r%   r   r   TestrD  C  s\    		"		%		!	!	 
"			!	!	 
"		
	) 	)r   rq  c                     [        5       n[        R                  R                  U5      n[        R                  " USU5      nU R                  U5      nX6l        UR                  U5        UR                  5       $ rG   )	r   r*   r  _WritelnDecoratorr  rq  rm  r   r  )r   	test_name	verbosityrm  r
  r   r]   s          r   	_run_testTest_TextTestResult._run_testf  s_    !226:((yAyy#*  r   c                    U R                  U R                  SS5      S5        U R                  U R                  SS5      S5        U R                  U R                  SS5      S5        U R                  U R                  SS5      S	5        U R                  U R                  S
S5      S5        U R                  U R                  SS5      S5        g )NrF  rW   .rL  srQ  FrU  ErX  xr[  ur;   rv  rP   s    r   testDotsOutput"Test_TextTestResult.testDotsOutputo  s    q93?
A6<
A6<Q7=(=qA3G(?CSIr   c                 
   [          SU R                  R                   3nU R                  U R	                  SS5      SU S35        U R                  U R	                  SS5      SU S35        U R                  U R	                  S	S5      S
U S35        U R                  U R	                  SS5      SU S35        U R                  U R	                  SS5      SU S35        U R                  U R	                  SS5      SU S35        g )Nry  rF  r  testSuccess (z.testSuccess) ... ok
rL  
testSkip (z.testSkip) ... skipped 'skip'
rQ  
testFail (z.testFail) ... FAIL
rU  testError (z.testError) ... ERROR
rX  ztestExpectedFailure (z+.testExpectedFailure) ... expected failure
r[  ztestUnexpectedSuccess (z/.testUnexpectedSuccess) ... unexpected success
r    rq  r"   r;   rv  r   	classnames     r   testLongOutput"Test_TextTestResult.testLongOutputw  s   j$))"8"8!9:	q9(3IJ	L
A6%i[0OP	R
A6%i[0EF	HQ7&yk1HI	K(=qA0;gh	j(?C29+=mn	pr   c                 H    U R                  U R                  SS5      S5        g )Nrd  rW   ry  r  rP   s    r   testDotsOutputSubTestSuccess0Test_TextTestResult.testDotsOutputSubTestSuccess  s    (<a@#Fr   c                     [          SU R                  R                   3nU R                  U R	                  SS5      SU S35        g )Nry  rd  r  ztestSubTestSuccess (z.testSubTestSuccess) ... ok
r  r  s     r   testLongOutputSubTestSuccess0Test_TextTestResult.testLongOutputSubTestSuccess  sG    j$))"8"8!9:	(<a@/	{:WX	Zr   c                 H    U R                  U R                  SS5      S5        g )Nrj  rW   sFEr  rP   s    r   testDotsOutputSubTestMixed.Test_TextTestResult.testDotsOutputSubTestMixed  s    (:A>Fr   c                     [          SU R                  R                   3nU R                  U R	                  SS5      SU SU SU SU S3	5        g )	Nry  rj  r  ztestSubTestMixed (z,.testSubTestMixed) ... 
  testSubTestMixed (zG.testSubTestMixed) [skip] (b=2) ... skipped 'skip'
  testSubTestMixed (z=.testSubTestMixed) [fail] (c=3) ... FAIL
  testSubTestMixed (z+.testSubTestMixed) [error] (d=4) ... ERROR
r  r  s     r   testLongOutputSubTestMixed.Test_TextTestResult.testLongOutputSubTestMixed  sh    j$))"8"8!9:	(:A>$YK 0''0k 2''0k 2''0k1]_	`r   c                 t   U R                  SS[        S5      5      nU R                  US5        U R                  SS[        S5      5      nU R                  US5        U R                  SS[        S5      5      nU R                  US	5        U R                  S
S[        S5      5      nU R                  US5        g )NrF  rW   r}   r{  rU  EFrQ  rT  FErL  sF)rv  AssertionErrorr;   r   )r   outs     r   testDotsOutputTearDownFail.Test_TextTestResult.testDotsOutputTearDownFail  s    nn]A~f/EFc"nn[!^F-CDd#nnZIg,>?d#nnZN6,BCd#r   c                    [          SU R                  R                   3nU R                  SS[	        S5      5      nU R                  USU S35        U R                  SS[	        S5      5      nU R                  USU S	U S
35        U R                  SS[        S5      5      nU R                  USU SU S35        U R                  SS[	        S5      5      nU R                  USU SU S35        g )Nry  rF  r  r}   r  z.testSuccess) ... FAIL
rU  r  z!.testError) ... ERROR
testError (z.testError) ... FAIL
rQ  rT  r  z.testFail) ... FAIL
testFail (z.testFail) ... ERROR
rL  r  z(.testSkip) ... skipped 'skip'
testSkip (z.testSkip) ... FAIL
)r    rq  r"   rv  r  r;   r   )r   r  r  s      r   testLongOutputTearDownFail.Test_TextTestResult.testLongOutputTearDownFail  s   j$))"8"8!9:	nn]A~f/EF(3KL	Nnn[!^F-CD&yk 2''0k1GI	J nnZIg,>?%i[ 1&&/[0FH	I nnZN6,BC%i[ 1&&/[0EG	Hr   r%   r(   ) r    r!   r"   r#   maxDiffr  r!  r$  r*  r0  r4  r*   skipIfr~   flagsoptimizer7  r:  r>  rA  rY   rq  rv  r  r  r  r  r  r  r  r  r$   r%   r   r   r  r    s?   GLf#1R __SYY''1,@BJBJ __SYY''1,@B
JB
J __SYY''1,@B
B
 __SYY''1,@BB!)x   !)F!JpGZ
G`$Hr   r  )addSkipaddExpectedFailurer  r   c                 X    / U l         / U l        SU l        SU l        SU l        SU l        g r7   )r>   r=   r?   r@   bufferr   )r   r
  descriptionsru  s       r   r   r     s,    DMDKDMDODKDNr   r   	OldResultc                   2    \ rS rSrS rS rS rS rS rSr	g)	Test_OldTestResulti  c                     [         R                  " S[        45         [        5       nUR	                  U5        U R                  [        UR                  5      U5        S S S 5        g ! , (       d  f       g = f)NzTestResult has no add.+ method,)r   check_warningsRuntimeWarningr  r   r;   r<   r>   )r   r]   r>   r   s       r   assertOldResultWarning)Test_OldTestResult.assertOldResultWarning  sX    ++2NCE[FHHVS18<	E E Es   AA''
A5c                      " S S[         R                  5      nS H-  u  p#U" U5      nU R                  U[        U(       + 5      5        M/     g )Nc                   b    \ rS rSrS r\R                  S 5       r\R                  S 5       rSr	g)2Test_OldTestResult.testOldTestResult.<locals>.Testi  c                 &    U R                  S5        g )NfoobarrJ  rP   s    r   rL  ;Test_OldTestResult.testOldTestResult.<locals>.Test.testSkip  s    h'r   c                     [         er(   )r.   rP   s    r   testExpectedFailCTest_OldTestResult.testOldTestResult.<locals>.Test.testExpectedFail  s    r   c                     g r(   r%   rP   s    r   r[  HTest_OldTestResult.testOldTestResult.<locals>.Test.testUnexpectedSuccess  s    r   r%   N)
r    r!   r"   r#   rL  r*   rp  r  r[  r$   r%   r   r   rq  r    s7    (%%  & %% &r   rq  ))rL  T)r  T)r[  F)r*   rY   r  int)r   rq  rt  should_passr]   s        r   testOldTestResult$Test_OldTestResult.testOldTestResult  sG    	8$$ 	'I"I 	?D''ck/.BC	'Ir   c                 f     " S S[         R                  5      nU R                  U" S5      S5        g )Nc                        \ rS rSrS rS rSrg)7Test_OldTestResult.testOldTestTesultSetup.<locals>.Testi  c                 &    U R                  S5        g )N	no reasonrJ  rP   s    r   setUp=Test_OldTestResult.testOldTestTesultSetup.<locals>.Test.setUp  s    k*r   c                     g r(   r%   rP   s    r   testFoo?Test_OldTestResult.testOldTestTesultSetup.<locals>.Test.testFoo  rS   r   r%   N)r    r!   r"   r#   r  r  r$   r%   r   r   rq  r    s    +r   rq  r  r   )r*   rY   r  r   rq  s     r   testOldTestTesultSetup)Test_OldTestResult.testOldTestTesultSetup  s*    	8$$ 	
 	##DOQ7r   c                     [         R                  " S5       " S S[         R                  5      5       nU R                  U" S5      S5        g )Nr  c                       \ rS rSrS rSrg)7Test_OldTestResult.testOldTestResultClass.<locals>.Testi  c                     g r(   r%   rP   s    r   r  ?Test_OldTestResult.testOldTestResultClass.<locals>.Test.testFoo  rS   r   r%   Nr    r!   r"   r#   r  r$   r%   r   r   rq  r    s    r   rq  r  r   )r*   rI  rY   r  r  s     r   testOldTestResultClass)Test_OldTestResult.testOldTestResultClass  s@    	{	#	8$$ 	 
$	 	##DOQ7r   c                      " S S[         R                  5      n[         R                  " [        [        R
                  " 5       S9nUR                  U" S5      5        g )Nc                       \ rS rSrS rSrg)8Test_OldTestResult.testOldResultWithRunner.<locals>.Testi  c                     g r(   r%   rP   s    r   r  @Test_OldTestResult.testOldResultWithRunner.<locals>.Test.testFoo  rS   r   r%   Nr  r%   r   r   rq  r    rV   r   rq  )resultclassr
  r  )r*   rY   r  r  ioStringIOr   )r   rq  r  s      r   testOldResultWithRunner*Test_OldTestResult.testOldResultWithRunner  sD    	8$$ 	 ((Y13@ 	

4	?#r   r%   N)
r    r!   r"   r#   r  r  r  r  r  r$   r%   r   r   r  r    s    =D"88$r   r  c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rSrg)TestOutputBufferingi  c                 X    [         R                  U l        [         R                  U l        g r(   )r~   stdout	_real_outstderr	_real_errrP   s    r   r  TestOutputBuffering.setUp  s    r   c                 X    U R                   [        l        U R                  [        l        g r(   )r  r~   r  r  r  rP   s    r   rn  TestOutputBuffering.tearDown  s    ^^
^^
r   c                    U R                   nU R                  n[        R                  " 5       nU R	                  UR
                  5        U R                  U[        R                  5        U R                  U[        R                  5        UR                  U 5        U R                  U[        R                  5        U R                  U[        R                  5        g r(   )r  r  r*   r8   r   r  r   r~   r  r  rZ   )r   real_outreal_errr   s       r   testBufferOutputOff'TestOutputBuffering.testBufferOutputOff  s    >>>>$$&'h

+h

+h

+h

+r   c                    U R                   nU R                  n[        R                  " 5       nU R	                  UR
                  5        SUl        U R                  U[        R                  5        U R                  U[        R                  5        UR                  U 5        U R                  U[        R                  5        U R                  U[        R                  5        U R                  [        R                  [        R                  5        U R                  [        R                  [        R                  5        U R                  [        R                  [        R                  5        [        R                  n[        R                  n[        R                  " 5       Ul        [        R                  " 5       Ul        [#        S5        [#        S[        R                  S9  U R%                  UR'                  5       S5        U R%                  UR'                  5       S5        U R%                  UR                  R'                  5       S5        U R%                  UR                   R'                  5       S5        UR)                  U 5        UR+                  U 5        U R                  [        R                  UR                  5        U R                  [        R                  UR                   5        U R%                  UR                  R'                  5       S5        U R%                  UR                   R'                  5       S5        U R%                  UR'                  5       S5        U R%                  UR'                  5       S5        g )NTr|   r  filezfoo
zbar
r   )r  r  r*   r8   r   r  r   r~   r  r  rZ   assertIsNotr   r  r  _original_stdout_original_stderrr-   r;   r  rs   r[   )r   r  r  r   
out_stream
err_streams         r   #testBufferOutputStartTestAddSuccess7TestOutputBuffering.testBufferOutputStartTestAddSuccess  sJ   >>>>$$&'h

+h

+3::.3::.cjj"++6cjj"++6SZZ0ZZ
ZZ
"$++-"$++-ee#**%,,.8,,.80099;R@0099;R@$cjj&"9"9:cjj&"9"9:0099;R@0099;R@,,.3,,.3r   c                 `    [         R                  " 5       nSUl        UR                  U 5        U$ rG   )r*   r8   r  rZ   r   s     r   getStartedResult$TestOutputBuffering.getStartedResultD  s*    $$&r   c                    [         [        R                  l        U R	                  [
        5        S GH  u  pnU R                  5       n[        R                  n[        R                  n[        R                  " 5       Ul        [        R                  " 5       Ul        [        S[        R                  S9  U(       a  [        S[        R                  S9  [        XB5      nU" U S5        UR!                  U 5        [        XA5      nU R#                  [%        U5      S5        US   u  p[&        R(                  " S5      nS	nU(       a  [&        R(                  " S
5      nSU< U< 3nU R+                  X5        U R#                  UR                  R-                  5       U5        U R#                  UR                  R-                  5       U5        U R/                  X5        GM     g )N)r=   r   Tr>   r   Fr   r  r|   r  r  NNNrW   r   z9
                Stdout:
                foo
            r   z9
                Stderr:
                bar
            r   )r	   r*   r   r)   r   r+   r  r~   r  r  r  r  r  r  r-   getattrr[   r;   r<   textwrapdedentr   r  assertMultiLineEqual)r   message_attradd_attrinclude_errorr   buffered_outbuffered_erraddFunctionresult_listr]   messageexpectedOutMessageexpectedErrMessageexpectedFullMessages                 r   !testBufferOutputAddErrorOrFailure5TestOutputBuffering.testBufferOutputAddErrorOrFailureJ  st   $1!)*6
1LM **,F::L::L&(kkmF#&(kkmF#%cjj)e#**- "&3K01OOD!!&7KS-q1'NMD!) 2 " "$%-__ 6 &"
 8JK]"^MM$%V44==?ASTV44==?AST%%gCS6
r   c                 J   [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n[        R
                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S[        U5       S3nUR                  S	   u  pxU R                  [        U5      U5        U R                  S
U5        U R                  XX5        g ! , (       d  f       N= f)NTc                        \ rS rSrS rS rSrg)0TestOutputBuffering.testBufferSetUp.<locals>.Fooi~  c                 $    [        S5        SS-    g Nset uprW   r   r-   rP   s    r   r  6TestOutputBuffering.testBufferSetUp.<locals>.Foo.setUp  s    h!r   c                     g r(   r%   rP   s    r   test_foo9TestOutputBuffering.testBufferSetUp.<locals>.Foo.test_foo  rS   r   r%   Nr    r!   r"   r#   r  r  r$   r%   r   r   rU   r  ~      r   rU   r  
Stdout:
set up
rW   
test_foo (
.test_foo)r   #ZeroDivisionError: division by zeror   r*   r8   r  rY   	TestSuiter;   r  r<   r=   r   r   r   	r   r  r   rU   suiteexpected_outdescriptionr   r   s	            r   testBufferSetUp#TestOutputBuffering.testBufferSetUpy  s    &((*F 	(## 	 ""C
O#45f,*L9V]]+Q/"8C=/<#)==#3 	Y5;]Kl2'    D
D"c                 J   [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n[        R
                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S[        U5       S3nUR                  S	   u  pxU R                  [        U5      U5        U R                  S
U5        U R                  XX5        g ! , (       d  f       N= f)NTc                        \ rS rSrS rS rSrg)3TestOutputBuffering.testBufferTearDown.<locals>.Fooi  c                 $    [        S5        SS-    g Nz	tear downrW   r   r  rP   s    r   rn  <TestOutputBuffering.testBufferTearDown.<locals>.Foo.tearDown      k"!r   c                     g r(   r%   rP   s    r   r  <TestOutputBuffering.testBufferTearDown.<locals>.Foo.test_foo  rS   r   r%   N)r    r!   r"   r#   rn  r  r$   r%   r   r   rU   r0    r   r   rU   r  z
Stdout:
tear down
rW   r"  r#  r   r$  r%  r'  s	            r   testBufferTearDown&TestOutputBuffering.testBufferTearDown  s    &((*F 	(## 	 ""C
O#45f/*L9V]]+Q/"8C=/<#)==#3 	Y5;]Kl2' r-  c                 X   [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n[        R
                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S[        U5       S3nUR                  S	   u  pxU R                  [        U5      U5        U R                  S
U5        U R                  SU5        U R                  SU5        U R                  SU5        UR                  S   u  pxU R                  [        U5      U5        U R                  SU5        U R                  SU5        U R                  XX5        g ! , (       d  f       GN= f)NTc                        \ rS rSrS rS rSrg)5TestOutputBuffering.testBufferDoCleanups.<locals>.Fooi  c                 n    [        S5        U R                  [        5        U R                  [        5        g Nr  r-   r   r/   r2   rP   s    r   r  ;TestOutputBuffering.testBufferDoCleanups.<locals>.Foo.setUp  !    h--r   c                     g r(   r%   rP   s    r   r  >TestOutputBuffering.testBufferDoCleanups.<locals>.Foo.test_foo  rS   r   r%   Nr  r%   r   r   rU   r;    s    .r   rU   r  (
Stdout:
set up
do cleanup2
do cleanup1
r  r"  r#  r   ValueError: bad cleanup2r.   
Stdout:
set up
do cleanup2

do cleanup1
rW   TypeError: bad cleanup1r1   r   r*   r8   r  rY   r&  r;   r  r<   r=   r   r   r   assertNotInr'  s	            r   testBufferDoCleanups(TestOutputBuffering.testBufferDoCleanups  sZ   &((*F 	(## 	 ""C
O#45fF*L9V]]+Q/"8C=/<#)==#3 	Y50-@m48-H*M:#)==#3 	Y5/?}5l27 s   F
F)c                    [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n[        R
                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S[        U5       S3nUR                  S	   u  pxU R                  [        U5      U5        U R                  S
U5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  SU5        UR                  S   u  pxU R                  [        U5      U5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  SU5        UR                  S   u  pxU R                  [        U5      U5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  XX5        g ! , (       d  f       GN<= f)NTc                        \ rS rSrS rS rSrg);TestOutputBuffering.testBufferSetUp_DoCleanups.<locals>.Fooi  c                 x    [        S5        U R                  [        5        U R                  [        5        SS-    g r  r>  rP   s    r   r  ATestOutputBuffering.testBufferSetUp_DoCleanups.<locals>.Foo.setUp  s(    h--!r   c                     g r(   r%   rP   s    r   r  DTestOutputBuffering.testBufferSetUp_DoCleanups.<locals>.Foo.test_foo  rS   r   r%   Nr  r%   r   r   rU   rN    s    
r   rU   r  rC  r-  r"  r#  r   r$  r1   r.   r!  
do cleanup2
rF  rW   rD  r   rE  r  rG  rH  r'  s	            r   testBufferSetUp_DoCleanups.TestOutputBuffering.testBufferSetUp_DoCleanups  s   &((*F 	(## 	 ""C
O#45fF*L9V]]+Q/"8C=/<#)==#3 	Y5;]K}5m4+];*M:*M:#)==#3 	Y50-@,m<m48-H*M:#)==#3 	Y5/?,m<}5l2M    I
I%c                    [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n[        R
                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S[        U5       S3nUR                  S	   u  pxU R                  [        U5      U5        U R                  S
U5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  SU5        UR                  S   u  pxU R                  [        U5      U5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  SU5        UR                  S   u  pxU R                  [        U5      U5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  XX5        g ! , (       d  f       GN<= f)NTc                   &    \ rS rSrS rS rS rSrg)>TestOutputBuffering.testBufferTearDown_DoCleanups.<locals>.Fooi  c                 n    [        S5        U R                  [        5        U R                  [        5        g r=  r>  rP   s    r   r  DTestOutputBuffering.testBufferTearDown_DoCleanups.<locals>.Foo.setUp  r@  r   c                 $    [        S5        SS-    g r2  r  rP   s    r   rn  GTestOutputBuffering.testBufferTearDown_DoCleanups.<locals>.Foo.tearDown  r4  r   c                     g r(   r%   rP   s    r   r  GTestOutputBuffering.testBufferTearDown_DoCleanups.<locals>.Foo.test_foo  rS   r   r%   N)r    r!   r"   r#   r  rn  r  r$   r%   r   r   rU   rY    s    .r   rU   r  z2
Stdout:
set up
tear down
do cleanup2
do cleanup1
r-  r"  r#  r   r$  r1   r.   z
Stdout:
set up
tear down
rS  rF  rW   rD  r   z&
Stdout:
set up
tear down
do cleanup2
r  rG  rH  r'  s	            r   testBufferTearDown_DoCleanups1TestOutputBuffering.testBufferTearDown_DoCleanups  s   &((*F 		(## 		 ""C
O#45fQ*L9V]]+Q/"8C=/<#)==#3 	Y5;]K}5m46F*M:*M:#)==#3 	Y50-@,m<m4C]S*M:#)==#3 	Y5/?,m<}5l2Q rV  c                 L   [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n[        R
                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S[        U5       S3nUR                  S	   u  pxU R                  UR                  U5        U R                  S
U5        U R                  XX5        g ! , (       d  f       N= f)NTc                   *    \ rS rSr\S 5       rS rSrg)5TestOutputBuffering.testBufferSetupClass.<locals>.Fooi  c                 $    [        S5        SS-    g Nset up classrW   r   r  clss    r   
setUpClass@TestOutputBuffering.testBufferSetupClass.<locals>.Foo.setUpClass  s    n%!r   c                     g r(   r%   rP   s    r   r  >TestOutputBuffering.testBufferSetupClass.<locals>.Foo.test_foo!  rS   r   r%   Nr    r!   r"   r#   classmethodrj  r  r$   r%   r   r   rU   rd         r   rU   r  
Stdout:
set up class
rW   setUpClass ()r   r$  r   r*   r8   r  rY   r&  r;   r  r<   r=   r   r*  r   r'  s	            r   testBufferSetupClass(TestOutputBuffering.testBufferSetupClass  s    &((*F 	(## 	 ""C
O#45f2*L9V]]+Q/$Xc]O15#)==#3 	..<;]Kl2)    D
D#c                 L   [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n[        R
                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S[        U5       S3nUR                  S	   u  pxU R                  UR                  U5        U R                  S
U5        U R                  XX5        g ! , (       d  f       N= f)NTc                   *    \ rS rSr\S 5       rS rSrg)8TestOutputBuffering.testBufferTearDownClass.<locals>.Fooi3  c                 $    [        S5        SS-    g Ntear down classrW   r   r  rh  s    r   tearDownClassFTestOutputBuffering.testBufferTearDownClass.<locals>.Foo.tearDownClass4      '(!r   c                     g r(   r%   rP   s    r   r  ATestOutputBuffering.testBufferTearDownClass.<locals>.Foo.test_foo8  rS   r   r%   N)r    r!   r"   r#   ro  r~  r  r$   r%   r   r   rU   rz  3  rp  r   rU   r  
Stdout:
tear down class
rW   tearDownClass (rs  r   r$  rt  r'  s	            r   testBufferTearDownClass+TestOutputBuffering.testBufferTearDownClass.  s    &((*F 	(## 	 ""C
O#45f5*L9V]]+Q/'a8#)==#3 	..<;]Kl2) rw  c                 6   [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n[        R
                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S[        U5       S3nUR                  S	   u  pxU R                  UR                  U5        U R                  S
U5        U R                  SU5        U R                  XX5        UR                  S   u  pxU R                  UR                  U5        U R                  SU5        U R                  SU5        U R                  XX5        g ! , (       d  f       GNo= f)NTc                   :    \ rS rSr\S 5       r\S 5       rS rSrg):TestOutputBuffering.testBufferDoClassCleanups.<locals>.FooiJ  c                 n    [        S5        U R                  [        5        U R                  [        5        g Nrg  r-   addClassCleanupr/   r2   rh  s    r   rj  ETestOutputBuffering.testBufferDoClassCleanups.<locals>.Foo.setUpClassK  &    n%##L1##L1r   c                     [        S5        g )Nr}  r  rh  s    r   r~  HTestOutputBuffering.testBufferDoClassCleanups.<locals>.Foo.tearDownClassP  s    '(r   c                     g r(   r%   rP   s    r   r  CTestOutputBuffering.testBufferDoClassCleanups.<locals>.Foo.test_fooS  rS   r   r%   N	r    r!   r"   r#   ro  rj  r~  r  r$   r%   r   r   rU   r  J  s-    2 2 ) )r   rU   r  1
Stdout:
tear down class
do cleanup2
do cleanup1
r  r  rs  r   rD  r.   rW   rG  r1   r   r*   r8   r  rY   r&  r;   r  r<   r=   r   r*  r   rI  r'  s	            r   testBufferDoClassCleanups-TestOutputBuffering.testBufferDoClassCleanupsE  sJ   &((*F 
	(## 
	 ""C
O#45fO*L9V]]+Q/'a8#)==#3 	..<0-@m4l2#)==#3 	..</?}5l2= s   F		
Fc                 h   [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n[        R
                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S[        U5       S3nUR                  S	   u  pxU R                  UR                  U5        U R                  S
U5        U R                  SU5        U R                  SU5        U R                  SU5        UR                  S   u  pxU R                  UR                  U5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  XX5        UR                  S   u  pxU R                  UR                  U5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  XX5        g ! , (       d  f       GN= f)NTc                   *    \ rS rSr\S 5       rS rSrg)ETestOutputBuffering.testBufferSetupClass_DoClassCleanups.<locals>.Fooik  c                 x    [        S5        U R                  [        5        U R                  [        5        SS-    g rf  r  rh  s    r   rj  PTestOutputBuffering.testBufferSetupClass_DoClassCleanups.<locals>.Foo.setUpClassl  s-    n%##L1##L1!r   c                     g r(   r%   rP   s    r   r  NTestOutputBuffering.testBufferSetupClass_DoClassCleanups.<locals>.Foo.test_foor  rS   r   r%   Nrn  r%   r   r   rU   r  k  s     
r   rU   r  z.
Stdout:
set up class
do cleanup2
do cleanup1
r-  rr  rs  r   r$  r1   r.   rq  rW   rD  r   r  rG  r  r'  s	            r   $testBufferSetupClass_DoClassCleanups8TestOutputBuffering.testBufferSetupClass_DoClassCleanupsf  s   &((*F 	(## 	 ""C
O#45fL*L9V]]+Q/$Xc]O15#)==#3 	..<;]K}5m41=A#)==#3 	..<0-@,m<m4l2#)==#3 	..</?,m<}5l2I    H""
H1c                 h   [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n[        R
                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S[        U5       S3nUR                  S	   u  pxU R                  UR                  U5        U R                  S
U5        U R                  SU5        U R                  SU5        U R                  SU5        UR                  S   u  pxU R                  UR                  U5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  XX5        UR                  S   u  pxU R                  UR                  U5        U R                  SU5        U R                  SU5        U R                  SU5        U R                  XX5        g ! , (       d  f       GN= f)NTc                   :    \ rS rSr\S 5       r\S 5       rS rSrg)HTestOutputBuffering.testBufferTearDownClass_DoClassCleanups.<locals>.Fooi  c                 n    [        S5        U R                  [        5        U R                  [        5        g r  r  rh  s    r   rj  STestOutputBuffering.testBufferTearDownClass_DoClassCleanups.<locals>.Foo.setUpClass  r  r   c                 $    [        S5        SS-    g r|  r  rh  s    r   r~  VTestOutputBuffering.testBufferTearDownClass_DoClassCleanups.<locals>.Foo.tearDownClass  r  r   c                     g r(   r%   rP   s    r   r  QTestOutputBuffering.testBufferTearDownClass_DoClassCleanups.<locals>.Foo.test_foo  rS   r   r%   Nr  r%   r   r   rU   r    s-    2 2  r   rU   r  r  r-  r  rs  r   r$  r1   r.   r  rW   rD  r   r  rG  r  r'  s	            r   'testBufferTearDownClass_DoClassCleanups;TestOutputBuffering.testBufferTearDownClass_DoClassCleanups  s   &((*F 	(## 	 ""C
O#45fO*L9V]]+Q/'a8#)==#3 	..<;]K}5m44mD#)==#3 	..<0-@,m<m4l2#)==#3 	..</?,m<}5l2O r  c                    [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n " S S[
        5      nSUl        U[        R                  S'   U R                  [        R                  R                  S5        [        R                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S	nUR                  S
   u  pU R                  UR                   U5        U R#                  SU	5        U R#                  Xi5        g ! , (       d  f       GNA= f)NTc                       \ rS rSrS rSrg)6TestOutputBuffering.testBufferSetUpModule.<locals>.Fooi  c                     g r(   r%   rP   s    r   r  ?TestOutputBuffering.testBufferSetUpModule.<locals>.Foo.test_foo  rS   r   r%   Nr    r!   r"   r#   r  r$   r%   r   r   rU   r    rV   r   rU   c                   $    \ rS rSr\S 5       rSrg)9TestOutputBuffering.testBufferSetUpModule.<locals>.Modulei  c                  $    [        S5        SS-    g Nset up modulerW   r   r  r%   r   r   setUpModuleETestOutputBuffering.testBufferSetUpModule.<locals>.Module.setUpModule  s    o&!r   r%   Nr    r!   r"   r#   staticmethodr  r$   r%   r   r   Moduler         r   r  r  
Stdout:
set up module
rW   setUpModule (Module)r   r$  r   r*   r8   r  rY   r   r!   r~   modulesr   popr&  r;   r  r<   r=   r*  r   
r   r  r   rU   r  r(  r)  r*  r   r   s
             r   testBufferSetUpModule)TestOutputBuffering.testBufferSetUpModule  s   &((*F 	(## 		V 	 " &H2""C
O#45f3*L9V]]+Q/,#)==#3 	..<;]Kl23    E
E*c                    [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n " S S[
        5      nSUl        U[        R                  S'   U R                  [        R                  R                  S5        [        R                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S	nUR                  S
   u  pU R                  UR                   U5        U R#                  SU	5        U R#                  Xi5        g ! , (       d  f       GNA= f)NTc                       \ rS rSrS rSrg)9TestOutputBuffering.testBufferTearDownModule.<locals>.Fooi  c                     g r(   r%   rP   s    r   r  BTestOutputBuffering.testBufferTearDownModule.<locals>.Foo.test_foo  rS   r   r%   Nr  r%   r   r   rU   r    rV   r   rU   c                   $    \ rS rSr\S 5       rSrg)<TestOutputBuffering.testBufferTearDownModule.<locals>.Modulei  c                  $    [        S5        SS-    g Nztear down modulerW   r   r  r%   r   r   tearDownModuleKTestOutputBuffering.testBufferTearDownModule.<locals>.Module.tearDownModule      ()!r   r%   N)r    r!   r"   r#   r  r  r$   r%   r   r   r  r    r  r   r  r  
Stdout:
tear down module
rW   tearDownModule (Module)r   r$  r  r  s
             r   testBufferTearDownModule,TestOutputBuffering.testBufferTearDownModule  s   &((*F 	(## 		V 	 " &H2""C
O#45f6*L9V]]+Q//#)==#3 	..<;]Kl23 r  c                    [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n " S S[
        5      nSUl        U[        R                  S'   U R                  [        R                  R                  S5        [        R                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S	nUR                  S
   u  pU R                  UR                   U5        U R#                  SU	5        U R%                  SU	5        U R#                  Xi5        g ! , (       d  f       GNS= f)NTc                       \ rS rSrS rSrg);TestOutputBuffering.testBufferDoModuleCleanups.<locals>.Fooi  c                     g r(   r%   rP   s    r   r  DTestOutputBuffering.testBufferDoModuleCleanups.<locals>.Foo.test_foo  rS   r   r%   Nr  r%   r   r   rU   r    rV   r   rU   c                   $    \ rS rSr\S 5       rSrg)>TestOutputBuffering.testBufferDoModuleCleanups.<locals>.Modulei  c                      [        S5        [        R                  " [        5        [        R                  " [        5        g Nr  r-   r*   addModuleCleanupr/   r2   r%   r   r   r  JTestOutputBuffering.testBufferDoModuleCleanups.<locals>.Module.setUpModule  &    o&)),7)),7r   r%   Nr  r%   r   r   r  r    s    8 8r   r  r  z!
Stdout:
do cleanup2
do cleanup1
rW   r  r   rD  r.   r   r*   r8   r  rY   r   r!   r~   r  r   r  r&  r;   r  r<   r=   r*  r   rI  r  s
             r   testBufferDoModuleCleanups.TestOutputBuffering.testBufferDoModuleCleanups  s"   &((*F 	(## 		8V 	8 " &H2""C
O#45f>*L9V]]+Q//#)==#3 	..<0-@m4l27 s   E--
E<c                 .   [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n " S S[
        5      nSUl        U[        R                  S'   U R                  [        R                  R                  S5        [        R                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S	nUR                  S
   u  pU R                  UR                   U5        U R#                  SU	5        U R%                  SU	5        U R%                  SU	5        U R#                  SU	5        UR                  S   u  pU R#                  Xi5        U R                  UR                   U5        U R#                  SU	5        U R%                  SU	5        U R%                  SU	5        U R#                  Xi5        g ! , (       d  f       GN= f)NTc                       \ rS rSrS rSrg)GTestOutputBuffering.testBufferSetUpModule_DoModuleCleanups.<locals>.Fooi  c                     g r(   r%   rP   s    r   r  PTestOutputBuffering.testBufferSetUpModule_DoModuleCleanups.<locals>.Foo.test_foo  rS   r   r%   Nr  r%   r   r   rU   r    rV   r   rU   c                   $    \ rS rSr\S 5       rSrg)JTestOutputBuffering.testBufferSetUpModule_DoModuleCleanups.<locals>.Modulei  c                      [        S5        [        R                  " [        5        [        R                  " [        5        SS-    g r  r  r%   r   r   r  VTestOutputBuffering.testBufferSetUpModule_DoModuleCleanups.<locals>.Module.setUpModule  s-    o&)),7)),7!r   r%   Nr  r%   r   r   r  r    s     r   r  r  z/
Stdout:
set up module
do cleanup2
do cleanup1
r  r  r   r$  r1   r.   r  rW   rD  r   r  r  s
             r   &testBufferSetUpModule_DoModuleCleanups:TestOutputBuffering.testBufferSetUpModule_DoModuleCleanups  s   &((*F 	(## 		V 	 " &H2""C
O#45fM*L9V]]+Q/,#)==#3 	..<;]K}5m42MB#)==#3 	l2..<0-@,m<m4l2I s   H
Hc                    [        5        n[        R                  " 5       nS S S 5        SWl         " S S[        R                  5      n " S S[
        5      nSUl        U[        R                  S'   U R                  [        R                  R                  S5        [        R                  " U" S5      /5      nU" U5        SnU R                  WR                  5       U5        U R                  [        UR                  5      S5        S	nUR                  S
   u  pU R                  UR                   U5        U R#                  SU	5        U R%                  SU	5        U R%                  SU	5        U R#                  SU	5        UR                  S   u  pU R                  UR                   U5        U R#                  SU	5        U R%                  SU	5        U R%                  SU	5        U R#                  Xi5        g ! , (       d  f       GN= f)NTc                       \ rS rSrS rSrg)JTestOutputBuffering.testBufferTearDownModule_DoModuleCleanups.<locals>.Fooi9  c                     g r(   r%   rP   s    r   r  STestOutputBuffering.testBufferTearDownModule_DoModuleCleanups.<locals>.Foo.test_foo:  rS   r   r%   Nr  r%   r   r   rU   r  9  rV   r   rU   c                   4    \ rS rSr\S 5       r\S 5       rSrg)MTestOutputBuffering.testBufferTearDownModule_DoModuleCleanups.<locals>.Modulei<  c                      [        S5        [        R                  " [        5        [        R                  " [        5        g r  r  r%   r   r   r  YTestOutputBuffering.testBufferTearDownModule_DoModuleCleanups.<locals>.Module.setUpModule=  r  r   c                  $    [        S5        SS-    g r  r  r%   r   r   r  \TestOutputBuffering.testBufferTearDownModule_DoModuleCleanups.<locals>.Module.tearDownModuleB  r  r   r%   N)r    r!   r"   r#   r  r  r  r$   r%   r   r   r  r  <  s(    8 8  r   r  r  z2
Stdout:
tear down module
do cleanup2
do cleanup1
r  r  r   r$  r1   r.   r  rW   rD  r   r  r  s
             r   )testBufferTearDownModule_DoModuleCleanups=TestOutputBuffering.testBufferTearDownModule_DoModuleCleanups4  s   &((*F 	(## 			V 		 " &H2""C
O#45fP*L9V]]+Q//#)==#3 	..<;]K}5m45}E#)==#3 	..<0-@,m<m4l2M s   G44
H)r  r  N)r    r!   r"   r#   r  rn  r  r  r  r  r+  r7  rJ  rT  r`  ru  r  r  r  r  r  r  r  r  r  r$   r%   r   r   r  r    st    $$,-4`-D^3,3,3<'3R)3V3.3.3B%3N(3T38383<%3N'3r   r  __main__r  )!r  r~   r  r)   r*   unittest.utilr   test.supportr   r   r   test.test_unittest.supportr   r   r	   r+   r/   r2   rY   r4   r  dictr8   __dict__	classDictmr   typer  r  r  r    mainr%   r   r   <module>r
     s'   	 
    " ( H 5F *$
%
  d@h'' d@  d@N  fH(++ fH  fHR $$--.	
A!
 !	* vi3	1$** 1$h  `	3(++ `	3  `	3F zMMO r   