+
     Biw,                         R t ^ RIt^ RIt^ RIt^ RIHt ^RIHt ^RIH	t	 ^RI
Ht Rt ! R R]4      t ! R	 R
]P                  4      t ! R R]4      tR# )zRunning testsN)	get_theme)result)_SubTest)registerResultTc                   :   a  ] tR t^t o RtR tR tRR ltRtV t	R# )_WritelnDecoratorz@Used to decorate file-like objects with a handy 'writeln' methodc                    Wn         R # Nstream)selfr   s   &&&/usr/lib/python3.14/unittest/runner.py__init___WritelnDecorator.__init__   s        c                R    VR9   d   \        V4      h\        V P                  V4      # )r   )r   __getstate__)AttributeErrorgetattrr   )r   attrs   &&r   __getattr___WritelnDecorator.__getattr__   s'    -- &&t{{D))r   Nc                Z    V'       d   V P                  V4       V P                  R 4       R# )
N)write)r   args   &&r   writeln_WritelnDecorator.writeln   s    JJsO

4r   r
   r	   )
__name__
__module____qualname____firstlineno____doc__r   r   r   __static_attributes____classdictcell____classdict__s   @r   r   r      s     J*
 r   r   c                      a a ] tR t^ t oRtRtRtRR/V 3R lltR tV 3R lt	R t
V 3R ltV 3R	 ltV 3R
 ltV 3R ltV 3R ltV 3R ltV 3R ltR tR tRtVtV ;t# )TextTestResultz`A test result class that can print formatted text results to a stream.

Used by TextTestRunner.
	durationsNc                  < \         \        V `  WV4       Wn        V^8  V n        V^8H  V n        W n        \        VR7      P                  V n	        RV n
        W@n        R# )zoConstruct a TextTestResult. Subclasses should accept **kwargs
to ensure compatibility as the interface changes.tty_fileTN)superr(   r   r   showAlldotsdescriptionsr   unittest_theme_newliner)   )r   r   r0   	verbosityr)   	__class__s   &&&&$r   r   TextTestResult.__init__(   sU     	nd,V9M 1}N	(099"r   c                    VP                  4       pV P                  '       d%   V'       d   R P                  \        V4      V34      # \        V4      # )r   )shortDescriptionr0   joinstr)r   testdoc_first_lines   && r   getDescriptionTextTestResult.getDescription4   s@    ..099c$i899t9r   c                "  < \         \        V `  V4       V P                  '       di   V P                  P                  V P                  V4      4       V P                  P                  R 4       V P                  P                  4        RV n        R# R# ) ... FN)	r-   r(   	startTestr.   r   r   r=   flushr3   )r   r;   r5   s   &&r   rA   TextTestResult.startTest;   sf    nd-d3<<<KKd11$78KKg&KK!DM	 r   c                   \        V\        4      pV'       g   V P                  '       d   V P                  '       g   V P                  P	                  4        V'       d   V P                  P                  R 4       V P                  P                  V P                  V4      4       V P                  P                  R4       V P                  P	                  V4       V P                  P                  4        RV n        R# )z  r@   TN)
isinstancer   r3   r   r   r   r=   rB   )r   r;   status
is_subtests   &&& r   _write_statusTextTestResult._write_statusC   s    h/
===##%!!$'KKd11$78KKg&F#r   c                  < VEeP   V P                   pV P                  '       dz   \        V^ ,          VP                  4      '       d,   V P	                  W$P
                   RVP                   24       MV P	                  W$P
                   RVP                   24       MV P                  '       d   \        V^ ,          VP                  4      '       d6   V P                  P                  VP
                   RVP                   24       M4V P                  P                  VP
                   RVP                   24       V P                  P                  4        \        \        V `7  WV4       R # )NFAILERRORFE)r2   r.   
issubclassfailureExceptionrH   failresetr/   r   r   rB   r-   r(   
addSubTest)r   r;   subtesterrtr5   s   &&&& r   rS   TextTestResult.addSubTestP   s    ?A|||c!fg&>&>??&&w66($qwwi0HI&&w66(%y0IJc!fg&>&>??KK%%!''&;<KK%%!''&;<!!#nd.tcBr   c                  < \         \        V `  V4       V P                  pV P                  '       d-   V P                  WP                   R VP                   24       R# V P                  '       dQ   V P                  P                  VP                   RVP                   24       V P                  P                  4        R# R# )ok.N)r-   r(   
addSuccessr2   r.   rH   passedrR   r/   r   r   rB   r   r;   rV   r5   s   && r   r[   TextTestResult.addSuccess`   s    nd.t4KK<<<tzAGG9%=>YYYKK
!AGG956KK r   c                  < \         \        V `  W4       V P                  pV P                  '       d-   V P                  WP                   R VP                   24       R# V P                  '       dQ   V P                  P                  VP                   RVP                   24       V P                  P                  4        R# R# )rL   rN   N)r-   r(   addErrorr2   r.   rH   rQ   rR   r/   r   r   rB   r   r;   rU   rV   r5   s   &&& r   r`   TextTestResult.addErrori   s    nd,T7KK<<<txuQWWI%>?YYYKK!''34KK r   c                  < \         \        V `  W4       V P                  pV P                  '       d-   V P                  WP                   R VP                   24       R# V P                  '       dQ   V P                  P                  VP                   RVP                   24       V P                  P                  4        R# R# )rK   rM   N)r-   r(   
addFailurer2   r.   rH   rQ   rR   r/   r   r   rB   ra   s   &&& r   rd   TextTestResult.addFailurer   s    nd.t9KK<<<txtAGG9%=>YYYKK!''34KK r   c                  < \         \        V `  W4       V P                  pV P                  '       d1   V P                  WP                   R VP                   RV: 24       R# V P                  '       dQ   V P                  P                  VP                   RVP                   24       V P                  P                  4        R# R# )skipped sN)r-   r(   addSkipr2   r.   rH   warnrR   r/   r   r   rB   )r   r;   reasonrV   r5   s   &&& r   rj   TextTestResult.addSkip{   s    nd+D9KK<<<txwqwwiq
%KLYYYKK!''34KK r   c                  < \         \        V `  W4       V P                  pV P                  '       dQ   V P
                  P                  VP                   R VP                   24       V P
                  P                  4        R# V P                  '       dQ   V P
                  P                  VP                   RVP                   24       V P
                  P                  4        R# R# )zexpected failurexN)r-   r(   addExpectedFailurer2   r.   r   r   rk   rR   rB   r/   r   ra   s   &&& r   rp   !TextTestResult.addExpectedFailure   s    nd6tAKK<<<KK166(*:177) DEKKYYYKK!''34KK r   c                  < \         \        V `  V4       V P                  pV P                  '       dQ   V P
                  P                  VP                   R VP                   24       V P
                  P                  4        R# V P                  '       dQ   V P
                  P                  VP                   RVP                   24       V P
                  P                  4        R# R# )zunexpected successuN)r-   r(   addUnexpectedSuccessr2   r.   r   r   rQ   rR   rB   r/   r   r]   s   && r   rt   #TextTestResult.addUnexpectedSuccess   s    nd8>KK<<<KK166(*<QWWI FGKKYYYKK!''34KK r   c           
        V P                   pV P                  '       g   V P                  '       d5   V P                  P	                  4        V P                  P                  4        V P                  VP                   R VP                   2V P                  4       V P                  VP                   RVP                   2V P                  4       \        V RR4      pV'       d   V P                  P	                  V P                  4       V FU  pV P                  P	                  VP                   RVP                   RV P                  V4       VP                   24       KW  	  V P                  P                  4        R# R# )rL   rK   unexpectedSuccesseszUNEXPECTED SUCCESS: N )r2   r/   r.   r   r   rB   printErrorListrQ   rR   errorsfailuresr   
separator1	fail_infor=   )r   rV   rw   r;   s   &   r   printErrorsTextTestResult.printErrors   s   KK999KK!KKqvvheAGG95t{{Cqvvhd177)4dmmD%d,A2FKK0+##vvh0R**401!''< ,
 KK r   c           	        V P                   pV F  w  rEV P                  P                  V P                  4       V P                  P                  V VP                   R V P                  V4       VP                   24       V P                  P                  V P                  4       V P                  P                  RV,          4       V P                  P                  4        K  	  R# )rx   z%sN)	r2   r   r   r}   r~   r=   rR   
separator2rB   )r   flavourr{   rV   r;   rU   s   &&&   r   rz   TextTestResult.printErrorList   s    KKIDKK0KK)AKK=4+>+>t+D*EaggYO KK0KKs
+KK  r   )r3   r2   r0   r/   r)   r.   r   zF======================================================================zF----------------------------------------------------------------------)r   r   r    r!   r"   r}   r   r   r=   rA   rH   rS   r[   r`   rd   rj   rp   rt   r   rz   r#   r$   __classcell__)r5   r&   s   @@r   r(   r(       sd      JJ
#T 
#"C        "	  	 r   r(   c                   P   a  ] tR t^t o Rt]tRRRRR/R lltR tR t	R	 t
R
tV tR# )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.
NF	tb_localsr)   c                   Vf   \         P                  p\        V4      V n        W n        W0n        W@n        WPn        Wn        Wn	        Wpn
        Ve	   W`n        R# R# )zqConstruct a TextTestRunner.

Subclasses should accept **kwargs to ensure compatibility as the
interface changes.
N)sysstderrr   r   r0   r4   failfastbufferr   r)   warningsresultclass)
r   r   r0   r4   r   r   r   r   r   r)   s
   &&&&&&&&$$r   r   TextTestRunner.__init__   sS     >ZZF'/(" "" "* #r   c                    V P                  V P                  V P                  V P                  V P                  R 7      #   \
         d5    T P                  T P                  T P                  T P                  4      u # i ; i))r)   )r   r   r0   r4   r)   	TypeError)r   s   &r   _makeResultTextTestRunner._makeResult   ss    	4##DKK1B1B$(NNdnn $ N N 	4##DKK1B1B$(NN4 4	4s   <? <A>=A>c                j   VP                   '       g   R # \        VP                   R RR7      pV P                  ^ 8  d   VR V P                   pV P                  P	                  R4       \        VR4      '       d&   V P                  P	                  VP                  4       RpV FK  w  rEV P                  ^8  d   VR8  d   RpK!  V P                  P	                  RV,          :R	 R
V: 24       KM  	  V'       d   V P                  P	                  R4       R # V P                  P	                  R4       R # )Nc                     V ^,          # )   ry   )ro   s   &r   <lambda>0TextTestRunner._printDurations.<locals>.<lambda>   s    QqTr   T)keyreversezSlowest test durationsr   FgMbP?z%.3fs10rh   zA
(durations < 0.001s were hidden; use -v to show these durations) )collectedDurationssortedr)   r   r   hasattrr   r4   )r   r   lshiddenr;   elapseds   &&    r   _printDurationsTextTestRunner._printDurations   s    (((F--> ">>AOT^^$B456<((KK 1 12MD~~!goKKg.?.? FG	  
 KK !B C KK#r   c           	     	   V P                  4       p\        V4       V P                  Vn        V P                  Vn        V P                  Vn        \
        P                  ! 4       ;_uu_ 4        V P
                  '       d!   \
        P                  ! V P
                  4       \        P                  ! 4       p\        VRR4      pVe   V! 4         V! V4       \        VRR4      pVe   V! 4        \        P                  ! 4       pRRR4       XX,
          pTP                  ! 4        T P                  e   T P                  T4       \        TR4      '       d&   T P                  P!                  TP"                  4       TP$                  pT P                  P!                  RY^8g  ;'       d    R;'       g    RT3,          4       T P                  P!                  4        ^ ;p	;r \'        \(        TP*                  TP,                  TP.                  34      pTw  rp. p\3        T P                  R7      P4                  pTP6                  ! 4       '       g   T P                  P9                  TP:                   R	TP<                   24       \)        TP>                  4      \)        TP@                  4      ppT'       d-   TPC                  TP:                   R
T TP<                   24       T'       d-   TPC                  TP:                   RT TP<                   24       MxT^ 8X  d>   T'       g6   T P                  P9                  TPD                   RTP<                   24       M4T P                  P9                  TPF                   RTP<                   24       T'       d-   TPC                  TPD                   RT TP<                   24       T	'       d-   TPC                  TPD                   RT	 TP<                   24       T
'       d-   TPC                  TPH                   RT
 TP<                   24       T'       d1   T P                  P!                  RRPK                  T4      : R24       MT P                  P9                  R4       T P                  PM                  4        T#   \        TRR4      pTe	   T! 4        i i ; i  + '       g   i     EL; i  \0         d     ELi ; i)z&Run the given test case or test suite.startTestRunNstopTestRunr   zRan %d test%s in %.3fsri   r   r+   FAILEDz	failures=zerrors=zNO TESTS RANOKzskipped=zexpected failures=zunexpected successes=z (z, )r   )'r   r   r   r   r   r   catch_warningssimplefiltertimeperf_counterr   r   r)   r   r   r   r   r   testsRunmaplenexpectedFailuresrw   rg   r   r   r1   wasSuccessfulr   r~   rR   r|   r{   appendrk   r\   rQ   r9   rB   )r   r;   r   
start_timer   r   	stop_time
time_takenrunexpected_failsunexpected_successesrg   resultsinfosrV   failederroreds   &&               r   r   TextTestRunner.run   s   !!#v-->>$$&&}}}%%dmm4**,J"6>4@L'"V%fmTB*M))+I ' +
>>%  (6<((KK 1 12oo4 ("2"2s"8"8b*EF 	G:;;;-	D# 7 7 & : : & 0 1G =D9N't{{+44##%%KKVAGG9=>!&//2C4FGF}IfXaggYGH}GG9QWWIFGAXgKKQWWI>?KK
"QWWI67LLAFF88G9QWWI>?LLAFF8#5n5EaggYOPLL66(/0D/EaggYO KK499U+; =>KKd#m &fmTB*M + '&&B  		s7   ,A R8R-R8!1S R55R88S		SS)	r   r0   r)   r   r   r   r   r4   r   )NTr   FFNN)r   r   r    r!   r"   r(   r   r   r   r   r   r#   r$   r%   s   @r   r   r      s<     
 !K+#+/3+*4$,H Hr   r   )r"   r   r   r   	_colorizer   r   r   caser   signalsr   
__unittestobjectr   
TestResultr(   r   ry   r   r   <module>r      sQ     
      #
  R V&& R jDV Dr   