
    .hh4                         S SK r SSKJr  SSKJr  SrS r " S S\5      r " S	 S
\5      r " S S\5      r	S r
 " S S\5      rg)    N   )case)utilTc                 ,    [        XS 5      nU" 5         g )Nc                      g N r	       7/opt/python-3.13.8/usr/lib/python3.13/unittest/suite.py<lambda>!_call_if_exists.<locals>.<lambda>   s    r
   )getattr)parentattrfuncs      r   _call_if_existsr      s    6.DFr
   c                   ^    \ 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 rS rS rSrg)BaseTestSuite   Tc                 B    / U l         SU l        U R                  U5        g Nr   )_tests_removed_testsaddTests)selftestss     r   __init__BaseTestSuite.__init__   s    er
   c                 f    S[         R                  " U R                  5      < S[        U 5      < S3$ )N<z tests=>)r   strclass	__class__listr   s    r   __repr__BaseTestSuite.__repr__   s    "&--"?dLLr
   c                 p    [        XR                  5      (       d  [        $ [        U 5      [        U5      :H  $ r   )
isinstancer#   NotImplementedr$   )r   others     r   __eq__BaseTestSuite.__eq__   s*    %00!!DzT%[((r
   c                 ,    [        U R                  5      $ r   )iterr   r%   s    r   __iter__BaseTestSuite.__iter__"   s    DKK  r
   c                 f    U R                   nU  H  nU(       d  M  XR                  5       -  nM      U$ r   )r   countTestCases)r   casestests      r   r3   BaseTestSuite.countTestCases%   s4    ##Dt,,..  r
   c                 *   [        U5      (       d#  [        SR                  [        U5      5      5      e[	        U[
        5      (       a0  [        U[        R                  [        45      (       a  [        S5      eU R                  R                  U5        g )Nz{} is not callablezNTestCases and TestSuites must be instantiated before passing them to addTest())callable	TypeErrorformatreprr)   type
issubclassr   TestCase	TestSuiter   appendr   r5   s     r   addTestBaseTestSuite.addTest,   su    ~~077T
CDDdD!!j26--1K'M 'M ? @ @4 r
   c                 x    [        U[        5      (       a  [        S5      eU H  nU R                  U5        M     g )Nz0tests must be an iterable of tests, not a string)r)   strr9   rB   )r   r   r5   s      r   r   BaseTestSuite.addTests6   s1    eS!!NOODLL r
   c                     [        U 5       HE  u  p#UR                  (       a    U$ U" U5        U R                  (       d  M4  U R                  U5        MG     U$ r   )	enumerate
shouldStop_cleanup_removeTestAtIndex)r   resultindexr5   s       r   runBaseTestSuite.run<   sL    $T?KE    L}}}''. + r
   c                      U R                   U   n[        US5      (       a#  U =R                  UR                  5       -  sl        S U R                   U'   g ! [         a     g f = f)Nr3   )r   hasattrr   r3   r9   )r   rM   r5   s      r   rK    BaseTestSuite._removeTestAtIndexE   sa    
	&;;u%D t-..##t':':'<<#!%DKK  		s   A 
A"!A"c                 &    U R                   " U0 UD6$ r   rN   )r   argskwdss      r   __call__BaseTestSuite.__call__S   s    xx&&&r
   c                 6    U  H  nUR                  5         M     g r   )debugrA   s     r   rZ   BaseTestSuite.debugV   s    DJJL r
   )r   r   N)r	   )__name__
__module____qualname____firstlineno__rJ   r   r&   r,   r0   r3   rB   r   rN   rK   rW   rZ   __static_attributes__r	   r
   r   r   r      sA     H
M)
!!&'r
   r   c                   Z    \ rS rSrSS jrS rS rS rS r SS jr	 SS	 jr
S
 rS rSrg)r?   \   c                 |   Sn[        USS5      SL a	  S=Ul        n[        U 5       H  u  pEUR                  (       a    O[	        U5      (       at  U R                  XQ5        U R                  XQ5        U R                  XQ5        UR                  Ul	        [        UR                  SS5      (       d  [        USS5      (       a  M  U(       d	  U" U5        OUR                  5         U R                  (       d  M  U R                  U5        M     U(       a*  U R                  S U5        U R                  U5        SUl        U$ )NF_testRunEnteredT_classSetupFailed_moduleSetUpFailed)r   rd   rH   rI   _isnotsuite_tearDownPreviousClass_handleModuleFixture_handleClassSetUpr#   _previousTestClassrZ   rJ   rK   _handleModuleTearDown)r   rL   rZ   topLevelrM   r5   s         r   rN   TestSuite.runf   s   6,e4=044F"X$T?KE  4  ++D9))$7&&t4,0NN)DNN,?GGF$8%@@V

}}}''.) +, ''f5&&v.%*F"r
   c                 <    [        5       nU R                  US5        g )NT)_DebugResultrN   )r   rZ   s     r   rZ   TestSuite.debug   s    r
   c           	         [        USS 5      nUR                  nXC:X  a  g UR                  (       a  g [        USS5      (       a  g Sn SUl        [        USS 5      n[        USS 5      nUb[  [        US5          U" 5         U(       a2  Ub/  U" 5         UR                   H  n
U R                  X*S   SW	U
S	9  M     [        US
5        g g ! [         a     Nf = f! [         ad  n[        U[        5      (       a  e Sn SUl        O! [         a     Of = f[        R                  " U5      n	U R                  X(SU	5         S nANS nAff = f! [        US
5        f = f)Nrk   __unittest_skip__F
setUpClassdoClassCleanups_setupStdoutTr   info_restoreStdout)r   r#   rf   re   r9   r   	Exceptionr)   rp   r   r"   "_createClassOrModuleLevelExceptiontearDown_exceptions)r   r5   rL   previousClasscurrentClassfailedrt   ru   e	classNameexc_infos              r   rj   TestSuite._handleClassSetUp   s~   (<dC~~($$<!4e<<	-2L* \<>
!,0A4H!FN3:GL o9#%$0$D$D?? &\9%- @ / %E
  (891 "  	 	 ! G!&,77!F9=6$  $l ;I;;F<H<EG GG&  (89sf   C :C 9E	 
CC
E"E;DE
DED,E<E	 EE	 	Ec                 B    S n[        USS 5      nUb  UR                  nU$ )Nrk   )r   r]   )r   rL   previousModuler}   s       r   _get_previous_moduleTestSuite._get_previous_module   s-    (<dC$*55Nr
   c                    U R                  U5      nUR                  R                  nXC:X  a  g U R                  U5        SUl         [
        R                  U   n[        USS 5      nUbI  [        US5          U" 5         UR                  (       a   [        R                  " 5         [        US5        g g ! [         a     g f = f! [         a:  n[        U[        5      (       a  e SUl        U R                  X'SU5         S nANS nAff = f! [         a  nU R                  X'SU5         S nANS nAff = f! [        US5        f = f)NFsetUpModulerv   Try   )r   r#   r]   rl   rf   sysmodulesKeyErrorr   r   rz   r)   rp   r{   r   doModuleCleanups)r   r5   rL   r   currentModulemoduler   r   s           r   ri   TestSuite._handleModuleFixture   sN   226:11*""6* %*!	[[/F fmT:"FN3:KM ,,O--/  (89) #  		 ! K!&,7704F-;;F<I<IK K	K % O??@M@MO OO
  (89sf   B4 8C ?D5 D 4
C C
D0D>D5 DD5 
D2D-(D5 -D22D5 5ENc                 8    U SU S3nU R                  XXe5        g )Nz ())_addClassOrModuleLevelException)r   rL   excmethod_namer   rx   	errorNames          r   r{   ,TestSuite._createClassOrModuleLevelException   s$    "m2fXQ/	,,V)Jr
   c                    [        U5      n[        USS 5      nUb2  [        U[        R                  5      (       a  U" U[        U5      5        g U(       d&  UR                  U[        R                  " 5       5        g UR                  XT5        g )NaddSkip)	_ErrorHolderr   r)   r   SkipTestrE   addErrorr   r   )r   rL   	exceptionr   rx   errorr   s          r   r   )TestSuite._addClassOrModuleLevelException   sa    Y'&)T2:i#G#GE3y>*s||~6,r
   c                 J   U R                  U5      nUc  g UR                  (       a  g  [        R                  U   n[        US5         [        USS 5      nUb   U" 5          [        R                  " 5         [        US5        g ! [         a     g f = f! [         a3  n[        U[        5      (       a  e U R                  XSU5         S nANkS nAff = f! [         a3  n[        U[        5      (       a  e U R                  XSU5         S nANS nAff = f! [        US5        f = f)Nrv   tearDownModulery   )r   rf   r   r   r   r   r   rz   r)   rp   r{   r   r   )r   rL   r   r   r   r   s         r   rl   TestSuite._handleModuleTearDown   s-   226:!$$	[[0F 	/	6$V-=tDN)L"$H%%' F$451  		 ! L!&,77;;F<L<JL LL  Hfl33778H8FH HH F$45se   B 	D B "C 
BB
C)CD CD 
D)DD DD D"c           	         [        USS 5      nUR                  nXC:X  d  Uc  g [        USS5      (       a  g [        USS5      (       a  g [        USS5      (       a  g [        USS 5      n[        USS 5      nUc  Uc  g [        US5         Ub   U" 5         Ub_  U" 5         UR                   HH  n	[	        U[
        5      (       a  U	S	   e[        R                  " U5      nU R                  X)S	   SUU	S
9  MJ     [        US5        g ! [         aI  n[	        U[
        5      (       a  e [        R                  " U5      nU R                  X'SU5         S nANS nAff = f! [        US5        f = f)Nrk   re   Frf   rs   tearDownClassru   rv   r   rw   ry   )
r   r#   r   rz   r)   rp   r   r"   r{   r|   )
r   r5   rL   r}   r~   r   ru   r   r   r   s
             r   rh    TestSuite._tearDownPreviousClass  s}   (<dC~~(M,A="5u==6/77="5u==E!-1BDI _%</	6(G!O *! - A AH!&,77&qk) $m <I;;FQK<K<EAI < K	 !B F$45% ! G!&,77 $m <I;;F<K<EG G	G$ F$45s7   
E D A"E 
E?EE EE E(r	   )Fr   )r\   r]   r^   r_   rN   rZ   rj   r   ri   r{   r   rl   rh   r`   r	   r
   r   r?   r?   \   s>    B,:\#:L 9=K .2
-!6F(6r
   r?   c                   H    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rSrg)r   iH  Nc                     Xl         g r   description)r   r   s     r   r   _ErrorHolder.__init__T  s    &r
   c                     U R                   $ r   r   r%   s    r   id_ErrorHolder.idW  s    r
   c                     g r   r	   r%   s    r   shortDescription_ErrorHolder.shortDescriptionZ  s    r
   c                 $    SU R                   < S3$ )Nz<ErrorHolder description=r!   r   r%   s    r   r&   _ErrorHolder.__repr__]  s    151A1ACCr
   c                 "    U R                  5       $ r   )r   r%   s    r   __str___ErrorHolder.__str__`  s    wwyr
   c                     g r   r	   r   rL   s     r   rN   _ErrorHolder.runc  s     	r
   c                 $    U R                  U5      $ r   rT   r   s     r   rW   _ErrorHolder.__call__h  s    xxr
   c                     gr   r	   r%   s    r   r3   _ErrorHolder.countTestCasesk  s    r
   r   )r\   r]   r^   r_   failureExceptionr   r   r   r&   r   rN   rW   r3   r`   r	   r
   r   r   r   H  s3     ' D
 r
   r   c                 <     [        U 5        g! [         a     gf = f)NTF)r/   r9   )r5   s    r   rg   rg   n  s'    T
   s    
c                        \ rS rSrSrSrSrSrg)rp   iw  NFr	   )r\   r]   r^   r_   rk   rf   rI   r`   r	   r
   r   rp   rp   w  s    Jr
   rp   )r    r   r   
__unittestr   objectr   r?   r   rg   rp   r	   r
   r   <module>r      sV      

IF IXi6 i6X$6 $L6 r
   