mς
­fIc           @   sc   d  Z  d k Z d k Z d k l Z d e i f d     YZ d   Z e d j o e   n d S(   s   Test script for the grp module.N(   s   test_supportt   GroupDatabaseTestCasec           B   s#   t  Z d   Z d   Z d   Z RS(   Nc         C   sΪ   |  i t |  d  |  i | d | i  |  i t | i t   |  i | d | i  |  i t | i t   |  i | d | i	  |  i t | i	 t
   |  i | d | i  |  i t | i t   d  S(   Ni   i    i   i   i   (   t   selft   assertEqualt   lent   valuet   gr_namet   assert_t
   isinstancet
   basestringt	   gr_passwdt   gr_gidt   intt   gr_memt   list(   R   R   (    (    t*   /mit/python/lib/python2.4/test/test_grp.pyt   check_value	   s    c         C   s©   t  i   } x | D] } |  i |  q Wxx | D]p } t  i | i  } |  i |  |  i	 | i | i  t  i
 | i  } |  i |  |  i	 | i | i  q1 Wd  S(   N(   t   grpt   getgrallt   entriest   eR   R   t   getgrgidR
   t   e2R   t   getgrnamR   (   R   R   R   R   (    (    R   t   test_values   s      c         C   sΣ  |  i t t i  |  i t t i  |  i t t i d  h  } h  } x4 t i   D]& \ } } } } | | | <| | | <qU W| i   } d } | | }
 xά |
 | j oΞ t d  |
  } x  t t |   D]] }	 | |	 d j o d | |	 <PqΝ | |	 d j o qΝ qΝ t t | |	  d  | |	 <PqΝ W| d } y | | }
 Wn t j
 o Pn Xd i t d  |   }
 q W|  i t t i |
  d } x  | | j o | d	 d
 } qW|  i t t i |  d  S(   Ni*   i    t   zt   At   Zi   t    i  i   i   (   R   t   assertRaisest	   TypeErrorR   R   R   R   t   bynamest   bygidst   nt   pt   gt   memt   keyst   allnamest   nameit   fakenamet   mapt   Nonet   charst   xrangeR   t   it   chrt   ordt
   IndexErrort   joint   KeyErrort   fakegid(   R   R&   R%   R2   R   R#   R*   R"   R   R,   R'   R    R!   (    (    R   t   test_errors$   sH     

  

 (   t   __name__t
   __module__R   R   R3   (    (    (    R   R       s   		c           C   s   t  i t  d  S(   N(   t   test_supportt   run_unittestR    (    (    (    R   t	   test_mainP   s    t   __main__(	   t   __doc__R   t   unittestt   testR6   t   TestCaseR    R8   R4   (   R6   R   R;   R    R8   (    (    R   t   ?   s   		I	