§
    åžyjÊ$  ã                   ó¨   — 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dlm	Z	 dZ
 G d„ d	e¦  «        Z G d
„ dej        ¦  «        Z G d„ de¦  «        ZdS )zRunning testsé    Né   )Úresult)Ú_SubTest)ÚregisterResultTc                   ó&   — e Zd ZdZd„ Zd„ Zdd„ZdS )Ú_WritelnDecoratorz@Used to decorate file-like objects with a handy 'writeln' methodc                 ó   — || _         d S ©N)Ústream)Úselfr   s     úg/home/ragecks/.local/share/uv/python/cpython-3.11.15-linux-x86_64-gnu/lib/python3.11/unittest/runner.pyÚ__init__z_WritelnDecorator.__init__   s   € ØˆŒˆˆó    c                 óR   — |dv rt          |¦  «        ‚t          | j        |¦  «        S )N)r   Ú__getstate__)ÚAttributeErrorÚgetattrr   )r   Úattrs     r   Ú__getattr__z_WritelnDecorator.__getattr__   s.   € ØÐ-Ð-Ð-Ý  Ñ&Ô&Ð&Ý�t”{ 4Ñ(Ô(Ð(r   Nc                 ó^   — |r|                       |¦  «         |                       d¦  «         d S ©NÚ
)Úwrite)r   Úargs     r   Úwritelnz_WritelnDecorator.writeln   s1   € Øð 	Ø�JŠJ�s‰OŒOˆOØ�
Š
�4ÑÔÐÐÐr   r
   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   © r   r   r   r      sL   € € € € € ØJÐJðð ð ð)ð )ð )ð
ð ð ð ð ð r   r   c                   ó’   ‡ — e Zd ZdZdZdZˆ fd„Zd„ Zˆ fd„Zd„ Z	ˆ fd„Z
ˆ fd	„Zˆ fd
„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zd„ Zd„ Zˆ xZS )ÚTextTestResultzhA test result class that can print formatted text results to a stream.

    Used by TextTestRunner.
    zF======================================================================zF----------------------------------------------------------------------c                 ó²   •— t          t          | ¦  «                             |||¦  «         || _        |dk    | _        |dk    | _        || _        d| _        d S )Nr   T)Úsuperr"   r   r   ÚshowAllÚdotsÚdescriptionsÚ_newline)r   r   r'   Ú	verbosityÚ	__class__s       €r   r   zTextTestResult.__init__&   sU   ø€ Ý�n˜dÑ#Ô#×,Ò,¨V°\À9ÑMÔMÐMØˆŒØ  1’}ˆŒØ ’NˆŒ	Ø(ˆÔØˆŒˆˆr   c                 ó¢   — |                      ¦   «         }| j        r&|r$d                     t          |¦  «        |f¦  «        S t          |¦  «        S r   )ÚshortDescriptionr'   ÚjoinÚstr)r   ÚtestÚdoc_first_lines      r   ÚgetDescriptionzTextTestResult.getDescription.   sN   € Ø×.Ò.Ñ0Ô0ˆØÔð 	 ð 	Ø—9’9�c $™iœi¨Ð8Ñ9Ô9Ð9å�t‘9”9Ðr   c                 ó8  •— t          t          | ¦  «                             |¦  «         | j        ri| j                             |                      |¦  «        ¦  «         | j                             d¦  «         | j                             ¦   «          d| _        d S d S )Nú ... F)	r$   r"   Ú	startTestr%   r   r   r1   Úflushr(   ©r   r/   r*   s     €r   r4   zTextTestResult.startTest5   sŽ   ø€ Ý�n˜dÑ#Ô#×-Ò-¨dÑ3Ô3Ð3ØŒ<ð 	"ØŒK×Ò˜d×1Ò1°$Ñ7Ô7Ñ8Ô8Ð8ØŒK×Ò˜gÑ&Ô&Ð&ØŒK×ÒÑÔÐØ!ˆDŒMˆMˆMð		"ð 	"r   c                 ó¼  — t          |t          ¦  «        }|s| j        rƒ| j        s| j                             ¦   «          |r| j                             d¦  «         | j                             |                      |¦  «        ¦  «         | j                             d¦  «         | j                             |¦  «         | j                             ¦   «          d| _        d S )Nz  r3   T)Ú
isinstancer   r(   r   r   r   r1   r5   )r   r/   ÚstatusÚ
is_subtests       r   Ú_write_statuszTextTestResult._write_status=   sÍ   € Ý ¥hÑ/Ô/ˆ
Øð 	'˜œð 	'Ø”=ð &Ø”×#Ò#Ñ%Ô%Ð%Øð (Ø”×!Ò! $Ñ'Ô'Ð'ØŒK×Ò˜d×1Ò1°$Ñ7Ô7Ñ8Ô8Ð8ØŒK×Ò˜gÑ&Ô&Ð&ØŒ×Ò˜FÑ#Ô#Ð#ØŒ×ÒÑÔÐØˆŒˆˆr   c                 óà  •— |�À| j         rIt          |d         |j        ¦  «        r|                      |d¦  «         n‡|                      |d¦  «         np| j        rit          |d         |j        ¦  «        r| j                             d¦  «         n| j                             d¦  «         | j                             ¦   «          t          t          | ¦  «         
                    |||¦  «         d S )Nr   ÚFAILÚERRORÚFÚE)r%   Ú
issubclassÚfailureExceptionr;   r&   r   r   r5   r$   r"   Ú
addSubTest)r   r/   ÚsubtestÚerrr*   s       €r   rC   zTextTestResult.addSubTestJ   së   ø€ Øˆ?ØŒ|ð 
$Ý˜c !œf gÔ&>Ñ?Ô?ð 9Ø×&Ò& w°Ñ7Ô7Ð7Ð7à×&Ò& w°Ñ8Ô8Ð8Ð8Ø”ð $Ý˜c !œf gÔ&>Ñ?Ô?ð +Ø”K×%Ò% cÑ*Ô*Ð*Ð*à”K×%Ò% cÑ*Ô*Ð*Ø”×!Ò!Ñ#Ô#Ð#Ý�n˜dÑ#Ô#×.Ò.¨t°W¸cÑBÔBÐBÐBÐBr   c                 ó  •— t          t          | ¦  «                             |¦  «         | j        r|                      |d¦  «         d S | j        r5| j                             d¦  «         | j                             ¦   «          d S d S )NÚokú.)	r$   r"   Ú
addSuccessr%   r;   r&   r   r   r5   r6   s     €r   rI   zTextTestResult.addSuccessY   s‹   ø€ Ý�n˜dÑ#Ô#×.Ò.¨tÑ4Ô4Ð4ØŒ<ð 	 Ø×Ò˜t TÑ*Ô*Ð*Ð*Ð*ØŒYð 	 ØŒK×Ò˜cÑ"Ô"Ð"ØŒK×ÒÑÔÐÐÐð	 ð 	 r   c                 ó  •— t          t          | ¦  «                             ||¦  «         | j        r|                      |d¦  «         d S | j        r5| j                             d¦  «         | j                             ¦   «          d S d S )Nr>   r@   )	r$   r"   ÚaddErrorr%   r;   r&   r   r   r5   ©r   r/   rE   r*   s      €r   rK   zTextTestResult.addErrora   s�   ø€ Ý�n˜dÑ#Ô#×,Ò,¨T°3Ñ7Ô7Ð7ØŒ<ð 	 Ø×Ò˜t WÑ-Ô-Ð-Ð-Ð-ØŒYð 	 ØŒK×Ò˜cÑ"Ô"Ð"ØŒK×ÒÑÔÐÐÐð	 ð 	 r   c                 ó  •— t          t          | ¦  «                             ||¦  «         | j        r|                      |d¦  «         d S | j        r5| j                             d¦  «         | j                             ¦   «          d S d S )Nr=   r?   )	r$   r"   Ú
addFailurer%   r;   r&   r   r   r5   rL   s      €r   rN   zTextTestResult.addFailurei   s�   ø€ Ý�n˜dÑ#Ô#×.Ò.¨t°SÑ9Ô9Ð9ØŒ<ð 	 Ø×Ò˜t VÑ,Ô,Ð,Ð,Ð,ØŒYð 	 ØŒK×Ò˜cÑ"Ô"Ð"ØŒK×ÒÑÔÐÐÐð	 ð 	 r   c                 ó6  •— t          t          | ¦  «                             ||¦  «         | j        r+|                      |d                     |¦  «        ¦  «         d S | j        r5| j                             d¦  «         | j         	                    ¦   «          d S d S )Nzskipped {0!r}Ús)
r$   r"   ÚaddSkipr%   r;   Úformatr&   r   r   r5   )r   r/   Úreasonr*   s      €r   rQ   zTextTestResult.addSkipq   s›   ø€ Ý�n˜dÑ#Ô#×+Ò+¨D°&Ñ9Ô9Ð9ØŒ<ð 	 Ø×Ò˜t _×%;Ò%;¸FÑ%CÔ%CÑDÔDÐDÐDÐDØŒYð 	 ØŒK×Ò˜cÑ"Ô"Ð"ØŒK×ÒÑÔÐÐÐð	 ð 	 r   c                 óJ  •— t          t          | ¦  «                             ||¦  «         | j        r5| j                             d¦  «         | j                             ¦   «          d S | j        r5| j                             d¦  «         | j                             ¦   «          d S d S )Nzexpected failureÚx)	r$   r"   ÚaddExpectedFailurer%   r   r   r5   r&   r   rL   s      €r   rV   z!TextTestResult.addExpectedFailurey   s¢   ø€ Ý�n˜dÑ#Ô#×6Ò6°t¸SÑAÔAÐAØŒ<ð 	 ØŒK×ÒÐ 2Ñ3Ô3Ð3ØŒK×ÒÑÔÐÐÐØŒYð 	 ØŒK×Ò˜cÑ"Ô"Ð"ØŒK×ÒÑÔÐÐÐð	 ð 	 r   c                 óH  •— t          t          | ¦  «                             |¦  «         | j        r5| j                             d¦  «         | j                             ¦   «          d S | j        r5| j                             d¦  «         | j                             ¦   «          d S d S )Nzunexpected successÚu)	r$   r"   ÚaddUnexpectedSuccessr%   r   r   r5   r&   r   r6   s     €r   rY   z#TextTestResult.addUnexpectedSuccess‚   s    ø€ Ý�n˜dÑ#Ô#×8Ò8¸Ñ>Ô>Ð>ØŒ<ð 	 ØŒK×ÒÐ 4Ñ5Ô5Ð5ØŒK×ÒÑÔÐÐÐØŒYð 	 ØŒK×Ò˜cÑ"Ô"Ð"ØŒK×ÒÑÔÐÐÐð	 ð 	 r   c                 óö  — | j         s| j        r2| j                             ¦   «          | j                             ¦   «          |                      d| j        ¦  «         |                      d| j        ¦  «         t          | dd¦  «        }|ro| j                             | j	        ¦  «         |D ]2}| j                             d|  
                    |¦  «        › �¦  «         Œ3| j                             ¦   «          d S d S )Nr>   r=   ÚunexpectedSuccessesr    zUNEXPECTED SUCCESS: )r&   r%   r   r   r5   ÚprintErrorListÚerrorsÚfailuresr   Ú
separator1r1   )r   r[   r/   s      r   ÚprintErrorszTextTestResult.printErrors‹   s  € ØŒ9ð 	 ˜œð 	 ØŒK×ÒÑ!Ô!Ð!ØŒK×ÒÑÔÐØ×Ò˜G T¤[Ñ1Ô1Ð1Ø×Ò˜F D¤MÑ2Ô2Ð2Ý% dÐ,AÀ2ÑFÔFÐØð 	 ØŒK×Ò ¤Ñ0Ô0Ð0Ø+ð Xð X�Ø”×#Ò#Ð$V¸4×;NÒ;NÈtÑ;TÔ;TÐ$VÐ$VÑWÔWÐWÐWØŒK×ÒÑÔÐÐÐð		 ð 	 r   c                 ób  — |D ]«\  }}| j                              | j        ¦  «         | j                              |›d|                      |¦  «        ›�¦  «         | j                              | j        ¦  «         | j                              d|z  ¦  «         | j                              ¦   «          Œ¬d S )Nz: z%s)r   r   r_   r1   Ú
separator2r5   )r   Úflavourr]   r/   rE   s        r   r\   zTextTestResult.printErrorList˜   s°   € Øð 	 ð 	 ‰IˆD�#ØŒK×Ò ¤Ñ0Ô0Ð0ØŒK×Ò¨G¨G¨G°D×4GÒ4GÈÑ4MÔ4MÐ4MÐ NÑOÔOÐOØŒK×Ò ¤Ñ0Ô0Ð0ØŒK×Ò  s¡
Ñ+Ô+Ð+ØŒK×ÒÑÔÐÐð	 ð 	 r   )r   r   r   r   r_   rb   r   r1   r4   r;   rC   rI   rK   rN   rQ   rV   rY   r`   r\   Ú__classcell__)r*   s   @r   r"   r"      sW  ø€ € € € € ðð ð €JØ€Jðð ð ð ð ðð ð ð"ð "ð "ð "ð "ðð ð ðCð Cð Cð Cð Cð ð  ð  ð  ð  ð ð  ð  ð  ð  ð ð  ð  ð  ð  ð ð  ð  ð  ð  ð ð  ð  ð  ð  ð ð  ð  ð  ð  ð ð  ð  ð ð  ð  ð  ð  ð  ð  r   r"   c                   ó4   — e Zd ZdZeZ	 	 d
ddœd„Zd„ Zd	„ ZdS )ÚTextTestRunnerzÉA 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                ó´   — |€t           j        }t          |¦  «        | _        || _        || _        || _        || _        || _        || _	        |�	|| _
        dS dS )z‰Construct a TextTestRunner.

        Subclasses should accept **kwargs to ensure compatibility as the
        interface changes.
        N)ÚsysÚstderrr   r   r'   r)   ÚfailfastÚbufferrg   ÚwarningsÚresultclass)	r   r   r'   r)   rk   rl   rn   rm   rg   s	            r   r   zTextTestRunner.__init__©   sf   € ð ˆ>Ý”ZˆFÝ'¨Ñ/Ô/ˆŒØ(ˆÔØ"ˆŒØ ˆŒØˆŒØ"ˆŒØ ˆŒØÐ"Ø*ˆDÔÐÐð #Ð"r   c                 óN   — |                       | j        | j        | j        ¦  «        S r
   )rn   r   r'   r)   )r   s    r   Ú_makeResultzTextTestRunner._makeResult½   s!   € Ø×Ò ¤¨TÔ->ÀÄÑOÔOÐOr   c                 óâ  — |                       ¦   «         }t          |¦  «         | j        |_        | j        |_        | j        |_        t          j        ¦   «         5  | j        r>t          j        | j        ¦  «         | j        dv rt          j        dt          d¬¦  «         t          j        ¦   «         }t          |dd¦  «        }|�
 |¦   «          	  ||¦  «         t          |dd¦  «        }|�
 |¦   «          n## t          |dd¦  «        }|� |¦   «          w w xY wt          j        ¦   «         }ddd¦  «         n# 1 swxY w Y   ||z
  } |j        ¦   «          t          |d¦  «        r| j                             |j        ¦  «         |j        }| j                             d	||d
k    rdpd|fz  ¦  «         | j                             ¦   «          dx}	x}
}	 t'          t(          |j        |j        |j        f¦  «        }|\  }	}
}n# t0          $ r Y nw xY wg } |j        ¦   «         sw| j                             d¦  «         t)          |j        ¦  «        t)          |j        ¦  «        }}|r|                     d|z  ¦  «         |r|                     d|z  ¦  «         n| j                             d¦  «         |r|                     d|z  ¦  «         |	r|                     d|	z  ¦  «         |
r|                     d|
z  ¦  «         |r2| j                             dd                     |¦  «        ›d�¦  «         n| j                             d¦  «         | j                             ¦   «          |S )z&Run the given test case or test suite.)ÚdefaultÚalwaysÚmodulezPlease use assert\w+ instead.)ÚcategoryÚmessageÚstartTestRunNÚstopTestRunrb   zRan %d test%s in %.3fsr   rP   Ú r   ÚFAILEDzfailures=%dz	errors=%dÚOKz
skipped=%dzexpected failures=%dzunexpected successes=%dz (z, ú)r   ) rp   r   rk   rl   rg   rm   Úcatch_warningsÚsimplefilterÚfilterwarningsÚDeprecationWarningÚtimeÚperf_counterr   r`   Úhasattrr   r   rb   ÚtestsRunÚmapÚlenÚexpectedFailuresr[   Úskippedr   ÚwasSuccessfulr   r^   r]   Úappendr-   r5   )r   r/   r   Ú	startTimerw   rx   ÚstopTimeÚ	timeTakenÚrunÚexpectedFailsr[   rˆ   ÚresultsÚinfosÚfailedÚerroreds                   r   rŽ   zTextTestRunner.runÀ   s  € à×!Ò!Ñ#Ô#ˆÝ�vÑÔÐØœ-ˆŒØœˆŒØœ>ˆÔÝÔ$Ñ&Ô&ð 	+ð 	+ØŒ}ð FåÔ% d¤mÑ4Ô4Ð4ð ”=Ð$9Ð9Ð9ÝÔ+¨HÝ%7Ø$DðFñ Fô Fð Fõ Ô)Ñ+Ô+ˆIÝ" 6¨>¸4Ñ@Ô@ˆLØÐ'Ø�‘”�ð"Ø��V‘”�å% f¨m¸TÑBÔB�ØÐ*Ø�K‘M”M�Møøõ & f¨m¸TÑBÔB�ØÐ*Ø�K‘M”M�M�Mð +øøøåÔ(Ñ*Ô*ˆHð/	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð0 ˜yÑ(ˆ	ØˆÔÑÔÐÝ�6˜<Ñ(Ô(ð 	3ØŒK×Ò Ô 1Ñ2Ô2Ð2ØŒoˆØŒ×ÒÐ4Ø  #¨¢(Ð"2¨sÐ"8°b¸)ÐDñEñ 	Fô 	Fð 	FàŒ×ÒÑÔÐà89Ð9ˆÐ9Ð+¨gð	BÝ�# Ô 7Ø &Ô :Ø &¤ð 0ñ 1ô 1ˆGð ;BÑ7ˆMÐ.°°øõ ð 	ð 	ð 	ØˆDð	øøøð
 ˆØ#ˆvÔ#Ñ%Ô%ð 	$ØŒK×Ò˜hÑ'Ô'Ð'Ý! &¤/Ñ2Ô2µC¸¼Ñ4FÔ4F�GˆFØð 5Ø—’˜]¨VÑ3Ñ4Ô4Ð4Øð 4Ø—’˜[¨7Ñ2Ñ3Ô3Ð3øàŒK×Ò˜dÑ#Ô#Ð#Øð 	1Ø�LŠL˜¨Ñ/Ñ0Ô0Ð0Øð 	AØ�LŠLÐ/°-Ñ?Ñ@Ô@Ð@Øð 	JØ�LŠLÐ2Ð5HÑHÑIÔIÐIØð 	$ØŒK×ÒÐ¨4¯9ª9°UÑ+;Ô+;Ð+;Ð+;Ð =Ñ>Ô>Ð>Ð>àŒK×Ò˜dÑ#Ô#Ð#ØŒ×ÒÑÔÐØˆs=   ÁA6D=ÃC;ÃD=Ã; DÄD=Ä=EÅEÇ'H È
HÈH)NTr   FFNN)	r   r   r   r   r"   rn   r   rp   rŽ   r    r   r   rf   rf   ¡   sr   € € € € € ðð ð
 !€KàABØJNð+à#ð+ð +ð +ð +ð +ð(Pð Pð PðGð Gð Gð Gð Gr   rf   )r   ri   r�   rm   ry   r   Úcaser   Úsignalsr   Ú
__unittestÚobjectr   Ú
TestResultr"   rf   r    r   r   ú<module>r™      sÿ   ðØ Ð à 
€
€
€
Ø €€€Ø €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #à€
ðð ð ð ð ˜ñ ô ð ð @ ð @ ð @ ð @ ð @ �VÔ&ñ @ ô @ ð @ ðFfð fð fð fð f�Vñ fô fð fð fð fr   