
    <eL                         d dl Z d dlZd dlmZ  ej        d          Z ej         eed          d           G d dej                              Z	e
dk    r ej                     dS dS )	    N)import_helperpwdgetpwallzDoes not have getpwall()c                        e Zd Zd Zd Zd ZdS )PwdTestc                 R   t                                           }|D ]	}|                     t          |          d           |                     |d         |j                   |                     |j        t                     |                     |d         |j                   |                     |j        t                     |                     |d         |j                   |                     |j        t                     |                     |d         |j
                   |                     |j
        t                     |                     |d         |j                   |                     t          |j                  t          t          d           f           |                     |d         |j                   |                     |j        t                     |                     |d         |j                   |                     |j        t                     d S )	N   r                     )r   r   assertEquallenpw_nameassertIsInstancestr	pw_passwdpw_uidintpw_gidpw_gecosassertIntypepw_dirpw_shell)selfentrieses      $/usr/lib/python3.11/test/test_pwd.pytest_valueszPwdTest.test_values
   s   ,,.. 	3 	3ASVVQ'''QqT19---!!!)S111QqT1;///!!!+s333QqT18,,,!!!(C000QqT18,,,!!!(C000QqT1:...MM$qz**S$t**,=>>>QqT18,,,!!!(C000QqT1:...!!!*c2222	3 	3    c                 ~   t                                           }i }i }t          |          dk    r|                     d           |D ]^}|                    |j        g                               |           |                    |j        g                               |           _|D ]}|d         r|d         dk    r|                     t           	                    |j                  ||j                            |                     t           
                    |j                  ||j                            d S )Ni  z*passwd file is huge; extended test skippedr   +)r   r   r   skipTest
setdefaultr   appendr   r   getpwnamgetpwuid)r   r   entriesbynameentriesbyuidr    s        r!   test_values_extendedzPwdTest.test_values_extended$   s*   ,,..w<<$MMFGGG 	< 	<A$$QY33::1===##AHb1188;;;;  	J 	JAQ4 1Q43;;MM#,,qy11=3KLLLMM#,,qx00,qx2HIIII		J 	Jr#   c                    |                      t          t          j                   |                      t          t          j        d           |                      t          t          j                   |                      t          t          j        d           |                      t          t          j        d           |                     t          dt          j        d           i }i }t                                          D ]\  }}}}}}}	|||<   |||<   t          |	                                          }
d}|
r|
|         nd}||v rt          |          }t          t          |                    D ]K}||         dk    rd||<    nV||         d	k    r"t          t          ||                   d
z             ||<    n|d
z   }	 |
|         }n# t          $ r Y nw xY wd                    |          }||v |                      t           t          j        |           t"          j        }|                     ||           |                      t           t          j        |           |                      t           t          j        d           |                      t           t          j        ddz             |                      t           t          j        ddz              d S )NgQ	@*   nullza br   invaliduserzAZr
    r      )assertRaises	TypeErrorr   r*   r)   r   assertRaisesRegex
ValueErrorlistkeysranger   chrord
IndexErrorjoinKeyErrorsysmaxsizeassertNotIn)r   bynamesbyuidsnpuggecosdsallnamesnameifakenamecharsifakeuids                   r!   test_errorszPwdTest.test_errors8   s   )S\222)S\4888)S\222)S\2666)S\2666z63<JJJ ), 	 	%Q1a1GAJF1II''&.A8E??M'!!NNE3u::&&  8s??"E!HE1X__"3uQx==1#455E!HE	'HH!   E wwu~~H% '!!( 	(CL(;;; +&)))(CL'::: 	(CL"555(CL!S&999(CL1c6':::::s   G 
GGN)__name__
__module____qualname__r"   r-   rV    r#   r!   r   r      sD        3 3 34J J J(7; 7; 7; 7; 7;r#   r   __main__)rD   unittesttest.supportr   import_moduler   
skipUnlesshasattrTestCaser   rW   mainrZ   r#   r!   <module>rc      s    



  & & & & & &!m!%((WWS*--/IJJg; g; g; g; g;h g; g; KJg;R zHMOOOOO r#   