Ñò
‘à"Ic           @   sÔ  d  d k  l Z d  d k Z d  d k Z d  d k Z d  d k Z d  d k Z d  d k l Z d  d k	 Z	 d  d k
 Z d e i d <e i d =d  d k
 Z e i d =e i d =d  d k
 Z e e i d <e d „  ƒ Z d e i f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d e e f d „  ƒ  YZ d e e f d „  ƒ  YZ d e i f d „  ƒ  YZ d e e f d „  ƒ  YZ d e e f d „  ƒ  YZ d e i f d „  ƒ  YZ d e e f d „  ƒ  YZ d e e f d „  ƒ  YZ d e f d „  ƒ  YZ d e i f d „  ƒ  YZ d  e e f d! „  ƒ  YZ d" e e f d# „  ƒ  YZ d$ e f d% „  ƒ  YZ  d& e  f d' „  ƒ  YZ! d( e  f d) „  ƒ  YZ" d* e f d+ „  ƒ  YZ# d, e# f d- „  ƒ  YZ$ d. e# f d/ „  ƒ  YZ% d0 „  Z& e' d1 j o e& ƒ  n d S(2   iÿÿÿÿ(   t   contextmanagerN(   t   test_supporti    t	   _warningst   warningsc         c   sŽ   x; t  t f D]- } y | i i ƒ  Wq t j
 o q Xq Wy t i ƒ  Wn t j
 o n Xt i } z |  t _ d VWd | t _ Xd S(   s8   Use a specific warnings implementation in warning_tests.N(   t   syst   warning_testst   __warningregistry__t   cleart   AttributeErrort	   NameErrorR   (   t   modulet   to_cleart   original_warnings(    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   warnings_state   s     				t   BaseTestc           B   s    e  Z d  Z d „  Z d „  Z RS(   s'   Basic bookkeeping required for testing.c         C   sy   d t  ƒ  j o t  ƒ  d =n t t d ƒ o
 t ` n t t d ƒ o
 t ` n |  i t i d <t t |  ƒ i	 ƒ  d  S(   NR   R   (
   t   globalst   hasattrR   R   R   R
   t   modulest   superR   t   setUp(   t   self(    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyR   3   s    

c         C   s$   t  t i d <t t |  ƒ i ƒ  d  S(   NR   (   R   R   R   R   R   t   tearDown(   R   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyR   A   s    (   t   __name__t
   __module__t   __doc__R   R   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyR   /   s   	t   FilterTestsc           B   s_   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   s$   Testing the filtering functionality.c         C   sr   t  i d |  i ƒ i i ƒ  } zI | ~ } |  i i ƒ  |  i i d d t ƒ|  i t |  i i	 d ƒ Wd  QXd  S(   NR
   t   errort   categorys   FilterTests.test_error(
   R   t   catch_warningsR
   t   __exit__t	   __enter__t   resetwarningst   filterwarningst   UserWarningt   assertRaisest   warn(   R   t   _[1]t   w(    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt
   test_errorJ   s
    ,c         C   sˆ   t  i d t d |  i ƒ i i ƒ  } zY | ~ } |  i i ƒ  |  i i d d t ƒ|  i i	 d t ƒ |  i
 t | ƒ d ƒ Wd  QXd  S(   Nt   recordR
   t   ignoreR   s   FilterTests.test_ignorei    (   R   R   t   TrueR
   R   R   R   R    R!   R#   t   assertEqualst   len(   R   R$   R%   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_ignoreQ   s    #c         C   s¹   t  i d t d |  i ƒ i i ƒ  } zŠ | ~ } |  i i ƒ  |  i i d d t ƒd } |  i i	 | t ƒ |  i
 | | d i ƒ |  i i	 | t ƒ |  i
 | d i | ƒ Wd  QXd  S(   NR'   R
   t   alwaysR   s   FilterTests.test_alwaysiÿÿÿÿ(   R   R   R)   R
   R   R   R   R    R!   R#   t   assert_t   message(   R   R$   R%   R/   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_alwaysY   s    #c         C   sô   t  i d t d |  i ƒ i i ƒ  } zÅ | ~ } |  i i ƒ  |  i i d d t ƒt d ƒ } x† t	 d ƒ D]x } |  i i
 | t ƒ | d j o |  i | d i | ƒ | 2qn | d	 j o |  i t | ƒ d ƒ qn t d
 ƒ ‚ qn WWd  QXd  S(   NR'   R
   t   defaultR   s   FilterTests.test_defaulti   i    iÿÿÿÿi   s   loop variant unhandled(   R   R   R)   R
   R   R   R   R    R!   t   xrangeR#   R*   R/   R+   t
   ValueError(   R   R$   R%   R/   t   x(    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_defaultd   s    # c         C   sÂ   t  i d t d |  i ƒ i i ƒ  } z“ | ~ } |  i i ƒ  |  i i d d t ƒt d ƒ } |  i i	 | t ƒ |  i
 | d i | ƒ | 2|  i i	 | t ƒ |  i
 t | ƒ d ƒ Wd  QXd  S(   NR'   R
   R   s   FilterTests.test_moduleiÿÿÿÿi    (   R   R   R)   R
   R   R   R   R    R!   R#   R*   R/   R+   (   R   R$   R%   R/   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_modulet   s    #c      	   C   sý   t  i d t d |  i ƒ i i ƒ  } zÎ | ~ } |  i i ƒ  |  i i d d t ƒt d ƒ } |  i i	 | t d d ƒ |  i
 | d i | ƒ | 2|  i i	 | t d d	 ƒ |  i
 t | ƒ d
 ƒ |  i i	 | t d d ƒ |  i
 t | ƒ d
 ƒ Wd  QXd  S(   NR'   R
   t   onceR   s   FilterTests.test_onces   test_warnings.pyi*   iÿÿÿÿi   i    s   test_warnings2.py(   R   R   R)   R
   R   R   R   R    R!   t   warn_explicitR*   R/   R+   (   R   R$   R%   R/   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt	   test_once€   s    #c      	   C   su   t  i d |  i ƒ i i ƒ  } zL | ~ } |  i i ƒ  |  i i d d t ƒ|  i t	 |  i i
 d t	 ƒ Wd  QXd  S(   NR
   R   R   s   FilterTests.test_inheritance(   R   R   R
   R   R   R   R    t   WarningR"   R!   R#   (   R   R$   R%   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_inheritance‘   s
    ,c      
   C   sÏ   t  i d t d |  i ƒ i i ƒ  } z  | ~ } |  i i ƒ  |  i i d d t ƒ|  i i d d t d t ƒ| 2y |  i i	 d t ƒ Wn  t j
 o |  i
 d ƒ n X|  i t | ƒ d	 ƒ Wd  QXd  S(
   NR'   R
   R(   R   R   t   appends   FilterTests.test_orderings!   order handling for actions failedi    (   R   R   R)   R
   R   R   R   R    R!   R#   t   failR*   R+   (   R   R$   R%   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_ordering˜   s    #c      
   C   s©  t  i d t d |  i ƒ i i ƒ  } zz| ~ } |  i i d d t d d ƒ |  i t	 |  i i
 d ƒ |  i i ƒ  d } |  i i
 | ƒ |  i t | d i ƒ | ƒ |  i | d i t	 j ƒ |  i i d	 d t d d ƒ d
 } |  i i
 | ƒ |  i t | d i ƒ | ƒ |  i i ƒ  |  i i d d t d d ƒ |  i t	 |  i i
 d ƒ d } |  i i
 | ƒ |  i t | d i ƒ | ƒ |  i | d i t	 j ƒ Wd  QXd  S(   NR'   R
   R   t    i    s   convert to errors   handle normallyiÿÿÿÿR(   s   filtered outs   hex*s   hex/octs   nonmatching text(   R   R   R)   R
   R   R   R    R:   R"   R!   R#   R   t   assertEqualt   strR/   R.   R   t   assertNotEqual(   R   R$   R%   t   text(    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_filterwarnings¦   s(    #(   R   R   R   R&   R,   R0   R5   R6   R9   R;   R>   RD   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyR   F   s   								t   CFilterTestsc           B   s   e  Z e Z RS(    (   R   R   t
   c_warningsR
   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRE   Á   s   t   PyFilterTestsc           B   s   e  Z e Z RS(    (   R   R   t   py_warningsR
   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRG   Ä   s   t	   WarnTestsc           B   sV   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   s2   Test warnings.warn() and warnings.warn_explicit().c      	   C   s¤   t  i d t d |  i ƒ i i ƒ  } zu | ~ } xe t d ƒ D]W } d | } |  i i | ƒ |  i t	 | d i
 ƒ | ƒ |  i | d i t j ƒ q? WWd  QXd  S(   NR'   R
   i   s   multi %diÿÿÿÿ(   R   R   R)   R
   R   R   t   rangeR#   R@   RA   R/   R.   R   R!   (   R   R$   R%   t   iRC   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_messageÌ   s    # 
c         C   s½   t  |  i ƒ i i ƒ  zœ t i d t d |  i ƒ i i ƒ  } zm | ~ } t i d ƒ |  i	 t
 i i | d i ƒ d ƒ t i d ƒ |  i	 t
 i i | d i ƒ d ƒ Wd  QXWd  QXd  S(   NR'   R
   t   spam1iÿÿÿÿs   warning_tests.pyt   spam2(   R   R
   R   R   R   R   R)   R   t   innerR@   t   ost   patht   basenamet   filenamet   outer(   R   R$   R%   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_filenameÕ   s    #c         C   s¡  t  |  i ƒ i i ƒ  z€t i d t d |  i ƒ i i ƒ  } zQ| ~ } t i d d d ƒ|  i	 t
 i i | d i ƒ d ƒ t i d d d ƒ|  i	 t
 i i | d i ƒ d ƒ t i d	 d d
 ƒ|  i	 t
 i i | d i ƒ d ƒ t i d d d
 ƒ|  i	 t
 i i | d i ƒ d ƒ t i d d d ƒ|  i	 t
 i i | d i ƒ d ƒ t i d d d ƒ|  i	 t
 i i | d i ƒ d ƒ Wd  QXWd  QXd  S(   NR'   R
   t   spam3t
   stackleveli   iÿÿÿÿs   warning_tests.pyt   spam4t   spam5i   s   test_warnings.pyt   spam6s   spam6.5i   t   spam7i'  R   (   R   R
   R   R   R   R   R)   R   RO   R@   RP   RQ   RR   RS   RT   (   R   R$   R%   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_stacklevelà   s*    #c         C   sª   t  i } z t  ` t |  i ƒ i i ƒ  zi t i d t d |  i ƒ i i ƒ  } z: | ~ } t  i	 d d d ƒ|  i
 | d i t  i ƒ Wd  QXWd  QXWd  | t  _ Xd  S(   NR'   R
   t   spam8RW   i   iÿÿÿÿ(   R   t   __file__R   R
   R   R   R   R   R)   RO   R@   RS   R   (   R   RS   R$   R%   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_missing_filename_not_mainû   s    	#*c         C   sÞ   t  t d ƒ p d  St i } t i } z t ` d t _ t |  i ƒ i i ƒ  zm t	 i
 d t d |  i ƒ i i ƒ  } z> | ~ } t i d d d ƒ|  i | d i t i d	 ƒ Wd  QXWd  QXWd  | t _ | t _ Xd  S(
   Nt   argvt   __main__R'   R
   t   spam9RW   i   iÿÿÿÿi    (   R   R   R   R^   R   R   R
   R   R   R   R   R)   RO   R@   RS   R`   (   R   RS   t   module_nameR$   R%   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt$   test_missing_filename_main_with_argv	  s    			#.	c         C   sÚ   t  i } t  i } t i } zœ t  ` d t  _ t ` t |  i ƒ i i ƒ  zf t	 i
 d t d |  i ƒ i i ƒ  } z7 | ~ } t  i d d d ƒ|  i | d i d ƒ Wd  QXWd  QXWd  | t  _ | t  _ | t _ Xd  S(   NRa   R'   R
   t   spam10RW   i   iÿÿÿÿ(   R   R^   R   R   R`   R   R
   R   R   R   R   R)   RO   R@   RS   (   R   RS   Rc   R`   R$   R%   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt'   test_missing_filename_main_without_argv  s    				#'		c         C   sà   t  i } t  i } t i } z¢ t  ` d t  _ d g t _ t |  i ƒ i i ƒ  zf t	 i
 d t d |  i ƒ i i ƒ  } z7 | ~ } t  i d d d ƒ|  i | d i d ƒ Wd  QXWd  QXWd  | t  _ | t  _ | t _ Xd  S(	   NRa   R?   R'   R
   t   spam11RW   i   iÿÿÿÿ(   R   R^   R   R   R`   R   R
   R   R   R   R   R)   RO   R@   RS   (   R   t	   file_nameRc   R`   R$   R%   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt1   test_missing_filename_main_with_argv_empty_string0  s    				#'		c      	   C   sv   |  i  t |  i i d  t d  d  ƒ |  i  t |  i i d  d  d  d ƒ |  i  t t f |  i i d  t d  d d d ƒd  S(   Ni   t   registryi*   (   R"   t	   TypeErrorR
   R8   t   NoneR!   R   R:   (   R   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_warn_explicit_type_errorsE  s    	(   R   R   R   RL   RU   R\   R_   Rd   Rf   Ri   Rm   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRI   È   s   								t
   CWarnTestsc           B   s   e  Z e Z RS(    (   R   R   RF   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRn   U  s   t   PyWarnTestsc           B   s   e  Z e Z RS(    (   R   R   RH   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRo   X  s   t   WCmdLineTestsc           B   s   e  Z d  „  Z RS(   c         C   s±   t  i d |  i ƒ i i ƒ  zŠ |  i |  i i |  i i d ƒ |  i |  i i |  i i d ƒ |  i |  i i |  i i d ƒ |  i i d ƒ |  i t |  i i	 d ƒ Wd  QXd  S(   NR
   s   1:2:3:4:5:6s   bogus::Warnings   ignore:2::4:-5s   error::Warning::0s   convert to error(
   R   R   R
   R   R   R"   t   _OptionErrort
   _setoptionR!   R#   (   R   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_improper_input^  s    !(   R   R   Rs   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRp   \  s   t   CWCmdLineTestsc           B   s   e  Z e Z RS(    (   R   R   RF   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRt   k  s   t   PyWCmdLineTestsc           B   s   e  Z e Z RS(    (   R   R   RH   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRu   n  s   t   _WarningsTestsc           B   sA   e  Z d  Z e Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   s'   Tests specific to the _warnings module.c      
   C   s   t  i d |  i ƒ i i ƒ  } zd | ~ } |  i i d d t d d ƒ |  i t |  i i	 d ƒ |  i `
 |  i t |  i i	 d ƒ Wd  QXd  S(   NR
   R   R?   i    s   convert to error(   R   R   R
   R   R   R    R:   R"   R!   R#   t   filters(   R   R$   R%   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_filterx  s    ,	c         C   su  t  d ƒ } zU|  i i } h  a t i d t d |  i ƒ i i ƒ  } z| ~ } |  i i	 ƒ  |  i i
 d d t  ƒ|  i i | t  d d ƒ |  i | d i | ƒ | 2|  i i | t  d d ƒ |  i t | ƒ d	 ƒ h  |  i _ h  a |  i i d ƒ |  i | d i i | i ƒ | 2|  i ` h  a |  i i | t  d d ƒ |  i t | ƒ d	 ƒ Wd  QXWd  | |  i _ Xd  S(
   Ns   onceregistry testR'   R
   R7   R   t   filei*   iÿÿÿÿi    (   R!   R
   t   onceregistryR   R   R   R)   R   R   R   R    R8   t   failUnlessEqualR/   R*   R+   R#   t   args(   R   R/   t   original_registryR$   R%   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_onceregistry‚  s.    #	 c      
   C   s«   d } t  i d |  i ƒ i i ƒ  zk |  i i d d t ƒ|  i ` t i	 d ƒ i i ƒ  } z) | ~ } |  i i
 | ƒ | i ƒ  } Wd  QXWd  QX|  i | | j ƒ d  S(   Ns   del showwarning testR
   R-   R   t   stderr(   R   R   R
   R   R   R    R!   t   showwarningR   t   captured_outputR#   t   getvaluet
   failUnless(   R   RC   R$   t   streamt   result(    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_showwarning_missing   s    !	&c         C   sl   |  i  i d d t ƒ|  i  i } d |  i  _ z |  i t |  i  i d ƒ Wd  | |  i  _ |  i  i ƒ  Xd  S(   NR-   R   i   s   Warning!(   R
   R    R!   R€   R"   Rk   R#   R   (   R   t   old_showwarning(    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_showwarning_not_callable«  s    c         C   s“  d } t  i d |  i ƒ i i ƒ  zh |  i i d d t ƒ|  i ` t i	 d ƒ i i ƒ  } z& | ~ } t
 i | ƒ | i ƒ  } Wd  QXWd  QX|  i | i d ƒ d d | ƒ | i d d	 ƒ \ } } t i i t
 i ƒ d
 d } | i d d ƒ } | \ }	 }
 } } t |
 ƒ }
 |  i | |	 ƒ |  i | d t i ƒ |  i | d | ƒ d t i |	 |
 ƒ i ƒ  d } | p t ‚ |  i | | ƒ d  S(   Ns   test show_warningR
   R-   R   R   s   
i   s   Too many newlines in %ri   i    s   .pyt   :i   t    s     (   R   R   R
   R   R   R    R!   R€   R   R   R   RO   R‚   R{   t   countt   splitRP   RQ   t   splitextR^   t   rsplitt   intR   t	   linecachet   getlinet   stript   AssertionError(   R   RC   R$   R„   R…   t
   first_linet   second_linet   expected_filet   first_line_partsRQ   t   linet   warning_classR/   t   expected_line(    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_show_warning_outputµ  s(    !	& (
   R   R   R   RF   R
   Rx   R~   R†   Rˆ   R›   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRv   r  s   	
			
t   WarningsDisplayTestsc           B   s    e  Z d  Z d „  Z d „  Z RS(   si   Test the displaying of warnings and the ability to overload functions
    related to displaying warnings.c         C   sà   d } t  } t i i t i ƒ d d } d } t i | | ƒ i ƒ  } d } | | | | i	 | | f } |  i
 | |  i i | | | | ƒ ƒ | d 7} | | | | i	 | | f } |  i
 | |  i i | | | | | ƒ ƒ d  S(   Nt   msgi    s   .pyi   s   %s:%s: %s: %s
  %s
s    for the win!(   R:   RP   RQ   R   R   R^   R   R‘   R’   R   R{   R
   t   formatwarning(   R   R/   R   Rh   t   line_numt	   file_linet   formatt   expect(    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_formatwarningÒ  s    


c         C   s  t  i i t i ƒ d d } d } t i | | ƒ i ƒ  } d } t } t	 i	 ƒ  } |  i
 i | | | | ƒ } |  i
 i | | | | | ƒ |  i | i ƒ  | ƒ | d 7} |  i
 i | | | | | ƒ } t	 i	 ƒ  } |  i
 i | | | | | | ƒ |  i | | i ƒ  ƒ d  S(   Ni    s   .pyi   R   s   for the win!(   RP   RQ   R   R   R^   R   R‘   R’   R:   t   StringIOR
   Rž   R€   R{   R‚   (   R   Rh   RŸ   t   expected_file_lineR/   R   t   file_objectR¢   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_showwarningä  s$    	

(   R   R   R   R£   R§   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRœ   Í  s   	t   CWarningsDisplayTestsc           B   s   e  Z e Z RS(    (   R   R   RF   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyR¨   ù  s   t   PyWarningsDisplayTestsc           B   s   e  Z e Z RS(    (   R   R   RH   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyR©   ü  s   t   CatchWarningTestsc           B   s;   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s   Test catch_warnings().c      
   C   sñ   |  i  } | i } | i } | i d | d t ƒ i i ƒ  z t ƒ  | _ | _ Wd  QX|  i | i | j ƒ |  i | i | j ƒ | i d | d t	 ƒ i i ƒ  z t ƒ  | _ | _ Wd  QX|  i | i | j ƒ |  i | i | j ƒ d  S(   NR
   R'   (
   R
   Rw   R€   R   R)   R   R   t   objectR.   t   False(   R   t   wmodt   orig_filterst   orig_showwarning(    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_catch_warnings_restore  s    			$$c      
   C   s  |  i  } | i d | d t ƒ i i ƒ  } zå | ~ } |  i | g  ƒ |  i t | ƒ t j ƒ | i	 d ƒ | i
 d ƒ |  i t | d i ƒ d ƒ | i
 d ƒ |  i t | d i ƒ d ƒ |  i t | d i ƒ d ƒ |  i t | d i ƒ d ƒ | 2|  i | g  ƒ Wd  QX| i } | i d | d t ƒ i i ƒ  } z6 | ~ } |  i | d  j ƒ |  i | i | j ƒ Wd  QXd  S(	   NR
   R'   R-   t   fooiÿÿÿÿt   bari    i   (   R
   R   R)   R   R   R@   R.   t   typet   listt   simplefilterR#   RA   R/   R€   R¬   Rl   (   R   R­   R$   R%   R¯   t   _[2](    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_catch_warnings_recording  s"    	/	/c      
   C   s¹   |  i  } | i d | d t ƒ } |  i t | i ƒ | i i ƒ  z |  i t | i ƒ Wd  QX| i d | d t ƒ } |  i t | i ƒ | i i ƒ  z |  i t | i ƒ Wd  QXd  S(   NR
   R'   (   R
   R   R)   R"   t   RuntimeErrorR   R   R¬   (   R   R­   R4   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt!   test_catch_warnings_reentry_guard(  s    	c      
   C   s9  |  i  } | i } | i } | i d | ƒ i i ƒ  } zL | ~ } |  i | d  j ƒ |  i | i | j ƒ |  i | i | j	 ƒ Wd  QX|  i | i | j ƒ | t i	 d j o‚ | i ƒ  i i ƒ  } zL | ~ } |  i | d  j ƒ |  i | i | j ƒ |  i | i | j	 ƒ Wd  QX|  i | i | j ƒ n d  S(   NR
   R   (
   R
   Rw   R€   R   R   R   R.   Rl   R   R   (   R   R­   R®   R¯   R$   R%   R¶   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_catch_warnings_defaults5  s    			)#c         C   s  |  i  } | t i d j oö t i ƒ  i i ƒ  } zÖ | ~ } |  i | i g  ƒ | i	 d ƒ | i
 d ƒ |  i t | i ƒ d ƒ | i
 d ƒ |  i t | i ƒ d ƒ |  i t | i d i ƒ d ƒ |  i t | i d i ƒ d ƒ | i ƒ  |  i | i g  ƒ Wd  QXn d  S(   NR   R-   R±   R²   i    i   (   R
   R   R   R   t   check_warningsR   R   R@   R   Rµ   R#   RA   R/   t   reset(   R   R­   R$   R%   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_check_warningsG  s    	#  
(   R   R   R   R°   R·   R¹   Rº   R½   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRª      s   				t   CCatchWarningTestsc           B   s   e  Z e Z RS(    (   R   R   RF   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyR¾   Y  s   t   PyCatchWarningTestsc           B   s   e  Z e Z RS(    (   R   R   RH   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyR¿   \  s   t   ShowwarningDeprecationTestsc           B   s8   e  Z d  Z e d d „ ƒ Z e d „  ƒ Z d „  Z RS(   sA   Test the deprecation of the old warnings.showwarning() API works.c         C   s   d  S(   N(    (   R/   R   RS   t   linenoRy   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   bad_showwarningd  s    c          G   s   d  S(   N(    (   R|   (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   ok_showwarningh  s    c      	   C   sÃ   d t  d d f } t i d |  i ƒ i i ƒ  zŠ |  i i d d t ƒ|  i |  i _	 |  i
 t |  i i | Œ |  i |  i _	 y |  i i | Œ  Wn" t j
 o } |  i d ƒ n XWd  QXd  S(   NR/   s	   file namei*   R
   R   R   s:   showwarning(*args) should not trigger a DeprecationWarning(   R!   R   R   R
   R   R   R    t   DeprecationWarningRÂ   R€   R"   R8   RÃ   R=   (   R   R|   t   exc(    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   test_deprecationl  s    !N(   R   R   R   t   staticmethodRl   RÂ   RÃ   RÆ   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRÀ   `  s
   t   CShowwarningDeprecationTestsc           B   s   e  Z e Z RS(    (   R   R   RF   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRÈ   {  s   t   PyShowwarningDeprecationTestsc           B   s   e  Z e Z RS(    (   R   R   RH   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyRÉ     s   c           C   sO   t  i i ƒ  t i i ƒ  t i t t t t	 t
 t t t t t t t t ƒ d  S(   N(   RH   Rz   R   RF   R   t   run_unittestRE   RG   Rn   Ro   Rt   Ru   Rv   R¨   R©   R¾   R¿   RÈ   RÉ   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt	   test_mainƒ  s    Ra   ((   t
   contextlibR    R   RP   R¤   R   t   unittestt   testR   R   R   R   R   RH   RF   R   t   TestCaseR   R«   R   RE   RG   RI   Rn   Ro   Rp   Rt   Ru   Rv   Rœ   R¨   R©   Rª   R¾   R¿   RÀ   RÈ   RÉ   RË   R   (    (    (    s/   /mit/python/lib/python2.6/test/test_warnings.pyt   <module>   sN   


{[,Y	