;
Ëâ"Ic            	   @   są   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l m Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z Gd	   d
 e j  Z d   Z e d k o e   n d S(   i    N(   u   supportc               C   s   t  d  d  S(   Nu   h1(   u   print(    (    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   h1   s    c               C   s   t  d  d  S(   Nu   h2(   u   print(    (    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   h2   s    c               C   s   t  d  d  S(   Nu   h3(   u   print(    (    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   h3   s    c              O   s   t  d |  |  d  S(   Nu   h4(   u   print(   u   argsu   kwargs(    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   h4   s    c               C   s
   t   d  S(   N(   u	   TypeError(    (    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   raise1   s    c               C   s
   t   d  S(   N(   u   SystemError(    (    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   raise2   s    c             B   sh   |  Ee  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   sI   t  j   |  _ t j t j |  _ |  _ |  j t _ t _ t j	   d  S(   N(
   u   iou   StringIOu   streamu   sysu   stderru   stdoutu   save_stdoutu   save_stderru   atexitu   _clear(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   setUp   s    c             C   s&   |  j  t _ |  j t _ t j   d  S(   N(   u   save_stdoutu   sysu   stdoutu   save_stderru   stderru   atexitu   _clear(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   tearDown!   s    c             C   sW   t  j t  t  j t  t  j t d d d t  j   |  j |  j j   d  d  S(   Ni   u   kwu   abcu"   h4 (4,) {'kw': 'abc'}
h4 () {}
h1
(   u   atexitu   registeru   h1u   h4u   _run_exitfuncsu   assertEqualu   streamu   getvalue(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu	   test_args&   s    
c             C   s@   t  j d   d d d   d D d d  |  j t t  j  d  S(   Nc               S   s   d  S(   i   (    (    (    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   <lambda>1   s    i    c             s   s   |  ] } | Vq d  S(   N(    (   u   .0u   x(    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu	   <genexpr>1   s    i   i   (   i   i   (   u   atexitu   registeru   assertRaisesu	   TypeErroru   _run_exitfuncs(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   test_badargs0   s    )c             C   sN   t  j t  t  j t  t  j t  t  j   |  j |  j j   d  d  S(   Nu	   h3
h2
h1
(	   u   atexitu   registeru   h1u   h2u   h3u   _run_exitfuncsu   assertEqualu   streamu   getvalue(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu
   test_order4   s
    
c             C   s1   t  j t  t  j t  |  j t t  j  d  S(   N(   u   atexitu   registeru   raise1u   raise2u   assertRaisesu	   TypeErroru   _run_exitfuncs(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu
   test_raise=   s    c                s^   d g     f d   } x! t  d  D] } t j |  q% Wt j   |  j   d d  d  S(   Ni    c                  s     d c d 7<d  S(   Ni    i   (    (    (   u   a(    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   incF   s    i   (   u   rangeu   atexitu   registeru   _run_exitfuncsu   assertEqual(   u   selfu   incu   i(    (   u   au-   /mit/python/lib/python3.0/test/test_atexit.pyu   test_stressD   s    	 
c                sQ   d g     f d   } t  j |  t  j   t  j   |  j   d d  d  S(   Ni    c                  s     d c d 7<d  S(   Ni    i   (    (    (   u   a(    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   incQ   s    (   u   atexitu   registeru   _clearu   _run_exitfuncsu   assertEqual(   u   selfu   inc(    (   u   au-   /mit/python/lib/python3.0/test/test_atexit.pyu
   test_clearO   s    	

c                s   d g     f d   }   f d   } x! t  d  D] } t j |  q4 Wt j |  t j |  t j   |  j   d d  d  S(   Ni    c                  s     d c d 7<d  S(   Ni    i   (    (    (   u   a(    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   inc\   s    c                  s     d c d 8<d  S(   Ni    i   (    (    (   u   a(    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   dec^   s    i   iĸĸĸĸ(   u   rangeu   atexitu   registeru
   unregisteru   _run_exitfuncsu   assertEqual(   u   selfu   incu   decu   i(    (   u   au-   /mit/python/lib/python3.0/test/test_atexit.pyu   test_unregisterZ   s    	 
c             C   sg   g  } t  j | j d  t  j   |  j | d g  t  j | j  t  j   |  j | d g  d  S(   Ni   (   u   atexitu   registeru   appendu   _run_exitfuncsu   assertEqualu
   unregister(   u   selfu   l(    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   test_bound_methodsi   s    

N(   u   __name__u
   __module__u   setUpu   tearDownu	   test_argsu   test_badargsu
   test_orderu
   test_raiseu   test_stressu
   test_clearu   test_unregisteru   test_bound_methods(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   TestCase   s   
			
							u   TestCasec               C   s   t  j t  d  S(   N(   u   supportu   run_unittestu   TestCase(    (    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu	   test_maint   s    u   __main__(   u   sysu   unittestu   iou   atexitu   testu   supportu   h1u   h2u   h3u   h4u   raise1u   raise2u   TestCaseu	   test_mainu   __name__(    (    (    u-   /mit/python/lib/python3.0/test/test_atexit.pyu   <module>   s   						Z	