
    ;e                        d dl Z d dlZd dlZ G d dej                  Z G d dej                  Z G d dej                  Z G d d	e          Z G d
 de          Z G d de          Z	 G d de          Z
 G d de          Z G d de          Z G d de          Z G d de          Zedk    r ej                     dS dS )    Nc                   &    e Zd Zd Zd Zd Zd ZdS )TestInvalidExceptStarc                     g d}|D ]E}|                      t                    5  t          |dd           d d d            n# 1 swxY w Y   Fd S )N)z:try: pass
except ValueError: pass
except* TypeError: pass
z:try: pass
except* ValueError: pass
except TypeError: pass
z?try: pass
except ValueError as e: pass
except* TypeError: pass
z?try: pass
except* ValueError as e: pass
except TypeError: pass
z?try: pass
except ValueError: pass
except* TypeError as e: pass
z?try: pass
except* ValueError: pass
except TypeError as e: pass
z0try: pass
except ValueError: pass
except*: pass
z0try: pass
except* ValueError: pass
except: pass
<string>exec)assertRaisesSyntaxErrorcompile)selferrorserrs      ,/usr/lib/python3.11/test/test_except_star.py1test_mixed_except_and_except_star_is_syntax_errorzGTestInvalidExceptStar.test_mixed_except_and_except_star_is_syntax_error   s    	
 	
 	
  	1 	1C"";// 1 1Z0001 1 1 1 1 1 1 1 1 1 1 1 1 1 1	1 	1s   AA	A	c                     |                      t                    5  	 t          d          # xg ct          % x}d }~nd }~ nn X x Y ncY w xY wd d d            d S # 1 swxY w Y   d S )Nblah)r   	TypeErrorOSErrorExceptionGroupr   es     r   7test_except_star_ExceptionGroup_is_runtime_error_singlezMTestInvalidExceptStar.test_except_star_ExceptionGroup_is_runtime_error_single   s    y)) 	 	foo%  N    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s    A ,AA  A$'A$c                     |                      t                    5  	 t          dt          d          g          # xg ct          t          f% x n nn X x Y ncY w xY wd d d            d S # 1 swxY w Y   d S )Neg*   )r   r   r   
ValueErrorr   s    r   6test_except_star_ExceptionGroup_is_runtime_error_tuplezLTestInvalidExceptStar.test_except_star_ExceptionGroup_is_runtime_error_tuple   s    y)) 	 	$TJrNN+;<<<  Y/    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s    A0; A A00A47A4c                 n   |                      t                    5  	 t          # xg cd% x n nn X x Y ncY w xY wd d d            n# 1 swxY w Y   |                      t                    5  	 t          # xg ct          df% x n nn X x Y ncY w xY wd d d            d S # 1 swxY w Y   d S )Nr   )r   r   r   r   s    r   'test_except_star_invalid_exception_typez=TestInvalidExceptStar.test_except_star_invalid_exception_type$   s   y)) 	 	    B    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 y)) 	 	    Z$    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sB   A$=AAA1B*3A::BB**B.1B.N)__name__
__module____qualname__r   r   r   r        r   r   r      sP        1 1 1         r$   r   c                   6    e Zd ZdZd Zd Zd Zd Zd Zd Z	dS )	(TestBreakContinueReturnInExceptStarBlockzC'break', 'continue' and 'return' cannot appear in an except\* blockc                     |                      t          | j                  5  t          t	          j        |          dd           d d d            d S # 1 swxY w Y   d S )Nr   r   )assertRaisesRegexr	   MSGr
   textwrapdedent)r   srcs     r   check_invalidz6TestBreakContinueReturnInExceptStarBlock.check_invalid6   s    ##K:: 	> 	>HOC((*f===	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>s   $AAAc                     |                      d           |                      d           |                      d           d S )Nzy
            try:
                raise ValueError
            except* Exception as e:
                break
            z
            for i in range(5):
                try:
                    pass
                except* Exception as e:
                    if i == 2:
                        break
            z
            for i in range(5):
                try:
                    pass
                except* Exception as e:
                    if i == 2:
                        break
                finally:
                    return 0
            r-   r   s    r   test_break_in_except_starzBTestBreakContinueReturnInExceptStarBlock.test_break_in_except_star:   sg    	 	 	 		 	 	 		
	 
	 
	 
	 
	r$   c                     |                      d           |                      d           |                      d           d S )Nz
            for i in range(5):
                try:
                    raise ValueError
                except* Exception as e:
                    continue
            z
            for i in range(5):
                try:
                    pass
                except* Exception as e:
                    if i == 2:
                        continue
            z
            for i in range(5):
                try:
                    pass
                except* Exception as e:
                    if i == 2:
                        continue
                finally:
                    return 0
            r/   r   s    r   *test_continue_in_except_star_block_invalidzSTestBreakContinueReturnInExceptStarBlock.test_continue_in_except_star_block_invalidZ   sg    	 	 	 		 	 	 		
	 
	 
	 
	 
	r$   c                 Z    |                      d           |                      d           d S )Nz
            def f():
                try:
                    raise ValueError
                except* Exception as e:
                    return 42
            z
            def f():
                try:
                    pass
                except* Exception as e:
                    return 42
                finally:
                    finished = True
            r/   r   s    r   (test_return_in_except_star_block_invalidzQTestBreakContinueReturnInExceptStarBlock.test_return_in_except_star_block_invalidz   sH    	 	 	 			 		 		 		 		r$   c                 V   	 t          d          # xg ct          % xb}d}t          d          D ]}|dk    r	|dk    r n|dz  }|                     |d           |                     |d           |}d }~nd }~ nn X x Y ncY w xY w|                     |t
                     d S )Nr   r               )r   	ExceptionrangeassertEqualassertIsInstancer   )r   r   countiexcs        r   .test_break_continue_in_except_star_block_validzWTestBreakContinueReturnInExceptStarBlock.test_break_continue_in_except_star_block_valid   s    	R.. 	 	 		 	 	 	 	E1XX  6666E
UA&&&Q"""CCCCCC	 	c>22222s    BAA9	5Bc                     	 t          d          # xg ct          % x}d } |d          }|}d }~nd }~ nn X x Y ncY w xY w|                     |d           |                     |t                     d S )Nr   c                     d| z  S )N   r#   )xs    r   fzZTestBreakContinueReturnInExceptStarBlock.test_return_in_except_star_block_valid.<locals>.f   s    s
r$   r9      )r   r:   r<   r=   r   )r   r   rF   rr@   s        r   &test_return_in_except_star_block_validzOTestBreakContinueReturnInExceptStarBlock.test_return_in_except_star_block_valid   s    	R.. 	 	 		 	 	 	 	  !ACCCCCC		
 	Ac>22222s    A3	AN)
r    r!   r"   r)   r-   r0   r2   r4   rA   rI   r#   r$   r   r&   r&   2   sw        2C> > >  @  @  *3 3 3"	3 	3 	3 	3 	3r$   r&   c                        e Zd Zd Zd Zd ZdS )ExceptStarTestc                 b   ||d S ||                      d|            ||                      d|d           t          |t                    sN|                     |j        |j                   |                     |j        d         |j        d                    d S |                     |j        |j                   |                     t          |j                  t          |j                             t          |j        |j                  D ]\  }}| 
                    ||           d S )Nzunexpected exception: zexpected an exception like z
, got Noner   )fail
isinstancer   r<   	__class__argsmessagelen
exceptionszipassertExceptionIsLike)r   r@   templater   ts        r   rU   z$ExceptStarTest.assertExceptionIsLike   s6   ;8+FII4s44555;IIJHJJJKKK#~.. 	1S]H,>???SXa[(-*:;;;;;S[(*:;;;S00#h6I2J2JKKKCNH,?@@ 1 11**1a00001 1r$   c                    |||                      |d u o|d u            d S |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   d S N)
assertTruer<   __context__	__cause____traceback__r   e1e2s      r   assertMetadataEqualz"ExceptStarTest.assertMetadataEqual   s    :OOB$J52:66666R^R^<<<R\2<888R-r/?@@@@@r$   c                     |||                      ||           d S |j        |j        k    o|j        |j        k    o|j        |j        k     S rY   )assertNotEqualr[   r\   r]   r^   s      r   assertMetadataNotEqualz%ExceptStarTest.assertMetadataNotEqual   se    :B'''''".8 ALBL8A,0@@B Br$   N)r    r!   r"   rU   ra   rd   r#   r$   r   rK   rK      sI        1 1 1&A A AB B B B Br$   rK   c                       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d Zd Zd Zd Zd Zd Zd Zd ZdS )TestExceptStarSplitSemanticsc                    t          j                    }d x}x}}	 	 |# xg c|% x!}	t          j                    }|	}d }	~	nd }	~	 nn X x Y ncY w xY wn# t          $ r}	|	}Y d }	~	nd }	~	ww xY w|                     ||           |                     ||           |                     ||           |                     t          j                    |           d S rY   )sys	exceptionBaseExceptionr<   rU   
r   r@   Tmatch_templaterest_templateinitial_sys_exceptionsys_exceptionmatchrestr   s
             r   doSplitTestNamedz-TestExceptStarSplitSemantics.doSplitTestNamed   s    #'+++		  A     #  	 	 	DDDDDD	 	...""5.999""4777*?@@@@@s+    	AA 	AA 
A, A''A,c                 |   t          j                    }d x}x}}	 	 |# xg c|% x t          j                    x}}n nn X x Y ncY w xY wn# t          $ r}	|	}Y d }	~	nd }	~	ww xY w|                     ||           |                     ||           |                     t          j                    |           d S rY   )rh   ri   rM   rj   rU   r<   rk   s
             r   doSplitTestUnnamedz/TestExceptStarSplitSemantics.doSplitTestUnnamed   s     #'+++		6	8 8 8A 8 8 8 8(+78
  	 	 	DDDDDD	""5.999""4777*?@@@@@s*    	A=	AA 
A&A!!A&c                     	 t          dt          d          t          d          g          # t          $ r4 |                     ||||           |                     ||||           Y d S w xY wNr   r8   rD   r   r   r   r:   rs   ru   r   r@   rl   rm   rn   s        r   doSplitTestInExceptHandlerz7TestExceptStarSplitSemantics.doSplitTestInExceptHandler   s    	K 	!jmm'DEEE 	K 	K 	K!!#q.-HHH##CNMJJJJJJ	Ks   ,. :A,+A,c           
          	 t          dt          d          t          d          g          # xg ct          % x6 |                     ||||           |                     ||||           n nn X x Y d S cY w xY wrw   rx   ry   s        r   doSplitTestInExceptStarHandlerz;TestExceptStarSplitSemantics.doSplitTestInExceptStarHandler   s    	K 	!jmm'DEEE	K 	K 	K	 	K 	K 	K 	K!!#q.-HHH##CNMJJJJJ	K    s   ,. A=0A-	,A=c                     |                      ||||           |                     ||||           |                     ||||           |                     ||||           d S rY   )rs   ru   rz   r|   ry   s        r   doSplitTestz(TestExceptStarSplitSemantics.doSplitTest  sp    c1nmDDDQFFF''QNNN++CNMRRRRRr$   c                     |                      t          dt          d          t          d          g          t          d t          dt          d          t          d          g                     d S )Ntest1Vrl   )r~   r   r   r   r	   r   s    r   test_no_match_single_typez6TestExceptStarSplitSemantics.test_no_match_single_type  sk    7Z__inn$EFF7Z__inn$EFF		H 	H 	H 	H 	Hr$   c                     |                      t          dt          d          t          d          g          t          t          dt          d          t          d          g          d            d S )Ntest2V1V2)r~   r   r   r   s    r   test_match_single_typez3TestExceptStarSplitSemantics.test_match_single_type  sn    7Z%5%5z$7G7G$HII7Z%5%5z$7G7G$HII		 	 	 	 	r$   c                 <   |                      t          dt          d          t          d          t          d          g          t          t          dt          d          t          d          g          t          dt          d          g                     d S )Ntest3r   OSr   )r~   r   r   r   r   s    r   $test_match_single_type_partial_matchzATestExceptStarSplitSemantics.test_match_single_type_partial_match  s    D!!74==*T2B2BCE E 7Z%5%5z$7G7G$HII7WT]]O44	6 	6 	6 	6 	6r$   c                    |                      t          dt          d          t          d          t          dt          d          t          d          t	          d          g          g          t          t          dt          d          t          dt          d          g          g          t          dt          d          t          dt          d          t	          d          g          g                     d S )Ng1r   OS1g2OS2r   rl   r~   r   r   r   r   r   s    r   test_match_single_type_nestedz:TestExceptStarSplitSemantics.test_match_single_type_nested  s    4  ENNt$$cNN$% %&' ' 4  tj&6&6%788:; ; 4tENNIcNN&4 5 5"6 7 7	8 	8 	8 	8 	8r$   c                    |                      t          dt          d          t          d          t          dt          d          t          d          t	          d          g          g          t          t          ft          dt          d          t          dt          d          t	          d          g          g          t          dt          d          t          dt          d          g          g                     d S )Nh1r   r   h2r   r   rl   r   r   s    r   test_match_type_tuple_nestedz9TestExceptStarSplitSemantics.test_match_type_tuple_nested4  s   4  75>>:d+;+;Ys^^LN NOP P #4  tj&6&6	#%GHHJK K tgenn%56689 9	: 	: 	: 	: 	:r$   c                 F   |                      t          dt          dt          d          g          t          dt          d          t          d          g          t          dt          d          g          g          t          t          dt          dt          d          g          t          dt          d          g          g          t          dt          dt          d          g          t          dt          d          g          g                     d S )	Nr   i1r   i2r   T1i3T2r~   r   r   r   r   s    r   test_empty_groups_removedz6TestExceptStarSplitSemantics.test_empty_groups_removedF  s   tj&6&6%788tj&6&6	$%HIItioo%6779: :
 4tioo%677tioo%677"9 : : 4"4*T*:*:);<<"4*T*:*:);<<"> ? ?	@ 	@ 	@ 	@ 	@r$   c                    |                      t          dt          dt          dt          d          g          t          dt          d          g          g          g          t          t          dt          dt          dt          d          g          g          g          t          dt          dt          dt          d          g          g          g                     d S )Nj1j2j3r   j4rl   r   r   s    r   test_singleton_groups_are_keptz;TestExceptStarSplitSemantics.test_singleton_groups_are_keptU  s    4t"4*T*:*:);<<"4)C..)9::&< = ="> ? ? ~dYs^^<L'M'M&NOOPR R ~dZ=M=M<N'O'O&PQQRT T	U 	U 	U 	U 	Ur$   c           
          |                      t          d          t          t          dt          d          g          d            d S Nr    )r~   r   r   r   s    r   %test_naked_exception_matched_wrapped1zBTestExceptStarSplitSemantics.test_naked_exception_matched_wrapped1c  sI    sOO2
3011		 	 	 	 	r$   c           
          |                      t          d          t          t          dt          d          g          d            d S r   )r~   r   r:   r   r   s    r   %test_naked_exception_matched_wrapped2zBTestExceptStarSplitSemantics.test_naked_exception_matched_wrapped2j  sI    sOO2
3011		 	 	 	 	r$   c           
          |                      t          dt          d          g          t          t          dt          d          g          d            d S )Nr   r   )r~   r   r   r:   r   s    r   6test_exception_group_except_star_Exception_not_wrappedzSTestExceptStarSplitSemantics.test_exception_group_except_star_Exception_not_wrappedq  sV    4*S//!2334*S//!233		 	 	 	 	r$   c                 t    |                      t          d          t          d t          d                     d S )Nr   )r~   r   r   r   s    r    test_plain_exception_not_matchedz=TestExceptStarSplitSemantics.test_plain_exception_not_matchedx  s<    sOOsOO		 	 	 	 	r$   c                    |                      t          dt          d          t          d          g          t          t          dt          d          g          t          dt          d          g                     d S )Nstiorl   )r~   r   BlockingIOErrorr   r   r   s    r   test_match__supertypez2TestExceptStarSplitSemantics.test_match__supertype  su    4/$"7"73!HII4/$"7"7!8994)C..!122		4 	4 	4 	4 	4r$   c                    	 t          dt          d          t          d          g          # xg ct          % x>}|                     |t          dt          d          g                     d }~nd }~ nn t          % x>}|                     |t          dt          d          g                     d }~nd }~ nn X x Y d S cY w xY w)Nmmnosr   )r   r   r   rU   rM   r   s     r   test_multiple_matches_namedz8TestExceptStarSplitSemantics.test_multiple_matches_named  s4   		. 8M8M(NOOO	@ 	@ 	@ 	@ 	@ 	@ 	@&&qut'<'<&=>>@ @ @ @ @ @ @ @	@  	8 	8 	8 	8&&quwt}}o668 8 8 8 8 8 8 8	8    s    ,. C2A2	.C2B:	6Cc                    	 t          dt          d          t          d          g          # xg ct          % xK t          j                    }|                     |t          dt          d          g                     n nn t          % xK t          j                    }|                     |t          dt          d          g                     n nn X x Y d S cY w xY w)Nmmur   r   )r   r   r   rh   ri   rU   rM   r   s     r   test_multiple_matches_unnamedz:TestExceptStarSplitSemantics.test_multiple_matches_unnamed  s#   	. 8M8M(NOOO	@ 	@ 	@ 	@ 	@ 	@ 	@A&&qut'<'<&=>>@ @ @ @ @	@  	8 	8 	8 	8A&&quwt}}o668 8 8 8 8	8    s"   ,. C'AB	C'AC	C'c                 >   	 t          dt          d          g          # xg ct          % x>}|                     |t          dt          d          g                     d }~nd }~ nn t          % x |                     d           n nn X x Y d S cY w xY w)Nfstr   z#Should have been matched as OSError)r   r   r   rU   rM   r   s     r   test_first_match_wins_namedz8TestExceptStarSplitSemantics.test_first_match_wins_named  s    	. )>)>(?@@@	@ 	@ 	@ 	@ 	@ 	@ 	@&&qut'<'<&=>>@ @ @ @ @ @ @ @	@   	= 	= 	= 	=II;<<<<<	=    s      B2A$	 B6B	Bc                 .   	 t          dt          d          g          # xg ct          % xK t          j                    }|                     |t          dt          d          g                     n nn t          % x n nn X x Y d S cY w xY w)Nfstur   )r   r   r   rh   ri   rU   rM   r   s     r   test_first_match_wins_unnamedz:TestExceptStarSplitSemantics.test_first_match_wins_unnamed  s    		. /$*?*?)@AAA	A 	A 	A 	A 	A 	A 	AA&&qv(=(='>??A A A A A	A   	 	 	 	D	    s     BAA4	3Bc                    	 t          dt          d          g          # xg ct          % x 	 t          dt          d          g          # xg ct          % x n nn X x Y ncY w xY wt	          j                    }|                     |t          dt          d          g                     n nn X x Y d S cY w xY w)Nnr   )r   r   r   rM   rh   ri   rU   r   s     r   test_nested_except_starsz5TestExceptStarSplitSemantics.test_nested_except_stars  s   	. t'<'<&=>>>		? 		? 		? 		? 		? 		? 		?2$S:d+;+;*<===  J     A&&qod&;&;%<==? ? ? ? ?		?    s!     CAA+&AB4	3Cc                     t          d          D ]A}	 t          dt          d          g          # xg ct          % x n nn X x Y <cY w xY wd S )NrD   nlr   )r;   r   r   rM   )r   _s     r   test_nested_in_loopz0TestExceptStarSplitSemantics.test_nested_in_loop  s    q 	2 	2A2$TOD,A,A+BCCC  O    	2 	2s	   1AN)r    r!   r"   rs   ru   rz   r|   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r#   r$   r   rf   rf      s       A A A"A A A"K K KK K KS S SH H H  6 6 68 8 8*: : :$@ @ @U U U        4 4 4
. 
. 
.. . .	. 	. 	.
. 
. 
.. . . 2 2 2 2 2r$   rf   c                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
TestExceptStarReraisec                    	 	 t          dt          d          t          d          t          d          g          # xg ct          % x} d }~ n t          % x} d }~ n X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          d          t          d          g                     d S Nr   r8   rD   r9   r   r   r   r   rU   r   r   r@   s      r   test_reraise_all_namedz,TestExceptStarReraise.test_reraise_all_named  s(   
	$9Q<<A

CE E E  I          	 	 	CCCCCC	 	""4)A,,
1wqzz!JKK	M 	M 	M 	M 	Ms9   := A/A	A/A	A/*A3 3
B	=BB	c                    	 	 t          dt          d          t          d          t          d          g          # xg ct          % x   n t          % x   n X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          d          t          d          g                     d S r   r   r   s      r   test_reraise_all_unnamedz.TestExceptStarReraise.test_reraise_all_unnamed  s"   
	$9Q<<A

CE E E  I          	 	 	CCCCCC	 	""4)A,,
1wqzz!JKK	M 	M 	M 	M 	Ms9   := A)A	A)A		A)$A- -
B7A>>Bc           
         	 	 t          dt          d          t          d          t          d          g          # xg ct          % x} d }~ n t          % x}d }~nd }~ nn X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          d          g                     d S r   r   r   s      r   "test_reraise_some_handle_all_namedz8TestExceptStarReraise.test_reraise_some_handle_all_named  '   
	$9Q<<A

CE E E  I          	 	 	CCCCCC	 	""y||WQZZ&@AA	C 	C 	C 	C 	C-   := A3A	"A3.A7 7
BBBc           	      Z   	 	 t          dt          d          t          d          g          # xg ct          % x   n t          % x n nn X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          g                     d S rw   )r   r   r   rU   r   s      r   'test_reraise_partial_handle_all_unnamedz=TestExceptStarReraise.test_reraise_partial_handle_all_unnamed  s    		$9Q<<A79 9 9  I         	 	 	CCCCCC	 	""y||n55	7 	7 	7 	7 	7s*   ,/ A>	AA   
A6*A11A6c           
         	 	 t          dt          d          t          d          t          d          g          # xg ct          % x} d }~ n t          % x}d }~nd }~ nn X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          d          g                     d S r   r   r   s      r   &test_reraise_partial_handle_some_namedz<TestExceptStarReraise.test_reraise_partial_handle_some_named  r   r   c           
         	 	 t          dt          d          t          d          t          d          g          # xg ct          % x   n t          % x n nn X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          d          g                     d S r   r   r   s      r   (test_reraise_partial_handle_some_unnamedz>TestExceptStarReraise.test_reraise_partial_handle_some_unnamed#  s   		$9Q<<A

CE E E  I         	 	 	CCCCCC	 	""y||WQZZ&@AA	C 	C 	C 	C 	Cs-   := A*A	A*%A. .
B8A??Bc           	         	 	 t          d          # xg ct           % x} d }~ n X x Y ncY w xY wn# t          $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          g                     d S Nr   r   r   r   rU   r   s      r   "test_reraise_plain_exception_namedz8TestExceptStarReraise.test_reraise_plain_exception_named2  s    	 nn$  J     	 	 	CCCCCC	 	""Z^^$455	7 	7 	7 	7 	7s%    2!	26 
A AAc           	          	 	 t          d          # xg ct           % x   n X x Y ncY w xY wn# t          $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          g                     d S r   r   r   s      r   $test_reraise_plain_exception_unnamedz:TestExceptStarReraise.test_reraise_plain_exception_unnamed>  s    	 nn$  J     	 	 	CCCCCC	 	""Z^^$455	7 	7 	7 	7 	7s$    /!		/3 
A	AA	N)r    r!   r"   r   r   r   r   r   r   r   r   r#   r$   r   r   r     s        M M M"M M M"C C C 7 7 7C C C C C C
7 
7 
7
7 
7 
7 
7 
7r$   r   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestExceptStarRaisec                    t          dt          d          t          d          g          }	 	 |# xg ct          % x}t          d          d }~ n X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          dt          d          g          g                     |                     |j        d         j        t          dt          d          g                     |                     ||           |                     ||j        d         j                   d S Nr   r8   rD   r9   r   r   	r   r   r   r   rU   rS   r[   rd   ra   r   origr   r@   s       r   test_raise_namedz$TestExceptStarRaise.test_raise_namedL  su   dZ]]GAJJ$?@@	#
# # #G # # # #ll"# 	 	 	CCCCCC	 	""Yq\\>$A#H#HIK K	L 	L 	L
 	""N1)4'!**..	0 	0 	0 	##D#...  s~a'8'DEEEEEs,   1 AA	AA# #
A9-A44A9c                    t          dt          d          t          d          g          }	 	 |# xg ct          % x t          d           n X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          dt          d          g          g                     |                     |j        d         j        t          dt          d          g                     |                     ||           |                     ||j        d         j                   d S r   r   r   s       r   test_raise_unnamedz&TestExceptStarRaise.test_raise_unnamedb  sr   dZ]]GAJJ$?@@	#
# # #G # # # #ll"# 	 	 	CCCCCC	 	""Yq\\>$A#H#HIK K	L 	L 	L
 	""N1)4'!**..	0 	0 	0 	##D#...  s~a'8'DEEEEEs,   1 AA		AA   
A6*A11A6c           
      <   t          dt          d          t          d          g          }	 	 |# xg ct          t          f% x}t          d          d }~ n X x Y ncY w xY wn# t          $ r}|}Y d }~nd }~ww xY w|                     |t          d                     |                     |j        t          dt          d          t          d          g                     |                     ||           |                     ||j                   d S r   r   r   r   r	   rU   r[   rd   ra   r   s       r   %test_raise_handle_all_raise_one_namedz9TestExceptStarRaise.test_raise_handle_all_raise_one_namedx  A   dYq\\:a==$ABB	%
% % %Y
+ % % % %!!nn$% 	 	 	CCCCCC	 	""3A777""O4)A,,
1!>??	A 	A 	A 	##D#...  s77777-   1 A&A	A&!A* *
B 4A;;B c           
      <   t          dt          d          t          d          g          }	 	 |# xg ct          t          f% x}t          d          d }~ n X x Y ncY w xY wn# t          $ r}|}Y d }~nd }~ww xY w|                     |t          d                     |                     |j        t          dt          d          t          d          g                     |                     ||           |                     ||j                   d S r   r   r   s       r   'test_raise_handle_all_raise_one_unnamedz;TestExceptStarRaise.test_raise_handle_all_raise_one_unnamed  r   r   c           
         t          dt          d          t          d          g          }	 	 |# xg ct          % x}t          d          d }~ n t          % x}t          d          d }~ n X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          d          g                     |                     |j        d         j        t          dt          d          g                     |                     |j        d         j        t          dt          d          g                     |                     ||           |                     ||j        d         j                   |                     ||j        d         j                   d S Nr   r8   rD   r9   r7   r   r   	r   r   r   r	   rU   rS   r[   rd   ra   r   s       r   %test_raise_handle_all_raise_two_namedz9TestExceptStarRaise.test_raise_handle_all_raise_two_named  s   dYq\\:a==$ABB	%
% % %I % % % %!!nn$% % % % %!!nn$% 	 	 	CCCCCC	 	""[^^[^^$DEE	G 	G 	G 	""N1)4)A,,00	2 	2 	2 	""N1)4*Q--11	3 	3 	3 	##D#...  s~a'8'DEEE  s~a'8'DEEEEEs8   1 A?A	A?A.	.A?:B 
BBBc           
      |   t          dt          d          t          d          g          }	 	 |# xg ct          % x t          d           n t          % x t          d           n X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          d          g                     |                     |j        d         j        t          dt          d          g                     |                     |j        d         j        t          dt          d          g                     |                     ||           |                     ||j        d         j                   |                     ||j        d         j                   d S r   r   r   s       r   'test_raise_handle_all_raise_two_unnamedz;TestExceptStarRaise.test_raise_handle_all_raise_two_unnamed  s   dYq\\:a==$ABB	%
% % %I % % % %!!nn$% % % % %!!nn$% 	 	 	CCCCCC	 	""[^^[^^$DEE	G 	G 	G 	""N1)4)A,,00	2 	2 	2 	""N1)4*Q--11	3 	3 	3 	##D#...  s~a'8'DEEE  s~a'8'DEEEEEs8   1 A9A	A9A+	+	A94A= =
BBBN	r    r!   r"   r   r   r   r   r   r   r#   r$   r   r   r   K  s|        F F F,F F F,8 8 8&8 8 8&F F F6F F F F Fr$   r   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestExceptStarRaiseFromc                     t          dt          d          t          d          g          }	 	 |# xg ct          % x}t          d          |d }~ n X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          dt          d          g          g                     |                     |j        d         j        t          dt          d          g                     |                     |j        d         j        t          dt          d          g                     |                     ||           | 	                    ||j        d         j                   | 	                    ||j        d         j                   |                     ||j        d         j                   |                     ||j        d         j                   d S r   )
r   r   r   r   rU   rS   r[   r\   rd   ra   r   s       r   r   z(TestExceptStarRaiseFrom.test_raise_named  s   dZ]]GAJJ$?@@	*
* * *G * * * *ll)* 	 	 	CCCCCC	 	""Yq\\>$A#H#HIK K	L 	L 	L
 	""N1)4'!**..	0 	0 	0 	""N1'4'!**..	0 	0 	0 	##D#...  s~a'8'DEEE  s~a'8'BCCC##D#.*;*GHHH##D#.*;*EFFFFFs,   1 A A	A A$ $
A:.A55A:c                     t          dt          d          t          d          g          }	 	 |# xg ct          % x' t          j                    }t          d          | n X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          dt          d          g          g                     |                     |j        d         j        t          dt          d          g                     |                     |j        d         j	        t          dt          d          g                     | 
                    ||           |                     ||j        d         j                   |                     ||j        d         j	                   | 
                    ||j        d         j                   | 
                    ||j        d         j	                   d S r   )r   r   r   rh   ri   r   rU   rS   r[   r\   rd   ra   r   s       r   r   z*TestExceptStarRaiseFrom.test_raise_unnamed  s   dZ]]GAJJ$?@@	*
* * *G * * * *MOOll)*  	 	 	CCCCCC	 	""Yq\\>$A#H#HIK K	L 	L 	L
 	""N1)4'!**..	0 	0 	0 	""N1'4'!**..	0 	0 	0 	##D#...  s~a'8'DEEE  s~a'8'BCCC##D#.*;*GHHH##D#.*;*EFFFFFs,   1 A0#A"	"	A0+A4 4
B
>BB
c           
         t          dt          d          t          d          g          }	 	 |# xg ct          t          f% x}t          d          |d }~ n X x Y ncY w xY wn# t          $ r}|}Y d }~nd }~ww xY w|                     |t          d                     |                     |j        t          dt          d          t          d          g                     |                     |j        t          dt          d          t          d          g                     |                     ||           |                     ||j                   |                     ||j                   d S r   )	r   r   r   r	   rU   r[   r\   rd   ra   r   s       r   r   z=TestExceptStarRaiseFrom.test_raise_handle_all_raise_one_named  s   dYq\\:a==$ABB	,
, , ,Y
+ , , , ,!!nn!+, 	 	 	CCCCCC	 	""3A777""O4)A,,
1!>??	A 	A 	A 	""M4)A,,
1!>??	A 	A 	A 	##D#...  s777  s}55555s-   1 A'A	A'"A+ +
B5A<<Bc           
      $   t          dt          d          t          d          g          }	 	 |# xg ct          t          f% x*}t          j                    }t          d          |d }~ n X x Y ncY w xY wn# t
          $ r}|}Y d }~nd }~ww xY w|                     |t          d                     |                     |j        t          dt          d          t          d          g                     |                     |j        t          dt          d          t          d          g                     | 	                    ||           | 
                    ||j                   | 
                    ||j                   d S r   )r   r   r   rh   ri   r	   rU   r[   r\   rd   ra   r   s       r   r   z?TestExceptStarRaiseFrom.test_raise_handle_all_raise_one_unnamed)  s   dYq\\:a==$ABB	,
, , ,Y
+ , , , ,MOO!!nn!+,  	 	 	CCCCCC	 	""3A777""O4)A,,
1!>??	A 	A 	A 	""M4)A,,
1!>??	A 	A 	A 	##D#...  s777  s}55555s-   1 A:#A)	)A:5A> >
BBBc           
         t          dt          d          t          d          g          }	 	 |# xg ct          % x}t          d          |d }~ n t          % x}t          d          |d }~ n X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          d          g                     |                     |j        d         j        t          dt          d          g                     |                     |j        d         j        t          dt          d          g                     |                     |j        d         j        t          dt          d          g                     |                     |j        d         j        t          dt          d          g                     |                     ||           | 	                    ||j        d         j                   | 	                    ||j        d         j                   d S r   )
r   r   r   r	   rU   rS   r[   r\   rd   ra   r   s       r   r   z=TestExceptStarRaiseFrom.test_raise_handle_all_raise_two_namedB  sg   dYq\\:a==$ABB	,
, , ,I , , , ,!!nn!+, , , , ,!!nn!+, 	 	 	CCCCCC	 	""[^^[^^$DEE	G 	G 	G 	""N1)4)A,,00	2 	2 	2 	""N1'4)A,,00	2 	2 	2 	""N1)4*Q--11	3 	3 	3 	""N1'4*Q--11	3 	3 	3 	##D#...  s~a'8'DEEE  s~a'8'BCCCCCs8   1 BA	B A0	0B<B 
BBBc           
      l   t          dt          d          t          d          g          }	 	 |# xg ct          % x' t          j                    }t          d          | n t          % x' t          j                    }t          d          | n X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w|                     |t          dt          d          t          d          g                     |                     |j        d         j        t          dt          d          g                     |                     |j        d         j	        t          dt          d          g                     |                     |j        d         j        t          dt          d          g                     |                     |j        d         j	        t          dt          d          g                     | 
                    ||           |                     ||j        d         j                   |                     ||j        d         j	                   |                     ||j        d         j                   |                     ||j        d         j	                   d S r   )r   r   r   rh   ri   r	   rU   rS   r[   r\   rd   ra   r   s       r   r   z?TestExceptStarRaiseFrom.test_raise_handle_all_raise_two_unnamede  s   dYq\\:a==$ABB
	,
, , ,I , , , ,MOO!!nn!+,  , , , ,MOO!!nn!+,  	 	 	CCCCCC	 	""[^^[^^$DEE	G 	G 	G 	""N1)4)A,,00	2 	2 	2 	""N1'4)A,,00	2 	2 	2 	""N1)4*Q--11	3 	3 	3 	""N1'4*Q--11	3 	3 	3 	##D#...  s~a'8'DEEE  s~a'8'BCCC  s~a'8'DEEE  s~a'8'BCCCCCs8   1 B!#A"	"B!0#B		B!B% %
B;/B66B;Nr   r#   r$   r   r   r     s}        G G G:G G G<6 6 606 6 62!D !D !DF%D %D %D %D %Dr$   r   c                       e Zd Zd Zd ZdS )$TestExceptStarExceptionGroupSubclassc                     G fddt                     	 	 	 	 t          d          # t          $ r} d|gd          d d }~ww xY w# $ r6}	 t          d          # t          $ r} d||gd          d }~ww xY wd }~ww xY w# xg ct          % x}|}d }~nd }~ nn X x Y ncY w xY wn# $ r}|}Y d }~nd }~ww xY w|                     |           |                     |           |                     |j        d	                    |                     ||           |                     |j        d           |                     |j        d           |                     |j        d	         j        d           d S )
Nc                   *     e Zd Z fdZfdZ xZS )MTestExceptStarExceptionGroupSubclass.test_except_star_EG_subclass.<locals>.EGc                 \    t                                          | ||          }||_        |S rY   )super__new__code)clsrQ   excsr	  objrO   s        r   r  zUTestExceptStarExceptionGroupSubclass.test_except_star_EG_subclass.<locals>.EG.__new__  s(    ggooc7D99
r$   c                 2     | j         || j                  S rY   )rQ   r	  )r   r  EGs     r   derivezTTestExceptStarExceptionGroupSubclass.test_except_star_EG_subclass.<locals>.EG.derive  s    r$,di888r$   )r    r!   r"   r  r  __classcell__)rO   r  s   @r   r  r    sR            
9 9 9 9 9 9 9 9 9r$   r  rD   nestede   r8   r   r   r   )r   r   r   r=   rS   ra   r<   r	  )r   ter  ver   vegtegr  s          @r   test_except_star_EG_subclasszATestExceptStarExceptionGroupSubclass.test_except_star_EG_subclass  s-   	9 	9 	9 	9 	9 	9 	9 	9 	9 	9		9@'ll*$ @ @ @ bB4554?@ 9 9 99(mm+% 9 9 9 bF|R88899
  J     	 	 	CCCCCC	 	c2&&&c2&&&cnQ/444  c***2&&&2&&&*/55555st   * 
AAAA BA  
A>*A99A>>BBB	 	B/B	B/*B3 3C8B??Cc           	          G fddt                     	 	  dt          d          t          d          g          # xg ct          % x
}|} d }~ n t          % x}|}d }~nd }~ nn X x Y ncY w xY wn# t          $ r}|}Y d }~nd }~ww xY w|||fD ]-}|                     |           |                     |           .|                     | dt          d          g                     |                     | dt          d          g                     |                     | dt          d          g                     d S )Nc                        e Zd Zd Z fdZdS )YTestExceptStarExceptionGroupSubclass.test_falsy_exception_group_subclass.<locals>.FalsyEGc                     dS NFr#   r   s    r   __bool__zbTestExceptStarExceptionGroupSubclass.test_falsy_exception_group_subclass.<locals>.FalsyEG.__bool__  s    ur$   c                 &     | j         |          S rY   )rQ   )r   r  FalsyEGs     r   r  z`TestExceptStarExceptionGroupSubclass.test_falsy_exception_group_subclass.<locals>.FalsyEG.derive  s    wt|T222r$   N)r    r!   r"   r  r  )r  s   r   r  r    s=          3 3 3 3 3 3 3r$   r  r   r8   rD   )r   r   r   r:   assertFalser=   rU   )r   r   tesvesr@   r  s        @r   #test_falsy_exception_group_subclasszHTestExceptStarExceptionGroupSubclass.test_falsy_exception_group_subclass  s   	3 	3 	3 	3 	3 	3 	3n 	3 	3 	3
	gdYq\\:a==$ABBB  I           	 	 	CCCCCC	 sC 	. 	.AQ!!!W----""3y||n(E(EFFF""3y||n(E(EFFF""3z!}}o(F(FGGGGGs;   (A A;A	A;#A)	%A;6A? ?
B	BBN)r    r!   r"   r  r#  r#   r$   r   r  r    s8        !6 !6 !6FH H H H Hr$   r  c                       e Zd Zd ZdS )TestExceptStarCleanupc                    	 	 t          d          #  	 t          t                    # xg ct          % x n nn X x Y ncY w xY wddz   Y nxY wn# t          $ r}|}Y d }~nd }~ww xY w|                     |t          d                     |                     |j        t          d                     |                     t          j	                    d            d S )Nr   r8   r   zdivision by zero)
r   r   intr:   rU   ZeroDivisionErrorr[   r<   rh   ri   r   s      r   test_sys_exception_restoredz1TestExceptStarCleanup.test_sys_exception_restored  s   
	 nn$#C..(  	    D! 	 	 	CCCCCC	 	""3(9:L(M(MNNN""3?JrNNCCC$/////s0    A)AAA 
A+A&&A+N)r    r!   r"   r)  r#   r$   r   r%  r%    s#        0 0 0 0 0r$   r%  c                       e Zd Z G d de          Z G d de          Z G d de          Z G d de          Zd	 Zd
 Z	d Z
d Zd Zd Zd ZdS )"TestExceptStar_WeirdLeafExceptionsc                       e Zd ZdZdS )0TestExceptStar_WeirdLeafExceptions.UnhashableExcN)r    r!   r"   __hash__r#   r$   r   UnhashableExcr-    s        r$   r/  c                       e Zd Zd ZdS )1TestExceptStar_WeirdLeafExceptions.AlwaysEqualExcc                     dS NTr#   r   others     r   __eq__z8TestExceptStar_WeirdLeafExceptions.AlwaysEqualExc.__eq__      4r$   Nr    r!   r"   r6  r#   r$   r   AlwaysEqualExcr1    s#        	 	 	 	 	r$   r9  c                       e Zd Zd ZdS )0TestExceptStar_WeirdLeafExceptions.NeverEqualExcc                     dS r  r#   r4  s     r   r6  z7TestExceptStar_WeirdLeafExceptions.NeverEqualExc.__eq__      5r$   Nr8  r#   r$   r   NeverEqualExcr;    s#        	 	 	 	 	r$   r>  c                       e Zd Zd ZdS )1TestExceptStar_WeirdLeafExceptions.BrokenEqualExcc                     t                      rY   RuntimeErrorr4  s     r   r6  z8TestExceptStar_WeirdLeafExceptions.BrokenEqualExc.__eq__      .. r$   Nr8  r#   r$   r   BrokenEqualExcr@    s#        	! 	! 	! 	! 	!r$   rE  c                 D    | j         | j        | j        | j        g| _        d S rY   )r/  r9  r>  rE  	bad_typesr   s    r   setUpz(TestExceptStar_WeirdLeafExceptions.setUp  s'    ,-,-/r$   c                     d\  }}	 	 |# xg c|% x}|}d }~nd }~ nn X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w||fS N)NNr:   r   r   typerq   rr   r   s         r   except_typez.TestExceptStar_WeirdLeafExceptions.except_type       t	  D     	 	 	DDDDDD	d{$   
 	+	+/ 
AA  Ac                    | j         D ]}|                     |          5  t          dt          d           |d          g          }|                     ||          \  }}|                     |t          d |d          g                     |                     |t          dt          d          g                     d d d            n# 1 swxY w Y   d S rw   rG  subTestr   r   rN  rU   r   Badr   rq   rr   s        r   $test_catch_unhashable_leaf_exceptionzGTestExceptStar_WeirdLeafExceptions.test_catch_unhashable_leaf_exception  s8   > 	@ 	@Cc"" @ @#D9Q<<Q*@AA"..r377t**>$Q99; ; ;**.	!~>>@ @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @	@ 	@s   B"CC	C	c                    | j         D ]}|                     |          5  t          dt          d           |d          g          }|                     |t                    \  }}|                     |t          dt          d          g                     |                     |t          d |d          g                     d d d            n# 1 swxY w Y   d S rw   rR  rT  s        r   test_propagate_unhashable_leafzATestExceptStar_WeirdLeafExceptions.test_propagate_unhashable_leaf  s#   > 	: 	:Cc"" : :#D9Q<<Q*@AA"..r9==t**>$1??A A A**.Ax88: : :: : : : : : : : : : : : : : :	: 	:s   B'CC	C	c           	      V   | j         D ]}|                     |          5  t          dt          d           |d          g          }|                     |t
                    \  }}|                     |           |                     ||           d d d            n# 1 swxY w Y   d S rw   )rG  rS  r   r   rN  r   assertIsNonerU   rT  s        r   "test_catch_nothing_unhashable_leafzETestExceptStar_WeirdLeafExceptions.test_catch_nothing_unhashable_leaf  s    > 	5 	5Cc"" 5 5#D9Q<<Q*@AA"..r7;;t!!%(((**4444	5 5 5 5 5 5 5 5 5 5 5 5 5 5 5	5 	5   A2BB!	$B!	c           	      V   | j         D ]}|                     |          5  t          dt          d           |d          g          }|                     |t
                    \  }}|                     ||           |                     |           d d d            n# 1 swxY w Y   d S rw   )rG  rS  r   r   rN  r:   rU   rZ  rT  s        r   %test_catch_everything_unhashable_leafzHTestExceptStar_WeirdLeafExceptions.test_catch_everything_unhashable_leaf!  s    > 	( 	(Cc"" ( (#D9Q<<Q*@AA"..r9==t**5"555!!$'''	( ( ( ( ( ( ( ( ( ( ( ( ( ( (	( 	(r\  c                    | j         D ]}|                     |          5  t          dt          d           |d          t	          d          g          }	 	 |# xg ct          % x n nn |% x   n X x Y ncY w xY wn# t
          $ r}|}Y d }~nd }~ww xY w|                     |t          d |d          t	          d          g                     d d d            n# 1 swxY w Y   d S r   )rG  rS  r   r   r   r:   rU   )r   rU  r   r   r@   s        r   test_reraise_unhashable_leafz?TestExceptStar_WeirdLeafExceptions.test_reraise_unhashable_leaf)  s   > 	H 	HCc"" H H#9Q<<QA?A A   I            CCCCCC **ss1vvz!}}.EFFH H HH H H H H H H H H H H H H H H	H 	HsS   7C'AB3A44	B=BC'
BBC'B?C''C+	.C+	N)r    r!   r"   r   r/  r9  r>  rE  rH  rN  rV  rX  r[  r^  r`  r#   r$   r   r+  r+    s-           
              
   ! ! ! ! ! ! ! !/ / /	 	 	@ @ @: : :5 5 5( ( (H H H H Hr$   r+  c                       e Zd Z G d de          Z G d de          Z G d de          Z G d de          Zd	 Zd
 Z	d Z
d Zd Zd ZdS )*TestExceptStar_WeirdExceptionGroupSubclassc                       e Zd ZdZd ZdS )7TestExceptStar_WeirdExceptionGroupSubclass.UnhashableEGNc                 >     t          |           | j        |          S rY   rM  rQ   r   r  s     r   r  z>TestExceptStar_WeirdExceptionGroupSubclass.UnhashableEG.deriveD      4::dlD111r$   )r    r!   r"   r.  r  r#   r$   r   UnhashableEGrd  A  s(        	2 	2 	2 	2 	2r$   ri  c                       e Zd Zd Zd ZdS )8TestExceptStar_WeirdExceptionGroupSubclass.AlwaysEqualEGc                     dS r3  r#   r4  s     r   r6  z?TestExceptStar_WeirdExceptionGroupSubclass.AlwaysEqualEG.__eq__H  r7  r$   c                 >     t          |           | j        |          S rY   rf  rg  s     r   r  z?TestExceptStar_WeirdExceptionGroupSubclass.AlwaysEqualEG.deriveK  rh  r$   Nr    r!   r"   r6  r  r#   r$   r   AlwaysEqualEGrk  G  s2        	 	 		2 	2 	2 	2 	2r$   ro  c                       e Zd Zd Zd ZdS )7TestExceptStar_WeirdExceptionGroupSubclass.NeverEqualEGc                     dS r  r#   r4  s     r   r6  z>TestExceptStar_WeirdExceptionGroupSubclass.NeverEqualEG.__eq__O  r=  r$   c                 >     t          |           | j        |          S rY   rf  rg  s     r   r  z>TestExceptStar_WeirdExceptionGroupSubclass.NeverEqualEG.deriveR  rh  r$   Nrn  r#   r$   r   NeverEqualEGrq  N  s2        	 	 		2 	2 	2 	2 	2r$   rt  c                       e Zd Zd Zd ZdS )8TestExceptStar_WeirdExceptionGroupSubclass.BrokenEqualEGc                     t                      rY   rB  r4  s     r   r6  z?TestExceptStar_WeirdExceptionGroupSubclass.BrokenEqualEG.__eq__V  rD  r$   c                 >     t          |           | j        |          S rY   rf  rg  s     r   r  z?TestExceptStar_WeirdExceptionGroupSubclass.BrokenEqualEG.deriveY  rh  r$   Nrn  r#   r$   r   BrokenEqualEGrv  U  s2        	! 	! 	!	2 	2 	2 	2 	2r$   ry  c                 D    | j         | j        | j        | j        g| _        d S rY   )ri  ro  rt  ry  rG  r   s    r   rH  z0TestExceptStar_WeirdExceptionGroupSubclass.setUp\  s'    +,+,.r$   c                     d\  }}	 	 |# xg c|% x}|}d }~nd }~ nn X x Y ncY w xY wn# t           $ r}|}Y d }~nd }~ww xY w||fS rJ  rK  rL  s         r   rN  z6TestExceptStar_WeirdExceptionGroupSubclass.except_typeb  rO  rP  c                    | j         D ]}|                     |          5   |dt          d           |dt          d          g          g          }|                     |t                    \  }}|                     | |dt          d          g                     |                     | |d |dt          d          g          g                     d d d            n# 1 swxY w Y   d S Nr   r8   r  rD   )rG  rS  r   r   rN  rU   r   BadEGr   rq   rr   s        r   3test_catch_some_unhashable_exception_group_subclassz^TestExceptStar_WeirdExceptionGroupSubclass.test_catch_some_unhashable_exception_group_subclassm  sZ   ^ 		E 		EEe$$ E EU4%aLL!E(Z]]O<<>? ? #..r9==t**5%%y||n2M2MNNN**4E$x*Q--!A!A BCCE E EE E E E E E E E E E E E E E E		E 		Es   B9C$$C(	+C(	c                 l   | j         D ]}|                     |          5   |dt          d           |dt          d          g          g          }|                     |t
                    \  }}|                     |           |                     ||           d d d            n# 1 swxY w Y   d S r}  )rG  rS  r   r   rN  r   rZ  rU   r~  s        r   3test_catch_none_unhashable_exception_group_subclassz^TestExceptStar_WeirdExceptionGroupSubclass.test_catch_none_unhashable_exception_group_subclassy  s   ^ 		5 		5Ee$$ 5 5U4%aLL!E(Z]]O<<>? ? #..r7;;t!!%(((**44445 5 5 5 5 5 5 5 5 5 5 5 5 5 5		5 		5   A=B((B,	/B,	c                 l   | j         D ]}|                     |          5   |dt          d           |dt          d          g          g          }|                     |t
                    \  }}|                     ||           |                     |           d d d            n# 1 swxY w Y   d S r}  )rG  rS  r   r   rN  r:   rU   rZ  r~  s        r   2test_catch_all_unhashable_exception_group_subclassz]TestExceptStar_WeirdExceptionGroupSubclass.test_catch_all_unhashable_exception_group_subclass  s   ^ 		( 		(Ee$$ ( (U4%aLL!E(Z]]O<<>? ? #..r9==t**5"555!!$'''( ( ( ( ( ( ( ( ( ( ( ( ( ( (		( 		(r  c                 @   | j         D ]}|                     |          5   |dt          d          t          d           |dt          d          t	          d          g          g          }	 	 |# xg ct          % x n nn t          % x   n X x Y ncY w xY wn# t
          $ r}|}Y d }~nd }~ww xY w|                     | |dt          d           |dt	          d          g          g                     d d d            n# 1 swxY w Y   d S )Nr   r8   rD   r  r9   r7   )rG  rS  r   r   r   r:   rU   )r   r  r   r   r@   s        r   test_reraise_unhashable_egzETestExceptStar_WeirdExceptionGroupSubclass.test_reraise_unhashable_eg  s   ^ 	@ 	@Ee$$ @ @U4%aLL*Q--!E(Z]]GAJJ,GHHJK K   J    #        CCCCCC **till$uX

|<<&> ? ?@ @ @!@ @ @ @ @ @ @ @ @ @ @ @ @ @ @	@ 	@sU   AD2A44B!B	B!B%$D%
B;/B61D6B;;A
DD	D	N)r    r!   r"   r   ri  ro  rt  ry  rH  rN  r  r  r  r  r#   r$   r   rb  rb  =  s       2 2 2 2 2~ 2 2 22 2 2 2 2 2 2 22 2 2 2 2~ 2 2 22 2 2 2 2 2 2 2. . .	 	 	
E 
E 
E
5 
5 
5
( 
( 
(@ @ @ @ @r$   rb  __main__)rh   unittestr*   TestCaser   r&   rK   rf   r   r   r   r  r%  r+  rb  r    mainr#   r$   r   <module>r     s   



  * * * * *H- * * *Zw3 w3 w3 w3 w3x/@ w3 w3 w3t"B "B "B "B "BX& "B "B "BJ}2 }2 }2 }2 }2> }2 }2 }2@w7 w7 w7 w7 w7N w7 w7 w7tGF GF GF GF GF. GF GF GFTuD uD uD uD uDn uD uD uDp>H >H >H >H >H> >H >H >HB0 0 0 0 0N 0 0 0&YH YH YH YH YH YH YH YHxh@ h@ h@ h@ h@ h@ h@ h@V zHMOOOOO r$   