
    .hh#                     \    S SK r S SKrS SKrSSKJr  S SKJr  SrS rSr	Sr
 " S	 S
\5      rg)    N   )utilwrapsTc                 0   ^  [        T 5      U 4S j5       nU$ )Nc                 `   > [        U SS5      (       a  U R                  5         T" U /UQ70 UD6$ )NfailfastF)getattrstop)selfargskwmethods      8/opt/python-3.13.8/usr/lib/python3.13/unittest/result.pyinnerfailfast.<locals>.inner   s0    4U++IIKd(T(R((    r   )r   r   s   ` r   r	   r	      s     
6]) ) Lr   z
Stdout:
%sz
Stderr:
%sc                       \ rS rSrSrSrSrSS jrS rS r	S r
S rS	 rS
 rS r\S 5       r\S 5       rS rS rS rS r\S 5       rS rS rS rS rS rS rS rS rSrg)
TestResult   NFc                    SU l         / U l        / U l        SU l        / U l        / U l        / U l        / U l        SU l        SU l	        SU l
        S U l        S U l        [        R                  U l        [        R                   U l        SU l        g )NFr   )r	   failureserrorstestsRunskippedexpectedFailuresunexpectedSuccessescollectedDurations
shouldStopbuffer	tb_locals_stdout_buffer_stderr_buffersysstdout_original_stdoutstderr_original_stderr_mirrorOutput)r   streamdescriptions	verbositys       r   __init__TestResult.__init__&   s     "#% "$"" #

 #

"r   c                     g N r   s    r   printErrorsTestResult.printErrors8       r   c                 \    U =R                   S-  sl         SU l        U R                  5         g )Nr   F)r   r)   _setupStdoutr   tests     r   	startTestTestResult.startTest;   s$    "r   c                     U R                   (       al  U R                  c4  [        R                  " 5       U l        [        R                  " 5       U l        U R                  [
        l        U R                  [
        l        g g r0   )r    r#   ioStringIOr"   r$   r%   r'   r2   s    r   r7   TestResult._setupStdoutA   sP    ;;""*&(kkm#&(kkm#,,CJ,,CJ r   c                     g r0   r1   r2   s    r   startTestRunTestResult.startTestRunI   r5   r   c                 2    U R                  5         SU l        g )NF)_restoreStdoutr)   r8   s     r   stopTestTestResult.stopTestO   s    "r   c                    U R                   (       Gaj  U R                  (       a  [        R                  R	                  5       n[        R
                  R	                  5       nU(       a=  UR                  S5      (       d  US-  nU R                  R                  [        U-  5        U(       a=  UR                  S5      (       d  US-  nU R                  R                  [        U-  5        U R                  [        l        U R                  [        l        U R                  R                  S5        U R                  R                  5         U R                  R                  S5        U R                  R                  5         g g )N
r   )r    r)   r$   r%   getvaluer'   endswithr&   writeSTDOUT_LINEr(   STDERR_LINEr"   seektruncater#   )r   outputerrors      r   rD   TestResult._restoreStdoutT   s   ;;;!!,,.

++-!??400$))//f0DE >>$//))//e0CD..CJ..CJ$$Q'((*$$Q'((*% r   c                     g r0   r1   r2   s    r   stopTestRunTestResult.stopTestRuni   r5   r   c                 h    U R                   R                  XR                  X!5      45        SU l        g NT)r   append_exc_info_to_stringr)   r   r9   errs      r   addErrorTestResult.addErroro   s,    
 	D":":3"EFG!r   c                 h    U R                   R                  XR                  X!5      45        SU l        g rW   )r   rX   rY   r)   rZ   s      r   
addFailureTestResult.addFailurew   s,     	d$<$<S$GHI!r   c                    Ub  [        U SS5      (       a  U R                  5         [        US   UR                  5      (       a  U R                  nOU R
                  nUR                  X R                  X15      45        SU l        g g )Nr	   Fr   T)	r
   r   
issubclassfailureExceptionr   r   rX   rY   r)   )r   r9   subtestr[   r   s        r   
addSubTestTestResult.addSubTest~   sq     ?tZ//		#a&$"7"788MM7$<$<S$GHI!%D r   c                     g r0   r1   r8   s     r   
addSuccessTestResult.addSuccess   s    r   c                 <    U R                   R                  X45        g r0   )r   rX   )r   r9   reasons      r   addSkipTestResult.addSkip   s    TN+r   c                 Z    U R                   R                  XR                  X!5      45        g r0   )r   rX   rY   rZ   s      r   addExpectedFailureTestResult.addExpectedFailure   s'    $$++C67	9r   c                 :    U R                   R                  U5        g r0   )r   rX   r8   s     r   addUnexpectedSuccessTestResult.addUnexpectedSuccess   s     	  ''-r   c                 t    [        U S5      (       a'  U R                  R                  [        U5      U45        g g )Nr   )hasattrr   rX   str)r   r9   elapseds      r   addDurationTestResult.addDuration   s4     4-..##**CIw+?@ /r   c                     [        U R                  5      [        U R                  5      s=:H  =(       a    S:H  Os  =(       a0    [        U S5      (       + =(       d    [        U R                  5      S:H  $ )Nr   r   )lenr   r   ru   r   r2   s    r   wasSuccessfulTestResult.wasSuccessful   sV    
 T]]#s4;;'7<<1< 5T#899 4T--.!3	6r   c                     SU l         g rW   )r   r2   s    r   r   TestResult.stop   s	    r   c                 H   Uu  p4nU R                  X4XR5      n[        R                  " X4UU R                  SS9n[	        UR                  5       5      nU R                  (       a  [        R                  R                  5       n[        R                  R                  5       n	U(       a3  UR                  S5      (       d  US-  nUR                  [        U-  5        U	(       a3  U	R                  S5      (       d  U	S-  n	UR                  [        U	-  5        SR                  U5      $ )NT)capture_localscompactrH    )_clean_tracebacks	tracebackTracebackExceptionr!   listformatr    r$   r%   rI   r'   rJ   rX   rL   rM   join)
r   r[   r9   exctypevaluetbtb_emsgLinesrP   rQ   s
             r   rY   TestResult._exc_info_to_string   s     ##GB=++B>>49 &;;ZZ((*FJJ'')Et,,dNFf 45~~d++TMEe 34wwx  r   c                 \   S nSnXU4/n[        U5      1nU(       Ga  UR                  5       u  pnU(       aA  U R                  U5      (       a+  UR                  nU(       a  U R                  U5      (       a  M+  XR                  L a  U R                  U5        U(       a  UnSnOX2l        Ubu  UR                  UR                  4 HY  n	U	c  M  [        U	5      U;  d  M  UR                  [        U	5      XR                  45        UR                  [        U	5      5        M[     U(       a  GM  U$ )NTF)idpop_is_relevant_tb_leveltb_nextrc   _remove_unittest_tb_frames__traceback__	__cause____context__rX   typeadd)
r   r   r   r   r9   retfirstexcsseencs
             r   r   TestResult._clean_tracebacks   s    $%5	{#'88: WR33B77ZZ 33B77 /////3&(# //5+<+<=A}Ad):T!Wa$ABA ># d* 
r   c                 4    SUR                   R                  ;   $ )N
__unittest)tb_frame	f_globals)r   r   s     r   r    TestResult._is_relevant_tb_level   s    r{{4444r   c                     S nU(       aC  U R                  U5      (       d-  UnUR                  nU(       a  U R                  U5      (       d  M-  Ub  S Ul        g g r0   )r   r   )r   r   prevs      r   r   %TestResult._remove_unittest_tb_frames   sS     33B77DB 33B77 DL r   c                     S[         R                  " U R                  5      U R                  [	        U R
                  5      [	        U R                  5      4-  $ )Nz!<%s run=%i errors=%i failures=%i>)r   strclass	__class__r   r{   r   r   r2   s    r   __repr__TestResult.__repr__   sA    3dnn-t}}c$++>NDMM"$$ 	%r   )r)   r(   r&   r#   r"   r    r   r   r   r	   r   r   r   r!   r   r   )NNN) __name__
__module____qualname____firstlineno___previousTestClass_testRunEntered_moduleSetUpFailedr-   r3   r:   r7   rA   rE   rD   rT   r	   r\   r_   re   rh   rl   ro   rr   rx   r|   r   rY   r   r   r   r   __static_attributes__r1   r   r   r   r      s     O#$.-#
+* " " " "&",9
 . .	A6!,85 %r   r   )r=   r$   r   r   r   	functoolsr   r   r	   rL   rM   objectr   r1   r   r   <module>r      s:    
 
   
 h% h%r   