
    /hhg                         S SK r S SKrS SKrS SKJr   " S S\R
                  5      r\S:X  a  \R                  " 5         gg)    N)supportc                   b    \ 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S rS rS rSrg)GeneralTest
   c                 .    [         R                  " 5         g Natexit_clearselfs    :/opt/python-3.13.8/usr/lib/python3.13/test/_test_atexit.pysetUpGeneralTest.setUp           c                 .    [         R                  " 5         g r   r	   r   s    r   tearDownGeneralTest.tearDown   r   r   c                    [         R                  " 5        n[        R                  " U/UQ76   [        R                  " 5         U R                  UR                  R                  5        U R                  UR                  R                  SU< 35        U R                  UR                  R                  U5        U R                  [        UR                  R                  5      U5        S S S 5        g ! , (       d  f       g = f)N%Exception ignored in atexit callback )r   catch_unraisable_exceptionr
   register_run_exitfuncsassertIsNone
unraisableobjectassertEqualerr_msgexc_typetype	exc_value)r   r    funcargscms        r   assert_raises_unraisable$GeneralTest.assert_raises_unraisable   s    //1ROOD(4(!!#bmm223R]]22;D8DFR]]33X>T"--"9"9:HE 211s   CC00
C>c                   ^ / mU4S jnU4S jn[         R                  " USS5        [         R                  " U5        [         R                  " USSS9  [         R                  " 5         U R                  TSS	S
S04SS0 4SS0 4/5        g )Nc                  ,   > TR                  SX45        g )Nfunc1appendr$   kwargscallss     r   r*   %GeneralTest.test_order.<locals>.func1!       LL'401r   c                  ,   > TR                  SX45        g )Nfunc2r+   r-   s     r   r3   %GeneralTest.test_order.<locals>.func2$   r1   r            value)keyr3   )r7   r9    r*   )r5   r6   )r
   r   r   r   )r   r*   r3   r/   s      @r   
test_orderGeneralTest.test_order   s     	2	2 	q!$qg."D5'*:;"B+"FB/1	2r   c                 :    S nU R                  [        USS5        g )Nc                      g r   r:   r:   r   r   r#   &GeneralTest.test_badargs.<locals>.func3   s    r   r5   r6   r&   	TypeError)r   r#   s     r   test_badargsGeneralTest.test_badargs2   s    	 	%%iq!<r   c                 6    S nU R                  [        U5        g )Nc                      [         er   )rA   r:   r   r   raise_type_error0GeneralTest.test_raise.<locals>.raise_type_error:   s    Or   r@   )r   rF   s     r   
test_raiseGeneralTest.test_raise9   s    	 	%%i1ABr   c                 6    S nU R                  [        U5        g )Nc                      SS-    g Nr5   r   r:   r:   r   r   div_zero5GeneralTest.test_raise_unnormalized.<locals>.div_zeroB   s	    Er   )r&   ZeroDivisionError)r   rM   s     r   test_raise_unnormalized#GeneralTest.test_raise_unnormalized?   s    	 	%%&7Br   c                 L    U R                  [        [        R                  5        g r   )r&   
SystemExitsysexitr   s    r   	test_exitGeneralTest.test_exitG   s    %%j#((;r   c                    ^ S/mU4S jn[        S5       H  n[        R                  " U5        M     [        R                  " 5         U R	                  TS   S5        g )Nr   c                      > T S==   S-  ss'   g Nr   r5   r:   as   r   inc$GeneralTest.test_stress.<locals>.incL       aDAIDr      )ranger
   r   r   r   )r   r]   ir\   s      @r   test_stressGeneralTest.test_stressJ   sK    C	 sAOOC  1s#r   c                    ^ S/mU4S jn[         R                  " U5        [         R                  " 5         [         R                  " 5         U R	                  TS   S5        g )Nr   c                      > T S==   S-  ss'   g rZ   r:   r[   s   r   r]   #GeneralTest.test_clear.<locals>.incW   r_   r   )r
   r   r   r   r   )r   r]   r\   s     @r   
test_clearGeneralTest.test_clearU   sF    C	 	1q!r   c                    ^ S/mU4S jnU4S jn[        S5       H  n[        R                  " U5        M     [        R                  " U5        [        R                  " U5        [        R                  " 5         U R                  TS   S5        g )Nr   c                      > T S==   S-  ss'   g rZ   r:   r[   s   r   r]   (GeneralTest.test_unregister.<locals>.incb   r_   r   c                      > T S==   S-  ss'   g rZ   r:   r[   s   r   dec(GeneralTest.test_unregister.<locals>.decd   r_   r      )ra   r
   r   
unregisterr   r   )r   r]   rn   rb   r\   s       @r   test_unregisterGeneralTest.test_unregister`   sj    C		 qAOOC  #1r"r   c                 *   / n[         R                  " UR                  S5        [         R                  " 5         U R	                  US/5        [         R
                  " UR                  5        [         R                  " 5         U R	                  US/5        g )N   )r
   r   r,   r   r   rr   )r   ls     r   test_bound_methodsGeneralTest.test_bound_methodso   sg    !$QC !((#QC r   c                   ^ U4S jm[         R                  " T5         [        R                  " 5        n[         R                  " 5         U R                  UR                  R                  5        U R                  UR                  R                  ST< 35        U R                  UR                  R                  [        5        U R                  [        UR                  R                  5      [        5        S S S 5        [         R                  " T5        g ! , (       d  f       N%= f! [         R                  " T5        f = f)Nc                  <   > [         R                  " T 5        SS-    g rL   )r
   rr   )r#   s   r   r#   @GeneralTest.test_atexit_with_unregistered_function.<locals>.func{   s    d#aCr   r   )r
   r   r   r   r   r   r   r   r   r   r    rO   r!   r"   rr   )r   r%   r#   s     @r   &test_atexit_with_unregistered_function2GeneralTest.test_atexit_with_unregistered_functiony   s    	 			$335%%'!!"--"6"67  !6!6?xHJ  !7!79JK  bmm&=&=!>@QR 6 d# 65 d#s#   D& CD6D& 
D#D& &D>r:   N)__name__
__module____qualname____firstlineno__r   r   r&   r;   rB   rH   rP   rV   rc   rh   rs   rx   r}   __static_attributes__r:   r   r   r   r   
   sF    	F2,=CC<	$	"#!$r   r   __main__)	r
   rT   unittesttestr   TestCaser   r   mainr:   r   r   <module>r      s@     
  ~$(## ~$B zMMO r   