;
ฬโ"Ic               @   s้   d  Z  d d l m Z d d l Z d d l Z d d l Z d   Z Gd   d  Z Gd   d e j  Z	 Gd	   d
 e j  Z
 Gd   d e j  Z Gd   d e j  Z Gd   d e j  Z d   Z e d k o e j   n d S(   u   Tests for the raise statement.i    (   u   supportNc               C   s*   y t     Wn t j   d SYn Xd  S(   Ni   (   u   OSErroru   sysu   exc_info(    (    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   get_tb   s    c             B   s    |  Ee  Z d    Z d   Z d S(   c             C   s   |  S(   N(    (   u   self(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu	   __enter__   s    c             C   s   d S(   NT(   u   True(   u   selfu   exc_typeu	   exc_valueu   exc_tb(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   __exit__   s    N(   u   __name__u
   __module__u	   __enter__u   __exit__(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   Context   s   
	u   Contextc             B   s_   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	 S(
   c             C   s[   y   Wn@ t  k
 o4 } z |  j d t |  k  WYd  d  } ~ Xn X|  j d  d  S(   Nu   No active exceptionu   No exception raised(   u   RuntimeErroru
   failUnlessu   stru   fail(   u   selfu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_invalid_reraise   s
    -c             C   s   yD y t     Wn0 t  k
 o$ } z | }   WYd  d  } ~ Xn XWn: t  k
 o. } z |  j | | k  WYd  d  } ~ Xn X|  j d  d  S(   Nu   No exception raised(   u
   IndexErroru
   failUnlessu   fail(   u   selfu   eu   exc1u   exc2(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_reraise#   s    'c             C   s   d   } |  j  t |  d  S(   Nc               S   sI   y t  d   Wn2 y t d   Wn t k
 o Yn X  Yn Xd  S(   Nu   foou   caught(   u	   TypeErroru   KeyError(    (    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   reraise0   s    (   u   assertRaisesu	   TypeError(   u   selfu   reraise(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_except_reraise/   s    		c             C   s   d   } |  j  t |  d  S(   Nc               S   s6   y t  d   Wn z t d   Wd    XYn Xd  S(   Nu   foou   caught(   u	   TypeErroru   KeyError(    (    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   reraise<   s    (   u   assertRaisesu   KeyError(   u   selfu   reraise(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_finally_reraise;   s    	c                s,   d       f d   } |  j  t |  d  S(   Nc               S   s     d  S(   N(    (    (    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   nested_reraiseG   s    c                  s&   y t  d   Wn     Yn Xd  S(   Nu   foo(   u	   TypeError(    (   u   nested_reraise(    u,   /mit/python/lib/python3.0/test/test_raise.pyu   reraiseI   s    (   u   assertRaisesu	   TypeError(   u   selfu   reraise(    (   u   nested_reraiseu,   /mit/python/lib/python3.0/test/test_raise.pyu   test_nested_reraiseF   s    	c             C   s   d   } |  j  t |  d  S(   Nc              S   sE   y t  d   Wn. t   j }  j   z Wd  |  ~  QX  Yn Xd  S(   Nu   foo(   u	   TypeErroru   Contextu   __exit__u	   __enter__(   u   _[1](    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   reraiseQ   s    (   u   assertRaisesu	   TypeError(   u   selfu   reraise(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_with_reraise1P   s    	c             C   s   d   } |  j  t |  d  S(   Nc              S   sQ   y t  d   Wn: t   j }  j   z t d   Wd  |  ~  QX  Yn Xd  S(   Nu   foou   caught(   u	   TypeErroru   Contextu   __exit__u	   __enter__u   KeyError(   u   _[1](    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   reraise[   s    (   u   assertRaisesu	   TypeError(   u   selfu   reraise(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_with_reraise2Z   s    	c                sR   d   } |     t     |  j t   f d    |  j t   f d    d  S(   Nc               s   s'   y t  d   Wn d V  Yn Xd  S(   Nu   fooi   (   u	   TypeError(    (    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   reraisee   s
    c                  s
   t     S(    (   u   next(    (   u   g(    u,   /mit/python/lib/python3.0/test/test_raise.pyu   <lambda>m   s    c                  s
   t     S(    (   u   next(    (   u   g(    u,   /mit/python/lib/python3.0/test/test_raise.pyu   <lambda>n   s    (   u   nextu   assertRaisesu	   TypeErroru   StopIteration(   u   selfu   reraise(    (   u   gu,   /mit/python/lib/python3.0/test/test_raise.pyu   test_yield_reraised   s
    		
c             C   sE   Gd   d t   } y
 |  Wn t k
 o Yn X|  j d  d  S(   Nc             B   s   |  Ee  Z d    Z d S(   c             S   s   t     d  S(   N(   u   RuntimeError(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   __init__r   s    N(   u   __name__u
   __module__u   __init__(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   MyExceptionq   s   
u   MyExceptionu   No exception raised(   u	   Exceptionu   RuntimeErroru   fail(   u   selfu   MyException(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_erroneous_exceptionp   s    
N(   u   __name__u
   __module__u   test_invalid_reraiseu   test_reraiseu   test_except_reraiseu   test_finally_reraiseu   test_nested_reraiseu   test_with_reraise1u   test_with_reraise2u   test_yield_reraiseu   test_erroneous_exception(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu	   TestRaise   s   
					
	
	
	u	   TestRaisec             B   s2   |  Ee  Z d    Z d   Z d   Z d   Z d S(   c             C   sa   y t  d  Wn@ t k
 o4 } z |  j d t |  k  WYd  d  } ~ Xn X|  j d  d  S(   Ni   u   exception causeu   No exception raised(   u
   IndexErroru	   TypeErroru
   failUnlessu   stru   fail(   u   selfu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_invalid_cause~   s
    -c             C   sa   y t  t  Wn@ t  k
 o4 } z |  j t | j t   WYd  d  } ~ Xn X|  j d  d  S(   Nu   No exception raised(   u
   IndexErroru   KeyErroru
   failUnlessu
   isinstanceu	   __cause__u   fail(   u   selfu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_class_cause   s
    -c             C   sg   t    } y t |  Wn= t k
 o1 } z |  j | j | k  WYd  d  } ~ Xn X|  j d  d  S(   Nu   No exception raised(   u   KeyErroru
   IndexErroru
   failUnlessu	   __cause__u   fail(   u   selfu   causeu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_instance_cause   s    	*c             C   sH   Gd   d t   } y t |  Wn t k
 o Yn X|  j d  d  S(   Nc             B   s   |  Ee  Z d    Z d S(   c             S   s   t     d  S(   N(   u   RuntimeError(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   __init__   s    N(   u   __name__u
   __module__u   __init__(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   MyException   s   
u   MyExceptionu   No exception raised(   u	   Exceptionu
   IndexErroru   RuntimeErroru   fail(   u   selfu   MyException(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_erroneous_cause   s    N(   u   __name__u
   __module__u   test_invalid_causeu   test_class_causeu   test_instance_causeu   test_erroneous_cause(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu	   TestCause}   s   
				u	   TestCausec             B   s    |  Ee  Z d    Z d   Z d S(   c             C   sd   y t     WnC t  k
 o7 } z! |  j t | j t j   WYd  d  } ~ Xn X|  j d  d  S(   Nu   No exception raised(   u
   IndexErroru
   failUnlessu
   isinstanceu   __traceback__u   typesu   TracebackTypeu   fail(   u   selfu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_sets_tracebackฅ   s
    0c             C   s   t    } y t   j |   WnP t k
 oD } z. |  j | j |  |  j | j j |  WYd  d  } ~ Xn X|  j d  d  S(   Nu   No exception raised(   u   get_tbu
   IndexErroru   with_tracebacku   assertNotEqualu   __traceback__u   assertEqualu   tb_nextu   fail(   u   selfu   tbu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_accepts_tracebackญ   s    	*N(   u   __name__u
   __module__u   test_sets_tracebacku   test_accepts_traceback(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   TestTracebackค   s   
	u   TestTracebackc             B   sz   |  Ee  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(   c             C   sy   t    } y" y
 |  Wn t    Yn XWn: t k
 o. } z |  j | j |  WYd  d  } ~ Xn X|  j d  d  S(   Nu   No exception raised(   u
   IndexErroru   OSErroru   assertEqualu   __context__u   fail(   u   selfu   contextu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu$   test_instance_context_instance_raiseน   s    	
'c             C   s   t  } y" y
 |  Wn t    Yn XWnS t k
 oG } z1 |  j | j |  |  j t | j |   WYd  d  } ~ Xn X|  j d  d  S(   Nu   No exception raised(   u
   IndexErroru   OSErroru   assertNotEqualu   __context__u
   failUnlessu
   isinstanceu   fail(   u   selfu   contextu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu!   test_class_context_instance_raiseล   s    
-c             C   s   t  } y y
 |  Wn t  Yn XWnS t k
 oG } z1 |  j | j |  |  j t | j |   WYd  d  } ~ Xn X|  j d  d  S(   Nu   No exception raised(   u
   IndexErroru   OSErroru   assertNotEqualu   __context__u
   failUnlessu
   isinstanceu   fail(   u   selfu   contextu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_class_context_class_raiseา   s    
-c             C   su   y! y d d Wn t   Yn XWn@ t  k
 o4 } z |  j t | j t   WYd  d  } ~ Xn X|  j d  d  S(   Ni   i    u   No exception raised(   u   OSErroru
   failUnlessu
   isinstanceu   __context__u   ZeroDivisionErroru   fail(   u   selfu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_c_exception_context฿   s    -c             C   ss   y y d d Wn t  Yn XWn@ t k
 o4 } z |  j t | j t   WYd  d  } ~ Xn X|  j d  d  S(   Ni   i    u   No exception raised(   u   xyzzyu	   NameErroru
   failUnlessu
   isinstanceu   __context__u   ZeroDivisionErroru   fail(   u   selfu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_c_exception_raise๊   s    -c             C   sc   y z Wd  t   XWn= t  k
 o1 } z |  j | j d  k  WYd  d  } ~ Xn X|  j d  d  S(   Nu   No exception raised(   u   OSErroru
   failUnlessu   __context__u   Noneu   fail(   u   selfu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_noraise_finally๕   s    *c             C   sn   y z d d Wd  t   XWn@ t  k
 o4 } z |  j t | j t   WYd  d  } ~ Xn X|  j d  d  S(   Ni   i    u   No exception raised(   u   OSErroru
   failUnlessu
   isinstanceu   __context__u   ZeroDivisionErroru   fail(   u   selfu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_raise_finally   s    -c             C   s   Gd   d  } y/ |   j  } j   z d d Wd  | ~ QXWn@ t k
 o4 } z |  j t | j t   WYd  d  } ~ Xn X|  j d  d  S(   Nc             B   s    |  Ee  Z d    Z d   Z d S(   c             S   s   d  S(   N(    (   u   self(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu	   __enter__  s    c             S   s   t  d  S(   N(   u   xyzzy(   u   selfu   tu   vu   tb(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   __exit__  s    N(   u   __name__u
   __module__u	   __enter__u   __exit__(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   ContextManager  s   
	u   ContextManageri   i    u   No exception raised(   u   __exit__u	   __enter__u	   NameErroru
   failUnlessu
   isinstanceu   __context__u   ZeroDivisionErroru   fail(   u   selfu   ContextManageru   _[1]u   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_context_manager  s    -c             C   s   y@ y d d Wn- t  k
 o! } z |  WYd  d  } ~ Xn XWnC t  k
 o7 } z! |  j | j d  k | j  WYd  d  } ~ Xn Xd  S(   Ni   i    (   u   ZeroDivisionErroru
   failUnlessu   __context__u   None(   u   selfu   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_cycle_broken  s    c             C   sฆ   y_ y t  WnP t k
 oD } z. y d d Wn t k
 o |  Yn XWYd  d  } ~ Xn XWn@ t k
 o4 } z |  j | j j d  k  WYd  d  } ~ Xn Xd  S(   Ni   i    (   u   xyzzyu	   NameErroru   ZeroDivisionErroru
   failUnlessu   __context__u   None(   u   selfu   au   e(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_reraise_cycle_broken#  s    $c                s&   d       f d   } |   d  S(   Nc               s   s   z	 d VWd  Xd  S(   Ni   (    (    (    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   gen3  s    	c                 s|      }  t  |   y" y
 t  Wn ~  t  Yn XWn@ t k
 o4 } z   j t | j t   WYd  d  } ~ Xn Xd  S(   N(   u   nextu
   ValueErroru   KeyErroru	   Exceptionu   assert_u
   isinstanceu   __context__(   u   gu   e(   u   selfu   gen(    u,   /mit/python/lib/python3.0/test/test_raise.pyu   f9  s    	

(    (   u   selfu   f(    (   u   selfu   genu,   /mit/python/lib/python3.0/test/test_raise.pyu	   test_31181  s    	c                sV   Gd   d      f d   } t  j d  j } j   z |   Wd  | ~ QXd  S(   Nc             B   s   |  Ee  Z d    Z d S(   c             S   s   y d d Wn   Yn Xd  S(   Ni   i    (    (   u   self(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   __del__K  s    N(   u   __name__u
   __module__u   __del__(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   CJ  s   
u   Cc                 s       }  y/ y |  j  Wn t k
 o ~  t  Yn XWnS t k
 oG } z1  j | j d    j t | j t   WYd  d  } ~ Xn Xd  S(   N(	   u   xu   AttributeErroru	   TypeErroru	   Exceptionu   assertNotEqualu   __context__u   Noneu   assert_u
   isinstance(   u   xu   e(   u   Cu   self(    u,   /mit/python/lib/python3.0/test/test_raise.pyu   fQ  s    	u   stderr(   u   supportu   captured_outputu   __exit__u	   __enter__(   u   selfu   fu   _[1](    (   u   selfu   Cu,   /mit/python/lib/python3.0/test/test_raise.pyu	   test_3611G  s    N(   u   __name__u
   __module__u$   test_instance_context_instance_raiseu!   test_class_context_instance_raiseu   test_class_context_class_raiseu   test_c_exception_contextu   test_c_exception_raiseu   test_noraise_finallyu   test_raise_finallyu   test_context_manageru   test_cycle_brokenu   test_reraise_cycle_brokenu	   test_3118u	   test_3611(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   TestContextธ   s   
									
		u   TestContextc             B   s    |  Ee  Z d    Z d   Z d S(   c             C   s8   y t  t f  Wn t k
 o Yn X|  j d  d  S(   Nu   No exception raised(   u
   IndexErroru   KeyErroru	   TypeErroru   fail(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_tuplesa  s
    c             C   s2   y
 d  Wn t  k
 o Yn X|  j d  d  S(   Nu   foou   No exception raised(   u	   TypeErroru   fail(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   test_stringsi  s
    
N(   u   __name__u
   __module__u   test_tuplesu   test_strings(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   TestRemovedFunctionality`  s   
	u   TestRemovedFunctionalityc               C   s   t  j t  d  S(   N(   u   supportu   run_unittestu   __name__(    (    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu	   test_mainr  s    u   __main__(   u   __doc__u   testu   supportu   sysu   typesu   unittestu   get_tbu   Contextu   TestCaseu	   TestRaiseu	   TestCauseu   TestTracebacku   TestContextu   TestRemovedFunctionalityu	   test_mainu   __name__u   main(    (    (    u,   /mit/python/lib/python3.0/test/test_raise.pyu   <module>   s   	c'จ	