;
Ìâ"Ic            
   @   s¡   d  d l  Z  d  d l Z d  d l Z d  d l m Z d  d l Z d  d l m Z Gd „  d e  j	 ƒ Z
 Gd „  d e  j	 ƒ Z d „  Z e d	 k o e ƒ  n d S(
   i    N(   u   run_unittest(   u   systemc             B   sY   |  Ee  Z d  Z d „  Z d „  Z d „  Z d Z d „  Z d	 „  Z d
 „  Z	 d „  Z
 d S(   u]   Tests for anything relating to exception objects themselves (e.g.,
    inheritance hierarchy)c             C   s   |  j  t t t ƒ ƒ d  S(   N(   u
   failUnlessu
   issubclassu	   Exceptionu   object(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   test_builtins_new_style   s    c             C   s>   x7 d D]/ } |  j  t | | ƒ d | j j | f ƒ q Wd  S(   Nu   argsu   __str__u   __repr__u   %s missing %s attribute(   u   argsu   __str__u   __repr__(   u
   failUnlessu   hasattru	   __class__u   __name__(   u   selfu   insu   attr(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   verify_instance_interface   s
     c             C   sG  t  ƒ  } xV t j j ƒ  D]E } y( t | t ƒ o | j | j ƒ n Wq t k
 o Yq Xq Wt	 t
 j j t
 j j t ƒ d d ƒ ƒ } z‹| j ƒ  j ƒ  } y t t | ƒ } Wn% t k
 o |  j d | ƒ Yn X|  j | | k d | ƒ | j | ƒ g  } d } x| D]ü} | j ƒ  } | j d ƒ }	 | |	 d d  … }
 d |
 k o_ |
 j d ƒ } |
 | d d	 … } |
 d  | d … }
 t ƒ  | k o | j |
 ƒ qq¸n d
 |
 k o' |
 j d
 ƒ } |
 d  | d … }
 n y t t |
 ƒ } Wn% t k
 o |  j d |
 ƒ Yn X| |	 k  o | j | | f ƒ n9 | |	 k o+ x( | d	 d |	 k o | j ƒ  q[Wn |  j t | | d	 d ƒ d | j | d	 d j f ƒ y |  j | ƒ  ƒ Wn t k
 o Yn X|  j |
 | k ƒ | j |
 ƒ | } |	 } qWWd  | j ƒ  X|  j t | ƒ d d | ƒ d  S(   Ni    u   exception_hierarchy.txtu   base class %s not a built-inu   %s not foundu   -i   u   (i   iÿÿÿÿu   [u   %s not a built-in exceptionu   %s is not a subclass of %su   %s not accounted for(   u   setu   builtinsu   __dict__u   valuesu
   issubclassu   BaseExceptionu   addu   __name__u	   TypeErroru   openu   osu   pathu   joinu   splitu   __file__u   readlineu   rstripu   getattru   AttributeErroru   failu
   failUnlessu   discardu   rindexu   indexu   platform_systemu   appendu   popu   verify_instance_interfaceu   closeu   failUnlessEqualu   len(   u   selfu   exc_setu   object_u   inheritance_treeu   superclass_nameu   last_excu   superclassesu
   last_depthu   exc_lineu   depthu   exc_nameu   paren_indexu   platform_nameu   left_bracketu   exc(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   test_inheritance   sv    	 
  	u   lengthu   argsu   stru   reprc             C   sM   xF t  |  j | ƒ D]2 \ } \ } } |  j | | d | | | f ƒ q Wd  S(   Nu   %s: %s != %s(   u   zipu   interface_testsu   failUnlessEqual(   u   selfu   resultsu	   test_nameu   givenu   expected(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   interface_test_driverV   s     c             C   s‚   d } t  | ƒ } t | j ƒ d g | j d | g t | ƒ t | ƒ g t | ƒ | j j t | j ƒ g f } |  j | ƒ d  S(   Nu   spami   i    (   u	   Exceptionu   lenu   argsu   stru   repru	   __class__u   __name__u   interface_test_driver(   u   selfu   argu   excu   results(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   test_interface_single_arg[   s    "(c             C   s   d } t  t | ƒ ƒ } t | Œ  } t | j ƒ | g | j | g t | ƒ t | ƒ g t | ƒ | j j t | j ƒ g f } |  j	 | ƒ d  S(   Ni   (
   u   tupleu   rangeu	   Exceptionu   lenu   argsu   stru   repru	   __class__u   __name__u   interface_test_driver(   u   selfu	   arg_countu   argsu   excu   results(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   test_interface_multi_argd   s    (c             C   si   t  ƒ  } t | j ƒ d g | j t ƒ  g t | ƒ d g t | ƒ | j j d g f } |  j | ƒ d  S(   Ni    u    u   ()(	   u	   Exceptionu   lenu   argsu   tupleu   stru   repru	   __class__u   __name__u   interface_test_driver(   u   selfu   excu   results(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   test_interface_no_argn   s
    	!N(   u   lengthu   argsu   stru   repr(   u   __name__u
   __module__u   __doc__u   test_builtins_new_styleu   verify_instance_interfaceu   test_inheritanceu   interface_testsu   interface_test_driveru   test_interface_single_argu   test_interface_multi_argu   test_interface_no_arg(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   ExceptionClassTests	   s   
			=				
u   ExceptionClassTestsc             B   sS   |  Ee  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d S(	   u   Test usage of exceptionsc          
   C   s@   y
 | ‚ Wn t  k
 o d SYn X|  j d t | ƒ ƒ d S(   u6   Make sure that raising 'object_' triggers a TypeError.Nu!   TypeError expected for raising %s(   u	   TypeErroru   failu   type(   u   selfu   object_(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   raise_failsz   s
    

c             C   s×   y% y
 t  ‚ Wn | k
 o Yn XWn> t k
 o Yn, t  k
 o |  j d t | ƒ ƒ Yn Xy( y
 t  ‚ Wn | f k
 o Yn XWnB t k
 o d SYn, t  k
 o |  j d t | ƒ ƒ Yn Xd S(   u,   Catching 'object_' should raise a TypeError.u#   TypeError expected when catching %sNu;   TypeError expected when catching %s as specified in a tuple(   u	   Exceptionu	   TypeErroru   failu   type(   u   selfu   object_(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   catch_fails‚   s&    



		c             C   s4   Gd „  d t  ƒ } |  j | ƒ |  j | ƒ  ƒ d  S(   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   NewStyleClassž   s   
u   NewStyleClass(   u   objectu   raise_fails(   u   selfu   NewStyleClass(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu"   test_raise_new_style_non_exception™   s    c             C   s   |  j  d ƒ d  S(   Nu   spam(   u   raise_fails(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   test_raise_string£   s    c             C   s4   Gd „  d t  ƒ } |  j | ƒ |  j | ƒ  ƒ d  S(   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   NonBaseExceptionª   s   
u   NonBaseException(   u   objectu   catch_fails(   u   selfu   NonBaseException(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   test_catch_non_BaseException§   s    c             C   s   |  j  t ƒ  ƒ d  S(   N(   u   catch_failsu   BaseException(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu!   test_catch_BaseException_instance¯   s    c             C   s   |  j  d ƒ d  S(   Nu   spam(   u   catch_fails(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   test_catch_string³   s    N(
   u   __name__u
   __module__u   __doc__u   raise_failsu   catch_failsu"   test_raise_new_style_non_exceptionu   test_raise_stringu   test_catch_non_BaseExceptionu!   test_catch_BaseException_instanceu   test_catch_string(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu
   UsageTestsv   s   
			
			u
   UsageTestsc               C   s   t  t t ƒ d  S(   N(   u   run_unittestu   ExceptionClassTestsu
   UsageTests(    (    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu	   test_main·   s    u   __main__(   u   unittestu   builtinsu   warningsu   test.supportu   run_unittestu   osu   platformu   systemu   platform_systemu   TestCaseu   ExceptionClassTestsu
   UsageTestsu	   test_mainu   __name__(    (    (    u-   /mit/python/lib/python3.0/test/test_pep352.pyu   <module>   s   mA	