mς
­fIc           @   s]   d  k  Z  d k l Z d  k Z d e  i f d     YZ d   Z e d j o e   n d  S(   N(   s   test_supportt   PwdTestc           B   s   t  Z d   Z d   Z RS(   Nc         C   s(  t  i   } h  } h  } x¬| D]€} |  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   |  i | d | i  |  i
 t | i t   |  i | d | i  |  i
 t | i t   |  i | d | i  |  i
 t | i t   | i | i	 g   i |  | i | i g   i |  q WxZ | D]R } |  i
 t  i | i	  | | i	 j  |  i
 t  i | i  | | i j  qΞWd  S(	   Ni   i    i   i   i   i   i   i   (   t   pwdt   getpwallt   entriest   entriesbynamet   entriesbyuidt   et   selft   assertEqualt   lent   pw_namet   assert_t
   isinstancet
   basestringt	   pw_passwdt   pw_uidt   intt   pw_gidt   pw_gecost   pw_dirt   pw_shellt
   setdefaultt   appendt   getpwnamt   getpwuid(   R   R   R   R   R   (    (    t*   /mit/python/lib/python2.4/test/test_pwd.pyt   test_values   s4       &c         C   sά  |  i t t i  |  i t t i  |  i t t i d  h  } h  } x= 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   byuidst   nt   pt   ut   gt   gecost   dt   st   keyst   allnamest   nameit   fakenamet   mapt   Nonet   charst   xrangeR	   t   it   chrt   ordt
   IndexErrort   joint   KeyErrort   fakeuid(   R   R,   R+   R'   R!   R8   R0   R(   R&   R2   R-   R#   R"   R$   R)   R%   (    (    R   t   test_errors,   sH     

  

 (   t   __name__t
   __module__R   R9   (    (    (    R   R       s   	$c           C   s   t  i t  d  S(   N(   t   test_supportt   run_unittestR    (    (    (    R   t	   test_mainX   s    t   __main__(   t   unittestt   testR<   R   t   TestCaseR    R>   R:   (   R<   R@   R   R>   R    (    (    R   t   ?   s   		R	