mς
­fIc           @   s   d  k  Z  d  k Z d  k Z d k l Z d f  d     YZ d  d  Z d e i f d     YZ	 d  d  Z
 e d j o e
 d	 e  n d  S(
   N(   s   test_supportt   WarningMessagec           B   s   t  Z d  Z RS(   s*   Holds results of latest showwarning() call(   t   __name__t
   __module__t   __doc__(    (    (    t/   /mit/python/lib/python2.4/test/test_warnings.pyR       s   c         C   s=   t  |   t _ | i t _ t i i |  t _ | t _	 d  S(   N(
   t   strt   messaget   msgt   categoryR   t   ost   patht   basenamet   filenamet   lineno(   R   R   R   R   t   file(    (    R   t   showwarning   s    t
   TestModulec           B   s5   t  Z d   Z d   Z d   Z d   Z d   Z RS(   Nc         C   s   t    a t i |  _ t i |  _ t t _ g  } |  i D]K } | d d j o4 | d d  j o# | d d  j o | | d i q9 q9 ~ |  _ d  S(   Ni    t   ignorei   i   i   (   R    R   t   warningst   filterst   selft   _filtersR   t   _showwarningt   _[1]t   wt   NoneR   t   ignored(   R   R   R   (    (    R   t   setUp   s     		c         C   s   |  i t _ |  i t _ d  S(   N(   R   R   R   R   R   R   (   R   (    (    R   t   tearDown"   s    c         C   sX   xQ t  d  D]C } d | } t i |  |  i t i |  |  i t i	 d  q Wd  S(   Ni   s   multi %dt   UserWarning(
   t   ranget   it   textR   t   warnR   t   assertEqualR   R   R   (   R   R   R    (    (    R   t   test_warn_default_category&   s     
c         C   sΐ   d } x³ t t t t t t t t g D] } | i
 |  i j o4 d | i
 } t i | |  |  i t i |  q% d | i
 } t i | |  |  i t i |  |  i t i	 | i
  q% Wd  S(   NR   s   filtered outs   unfiltered %s(   R    t   DeprecationWarningt   FutureWarningt   OverflowWarningt   PendingDeprecationWarningt   RuntimeWarningt   SyntaxWarningR   t   WarningR   R   R   R   R   R!   t   assertNotEqualR   R   R"   (   R   R   R    (    (    R   t   test_warn_specific_category-   s     c         C   s'  t  i d d t d d  |  i t t  i d  t  i   d } t  i |  |  i	 t
 i |  |  i	 t
 i d  t  i d d t d d  d } t  i |  |  i t
 i |  t  i   t  i d d	 t d d  |  i t t  i d
  d } t  i |  |  i	 t
 i |  |  i	 t
 i d  d  S(   Nt   errort    i    s   convert to errors   handle normallyR   R   s   filtered outs   hex*s   hex/octs   nonmatching text(   R   t   filterwarningsR*   R   t   assertRaisesR   R!   t   resetwarningsR    R"   R   R   R   R+   (   R   R    (    (    R   t   test_filtering=   s$    

(   R   R   R   R   R#   R,   R2   (    (    (    R   R      s
   					c         C   s   t  i t  d  S(   N(   t   test_supportt   run_unittestR   (   t   verbose(    (    R   t	   test_mainU   s    t   __main__R5   (   R   R	   t   unittestt   testR3   R    R   R   t   TestCaseR   R6   R   t   True(   R3   R   R    R8   R   R   R6   R	   (    (    R   t   ?   s   				>