
    daf6                         d dl Z  G d de j                        Z G d de j                        Zedk(  r e j
                          yy)    Nc                   f    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zy)ExceptTestCasesc                     d}d}d}	 t        d      #  d}Y nxY w	 d}n# d}w xY w| j                  |       | j                  |       | j                  |       y NFznyaa!T	Exception
assertTrueassertFalseself
hit_excepthit_elsehit_finallys       9/root/Python-3.12.4/Lib/test/test_exception_variations.pytest_try_except_else_finallyz,ExceptTestCases.test_try_except_else_finally   sb    
	G$$	JJ K$K
#$"s      $c                     d}d}d}	 	 d}d}| j                  |       | j                  |       | j                  |       y #  d}Y <xY w# d}w xY wNFTr
   r	   r   s       r   )test_try_except_else_finally_no_exceptionz9ExceptTestCases.test_try_except_else_finally_no_exception   s_    
	 HK$$!	J Ks   A
 AA
 
Ac                     d}d}	 t        d      #  d}Y nxY w	 d}n# d}w xY w| j                  |       | j                  |       y NFzyarr!Tr   r	   r   r   r   s      r   test_try_except_finallyz'ExceptTestCases.test_try_except_finally)   sM    
	G$$	JJK$K
#$s     "c                 x    d}d}	 	 d}| j                  |       | j                  |       y #  d}Y +xY w# d}w xY wr   r   r   s      r   $test_try_except_finally_no_exceptionz4ExceptTestCases.test_try_except_finally_no_exception7   sG    
	 K$$	JKs   5 25 9c                 T    d}	 t        d      #  d}Y nxY w| j                  |       y NFzahoy!Tr   r   r   s     r   test_try_exceptzExceptTestCases.test_try_exceptE   s/    
	G$$	J
#s    c                 @    d}	 	 | j                  |       y #  d}Y xY wr   )r
   r   s     r   test_try_except_no_exceptionz,ExceptTestCases.test_try_except_no_exceptionO   s+    
	 	$	Js   c                 z    d}d}	 t        d      #  d}Y nxY w| j                  |       | j                  |       y NFzfoo!Tr   r
   r	   r   r   r   s      r   test_try_except_elsez$ExceptTestCases.test_try_except_elseY   sD    
	F##	J 	"
#s    c                 j    d}d}	 	 d}| j                  |       | j                  |       y #  d}Y )xY wr   r   r&   s      r   !test_try_except_else_no_exceptionz1ExceptTestCases.test_try_except_else_no_exceptiong   sA    
	 H$!	Js   2c                 @    d}	 	 d}| j                  |       y # d}w xY wr   r	   r   r   s     r   test_try_finally_no_exceptionz-ExceptTestCases.test_try_finally_no_exceptionu   )    	K$ K   c                     d}d}d}	 	 t        d      #  d}Y nxY w	 d}n# d}w xY w	 d}n# d}w xY w| j                  |       | j                  |       | j                  |       y NFinner exceptionTr   r   r   hit_inner_excepthit_inner_finallys       r   test_nestedzExceptTestCases.test_nested   sz     !	) 122(#'  $(!D!!K$K())*$s    ! , %, 0c                 0   d}d}d}d}d}	 	 	 d}t        d      #  d}Y t        d      xY w#  d}Y nxY w	 d}n# d}w xY w| j                  |       | j                  |       | j                  |       | j                  |       | j                  |       y NFTouter exceptionr%   r   r   r   r   r4   hit_inner_elses         r   test_nested_elsez ExceptTestCases.test_nested_else   s    
 	& "&-..(#'  -..	JJ K$K)*'"$
#s   . +. 4; ?c                 (   d}d}d}d}d}	 	 t        d      #  d}t        d      xY w#  d}Y nxY w	 d}n# d}w xY w| j                  |       | j                  |       | j                  |       | j                  |       | j                  |       y NFr2   Tr9   r   r:   s         r   test_nested_exception_in_exceptz/ExceptTestCases.test_nested_exception_in_except   s    
 	& 1223#'  122	JJ K$K()("$
#s    '* 07 ;c                 "   d}d}d}d}d}	 	 	 d}t        d      #  d}Y nxY w	 d}n	#  d}Y nxY wd}n# d}w xY w| j                  |       | j                  |       | j                  |       | j                  |       | j                  |       y r8   r%   r:   s         r   test_nested_exception_in_elsez-ExceptTestCases.test_nested_exception_in_else   s    
 	3 "& 122	(#'   H	J K$K)*'"$
#s   ( !( 4 .4 8c                 h   d}d}d}d}d}d}	 	 	 d}d}t        d      #  d}Y xY w# d}t        d      xY w#  d}Y nxY w	 d}n# d}w xY w| j                  |       | j                  |       | j                  |       | j                  |       | j                  |       | j                  |       y r8   r%   r   r   r   r   r4   r;   r5   s          r   -test_nested_exception_in_finally_no_exceptionz=ExceptTestCases.test_nested_exception_in_finally_no_exception   s    
 !	3 "&$(! 122(#'  %)! 122	JJ K$K)*')*"$
#s'   ( 9 %( 69 ?A A
c                 z   d}d}d}d}d}d}	 	 t        d      #  d}Y nxY w	 d}t        d      # d}t        d      xY w#  d}Y nxY w	 d}n# d}w xY w| j                  |       | j                  |       | j                  |       | j                  |       | j                  |       | j                  |       y r>   r   rC   s          r   /test_nested_exception_in_finally_with_exceptionz?ExceptTestCases.test_nested_exception_in_finally_with_exception  s    
 !	3 122(#'   %)! 122 %)! 122	JJ K$K 	()()*"$
#s,     1 A ?A AA AN)__name__
__module____qualname__r   r   r   r   r    r"   r'   r)   r-   r6   r<   r?   rA   rD   rF        r   r   r      sN    #$"$%%$%$"%%&$:$8$8$@$rK   r   c                   f    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zy)ExceptStarTestCasesc                     d}d}d}	 t        d      # g xt        % x d}n nn x Y ncY w xY wd}n# d}w xY w| j                  |       | j                  |       | j                  |       y r   r   BaseExceptionr	   r
   r   s       r   r   z0ExceptStarTestCases.test_try_except_else_finally*  sp    
	G$$	 	JJ	
 K$K
#$"s    1"	17 ;c                     d}d}d}	 	 d}d}| j                  |       | j                  |       | j                  |       y # g xt         % x d}n nn x Y QcY w xY w# d}w xY wr   rP   r
   r	   r   s       r   r   z=ExceptStarTestCases.test_try_except_else_finally_no_exception<  so    
	 HK$$!	 	JJ	
 Ks#   A" AA	AA" "A&c                     d}d}	 t        d      # g xt        % x d}n nn x Y ncY w xY wd}n# d}w xY w| j                  |       | j                  |       y r   r   rP   r	   r   s      r   r   z+ExceptStarTestCases.test_try_except_finallyN  s]    
	G$$	 	JJ	 K$K
#$s    / 	/5 9c                     d}d}	 	 d}| j                  |       | j                  |       y # g xt         % x d}n nn x Y @cY w xY w# d}w xY wr   rR   r   s      r   r   z8ExceptStarTestCases.test_try_except_finally_no_exception\  sY    
	 K$$	 	JJ	 Ks   A A
;	A
A Ac                     d}	 t        d      # g xt        % x d}n nn x Y ncY w xY w| j                  |       y r   rT   r   s     r   r    z#ExceptStarTestCases.test_try_exceptj  sA    
	G$$	 	JJ	 	
#s    -	-c                 p    d}	 	 | j                  |       y # g xt         % x d}n nn x Y -cY w xY wr   )rP   r
   r   s     r   r"   z0ExceptStarTestCases.test_try_except_no_exceptiont  s;    
	 	$	 	JJ	s   5&	5c                     d}d}	 t        d      # g xt        % x d}n nn x Y ncY w xY w| j                  |       | j                  |       y r$   r   rP   r
   r	   r&   s      r   r'   z(ExceptStarTestCases.test_try_except_else~  sT    
	F##	 	JJ	
 	"
#s    / 	/c                     d}d}	 	 d}| j                  |       | j                  |       y # g xt         % x d}n nn x Y >cY w xY wr   rR   r&   s      r   r)   z5ExceptStarTestCases.test_try_except_else_no_exception  sQ    
	 H$!	 	JJ	s   A
;	A
c                 @    d}	 	 d}| j                  |       y # d}w xY wr   r+   r,   s     r   r-   z1ExceptStarTestCases.test_try_finally_no_exception  r.   r/   c                     d}d}d}	 	 t        d      # g xt        % x d}n nn x Y ncY w xY wd}n# d}w xY w	 d}n# d}w xY w| j                  |       | j                  |       | j                  |       y r1   rT   r3   s       r   r6   zExceptStarTestCases.test_nested  s     !	) 122(M (#'  ( %)!D!!K$K())*$s(    2#	28 A <A Ac                    d}d}d}d}d}	 	 	 d}t        d      # g xt         % x d}n nn x Y t        d      cY w xY w# g xt         % x d}n nn x Y ncY w xY wd}n# d}w xY w| j                  |       | j                  |       | j                  |       | j                  |       | j                  |       y r8   rP   r   r
   r	   r:   s         r   r<   z$ExceptStarTestCases.test_nested_else  s    
 	& "&-..(M (#'  (
 -..	 	JJ	
 K$K)*'"$
#s6   A A*	AA A$A	A$A* *A.c                 4   d}d}d}d}	 	 t        d      # g xt        % x d}n nn x Y ncY w xY wd}n# d}w xY wn	#  d}Y nxY wd}n# d}w xY w| j                  |       | j                  |       | j                  |       | j                  |       y r1   rO   r   r   r   r4   r5   s        r   test_nested_mixed1z&ExceptStarTestCases.test_nested_mixed1  s    
 !
	) 122(M (#'  ( %)!D!!	JK$K())*$$s:    4%	4: A >A A AA Ac                 6   d}d}d}d}	 	 t        d      #  d}Y nxY w	 d}n# d}w xY wn!# g xt        % x d}n nn x Y ncY w xY wd}n# d}w xY w| j                  |       | j                  |       | j                  |       | j                  |       y r1   rO   r`   s        r   test_nested_mixed2z&ExceptStarTestCases.test_nested_mixed2  s    
 !
	) 122(#'  $(!D!!	 	JJ	 K$K())*$$s7    # + '+ A A	:	A	A Ac                 `   d}d}d}d}d}	 	 	 d}t        d      # g xt         % x d}n nn x Y t        d      cY w xY w#  d}Y nxY w	 d}n# d}w xY w| j                  |       | j                  |       | j                  |       | j                  |       | j                  |       y r8   r^   r:   s         r   test_nested_else_mixed1z+ExceptStarTestCases.test_nested_else_mixed1  s    
 	& "&-..(M (#'  (
 -..	JJ K$K)*'"$
#s*   A A*	AA A
A Ac                 ^   d}d}d}d}d}	 	 	 d}t        d      #  d}Y t        d      xY w# g xt        % x d}n nn x Y ncY w xY wd}n# d}w xY w| j                  |       | j                  |       | j                  |       | j                  |       | j                  |       y r8   rY   r:   s         r   test_nested_else_mixed2z+ExceptStarTestCases.test_nested_else_mixed2   s    
 	& "&-..(#'  -..	 	JJ	
 K$K)*'"$
#s&   . +. A=	AA AN)rG   rH   rI   r   r   r   r   r    r"   r'   r)   r-   r6   r<   ra   rc   re   rg   rJ   rK   r   rM   rM   )  sM    #$"$%%$%$"%%&$:%.%0$:$rK   rM   __main__)unittestTestCaser   rM   rG   mainrJ   rK   r   <module>rl      sL    b$h'' b$J	R$(++ R$j zHMMO rK   