+
    Bip8                     x   R t ^ RIHt ^ RIt^ RIt^ RItR t ! R R4      t ! R R]P                  4      t	 ! R R	]P                  4      t
 ! R
 R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t ! R R]P                  4      t]R8X  d   ]P                   ! 4        R# R# )zTests for the raise statement.)supportNc                  `     \        4       h  \          d   p T P                  u R p ? # R p ? ii ; iN)OSError__traceback__)es    &/usr/lib/python3.14/test/test_raise.pyget_tbr	      s(    i s   
 -(--c                   ,   a  ] tR t^t o R tR tRtV tR# )Contextc                    V # r    selfs   &r   	__enter__Context.__enter__   s        c                    R # )Tr   )r   exc_type	exc_valueexc_tbs   &&&&r   __exit__Context.__exit__   s    r   r   N__name__
__module____qualname____firstlineno__r   r   __static_attributes____classdictcell____classdict__s   @r   r   r      s      r   r   c                   h   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tRtV tR# )	TestRaisec                n     h   \         d'   pT P                  R\        T4      4        Rp?R# Rp?ii ; i)No exception raisedzNo active exceptionN)failRuntimeErrorassertInstrr   r   s   & r   test_invalid_reraiseTestRaise.test_invalid_reraise   s0    	- 	9MM/Q88	9s    4/4c                      \        4       h  \          d	   pTph R p?ii ; i  \          d   pT P                  XT4        R p?R # R p?ii ; ir   )
IndexErrorr&   assertIs)r   r   exc1exc2s   &   r   test_reraiseTestRaise.test_reraise#   sN    		- l"   	&MM$%%	&s$   
   # AAAc                8    R  pV P                  \        V4       R# )c                  r     \        R 4      h  \          d     \        R4      h  \         d     h i ; ii ; ifoocaught	TypeErrorKeyErrorr   r   r   reraise.TestRaise.test_except_reraise.<locals>.reraise0   sF    && "8,, s    6$2626NassertRaisesr:   r   r<   s   & r   test_except_reraiseTestRaise.test_except_reraise/   s    	 	)W-r   c                8    R  pV P                  \        V4       R# )c                  Z     \        R 4      h  \          d     \        R4      h  h ; ii ; ir6   r9   r   r   r   r<   /TestRaise.test_finally_reraise.<locals>.reraise<   s6    && "8,,	s    *$&*N)r?   r;   r@   s   & r   test_finally_reraiseTestRaise.test_finally_reraise;   s    	 	(G,r   c                F   a R  oV3R lpV P                  \        V4       R# )c                      h r   r   r   r   r   nested_reraise5TestRaise.test_nested_reraise.<locals>.nested_reraiseG   s    r   c                  N   <  \        R 4      h  \          d    S ! 4         R# i ; ir7   Nr:   )rJ   s   r   r<   .TestRaise.test_nested_reraise.<locals>.reraiseI   s(    !&& ! !s    $$Nr>   )r   r<   rJ   s   & @r   test_nested_reraiseTestRaise.test_nested_reraiseF   s    		!
 	)W-r   c                      \        R 4      h  \          d    \        4       Rhi ; i  \         dG   pT P                  TP                  \         4       T P	                  TP
                  4        Rp?R# Rp?ii ; irM   )r:   
ValueErrorassertIsInstance__context__assertIsNone	__cause__r*   s   & r   test_raise_from_NoneTestRaise.test_raise_from_NoneP   sh    	+-&& - l,- 	+!!!--;akk**	+s    %( A9;A44A9c                8    R  pV P                  \        V4       R# )c                       \        R 4      h  \          d2    \        4       ;_uu_ 4         RRR4       h   + '       g   i     h ; ii ; irM   )r:   r   r   r   r   r<   -TestRaise.test_with_reraise1.<locals>.reraise[   s>    && YY  Ys    A	5	A	A 	A	Nr>   r@   s   & r   test_with_reraise1TestRaise.test_with_reraise1Z       	 	)W-r   c                8    R  pV P                  \        V4       R# )c                       \        R 4      h  \          d3    \        4       ;_uu_ 4        \        R4      h  + '       g   i     h ; ii ; ir6   )r:   r   r;   r   r   r   r<   -TestRaise.test_with_reraise2.<locals>.reraisee   s>    && YY"8,, Ys    A
6A	A
Nr>   r@   s   & r   test_with_reraise2TestRaise.test_with_reraise2d   r_   r   c                   a R  pV! 4       o\        S4       V P                  \        V3R l4       V P                  \        V3R l4       R# )c               3   J   "    \        R 4      h  \          d    ^x  h i ; i5i)r7   rN   r   r   r   r<   -TestRaise.test_yield_reraise.<locals>.reraiseo   s+     && s   #  #c                     < \        S 4      # r   nextgs   r   <lambda>.TestRaise.test_yield_reraise.<locals>.<lambda>w   s	    T!Wr   c                     < \        S 4      # r   ri   rk   s   r   rm   rn   x   s	    ar   N)rj   r?   r:   StopIteration)r   r<   rl   s   & @r   test_yield_reraiseTestRaise.test_yield_reraisen   s8    	 IQ)_5-9r   c                J     ! R  R\         4      p Vh  \         d     R# i ; i)c                   &   a  ] tR t^{t o R tRtV tR# )7TestRaise.test_erroneous_exception.<locals>.MyExceptionc                    \        4       hr   r'   r   s   &r   __init__@TestRaise.test_erroneous_exception.<locals>.MyException.__init__|   
    "n$r   r   Nr   r   r   r   rx   r   r   r    s   @r   MyExceptionru   {        % %r   r|   N)	Exceptionr&   r'   r   r|   s   & r   test_erroneous_exception"TestRaise.test_erroneous_exceptionz   s+    	%) 	%	- 		s    ""c                     ! R  R\         4      pV P                  \        4      ;_uu_ 4        Vh  + '       g   i     R# ; i)c                   &   a  ] tR t^t o R tRtV tR# )@TestRaise.test_new_returns_invalid_instance.<locals>.MyExceptionc                    \        4       # r   )object)clsargss   &*r   __new__HTestRaise.test_new_returns_invalid_instance.<locals>.MyException.__new__   s	    xr   r   N)r   r   r   r   r   r   r   r    s   @r   r|   r      s        r   r|   N)r~   r?   r:   r   s   & r   !test_new_returns_invalid_instance+TestRaise.test_new_returns_invalid_instance   s3    	 ) 	  y)) *))s	   0A	c                z     Q R4       h  \          d'   pT P                  \        T4      R4        Rp?R# Rp?ii ; i)Fz(3,)N)   )AssertionErrorassertEqualr)   r*   s   & r   test_assert_with_tuple_arg$TestRaise.test_assert_with_tuple_arg   s8    	-$5 	-SVV,,	-   	 :5:r   N)r   r   r   r   r+   r2   rA   rF   rP   rX   r]   rc   rq   r   r   r   r   r   r    s   @r   r#   r#      sF     -
-
.	-.+..
:
-- -r   r#   c                   D   a  ] tR t^t o R tR tR tR tR tR t	Rt
V tR# )		TestCausec                      \         h  \         d	    \        R hi ; i  \         dE   pT P                  TP                  4       T P                  TP                  4       RTn        ThR p?ii ; i  \         d   pTp R p?MR p?ii ; iT P                  TP                  4       T P                  TP                  4       T P                  TP                  \         4       R # )NF)
r:   r~   rS   rV   rW   
assertTrue__suppress_context__assertFalserT   rU   )r   excr   s   &  r   testCauseSyntaxTestCause.testCauseSyntax   s    		/#O  /$$./ !!#--0 8 89+0(		
  	A	 	!++&//0ammY7s4   
   A/?A**A//A2 2B	=BB	c                z     \         ^h  \         d'   pT P                  R\	        T4      4        Rp?R# Rp?ii ; i)   zexception causeN)r.   r&   r:   r(   r)   r*   s   & r   test_invalid_causeTestCause.test_invalid_cause   s5    	-!# 	5MM+SV44	5r   c                     \         \        h  \          d,   pT P                  TP                  \        4        Rp?R# Rp?ii ; ir%   N)r.   r;   r&   rT   rW   r*   s   & r   test_class_causeTestCause.test_class_cause   s6    	-(* 	9!!!++x88	9s    A >Ac                     ! R  R\         4      p \        Vh  \         d'   pT P	                  R\        T4      4        Rp?R# Rp?i\         d    T P                  R4        R# i ; i)c                   0   a  ] tR t^t o ]R 4       tRtV tR# )FTestCause.test_class_cause_nonexception_result.<locals>.ConstructsNonec                     R # r   r   )r   kwargss   *,r   r   NTestCause.test_class_cause_nonexception_result.<locals>.ConstructsNone.__new__   s    r   r   N)r   r   r   r   classmethodr   r   r   r    s   @r   ConstructsNoner      s      r   r   z1should have returned an instance of BaseExceptionNzWrong kind of exception raised)BaseExceptionr.   r&   r:   r(   r)   )r   r   r   s   &  r   $test_class_cause_nonexception_result.TestCause.test_class_cause_nonexception_result   sX    	] 		-.0 	WMMMsSTvVV 	8II67	8s     A'AA'A'&A'c                    \        4       p \        Vh  \         d(   pT P                  TP                  T4        Rp?R# Rp?ii ; ir   )r;   r.   r&   r/   rW   )r   causer   s   &  r   test_instance_causeTestCause.test_instance_cause   s;    
	-%' 	.MM!++u--	.s    AA  Ac                T     ! R  R\         4      p \        Vh  \         d     R# i ; i)c                   &   a  ] tR t^t o R tRtV tR# )3TestCause.test_erroneous_cause.<locals>.MyExceptionc                    \        4       hr   rw   r   s   &r   rx   <TestCause.test_erroneous_cause.<locals>.MyException.__init__   rz   r   r   Nr{   r    s   @r   r|   r      r}   r   r|   N)r~   r.   r&   r'   r   s   & r   test_erroneous_causeTestCause.test_erroneous_cause   s-    	%) 	%	-+- 		s    ''r   N)r   r   r   r   r   r   r   r   r   r   r   r   r    s   @r   r   r      s(     8&----
- 
-r   r   c                   ,   a  ] tR t^t o R tR tRtV tR# )TestTracebackc                     \        4       h  \          d6   pT P                  TP                  \        P
                  4        Rp?R# Rp?ii ; ir   )r.   r&   rT   r   typesTracebackTyper*   s   & r   test_sets_traceback!TestTraceback.test_sets_traceback   s>    	-, 	H!!!//53F3FGG	Hs   
 A*AAc                    \        4       p \        4       P                  V4      h  \         dN   pT P	                  TP
                  T4       T P                  TP
                  P                  T4        Rp?R# Rp?ii ; ir   )r	   r.   with_tracebackr&   assertNotEqualr   r   tb_next)r   tbr   s   &  r   test_accepts_traceback$TestTraceback.test_accepts_traceback   sb    X	-,--b11 	:4Q__44b99	:s   % A=AA88A=r   N)r   r   r   r   r   r   r   r   r    s   @r   r   r      s     -- -r   r   c                   2   a  ] tR t^t o R tR tR tRtV tR# )TestTracebackTypec                    \         hr   )rS   r   s   &r   raiserTestTracebackType.raiser   s    r   c                    V P                  4        V P                  XP                  \
        P                  4       V P                  VP                  \        P                  ! 4       4       V P                  VP                  \        4       V P                  VP                  \        4       V P                  VP                  P                  R 4       V P                  \        4      ;_uu_ 4        V=R R R 4       V P                  \        4      ;_uu_ 4        RVn        R R R 4       V P                  \         4      ;_uu_ 4        W"n        R R R 4       V P                  \         4      ;_uu_ 4        W"P                  n        R R R 4       R Vn        V P                  VP                  R 4       \#        4       pW2n        V P                  VP                  V4       R #   \         d   pTP                  p R p?ELR p?ii ; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i)Nasdf)r   r~   r   rT   r   r   r   r/   tb_framesys	_getframetb_lastiint	tb_linenor?   r:   rS   r	   )r   r   r   new_tbs   &   r   
test_attrsTestTracebackType.test_attrs   s|   	#KKM 	bjj%*=*=>bkk3==?3bkk3/bllC0bjj(($/ y))
 * y))BJ * z**J + z**!#JJ + 
bjj$'
bjj&)=  	#""B	# *)) *) +* +*sG   G .G>HH%/H8G;$G66G;>H	H"	%H5	8I	c                L   \        4       p\        P                  ! 4       p\        P                  ! W^^4      pV P                  VP                  V4       V P                  VP                  V4       V P                  VP                  ^4       V P                  VP                  ^4       \        P                  ! RV^^4      pV P                  VP                  R4       V P                  \        4      ;_uu_ 4        \        P                  ! RV^^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  ! VR^^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  ! WR^4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  ! W^R4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lv; i  + '       g   i     R# ; i)   Nnoznuh-uh)r	   r   r   r   r   r   r   r   r   r   r?   r:   )r   other_tbframer   s   &   r   test_constructor"TestTracebackType.test_constructor  sv   8  !Q7X.e,a(q)  ua3T*y))eQ2 * y))$15 * y))q9 * y))H= *) *) *) *) *))s0   :G9G,8G?6HG)	,G<	?H	H#	r   N)	r   r   r   r   r   r   r   r   r   r    s   @r   r   r      s     !*F> >r   r   c                   n   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tRtV tR# )TestContexti7  c                    \        4       p  Vh  \          d    \        4       hi ; i  \         d(   pT P                  TP                  T4        Rp?R# Rp?ii ; ir   )r.   r   r&   r/   rU   r   contextr   s   &  r   $test_instance_context_instance_raise0TestContext.test_instance_context_instance_raise8  sR    ,	-   i  	2MM!--11	2s    %( AAAc                    \         p  Vh  \          d    \        4       hi ; i  \         dD   pT P                  TP                  T4       T P                  TP                  T4        Rp?R# Rp?ii ; ir   r.   r   r&   assertIsNotrU   rT   r   s   &  r   !test_class_context_instance_raise-TestContext.test_class_context_instance_raiseD  sf    		-   i  	:Q]]G4!!!--99	:s    !$ A28A--A2c                    \         p  Vh  \          d    \        hi ; i  \         dD   pT P                  TP                  T4       T P                  TP                  T4        Rp?R# Rp?ii ; ir   r   r   s   &  r   test_class_context_class_raise*TestContext.test_class_context_class_raiseQ  sd    		-  	:Q]]G4!!!--99	:s      A.8A))A.c                      ^^ ,            T P                  R4       R#   \          d    \        hi ; i  \         d,   pT P                  TP                  \         4        Rp?R# Rp?ii ; ir   r%   N)ZeroDivisionErrorr   r&   rT   rU   r*   s   & r   test_c_exception_context$TestContext.test_c_exception_context^  sa    	-! II+, %  	D!!!--1BCC	Ds   	  25 A+  A&&A+c                      ^^ ,           V P                  R4       R#   \          d
    \          L&i ; i  \         d,   pT P	                  TP
                  \         4        Rp?R# Rp?ii ; ir   )r   xyzzyr&   	NameErrorrT   rU   r*   s   & r   test_c_exception_raise"TestContext.test_c_exception_raisei  s_    	-! II+, %  	D!!!--1BCC	Ds%   	 36 36 A, A''A,c                       \         h  \         h; i  \          d'   pT P                  TP                  4        Rp?R# Rp?ii ; ir   )r   r&   rV   rU   r*   s   & r   test_noraise_finally TestContext.test_noraise_finallyt  s>    	-g 	-amm,,	-s     AA  Ac                      ^^ ,           \         h  \         h; i  \          d,   pT P                  TP                  \        4        Rp?R# Rp?ii ; ir   N)r   r&   rT   rU   r   r*   s   & r   test_raise_finallyTestContext.test_raise_finally  sG    	-!g 	D!!!--1BCC	Ds    	   A AAc                    ! R  R4      p V! 4       ;_uu_ 4        ^^ ,           RRR4       V P                  R4       R#   + '       g   i     L#; i  \         d,   pT P                  TP                  \        4        Rp?R# Rp?ii ; i)c                   ,   a  ] tR tRt o R tR tRtV tR# )8TestContext.test_context_manager.<locals>.ContextManageri  c                    R # r   r   r   s   &r   r   BTestContext.test_context_manager.<locals>.ContextManager.__enter__  s    r   c                    \          R # r   )r   )r   tvr   s   &&&&r   r   ATestContext.test_context_manager.<locals>.ContextManager.__exit__  s    r   r   Nr   r    s   @r   ContextManagerr    s      r   r	  Nr%   )r&   r   rT   rU   r   )r   r	  r   s   &  r   test_context_manager TestContext.test_context_manager  sg    	 	
	-!!! "
 II+, "! 	D!!!--1BCC	Ds-   A 
A A  A	A B	 BB	c                      ^^ ,           R#   \          d   pThRp?ii ; i  \          d'   pT P                  TP                  4        Rp?R# Rp?ii ; ir   )r   rV   rU   r*   s   & r   test_cycle_brokenTestContext.test_cycle_broken  sN    	-!$   	-amm,,	-s$   	   # AAAc                      \          R#   \         d'   p ^^ ,            Rp?R#   \         d    Thi ; iRp?ii ; i  \         d1   pT P                  TP                  P                  4        Rp?R# Rp?ii ; ir   )r   r   r   rV   rU   )r   ar   s   &  r   test_reraise_cycle_broken%TestContext.test_reraise_cycle_broken  sl    		9 aCC( G
  	9amm7788	9s1    <	&? 47<? A:
%A55A:c                    \        R 4      p Vh  \          dF     \        R4      h  \          d     Mi ; i \        R4      h  \          d   pTp Rp? MRp?ii ; ii ; iT P                  TP                  T4       R# )r   r8   newN)r~   r/   rU   )r   r   r   raiseds   &   r   test_not_lastTestContext.test_not_last  s    I&
	M 	)) && 	 	f(('2sB    A&4A4AAAAAAAc                ,   a a R  oVV 3R lpV! 4        R# )c               3   "   "    ^x  R#   i ; i5ir   r   r   r   r   gen"TestContext.test_3118.<locals>.gen  s     s   
 c                     < S! 4       p \        V 4         \        h  \         d	    ? \        hi ; i  \         d,   pSP	                  TP
                  \        4        R p?R # R p?ii ; ir   )rj   rS   r;   r~   rT   rU   )rl   r   r  r   s     r   f TestContext.test_3118.<locals>.f  sc    AGA#$$! #"N#  A%%ammZ@@As    /2 A( A##A(Nr   )r   r  r  s   f @r   	test_3118TestContext.test_3118  s    	
	A 	
r   c                  a aaa ^ RI o ! R R4      oVVVV 3R lo\        P                  ! 4       ;_uu_ 4       pS! 4        S P                  \        VP
                  P                  4       RRR4       R#   + '       g   i     R# ; i)    Nc                   &   a  ] tR tRt o R tRtV tR# ) TestContext.test_3611.<locals>.Ci  c                :     ^^ ,           R#   \          d    h i ; ir   )r   r   s   &r   __del__(TestContext.test_3611.<locals>.C.__del__  s"    aCC( s   	 r   N)r   r   r   r   r&  r   r   r    s   @r   Cr$    s      r   r(  c                  (  < S! 4       p   SP                    R #   \         d    ? SP                  4        \        hi ; i  \         dH   pSP                  TP                  R 4       SP                  TP                  \        4        R p?R # R p?ii ; ir   )xAttributeErrorcollectr:   r~   r   rU   rT   )r*  r   r(  r  gcr   s     r   r   TestContext.test_3611.<locals>.f  sz    A
E$CC% $JJL#O	$
  E##AMM48%%amm^DDEs    #<? B
<BB)r-  r   catch_unraisable_exceptionr   r   
unraisabler   )r   cmr(  r  r-  s   f @@@r   	test_3611TestContext.test_3611  s^    	 		E 	E //11RC.0F0FG 2111s   2A55B	r   N)r   r   r   r   r   r   r   r   r   r   r   r
  r  r  r  r  r2  r   r   r    s   @r   r   r   7  sM     
---	-	-	-	---93 ,H Hr   r   c                   ,   a  ] tR tRt o R tR tRtV tR# )TestRemovedFunctionalityi  c                @     \         \        3h  \         d     R# i ; ir   )r.   r;   r&   r:   r   s   &r   test_tuples$TestRemovedFunctionality.test_tuples  s$    	-x(( 		s    c                ,     R h  \         d     R# i ; irM   )r&   r:   r   s   &r   test_strings%TestRemovedFunctionality.test_strings  s    	-K 		s    r   N)r   r   r   r   r7  r:  r   r   r    s   @r   r5  r5    s     -- -r   r5  __main__)__doc__testr   r   r   unittestr	   r   TestCaser#   r   r   r   r   r5  r   mainr   r   r   <module>rB     s    %  
   y-!! y-zF-!! F-R-H%% -*?>)) ?>D{H(## {H|-x00 -$ zMMO r   