+
    Bi                        ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	H
t
 ^ RIHt  ! R R]4      tR tR	 tR
 t]
 ! R R]P$                  4      4       t]
 ! R R]P$                  4      4       t]! ]P,                  P.                  4      tR F  t]] K  	  RR lt]]R&   ]! R]3]4      t ! R R]P$                  4      t]
 ! R R]P$                  4      4       t]R8X  d   ]P@                  ! 4        R# R# )    N)strclass)warnings_helper)captured_stdoutforce_not_colorized_test_class)BufferedWriterc                   *    ] tR t^t ! R R4      tRtR# )MockTracebackc                   ,   a  ] tR t^t o R tR tRtV tR# ) MockTraceback.TracebackExceptionc                4    VP                  R R4      V n        R# )capture_localsFN)getr   )selfargskwargss   &*,5/usr/lib/python3.14/test/test_unittest/test_result.py__init__)MockTraceback.TracebackException.__init__   s    "(**-=u"ED    c                R    R .pV P                   '       d   VP                  R4       V# )A tracebacklocals)r   append)r   r   results   &, r   format'MockTraceback.TracebackException.format   s&    #_F"""h'Mr   )r   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes____classdictcell____classdict__s   @r   TracebackExceptionr      s     	F	 	r   r%    N)r   r   r   r    r%   r!   r&   r   r   r	   r	      s     r   r	   c                  8    \         \        P                  n         R # N)	tracebackunittestr   r&   r   r   restore_tracebackr+      s     )HOOr   c                  .    \        R 4       \        R4      h)zdo cleanup1zbad cleanup1)print	TypeErrorr&   r   r   bad_cleanup1r/      s    	-
N
##r   c                  .    \        R 4       \        R4      h)zdo cleanup2zbad cleanup2)r-   
ValueErrorr&   r   r   bad_cleanup2r2      s    	-
^
$$r   c                      a  ] tR t^$t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tRtV tR# )Test_TestResultc                   \         P                  ! 4       pV P                  VP                  4       4       V P	                  \        VP                  4      ^ 4       V P	                  \        VP                  4      ^ 4       V P	                  VP                  ^ 4       V P	                  VP                  R4       V P                  VP                  4       V P                  VP                  4       R# r   FN)r*   
TestResult
assertTruewasSuccessfulassertEquallenerrorsfailurestestsRun
shouldStopassertIsNone_stdout_buffer_stderr_bufferr   r   s   & r   	test_initTest_TestResult.test_init/   s    $$&,,./V]]+Q/V__-q1!,**E2&//0&//0r   c                    \         P                  ! 4       pVP                  4        V P                  VP                  R 4       R# )TN)r*   r7   stopr:   r?   rC   s   & r   	test_stopTest_TestResult.test_stop=   s/    $$&**D1r   c                    ! R  R\         P                  4      pV! R4      p\         P                  ! 4       pVP                  V4       V P	                  VP                  4       4       V P                  \        VP                  4      ^ 4       V P                  \        VP                  4      ^ 4       V P                  VP                  ^4       V P                  VP                  R4       VP                  V4       R# )c                   &   a  ] tR t^Gt o R tRtV tR# )+Test_TestResult.test_startTest.<locals>.Fooc                    R # r(   r&   r   s   &r   test_12Test_TestResult.test_startTest.<locals>.Foo.test_1H       r   r&   Nr   r   r   r    rO   r!   r"   r#   s   @r   FoorL   G         r   rS   rO   FNr*   TestCaser7   	startTestr8   r9   r:   r;   r<   r=   r>   r?   stopTestr   rS   testr   s   &   r   test_startTestTest_TestResult.test_startTestF   s    	(## 	 8}$$&,,./V]]+Q/V__-q1!,**E2r   c                :    ! R  R\         P                  4      pV! R4      p\         P                  ! 4       pVP                  V4       V P	                  VP                  4       4       V P                  \        VP                  4      ^ 4       V P                  \        VP                  4      ^ 4       V P                  VP                  ^4       V P                  VP                  R4       VP                  V4       V P	                  VP                  4       4       V P                  \        VP                  4      ^ 4       V P                  \        VP                  4      ^ 4       V P                  VP                  ^4       V P                  VP                  R4       R# )c                   &   a  ] tR t^\t o R tRtV tR# )*Test_TestResult.test_stopTest.<locals>.Fooc                    R # r(   r&   rN   s   &r   rO   1Test_TestResult.test_stopTest.<locals>.Foo.test_1]   rQ   r   r&   NrR   r#   s   @r   rS   r_   \   rT   r   rS   rO   FNrU   rY   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                p    \         P                  ! 4       pVP                  4        VP                  4        R # r(   )r*   r7   startTestRunstopTestRunrC   s   & r   test_startTestRun_stopTestRun-Test_TestResult.test_startTestRun_stopTestRunv   s(    $$&r   c                    ! R  R\         P                  4      pV! R4      p\         P                  ! 4       pVP                  V4       VP	                  V4       VP                  V4       V P                  VP                  4       4       V P                  \        VP                  4      ^ 4       V P                  \        VP                  4      ^ 4       V P                  VP                  ^4       V P                  VP                  R4       R# )c                   &   a  ] tR t^t o R tRtV tR# ),Test_TestResult.test_addSuccess.<locals>.Fooc                    R # r(   r&   rN   s   &r   rO   3Test_TestResult.test_addSuccess.<locals>.Foo.test_1   rQ   r   r&   NrR   r#   s   @r   rS   rk      rT   r   rS   rO   FN)r*   rV   r7   rW   
addSuccessrX   r8   r9   r:   r;   r<   r=   r>   r?   rY   s   &   r   test_addSuccessTest_TestResult.test_addSuccess   s    	(## 	 8}$$&$,,./V]]+Q/V__-q1!,**E2r   c                    ! R  R\         P                  4      pV! R4      p VP                  R4       \         P                  ! 4       pVP                  V4       VP                  VX4       VP                  V4       V P                  VP                  4       4       V P                  \        VP                  4      ^ 4       V P                  \        VP                  4      ^4       V P                  VP                   ^4       V P                  VP"                  R4       VP                  ^ ,          w  rVV P%                  WR4       V P'                  V\(        4       R#   \         d    \        P
                  ! 4       p ELKi ; i)c                   &   a  ] tR t^t o R tRtV tR# ),Test_TestResult.test_addFailure.<locals>.Fooc                    R # r(   r&   rN   s   &r   rO   3Test_TestResult.test_addFailure.<locals>.Foo.test_1   rQ   r   r&   NrR   r#   s   @r   rS   rs      rT   r   rS   rO   fooFN)r*   rV   failAssertionErrorsysexc_infor7   rW   
addFailurerX   assertFalser9   r:   r;   r<   r=   r>   r?   assertIsassertIsInstancestrr   rS   rZ   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#  	, \\^N	,s   E  F ?F c                  a	  ! R  R\         P                  4      pV! R4      o	V	3R lpV! 4       p\        P                  ! V!  p\         P                  ! 4       pVP                  S	4       VP                  S	V4       VP                  S	4       VP                  ^ ,          ^,          pV Uu. uF  qwV9  g   K  VNK  	  ppV P                  \        V4      ^4       V P                  RV^ ,          4       R# u upi )c                   &   a  ] tR t^t o R tRtV tR# )DTest_TestResult.test_addFailure_filter_traceback_frames.<locals>.Fooc                    R # r(   r&   rN   s   &r   rO   KTest_TestResult.test_addFailure_filter_traceback_frames.<locals>.Foo.test_1   rQ   r   r&   NrR   r#   s   @r   rS   r      rT   r   rS   rO   c                  x   <  S P                  R 4       R#   \         d    \        P                  ! 4       u # i ; irv   N)rw   rx   ry   rz   rZ   s   r   get_exc_infoMTest_TestResult.test_addFailure_filter_traceback_frames.<locals>.get_exc_info   s/    &		% ! &||~%&s     99 raise self.failureException(msg)Nr*   rV   r)   format_exceptionr7   rW   r{   rX   r=   r:   r;   assertIn
r   rS   r   r   full_excr   r   ldroppedrZ   s
   &        @r   'test_addFailure_filter_traceback_frames7Test_TestResult.test_addFailure_filter_traceback_frames   s    	(## 	 8}	& &--~>$$&$/*1-&Ah=*@11hAWq)8'!*E B   +C68C6c                  a	  ! R  R\         P                  4      pV! R4      o	V	3R lpV! 4       p\        P                  ! V!  p\         P                  ! 4       pVP                  S	4       VP                  S	V4       VP                  S	4       VP                  ^ ,          ^,          pV Uu. uF  qwV9  g   K  VNK  	  ppV P                  \        V4      ^4       V P                  RV^ ,          4       R# u upi )c                   &   a  ] tR t^t o R tRtV tR# )LTest_TestResult.test_addFailure_filter_traceback_frames_context.<locals>.Fooc                    R # r(   r&   rN   s   &r   rO   STest_TestResult.test_addFailure_filter_traceback_frames_context.<locals>.Foo.test_1   rQ   r   r&   NrR   r#   s   @r   rS   r      rT   r   rS   rO   c                     <   S P                  R 4       R#   \         d    \        ^*4      hi ; i  \         d    \        P                  ! 4       u # i ; ir   )rw   rx   r1   ry   rz   r   s   r   r   UTest_TestResult.test_addFailure_filter_traceback_frames_context.<locals>.get_exc_info   sL    &)IIe$% )$R.() &||~%&s    .1  AAr   Nr   r   s
   &        @r   /test_addFailure_filter_traceback_frames_context?Test_TestResult.test_addFailure_filter_traceback_frames_context   s    	(## 	 8}	& &--~>$$&$/*1-&Ah=*@11hAWq)8'!*E Br   c                b    ! R  R\         P                  4      pR pV! 4       pV! R4      p\         P                  ! 4       pVP                  V4       VP	                  WC4       VP                  V4       VP                  ^ ,          ^,          pV P                  VP                  R4      ^4       R# )c                   &   a  ] tR tRt o R tRtV tR# )`Test_TestResult.test_addFailure_filter_traceback_frames_chained_exception_self_loop.<locals>.Fooi  c                    R # r(   r&   rN   s   &r   rO   gTest_TestResult.test_addFailure_filter_traceback_frames_chained_exception_self_loop.<locals>.Foo.test_1	  rQ   r   r&   NrR   r#   s   @r   rS   r     rT   r   rS   c                       \        R 4      p W n        W n        V h  \          d    \        P                  ! 4       u # i ; i)Loop	Exception	__cause____context__ry   rz   )loops    r   r   iTest_TestResult.test_addFailure_filter_traceback_frames_chained_exception_self_loop.<locals>.get_exc_info  s<    & (!%#' 
 &||~%&s     >>rO   zException: Loop
N	r*   rV   r7   rW   r{   rX   r=   r:   countr   rS   r   r   rZ   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                    ! R  R\         P                  4      pR pV! 4       pV! R4      p\         P                  ! 4       pVP                  V4       VP	                  WC4       VP                  V4       VP                  ^ ,          ^,          pV P                  VP                  R4      ^4       V P                  VP                  R4      ^4       V P                  VP                  R4      ^4       R# )c                   &   a  ] tR tRt o R tRtV tR# )\Test_TestResult.test_addFailure_filter_traceback_frames_chained_exception_cycle.<locals>.Fooi!  c                    R # r(   r&   rN   s   &r   rO   cTest_TestResult.test_addFailure_filter_traceback_frames_chained_exception_cycle.<locals>.Foo.test_1"  rQ   r   r&   NrR   r#   s   @r   rS   r   !  rT   r   rS   c                       \        R 4      \        R4      \        R4      r!p W!3W3W3.pV F  w  rEWTn        WEn        K  	  Vh  \          d    \        P                  ! 4       u # i ; i)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%  sj    
& $C.)C.)C.a!!0 %HC$'M&)O !&  &||~%&s   AA  A&%A&rO   zException: A
zException: B
zException: C
Nr   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                    ! R  R\         P                  4      pV! R4      p \        4       h  \         d    \        P                  ! 4       p Mi ; i\         P
                  ! 4       pTP                  T4       TP                  Y#4       TP                  T4       T P                  TP                  4       4       T P                  \        TP                  4      ^4       T P                  \        TP                  4      ^ 4       T P                  TP                  ^4       T P                  TP                   R4       TP                  ^ ,          w  rVT P#                  YR4       T P%                  T\&        4       R# )c                   &   a  ] tR tRt o R tRtV tR# )*Test_TestResult.test_addError.<locals>.FooiU  c                    R # r(   r&   rN   s   &r   rO   1Test_TestResult.test_addError.<locals>.Foo.test_1V  rQ   r   r&   NrR   r#   s   @r   rS   r   U  rT   r   rS   rO   FN)r*   rV   r.   ry   rz   r7   rW   addErrorrX   r|   r9   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Ac                    ! R  R\         P                  4      pV! R4      p\         P                  ! 4       pRVn        \        \         P
                  n        V P                  \        4       VP                  4        VP                  V4       VP                  4        V P                  \        VP                  4      ^4       VP                  ^ ,          w  rEV P                  RV4       R# )c                   &   a  ] tR tRt o R tRtV tR# )1Test_TestResult.test_addError_locals.<locals>.Fooip  c                    ^^ ,           R#    Nr&   rN   s   &r   rO   8Test_TestResult.test_addError_locals.<locals>.Foo.test_1q  s    !r   r&   NrR   r#   s   @r   rS   r   p  s      r   rS   rO   TzA tracebacklocalsN)r*   rV   r7   	tb_localsr	   r   r)   
addCleanupr+   re   runrf   r:   r;   r<   )r   rS   rZ   r   r   r   s   &     r   test_addError_locals$Test_TestResult.test_addError_localso  s    	(## 	 8}$$&$1!)*V]]+Q/#)==#3 	,m<r   c                  aaa  ! VVV3R  lR\         P                  4      pRoV! R4      o\         P                  ! 4       oSP                  S4       V P	                  SP                  4       4       V P                  \        SP                  4      ^4       V P                  \        SP                  4      ^4       V P                  SP                  ^4       V P                  SP                  R4       SP                  ^ ,          w  r#V P                  VS4       V P                  RV4       SP                  ^ ,          w  r#V P                  VS4       V P                  RV4       R# )c                   2   <a  ] tR tRt o VVV3R ltRtV tR# ),Test_TestResult.test_addSubTest.<locals>.Fooi  c                6  < V P                  ^R7      ;_uu_ 4        V P                  o ^^ ,           SP                  SSX4       V P                  R4       RRR4       R#   \         d    \        P                  ! 4       p LPi ; i  + '       g   i     R# ; i)r   rv   some recognizable failureN)subTest_subtestZeroDivisionErrorry   rz   
addSubTestrw   )r   r   r   subtestrZ   s   & r   rO   3Test_TestResult.test_addSubTest.<locals>.Foo.test_1  sz    \\a\(("mmG8! %%dG^DII9: )( - 8),8	 )((s-   B	A!$B! BBBBB	r&   NrR   )r$   r   r   rZ   s   @r   rS   r     s     ; ;r   rS   NrO   Fr   r   )r*   rV   r7   r   r|   r9   r:   r;   r<   r=   r>   r?   r}   r   )r   rS   r   r   r   r   rZ   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                     ! R  R\         4      p\        P                  ! 4       pV P                  VP	                  V4      4       RVP
                  P                  R&   V P                  VP	                  V4      4       R# )c                   ,    ] tR tRt ! R R]4      tRtR# )5Test_TestResult.testStackFrameTrimming.<locals>.Framei  c                       ] tR tRt/ tRtR# )>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
__unittestN)r   r*   r7   r|   _is_relevant_tb_levelr   r   r8   )r   r   r   s   &  r   testStackFrameTrimming&Test_TestResult.testStackFrameTrimming  sb    	F 	 $$&55e<=15  .44U;<r   c                   \         P                  ! 4       pR  Vn        RVn        VP	                  RR4       V P                  VP                  4       \         P                  ! 4       pR Vn        RVn        VP                  RR4       V P                  VP                  4       \         P                  ! 4       pR Vn        RVn        VP                  R4       V P                  VP                  4       R# )c                      R #  r&   _s   *r   <lambda>.Test_TestResult.testFailFast.<locals>.<lambda>      r   TNc                      R # r   r&   r   s   *r   r   r     r   r   c                      R # r   r&   r   s   *r   r   r     r   r   )	r*   r7   _exc_info_to_stringfailfastr   r8   r?   r{   addUnexpectedSuccessrC   s   & r   testFailFastTest_TestResult.testFailFast  s    $$&%2"d#))*$$&%2"$%))*$$&%2"##D)))*r   c                   a  \        4       p\        P                  ! VR R7      pV 3R lpVP                  V4      pVP	                  4        S P                  VP                  4       R4       R# )T)streamr   c                 p   < V ;P                   ^,          un         SP                  V P                  4       R# r   )r>   r8   r   )r   r   s   &r   rZ   5Test_TestResult.testFailFastSetByRunner.<locals>.test  s!    OOq OOOFOO,r   z

OK
N)r   r*   TextTestRunnerr   flushassertEndsWithgetvalue)r   r  runnerrZ   r   s   f    r   testFailFastSetByRunner'Test_TestResult.testFailFastSetByRunner  sR    !((F	- D!FOO-z:r   r&   N)r   r   r   r    rD   rH   r[   rb   rg   ro   r   r   r   r   r   r   r   r   r   r  r  r!   r"   r#   s   @r   r4   r4   $   sg     	12*3603N26F4F:F2Ch26=& BD=+&; ;r   r4   c                   ,  a  ] tR tRt o RtR tR tR tR tR t	R t
]P                  ! ]P                  P                  ^8  R	4      R
 4       t]P                  ! ]P                  P                  ^8  R	4      R 4       t]P                  ! ]P                  P                  ^8  R	4      R 4       t]P                  ! ]P                  P                  ^8  R	4      R 4       t ! R R]P(                  4      tRR ltR tR tR tR tR tR tR tR tRtV t R# )Test_TextTestResulti  Nc                    \         P                  ! R R^4      pV P                  VP                  V 4      R\        ,           R,           4       R # )NTz$testGetDescriptionWithoutDocstring (z8.Test_TextTestResult.testGetDescriptionWithoutDocstring)r*   TextTestResultr:   getDescriptionr   rC   s   & r   "testGetDescriptionWithoutDocstring6Test_TextTestResult.testGetDescriptionWithoutDocstring  sD    ((tQ7%%d+6AJK	Lr   c                4   V P                  ^^R7      ;_uu_ 4        \        P                  ! RR^4      pV P                  VP	                  V P
                  4      R\        ,           R,           4       RRR4       V P                  R4      ;_uu_ 4        \        P                  ! RR^4      pV P                  VP	                  V P
                  4      R\        ,           R,           4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   rv   barNTz+testGetSubTestDescriptionWithoutDocstring (zN.Test_TextTestResult.testGetSubTestDescriptionWithoutDocstring) (foo=1, bar=2)zsome messagezN.Test_TextTestResult.testGetSubTestDescriptionWithoutDocstring) [some message]r   r*   r  r:   r  r   r   rC   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C3AD3D	D	c                   V P                  4       ;_uu_ 4        \        P                  ! R R^4      pV P                  VP	                  V P
                  4      R\        ,           R,           4       R R R 4       R #   + '       g   i     R # ; i)NTz4testGetSubTestDescriptionWithoutDocstringAndParams (zT.Test_TextTestResult.testGetSubTestDescriptionWithoutDocstringAndParams) (<subtest>)r  rC   s   & r   2testGetSubTestDescriptionWithoutDocstringAndParamsFTest_TextTestResult.testGetSubTestDescriptionWithoutDocstringAndParams  sd    \\^^,,T4;F))$--8"#&""# ^^^s   AA99B
	c           	     .   R p\         P                  ! RR^4      p^ R. 3 F]  pV P                  V4      ;_uu_ 4        V P                  VP	                  V P
                  4      V\        V3,          4       RRR4       K_  	  R#   + '       g   i     Kt  ; i)zmtestGetSubTestDescriptionForFalseValues (%s.Test_TextTestResult.testGetSubTestDescriptionForFalseValues) [%s]NTr*   r  r   r:   r  r   r   )r   expectedr   args   &   r   'testGetSubTestDescriptionForFalseValues;Test_TextTestResult.testGetSubTestDescriptionForFalseValues  s{     C((tQ7tR=Cc""  ))$--8#. #" !"""s   9BBc           	        V P                  ^R7      ;_uu_ 4        V P                  ^^R7      ;_uu_ 4        \        P                  ! RR^4      pV P                  VP	                  V P
                  4      R\        ,           R,           4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   r   bazr  NTz1testGetNestedSubTestDescriptionWithoutDocstring (z[.Test_TextTestResult.testGetNestedSubTestDescriptionWithoutDocstring) (baz=2, bar=3, foo=1)r  rC   s   & r   /testGetNestedSubTestDescriptionWithoutDocstringCTest_TextTestResult.testGetNestedSubTestDescriptionWithoutDocstring  s    \\a\  !++!00tQ?  --dmm<&'*001 , ! ++ !  s#   B2AB	B2B/*B22C	c           	        V P                  ^^R7      ;_uu_ 4        V P                  ^^R7      ;_uu_ 4        \        P                  ! RR^4      pV P                  VP	                  V P
                  4      R\        ,           R,           4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   r  r'  NTz;testGetDuplicatedNestedSubTestDescriptionWithoutDocstring (ze.Test_TextTestResult.testGetDuplicatedNestedSubTestDescriptionWithoutDocstring) (baz=3, bar=4, foo=1)r  rC   s   & r   9testGetDuplicatedNestedSubTestDescriptionWithoutDocstringMTest_TextTestResult.testGetDuplicatedNestedSubTestDescriptionWithoutDocstring  s    \\aQ\''!++!00tQ?  --dmm<&' *QQR , ('++ (''s#   B3AB 	B3 B0+B33C	z)Docstrings are omitted with -O2 and abovec                    \         P                  ! R R^4      pV P                  VP                  V 4      R\        ,           R,           4       R # )NTz(testGetDescriptionWithOneLineDocstring (zr.Test_TextTestResult.testGetDescriptionWithOneLineDocstring)
Tests getDescription() for a method with a docstring.r  rC   s   & r   &testGetDescriptionWithOneLineDocstring:Test_TextTestResult.testGetDescriptionWithOneLineDocstring  sN     ((tQ7%%d+"HH	Jr   c                    \         P                  ! R R^4      pV P                  ^^R7      ;_uu_ 4        V P                  VP	                  V P
                  4      R\        ,           R,           4       R R R 4       R #   + '       g   i     R # ; i)NTr  z/testGetSubTestDescriptionWithOneLineDocstring (z.Test_TextTestResult.testGetSubTestDescriptionWithOneLineDocstring) (foo=1, bar=2)
Tests getDescription() for a method with a docstring.r!  rC   s   & r   -testGetSubTestDescriptionWithOneLineDocstringATest_TextTestResult.testGetSubTestDescriptionWithOneLineDocstring  st     ((tQ7\\aQ\''%%dmm4"HHJ ('''   >A<<B	c                    \         P                  ! R R^4      pV P                  VP                  V 4      R\        ,           R,           4       R # )NTz*testGetDescriptionWithMultiLineDocstring (z{.Test_TextTestResult.testGetDescriptionWithMultiLineDocstring)
Tests getDescription() for a method with a longer docstring.r  rC   s   & r   (testGetDescriptionWithMultiLineDocstring<Test_TextTestResult.testGetDescriptionWithMultiLineDocstring%  sK     ((tQ7%%d+"	r   c                    \         P                  ! R R^4      pV P                  ^^R7      ;_uu_ 4        V P                  VP	                  V P
                  4      R\        ,           R,           4       R R R 4       R #   + '       g   i     R # ; i)NTr  z1testGetSubTestDescriptionWithMultiLineDocstring (z.Test_TextTestResult.testGetSubTestDescriptionWithMultiLineDocstring) (foo=1, bar=2)
Tests getDescription() for a method with a longer docstring.r!  rC   s   & r   /testGetSubTestDescriptionWithMultiLineDocstringCTest_TextTestResult.testGetSubTestDescriptionWithMultiLineDocstring3  sq     ((tQ7\\aQ\''%%dmm4" ('''r4  c                      a  ] tR tRt o R tR tR tR t]P                  R 4       t
]P                  R 4       tR tR	 tR
tR tRtV tR
# )Test_TextTestResult.TestiC  c                    R # r(   r&   rN   s   &r   testSuccess$Test_TextTestResult.Test.testSuccessD  s    r   c                (    V P                  R 4       R# )skipNskipTestrN   s   &r   testSkip!Test_TextTestResult.Test.testSkipF  s    MM&!r   c                (    V P                  R 4       R# rw   Nrw   rN   s   &r   testFail!Test_TextTestResult.Test.testFailH  s    IIfr   c                    \        R 4      h)error)r   rN   s   &r   	testError"Test_TextTestResult.Test.testErrorJ  s    G$$r   c                (    V P                  R 4       R# rG  rH  rN   s   &r   testExpectedFailure,Test_TextTestResult.Test.testExpectedFailureL  s    IIfr   c                    R # r(   r&   rN   s   &r   testUnexpectedSuccess.Test_TextTestResult.Test.testUnexpectedSuccessO  s    r   c                    V P                  R ^R7      ;_uu_ 4         RRR4       V P                  R^R7      ;_uu_ 4         RRR4       R#   + '       g   i     L7; i  + '       g   i     R# ; i)oneaNtwob)r   rN   s   &r   testSubTestSuccess+Test_TextTestResult.Test.testSubTestSuccessR  sN    eq)) *eq)) *) *))))s   AA A	 A1	c                   V P                  R ^R7      ;_uu_ 4         RRR4       V P                  R^R7      ;_uu_ 4        V P                  R4       RRR4       V P                  R^R7      ;_uu_ 4        V P                  R4       RRR4       V P                  R^R7      ;_uu_ 4        \        R4      h  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L]; i  + '       g   i     R# ; i)	successrW  NrA  rZ  rw   )crL  )d)r   rC  rw   r   rN   s   &r   testSubTestMixed)Test_TextTestResult.Test.testSubTestMixedW  s    i1-- .f**f% +f**		&! +g++(( .-****+++s/   B7C
6C+C07C	
C	C-	0D	Nc                :    V P                   e   V P                   hR # r(   )tearDownErrorrN   s   &r   tearDown!Test_TextTestResult.Test.tearDownb  s    !!-((( .r   r&   )r   r   r   r    r>  rD  rI  rM  r*   expectedFailurerP  rS  r\  rb  re  rf  r!   r"   r#   s   @r   Testr<  C  sd     		"		%		!	!	 
"			!	!	 
"		
	) 	) 	)r   ri  c                    \        4       p\        P                  P                  V4      p\        P                  ! VR V4      pV P                  V4      pW6n        VP                  V4       VP                  4       # T)	r   r*   r  _WritelnDecoratorr  ri  re  r   r  )r   	test_name	verbosityre  r  r   rZ   s   &&&&   r   	_run_testTest_TextTestResult._run_testf  s_    !226:((yAyy#*  r   c                   V P                  V P                  R ^4      R4       V P                  V P                  R^4      R4       V P                  V P                  R^4      R4       V P                  V P                  R^4      R4       V P                  V P                  R^4      R	4       V P                  V P                  R
^4      R4       R# )r>  .rD  srI  FrM  ErP  xrS  uNr:   ro  rN   s   &r   testDotsOutput"Test_TextTestResult.testDotsOutputo  s    q93?
A6<
A6<Q7=(=qA3G(?CSIr   c                   \          R V P                  P                   2pV P                  V P	                  R^4      RV R24       V P                  V P	                  R^4      RV R24       V P                  V P	                  R^4      RV R	24       V P                  V P	                  R
^4      RV R24       V P                  V P	                  R^4      RV R24       V P                  V P	                  R^4      RV R24       R# )rr  r>  testSuccess (z.testSuccess) ... ok
rD  
testSkip (z.testSkip) ... skipped 'skip'
rI  
testFail (z.testFail) ... FAIL
rM  testError (z.testError) ... ERROR
rP  ztestExpectedFailure (z+.testExpectedFailure) ... expected failure
rS  ztestUnexpectedSuccess (z/.testUnexpectedSuccess) ... unexpected success
Nr   ri  r   r:   ro  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                J    V P                  V P                  R ^4      R4       R# )r\  rr  Nrx  rN   s   &r   testDotsOutputSubTestSuccess0Test_TextTestResult.testDotsOutputSubTestSuccess  s    (<a@#Fr   c                    \          R V P                  P                   2pV P                  V P	                  R^4      RV R24       R# )rr  r\  ztestSubTestSuccess (z.testSubTestSuccess) ... ok
Nr  r  s   & r   testLongOutputSubTestSuccess0Test_TextTestResult.testLongOutputSubTestSuccess  sG    j$))"8"8!9:	(<a@/	{:WX	Zr   c                J    V P                  V P                  R ^4      R4       R# )rb  sFENrx  rN   s   &r   testDotsOutputSubTestMixed.Test_TextTestResult.testDotsOutputSubTestMixed  s    (:A>Fr   c                    \          R V P                  P                   2pV P                  V P	                  R^4      RV RV RV RV R2	4       R# )rr  rb  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
Nr  r  s   & r   testLongOutputSubTestMixed.Test_TextTestResult.testLongOutputSubTestMixed  sh    j$))"8"8!9:	(:A>$YK 0''0k 2''0k 2''0k1]_	`r   c                v   V P                  R ^\        R4      4      pV P                  VR4       V P                  R^\        R4      4      pV P                  VR4       V P                  R^\        R4      4      pV P                  VR4       V P                  R^\        R4      4      pV P                  VR	4       R
# )r>  rw   rt  rM  EFrI  rL  FErD  sFN)ro  rx   r:   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                   \          R V P                  P                   2pV P                  R^\	        R4      4      pV P                  VRV R24       V P                  R^\	        R4      4      pV P                  VRV RV R24       V P                  R	^\        R
4      4      pV P                  VRV RV R24       V P                  R^\	        R4      4      pV P                  VRV RV R24       R# )rr  r>  rw   r|  z.testSuccess) ... FAIL
rM  r  z!.testError) ... ERROR
testError (z.testError) ... FAIL
rI  rL  r~  z.testFail) ... FAIL
testFail (z.testFail) ... ERROR
rD  r}  z(.testSkip) ... skipped 'skip'
testSkip (z.testSkip) ... FAIL
N)r   ri  r   ro  rx   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$  r)  r,  r*   skipIfry   flagsoptimizer/  r2  r6  r9  rV   ri  ro  ry  r  r  r  r  r  r  r  r!   r"   r#   s   @r   r  r    sH    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 Hr   r  r   c                 Z    . V n         . V n        ^ V n        RV n        RV n        RV n        R# r6   )r=   r<   r>   r?   bufferr   )r   r  descriptionsrn  s   &&&&r   r   r     s,    DMDKDMDODKDNr   	OldResultc                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	Test_OldTestResulti  c                   \         P                  ! R \        34      ;_uu_ 4        \        4       pVP	                  V4       V P                  \        VP                  4      V4       RRR4       R#   + '       g   i     R# ; i)zTestResult has no add.+ method,N)r   check_warningsRuntimeWarningr  r   r:   r;   r=   )r   rZ   r=   r   s   &&& r   assertOldResultWarning)Test_OldTestResult.assertOldResultWarning  sd    ++2NCE E[FHHVS18<	E E E Es   AA00B	c                     ! R  R\         P                  4      pR F-  w  r#V! V4      pV P                  V\        V'       * 4      4       K/  	  R# )c                   n   a  ] tR tRt o R t]P                  R 4       t]P                  R 4       tRt	V t
R# )2Test_OldTestResult.testOldTestResult.<locals>.Testi  c                (    V P                  R 4       R# )foobarNrB  rN   s   &r   rD  ;Test_OldTestResult.testOldTestResult.<locals>.Test.testSkip  s    h'r   c                    \         hr(   )r.   rN   s   &r   testExpectedFailCTest_OldTestResult.testOldTestResult.<locals>.Test.testExpectedFail  s    r   c                    R # r(   r&   rN   s   &r   rS  HTest_OldTestResult.testOldTestResult.<locals>.Test.testUnexpectedSuccess  s    r   r&   N)r   r   r   r    rD  r*   rh  r  rS  r!   r"   r#   s   @r   ri  r    s:     (%%  & %% &r   ri  N))rD  T)r  T)rS  F)r*   rV   r  int)r   ri  rm  should_passrZ   s   &    r   testOldTestResult$Test_OldTestResult.testOldTestResult  sG    	8$$ 	'I"I 	?D''ck/.BC	'Ir   c                h     ! R  R\         P                  4      pV P                  V! R4      ^ 4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# )7Test_OldTestResult.testOldTestTesultSetup.<locals>.Testi  c                (    V P                  R 4       R# )	no reasonNrB  rN   s   &r   setUp=Test_OldTestResult.testOldTestTesultSetup.<locals>.Test.setUp  s    k*r   c                    R # r(   r&   rN   s   &r   testFoo?Test_OldTestResult.testOldTestTesultSetup.<locals>.Test.testFoo  rQ   r   r&   N)r   r   r   r    r  r  r!   r"   r#   s   @r   ri  r    s     + r   ri  r  N)r*   rV   r  r   ri  s   & r   testOldTestTesultSetup)Test_OldTestResult.testOldTestTesultSetup  s*    	8$$ 	
 	##DOQ7r   c                    \         P                  ! R 4       ! R R\         P                  4      4       pV P                  V! R4      ^ 4       R# )r  c                   &   a  ] tR tRt o R tRtV tR# )7Test_OldTestResult.testOldTestResultClass.<locals>.Testi  c                    R # r(   r&   rN   s   &r   r  ?Test_OldTestResult.testOldTestResultClass.<locals>.Test.testFoo  rQ   r   r&   Nr   r   r   r    r  r!   r"   r#   s   @r   ri  r    s      r   ri  r  N)r*   rA  rV   r  r  s   & r   testOldTestResultClass)Test_OldTestResult.testOldTestResultClass  s@    	{	#	8$$ 	 
$	 	##DOQ7r   c                     ! R  R\         P                  4      p\         P                  ! \        \        P
                  ! 4       R7      pVP                  V! R4      4       R# )c                   &   a  ] tR tRt o R tRtV tR# )8Test_OldTestResult.testOldResultWithRunner.<locals>.Testi  c                    R # r(   r&   rN   s   &r   r  @Test_OldTestResult.testOldResultWithRunner.<locals>.Test.testFoo  rQ   r   r&   Nr  r#   s   @r   ri  r    rT   r   ri  )resultclassr  r  N)r*   rV   r  r  ioStringIOr   )r   ri  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#   s   @r   r  r    s$     =D"88$ $r   r  c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )TestOutputBufferingi  c                Z    \         P                  V n        \         P                  V n        R # r(   )ry   stdout	_real_outstderr	_real_errrN   s   &r   r  TestOutputBuffering.setUp  s    r   c                Z    V P                   \        n        V P                  \        n        R # r(   )r  ry   r  r  r  rN   s   &r   rf  TestOutputBuffering.tearDown  s    ^^
^^
r   c                   V P                   pV P                  p\        P                  ! 4       pV P	                  VP
                  4       V P                  V\        P                  4       V P                  V\        P                  4       VP                  V 4       V P                  V\        P                  4       V P                  V\        P                  4       R # r(   )r  r  r*   r7   r|   r  r}   ry   r  r  rW   )r   real_outreal_errr   s   &   r   testBufferOutputOff'TestOutputBuffering.testBufferOutputOff  s    >>>>$$&'h

+h

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

+h

+r   c                
   V P                   pV P                  p\        P                  ! 4       pV P	                  VP
                  4       R Vn        V P                  V\        P                  4       V P                  V\        P                  4       VP                  V 4       V P                  V\        P                  4       V P                  V\        P                  4       V P                  \        P                  \        P                  4       V P                  \        P                  \        P                  4       V P                  \        P                  \        P                  4       \        P                  p\        P                  p\        P                  ! 4       Vn        \        P                  ! 4       Vn        \#        R4       \#        R\        P                  R7       V P%                  VP'                  4       R4       V P%                  VP'                  4       R4       V P%                  VP                  P'                  4       R4       V P%                  VP                   P'                  4       R4       VP)                  V 4       VP+                  V 4       V P                  \        P                  VP                  4       V P                  \        P                  VP                   4       V P%                  VP                  P'                  4       R4       V P%                  VP                   P'                  4       R4       V P%                  VP'                  4       R4       V P%                  VP'                  4       R4       R# )Trv   r  filezfoo
zbar
r   N)r  r  r*   r7   r|   r  r}   ry   r  r  rW   assertIsNotr~   r  r  _original_stdout_original_stderrr-   r:   r  rn   rX   )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                `    \         P                  ! 4       pR Vn        VP                  V 4       V# rk  )r*   r7   r  rW   rC   s   & r   getStartedResult$TestOutputBuffering.getStartedResultD  s*    $$&r   c                   \         \        P                  n        V P	                  \
        4       R	 EF  w  rpV P                  4       p\        P                  p\        P                  p\        P                  ! 4       Vn        \        P                  ! 4       Vn        \        R\        P                  R7       V'       d   \        R\        P                  R7       \        WB4      pV! V R
4       VP!                  V 4       \        WA4      pV P#                  \%        V4      ^4       V^ ,          w  r\&        P(                  ! R4      pRpV'       d   \&        P(                  ! R4      pRV: V: 2pV P+                  W4       V P#                  VP                  P-                  4       V4       V P#                  VP                  P-                  4       V4       V P/                  W4       EK  	  R# )r<   rv   r  r  Nz9
                Stdout:
                foo
            r   z9
                Stderr:
                bar
            r   )r<   r   Tr=   r{   Fr  r  NNN)r	   r*   r   r)   r   r+   r  ry   r  r  r  r  r  r  r-   getattrrX   r:   r;   textwrapdedentr}   r  assertMultiLineEqual)r   message_attradd_attrinclude_errorr   buffered_outbuffered_erraddFunctionresult_listrZ   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   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p\        P
                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       R\        V4       R2pVP                  ^ ,          w  rxV P                  \        V4      V4       V P                  RV4       V P                  WX4       R #   + '       g   i     EL; i)	NTc                   ,   a  ] tR tRt o R tR tRtV tR# )0TestOutputBuffering.testBufferSetUp.<locals>.Fooi~  c                .    \        R 4       ^^ ,           R# zset upNr-   rN   s   &r   r  6TestOutputBuffering.testBufferSetUp.<locals>.Foo.setUp  s    h!r   c                    R # r(   r&   rN   s   &r   test_foo9TestOutputBuffering.testBufferSetUp.<locals>.Foo.test_foo  rQ   r   r&   Nr   r   r   r    r  r  r!   r"   r#   s   @r   rS   r  ~        r   rS   r  
Stdout:
set up

test_foo (
.test_foo)#ZeroDivisionError: division by zeror   r*   r7   r  rV   	TestSuiter:   r  r;   r<   r   r   r   	r   r  r   rS   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!!D2	c                j   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p\        P
                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       R\        V4       R2pVP                  ^ ,          w  rxV P                  \        V4      V4       V P                  RV4       V P                  WX4       R #   + '       g   i     EL; i)	NTc                   ,   a  ] tR tRt o R tR tRtV tR# )3TestOutputBuffering.testBufferTearDown.<locals>.Fooi  c                .    \        R 4       ^^ ,           R# z	tear downNr  rN   s   &r   rf  <TestOutputBuffering.testBufferTearDown.<locals>.Foo.tearDown      k"!r   c                    R # r(   r&   rN   s   &r   r  <TestOutputBuffering.testBufferTearDown.<locals>.Foo.test_foo  rQ   r   r&   N)r   r   r   r    rf  r  r!   r"   r#   s   @r   rS   r%    r  r   rS   r  z
Stdout:
tear down
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                ~   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p\        P
                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       R\        V4       R2pVP                  ^ ,          w  rxV P                  \        V4      V4       V P                  RV4       V P                  R	V4       V P                  R
V4       V P                  RV4       VP                  ^,          w  rxV P                  \        V4      V4       V P                  RV4       V P                  RV4       V P                  WX4       R #   + '       g   i     EL; i)NTc                   ,   a  ] tR tRt o R tR tRtV tR# )5TestOutputBuffering.testBufferDoCleanups.<locals>.Fooi  c                p    \        R 4       V P                  \        4       V P                  \        4       R# r  r-   r   r/   r2   rN   s   &r   r  ;TestOutputBuffering.testBufferDoCleanups.<locals>.Foo.setUp  !    h--r   c                    R # r(   r&   rN   s   &r   r  >TestOutputBuffering.testBufferDoCleanups.<locals>.Foo.test_foo  rQ   r   r&   Nr  r#   s   @r   rS   r0    s     . r   rS   r  (
Stdout:
set up
do cleanup2
do cleanup1
r  r  ValueError: bad cleanup2r.   
Stdout:
set up
do cleanup2

do cleanup1
TypeError: bad cleanup1r1   r   r*   r7   r  rV   r  r:   r  r;   r<   r   r   r   assertNotInr  s	   &        r   testBufferDoCleanups(TestOutputBuffering.testBufferDoCleanups  s`   &((*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                   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p\        P
                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       R\        V4       R2pVP                  ^ ,          w  rxV P                  \        V4      V4       V P                  RV4       V P                  R	V4       V P                  R
V4       V P                  RV4       V P                  RV4       V P                  RV4       VP                  ^,          w  rxV P                  \        V4      V4       V P                  RV4       V P                  RV4       V P                  R
V4       V P                  RV4       V P                  RV4       VP                  ^,          w  rxV P                  \        V4      V4       V P                  RV4       V P                  RV4       V P                  R	V4       V P                  WX4       R #   + '       g   i     ELK; i)NTc                   ,   a  ] tR tRt o R tR tRtV tR# );TestOutputBuffering.testBufferSetUp_DoCleanups.<locals>.Fooi  c                    \        R 4       V P                  \        4       V P                  \        4       ^^ ,           R# r  r2  rN   s   &r   r  ATestOutputBuffering.testBufferSetUp_DoCleanups.<locals>.Foo.setUp  s*    h--!r   c                    R # r(   r&   rN   s   &r   r  DTestOutputBuffering.testBufferSetUp_DoCleanups.<locals>.Foo.test_foo  rQ   r   r&   Nr  r#   s   @r   rS   rB    s     
 r   rS   r  r7  r  r  r  r1   r.   r  
do cleanup2
r:  r8  r   r9  r;  r<  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                   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p\        P
                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       R\        V4       R2pVP                  ^ ,          w  rxV P                  \        V4      V4       V P                  RV4       V P                  R	V4       V P                  R
V4       V P                  RV4       V P                  RV4       V P                  RV4       VP                  ^,          w  rxV P                  \        V4      V4       V P                  RV4       V P                  RV4       V P                  R
V4       V P                  RV4       V P                  RV4       VP                  ^,          w  rxV P                  \        V4      V4       V P                  RV4       V P                  RV4       V P                  R	V4       V P                  WX4       R #   + '       g   i     ELK; i)NTc                   2   a  ] tR tRt o R tR tR tRtV tR# )>TestOutputBuffering.testBufferTearDown_DoCleanups.<locals>.Fooi  c                p    \        R 4       V P                  \        4       V P                  \        4       R# r  r2  rN   s   &r   r  DTestOutputBuffering.testBufferTearDown_DoCleanups.<locals>.Foo.setUp  r4  r   c                .    \        R 4       ^^ ,           R# r'  r  rN   s   &r   rf  GTestOutputBuffering.testBufferTearDown_DoCleanups.<locals>.Foo.tearDown  r)  r   c                    R # r(   r&   rN   s   &r   r  GTestOutputBuffering.testBufferTearDown_DoCleanups.<locals>.Foo.test_foo  rQ   r   r&   N)	r   r   r   r    r  rf  r  r!   r"   r#   s   @r   rS   rM    s     . r   rS   r  z2
Stdout:
set up
tear down
do cleanup2
do cleanup1
r  r  r  r1   r.   z
Stdout:
set up
tear down
rG  r:  r8  r   z&
Stdout:
set up
tear down
do cleanup2
r;  r<  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 rJ  c                l   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p\        P
                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       R\        V4       R2pVP                  ^ ,          w  rxV P                  VP                  V4       V P                  RV4       V P                  WX4       R #   + '       g   i     EL; i)	NTc                   6   a  ] tR tRt o ]R 4       tR tRtV tR# )5TestOutputBuffering.testBufferSetupClass.<locals>.Fooi  c                .    \        R 4       ^^ ,           R# zset up classNr  clss   &r   
setUpClass@TestOutputBuffering.testBufferSetupClass.<locals>.Foo.setUpClass  s    n%!r   c                    R # r(   r&   rN   s   &r   r  >TestOutputBuffering.testBufferSetupClass.<locals>.Foo.test_foo!  rQ   r   r&   N	r   r   r   r    classmethodr]  r  r!   r"   r#   s   @r   rS   rX    !       r   rS   r  
Stdout:
set up class
setUpClass ()r  r   r*   r7   r  rV   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""D3	c                l   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p\        P
                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       R\        V4       R2pVP                  ^ ,          w  rxV P                  VP                  V4       V P                  RV4       V P                  WX4       R #   + '       g   i     EL; i)	NTc                   6   a  ] tR tRt o ]R 4       tR tRtV tR# )8TestOutputBuffering.testBufferTearDownClass.<locals>.Fooi3  c                .    \        R 4       ^^ ,           R# ztear down classNr  r[  s   &r   tearDownClassFTestOutputBuffering.testBufferTearDownClass.<locals>.Foo.tearDownClass4      '(!r   c                    R # r(   r&   rN   s   &r   r  ATestOutputBuffering.testBufferTearDownClass.<locals>.Foo.test_foo8  rQ   r   r&   N)	r   r   r   r    rb  rp  r  r!   r"   r#   s   @r   rS   rm  3  rc  r   rS   r  
Stdout:
tear down class
tearDownClass (rf  r  rg  r  s	   &        r   testBufferTearDownClass+TestOutputBuffering.testBufferTearDownClass.  s    &((*F 	(## 	 ""C
O#45f5*L9V]]+Q/'a8#)==#3 	..<;]Kl2) rj  c                \   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p\        P
                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       R\        V4       R2pVP                  ^ ,          w  rxV P                  VP                  V4       V P                  RV4       V P                  R	V4       V P                  WX4       VP                  ^,          w  rxV P                  VP                  V4       V P                  R
V4       V P                  RV4       V P                  WX4       R #   + '       g   i     ELz; i)NTc                   F   a  ] tR tRt o ]R 4       t]R 4       tR tRtV t	R# ):TestOutputBuffering.testBufferDoClassCleanups.<locals>.FooiJ  c                p    \        R 4       V P                  \        4       V P                  \        4       R# rZ  r-   addClassCleanupr/   r2   r[  s   &r   r]  ETestOutputBuffering.testBufferDoClassCleanups.<locals>.Foo.setUpClassK  &    n%##L1##L1r   c                    \        R 4       R# ro  r  r[  s   &r   rp  HTestOutputBuffering.testBufferDoClassCleanups.<locals>.Foo.tearDownClassP  s    '(r   c                    R # r(   r&   rN   s   &r   r  CTestOutputBuffering.testBufferDoClassCleanups.<locals>.Foo.test_fooS  rQ   r   r&   N
r   r   r   r    rb  r]  rp  r  r!   r"   r#   s   @r   rS   r{  J  s5     2 2 ) ) r   rS   r  1
Stdout:
tear down class
do cleanup2
do cleanup1
rv  rf  r8  r.   r;  r1   r   r*   r7   r  rV   r  r:   r  r;   r<   r   r  r   r=  r  s	   &        r   testBufferDoClassCleanups-TestOutputBuffering.testBufferDoClassCleanupsE  sP   &((*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                   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p\        P
                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       R\        V4       R2pVP                  ^ ,          w  rxV P                  VP                  V4       V P                  RV4       V P                  R	V4       V P                  R
V4       V P                  RV4       VP                  ^,          w  rxV P                  VP                  V4       V P                  RV4       V P                  RV4       V P                  R
V4       V P                  WX4       VP                  ^,          w  rxV P                  VP                  V4       V P                  RV4       V P                  RV4       V P                  R	V4       V P                  WX4       R #   + '       g   i     EL; i)NTc                   6   a  ] tR tRt o ]R 4       tR tRtV tR# )ETestOutputBuffering.testBufferSetupClass_DoClassCleanups.<locals>.Fooik  c                    \        R 4       V P                  \        4       V P                  \        4       ^^ ,           R# rZ  r}  r[  s   &r   r]  PTestOutputBuffering.testBufferSetupClass_DoClassCleanups.<locals>.Foo.setUpClassl  s/    n%##L1##L1!r   c                    R # r(   r&   rN   s   &r   r  NTestOutputBuffering.testBufferSetupClass_DoClassCleanups.<locals>.Foo.test_foor  rQ   r   r&   Nra  r#   s   @r   rS   r  k  s!      
 r   rS   r  z.
Stdout:
set up class
do cleanup2
do cleanup1
re  rf  r  r1   r.   rd  r8  r   r;  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    H77I	c                   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p\        P
                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       R\        V4       R2pVP                  ^ ,          w  rxV P                  VP                  V4       V P                  RV4       V P                  R	V4       V P                  R
V4       V P                  RV4       VP                  ^,          w  rxV P                  VP                  V4       V P                  RV4       V P                  RV4       V P                  R
V4       V P                  WX4       VP                  ^,          w  rxV P                  VP                  V4       V P                  RV4       V P                  RV4       V P                  R	V4       V P                  WX4       R #   + '       g   i     EL; i)NTc                   F   a  ] tR tRt o ]R 4       t]R 4       tR tRtV t	R# )HTestOutputBuffering.testBufferTearDownClass_DoClassCleanups.<locals>.Fooi  c                p    \        R 4       V P                  \        4       V P                  \        4       R# rZ  r}  r[  s   &r   r]  STestOutputBuffering.testBufferTearDownClass_DoClassCleanups.<locals>.Foo.setUpClass  r  r   c                .    \        R 4       ^^ ,           R# ro  r  r[  s   &r   rp  VTestOutputBuffering.testBufferTearDownClass_DoClassCleanups.<locals>.Foo.tearDownClass  rr  r   c                    R # r(   r&   rN   s   &r   r  QTestOutputBuffering.testBufferTearDownClass_DoClassCleanups.<locals>.Foo.test_foo  rQ   r   r&   Nr  r#   s   @r   rS   r    s5     2 2   r   rS   r  r  rv  rf  r  r1   r.   ru  r8  r   r;  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                   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p ! R R\
        4      pRVn        V\        P                  R&   V P                  \        P                  P                  R4       \        P                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       RpVP                  ^ ,          w  rV P                  VP                   V4       V P#                  R	V	4       V P#                  Wi4       R #   + '       g   i     ELH; i)
NTc                   &   a  ] tR tRt o R tRtV tR# )6TestOutputBuffering.testBufferSetUpModule.<locals>.Fooi  c                    R # r(   r&   rN   s   &r   r  ?TestOutputBuffering.testBufferSetUpModule.<locals>.Foo.test_foo  rQ   r   r&   Nr   r   r   r    r  r!   r"   r#   s   @r   rS   r    rT   r   rS   c                   0   a  ] tR tRt o ]R 4       tRtV tR# )9TestOutputBuffering.testBufferSetUpModule.<locals>.Modulei  c                 .    \        R 4       ^^ ,           R# zset up moduleNr  r&   r   r   setUpModuleETestOutputBuffering.testBufferSetUpModule.<locals>.Module.setUpModule  s    o&!r   r&   Nr   r   r   r    staticmethodr  r!   r"   r#   s   @r   Moduler          r   r  r  
Stdout:
set up module
setUpModule (Module)r  r   r*   r7   r  rV   r   r   ry   modulesr   popr  r:   r  r;   r<   r  r   
r   r  r   rS   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((E9	c                   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p ! R R\
        4      pRVn        V\        P                  R&   V P                  \        P                  P                  R4       \        P                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       RpVP                  ^ ,          w  rV P                  VP                   V4       V P#                  R	V	4       V P#                  Wi4       R #   + '       g   i     ELH; i)
NTc                   &   a  ] tR tRt o R tRtV tR# )9TestOutputBuffering.testBufferTearDownModule.<locals>.Fooi  c                    R # r(   r&   rN   s   &r   r  BTestOutputBuffering.testBufferTearDownModule.<locals>.Foo.test_foo  rQ   r   r&   Nr  r#   s   @r   rS   r    rT   r   rS   c                   0   a  ] tR tRt o ]R 4       tRtV tR# )<TestOutputBuffering.testBufferTearDownModule.<locals>.Modulei  c                 .    \        R 4       ^^ ,           R# ztear down moduleNr  r&   r   r   tearDownModuleKTestOutputBuffering.testBufferTearDownModule.<locals>.Module.tearDownModule      ()!r   r&   N)r   r   r   r    r  r  r!   r"   r#   s   @r   r  r    r  r   r  r  
Stdout:
tear down module
tearDownModule (Module)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                   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p ! R R\
        4      pRVn        V\        P                  R&   V P                  \        P                  P                  R4       \        P                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       RpVP                  ^ ,          w  rV P                  VP                   V4       V P#                  R	V	4       V P%                  R
V	4       V P#                  Wi4       R #   + '       g   i     ELZ; i)NTc                   &   a  ] tR tRt o R tRtV tR# );TestOutputBuffering.testBufferDoModuleCleanups.<locals>.Fooi  c                    R # r(   r&   rN   s   &r   r  DTestOutputBuffering.testBufferDoModuleCleanups.<locals>.Foo.test_foo  rQ   r   r&   Nr  r#   s   @r   rS   r    rT   r   rS   c                   0   a  ] tR tRt o ]R 4       tRtV tR# )>TestOutputBuffering.testBufferDoModuleCleanups.<locals>.Modulei  c                     \        R 4       \        P                  ! \        4       \        P                  ! \        4       R# r  r-   r*   addModuleCleanupr/   r2   r&   r   r   r  JTestOutputBuffering.testBufferDoModuleCleanups.<locals>.Module.setUpModule  &    o&)),7)),7r   r&   Nr  r#   s   @r   r  r    s     8 8r   r  r  z!
Stdout:
do cleanup2
do cleanup1
r  r8  r.   r   r*   r7   r  rV   r   r   ry   r  r   r  r  r:   r  r;   r<   r  r   r=  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::F	c                T   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p ! R R\
        4      pRVn        V\        P                  R&   V P                  \        P                  P                  R4       \        P                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       RpVP                  ^ ,          w  rV P                  VP                   V4       V P#                  R	V	4       V P%                  R
V	4       V P%                  RV	4       V P#                  RV	4       VP                  ^,          w  rV P#                  Wi4       V P                  VP                   V4       V P#                  RV	4       V P%                  RV	4       V P%                  RV	4       V P#                  Wi4       R #   + '       g   i     EL; i)NTc                   &   a  ] tR tRt o R tRtV tR# )GTestOutputBuffering.testBufferSetUpModule_DoModuleCleanups.<locals>.Fooi  c                    R # r(   r&   rN   s   &r   r  PTestOutputBuffering.testBufferSetUpModule_DoModuleCleanups.<locals>.Foo.test_foo  rQ   r   r&   Nr  r#   s   @r   rS   r    rT   r   rS   c                   0   a  ] tR tRt o ]R 4       tRtV tR# )JTestOutputBuffering.testBufferSetUpModule_DoModuleCleanups.<locals>.Modulei  c                     \        R 4       \        P                  ! \        4       \        P                  ! \        4       ^^ ,           R# r  r  r&   r   r   r  VTestOutputBuffering.testBufferSetUpModule_DoModuleCleanups.<locals>.Module.setUpModule  s/    o&)),7)),7!r   r&   Nr  r#   s   @r   r  r    s      r   r  r  z/
Stdout:
set up module
do cleanup2
do cleanup1
r  r  r1   r.   r  r8  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                2   \        4       ;_uu_ 4       p\        P                  ! 4       pR R R 4       RXn         ! R R\        P                  4      p ! R R\
        4      pRVn        V\        P                  R&   V P                  \        P                  P                  R4       \        P                  ! V! R4      .4      pV! V4       RpV P                  XP                  4       V4       V P                  \        VP                  4      ^4       RpVP                  ^ ,          w  rV P                  VP                   V4       V P#                  R	V	4       V P%                  R
V	4       V P%                  RV	4       V P#                  RV	4       VP                  ^,          w  rV P                  VP                   V4       V P#                  RV	4       V P%                  RV	4       V P%                  RV	4       V P#                  Wi4       R #   + '       g   i     EL; i)NTc                   &   a  ] tR tRt o R tRtV tR# )JTestOutputBuffering.testBufferTearDownModule_DoModuleCleanups.<locals>.Fooi9  c                    R # r(   r&   rN   s   &r   r  STestOutputBuffering.testBufferTearDownModule_DoModuleCleanups.<locals>.Foo.test_foo:  rQ   r   r&   Nr  r#   s   @r   rS   r  9  rT   r   rS   c                   @   a  ] tR tRt o ]R 4       t]R 4       tRtV tR# )MTestOutputBuffering.testBufferTearDownModule_DoModuleCleanups.<locals>.Modulei<  c                     \        R 4       \        P                  ! \        4       \        P                  ! \        4       R# r  r  r&   r   r   r  YTestOutputBuffering.testBufferTearDownModule_DoModuleCleanups.<locals>.Module.setUpModule=  r  r   c                 .    \        R 4       ^^ ,           R# 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#   s   @r   r  r  <  s+     8 8  r   r  r  z2
Stdout:
tear down module
do cleanup2
do cleanup1
r  r  r1   r.   r  r8  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   HH	)r  r  N)r   r   r   r    r  rf  r  r  r  r  r   r,  r>  rH  rT  rh  rw  r  r  r  r  r  r  r  r  r!   r"   r#   s   @r   r  r    s|     $$,-4`-D^3,3,3<'3R)3V3.3.3B%3N(3T38383<%3N'3 '3r   r  __main__)addSkipaddExpectedFailurer  r   r  )!r  ry   r  r)   r*   unittest.utilr   test.supportr   r   r   test.test_unittest.supportr   r   r	   r+   r/   r2   rV   r4   r  dictr7   __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   