<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

YfF                 @   s   d  Z  d d l Z d d l Z d d l Z d d l m Z d d l m Z d Z Gd d   d e	  Z
 Gd	 d
   d
 e j  Z Gd d   d e	  Z d S)zRunning tests    N   )result)registerResultTc               @   s=   e  Z d  Z d Z d d   Z d d   Z d d d  Z d S)	_WritelnDecoratorz@Used to decorate file-like objects with a handy 'writeln' methodc             C   s   | |  _  d  S)N)stream)selfr    r   4/opt/alt/python35/lib64/python3.5/unittest/runner.py__init__   s    z_WritelnDecorator.__init__c             C   s(   | d k r t  |   t |  j |  S)Nr   __getstate__)r   r   )AttributeErrorgetattrr   )r   attrr   r   r	   __getattr__   s    z_WritelnDecorator.__getattr__Nc             C   s$   | r |  j  |  |  j  d  d  S)N
)write)r   argr   r   r	   writeln   s    z_WritelnDecorator.writeln)__name__
__module____qualname____doc__r
   r   r   r   r   r   r	   r      s   r   c                   s   e  Z d  Z d Z d d Z d d Z   f d d   Z d d   Z   f d	 d
   Z   f d d   Z	   f d d   Z
   f d d   Z   f d d   Z   f d d   Z   f d d   Z d d   Z d d   Z   S)TextTestResultzhA test result class that can print formatted text results to a stream.

    Used by TextTestRunner.
    =F   -c                sP   t  t |   j | | |  | |  _ | d k |  _ | d k |  _ | |  _ d  S)Nr   )superr   r
   r   showAlldotsdescriptions)r   r   r   	verbosity)	__class__r   r	   r
   %   s
    	zTextTestResult.__init__c             C   sB   | j    } |  j r4 | r4 d j t |  | f  St |  Sd  S)Nr   )ZshortDescriptionr   joinstr)r   testZdoc_first_liner   r   r	   getDescription,   s    zTextTestResult.getDescriptionc                sY   t  t |   j |  |  j rU |  j j |  j |   |  j j d  |  j j   d  S)Nz ... )r   r   	startTestr   r   r   r%   flush)r   r$   )r!   r   r	   r&   3   s
    	zTextTestResult.startTestc                s\   t  t |   j |  |  j r2 |  j j d  n& |  j rX |  j j d  |  j j   d  S)Nok.)	r   r   
addSuccessr   r   r   r   r   r'   )r   r$   )r!   r   r	   r*   :   s    		zTextTestResult.addSuccessc                s_   t  t |   j | |  |  j r5 |  j j d  n& |  j r[ |  j j d  |  j j   d  S)NERRORE)	r   r   addErrorr   r   r   r   r   r'   )r   r$   err)r!   r   r	   r-   B   s    		zTextTestResult.addErrorc                s_   t  t |   j | |  |  j r5 |  j j d  n& |  j r[ |  j j d  |  j j   d  S)NFAILF)	r   r   
addFailurer   r   r   r   r   r'   )r   r$   r.   )r!   r   r	   r1   J   s    		zTextTestResult.addFailurec                sh   t  t |   j | |  |  j r> |  j j d j |   n& |  j rd |  j j d  |  j j	   d  S)Nzskipped {0!r}s)
r   r   addSkipr   r   r   formatr   r   r'   )r   r$   reason)r!   r   r	   r3   R   s    		zTextTestResult.addSkipc                s_   t  t |   j | |  |  j r5 |  j j d  n& |  j r[ |  j j d  |  j j   d  S)Nzexpected failurex)	r   r   addExpectedFailurer   r   r   r   r   r'   )r   r$   r.   )r!   r   r	   r7   Z   s    		z!TextTestResult.addExpectedFailurec                s\   t  t |   j |  |  j r2 |  j j d  n& |  j rX |  j j d  |  j j   d  S)Nzunexpected successu)	r   r   addUnexpectedSuccessr   r   r   r   r   r'   )r   r$   )r!   r   r	   r9   b   s    		z#TextTestResult.addUnexpectedSuccessc             C   sI   |  j  s |  j r |  j j   |  j d |  j  |  j d |  j  d  S)Nr+   r/   )r   r   r   r   printErrorListerrorsfailures)r   r   r   r	   printErrorsj   s    zTextTestResult.printErrorsc             C   sx   xq | D]i \ } } |  j  j |  j  |  j  j d | |  j |  f  |  j  j |  j  |  j  j d |  q Wd  S)Nz%s: %sz%s)r   r   
separator1r%   
separator2)r   Zflavourr;   r$   r.   r   r   r	   r:   p   s
    #zTextTestResult.printErrorList)r   r   r   r   r>   r?   r
   r%   r&   r*   r-   r1   r3   r7   r9   r=   r:   r   r   )r!   r	   r      s   

r   c               @   s[   e  Z d  Z d Z e Z d d d d d d d d d d d Z d	 d
   Z d d   Z d S)TextTestRunnerzA test runner class that displays results in textual form.

    It prints out the names of tests as they are run, errors as they
    occur, and a summary of the results at the end of the test run.
    NTr   F	tb_localsc      	      C   ss   | d k r t  j } t |  |  _ | |  _ | |  _ | |  _ | |  _ | |  _ | |  _	 | d k	 ro | |  _
 d S)zConstruct a TextTestRunner.

        Subclasses should accept **kwargs to ensure compatibility as the
        interface changes.
        N)sysstderrr   r   r   r    failfastbufferrA   warningsresultclass)	r   r   r   r    rD   rE   rG   rF   rA   r   r   r	   r
      s    							zTextTestRunner.__init__c             C   s   |  j  |  j |  j |  j  S)N)rG   r   r   r    )r   r   r   r	   _makeResult   s    zTextTestRunner._makeResultc             C   s  |  j    } t |  |  j | _ |  j | _ |  j | _ t j    |  j r t j |  j  |  j d k r t j d d t	 d d t
 j
   } t | d d  } | d k	 r |   z | |  Wd t | d	 d  } | d k	 r |   Xt
 j
   } Wd QRX| | } | j   t | d
  r9|  j j | j  | j } |  j j d | | d k rcd pfd | f  |  j j   d }	 }
 } y% t t | j | j | j f  } Wn t k
 rYn X| \ }	 }
 } g  } | j   sG|  j j d  t | j  t | j  } } | r-| j d |  | rW| j d |  n |  j j d  | rn| j d |  |	 r| j d |	  |
 r| j d |
  | r|  j j d d j |  f  n |  j j d  | S)z&Run the given test case or test suite.defaultalwaysmodulecategorymessagezPlease use assert\w+ instead.startTestRunNstopTestRunr?   zRan %d test%s in %.3fsr   r2    r   ZFAILEDzfailures=%dz	errors=%dZOKz
skipped=%dzexpected failures=%dzunexpected successes=%dz (%s)z, r   )rI   rJ   )rH   r   rD   rE   rA   rF   catch_warningssimplefilterfilterwarningsDeprecationWarningtimer   r=   hasattrr   r   r?   ZtestsRunmaplenZexpectedFailuresunexpectedSuccessesskippedr   ZwasSuccessfulr   r<   r;   appendr"   )r   r$   r   Z	startTimerN   rO   ZstopTimeZ	timeTakenrunZexpectedFailsrY   rZ   ZresultsZinfosZfailedZerroredr   r   r	   r\      sr    
	

	##zTextTestRunner.run)	r   r   r   r   r   rG   r
   rH   r\   r   r   r   r	   r@   x   s   	r@   )r   rB   rU   rF   rP   r   Zsignalsr   Z
__unittestobjectr   Z
TestResultr   r@   r   r   r   r	   <module>   s   [