
    =OgF!                     f    	 d dl Z d dlZd dlZddlmZ d dlmZ dZd ZdZ	dZ
 G d	 d
e          ZdS )    N   )utilwrapsTc                 <     t                      fd            }|S )Nc                 f    t          | dd          r|                                   | g|R i |S )NfailfastF)getattrstop)selfargskwmethods      (/usr/lib64/python3.11/unittest/result.pyinnerzfailfast.<locals>.inner   sD    4U++ 	IIKKKvd(T(((R(((    r   )r   r   s   ` r   r	   r	      s3    
6]]) ) ) ) ]) Lr   z
Stdout:
%sz
Stderr:
%sc                       e Zd Z	 dZdZdZddZd Zd Zd Z	d Z
d Zd	 Zd
 Zed             Zed             Zd Zd Zd Zd Zed             Zd Zd Zd Zd Zd Zd Zd ZdS )
TestResultNFc                     d| _         g | _        g | _        d| _        g | _        g | _        g | _        d| _        d| _        d| _	        d | _
        d | _        t          j        | _        t          j        | _        d| _        d S )NFr   )r	   failureserrorstestsRunskippedexpectedFailuresunexpectedSuccesses
shouldStopbuffer	tb_locals_stdout_buffer_stderr_buffersysstdout_original_stdoutstderr_original_stderr_mirrorOutput)r   streamdescriptions	verbositys       r   __init__zTestResult.__init__&   s|     "#% "" #
 #
"r   c                     d S N r   s    r   printErrorszTestResult.printErrors7   s    --r   c                 ^    	 | xj         dz  c_         d| _        |                                  d S )Nr   F)r   r&   _setupStdoutr   tests     r   	startTestzTestResult.startTest:   s5    7"r   c                     | j         r[| j        0t          j                    | _        t          j                    | _        | j        t
          _        | j        t
          _        d S d S r,   )r   r    ioStringIOr   r!   r"   r$   r.   s    r   r1   zTestResult._setupStdout@   sS    ; 	-"*&(kmm#&(kmm#,CJ,CJJJ	- 	-r   c                     d S r,   r-   r.   s    r   startTestRunzTestResult.startTestRunH       	 	r   c                 >    	 |                                   d| _        d S )NF)_restoreStdoutr&   r2   s     r   stopTestzTestResult.stopTestN   s%    5"r   c                    | j         rI| j        rt          j                                        }t          j                                        }|r<|                    d          s|dz  }| j                            t          |z             |r<|                    d          s|dz  }| j
                            t          |z             | j        t          _        | j
        t          _        | j                            d           | j                                         | j                            d           | j                                         d S d S )N
r   )r   r&   r!   r"   getvaluer$   endswithr#   writeSTDOUT_LINEr%   STDERR_LINEr   seektruncater    )r   outputerrors      r   r<   zTestResult._restoreStdoutS   s>   ; 	+! 
E,,..
++-- F!??400 '$)//f0DEEE E >>$// &)//e0CDDD.CJ.CJ$$Q'''((***$$Q'''((*****%	+ 	+r   c                     d S r,   r-   r.   s    r   stopTestRunzTestResult.stopTestRunh   r:   r   c                 v    	 | j                             ||                     ||          f           d| _        d S NT)r   append_exc_info_to_stringr&   r   r3   errs      r   addErrorzTestResult.addErrorn   sB    	 	D$":":3"E"EFGGG!r   c                 v    	 | j                             ||                     ||          f           d| _        d S rL   )r   rM   rN   r&   rO   s      r   
addFailurezTestResult.addFailurev   s@    	'dD$<$<S$$G$GHIII!r   c                    	 |t          | dd          r|                                  t          |d         |j                  r| j        }n| j        }|                    ||                     ||          f           d| _        d S d S )Nr	   Fr   T)	r
   r   
issubclassfailureExceptionr   r   rM   rN   r&   )r   r3   subtestrP   r   s        r   
addSubTestzTestResult.addSubTest}   s    	 ?tZ// 		#a&$"788 %MM7D$<$<S$$G$GHIII!%D ?r   c                     	 d S r,   r-   r2   s     r   
addSuccesszTestResult.addSuccess   s
    7r   c                 @    	 | j                             ||f           d S r,   )r   rM   )r   r3   reasons      r   addSkipzTestResult.addSkip   s%    ,T6N+++++r   c                 h    	 | j                             ||                     ||          f           d S r,   )r   rM   rN   rO   s      r   addExpectedFailurezTestResult.addExpectedFailure   sB    =$$4++C667	9 	9 	9 	9 	9r   c                 <    	 | j                             |           d S r,   )r   rM   r2   s     r   addUnexpectedSuccesszTestResult.addUnexpectedSuccess   s"    C ''-----r   c                     	 t          | j                  t          | j                  cxk    odk    nc o(t          | d           pt          | j                  dk    S )Nr   r   )lenr   r   hasattrr   r.   s    r   wasSuccessfulzTestResult.wasSuccessful   sm    = T]##s4;'7'7<<<<1<<<< 5T#8999 4T-..!3	6r   c                     	 d| _         d S rL   )r   r.   s    r   r   zTestResult.stop   s    9r   c                 R   	 |\  }}}|                      ||||          }t          j        |||| j        d          }t	          |                                          }| j        rt          j        	                                }t          j
        	                                }	|r7|                    d          s|dz  }|                    t          |z             |	r7|	                    d          s|	dz  }	|                    t          |	z             d                    |          S )NT)capture_localscompactr?    )_clean_tracebacks	tracebackTracebackExceptionr   listformatr   r!   r"   r@   r$   rA   rM   rC   rD   join)
r   rP   r3   exctypevaluetbtb_emsgLinesrG   rH   s
             r   rN   zTestResult._exc_info_to_string   s    L ##GUB==+UB>49 9 9 &&; 
	5Z((**FJ''))E 6t,, #dNFf 4555 5~~d++ "TMEe 3444wwx   r   c                    d }d}|||fg}t          |          h}|r|                                \  }}}|r3|                     |          r|j        }|r|                     |          ||j        u r|                     |           |r|}d}n||_        |p|j        |j        fD ]a}	|	]t          |	          |vrL|	                    t          |	          |	|	j        f           |                    t          |	                     b||S )NTF)idpop_is_relevant_tb_leveltb_nextrV   _remove_unittest_tb_frames__traceback__	__cause____context__rM   typeadd)
r   rq   rr   rs   r3   retfirstexcsseencs
             r   rk   zTestResult._clean_tracebacks   sC   %$%5		{ 	(#'88:: WeR  33B77  Z   33B77   $/////333 )&(# /5+<= ( (A}Ad):):T!WWa$ABBBA)  	(* 
r   c                     d|j         j        v S )N
__unittest)tb_frame	f_globals)r   rs   s     r   ry   z TestResult._is_relevant_tb_level   s    r{444r   c                     	 d }|r5|                      |          s |}|j        }|r|                      |           |	d |_        d S d S r,   )ry   rz   )r   rs   prevs      r   r{   z%TestResult._remove_unittest_tb_frames   sq    	  	33B77 	DB  	33B77 	 DLLL r   c                     dt          j        | j                  | j        t	          | j                  t	          | j                  fz  S )Nz!<%s run=%i errors=%i failures=%i>)r   strclass	__class__r   rc   r   r   r.   s    r   __repr__zTestResult.__repr__   s@    3dn--t}c$+>N>NDM""$$ 	%r   )NNN)__name__
__module____qualname___previousTestClass_testRunEntered_moduleSetUpFailedr*   r/   r4   r1   r9   r=   r<   rJ   r	   rQ   rS   rX   rZ   r]   r_   ra   re   r   rN   rk   ry   r{   r   r-   r   r   r   r      s       	 O# # # #". . .  - - -  # # #
+ + +*   " " X" " " X"& & &"  , , ,9 9 9
 . . X.6 6 6  ! ! !,  85 5 5     % % % % %r   r   )r6   r!   rl   rj   r   	functoolsr   r   r	   rC   rD   objectr   r-   r   r   <module>r      s     				 



                
   \% \% \% \% \% \% \% \% \% \%r   